writeBlocking reliability

Hello,
I have Siemen PLC type s7 1200 connected to Ignition throught the Ignition OPC UA server.
The PLC send information to Ignition with an OPC tag "CW_PLC_MES" and Ignition answer back with and OPC tag "CW_MES_PLC".
But some time Ignition does not answer back.
I try to write from the Script Console to the tag "CW_MES_PLC" and some times (about 1/10) it is written on the Interractive Interpreter [Good] but the value in the tag remains to the old value
writeBlocking.pdf (120.8 KB)

I thought system.writeBlocking make sure that the writing was OK?
Any one had the same problem? Is there a way to rely on a writing?
I try with system.opc.writeValues() and it is the same.
I specify that the PLC never write in this tag.

Ignition will not report "Good" on a write unless the OPC server on the other end reports "Good". If the S7 OPC server reports "Good" when it hasn't actually written the value, then that's a bug in the Siemens PLC.

Are you sure the PLC isn't simply writing over that tag value with its own logic? (Writing a tag from two directions can be racy.)

1 Like

I use Ignition OPC UA server, could this server report "Good" while the writing to the PLC is not done or if it report "good" that mean the PLC send and acknoledgement of the writing?
Thanks for your time.

Yes, generally. If you've found a case where it doesn't and you are sure PLC logic isn't stomping on you, you should report it as a bug to IA.

OK thank you very much for the information

Mr pturmel, you were right! The problem came from the PLC.
Even if the tag was not write in the PLC it was use with "IN/OUT" with a FB in TIA siemens programm


I change to "IN" and all work fine.
That is tricky!

2 Likes