Vai al contenuto
PLC Forum


Problema scrittura data e ora con funzione WR_SYS_T


AlessandroRH

Messaggi consigliati

buongiorno a tutti,

 

vorrei farvi presente un problema che sto riscontrando nel settare tramite HMI l'ora e la data del PLC.

in poche parole tramite le funzioni RD_SYS_T e RD_LOC_T sono in grado di visualizzare correttamente l'ora di sistema e quella locale, ma nel caso io voglia correggere o settare a piacere i vari campi che compongono il datario di sistema tramite la funzione WR_SYS_T, quest'ultima non va a buon fine in quanto non prende alcun dato che inserisco nei vari campi, o meglio vengono sovrascritti dai valori predefiniti del sistema.

 

per farvi un esempio, quando inserisco nel campo "anno" il valore 2018, nel riquadro appaiono per un secondo una serie di cancelletti e poi il valore 1970. I campi "mese" e "giorno" vengono sempre sovrascritti con il valore '1', il campo "ora" con 12 e tutti gli altri con uno '0'. Quindi la data che visualizzo ogni qual volta abilito la funzione WR_SYS_T sarà sempre 1/1/1970 12:00:00 

 

sapreste cortesemente dirmi cosa sto sbagliando ?? 

 

… sto utilizzando lo STEP 7 Professional del TIA v15 upd2 per programmare una CPU 1518 F-4 PN/DP.

 

nel link qui presente vi è una serie di bitmap e una registrazione del monitor, ove vi è illustrato il problema riscontrato. Presente anche l'esempio del progetto su TIA.

http://dropcanvas.com/6pss2

 

P.S. non sono riuscito a inserirlo come allegato tramite la funzione del sito perché mi fa aggiungere solo immagini. Spero di non essere andato contro regolamento, in quanto non ho notato nulla di specifico riguardo l'inserimento di link esterni a parte quelli pubblicitari, contenti cr**k e roba simile.

 

grazie a tutti in anticipo.

Link al commento
Condividi su altri siti


Ciao,

potrebbe esserci qualche problema di sovrapposizione: prova ad escludere la scrittura ed effettuare la sola lettura di data e ora per vedere cosa ricavi, poi fai l'esatto opposto per vedere se ti funziona la scrittura.

Tieni conto che la DTL sarà verificata: min. DTL#1970-01-01-00:00:00,0 - max. DTL#2200-12-31-23:59:59.999999999; se, invece, utilizzi la DT, ricorda che i suoi componenti sono tutti in BCD, quindi li devi convertire.

Link al commento
Condividi su altri siti

grazie per la risposta drugo66.

ho provato a escludere la lettura per poi eseguire la scrittura, ma non cambia nulla. Ogni dato, che inserisco nei campi separati di data e ora, viene temporaneamente visualizzato con dei cancelletti e poi sovrascritto con i valori minimi accettabili.

 

comunque la scrittura è sempre disabilitata a meno che non premo sul pulsante di settaggio dal pannello operatore.

Link al commento
Condividi su altri siti

Sarà anche un falso positivo, ma Kaspersky mi segnala virus o malware nel file da scaricare.

 

Come dice Drugo, posta il codice. Senza vedere cosa hai scritto, come facciamo a dirti dov'è l'errore?

Link al commento
Condividi su altri siti

grazie per il vostro interessamento.

avevo inserito tutto nell'allegato (bitmap, progetto e anche un video) per farvi un idea, ma ovviamente gli antivirus rilevano sempre qualcosa che non va 😅

 

comunque sono riuscito nel mio intento andando leggermente fuori dallo standard di Siemens, ovvero creando delle variabili esterne editabili da HMI per i campi "anno", "mese", "giorno", "..." che una volta editati ed eseguita la scrittura, questi vanno a muovere i valori all'interno della variabile "WR_LOC" con struttura DTL. Solo in questo modo riesco a sovrascrivere i campi di questa variabile.

In questo video guida https://www.youtube.com/watch?v=jY117f6YryU i campi vengono editati direttamente, ma a me funziona. Volevo semplicemente utilizzare quelle due funzioni senza andare a creare ulteriori variabili.

 

DB1 - DB per la lettura.PNG

DB3 - DB per la scrittura.PNG

OB1 - Funzione data e ora - Lettura e Scrittura.PNG

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