jake Inserito: 23 agosto 2012 Segnala Share Inserito: 23 agosto 2012 Ciao a tutti, in questo momento mi trovo ad affrontare la programmazione di un pannello operatore per zona Atex della Pepperl & Fuchs, il sistema in questione è il Termex 230 collegato via Modbus/RTU ad un terminale Sartorius del tipo Combics Pro. Il collegamento fra i due dispositivi funziona bene , ora devo fare in modo che il pannello P&F sia in grado di passare da una pagina all'altra al cambio del valore di una variabile di tipo INT. Tramite l'editor degli script, fornito da P&F, ho scritto degli script che secondo me dovrebbero funzionare , ma quando lancio il runtime del pannello per fare i test, le cose non girano per il verso giusto - o meglio non girano proprio . Qualcuno di voi ha esperienza con questo tipo di pannelli e ha qualche esempio da postarmi? Ho provato a contattare il service support, ma fino a settimana prox non c'è niente da fare. Grazie in anticipo a tutti coloro che sapranno darmi delle informazioni preziose. P.S. quoto un pò di codice per farvi vedere cosa ho fatto: void __task TruckPhase_gotoStatus(){ while(1) { if( TrkPhase > 30 ) { dpy_set_screen(Status); } } } Saluti Good Luck, Jake Link al commento Condividi su altri siti More sharing options...
jake Inserita: 24 agosto 2012 Autore Segnala Share Inserita: 24 agosto 2012 Ho risolto di seguito riporto il codice void __task TruckPhase_gotoStatus(){ int PhasePLC = 1; var_receive_from_plc(TrkPhase); while(1) { PhasePLC = var_get_int(TrkPhase); // Read new value if( PhasePLC > 30 ) { dpy_set_screen(Status); } } } in pratica ho dovuto creare una variabile d'appoggio PhasePLC sulla quale copio il valore della variabile ricevuta dal PLC. Questo è dovuto perchè le variabile vengono aggiornate solo quando sono visualizzate a video, nel mio caso,lavariabile che utilizzo per il cambio della pagina - appunto - non è visualizzata, allora bisogna ricorrere alla funzione var_receive_from_plc() per aggiornare la variabile posta all'interno delle parenesi tonde, inoltre a questa funzione bisogna abbinare la funzione var_get_int() che va assolutamente posizionata all'internodi un ciclo while in modo che questa venga aggiornata ciclicamente. Good Luck, Jake Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora