Ignition - Siemens String Addressing

Hello There,
I found something very strange while configuring the tags today.
PLC - S7-300
Ignition - 8.0.10

I have a STRING tag sitting in a DB memory with the address - DB36,STRING0

When I try to map this tag to Ignition, ignition gives no value. (it’s null) -

However, when I try with address - DB36,STRING1, it gives me a string missing first character.

Any ideas ?

Thanks in advance.

Hmm. My best guess would be that the String bytes we read from the PLC aren’t actually in the S7 string format. How did that string get there? What happens if you write a new value?

Ignition expects a format like this:

[MaxLen][ActualLen][Remaining Bytes...]

If either of those MaxLen or ActualLen bytes are 0 that would explain the empty string you see.

Interesting !!

First of all, currently, the data is coming from WinCC to PLC. Ignition is only reading.

However, in my test PC, when I wrote STRING to 0, it actually took it and I can see the same value in PLC (monitor mode). Also, when I wrote a string value to PLC and download PLC, I can see the whole string starting from 0.

So, the question is why would PLC not read the String0 written by WinCC.

Also, when I move this String to another DB let say (DB61,STRING20), it reads whole string just fine.

Kaushik Shah