Vai al contenuto
PLC Forum


Script In Wincc Flexible


Reverendo bit

Messaggi consigliati

Reverendo bit

Salve,

Normalmente in WinCC c'è la possibilità di richiamare degli script con trigger ciclici, in wincc flexible a quanto pare non esistono i trigger,

è possibile?

Qualcuno sa come poter eseguire in modo ciclico uno script?

Se volessi legare l'esecuzione dello script ad cambiamento di stato di una variabile, dove si configura?

Grazie, Reverendo.

Link al commento
Condividi su altri siti


Reverendo bit

Buongiorno a tutti,

Ho trovato dove configurare l'esecuzione di uno script al cambio valore di una variabile :Variabili, Tasto dx sulla variabile, Propietà, Eventi, Cambio valore.

Il dubbio che mi rimane è se si può eseguire uno script in modo ciclico con un trigger a tempo, come in Wincc classico.

Grazie.

Link al commento
Condividi su altri siti

puoi lanciare gli script a tempo anche con Wincc flex, bisogna che vai nelle schedulazioni. Il limite è che nella scelta dei tempi non hai secondi o millisecondi ma hai dalle ore-giorni-settimane ecc.

se vuoi proprio far ciclare uno script ogni secondo puoi utilizzare la variabile di collegamento attivo. il secondo o il terzo bit lampeggia con una frequenza di 1 hertz, quindi dichiari la stessa word come tag in lettura e lo metti in lettura ciclica.

definisci il limite superiore uguale al famoso bit acceso, quindi al superamento del limite superiore lanci lo script, se vuoi puoi pure definire il limite inferiore e lanciare lo script anche per quello,

facciamo un esempio CON NUMERI INVENTATI visto che non ho sottomano un progetto:

il bit lifetime è il .2 quindi decimale è 4; dovrebbe esserci pure un ulteriore bit sempre a 1 che dice che il runtime è attivo e mettiamo sia il bit .0 quindi decimale è = 1.

in sintesi dovresti avere il tag che continua a lampeggiare due valori = 1 e 5.

se imposti il limite massimo = 4 e il limite minimo = 3 quello DOVREBBE, ripeto DOVREBBE, ciclare ogni mezzo secondo, se così non fosse basta sdoppiare in 2 tag e dare quindi la possibilità al sistema di riconoscere il rientro nei limiti.

personalmente ritengo che una cosa simile impegni il sistema in modo esagerato, sopratutto per pannelli che poveretti non hanno molte risorse da utilizzare, diverso è il caso dei PC, ma tu non lo specifichi....

pigroplc

Link al commento
Condividi su altri siti

Reverendo bit

Buongiorno Pigro,

Infatti nelle schedulazioni i tempi di richiamo sono molto alti e non posso utilizzarli.

La variabile di collegamento può essere un'opzione valida, ma volevo chiederti, è una variabile di sistema di Wincc Flexible?

Dove la recupero?

Il progetto girerà su un PC quindi diciamo che problemi di risorse non ne ho, avevo pensato anche alla merker di clock del PLC, ma ho la necessità di far girare lo script anche in assenza di comunicazione con il PLC.

Grazie Reverendo.

Link al commento
Condividi su altri siti

La variabile di collegamento la trovi in "comunicazione\collegamenti\coordinazione (nella parte inferiore del video)

devi selezionare ON sulla scelta attivo e definire l'indirizzo.

le spiegazioni le trovi digitando il testo Puntatore area "Coordinazioni" nell'aiuto in linea di wincc flex

siccome è una area di memoria che non è associata ad un tag bisogna dichiarare un tag che punta alla stessa area del PLC, si crea quindi un doppione, me ne rendo conto ma penso che possa funzionare.

Personalmente non mi piace imballare il PC con l'esecuzione di script a manetta non sono sicuro del funzionamento, facci sapere se funziona o no.

pigroplc

Link al commento
Condividi su altri siti

  • 3 months later...
Gianluca Bravetti

Ciao è possibile con un trucchetto molto semplice. E' sufficiente registrare l'activex di Microsoft del timer "AIComCtl.ocx" tramite il comando regsvr32.exe (se usi windows 7 è necessario eseguire il prompt di msdos per la registrazione con diritti di amministrazione).

a questo punto puoi inserire l'activex all'interno del modello di Flexible ed impostare tempi molto rapidi per i tuoi eventi.

io l'ho usato molto spesso anche per creare animazioni grafiche.. non incide particolarmente sulle risorse. e puoi anche usarne più di uno senza problemi con tempi diversi... ovviamente non è consigliato utilizzare cicli rapidissimi che eseguono molti script ma il 99% dei casi è la soluzione del problema.

Spero di esserti stato di aiuto.

Buon lavoro!!

Link al commento
Condividi su altri siti

