Modbus Query Information
The Modbus feature on the device allows the user to enable the Modbus query server. You can query this server over Modbus-TCP for status information. NOTE: You must first enable Modbus on the device and enter the required settings in the UI under Administration > Access Configuration > Modbus Slave. Refer to the Modbus Slave section under Configuring Device Access in your user guide. See the MTR product page on our company website to find your product user guide.
This page includes the necessary details to perform Modbus queries using a Modbus application such as Modbus Poll. Refer to the attached table. The following information applies to mPower 6.0 and above.
NOTE: The information below provides the raw values from the radios. The query set data is divided into two tables with one for Telit Radios and the other for Quectel radios. Interpretation of the values is radio-specific. Please consult the AT command guide for your radio to decode the values received from the Modbus Slave.
Modbus Query Server Data Set for Telit Radios
The table below lists the values supported by different Telit radios and is provided only for reference. Use the AT#BND? command to decode the values.
Name |
Register Number1 |
Data Type |
Data / Data Range |
Data Interpretation 1 ((Telit series LE910, LE910 V2, LE910Cx, HE910, ME910Cx, GE910, DE910, CE910, LE866) |
Data Interpretation 2 (Telit FN980) |
Notes |
---|---|---|---|---|---|---|
GSM Band |
#1 |
16-bit unsigned int |
0x0000 |
GSM 900MHz + DCS 1800MHz |
GSM 900MHz + DCS 1800MHz |
Per Telit HE910 AT Commands Reference (AT#BND?) |
0x0001 |
GSM 900MHz + PCS 1900MHz |
GSM 900MHz + PCS 1900MHz |
||||
0x0002 |
GSM 850MHz + DCS 1800MHz |
GSM 850MHz + DCS 1800MHz |
||||
0x0003 |
GSM 850MHz + PCS 1900MHz |
GSM 850MHz + PCS 1900MHz |
||||
0x0004 |
GSM 900 MHz + DCS 1800 MHz + PCS 1900 MHz |
GSM 900 MHz + DCS 1800 MHz + PCS 1900 MHz |
||||
0x0005 | GSM 900 MHz + DCS 1800 MHz + PCS 1900 MHz + GSM 850 MHz | GSM 900 MHz + DCS 1800 MHz + PCS 1900 MHz + GSM 850 MHz | ||||
0xFFFF |
Band could not be obtained |
Band could not be obtained |
Response may vary based on model. | |||
UMTS Band |
#2 |
16-bit unsigned int |
0x0000 |
B1 (2100 MHz) |
2100MHz (FDD I) |
Per Telit HE910 AT Commands Reference (AT#BND?) |
0x0001 |
B2 (1900 MHz) |
1900MHz (FDD II) |
||||
0x0002 |
B5 (850 MHz) |
850MHz (FDD V) |
||||
0x0003 |
B1 (2100 MHz) + B2 (1900 MHz) + B5 (850 MHz) |
2100MHz (FDD I) + 1900MHz (FDD II) + 850MHz (FDD V) |
||||
0x0004 |
B2 (1900 MHz) + B5 (850 MHz) |
1900MHz (FDD II) + 850MHz (FDD V) |
||||
0x0005 |
B8 (900 MHz) |
900MHz (FDD VIII) |
||||
0x0006 |
B1 (2100 MHz) + B8 (900 MHz) |
2100MHz (FDD I) + 900MHz (FDD VIII) |
||||
0x0007 |
B4 (1700 MHz) |
1700MHz (FDD IV) |
||||
0x0008 |
B1 (2100 MHz) + B5 (850 MHz) |
2100MHz (FDD I) + 850MHz (FDD V) | ||||
0x0009 | B1 (2100 MHz) + B8 (900 MHz) + B5 (850 MHz) | 2100MHz (FDD I) + 900MHz (FDD VIII) + 850MHz (FDD V) | ||||
0x000A | B2 (1900 MHz) + B4 (1700 MHz) + B5 (850 MHz) | 1900MHz (FDD II) + 1700MHz (FDD IV) + 850MHz (FDD V) | ||||
0x000B | B1 (2100 MHz) + B2 (1900 MHz) + B4 (1700 MHz) + B5 (900 MHz) | 2100MHz (FDD I) + 1900MHz (FDD II) + 1700MHz (FDD IV) + 850MHz (FDD V) + 900MHz (FDD VIII) | ||||
0x000C | B6 (800 MHz) | 2100MHz (FDD I) + 1800MHz (FDD III) + 850MHz (FDD V) + 900MHz (FDD VIII) | ||||
0x000D | B3 (1800 MHz) | 1800MHz (FDD III) | ||||
0x000E | B1 (2100 MHz) + B2 (1900 MHz) + B4 (1700 MHz) + B5 (850 MHz) + B6 (800 MHz) | 2100MHz (FDD I) + 1800MHz (FDD III) + 850MHz (FDD V) | ||||
0x000F | B1 (2100 MHz) + B8 (900 MHz) + B3 (1800 MHz) | 1800MHz (FDD III) + 850MHz (FDD V) | ||||
0x0010 | B8 (900 MHz) + B5 (850 MHz) | 2100MHz (FDD I) + 1900MHz (FDD II) + 1800MHz (FDD III) + 1700MHz (FDD IV) + 850MHz (FDD V) + 900MHz (FDD VIII) | ||||
0x0011 | B2 (1900 MHz) + B4 (1700 MHz) + B5 (850 MHz) + B6 (800 MHz) | 2100MHz (FDD I) + 1900MHz (FDD II) + 900MHz (FDD VIII) | ||||
0x0012 | B1 (2100 MHz) + B5 (850 MHz) + B6 (800 MHz) + B8 (900 MHz) | 2100MHz (FDD I) + 1900MHz (FDD II) + 1700MHz (FDD IV) + 850MHz (FDD V) + 900MHz (FDD VIII) + JAPAN1800(FDD IX) + JAPAN800(FDD XIX) | ||||
0x0013 | B2 (1900 MHz) + B6 (800 MHz) | 2100MHz (FDD I) + 1900MHz (FDD II) + 1700MHz (FDD IV) + 850MHz (FDD V) + JAPAN850MHz (FDD VI) + 900MHz (FDD VIII) + JAPAN1800(FDD IX) + JAPAN800(FDD XIX) | ||||
0x0014 | B5 (850 MHz) + B6 (800 MHz) | 2100MHz (FDD I) + 1900MHz (FDD II) + 1800MHz (FDD III) + 1700MHz (FDD IV) | ||||
0x0015 | B2 (1900 MHz) + B5 (850 MHz) + B6 (800 MHz) | 2100MHz (FDD I) + 1900MHz (FDD II) + 1800MHz (FDD III) + 1700MHz (FDD IV) + 850MHz (FDD V) + JAPAN850MHz (FDD VI) + 900MHz (FDD VIII) + JAPAN1800(FDD IX) + JAPAN800(FDD XIX) | ||||
0x0016 | B1 (2100 MHz) + B3 (1800 MHz) + B5 (850 MHz) + B8 (900 MHz) | Not Documented | ||||
0x0017 | B1 (2100 MHz) + B3 (1800 MHz) | Not Documented | ||||
0x0018 | B1 (2100 MHz) + B2 (1900 MHz) + B4 (1700 MHz) + B5 (850 MHz) | Not Documented | ||||
0x0019 | B19 (850 MHz) | Not Documented | ||||
0x001A | B1 (2100 MHz) + B5 (850 MHz) + B6 (800 MHz) + B8 (900 MHz) + B19 (850 MHz) | Not Documented | ||||
0xFFFF |
Band could not be obtained |
Not Documented |
Response may vary based on model. | |||
RSSI |
#3 |
16-bit unsigned |
0x0000 |
-113 dBm or less |
Per Telit HE910 Commands Reference (AT+CSQ) |
|
0x0001 – 0x001E |
-111 dBm to -53 dBm in 2 dBm steps |
|||||
0x001F |
-51 dBm or greater |
|||||
0x0063 |
Not known or not detectable |
|||||
MCC |
#4 |
16-bit unsigned int |
0x0000 – 0x03E7 |
3-digit MCC (max 999 dec) stored in binary form |
Parsed from AT#RFSTS and stored in binary form |
|
0xFFFF |
Not known |
|||||
MNC |
#5 |
16-bit unsigned int |
0x0000 – 0x03E7 |
2 or 3-digit MNC (max 999 dec) stored in binary form |
Parsed from AT#RFSTS and stored in binary form |
|
0xFFFF |
Not known |
|||||
WAN IPv4 |
#6 |
Four 8-bit unsigned ints spanning two registers |
Each byte 0x00 – 0xFF |
Binary form of of the IPv4 address as would be written by inet_pton(). For example, “70.63.161.250” is stored in two registers as 0x463F, 0xA1FA. If the IPv4 address is not known or cannot be determined, the registers will contain all zeros. |
||
WAN IPv6 |
#8 |
Eight 16-bit unsigned ints |
Each register 0x0000 – 0xFFFF |
Binary form of of the IPv6 address as would be written by inet_pton(). For example, “2001:0DB8:AC10:FE01:0000:0000:0000:0000” is stored in eight registers as 0x2001, 0x0DB8, 0xAC10, 0xFE01, 0x0000, 0x0000, 0x0000, 0x0000. If the IPv6 address is not known or cannot be determined, the registers will contain all zeros. |
||
Model Type |
#16 |
20 bytes spanning 10 registers, each byte corresponding to a printable ASCII character or NULL (0x00) |
Each byte 0x20 – 0x7E, or 0x00 |
Up to 20 printable ASCII characters, 2 per register, right padded with zeros (0x00). For example, “MTR-H5” is stored in ten registers as 0x4D54, 0x522D, 0x4835, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 |
||
LTE |
#26 |
Eight 16-bit |
0x00000 |
No bands allowed | No bands allowed | Per Telit AT Commands Reference (AT#BND?) |
0x00001 – 0x8000000000000000 |
EUTRAN BAND 1 – EUTRAN BAND 64 |
EUTRAN BAND 1 – EUTRAN BAND 64 |
||||
0xFFFFFFFFFFFFFFFF |
Band could not be obtained |
Band could not be obtained |
Note:1) Data may be read from either the input or holding register number specified. For example, GSM_BAND is available Input Register #1 (Modicon notation: 30001) and in Holding Register #1 (Modicon notation: 40001).
Modbus Query Server Data Set for Quectel Radios
The table below lists the values supported by different Quectel radios and is provided only for reference. Use the AT+QCFG=”band” command to decode the values.
Band Name |
Register # |
Data Type |
Data / Data Range |
Data Interpretation (Quectel series EG95, EG25) |
Notes |
GSM Band |
#1 |
16-bit unsigned int |
0x0001 |
GSM900 |
|
0x0002 |
GSMData1800 |
||||
0x0004 |
GSM850 |
||||
0x0008 |
GSM1900 |
||||
UMTS Band |
#2 |
16-bit unsigned int |
0x0010 |
WCDMA 2100 |
|
0x0020 |
WCDMA 1900 |
||||
0x0040 |
WCDMA 850 |
||||
0x0080 |
WCDMA 900 |
||||
0x0100 |
WCDMA 800 |
||||
0x0200 |
WCDMA 1700 |
||||
0x0800 |
WCDMA Japan 850 (Undocumented, interpretation according to Quectel support) |
||||
0xFFFF |
Any frequency band or Band could not be obtained |
||||
RSSI |
#3 |
16-bit unsigned |
0x0000 |
-113 dBm or less |
Per Telit HE910 Commands Reference (AT+CSQ) |
0x0001 – 0x001E |
-111 dBm to -53 dBm in 2 dBm steps |
||||
0x001F |
-51 dBm or greater |
||||
0x0063 |
Not known or not detectable |
||||
MCC |
#4 |
16-bit unsigned int |
0x0000 – 0x03E7 |
3-digit MCC (max 999 dec) stored in binary form |
Parsed from AT#RFSTS and stored in binary form |
0xFFFF |
Not known |
||||
MNC |
#5 |
16-bit unsigned int |
0x0000 – 0x03E7 |
2 or 3-digit MNC (max 999 dec) stored in binary form |
Parsed from AT#RFSTS and stored in binary form |
0xFFFF |
Not known |
||||
WAN IPv4 |
#6 |
Four 8-bit unsigned ints spanning two registers |
Each byte 0x00 – 0xFF |
Binary form of of the IPv4 address as would be written by inet_pton(). For example, “70.63.161.250” is stored in two registers as 0x463F, 0xA1FA. If the IPv4 address is not known or cannot be determined, the registers will contain all zeros. |
|
WAN IPv6 |
#8 |
Eight 16-bit unsigned ints |
Each register 0x0000 – 0xFFFF |
Binary form of of the IPv6 address as would be written by inet_pton(). For example, “2001:0DB8:AC10:FE01:0000:0000:0000:0000” is stored in eight registers as 0x2001, 0x0DB8, 0xAC10, 0xFE01, 0x0000, 0x0000, 0x0000, 0x0000. If the IPv6 address is not known or cannot be determined, the registers will contain all zeros. |
|
Model Type |
#16 |
20 bytes spanning 10 registers, each byte corresponding to a printable ASCII character or NULL (0x00) |
Each byte 0x20 – 0x7E, or 0x00 |
Up to 20 printable ASCII characters, 2 per register, right padded with zeros (0x00). For example, “MTR-H5” is stored in ten registers as 0x4D54, 0x522D, 0x4835, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 |
|
LTE |
#26 |
Eight 16-bit |
0x0000 |
No bands allowed |
|
0x0001 – 0x8000000000000000 |
LTE B1 – LTE B64 |
||||
0x7FFFFFFFFFFFFFFF |
Any frequency band |
||||
0xFFFFFFFFFFFFFFFF |
Band could not be obtained |