Vai al contenuto
PLC Forum


Azzerare wstring su pannello comfort


Messaggi consigliati

Inserito:

Buongiorno, ho creato delle circa 20 variabili wstring nella tabella delle variabili di un pannello TP 1200 comfort,  come posso azzerarle? Grazie 


Inserita:
17 minuti fa, drn5 ha scritto:

Miavariabile := ""

 

Ciao

Grazie, potresti spiegare nel dettaglio.

Inserita:

Scusami andavo di fretta....

Smarttags("Miavariabile") = ""

 

Questo dentro un vbscript che chiamerai da un evento a piacere.

 

Sempre che tu voglia azzerare da dentro il pannello.

Inserita:
36 minuti fa, drn5 ha scritto:

Scusami andavo di fretta....

Smarttags("Miavariabile") = ""

 

Questo dentro un vbscript che chiamerai da un evento a piacere.

 

Sempre che tu voglia azzerare da dentro il pannello.

Non l'ho fatto mai non ho la più pallida idea, se puoi spiegare con qualche esempio mi faresti una grande cortesia. Grazie mille 

Inserita:

Le variabili che hai definito nella tabella del pannello possono esser di due tipi:

- locali al pannello e quindi esistono solo li e non hanno niente da spartire con il plc collegato

- agganciate al plc e quindi fanno riferimento a delle aree di memoria quali db, merker, input, output

 

nel tuo caso sono delle Wstring e ora non so se locali al pannello o agganciate al plc. 

supponiamo che siano agganciate a Wstring esistenti nel plc e che tu le voglia azzerare.

 

O le azzeri nel plc o le azzeri nel pannello che indirettamente le azzererà nel plc.

 

se le azzeri nel plc e dovrai stabilire tu in quale momento potresti scrivere una riga in SCL che sia tipo  :

 

MiaVariabile := '';

 

se le azzeri nel pannello potresti usare uno VBscript che usi il comando:

 

SmartTags("MiaVariabile") = ""

 

Dato che lo script non vive di vita propria deve essere richiamato.

Lo puoi richiamare con un evento legato per esempio ad un Pulsante del pannello o al cambio stato di un Tag (variabile) esistente nel pannello che in fase di definizione alla voce evento richiamerà lo script che hai realizzato per azzerare la MiaVariabile.

 

OK?

Ciao

 

 

 

 

 

 

 

 

Inserita:
1 ora fa, drn5 ha scritto:

Le variabili che hai definito nella tabella del pannello possono esser di due tipi:

- locali al pannello e quindi esistono solo li e non hanno niente da spartire con il plc collegato

- agganciate al plc e quindi fanno riferimento a delle aree di memoria quali db, merker, input, output

 

nel tuo caso sono delle Wstring e ora non so se locali al pannello o agganciate al plc. 

supponiamo che siano agganciate a Wstring esistenti nel plc e che tu le voglia azzerare.

 

O le azzeri nel plc o le azzeri nel pannello che indirettamente le azzererà nel plc.

 

se le azzeri nel plc e dovrai stabilire tu in quale momento potresti scrivere una riga in SCL che sia tipo  :

 

MiaVariabile := '';

 

se le azzeri nel pannello potresti usare uno VBscript che usi il comando:

 

SmartTags("MiaVariabile") = ""

 

Dato che lo script non vive di vita propria deve essere richiamato.

Lo puoi richiamare con un evento legato per esempio ad un Pulsante del pannello o al cambio stato di un Tag (variabile) esistente nel pannello che in fase di definizione alla voce evento richiamerà lo script che hai realizzato per azzerare la MiaVariabile.

 

OK?

Ciao

 

 

 

 

 

 

 

 

Intanto volevo ringraziarti per la disponibilità, comunque le variabili sono locali al pannello e lo script non l'ho utilizzato mai, oltretutto non uso nemmeno il linguaggio scl

1 ora fa, drn5 ha scritto:

Le variabili che hai definito nella tabella del pannello possono esser di due tipi:

- locali al pannello e quindi esistono solo li e non hanno niente da spartire con il plc collegato

- agganciate al plc e quindi fanno riferimento a delle aree di memoria quali db, merker, input, output

 

nel tuo caso sono delle Wstring e ora non so se locali al pannello o agganciate al plc. 

supponiamo che siano agganciate a Wstring esistenti nel plc e che tu le voglia azzerare.

 

O le azzeri nel plc o le azzeri nel pannello che indirettamente le azzererà nel plc.

 

se le azzeri nel plc e dovrai stabilire tu in quale momento potresti scrivere una riga in SCL che sia tipo  :

 

MiaVariabile := '';

 

se le azzeri nel pannello potresti usare uno VBscript che usi il comando:

 

SmartTags("MiaVariabile") = ""

 

Dato che lo script non vive di vita propria deve essere richiamato.

Lo puoi richiamare con un evento legato per esempio ad un Pulsante del pannello o al cambio stato di un Tag (variabile) esistente nel pannello che in fase di definizione alla voce evento richiamerà lo script che hai realizzato per azzerare la MiaVariabile.

 

OK?

Ciao

 

 

 

 

 

 

 

 

Intanto volevo ringraziarti per la disponibilità, comunque le variabili sono locali al pannello e lo script non l'ho utilizzato mai, oltretutto non uso nemmeno il linguaggio scl.

Inserita:

Salve,

 

a seguire dal seguente weblink, https://we.tl/t-WBJpMVltkg  puoi scaricare da WeTransfert due brevi video di esempio che ho fatto con lo scopo di renderti il più semplice possibile il controllo che ti presti ad implementare.

