Buongiorno,
ho la necessità di aggiornare in automatico tramite funzioni C l'orario del PLC TD240.
Da alcune prove fatte le modifiche fatte tramite il funzioni non eseguono modifiche permamenti alle zone SMW.
Per esempio:
......
if (VW(100)==1){
SMW(32) = SMW(32) + 1;
VW(100) = 0;
}
.....
queste banali 3 righe di codice modificano l'ora del PLC quando la variabile VW100 e uguale a 1; la modifica della variabile SMW32 (ora del PLC) viene eseguita, cambia il valore incrementandolo di 1 ma subito dopo ritorna al valore precedente.
Come bisogna procedere per poter eseguire un aggiornamento in modo "corretto" dei dati di orologio del PLC?
[TD240] Aggiornamento Orario
-
- Moderatore
- Posts: 135
- Joined: 16/12/2010, 17:46
Re: Aggiornamento Orario TD240
Per eseguire l'aggiornamento dell'orologio interno del TD240 da codice C, bisogna passare attraverso la funzione
void ScaricaDatoInArea(int Area, long Numero, long Valore)
Questa funzione generica di accesso in scrittura alle varie aree di memoria del PLC, intercetta la scrittura in area SM relative all'orologio ed automaticamente aggiorna l'orologio interno.
E' necessario quindi includere nel file c il prototipo della funzione e per esempio, per scrivere 10 sulla SMW(32) occorre scrivere
ScaricaDatoInArea(2, 32, 10); /* SMW(32) =10 */
void ScaricaDatoInArea(int Area, long Numero, long Valore)
Questa funzione generica di accesso in scrittura alle varie aree di memoria del PLC, intercetta la scrittura in area SM relative all'orologio ed automaticamente aggiorna l'orologio interno.
E' necessario quindi includere nel file c il prototipo della funzione e per esempio, per scrivere 10 sulla SMW(32) occorre scrivere
ScaricaDatoInArea(2, 32, 10); /* SMW(32) =10 */