
The PLC can save the important data or registers into the FRAM and execute a REBOOT command and then load the data back from the FRAM after it boots up. If the SCADA program lost communication with the PLC it will retreat long enough for the timer inside the PLC to time out and the PLC can then go through an orderly shutdown and reboot.

You can automate the reboot by having the SCADA program periodically clears a timer running inside the PLC. In this case a reboot may be necessary to clear the out-of-sequence error. Since Modbus TCP has a packet ID the sender only accept a response of the same ID, and if the command and response packets are out-of -sync the communication may not recover properly. the sender receive a modbus response packet that belong to the last command. What you experience could be due to Modbus packet out of sync caused by lost connection. Wi-Fi connection also tend to have more errors due to collision. If you connect the PLC direct via Ethernet and ping it you will see a much lower latency. The ping time latency problem probably has to do with your aerial wi-fi connection (weak signal? Noise?). The connections are as default 3 server and 3 Modbus connections. The SCADA has a re-connect function that upon connection failure tries to re-connect, this is set to 10000ms.Īll of the above work fine when the PLC has been power cycled (a online reset does not help get the communication going ) until the comms error returns.Ĭan I use a set system command on port 4 to set the protocol to modbus without affecting the webserver connections? We only read two registers from each PLC. The TCP master is a SCADA program with polling set to 1000ms for each register / device, with a timeout set to 5000ms. We use the web server function also and this works fine so I don't think the issue is with the connection more the PLC.Īll the PLC's are connected via wifi aerials and generally respond to a ping in less than 100-250 ms so I'm wondering if this is a latency issue on the modbus protocol? We frequently have communication errors that require re-booting the PLC's to get the communication going again only for it to fail at some point in the future, this can be 1 day or 1 month. We have 15 of them controlling pumps around a site and all of them are a little temperamental when responding to Modbus TCP requests.
#MODBUS SERVER ERROR UPGRADE#
You can upgrade the firmware of the IMU modules by using the EcoStruxure Power Commission software.I have a problem with some FMD16 PLC's.
#MODBUS SERVER ERROR CODE#
When a register described in the guide is not implemented in an IMU module that has an old firmware revision, an exception response is returned with the exception code 02 (0x02), illegal data address. This guide describes the registers available for each IMU module with the latest firmware revision. The gateway is overloaded or not correctly configured. The slave detects a parity error in the memory when attempting to read extended memory. The slave cannot perform the programming request sent by the master. The master must send the request once the slave is available. The slave is busy processing another command. The slave accepts the request but needs a long time to process it. The slave fails to perform a requested action because of an unrecoverable error. The value in the request data field is not an authorized value for the slave. The data address received by the slave is not an authorized address for the slave. The slave may be in the wrong state to process a specific request. The function code received in the request is not an authorized action for the slave. An exception frame is composed of 4 fields: The slave sends an exception frame to the master to report an exception response. O If the slave (server) receives the request from the master (client) without a communication error, but cannot handle it (for example, the request is to read a register that does not exist), the slave returns an exception response to inform the master of the nature of the error. The master program eventually processes a timeout condition for the request. O If the slave (server) receives the request from the master (client) but detects a communication error, it does not return a response. O If the slave (server) does not receive the request from the master (client) due to a communication error, it does not return a response. O If the slave (server) receives the request from the master (client) without a communication error and can handle the request correctly, it returns a normal response. One of the following events can occur after a request from the master (client):

Exception responses from either the master (client) or a slave (server) can result from data processing errors.
