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

From version 41.30
edited by Xiaoling
on 2022/06/06 11:13
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
... ... @@ -872,7 +872,7 @@
872 872  )))
873 873  
874 874  (((
875 -**}**
875 +{{{}}}}
876 876  
877 877  
878 878  )))
... ... @@ -939,53 +939,101 @@
939 939  
940 940  ==== **RS485 Debug Command (AT+CFGDEV)** ====
941 941  
942 +(((
942 942  This command is used to configure the RS485 or TTL sensors; they won’t be used during sampling.
944 +)))
943 943  
944 -* **AT Command**
946 +* (((
947 +**AT Command**
948 +)))
945 945  
946 946  (% class="box infomessage" %)
947 947  (((
952 +(((
948 948  **AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m**
949 949  )))
955 +)))
950 950  
957 +(((
951 951  m: 0: no CRC; 1: add CRC-16/MODBUS in the end of this command.
959 +)))
952 952  
961 +(((
962 +
963 +)))
953 953  
954 -* **Downlink Payload**
965 +* (((
966 +**Downlink Payload**
967 +)))
955 955  
969 +(((
956 956  Format: A8 MM NN XX XX XX XX YY
971 +)))
957 957  
973 +(((
958 958  Where:
975 +)))
959 959  
960 -* MM: 1: add CRC-16/MODBUS ; 0: no CRC
961 -* NN: The length of RS485 command
962 -* XX XX XX XX: RS485 command total NN bytes
963 -* YY: How many bytes will be uplink from the return of this RS485 command, if YY=0, RS485-BL will execute the downlink command without uplink; if YY>0, RS485-BL will uplink total YY bytes from the output of this RS485 command
977 +* (((
978 +MM: 1: add CRC-16/MODBUS ; 0: no CRC
979 +)))
980 +* (((
981 +NN: The length of RS485 command
982 +)))
983 +* (((
984 +XX XX XX XX: RS485 command total NN bytes
985 +)))
986 +* (((
987 +YY: How many bytes will be uplink from the return of this RS485 command, if YY=0, RS485-BL will execute the downlink command without uplink; if YY>0, RS485-BL will uplink total YY bytes from the output of this RS485 command
988 +)))
964 964  
990 +(((
965 965  **Example 1:**
992 +)))
966 966  
994 +(((
967 967  To connect a Modbus Alarm with below commands.
996 +)))
968 968  
969 -* The command to active alarm is: 0A 05 00 04 00 01 **4C B0**. Where 0A 05 00 04 00 01 is the Modbus command to read the register 00 40 where stored the DI status. The 4C B0 is the CRC-16/MODBUS which calculate manually.
998 +* (((
999 +The command to active alarm is: 0A 05 00 04 00 01 **4C B0**. Where 0A 05 00 04 00 01 is the Modbus command to read the register 00 40 where stored the DI status. The 4C B0 is the CRC-16/MODBUS which calculate manually.
1000 +)))
970 970  
971 -* The command to deactivate alarm is: 0A 05 00 04 00 00 **8D 70**. Where 0A 05 00 04 00 00 is the Modbus command to read the register 00 40 where stored the DI status. The 8D 70 is the CRC-16/MODBUS which calculate manually.
1002 +* (((
1003 +The command to deactivate alarm is: 0A 05 00 04 00 00 **8D 70**. Where 0A 05 00 04 00 00 is the Modbus command to read the register 00 40 where stored the DI status. The 8D 70 is the CRC-16/MODBUS which calculate manually.
1004 +)))
972 972  
1006 +(((
973 973  So if user want to use downlink command to control to RS485 Alarm, he can use:
1008 +)))
974 974  
1010 +(((
975 975  (% style="color:#037691" %)**A8 01 06 0A 05 00 04 00 01 00**(%%): to activate the RS485 Alarm
1012 +)))
976 976  
1014 +(((
977 977  (% style="color:#037691" %)**A8 01 06 0A 05 00 04 00 00 00**(%%): to deactivate the RS485 Alarm
1016 +)))
978 978  
979 979  (((
980 980  A8 is type code and 01 means add CRC-16/MODBUS at the end, the 3^^rd^^ byte is 06, means the next 6 bytes are the command to be sent to the RS485 network, the final byte 00 means this command don’t need to acquire output.
981 981  )))
982 982  
1022 +(((
1023 +
1024 +)))
983 983  
1026 +(((
984 984  **Example 2:**
1028 +)))
985 985  
1030 +(((
986 986  Check TTL Sensor return:
1032 +)))
987 987  
1034 +(((
988 988  [[image:1654132684752-193.png]]
1036 +)))
989 989  
990 990  
991 991  
... ... @@ -1014,62 +1014,121 @@
1014 1014  
1015 1015  ==== **Set RS485 Sampling Commands** ====
1016 1016  
1065 +(((
1017 1017  AT+COMMANDx, AT+DATACUTx and AT+SEARCHx
1067 +)))
1018 1018  
1069 +(((
1019 1019  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 +)))
1020 1020  
1073 +(((
1074 +
1075 +)))
1021 1021  
1022 -* **AT Command:**
1077 +* (((
1078 +**AT Command:**
1079 +)))
1023 1023  
1024 1024  (% class="box infomessage" %)
1025 1025  (((
1083 +(((
1026 1026  **AT+COMMANDx: Configure RS485 read command to sensor.**
1027 1027  )))
1086 +)))
1028 1028  
1029 1029  (% class="box infomessage" %)
1030 1030  (((
1090 +(((
1031 1031  **AT+DATACUTx: Configure how to handle return from RS485 devices.**
1032 1032  )))
1093 +)))
1033 1033  
1034 1034  (% class="box infomessage" %)
1035 1035  (((
1097 +(((
1036 1036  **AT+SEARCHx: Configure search command**
1037 1037  )))
1100 +)))
1038 1038  
1102 +(((
1103 +
1104 +)))
1039 1039  
1040 -* **Downlink Payload:**
1106 +* (((
1107 +**Downlink Payload:**
1108 +)))
1041 1041  
1110 +(((
1042 1042  **0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx.
1112 +)))
1043 1043  
1114 +(((
1044 1044  (% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.
1116 +)))
1045 1045  
1118 +(((
1046 1046  Format: AF MM NN LL XX XX XX XX YY
1120 +)))
1047 1047  
1122 +(((
1048 1048  Where:
1124 +)))
1049 1049  
1050 -* MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
1051 -* NN:  0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value.
1052 -* LL:  The length of AT+COMMAND or AT+DATACUT command
1053 -* XX XX XX XX: AT+COMMAND or AT+DATACUT command
1054 -* 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 +)))
1055 1055  
1142 +(((
1056 1056  **Example:**
1144 +)))
1057 1057  
1146 +(((
1058 1058  (% 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 +)))
1059 1059  
1150 +(((
1060 1060  (% 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 +)))
1061 1061  
1154 +(((
1062 1062  (% 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 +)))
1063 1063  
1158 +(((
1159 +
1160 +)))
1064 1064  
1162 +(((
1065 1065  **0xAB** downlink command can be used for set AT+SEARCHx
1164 +)))
1066 1066  
1166 +(((
1067 1067  **Example:** **AB aa 01 03 xx xx xx** (03 here means there are total 3 bytes after 03) So
1168 +)))
1068 1068  
1069 -* AB aa 01 03 xx xx xx  same as AT+SEARCHaa=1,xx xx xx
1070 -* 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 +)))
1071 1071  
1177 +(((
1072 1072  **AB aa 02 03 xx xx xx 02 yy yy**  same as **AT+SEARCHaa=2,xx xx xx+yy yy**
1179 +)))
1073 1073  
1074 1074  
1075 1075  
... ... @@ -1076,24 +1076,47 @@
1076 1076  
1077 1077  ==== **Fast command to handle MODBUS device** ====
1078 1078  
1186 +(((
1079 1079  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 +)))
1080 1080  
1190 +(((
1081 1081  This command is valid since v1.3 firmware version
1192 +)))
1082 1082  
1194 +(((
1195 +
1196 +)))
1083 1083  
1198 +(((
1084 1084  **AT+MBFUN has only two value:**
1200 +)))
1085 1085  
1086 -* **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 +)))
1087 1087  
1206 +(((
1088 1088  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 +)))
1089 1089  
1090 -* **AT+MBFUN=0**: Disable Modbus fast reading.
1210 +* (((
1211 +**AT+MBFUN=0**: Disable Modbus fast reading.
1212 +)))
1091 1091  
1214 +(((
1092 1092  **Example:**
1216 +)))
1093 1093  
1094 -* AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0).
1095 -* 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.
1096 -* 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 +)))
1097 1097  
1098 1098  [[image:1654133913295-597.png]]
1099 1099