Vai al contenuto
PLC Forum


Script In Wincc


Messaggi consigliati

Inserito:

Salve a tutti . Sono alle prese con lo scada siemens wincc.Nel mio progetto ho fatto tutto, ma devo risolvere un problema.Come faccio ad abilitare un bit o variabile dal wincc al plc n°2 copiando lo stato proveniente dal plc n°1?Dovrei usare gli script, ma non riesco a farli funzionare, mi sapete dire perchè? Forse sbaglio la sintassi. Se gentilmente mi dite come fare passo passo compresa l'eventuale attivazione degli script in vb oppure in c.

Grazie.


Inserita:

versione di Wincc ?

si tratta di Wincc o Winccflex?

forse sarebbe meglio specificare, non credi?

pigroplc

Inserita:

Scusa pensavo fosse chiaro, ho scritto Wincc non wincc flexible. Non ho ancora risolto, attendo qualche aiuto da parte vostra.

Grazie

Inserita:

Per quanto scrivi, è impossibile darti una risposta.

Sicuramente dovrai dichiarare le due tag, quindi io scriverei una azione VBS a tempo (1s) simile:

HMIRuntime.Tags("bit_plc2").Write HMIRuntime.Tags("bit_plc1").Read ... senza o con opzione <,1 >

Questo è un suggerimento, solo tu conosci l'applicazione e potrai valutare come usarlo.

Inserita:

alla fine mi sa che puoi fare a meno degli script, basterebbe dichiarare i due tag riferiti a due collegamenti separati (per intenderci i 2 plc), quindi metti sempre in lettura quello che sarà il tuo sorgente (opzione modo di trigger acquisizione = cicli continui) e negli eventi al cambio della variabile copi il bit oppure word dal sorgente al destinatario con la semplice funzione imposta valore metti nella riga variabile in uscita il tuo destinatario, mentre nella riga valore metti il tuo tag sorgente.

pigroplc

Inserita:

Unico piccolo problema se devi farlo con molte variabili rendi il sistema inutilizzabile..

o quasi..

Ciao

Inserita:

Mi serve che il sistema sia stabile, le variabili saranno circa un centinaio.

Inserita:

Ho provato quanto detto da pigroplc :

Ho associato nel mio campo I/O collegamento diretto-sorgente-la variabile "plc1" e nellla destinazione la variabile "plc2" è funziona.

Lele perchè pensi che cosi facendo il sistema diventa inutilizzabile?

Inserita:

...è molto più probabile che il sistema si inchioda al contemporaneo richiamo di tanti script piuttosto che delle funzioni native di WinCC Flex.

Se proprio vuoi stare dalla parte della ragione cerca di aumentare il tempo di lettura per tutti quei tag di cui l'aggiornamento è meno importante.

pigroplc

Inserita:

Perchè parli di winccflex?

Io sto usando WINCC ma la siemens non poteva chiamarli con nomi diversi i due sistemi ma!!!

Comunque ho risolto con Vb posto magari può servire ad altri:

Option Explicit

Function action

Dim objTag1

Dim objTag2

Set objTag1 = HMIRuntime.Tags("plc1")

Set objTag2 = HMIRuntime.Tags("plc2")

objTag1.Read

objTag2.Value = objTag1.Value

objTag2.Write

End Function

Piccola descrizione:

Ho creato nello script due variabili di appoggio,

le ho assegnato il valore delle variabili plc1-plc2,

ho letto il valore del plc1,

quindi ho detto che la variabile del plc1 è uguale a quella del plc2,

ho scritto nel plc2.

Grazie comunque a tutti.

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...