Introduction
CPUs and BMENOC0301/11 communication modules in M580 systems support the diagnostic codes in these tables.
Function Code 3
Some module diagnostics (I/O connection, extended health, redundancy status, FDR server, etc.) are available to Modbus clients that read the local Modbus server area. Use Modbus function code 3 with the unit ID set to 100 for register mapping:
Type |
Offset Modbus Address |
Size (Words) |
---|---|---|
Basic Networks Diagnostic Data |
0 |
39 |
Ethernet Port Diagnostics Data (Internal port) |
39 |
103 |
Ethernet Port Diagnostics Data (ETH 1) |
142 |
103 |
Ethernet Port Diagnostics Data (ETH 2) |
245 |
103 |
Ethernet Port Diagnostics Data (ETH 3) |
348 |
103 |
Ethernet Port Diagnostics Data (backplane) |
451 |
103 |
Modbus TCP/Port 502 Diagnostic Data |
554 |
114 |
Modbus TCP/Port 502 Connection Table Data |
668 |
515 |
SNTP Diagnostics |
1218 |
57 |
QoS Diagnostics |
1275 |
11 |
Identify |
2001 |
24 |
For a description of available function codes refer to the list of supported Modbus diagnostic codes in the topic Modbus Diagnostic Codes in the Quantum EIO Control Network Installation and Configuration Guide.
Function Code 8, Subcode 21
Function Code 8, subcode 21 (decimal – 15 hex), provides information regarding the NTPv4 service and peers.
Operation Code (hex) |
Description |
---|---|
0x77 |
Get NTP Service Status |
0x78 |
Get NTP Peer Status |
The structure of these operation codes are as follows:
Field |
Length [bytes] |
Value (hex) |
---|---|---|
Request and Response fields: |
||
Function Code |
1 |
08 |
Sub Function Code Hi |
1 |
00 |
Sub Function Code Low |
1 |
15 |
Operation Code Hi |
1 |
00 |
Operation Code Low |
1 |
77 |
Response only fields: |
||
Byte Count |
1 |
49 |
NTP Service
|
1 |
NTP Mode:
NTP Status:
|
Sync |
1 |
UINT (Leap Byte) |
Stratum |
1 |
UINT
|
Precision |
1 |
INT |
Alarm |
1 |
When Accuracy exceeds the user configured NTPv4 Threshold |
Accuracy |
4 |
FLOAT (TIME_WITHIN) |
Root Delay |
4 |
FLOAT |
Root Dispersion |
4 |
FLOAT |
Reference ID |
4 |
UINT |
Reference DATE_TIME-MICRO_SEC |
4 |
UINT |
Clock DATE_TIME-MICRO_SEC |
4 |
UINT |
Peer |
2 |
|
DST Status |
1 |
|
Time Zone |
4 |
|
Time Zone Offset (minutes) |
2 |
|
Daylight Saving Time Bias (minutes) |
1 |
|
Daylight Saving Start Date - Month |
1 |
|
Daylight
Saving Start Date - Week #, Day of Week |
1 |
|
Daylight Saving Start Time (Seconds elapsed from midnight) |
4 |
|
Daylight Saving End Date – Month |
1 |
|
Daylight Saving End Date – Week #, Day of Week |
1 |
|
Daylight Saving End Time (Seconds elapsed from midnight) |
4 |
|
Field |
Length [bytes] |
Value (hex) |
---|---|---|
Request and Response fields: |
||
Function Code |
1 |
08 |
Sub Function Code Hi |
1 |
00 |
Sub Function Code Low |
1 |
15 |
Operation Code Hi |
1 |
00 |
Operation Code Low |
1 |
75 |
Byte Count |
1 |
F9 |
Peer Count |
1 |
Default - 8 |
FLOAT Precision |
1 |
For the FLOAT values, below |
Response only fields (The following fields repeat, with the suffix # incarnated, for each system peer): |
||
Remote IP 1 |
4 |
Remote IP Address |
Reference ID 1 |
4 |
|
Select 1 |
1 |
The currently selected server:
|
Reach Percentage 1 |
1 |
Percentage Representation (0-100%) |
Stratum 1 |
1 |
Least value determines current/candidate Server IP. If value = 16, then Ref ID field is parsed as 4 bytes ASCII. |
Poll 1 |
2 |
INT |
Delay 1 |
4 |
FLOAT |
Offset 1 |
4 |
FLOAT |
Jitter 1 |
4 |
FLOAT |
When |
6 |
6 byte ASCII. sec/min/hr since last received packet |
Function Code 8, Subcode 22
Modbus function code 08, subcode 22, provides a variety of diagnostic functions:
Operation Code |
Diag. Control |
Description |
---|---|---|
0x01 |
0x0100 |
network diagnostic data |
0x0200 |
Read the Ethernet port diagnostic data from the switch manager. |
|
0x0300 |
Read the Modbus TCP/port 502 diagnostic data from the Modbus server. |
|
0x0400 |
Read the Modbus TCP/port 502 connection table from the Modbus server. |
|
0x07F0 |
Read the data structure offset data from the Modbus server. |
|
0x02 |
0x0100 |
Clear the basic network diagnostic data. NOTE: Only specific parameters of basic network diagnostic data are used to clear requests. |
0x0200 |
Clear the Ethernet port diagnostic data. NOTE: Only specific parameters of basic network diagnostic data are used to clear requests. |
|
0x0300 |
Clear the Modbus TCP/port 502 diagnostic data. NOTE: Only specific parameters of Modbus port 502 diagnostic data are used to clear requests. |
|
0x0400 |
Clear the Modbus TCP/port 502 connection table. NOTE: Only specific parameters of Modbus port 502 connection data are use to clear requests. |
|
0x03 |
0 |
Clear all diagnostic data. NOTE: Only specific parameters of each diagnostic data are used to clear requests. |
Read Device Identification
Modbus function code 43, subcode 14: A Modbus request associated with function code 43 (Read Device Identification) asks a Modbus server to return the vendor name, product name, version number, and other optional fields:
Category |
Object ID |
Object Name |
Type |
Requirement |
---|---|---|---|---|
Basic |
0x00 |
VendorName (vendor name) |
ASCII string |
mandatory |
0x01 |
ProductCode (product code) |
ASCII string |
mandatory |
|
0x02 |
MajorMinorRevision (version number) |
ASCII string |
mandatory |
|
Regular |
0x03 |
VendorUrl (vendor URL) |
ASCII string |
optional |
0x04 |
ProductName (product name) |
ASCII string |
optional |
|
0x05 |
ModelName (model name) |
ASCII string |
optional |
|
0x06 |
UserApplicationName (user application name) |
ASCII string |
optional |
|
0x07...0x7F |
(reserved) |
ASCII string |
optional |
|
Extended |
0x80...0xFF |
device-dependent |
optional |
This table provides sample responses to the Modbus request (function code 43, subcode 14):
Module |
0x00 Vendor ID |
0x01 Part Number |
0x02 Version |
---|---|---|---|
BMEP584020 CPU |
Schneider Electric |
BMEP584020 |
v02.10 |
BMENOC0301 module |
Schneider Electric |
BMENOC0301 |
V02.04 build 0009 |
BMENOC0311 module |
Schneider Electric |
BMENOC0311 |
V02.04 build 0009 |
BMENOC0321 module |
Schneider Electric |
BMENOC0321 |
V01.01 build 0004 |