Address configuration for s7 1200 as OPC device

Kevin,
Sorry, that was not the correct error message for code like [Test Stand - S7 1200 Mdbs]DB5,X1.0 its

It looks like you're still trying to use the Modbus driver (just going off of your device name). You absolutely CANNOT interchange the 2 for syntax of addresses.

2 Likes

Looks like there is a limit the forum lets me post in a day. Continuing...

Michael,
That makes sense, but neither works as the examples say. I have tried everything I can find for both and nothing seems to work.

What is the correct syntax for controlling a bit using either the Simens driver or modbus on a S7 1200?

Or, Better yet, how does the addressing feature work? Where are the coils being changed in the PLC? I don't see them change in offset 1, or anywhere else. What starting address should I put in to start at offset 1.0 (or any offset)

Based on your earlier error report, the Modbus implementation in Siemens doesn't support the necessary "Masked Write" function code to change bits in holding registers, and doesn't support the coil function codes. So, no can do with Modbus.

It should be possible with the native driver using boolean tag syntax as Kevin suggested in comment #17 above, as long as you satisfy all of the preconditions for the native driver's use with S7 1200/1500 devices:

(An S7+ driver is coming in Ignition v8.3, which should simplify this considerably.)

Also, in spite of the documentation and training material, it is not recommended to ever use the Modbus driver's "Address Configuration" tool. Just create Ignition OPC tags with manually-constructed OPC Item Paths.

If you are desperate to have browsable items, consider my alternate driver, which presents the standard OPC item paths in the browse tree.

1 Like

I agree, it should work but it doesn't. The reason I am in the forum is because its not working as it should and so I am showing what I am doing to see why it doesn't work.

The Siemens driver appears to be working, I can see the PLC name in Ignition but none of the other commands, like X1.1, work. All I get is 'Bad' for the value.

And you've configured the PLC to allow GET/PUT operations? And disabled optimized block access? (That is, followed the checklist that I linked?)

That was it. Thanks for your help!