Last modified by Xiaoling on 2025/04/23 15:57

From version 41.33
edited by Xiaoling
on 2022/06/06 11:18
Change comment: There is no comment for this version
To version 41.35
edited by Xiaoling
on 2022/06/06 11:19
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1062,62 +1062,121 @@
1062 1062  
1063 1063  ==== **Set RS485 Sampling Commands** ====
1064 1064  
1065 +(((
1065 1065  AT+COMMANDx, AT+DATACUTx and AT+SEARCHx
1067 +)))
1066 1066  
1069 +(((
1067 1067  These three commands are used to configure how the RS485-BL polling data from Modbus device. Detail of usage please see : [[polling RS485 device>>||anchor="H3.3.3Configurereadcommandsforeachsampling"]].
1071 +)))
1068 1068  
1073 +(((
1074 +
1075 +)))
1069 1069  
1070 -* **AT Command:**
1077 +* (((
1078 +**AT Command:**
1079 +)))
1071 1071  
1072 1072  (% class="box infomessage" %)
1073 1073  (((
1083 +(((
1074 1074  **AT+COMMANDx: Configure RS485 read command to sensor.**
1075 1075  )))
1086 +)))
1076 1076  
1077 1077  (% class="box infomessage" %)
1078 1078  (((
1090 +(((
1079 1079  **AT+DATACUTx: Configure how to handle return from RS485 devices.**
1080 1080  )))
1093 +)))
1081 1081  
1082 1082  (% class="box infomessage" %)
1083 1083  (((
1097 +(((
1084 1084  **AT+SEARCHx: Configure search command**
1085 1085  )))
1100 +)))
1086 1086  
1102 +(((
1103 +
1104 +)))
1087 1087  
1088 -* **Downlink Payload:**
1106 +* (((
1107 +**Downlink Payload:**
1108 +)))
1089 1089  
1110 +(((
1090 1090  **0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx.
1112 +)))
1091 1091  
1114 +(((
1092 1092  (% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.
1116 +)))
1093 1093  
1118 +(((
1094 1094  Format: AF MM NN LL XX XX XX XX YY
1120 +)))
1095 1095  
1122 +(((
1096 1096  Where:
1124 +)))
1097 1097  
1098 -* MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
1099 -* NN:  0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value.
1100 -* LL:  The length of AT+COMMAND or AT+DATACUT command
1101 -* XX XX XX XX: AT+COMMAND or AT+DATACUT command
1102 -* YY:  If YY=0, RS485-BL will execute the downlink command without uplink; if YY=1, RS485-BL will execute an uplink after got this command.
1126 +* (((
1127 +MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
1128 +)))
1129 +* (((
1130 +NN:  0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value.
1131 +)))
1132 +* (((
1133 +LL:  The length of AT+COMMAND or AT+DATACUT command
1134 +)))
1135 +* (((
1136 +XX XX XX XX: AT+COMMAND or AT+DATACUT command
1137 +)))
1138 +* (((
1139 +YY:  If YY=0, RS485-BL will execute the downlink command without uplink; if YY=1, RS485-BL will execute an uplink after got this command.
1140 +)))
1103 1103  
1142 +(((
1104 1104  **Example:**
1144 +)))
1105 1105  
1146 +(((
1106 1106  (% style="color:#037691" %)**AF 03 01 06 0A 05 00 04 00 01 00**(%%): Same as AT+COMMAND3=0A 05 00 04 00 01,1
1148 +)))
1107 1107  
1150 +(((
1108 1108  (% style="color:#037691" %)**AF 03 02 06**(% style="color:orange" %)** 10 **(% style="color:red" %)**01 **(% style="color:green" %)**05 06 09 0A**(% style="color:#037691" %)** 00**(%%): Same as AT+DATACUT3=(% style="color:orange" %)**16**(%%),(% style="color:red" %)**1**(%%),(% style="color:green" %)**5+6+9+10**
1152 +)))
1109 1109  
1154 +(((
1110 1110  (% style="color:#037691" %)**AF 03 02 06 **(% style="color:orange" %)**0B**(% style="color:red" %)** 02 **(% style="color:green" %)**05 07 08 0A **(% style="color:#037691" %)**00**(%%): Same as AT+DATACUT3=(% style="color:orange" %)**11**(%%),(% style="color:red" %)**2**(%%),(% style="color:green" %)**5~~7+8~~10**
1156 +)))
1111 1111  
1158 +(((
1159 +
1160 +)))
1112 1112  
1162 +(((
1113 1113  **0xAB** downlink command can be used for set AT+SEARCHx
1164 +)))
1114 1114  
1166 +(((
1115 1115  **Example:** **AB aa 01 03 xx xx xx** (03 here means there are total 3 bytes after 03) So
1168 +)))
1116 1116  
1117 -* AB aa 01 03 xx xx xx  same as AT+SEARCHaa=1,xx xx xx
1118 -* AB aa 02 03 xx xx xx 02 yy yy(03 means there are 3 bytes after 03, they are xx xx xx;02 means there are 2 bytes after 02, they are yy yy) so the commands
1170 +* (((
1171 +AB aa 01 03 xx xx xx  same as AT+SEARCHaa=1,xx xx xx
1172 +)))
1173 +* (((
1174 +AB aa 02 03 xx xx xx 02 yy yy(03 means there are 3 bytes after 03, they are xx xx xx;02 means there are 2 bytes after 02, they are yy yy) so the commands
1175 +)))
1119 1119  
1177 +(((
1120 1120  **AB aa 02 03 xx xx xx 02 yy yy**  same as **AT+SEARCHaa=2,xx xx xx+yy yy**
1179 +)))
1121 1121  
1122 1122  
1123 1123  
... ... @@ -1124,24 +1124,47 @@
1124 1124  
1125 1125  ==== **Fast command to handle MODBUS device** ====
1126 1126  
1186 +(((
1127 1127  AT+MBFUN is valid since v1.3 firmware version. The command is for fast configure to read Modbus devices. It is only valid for the devices which follow the [[MODBUS-RTU protocol>>url:https://www.modbustools.com/modbus.html]].
1188 +)))
1128 1128  
1190 +(((
1129 1129  This command is valid since v1.3 firmware version
1192 +)))
1130 1130  
1194 +(((
1195 +
1196 +)))
1131 1131  
1198 +(((
1132 1132  **AT+MBFUN has only two value:**
1200 +)))
1133 1133  
1134 -* **AT+MBFUN=1**: Enable Modbus reading. And get response base on the MODBUS return
1202 +* (((
1203 +**AT+MBFUN=1**: Enable Modbus reading. And get response base on the MODBUS return
1204 +)))
1135 1135  
1206 +(((
1136 1136  AT+MBFUN=1, device can auto read the Modbus function code: 01, 02, 03 or 04. AT+MBFUN has lower priority vs AT+DATACUT command. If AT+DATACUT command is configured, AT+MBFUN will be ignore.
1208 +)))
1137 1137  
1138 -* **AT+MBFUN=0**: Disable Modbus fast reading.
1210 +* (((
1211 +**AT+MBFUN=0**: Disable Modbus fast reading.
1212 +)))
1139 1139  
1214 +(((
1140 1140  **Example:**
1216 +)))
1141 1141  
1142 -* AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0).
1143 -* AT+COMMAND1= 01 03 00 10 00 08,1 ~-~-> read slave address 01 , function code 03, start address 00 01, quantity of registers 00 08.
1144 -* AT+COMMAND2= 01 02 00 40 00 10,1 ~-~-> read slave address 01 , function code 02, start address 00 40, quantity of inputs 00 10.
1218 +* (((
1219 +AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0).
1220 +)))
1221 +* (((
1222 +AT+COMMAND1= 01 03 00 10 00 08,1 ~-~-> read slave address 01 , function code 03, start address 00 01, quantity of registers 00 08.
1223 +)))
1224 +* (((
1225 +AT+COMMAND2= 01 02 00 40 00 10,1 ~-~-> read slave address 01 , function code 02, start address 00 40, quantity of inputs 00 10.
1226 +)))
1145 1145  
1146 1146  [[image:1654133913295-597.png]]
1147 1147