Problem with siemens driver addressing


Three of my variables in my project should have the following addresses:


But somehow, when I set them, ALL other variables and the above ones, get quality BAD.

I’ve discovered, that addressing in the range from 6528 to 6577, creates this error. Is it a bug in the siemens driver?

Probably you are asking for an address that does not exist, I think your DB10002 is not long enough. With STRING6562.21, the last byte is 6584. Is the DB at least 6584 bytes?
Otherwise you have other variables requesting bytes around DB10002, byte 65xx. The driver will pack all addresses in one request, so all other variables in the same packet will go to bad, too.

If I write an address [PLC2]DB10002,STRING99999, which clearly doesn’t exist, the BAD quailty is ONLY on this variable, which means that asking for an address that does not exist, is not the case.

I also have a variable, which address is [PLC2]DB10002,STRING6590 and it doesn’t generate the error. It’s problem is only between 6528 to 6577.

If you try STRING99999 the request is too far from 6562, so it will not be packed with request DB10002,STRING6562.21. The maximum size of the request is the PDU size, that you can change from the gateway in the device properties.

If the bytes you request do exist, maybe the PDU size of the PLC is wrong…

1 Like

I’ve changed the PDU size in advanced properties of the driver and it worked :slight_smile: From default 240 to 480.

Thanks for your help!