Siemens Datablocks

Hello,

I got an S7-1200 Siemens PLC connected to my Ignition, I’m able to access its coils, MDs, M’s, etc etc. I unchecked the “Optimized block access”, I’ve been trying to access the data blocks like in the Ignition website says (Siemens - Ignition User Manual 7.9 - Ignition Documentation) by doing DBn10,R50 but nothing, is there a way to access these data blocks?

Where did you find that syntax? According to the manual that should be DB10,REAL50

I found it here: (Siemens - Ignition User Manual 7.9 - Ignition Documentation), I just tried out DB10,REAL50 but still nothing.

I’m 99.9 % sure that you don’t have DB10 in your 1200 plc…?

Sorry my bad, I had a typo. It is working now.

1 Like

I’m having a similar problem with my S7-1500. I successfully tried TCP/IP, but with S7, I always end up with “Bad” quality on PLC tags.

My syntax [S7]DB57,X4.0
S7 connected status is 1, so that is okay.

Boolean in 4.0 offset. datablock 57. Also tried with DInt and others, but always bad quality.
Optimized block access is turned off, accessible for writing/reading, non restricted access to anyone…
I have run out of ideas what to try.

Hi @Jakub_Lastovicka,

Are you sure that you have activate the put/get mechanism in your hardware configuration?

Yes. PUT/GET is ticked.
Directly on PLC properties : “Permit access with PUT/GET communication from remote partner”

can you share some print screen of your db and of the tag configuration in ignition ?

Sure, here they are:


Show also the Ignition gateway page, where you configured the connection to the PLC…

Here. I thought that once I get "connected: message, it’s okay. CPU is on Slot 1, Rack 0.


You know… every time this ever comes up it’s one of two things:

  1. reading data from a block or offset that doesn’t exist. (make sure you don’t have other tags accidentally reading beyond the end of this block)
  2. the hardware configuration hasn’t been compiled and downloaded and the chickens haven’t been sacrificed such that the PUT/GET and other required settings actually take effect.
5 Likes

You were right, all it needed was a hardware download. All I did before was Software only. I can’t belive I spend so many hours of testing just because of this. Thank you

1 Like

Snort! Ok, it's Siemens. /:

Hello all, I had a similar problem trying to read tags from a DB on an S7-1200 in which the tag addressing was correct and the Siemens settings (PUT/GET ,non-optimized access, etc.) were fine, but I was still getting bad status from those tag connections. The solution for my issue was in @Kevin.Herron's point #1 above. I had a test tag off somewhere else in my data browser that was trying to reference a part of the DB that didn't exist, and as a result, all tag connections to that DB in my default tag group were bad status. The error description I was getting was:

Bad("Bad_ConfigurationError: There is a problem with the configuration that affects the usefulness of the value.")

If you reference any part of a DB that doesn't exist (i.e. DB4X3.8, but the offsets end at 3.7), then all subscribed tag connections to that DB will break. Apparently since they are all sent together when polling the device, if any single connection is invalid it will break all the connections in that subscribed tag group. The service tech I spoke with mentioned the same thing happens if you have incorrect addressing on Modbus connections.

If you suspect this is happening, one thing you can do to troubleshoot is create a new tag with a valid reference to the DB, then assign it to a new tag group with data mode set to Polled . That OPC request will be sent separately from all the subscribed tag connections, and it should work. Then you know that at least one of your subscribed tag connections is breaking all of the references to that DB.

3 Likes

I have tried all I can to resolve this same issue, however, in our case the PLC is configured okay and we can see data from some of the DBs. Which shows us that the hardware config is correct, but the majority of the DBs we just "Bad". We have done several projects with the same setup and are working fine. Someone help if there are other things to look at.

IIUC, each DB has its own optimized block access setting, which must be turned off for IA legacy protocol driver.

1 Like

As @pturmel mentioned already, every datablock has it's own optimized access setting that needs to be disabled (rightclick in the left-most treeview, properties, attributes). In that same menu you can check a box to allow access from OPC UA.

Another thing to check - if you are reading multiple OPC tags from a singular DB, having 1 tag defined incorrectly can cause all tags reading from that same DB to go bad.

If just a few DB's/tags are unreadable, this is probably where you'll find your solution.

1 Like