Sicuramente il tutto specie per la parte inerente lo script può essere decisamente semplificato, ma sono partito dal fatto che non hai mai usato scripts e linguaggi scl o simili.

 

Ho semplicemente attivato lo script per mezzo del pulsante AZZERA STRINGHE che richiama lo script AzzeraStringhe, lo script effettua un move nella variabile interna denominata Stringa vuota assegnandole il valore"" che appunto azzererà poi le tue 20 stringhe.

 

Lo script prosegue copiando poi su ogni singola variabile interna Stringa 1 Stringa 2 etc. etc. il valore contenuto nella variabile AzzeraStringhe facendo così l'azzeramento che ti serve.

 

Inserita: (modificato)

 

 

28 minuti fa, cagliostro ha scritto:

Salve,

 

a seguire dal seguente weblink, https://we.tl/t-WBJpMVltkg  puoi scaricare da WeTransfert due brevi video di esempio che ho fatto con lo scopo di renderti il più semplice possibile il controllo che ti presti ad implementare.

Sicuramente il tutto specie per la parte inerente lo script può essere decisamente semplificato, ma sono partito dal fatto che non hai mai usato scripts e linguaggi scl o simili.

 

Ho semplicemente attivato lo script per mezzo del pulsante AZZERA STRINGHE che richiama lo script AzzeraStringhe, lo script effettua un move nella variabile interna denominata Stringa vuota assegnandole il valore"" che appunto azzererà poi le tue 20 stringhe.

 

Lo script prosegue copiando poi su ogni singola variabile interna Stringa 1 Stringa 2 etc. etc. il valore contenuto nella variabile AzzeraStringhe facendo così l'azzeramento che ti serve.

 

Grazie mille gentilissimo, proverò e ti farò sapere. 😉

Modificato: da Project75
Inserita:

Grazie mille cagliostro, ho provato, funziona perfettamente.  🙂

Inserita:

Buongiorno cagliostro, le variabili wstring, create nel pannello sono ritentive?

 

Buongiorno cagliostro, le variabili wstring, create nel pannello, sono ritentive?

 

Inserita:

Tutte le variabili dichiarate internamente alle Hmi Basic e Comfort non hanno la possibilità di avere la retentività.

Puoi solamente inizializzarle a dei valori prefissati che comunque nulla hanno a che fare con la ritenzione.

 

Se per forza le variabili devono essere ritentive, allora dovranno per esempio essere dichiarate in un DB ritentivo del PLC e da li nel data base delle variabili dichiarate come interne alla Hmi vai invece a prenderti quelle definite nel DB a ritenzione.

Inserita:

Altra possibilità sarebbe quella di salvare le variabili interne in un archivio o in un file di testo, quindi sempre per mezzo di un script all'avvio della hmi, prendere le variabili archiviate o quelle messe in un file di testo e copiarle nelle variabili interne.

Tuttavia come da te scritto nei post precedenti, non avendo familiarità con Scripts ed altri linguaggi simili, se ti è possibile sceglierei la via della retentività mediante DB su PLC.

Inserita:
39 minuti fa, cagliostro ha scritto:

Altra possibilità sarebbe quella di salvare le variabili interne in un archivio o in un file di testo, quindi sempre per mezzo di un script all'avvio della hmi, prendere le variabili archiviate o quelle messe in un file di testo e copiarle nelle variabili interne.

Tuttavia come da te scritto nei post precedenti, non avendo familiarità con Scripts ed altri linguaggi simili, se ti è possibile sceglierei la via della retentività mediante DB su PLC.

Il problema è che nel plc non li posso mettere perché ho già raggiunto il numero massimo di variabili che può gestire la cpu, ecco perché ho utilizzato le variabili del hmi.

Inserita:
3 ore fa, Project75 ha scritto:

ho già raggiunto il numero massimo di variabili che può gestire la cpu

che cpu usi?

ottimizza l'ottimizzabile!

 

Ciao

Inserita:

A che % di occupazione sei arrivato nella memoria di lavoro del PLC?

A seguire screenshot di esempio

 

 

Immagine 2021-10-14 135058.jpg

Inserita:

La percentuale non la ricordo solo che nel db alcune variabili non mi funzionavano e se avvicinavo il mouse mi diceva che ho raggiunto il numero massimo di variabili da gestire dalla CPU 1215 dc/dc/dc, poi ho chiamato l'otline e mi ha  detto che avevo raggiunto il numero massimo di variabili che la cpu poteva elaborare. Guardando la percentuale ora è bassissima, invio foto.

16342139061205968983271690715795.jpg

Inserita:

Cosa possa essere successo francamente non ne ho idea, ma dallo screenshot che hai pubblicato, l'effettiva occupazione della memoria di lavoro della CPU ti permette di gestire in tutta tranquillità le tue variabili WString in un DB ritentivo.

 

Prova........

Inserita: (modificato)

Ho già provato, mi da errore, ma non potresti gentilmente inviarmi l'inizio dello script per memorizzare una wstring e poi magari continuo io con le altre?

Modificato: da Project75
Inserita:
37 minuti fa, Project75 ha scritto:

Ho già provato, mi da errore, ma non potresti gentilmente inviarmi l'inizio dello script per memorizzare una wstring e poi magari continuo io con le altre?

Pubblica screenshot dell'errore che hai, grazie.

Inserita:

Non sono davanti al PC, mi potresti , se possibile, gentilmente inviare la prima parte dello script?

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...