Ciao,
Sto avendo alcuni problemi con la funzione DBWrite:
In un protocollo di scambio dati tra PC e PLC che prevede l'accesso ad un DB in Lettura/Scrittura da entrambe le parti, a volte questa funzione restituisce 0 (esito positivo) anche se fisicamente sul PLC i dati non sono scritti.
Il protocollo di scambio è il seguente:
LOOP(condition)
PC=>PLC (DB1): Stringa XXXXXX (Risposta su DB1)
PLC=>PC (DB2): Stringa XXXXXXXXX (Risposta su DB2)
PC=>PLC(DB1): Stringa ------ (Reinizializza stringa con carattere predefinito)
PC=>PLC(DB2): Stringa ------ (Reinizializza stringa con carattere predefinito)
END LOOP
Ho momentaneamente tamponato questo problema con un meccanismo di Scrittura=>Rilettura=>Retry.
Avendo poca esperienza con questo protocollo fatico a comprendere se il problema sia dato dalla funzione che esce prematuramente o dal PLC che fa qualche scherzetto.
Ciao,
Sto avendo alcuni problemi con la funzione DBWrite:
In un protocollo di scambio dati tra PC e PLC che prevede l'accesso ad un DB in Lettura/Scrittura da entrambe le parti, a volte questa funzione restituisce 0 (esito positivo) anche se fisicamente sul PLC i dati non sono scritti.
Il protocollo di scambio è il seguente:
LOOP(condition)
PC=>PLC (DB1): Stringa XXXXXX (Risposta su DB1)
PLC=>PC (DB2): Stringa XXXXXXXXX (Risposta su DB2)
PC=>PLC(DB1): Stringa ------ (Reinizializza stringa con carattere predefinito)
PC=>PLC(DB2): Stringa ------ (Reinizializza stringa con carattere predefinito)
END LOOP
Ho momentaneamente tamponato questo problema con un meccanismo di Scrittura=>Rilettura=>Retry.
Avendo poca esperienza con questo protocollo fatico a comprendere se il problema sia dato dalla funzione che esce prematuramente o dal PLC che fa qualche scherzetto.