Serial communication diagnostics and monitoring is divided between the serial link driver and the serial communication protocol. The lower level physical and protocol-independent aspects of the UART-based serial communication are monitored in the serial link driver. Diagnostic counters and monitoring values are found via the LHMI in (n= 1,2,…).
Depending on the communication protocol, the serial driver software receives single characters or complete protocol frames, based on the frame start/stop characters or on timing.
Monitoring data for a COM channel can be divided into basic and detailed diagnostic counters.
| Parameter | Range | Type | Description |
|---|---|---|---|
| Characters received | 0…2147483646 | Basic | Number of separate characters received. |
| Frames received | 0…2147483646 | Basic | Number of successfully received complete frames. |
| Frames discarded | 0…2147483646 | Basic | Number of frames discarded. |
| Frames transmitted | 0…2147483646 | Basic | Number of frames transmitted. |
| CD Lost | 0…2147483646 | Detailed | Number of carrier-detect signal lost during receive. |
| Collision | 0…2147483646 | Detailed | Number of collisions detected. |
| CTS Timeout | 0…2147483646 | Detailed | Number of clear-to-send signal timeout errors. |
| Transmission timeout | 0…2147483646 | Detailed | Number of transmission timeout errors. |
| Parity errors | 0…2147483646 | Detailed | Number of character parity errors detected. |
| Overrun errors | 0…2147483646 | Detailed | Number of character overrun errors detected. |
| Framing errors | 0…2147483646 | Detailed | Number of character overrun errors detected. |
| Link status | 1 | 1 = Reset counters (by entering 1 the diagnostic counters are reset) |
Whether all diagnostic counters are relevant depends on the communication hardware and communication protocol.
| Counter | Function |
|---|---|
| Characters received | Counts all incoming non-erroneous characters. This counter operates regardless of if the serial driver is set to detect a whole protocol link frame or just separate characters. |
| Frames received | Counts all protocol specific non-erroneous frames received. Protocol-specific frames can be based on timing (for example, Modbus RTU) or on special start and stop characters (for example, Modbus ASCII). |
| Frames discarded | Counts all protocol-specific erroneous frames received. If the driver detects an error while receiving a frame, the frame is automatically discarded. This also means that the protocol in question will never receive a faulty frame from the driver. When this counter is increased, one of the detailed error counters is also incremented. |
| Frames transmitted | Counts all protocol-specific frames transmitted from the COM channel. |
| Counter | Function |
|---|---|
| CD Lost | In RS-232 handshake mode, characters are to be received as long as Carrier Detect (CD) signal is active. This counter is incremented if the CD signal is lost during reception. |
| Collision | Counts transmission collisions. Used in RS-485 mode by some protocols where transmissions could collide. For example DNP3 unsolicited mode. |
| CTS Timeout. | In RS-232 handshake mode the Clear To Send (CTS) signal is not received as reply to this device Request To Send (RTS) signal. |
| Transmission timeout. | In RS-232 handshake mode. If the CTS signal goes inactive during transmission then the transmission is halted. Transmission will be resumed when CTS goes active again. The whole frame transmission must anyhow be ready within a specified time. If this timeout elapses then this counter is incremented. Result will be that the end of the frame is not being transmitted out. |
| Parity errors | Counts parity errors detected in characters. |
| Overrun errors | Counts overrun errors detected in characters. |
| Framing errors | Counts framing errors detected in characters |
| Parameter | Function |
|---|---|
| Link status | Link status in write direction: By writing 1 to the parameter the diagnostic counters are reset to 0. |
| Link status in monitoring direction: If the driver is in use by any communication protocol, the monitoring value shows 1. In other case, the value is 0. |