Hello,
I configured a device of type Siemens S7-300 to communicate with a Siemens soft PLC (WinLC, v4.1.0). The communication is working, but the Ignition System Console is showing a lot of errors, more than one per second:
com.inductiveautomation.xopc.drivers.siemens.util.ReadException: Error reading field “Header Constant” at offset 7 in bytes: [ 03 00 00 07 02 F0 00 ]
Caused by: java.nio.BufferUnderflowException[/code]
I debugged the communication with Wireshark and I found out that after the Ignition driver request, there are two replies from WinLC:
the first one contains the data [ 03 00 00 07 02 F0 00 ], so TPKT [ 03 00 00 07 ], COTP [ 02 F0 00 ] and an empty PDU (the 00 in COPT, in fact, says that this is not the last PDU, and the 07 on TPKT is the correct data length)
the second contains the response (TPKT [ 03 00 xx xx ], COPT [ 02 F0 80 ], so this is the last PDU)
It seems to me that the driver does not handle correctly the case of an empty PDU and, maybe, also the case of a PDU split in two packets. Can you check?
The actionable item here isn’t specifically support for the soft PLCs, rather, it’s either significantly enhancing our S7 protocol implementation or replacing it with an implementation from a 3rd party vendor.
Alright well I have turned off the S7300driver to keep my logs from getting flooded with messages as my tags do appear to be working.
I have several actual S7 300 PLCs though. Is there anyway to just turn off the alarming in the logs for this one WinLC device and not all my S7 300 PLCs?
I have the exact same issue. I have a software PLC I am connected to for ONE tag that I can’t go without, but now my logs in ignition stay flooded with “Error getting request key.”, which makes it difficult to see/troubleshoot any other errors. Is there any way we can just have the driver ignore this one error?
I have same the problem "S7300DRIVER “ERROR GETTING REQUEST KEY” ", but the tags are ok, the file of logs its full, and after 20 hours the gateway don’t write/read to the device (WinLC). Is possible that this error blocks the communication after some time?