modbusConfig.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444
  1. /**
  2. * 支持的 Modbus 类型
  3. */
  4. export const MODBUS_TYPES = {
  5. WRITE_ADDRESS: 'WRITE_ADDRESS',
  6. READ_REGISTER: 'READ_REGISTER',
  7. };
  8. /**
  9. * Modbus 协议帧配置
  10. */
  11. export const MODBUS_FRAME_CONFIG = {
  12. Lora: {
  13. WRITE_ADDRESS_OLD: { // 自定义指令
  14. type: MODBUS_TYPES.WRITE_ADDRESS,
  15. slaveAddress: 0x00,
  16. functionCode: 0x42,
  17. startAddress: 0x0017, // 修改起始地址为0x0017
  18. value: [0x0001, 0x09D0], // 修改值为两个16位寄存器值数组
  19. },
  20. WRITE_ADDRESS: { //写地址
  21. type: MODBUS_TYPES.WRITE_ADDRESS,
  22. slaveAddress: 0x00,
  23. functionCode: 0x06,
  24. startAddress: 0x0017,
  25. value: null,
  26. },
  27. GET_ADDRESS: { //读取地址
  28. type: MODBUS_TYPES.WRITE_ADDRESS,
  29. slaveAddress: 0xFF, // 从协议数据看是FF
  30. functionCode: 0x03, // 功能码03
  31. startAddress: 0x0001, // 起始地址0001
  32. value: "0x0046", // 读取0个寄存器(根据实际需求可调整)
  33. },
  34. TIMED_TASKS:{ //定时任务
  35. type: MODBUS_TYPES.WRITE_ADDRESS,
  36. slaveAddress: null,
  37. functionCode: 0x03,
  38. startAddress: 0x0001,
  39. value: "0x0046",
  40. },
  41. RAIN:{ //雨
  42. type: MODBUS_TYPES.WRITE_ADDRESS,
  43. slaveAddress: null,
  44. functionCode: 0x06,
  45. startAddress: 0x0029,
  46. value: "0x0200",
  47. },
  48. SNOW:{ //雪
  49. type: MODBUS_TYPES.WRITE_ADDRESS,
  50. slaveAddress: null,
  51. functionCode: 0x06,
  52. startAddress: 0x0029,
  53. value: "0x0100",
  54. },
  55. WIND:{ //风
  56. type: MODBUS_TYPES.WRITE_ADDRESS,
  57. slaveAddress: null,
  58. functionCode: 0x06,
  59. startAddress: 0x0029,
  60. value: "0x0400",
  61. },
  62. FLATTEN:{ //放平
  63. type: MODBUS_TYPES.WRITE_ADDRESS,
  64. slaveAddress: null,
  65. functionCode: 0x06,
  66. startAddress: 0x0029,
  67. value: "0x0040",
  68. },
  69. STOP:{ //停止
  70. type: MODBUS_TYPES.WRITE_ADDRESS,
  71. slaveAddress: null,
  72. functionCode: 0x06,
  73. startAddress: 0x0029,
  74. value: "0x0080",
  75. },
  76. READ_MANUAL:{ //手动
  77. type: MODBUS_TYPES.WRITE_ADDRESS,
  78. slaveAddress: null,
  79. functionCode: 0x06,
  80. startAddress: 0x0029,
  81. value: "0x0010",
  82. },
  83. READ_AUTO:{ //自动
  84. type: MODBUS_TYPES.WRITE_ADDRESS,
  85. slaveAddress: null,
  86. functionCode: 0x06,
  87. startAddress: 0x0029,
  88. value: "0x0020",
  89. },
  90. READ_DOWN:{ //向东
  91. type: MODBUS_TYPES.WRITE_ADDRESS,
  92. slaveAddress: null,
  93. functionCode: 0x06,
  94. startAddress: 0x0029,
  95. value: "0x0018",
  96. },
  97. READ_UP:{ //向西
  98. type: MODBUS_TYPES.WRITE_ADDRESS,
  99. slaveAddress: null,
  100. functionCode: 0x06,
  101. startAddress: 0x0029,
  102. value: "0x0014",
  103. },
  104. READ_CANCEL:{ //取消
  105. type: MODBUS_TYPES.WRITE_ADDRESS,
  106. slaveAddress: null,
  107. functionCode: 0x06,
  108. startAddress: 0x0029,
  109. value: "0x0000",
  110. },
  111. READ_TIME:{ //校正时间
  112. type: MODBUS_TYPES.READ_REGISTER,
  113. slaveAddress: null,
  114. functionCode: 0x10,
  115. startAddress: 0x002C,
  116. value: null,
  117. },
  118. READ_TEMPERATURE:{ //天文写入
  119. type: MODBUS_TYPES.READ_REGISTER,
  120. slaveAddress: null,
  121. functionCode: 0x10,
  122. startAddress: 0x0032,
  123. value: null,
  124. },
  125. READ_LIMIT:{ //限位写入
  126. type: MODBUS_TYPES.READ_REGISTER,
  127. slaveAddress: null,
  128. functionCode: 0x10,
  129. startAddress: 0x0040,
  130. value: null,
  131. },
  132. READ_INCLINATION:{ //坡度写入
  133. type: MODBUS_TYPES.READ_REGISTER,
  134. slaveAddress: null,
  135. functionCode: 0x10,
  136. startAddress: 0x003C,
  137. value: null,
  138. },
  139. READ_FREQUENCY:{ //频点写入
  140. type: MODBUS_TYPES.READ_REGISTER,
  141. slaveAddress: null,
  142. functionCode: 0x10,
  143. startAddress: 0x0019,
  144. value: null,
  145. },
  146. READ_DIRECTION:{ //电机方向 正转动
  147. type: MODBUS_TYPES.WRITE_ADDRESS,
  148. slaveAddress: null,
  149. functionCode: 0x06,
  150. startAddress: 0x0025,
  151. value: "0x0000",
  152. },
  153. READ_REVERSE:{ //电机方向 反转
  154. type: MODBUS_TYPES.WRITE_ADDRESS,
  155. slaveAddress: null,
  156. functionCode: 0x06,
  157. startAddress: 0x0025,
  158. value: "0x0001",
  159. },
  160. READ_RETURN:{ //夜返角度
  161. type: MODBUS_TYPES.WRITE_ADDRESS,
  162. slaveAddress: null,
  163. functionCode: 0x06,
  164. startAddress: 0x0042,
  165. value: null,
  166. },
  167. READ_FLAT:{ //放平角度
  168. type: MODBUS_TYPES.WRITE_ADDRESS,
  169. slaveAddress: null,
  170. functionCode: 0x06,
  171. startAddress: 0x0043,
  172. value: null,
  173. },
  174. READ_SPECIFY:{ //指定角度
  175. type: MODBUS_TYPES.WRITE_ADDRESS,
  176. slaveAddress: null,
  177. functionCode: 0x06,
  178. startAddress: 0x0045,
  179. value: null,
  180. },
  181. READ_SNOW:{ //雪天角度
  182. type: MODBUS_TYPES.WRITE_ADDRESS,
  183. slaveAddress: null,
  184. functionCode: 0x06,
  185. startAddress: 0x0044,
  186. value: null,
  187. },
  188. READ_WIND:{ //大风角度
  189. type: MODBUS_TYPES.WRITE_ADDRESS,
  190. slaveAddress: null,
  191. functionCode: 0x06,
  192. startAddress: 0x0046,
  193. value: null,
  194. },
  195. READ_OVERCURRENT:{ //过流写入
  196. type: MODBUS_TYPES.WRITE_ADDRESS,
  197. slaveAddress: null,
  198. functionCode: 0x06,
  199. startAddress: 0x0026,
  200. value: null,
  201. },
  202. READ_TRACKING:{ //跟踪精度
  203. type: MODBUS_TYPES.WRITE_ADDRESS,
  204. slaveAddress: null,
  205. functionCode: 0x06,
  206. startAddress: 0x0027,
  207. value: null,
  208. },
  209. READ_MOTOR_STOP: { // 停止
  210. type: MODBUS_TYPES.WRITE_ADDRESS,
  211. slaveAddress: null,
  212. functionCode: 0x06,
  213. startAddress: 0x0013, // 19号寄存器 (十进制)
  214. value: "0x0000",
  215. },
  216. READ_MOTOR1_EAST: { // 电机1向东
  217. type: MODBUS_TYPES.WRITE_ADDRESS,
  218. slaveAddress: null,
  219. functionCode: 0x06,
  220. startAddress: 0x0013, // 19号寄存器 (十进制)
  221. value: "0x0001",
  222. },
  223. READ_MOTOR1_WEST: { // 电机1向西
  224. type: MODBUS_TYPES.WRITE_ADDRESS,
  225. slaveAddress: null,
  226. functionCode: 0x06,
  227. startAddress: 0x0013, // 19号寄存器 (十进制)
  228. value: "0x0002",
  229. },
  230. READ_MOTOR2_EAST: { // 电机2向东
  231. type: MODBUS_TYPES.WRITE_ADDRESS,
  232. slaveAddress: null,
  233. functionCode: 0x06,
  234. startAddress: 0x0013, // 19号寄存器 (十进制)
  235. value: "0x0003",
  236. },
  237. READ_MOTOR2_WEST: { // 电机2向西
  238. type: MODBUS_TYPES.WRITE_ADDRESS,
  239. slaveAddress: null,
  240. functionCode: 0x06,
  241. startAddress: 0x0013, // 19号寄存器 (十进制)
  242. value: "0x0004",
  243. },
  244. },
  245. zigbee: {
  246. WRITE_ADDRESS: { //写地址
  247. type: MODBUS_TYPES.WRITE_ADDRESS,
  248. slaveAddress: 0x00,
  249. functionCode: 0x06,
  250. startAddress: 0x001F,
  251. value: null,
  252. },
  253. GET_ADDRESS: { //读取地址
  254. type: MODBUS_TYPES.WRITE_ADDRESS,
  255. slaveAddress: 0xFF,
  256. functionCode: 0x03,
  257. startAddress: 0x0001,
  258. value: "0x0046",
  259. },
  260. TIMED_TASKS:{ //定时任务
  261. type: MODBUS_TYPES.WRITE_ADDRESS,
  262. slaveAddress: null,
  263. functionCode: 0x03,
  264. startAddress: 0x0001,
  265. value: "0x003C",
  266. },
  267. RAIN:{ //雨
  268. type: MODBUS_TYPES.WRITE_ADDRESS,
  269. slaveAddress: null,
  270. functionCode: 0x06,
  271. startAddress: 0x0002,
  272. value: "0x0200",
  273. },
  274. SNOW:{ //雪
  275. type: MODBUS_TYPES.WRITE_ADDRESS,
  276. slaveAddress: null,
  277. functionCode: 0x06,
  278. startAddress: 0x0002,
  279. value: "0x0100",
  280. },
  281. WIND:{ //风
  282. type: MODBUS_TYPES.WRITE_ADDRESS,
  283. slaveAddress: null,
  284. functionCode: 0x06,
  285. startAddress: 0x0002,
  286. value: "0x0400",
  287. },
  288. FLATTEN:{ //放平
  289. type: MODBUS_TYPES.WRITE_ADDRESS,
  290. slaveAddress: null,
  291. functionCode: 0x06,
  292. startAddress: 0x0002,
  293. value: "0x0040",
  294. },
  295. STOP:{ //停止
  296. type: MODBUS_TYPES.WRITE_ADDRESS,
  297. slaveAddress: null,
  298. functionCode: 0x06,
  299. startAddress: 0x0002,
  300. value: "0x0080",
  301. },
  302. READ_MANUAL:{ //手动
  303. type: MODBUS_TYPES.WRITE_ADDRESS,
  304. slaveAddress: null,
  305. functionCode: 0x06,
  306. startAddress: 0x0002,
  307. value: "0x0010",
  308. },
  309. READ_AUTO:{ //自动
  310. type: MODBUS_TYPES.WRITE_ADDRESS,
  311. slaveAddress: null,
  312. functionCode: 0x06,
  313. startAddress: 0x0002,
  314. value: "0x0020",
  315. },
  316. READ_DOWN:{ //向东
  317. type: MODBUS_TYPES.WRITE_ADDRESS,
  318. slaveAddress: null,
  319. functionCode: 0x06,
  320. startAddress: 0x0002,
  321. value: "0x0018",
  322. },
  323. READ_UP:{ //向西
  324. type: MODBUS_TYPES.WRITE_ADDRESS,
  325. slaveAddress: null,
  326. functionCode: 0x06,
  327. startAddress: 0x0002,
  328. value: "0x0014",
  329. },
  330. READ_CANCEL:{ //取消
  331. type: MODBUS_TYPES.WRITE_ADDRESS,
  332. slaveAddress: null,
  333. functionCode: 0x06,
  334. startAddress: 0x0002,
  335. value: "0x0000",
  336. },
  337. READ_TIME:{ //校正时间
  338. type: MODBUS_TYPES.READ_REGISTER,
  339. slaveAddress: null,
  340. functionCode: 0x10,
  341. startAddress: 0x000E,
  342. value: null,
  343. },
  344. READ_TEMPERATURE:{ //天文写入
  345. type: MODBUS_TYPES.READ_REGISTER,
  346. slaveAddress: null,
  347. functionCode: 0x10,
  348. startAddress: 0x0014,
  349. value: null,
  350. },
  351. READ_LIMIT:{ //限位写入
  352. type: MODBUS_TYPES.READ_REGISTER,
  353. slaveAddress: null,
  354. functionCode: 0x10,
  355. startAddress: 0x0028,
  356. value: null,
  357. },
  358. READ_INCLINATION:{ //坡度写入
  359. type: MODBUS_TYPES.READ_REGISTER,
  360. slaveAddress: null,
  361. functionCode: 0x10,
  362. startAddress: 0x0020,
  363. value: null,
  364. },
  365. READ_FREQUENCY:{ //频点写入
  366. type: MODBUS_TYPES.READ_REGISTER,
  367. slaveAddress: null,
  368. functionCode: 0x06,
  369. startAddress: 0x002F,
  370. value: null,
  371. },
  372. READ_DIRECTION:{ //电机方向 正转动
  373. type: MODBUS_TYPES.WRITE_ADDRESS,
  374. slaveAddress: null,
  375. functionCode: 0x06,
  376. startAddress: 0x002E,
  377. value: "0x0000",
  378. },
  379. READ_REVERSE:{ //电机方向 反转
  380. type: MODBUS_TYPES.WRITE_ADDRESS,
  381. slaveAddress: null,
  382. functionCode: 0x06,
  383. startAddress: 0x002E,
  384. value: "0x0001",
  385. },
  386. READ_RETURN:{ //夜返角度
  387. type: MODBUS_TYPES.WRITE_ADDRESS,
  388. slaveAddress: null,
  389. functionCode: 0x06,
  390. startAddress: 0x0042,
  391. value: null,
  392. },
  393. READ_FLAT:{ //放平角度
  394. type: MODBUS_TYPES.WRITE_ADDRESS,
  395. slaveAddress: null,
  396. functionCode: 0x06,
  397. startAddress: 0x002B,
  398. value: null,
  399. },
  400. READ_SPECIFY:{ //指定角度
  401. type: MODBUS_TYPES.WRITE_ADDRESS,
  402. slaveAddress: null,
  403. functionCode: 0x06,
  404. startAddress: 0x002C,
  405. value: null,
  406. },
  407. READ_SNOW:{ //雪天角度
  408. type: MODBUS_TYPES.WRITE_ADDRESS,
  409. slaveAddress: null,
  410. functionCode: 0x06,
  411. startAddress: 0x002A,
  412. value: null,
  413. },
  414. READ_WIND:{ //大风角度
  415. type: MODBUS_TYPES.WRITE_ADDRESS,
  416. slaveAddress: null,
  417. functionCode: 0x06,
  418. startAddress: 0x002D,
  419. value: null,
  420. },
  421. READ_OVERCURRENT:{ //过流写入
  422. type: MODBUS_TYPES.WRITE_ADDRESS,
  423. slaveAddress: null,
  424. functionCode: 0x06,
  425. startAddress: 0x001E,
  426. value: null,
  427. },
  428. READ_TRACKING:{ //跟踪精度
  429. type: MODBUS_TYPES.WRITE_ADDRESS,
  430. slaveAddress: null,
  431. functionCode: 0x06,
  432. startAddress: 0x0017,
  433. value: null,
  434. },
  435. },
  436. DEVICE_C: {
  437. },
  438. };