Hi there, I am new to Ignition but very excited to work.
I am unable to read barcode data from Siemens 317 CPU programmed using S7 and trying to read directly in Ignition OPC server.
The PLC has data type as pointer #pDB701 .DBX 196.0 which has ASCII values for the barcode in byte 198, 199, 200 and so on.
The data type selected in ignition as String and path as below.
ns=1;s=[CC09]DB701,STRING196.30
The data quality is good but value is blank.
What is the reason?
Can you try the following and post the result?
ns=1;s=[CC09]DB701,STRING196
ns=1;s=[CC09]DB701,I196.0
ns=1;s=[CC09]DB701,I196.1
It doesn’t read the string and only seem to read the first byte. Even after changing the data type to be String Array it reads the next bytes but populates in binary in the array.
This is because you are not populating the length of the string in the PLC.
Refer to this post from the forum:
The Siemens string format that Ignition expects to find at offset 80 starts with two non-string bytes-max length and occupied length. The 18 bytes of actual string follow that, and Ignition will only use the "occupied" length to construct its result.
Verify that you have the correct max and actual lengths in those two leading bytes.
In the pictures above, you show that the Max Length in bytes is 1, and there are 0 characters in the string, so Ignition will display nothing.
2 Likes