Incuriosito dalla soluzione ho cercato il famoso file AIComCtl.ocx sia sulle mie VM che in rete, senza sortire il benché minimo risultato.

Puoi specificare meglio come si fa?

grazie

pigroplc

Link al commento
Condividi su altri siti

Gianluca Bravetti

L'activeX AIComCtl.ocx se non ricordo male faceva parte degli activex Microsoft che installava il Visual Basic 6 (ma è compatibile completamente con Windows 7 X64)

è un piccolo file di 50k microsoft... ma non so se posso postare su questo forum un link diretto per scaricarlo...

Link al commento
Condividi su altri siti

  • 2 weeks later...
  • 2 weeks later...
Gianluca Bravetti

Non ho mai provato sul Tia V13 Advanced ma concettualmente dovrebbe funzionare. Alla fine il concetto è molto semplice, è sufficiente aggiungere l'activeX indicato e configurarlo... a meno che non insorga una incompatibilità direi che il sistema è utilizzabile senza problemi.

Link al commento
Condividi su altri siti

  • 3 weeks later...

Ciao Gianluca,

Rivedo questa discussione dopo tempo e leggo la tua soluzione.

Ho tentato con successo fino alla registrazione del controllo, ma vorrei chiederti se potresti specificare il seguente passo:

a questo punto puoi inserire l'activex all'interno del modello di Flexible ed impostare tempi molto rapidi per i tuoi eventi.

Grazie Reverendo.

Link al commento
Condividi su altri siti

  • 1 month later...

Dopo tanto tempo sono riuscito a ritagliare del tempo per provare questo controllo:

bisogna innanzitutto registrarlo in windows. Basta cercare in rete con la chiave "registra ocx windows 7" e si trova più di un modo.

per registrarlo in wincc flex bisogna prima di tutti visualizzare I tool (dal menu view\tools oppure CTRL+Shift+T)

selezionare my control, ci sono delle icone piccole in alto, selezionare quella a destra che sembra una cassetta degli attrezzi con delle chiavi sopra

appare una finestra e spuntare nella lista il check box "Al Timer Control" che fa riferimento al AlComCtrl.ocx, dare OK quindi sulla finestra dei controlli appare una piccola icona timer.

drag and drop in una pagina video e iniziare a fare delle prove.

Negli eventi timer selezionare l'azione desiderata.

Furba come idea .......

Link al commento
Condividi su altri siti

  • 2 months later...
Operational Amplifier

Ho provato a scaricare ma il link postato è scaduto, ho effettuato delle ricerche in rete con chiave "microsoft ocx control" ma niente arrivo sempre nella pagina della Microsft

e in particolare "Download del pacchetto Visual Basic 6.0 Common Controls.".

è forse questo il pacchetto da scaricare.....?

Link al commento
Condividi su altri siti

per eseguire in modo ciclico uno script potresti creare un bit di clock nel plc ed agganciare il trigger dello script a questo bit

Io lo facevo per rinfrescare periodicamente delle grafiche

Link al commento
Condividi su altri siti

Operational Amplifier

Anch'io ho utilizzato un bit (clock) del PLC, mi piacerebbe verificare anche l'opzione proposta nella discussione.

il Comctl.ocx lo hai utilizzato....?

Link al commento
Condividi su altri siti

http://dropcanvas.com/#2tdTWY1NKIx1Ua

Dopo tanto tempo ho avuto il modo di provarlo ed è una soluzione molto brillante.

Consiglio.

Ho anche scritto qualche appunto sul suo utilizzo. Leggere la mia discussione 16.

link aggiornato

Modificato: da pigroplc
Link al commento
Condividi su altri siti

Reverendo bit

Ciao Pigro,

Grazie per aver condiviso il controllo.

Sicuramente come altri utenti hanno detto si potrebbe fare con un bit di clock.

Ma anch'io sono curioso di testare la soluzione, ed i tuoi post hanno aumentato la mia curiosità.

Saluti Reverendo.

Link al commento
Condividi su altri siti

Reverendo bit

Grandiosa!

E' una figata :thumb_yello:

puoi rendere dinamico anche l'intervallo.

adesso il prossimo passo è testarla in un pannello per verificare che non dia problemi di altro tipo.

Saluti.

Link al commento
Condividi su altri siti

Reverendo bit

Ciao Pigro,

Spero che sia stato un mio errore, perché se cosi non fosse sarebbe una bella limitazione per questo controllo.

In pratica ho impostato il lampeggio di una variabile con intervallo i sec. quando ho copiato la stessa variabile in un'altra pagina non lampeggiava più.

Questo per caso significa che l'utilizzo di un controllo è limitato alla pagina in cui viene inserito?

Saluti.

Link al commento
Condividi su altri siti

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