Vai al contenuto
PLC Forum


Vijeocitect Vbafunction


fogghy

Messaggi consigliati

Buona giornata a tutti è la prima volta che accedo ad un forum in vita mia quindi chiedo venia anticipatamente per eventuali errori.

Sto utilizzando Vijeo Citect V6.1 da pochissimo e non ho una grande dimestichezza con VBA.

Devo far ruotare ciclicamente un oggetto grafico scandito da un tag agganciato ad un timer(tempo clock 1 sec.) usando la funzione timer di VBA, perche in cicode non ho trovato nessuna funzione che lo fa.

Il mio problema e come utilizzare la funzione timer() in VBA.

grazie anticipatamente a tutti Dario

Link al commento
Condividi su altri siti


Non ti viene più facile usare direttamente l'animazione del graphic editor?

Si possono creare animazioni di movimento sull'asse X, sull'asse Y e di tipo rotazionale.

Link al commento
Condividi su altri siti

"Non ti viene più facile usare direttamente l'animazione del graphic editor?"

Innanzi tutto grazie a Pescatori per l'interessamento, il problema per esteso e quello di agganciare la rotazione ad un parametro che denoti che l'intera aplicazione sta veramente in "RUN" essendo questa aplicazione con una visualizzazione che ha un refresh dal campo(interfacce ed eventi) molto lento, quindi l'operatore potrebbe essere ingannato se lo scada fosse inchiodato.

Avevo provato a cercare un parametro da gestire come il Watch dog Timer oppure un Real Time Clock ma sotto WinXP il primo provocherebbe il crash del sistema per interferenza con il processore, il secondo si puo solo usufruire se la mother board lo ingloba o esiste come scheda da montare sul sistema ma non e il mio caso.

Se qualcuno a qualche idea in merito e sicuramente bene accetto.

Grazie comunque perche essendo la prima volta che uso un forum avere una risposta sicuramente incoraggia molto.

Link al commento
Condividi su altri siti

Credo che potresti usare una variabile interna da far variare ad esempio una volta al secondo tra un certo intervallo di valori es. tra 1 e 10; potresti con Citect crearti un evento con un trigger di 1 secondo, o con la cadenza che ti serve. Oppure se vuoi far vedere che effettivamente sei connesso col campo puoi creare una variabile nel PLC con la stessa gestione.

In questo modo potresti anche usare un "Symbol Set" ossia una sequenza di simboli legati allo stato della tua tag, che penso sia più semplice che creare un'animazione con la rotazione, visto che a te serve solo dare un'indicazione di sistema in RUN.

Link al commento
Condividi su altri siti

" potresti con Citect crearti un evento con un trigger di 1 secondo"

Penso di aver capito,pero correggimi se sbaglio e comunque grazie per l'idea.

Nel menu di System del project editor scelgo event.

Come name scrivo global, poi time lo lascio libero, lascio libero period per avere 1 sec di cadenza, per il trigger penso che una cicode expression che sia true al momento del primo start del programma dovrebbe fare il giochetto richiesto.

Grazie ancora Dario

Link al commento
Condividi su altri siti

Se consulti la guida on-line spiega dettagliatamente come impostare le varie voci, comunque nel caso in cui si voglia creare un evento periodico basta configurare:

Name: metti un nome che vuoi che identifica l'evento (nel momento in cui fai il "Computer Setup" ricordati di abilitarlo)

Time: non serve mettere nulla

Period: devi specificare il periodo di esecuzione (hh:mm:ss), per esempio se vuoi un periodo di 1 secondo scrivi 00:00:01

Trigger: puoi lasciarlo vuoto se vuoi che l'esecuzione dell'azione sia determinata unicamente dal "clock" impostato

Action: qui scrivi l'espressione in Cicode che vuoi eseguire; se è una cosa semplice tipo A=A + 1 puoi anche digitarla direttamente, se invece è qualcosa di un pò più elaborato ti scriverai una funzione dentro un Cicode file e poi qui la richiamerai semplicemente scrivendo NomeFunzione(variabili passate);

Link al commento
Condividi su altri siti

Non so come ringraziarti, cosi come la descrivi finalmente mi risulta chiara, perche avevo letto la guida on-line ma non avevo capito che senza inserire il campo del trigger l'event avrebbe funzionato da solo.

Devo dedurre che e' da molto tempo che utillizzi Vijeo Citect.

Penso che appena avro' risolto alcuni altri problemini se sarai d'accordo ti inviero' uno screenshot dell'applicazione e se vorrai darmi un parere sara senpre beneaccetto.

Grazie comunque per l'aiuto.

Dario

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