"# Modbus Poll\u7528\u6237\u624b\u518c\uff08\u4e2d\u6587\u7248\uff09\n\n> 2022-03-11 | 2026-07-01\n> https:\/\/www.modbus.cn\/en\/6626.html\n\n**\u8c03\u8bd5\u8f6f\u4ef6\u4e0e\u5de5\u5177\u6559\u7a0b**\n\n---\n\n**Modbus\u76f8\u5173\u4ea7\u54c1\u63a8\u8350\uff1a**[peidianxiang.taobao.com](http:\/\/peidianxiang.taobao.com)\n\n## Modbus Poll\u7b80\u4ecb\n\n**Modbus poll**\u662f\u4e00\u6b3e\u975e\u5e38\u53d7\u6b22\u8fce\u7684Modbus\u4e3b\u7ad9\u8bbe\u5907\u4eff\u771f\u5668\uff0c\u652f\u6301Modbus RTU\u3001ASCII\u3001TCP\/IP\u7b49\u534f\u8bae\u6a21\u5f0f\uff0c\u80fd\u591f\u8ba9Modbus\u901a\u4fe1\u8bbe\u5907\u4eba\u5458\u6d4b\u8bd5\u548c\u6a21\u62df\u4f7f\u7528\u901a\u4fe1\u534f\u8bae\uff0c\u4ece\u800c\u66f4\u597d\u7684\u5bf9\u8bbe\u5907\u8fdb\u884c\u76d1\u63a7\u3001\u6d4b\u8bd5\u548c\u8c03\u8bd5\uff0c\u4e5f\u4fbf\u4e8e\u89c2\u5bdfModbus\u901a\u8baf\u8fc7\u7a0b\u4e2d\u7684\u5404\u79cd\u62a5\u6587\u6570\u636e\uff0c\u4e0d\u4ec5\u8282\u7701\u5927\u91cf\u7684\u65f6\u95f4\uff0c\u8fd8\u5927\u5927\u7684\u63d0\u9ad8\u4e86\u5de5\u4f5c\u6548\u7387\u3002\n\n\u5b83\u652f\u6301\u591a\u6587\u6863\u63a5\u53e3\uff0c\u53ef\u4ee5\u540c\u65f6\u76d1\u89c6\u591a\u4e2a\u4ece\u673a\u8bbe\u5907\/\u6570\u636e\u57df\u3002\u6bcf\u4e2a\u7a97\u53e3\u7b80\u5355\u5730\u8bbe\u5b9a\u4ece\u8bbe\u5907ID\uff0c\u529f\u80fd\uff0c\u5730\u5740\uff0c\u5927\u5c0f\u548c\u8f6e\u8be2\u95f4\u9694\u3002\u4f60\u53ef\u4ee5\u4ece\u4efb\u610f\u4e00\u4e2a\u7a97\u53e3\u8bfb\u5199\u5bc4\u5b58\u5668\u548c\u7ebf\u5708\u3002\u5982\u679c\u4f60\u60f3\u6539\u53d8\u4e00\u4e2a\u5355\u72ec\u7684\u5bc4\u5b58\u5668\uff0c\u7b80\u5355\u5730\u53cc\u51fb\u8fd9\u4e2a\u503c\u5373\u53ef\u3002\u6216\u8005\u4f60\u53ef\u4ee5\u6539\u53d8\u591a\u4e2a\u5bc4\u5b58\u5668\/\u7ebf\u5708\u503c\u3002\u63d0\u4f9b\u6570\u636e\u7684\u591a\u79cd\u683c\u5f0f\u65b9\u5f0f\uff0c\u6bd4\u5982\u6d6e\u70b9\u3001\u53cc\u7cbe\u5ea6\u3001\u957f\u6574\u578b\uff08\u53ef\u4ee5\u5b57\u8282\u5e8f\u5217\u4ea4\u6362\uff09\u3002\n\n### Modbus Poll\u64cd\u4f5c\u7cfb\u7edf\u8981\u6c42\n\n\u786c\u4ef6\u8981\u6c42\n\n\u5904\u7406\u5668\uff1a\u63a8\u8350 1 GHz \u6216\u66f4\u5feb\n\u5185\u5b58\uff1a1 GB RAM\n\u786c\u76d8\uff1a5 MB \u53ef\u7528\u786c\u76d8\u7a7a\u95f4\n\u5206\u8fa8\u7387\uff1a1024 x 768 \u53ca\u4ee5\u4e0a\n\n\u7cfb\u7edf\uff1a\u652f\u6301\u4ece Windows 7 \u5230 Windows 11 \u7684\u6240\u6709 Windows \u7248\u672c\u3002\nModbus Poll 7 \u652f\u6301\u5728 Windows XP \u4e0a\u8fd0\u884c\u3002\n\n### \u7ec8\u6b62\u7528\u6237\u8bb8\u53ef\u534f\u8bae\n\n\u5728\u4f7f\u7528 Modbus Poll \u4e4b\u524d\uff0c\u60a8\u5e94\u8be5\u4ed4\u7ec6\u9605\u8bfb\u4ee5\u4e0b\u6761\u6b3e\u548c\u6761\u4ef6\u3002\u9664\u975e\u60a8\u6709 Witte Software \u7b7e\u7f72\u7684\u4e0d\u540c\u8bb8\u53ef\u534f\u8bae\uff0c\u5426\u5219\u60a8\u4f7f\u7528\u672c\u8f6f\u4ef6\u5373\u8868\u793a\u60a8\u63a5\u53d7\u672c\u8bb8\u53ef\u534f\u8bae\u548c\u4fdd\u8bc1\u3002\u5982\u679c\u60a8\u4e0d\u63a5\u53d7\u8fd9\u4e9b\u6761\u6b3e\uff0c\u60a8\u5fc5\u987b\u7acb\u5373\u505c\u6b62\u4f7f\u7528\u672c\u8f6f\u4ef6\u3002\n\n**\u7248\u6743\u3002**\nModbus Poll\uff08\u201c\u8f6f\u4ef6\u201d\uff09\u7248\u6743\u6240\u6709 2002-2022 \u5f52 Witte Software\uff0c\u4fdd\u7559\u6240\u6709\u6743\u5229\u3002\n\n**\u8bc4\u4f30\u548c\u6ce8\u518c\u3002**\n\u8fd9\u4e0d\u662f\u514d\u8d39\u8f6f\u4ef6\u3002\u7279\u6b64\u6388\u6743\u60a8\u5728 30 \u5929\u5185\u514d\u8d39\u4f7f\u7528\u672c\u8f6f\u4ef6\u8fdb\u884c\u8bc4\u4f30\u3002\n\n\u5982\u679c\u60a8\u5728 30 \u5929\u8bc4\u4f30\u671f\u540e\u4f7f\u7528\u8be5\u8f6f\u4ef6\uff0c\u5219\u9700\u8981\u652f\u4ed8\u6ce8\u518c\u8d39\u3002\n\n\u5728 30 \u5929\u8bc4\u4f30\u671f\u540e\u672a\u6ce8\u518c\u4f7f\u7528\u8be5\u8f6f\u4ef6\u8fdd\u53cd\u4e86\u7f8e\u56fd\u548c\u56fd\u9645\u7248\u6743\u6cd5\u3002\n\n\u672c\u8f6f\u4ef6\u7684\u4e00\u4efd\u6ce8\u518c\u526f\u672c\u53ef\u4ee5\u7531\u4e2a\u4eba\u5728\u4e00\u53f0\u6216\u591a\u53f0\u8ba1\u7b97\u673a\u4e0a\u4f7f\u7528\u8be5\u8f6f\u4ef6\u7684\u4e2a\u4eba\u4f7f\u7528\uff0c\u4e5f\u53ef\u4ee5\u5b89\u88c5\u5728\u591a\u4eba\u4f7f\u7528\u7684\u5355\u53f0\u8ba1\u7b97\u673a\u4e0a\uff0c\u4f46\u4e0d\u80fd\u540c\u65f6\u4f7f\u7528\u3002\n\n\u6709\u5173\u8ba2\u5355\u548c\u5b9a\u4ef7\u7684\u4fe1\u606f\uff0c\u8bf7\u8bbf\u95ee[https:\/\/www.modbustools.com\/order.html](https:\/\/www.modbustools.com\/order.html)\n\nModbus Poll \u8bb8\u53ef\u8bc1\u662f\u6c38\u4e45\u7684\u3002\u4e00\u65e6\u60a8\u8d2d\u4e70\u4e86\u7279\u5b9a\u7248\u672c\u7684\u8bb8\u53ef\u8bc1\uff0c\u5e76\u4e14\u53ea\u8981\u60a8\u9075\u5b88\u8bb8\u53ef\u534f\u8bae\uff0c\u60a8\u5c31\u53ef\u4ee5\u6c38\u4e45\u4f7f\u7528\u8be5\u7248\u672c\uff0c\u65e0\u9700\u989d\u5916\u8d39\u7528\u3002\n\n**\u5206\u914d\u3002**\n\u5982\u679c\u60a8\u4e0d\u5305\u542b\u60a8\u7684\u8bb8\u53ef\u5bc6\u94a5\uff0c\u60a8\u7279\u6b64\u83b7\u5f97\u8bb8\u53ef\u590d\u5236\u8be5\u8f6f\u4ef6\uff1b\u5c06\u539f\u4ef6\u7684\u51c6\u786e\u526f\u672c\u63d0\u4f9b\u7ed9\u4efb\u4f55\u4eba\uff1b\u5e76\u901a\u8fc7\u7535\u5b50\u65b9\u5f0f\u4ee5\u672a\u7ecf\u4fee\u6539\u7684\u5f62\u5f0f\u5206\u53d1\u8f6f\u4ef6\u3002\u660e\u786e\u7981\u6b62\u60a8\u5bf9\u4efb\u4f55\u6b64\u7c7b\u526f\u672c\u6536\u8d39\u3002\n\n**\u6709\u9650\u4fdd\u4fee\u3002**\n\u672c\u8f6f\u4ef6\u6309\u539f\u6837\u63d0\u4f9b\uff0cWITTE \u8f6f\u4ef6\u4e0d\u63d0\u4f9b\u4e0e\u672c\u8f6f\u4ef6\u6709\u5173\u7684\u6240\u6709\u660e\u793a\u6216\u9ed8\u793a\u4fdd\u8bc1\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u5bf9\u9002\u9500\u6027\u548c\u7279\u5b9a\u7528\u9014\u9002\u7528\u6027\u7684\u4efb\u4f55\u9ed8\u793a\u4fdd\u8bc1\u3002\n\n**\u635f\u5bb3\u8d54\u507f\u9650\u5236\u3002**\nWITTE \u8f6f\u4ef6\u6216\u53c2\u4e0e\u672c\u8f6f\u4ef6\u7684\u521b\u5efa\u3001\u751f\u4ea7\u6216\u4ea4\u4ed8\u7684\u4efb\u4f55\u4eba\u5747\u4e0d\u5bf9\u56e0\u4f7f\u7528\u6216\u65e0\u6cd5\u4f7f\u7528\u6b64\u7c7b\u8f6f\u4ef6\u800c\u5f15\u8d77\u7684\u4efb\u4f55\u95f4\u63a5\u3001\u540e\u679c\u6027\u6216\u9644\u5e26\u635f\u5bb3\u8d1f\u8d23\uff0c\u5373\u4f7f WITTE \u8f6f\u4ef6\u5df2\u88ab\u544a\u77e5\u5176\u53ef\u80fd\u6027\u6b64\u7c7b\u635f\u5bb3\u6216\u7d22\u8d54\u3002\u5728\u4efb\u4f55\u60c5\u51b5\u4e0b\uff0c\u65e0\u8bba\u7d22\u8d54\u7684\u5f62\u5f0f\u5982\u4f55\uff0cWITTE SOFTWARE \u5bf9\u4efb\u4f55\u635f\u5bb3\u7684\u8d23\u4efb\u5747\u4e0d\u8d85\u8fc7\u4e3a\u83b7\u5f97\u4f7f\u7528\u8be5\u8f6f\u4ef6\u7684\u8bb8\u53ef\u6240\u652f\u4ed8\u7684\u4ef7\u683c\u3002\u4f7f\u7528\u8be5\u8f6f\u4ef6\u7684\u4eba\u5c06\u627f\u62c5\u8be5\u8f6f\u4ef6\u7684\u8d28\u91cf\u548c\u6027\u80fd\u7684\u6240\u6709\u98ce\u9669\u3002\n\n## Modbus Poll\u529f\u80fd\n\n### \u8fde\u63a5\n\nModbus \u4ece\u8bbe\u5907\u8f6e\u8be2\u8bfb\/\u5199\u6570\u636e\uff0c\u4f7f\u7528\uff1a\n\n- RS232 \u6216 RS485 \u7f51\u7edc\u4e0a\u7684 Modbus RTU \u6216 ASCII\u3002(USB\/RS232\/485\u8f6c\u6362\u5668)\n\n- Modbus TCP\/IP\n\n- \u57fa\u4e8e TCP\/IP \u7684 Modbus\u3002\uff08Modbus RTU\/ASCII \u5c01\u88c5\u5728 TCP \u6570\u636e\u5305\u4e2d\uff09\n\n- Modbus UDP\/IP\n\n- \u57fa\u4e8e UDP\/IP \u7684 Modbus\u3002\uff08Modbus RTU\/ASCII \u5c01\u88c5\u5728 UDP \u6570\u636e\u5305\u4e2d\uff09\n\n### \u652f\u6301\u7684 Modbus \u529f\u80fd\n\n- 01\uff1a\u8bfb\u53d6\u7ebf\u5708\n\n- 02\uff1a\u8bfb\u53d6\u79bb\u6563\u8f93\u5165\n\n- 03\uff1a\u8bfb\u53d6\u4fdd\u6301\u5bc4\u5b58\u5668\n\n- 04\uff1a\u8bfb\u53d6\u8f93\u5165\u5bc4\u5b58\u5668\n\n- 05\uff1a\u5199\u5355\u7ebf\u5708\n\n- 06\uff1a\u5199\u5355\u4e2a\u5bc4\u5b58\u5668\n\n- 15\uff1a\u5199\u591a\u4e2a\u7ebf\u5708\n\n- 16\uff1a\u5199\u591a\u4e2a\u5bc4\u5b58\u5668\n\n- 17\uff1a\u62a5\u544a\u670d\u52a1\u5668ID\n\n- 22\uff1a\u5c4f\u853d\u5199\u5bc4\u5b58\u5668\n\n- 23\uff1a\u8bfb\/\u5199\u5bc4\u5b58\u5668\n\n- 43\/14\uff1a\u8bfb\u53d6\u8bbe\u5907\u6807\u8bc6\n\n### \u6570\u636e\u8bb0\u5f55\n\n- \u5c06\u6570\u636e\u8bb0\u5f55\u5230\u6587\u672c\u6587\u4ef6\n\n- \u5c06\u6570\u636e\u76f4\u63a5\u8bb0\u5f55\u5230 Excel \u4e2d\n\n### \u663e\u793a\u683c\u5f0f\n\n- \u6bcf\u4e2a\u5355\u5143\u683c\u90fd\u53ef\u4ee5\u5355\u72ec\u683c\u5f0f\u5316\u3002\n\n- \u6709\u7b26\u53f7 16 \u4f4d\u5bc4\u5b58\u5668\n\n- \u65e0\u7b26\u53f7 16 \u4f4d\u5bc4\u5b58\u5668\n\n- \u5341\u516d\u8fdb\u5236\n\n- \u4e8c\u8fdb\u5236\n\n- \u5177\u6709\u4efb\u4f55\u5b57\/\u5b57\u8282\u987a\u5e8f\u7684 32 \u4f4d\u6709\u7b26\u53f7\u6574\u6570\n\n- \u5177\u6709\u4efb\u4f55\u5b57\/\u5b57\u8282\u987a\u5e8f\u7684 32 \u4f4d\u65e0\u7b26\u53f7\u6574\u6570\n\n- \u5177\u6709\u4efb\u4f55\u5b57\/\u5b57\u8282\u987a\u5e8f\u7684 64 \u4f4d\u6709\u7b26\u53f7\u6574\u6570\n\n- \u5177\u6709\u4efb\u4f55\u5b57\/\u5b57\u8282\u987a\u5e8f\u7684 64 \u4f4d\u65e0\u7b26\u53f7\u6574\u6570\n\n- \u5177\u6709\u4efb\u4f55\u5b57\/\u5b57\u8282\u987a\u5e8f\u7684 32 \u4f4d\u6d6e\u70b9\u6570\n\n- \u5177\u6709\u4efb\u4f55\u5b57\/\u5b57\u8282\u987a\u5e8f\u7684 64 \u4f4d\u53cc\u6d6e\u70b9\u6570\n\n### \u5176\u4ed6\u529f\u80fd\n\n- \u7528\u4e8e\u4e0e Excel VBA\u3001Python \u7b49\u63a5\u53e3\u7684 OLE\/\u81ea\u52a8\u5316\u3002\n\n- \u76d1\u63a7\u6570\u636e\u6d41\u91cf\n\n- \u6253\u5370\u548c\u6253\u5370\u9884\u89c8\n\n- \u5b57\u4f53\u9009\u62e9\n\n- \u6709\u6761\u4ef6\u7684\u989c\u8272\n\n- \u7f29\u653e\n\n- \u5b9e\u65f6\u56fe\u8868\n\n## \u6982\u8ff0\n\nModbus Poll \u652f\u6301\u591a\u7a97\u53e3\u754c\u9762\uff0c\u53ef\u4ee5\u540c\u65f6\u76d1\u63a7\u591a\u4e2aModbus\u4ece\u7ad9\u548c\u6570\u636e\u533a\u3002\u5bf9\u4e8e\u6bcf\u4e2a\u7a97\u53e3\uff0c\u53ea\u9700\u6307\u5b9aModbus\u4ece\u7ad9\u7684ID\u3001\u529f\u80fd\u7801\u3001\u5730\u5740\u3001\u957f\u5ea6\u548c\u8f6e\u8be2\u65f6\u95f4\uff0c\u5373\u53ef\u4ece\u4efb\u4f55\u7a97\u53e3\u8bfb\u53d6\u548c\u5199\u5165\u5bc4\u5b58\u5668\u548c\u7ebf\u5708\u3002\u3002\n\n![](https:\/\/image.modbus.cn\/wp-content\/uploads\/2022\/03\/mbpoll.png)\n\n### \u4f7f\u7528\u8bf4\u660e\n\n\u6309 **F1**\u53ef\u4ee5\u83b7\u53d6\u4e0e\u5f53\u524d\u9009\u5b9a\u9879\u76ee\u76f8\u5173\u7684\u5e2e\u52a9\u6587\u6863\u3002\n\n**SHIFT + F1**\u8c03\u7528\u7279\u6b8a\u7684\u201c\u5e2e\u52a9\u6a21\u5f0f\u201d\uff0c\u5176\u4e2d\u5149\u6807\u53d8\u4e3a\u5e2e\u52a9\u5149\u6807\uff08\u7bad\u5934+\u95ee\u53f7\uff09\u3002\u7136\u540e\uff0c\u7528\u6237\u53ef\u4ee5\u9009\u62e9\u7528\u6237\u754c\u9762\u4e2d\u7684\u53ef\u89c1\u5bf9\u8c61\uff0c\u4f8b\u5982\u83dc\u5355\u9879\u3001\u5de5\u5177\u680f\u6309\u94ae\u6216\u7a97\u53e3\u3002\u8fd9\u5c06\u6253\u5f00\u6709\u5173\u63cf\u8ff0\u6240\u9009\u9879\u76ee\u7684\u4e3b\u9898\u7684\u5e2e\u52a9\u3002\n\n### \u547d\u540d\u5355\u5143\u683c\n\n\u60a8\u53ef\u4ee5\u5728\u6b64\u5904\u952e\u5165\u4efb\u4f55\u6587\u672c\u4ee5\u6307\u5b9a\u503c\u5355\u5143\u683c\u3002\u60a8\u8fd8\u53ef\u4ee5\u4ece Excel \u5355\u5143\u683c\u4e2d\u590d\u5236\/\u7c98\u8d34\u6587\u672c\u3002\n\n### \u503c\u5355\u5143\u683c\n\n\u663e\u793a Modbus \u5bc4\u5b58\u5668\u7684\u6570\u636e\u503c\u3002\u5982\u679c\u60a8\u53cc\u51fb\u4e00\u4e2a\u503c\u5355\u5143\u683c\uff0c\u4e00\u4e2a\u5bf9\u8bdd\u6846\u5141\u8bb8\u60a8\u5c06\u4e00\u4e2a\u65b0\u503c\u5199\u5165\u4ece\u8bbe\u5907\u3002\u5728\u503c\u5355\u5143\u683c\u4e2d\u952e\u5165\u6570\u5b57\u4e5f\u4f1a\u663e\u793a\u5bf9\u8bdd\u6846\u3002\u53ef\u4ee5\u9009\u62e9\u7528\u4e8e\u5199\u5165\u503c\u7684 Modbus \u529f\u80fd\u3002\n\n\u590d\u9009\u6846\u201cClose dialog on Response ok\u201d\u7528\u4e8e\u5728\u6210\u529f\u53d1\u9001\u503c\u65f6\u81ea\u52a8\u5173\u95ed\u5bf9\u8bdd\u6846\u3002\u5f53\u8981\u66f4\u6539\u5927\u91cf\u503c\u65f6\uff0c\u8fd9\u5f88\u65b9\u4fbf\u3002\u8fd9\u6837\u53ef\u4ee5\u5feb\u901f\u9009\u62e9\u4e00\u4e2a\u65b0\u5355\u5143\u683c\uff0c\u7136\u540e\u518d\u6b21\u952e\u5165\u4e00\u4e2a\u65b0\u503c\u3002\n\n![](https:\/\/image.modbus.cn\/wp-content\/uploads\/2022\/03\/mbpoll-write-single-register.png)\n\n### \u66f4\u6539\u5b57\u4f53\n\n\u8981\u66f4\u6539\u5b57\u4f53\uff0c\u60a8\u6709 2 \u4e2a\u9009\u9879\n\n- \u9009\u62e9\u8981\u66f4\u6539\u7684\u5355\u5143\u683c\uff0c\u7136\u540e\u5355\u51fb\u9f20\u6807\u53f3\u952e\u3002\n\n- \u9009\u62e9\u8981\u66f4\u6539\u7684\u5355\u5143\u683c\uff0c\u7136\u540e\u9009\u62e9\u83dc\u5355 \u2192 \u663e\u793a \u2192 \u5b57\u4f53\u3002\n\n![](https:\/\/image.modbus.cn\/wp-content\/uploads\/2022\/03\/mbpoll-color-selection.png)\n\n### \u6709\u6761\u4ef6\u7684\u989c\u8272\n\n\u6761\u4ef6\u989c\u8272\u53ef\u5e2e\u52a9\u60a8\u76f4\u89c2\u5730\u663e\u793a\u7279\u5b9a\u8303\u56f4\u5185\u7684\u503c\u30023\u79cd\u989c\u8272\u9009\u62e9\n\n- \u9ed8\u8ba4\u989c\u8272\uff1a\u5982\u679c\u6ca1\u6709\u6761\u4ef6\u989c\u8272\u8bc4\u4f30\u4e3a\u771f\uff0c\u5219\u4f7f\u7528\u6b64\u989c\u8272\u3002\n\n- \u89c4\u5219 1\uff1a\u5982\u679c\u8868\u8fbe\u5f0f\u8ba1\u7b97\u7ed3\u679c\u4e3a\u771f\uff0c\u5219\u4f7f\u7528\u6b64\u989c\u8272\u9009\u62e9\u3002\n\n- \u89c4\u5219 2\uff1a\u5982\u679c\u8868\u8fbe\u5f0f\u8ba1\u7b97\u7ed3\u679c\u4e3a\u771f\uff0c\u5219\u4f7f\u7528\u6b64\u989c\u8272\u9009\u62e9\u3002\u89c4\u5219 2 \u4f18\u5148\u4e8e\u89c4\u5219 1\u3002\n\n7\u79cd\u6bd4\u8f83\u8fd0\u7b97\u7b26\n\n- \u672a\u4f7f\u7528\n\n- \u7b49\u4e8e\n\n- \u6bd4...\u66f4\u68d2\n\n- \u5c11\u4e8e\n\n- \u5927\u4e8e\u6216\u7b49\u4e8e\n\n- \u5c0f\u4e8e\u6216\u7b49\u4e8e\n\n- \u548c\n\n\u5f53\u6570\u636e\u7c7b\u578b\u4e3a\u6d6e\u70b9\u578b\u6216 32 \u4f4d\u957f\u578b\u65f6\uff0c\u4e0d\u80fd\u4f7f\u7528\u201c\u4e0e\u201d\u8fd0\u7b97\u7b26\u3002\u5982\u679c\u9009\u62e9\u201cand\u201d\uff0c\u5219\u6761\u4ef6\u503c\u4ee5\u5341\u516d\u8fdb\u5236\u6570\u5b57\u5f62\u5f0f\u8f93\u5165\u3002\u5982\u679c\u5355\u5143\u683c\u548c\u6761\u4ef6\u503c\u4e2d\u7684\u4efb\u4f55\u4f4d\u4e3a 1\uff0c\u5219\u8ba1\u7b97\u7ed3\u679c\u4e3a\u771f\u3002\n\n#### \u989c\u8272\u793a\u4f8b\n\n\u5982\u679c\u5355\u5143\u683c\u503c\u4ecb\u4e8e 398 \u548c 402 \u4e4b\u95f4\uff0c\u5219\u4e3a\u7eff\u8272\n\n### \u7f29\u653e\n\n\u7f29\u653e\u53ef\u5e2e\u52a9\u60a8\u5c06\u539f\u59cb\u503c\u7f29\u653e\u4e3a\u4eba\u7c7b\u53ef\u8bfb\u7684\u503c\u3002\u7f29\u653e\u4ec5\u9002\u7528\u4e8e\u6709\u7b26\u53f7\u548c\u65e0\u7b26\u53f7 16\/32 \u4f4d\u6574\u6570\u3002\n\n(X1,Y1) \u548c (X2,Y2)\n\n\u901a\u8fc7 (X1,Y1) \u548c (X2,Y2) \u4e24\u70b9\u7684\u7ebf\n\n\u5c0f\u53f7l&nbsp;o&nbsp;p&nbsp;e&nbsp;=&nbsp;m&nbsp;=\u662f2&nbsp;-\u662f1X2&nbsp;-&nbsp;X1\u5c0f\u53f7l\u25cbpe=\u7c73=\u662f2-\u662f1X2-X1\u7ebf\u65b9\u7a0b\n\n\u662f=\u7c73\u22c5&nbsp;(&nbsp;X-&nbsp;X1&nbsp;)&nbsp;+&nbsp;Y1\u662f=\u7c73\u22c5(X-X1)+\u662f1\u7cbe\u786e\n\n\u5c0f\u6570\u70b9\u540e\u7684\u4f4d\u6570\u3002\u4f7f\u80fd\u591f\n\n\u5fc5\u987b\u542f\u7528\u4ee5\u7f29\u653e\u6765\u81ea Modbus \u670d\u52a1\u5668\/\u4ece\u7ad9\u7684\u503c\u3002\u5982\u679c\u9009\u62e9\u7684\u4e0d\u662f 16\/32 \u4f4d\u6574\u6570\u663e\u793a\u683c\u5f0f\uff0c\u5219\u4f1a\u81ea\u52a8\u7981\u7528\u7f29\u653e\u3002\n\n### \u5b9e\u65f6\u56fe\u8868\n\n\u8be5\u56fe\u8868\u53ef\u4ee5\u5b9e\u65f6\u7ed8\u5236 12 \u4e2a\u7cfb\u5217\uff0c\u6bcf\u4e2a\u7cfb\u5217\u6700\u591a 100000 \u4e2a\u70b9\u3002\n\n### \u6253\u5f00\u4e00\u4e2a\u65b0\u7a97\u53e3\n\n\u8981\u6253\u5f00\u53e6\u4e00\u4e2a\u7a97\u53e3\uff0c\u60a8\u6709 3 \u4e2a\u9009\u9879\uff1a\n\n## \u8fde\u63a5\u5bf9\u8bdd\u6846\n\n\u8981\u6253\u5f00\u8fde\u63a5\u5bf9\u8bdd\u6846\uff0c\u60a8\u6709 2 \u4e2a\u9009\u9879\uff1a\n\n- \u6309 F3\n\n- \u4ece\u8fde\u63a5\u83dc\u5355\u4e2d\u9009\u62e9\u8fde\u63a5\n\n### \u8054\u7cfb\n\n\u6709 5 \u79cd\u4e0d\u540c\u7684\u8fde\u63a5\u7c7b\u578b\uff1a\n\n- **\u4e32\u884c\uff1a**\n\u901a\u8fc7\u4e32\u884c\u7ebf\u8def\u7684 Modbus\u3002RS232 \u6216 RS485\u3002\u53ef\u4ee5\u4f7f\u7528 USB \u4e32\u884c\u8f6c\u6362\u5668\u3002\n\n- **Modbus TCP\/IP\uff1a**\n\u5982\u679c\u8981\u4e0e MODBUS TCP\/IP \u7f51\u7edc\u901a\u4fe1\uff0c\u8bf7\u9009\u62e9 TCP\/IP\u3002\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u4ece\u7ad9 ID \u4e0e MODBUS TCP\/IP \u4e2d\u4f7f\u7528\u7684\u5355\u5143 ID \u76f8\u540c\u3002\n\u7aef\u53e3\u53f7\u9ed8\u8ba4\u4e3a 502\u3002\n\u5982\u679c\u8fde\u63a5\u5931\u8d25\uff0c\u8bf7\u5c1d\u8bd5\u662f\u5426\u53ef\u4ee5\u5728\u547d\u4ee4\u63d0\u793a\u7b26\u4e0b ping \u8bbe\u5907\u3002\u5982\u679c ping \u547d\u4ee4\u5931\u8d25\uff0c\u5219 Modbus Poll \u4e5f\u4f1a\u5931\u8d25\u3002\n\n- **Modbus UDP\/IP\uff1a**\n\u5982\u679c\u8981\u4e0e MODBUS UDP\/IP \u7f51\u7edc\u901a\u4fe1\uff0c\u8bf7\u9009\u62e9 UDP\/IP\u3002\u8fd9\u4e0e Modbus TCP\/IP \u76f8\u540c\uff0c\u4f46\u4f7f\u7528\u4e86\u65e0\u8fde\u63a5\u7684 UDP \u534f\u8bae\u3002\n\n- **TCP\/IP \u4e0a\u7684Modbus RTU\/ASCII\uff1a**\n\u8fd9\u662f\u901a\u8fc7 TCP\/IP \u7f51\u7edc\u800c\u4e0d\u662f\u4e32\u884c\u7ebf\u8def\u53d1\u9001\u7684 RTU \u6216 ASCII \u6d88\u606f\u3002\n\n- **Modbus RTU\/ASCII over UDP\/IP\uff1a**\n\u8fd9\u662f\u901a\u8fc7 UDP\/IP \u7f51\u7edc\u800c\u4e0d\u662f\u4e32\u884c\u7ebf\u8def\u53d1\u9001\u7684 RTU \u6216 ASCII \u6d88\u606f\u3002\n\n\u8fde\u63a5\u7c7b\u578b 3-5 \u4e0d\u662f&nbsp;[www.modbus.org](http:\/\/www.modbus.org)\u6307\u5b9a\u7684\u6807\u51c6 Modbus\uff0c\u4f46\u4e3a\u65b9\u4fbf\u8d77\u89c1\u6dfb\u52a0\u4e86\u5b83\u4eec\u3002\n\n\u6839\u636e\u60a8\u7684\u9009\u62e9\uff0c\u5176\u4ed6\u4e00\u4e9b\u8bbe\u7f6e\u5c06\u53d8\u7070\u3002\n\n### \u4e32\u884c\u8bbe\u7f6e\n\n\u4f7f\u7528\u8fd9\u4e9b\u53c2\u6570\u8bbe\u7f6e\u4e32\u884c\u7aef\u53e3\u8bbe\u7f6e\u3002\u5b83\u4eec\u4ec5\u5728\u8fde\u63a5\u7c7b\u578b\u4e3a\u201c**\u4e32\u884c\u7aef\u53e3**\u201d\u65f6\u53ef\u7528\u3002\u6a21\u5f0f\n\n\u4f7f\u7528\u6b64\u9009\u9879\u53ef\u9009\u62e9**RTU**\u6216**ASCII**\u6a21\u5f0f\u3002\u9ed8\u8ba4 RTU\u3002\u54cd\u5e94\u8d85\u65f6\n\n\u6307\u5b9a Modbus Poll \u5728\u653e\u5f03\u4e4b\u524d\u5e94\u7b49\u5f85\u4ece\u8bbe\u5907\u54cd\u5e94\u7684\u65f6\u95f4\u957f\u5ea6\u3002\u9ed8\u8ba4\u503c\u4e3a 1000 \u6beb\u79d2\u3002\u8f6e\u8be2\u4e4b\u95f4\u7684\u6700\u5c0f\u5ef6\u8fdf\n\n\u65e0\u8bba\u626b\u63cf\u901f\u7387\u5982\u4f55\uff0c\u6b64\u8bbe\u7f6e\u90fd\u53ef\u786e\u4fdd\u5728\u4f20\u8f93\u4e0b\u4e00\u4e2a\u8bf7\u6c42\u4e4b\u524d\u7684\u6700\u5c0f\u5ef6\u8fdf\u3002\u6b64\u8bbe\u7f6e\u7684\u5206\u8fa8\u7387\u7ea6\u4e3a 15ms\u3002\u5728\u67d0\u4e9b\u8ba1\u7b97\u673a\u4e0a\u53ef\u4ee5\u83b7\u5f97\u66f4\u597d\u7684\u5206\u8fa8\u7387\uff0c\u4f46\u4e0d\u662f\u5168\u90e8\u3002\n\n\u5982\u679c\u5c06\u6b64\u503c\u8bbe\u7f6e\u4e3a\u4f4e\u4e8e 20 \u6beb\u79d2\uff0c\u5219\u65e0\u6cd5\u4fdd\u8bc1\u54cd\u5e94\u548c\u65b0\u8bf7\u6c42\u4e4b\u95f4\u7684 3.5 \u4e2a\u5b57\u7b26\u7684\u65f6\u95f4\u95f4\u9694\u3002\u8fd9\u662f\u56e0\u4e3a Windows \u8c03\u5ea6\u7a0b\u5e8f\u6bcf 10 \u5230 20 \u6beb\u79d2\u5207\u6362\u4e00\u6b21\u4efb\u52a1\u3002\u5982\u679c\u60a8\u5728\u4e32\u884c RS485 \u7f51\u7edc\u4e2d\u8f6e\u8be2\u591a\u4e2a\u4ece\u7ad9\uff0c\u5219\u4e0d\u5e94\u5c06\u8be5\u503c\u8bbe\u7f6e\u4e3a\u4f4e\u4e8e 20 \u6beb\u79d2\u3002\u8fd9\u662f\u4e3a\u4e86\u786e\u4fdd 3.5 \u4e2a\u5b57\u7b26\u7684\u65f6\u95f4\u95f4\u9694\u3002\u5728 TCP\/IP \u7f51\u7edc\u4e2d\uff0c\u5c11\u4e8e 20 \u6beb\u79d2\u662f\u53ef\u4ee5\u7684\u3002\u4ec5\u4e0e\u4e00\u53f0\u4ece\u8bbe\u5907\u7684\u4e32\u884c\u8fde\u63a5\u5c0f\u4e8e 20 \u6beb\u79d2\u662f\u53ef\u4ee5\u7684\u3002\n\n### \u8fdc\u7a0b\u670d\u52a1\u5668\n\n\u8fdc\u7a0b\u670d\u52a1\u5668\u8bbe\u7f6e\u4ec5\u5728\u4f7f\u7528\u4ee5\u592a\u7f51\u8fde\u63a5\u65f6\u53ef\u7528\u3002IP\u5730\u5740\n\n\u670d\u52a1\u5668 IP \u5730\u5740\u3002\u9ed8\u8ba4\u4e3a localhost 127.0.0.1\u6e2f\u53e3\n\n\u670d\u52a1\u5668\u7aef\u53e3\u53f7\u3002\u9ed8\u8ba4 502\u8fde\u63a5\u8d85\u65f6\n\n\u7528\u4e8e\u5efa\u7acb\u8fde\u63a5\u7684\u6700\u957f\u65f6\u95f4\u3002\u9ed8\u8ba4 1000\n\n### \u9ad8\u7ea7\u8bbe\u7f6e\n\nRTS \u5207\u6362\n\nRTS Toggle \u6307\u5b9a\u5982\u679c\u5b57\u8282\u53ef\u7528\u4e8e\u4f20\u8f93\uff0cRTS \u7ebf\u5c06\u5904\u4e8e\u9ad8\u7535\u5e73\u3002\u53d1\u9001\u5b8c\u6240\u6709\u7f13\u51b2\u5b57\u8282\u540e\uff0cRTS \u7ebf\u5c06\u4e3a\u4f4e\u7535\u5e73\u3002\n\u5982\u679c\u60a8\u6709\u4e00\u4e2a\u6ca1\u6709\u81ea\u52a8\u65b9\u5411\u5f00\u5173\u7684 232\/485 \u8f6c\u6362\u5668\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u5b83\u6765\u5207\u6362\u65b9\u5411\u3002\n\n\u5982\u679c\u53ef\u80fd\uff0c\u5e94\u907f\u514d\u4f7f\u7528 RTS \u63a7\u5236\u7684 RS232\/RS485 \u8f6c\u6362\u5668\u3002\u5bf9\u4e8e Windows \u548c Linux \u7b49\u975e\u5b9e\u65f6\u64cd\u4f5c\u7cfb\u7edf\uff0c\u5f88\u96be\u786e\u5b9a\u5173\u95ed\u53d1\u5c04\u673a\u7684\u786e\u5207\u65f6\u95f4\u3002\u5982\u679c\u8fc7\u65e9\u5173\u95ed\uff0c\u5b57\u7b26\u53ef\u80fd\u4ecd\u4f4d\u4e8e FIFO \u6216 UART \u7684\u53d1\u9001\u5bc4\u5b58\u5668\u4e2d\uff0c\u8fd9\u4e9b\u5b57\u7b26\u5c06\u4e22\u5931\u3002\u56e0\u6b64\u4ece\u7ad9\u5c06\u65e0\u6cd5\u8bc6\u522b\u8be5\u6d88\u606f\u3002\u53e6\u4e00\u65b9\u9762\uff0c\u5982\u679c\u5173\u95ed\u5f97\u592a\u665a\uff0c\u5219\u4ece\u7ad9\u7684\u6d88\u606f\u88ab\u7834\u574f\uff0c\u4e3b\u7ad9\u5c06\u65e0\u6cd5\u8bc6\u522b\u8be5\u6d88\u606f\u3002\n\nDSR\n\nDSR \u6307\u5b9a\u662f\u5426\u76d1\u89c6 DSR\uff08\u6570\u636e\u96c6\u5c31\u7eea\uff09\u4fe1\u53f7\u4ee5\u8fdb\u884c\u8f93\u51fa\u6d41\u63a7\u5236\u3002\u5982\u679c\u6b64\u6210\u5458\u4e3a TRUE \u4e14 DSR \u5df2\u5173\u95ed\uff0c\u5219\u8f93\u51fa\u5c06\u6682\u505c\uff0c\u76f4\u5230\u518d\u6b21\u53d1\u9001 DSR\u3002\u4e2d\u65c5\n\nCTS \u6307\u5b9a\u662f\u5426\u76d1\u89c6 CTS\uff08\u6e05\u9664\u53d1\u9001\uff09\u4fe1\u53f7\u4ee5\u8fdb\u884c\u8f93\u51fa\u6d41\u63a7\u5236\u3002\u5982\u679c\u542f\u7528\u6b64\u590d\u9009\u6846\u5e76\u5173\u95ed CTS\uff0c\u5219\u8f93\u51fa\u5c06\u6682\u505c\uff0c\u76f4\u5230\u518d\u6b21\u53d1\u9001 CTS\u3002DTR\n\nDTR \u6307\u5b9a\u5728\u6253\u5f00\u7aef\u53e3\u65f6\u662f\u5426\u542f\u7528\u6216\u7981\u7528 DTR\u3002\u79fb\u9664\u56de\u58f0\n\n\u5982\u679c\u60a8\u7684\u8bbe\u5907\u6216 RS232\/RS485 \u8f6c\u6362\u5668\u56de\u663e\u521a\u521a\u53d1\u9001\u7684\u5b57\u7b26\u3002\n\n## \u8bfb\/\u5199\u5b9a\u4e49\n\n\u4f7f\u7528\u6b64\u547d\u4ee4\u5b9a\u4e49\u6d3b\u52a8\u7a97\u53e3\u8981\u76d1\u89c6\u7684\u6570\u636e\u3002\n\n\u8981\u6253\u5f00\u8bfb\/\u5199\u5b9a\u4e49\u5bf9\u8bdd\u6846\uff0c\u60a8\u6709 3 \u4e2a\u9009\u9879\uff1a\n\n### \u4ece\u7ad9 ID\n\n\u8303\u56f4 1 \u5230 255\u3002\uff08MODBUS \u534f\u8bae\u89c4\u8303\u8bf4 247\uff09\u3002\u503c 0 \u4e5f\u88ab\u63a5\u53d7\u4ee5\u76f4\u63a5\u4e0e MODBUS\/TCP \u6216 MODBUS\/UDP \u8bbe\u5907\u901a\u4fe1\u3002\n\n### \u529f\u80fd\u7801\n\n\u60a8\u53ef\u4ee5\u9009\u62e9 8 \u4e2a\u529f\u80fd\u4ee3\u7801\u4e2d\u7684 1 \u4e2a\u3002\n\n#### 5.2.1\u3002\u8bfb\u53d6\u51fd\u6570\n\n\u8bfb\u53d6\u51fd\u6570\u8fd4\u56de\u7684\u6570\u636e\u663e\u793a\u5728\u7f51\u683c\u7a97\u53e3\u4e0a\u3002\n\n- 01\uff1a\u8bfb\u53d6\u7ebf\u5708\uff080x\uff09\n\n- 02\uff1a\u8bfb\u53d6\u79bb\u6563\u8f93\u5165 (1x)\n\n- 03\uff1a\u8bfb\u53d6\u4fdd\u6301\u5bc4\u5b58\u5668\uff084x\uff09\n\n- 04\uff1a\u8bfb\u53d6\u8f93\u5165\u5bc4\u5b58\u5668\uff083x\uff09\n\n#### 5.2.2.&nbsp;\u7f16\u5199\u51fd\u6570\n\n\u5199\u5165\u51fd\u6570\u5199\u5165\u663e\u793a\u5728\u7f51\u683c\u7a97\u53e3\u4e0a\u7684\u6570\u636e\u3002\n\n- 05\uff1a\u5199\u5165\u5355\u4e2a\u7ebf\u5708\uff08\u5199\u5165\u7ebf\u5708\u72b6\u6001\uff09\n\n- 06\uff1a\u5199\u5165\u5355\u4e2a\u5bc4\u5b58\u5668\uff08\u5199\u5165\u4fdd\u6301\u5bc4\u5b58\u5668\uff09\n\n- 15\uff1a\u5199\u5165\u591a\u4e2a\u7ebf\u5708\uff08Writes to Coils\uff09\n\n- 16\uff1a\u5199\u5165\u591a\u4e2a\u5bc4\u5b58\u5668\uff08Writes to Holding registers\uff09\n\n### \u5730\u5740\n\nModbus \u534f\u8bae\u4e2d\u7684\u5730\u5740\u4ee4\u4eba\u56f0\u60d1\uff01\u4e00\u4e9b\u534f\u8bae\u89c4\u8303\u4f7f\u7528\u534f\u8bae\/\u6d88\u606f\u5730\u5740\uff0c\u800c\u53e6\u4e00\u4e9b\u5219\u4f7f\u7528\u8bbe\u5907\u5bfb\u5740\u3002\n\n#### 5.3.1\u3002\u534f\u8bae\/\u6d88\u606f\u5730\u5740\n\n\u4e00\u4e9b\u534f\u8bae\u89c4\u8303\u4f7f\u7528\u4ece 0 \u5230 65535 \u8ba1\u6570\u7684\u534f\u8bae\/\u6d88\u606f\u5730\u5740\u4ee5\u53ca\u529f\u80fd\u4ee3\u7801\u3002\u8fd9\u4e5f\u662f\u65b0\u7684 Modbus \u89c4\u8303\u4f7f\u7528\u7684\u5185\u5bb9\u3002\u8fd9\u662f\u901a\u8fc7\u7f51\u7edc\u53d1\u9001\u7684\u6d88\u606f\u4e2d\u7684\u5730\u5740\u3002\n\nModbus Poll \u4f7f\u7528\u4ece 0 \u5230 65535 \u8ba1\u6570\u7684\u534f\u8bae\/\u6d88\u606f\u5730\u5740\u3002\n\n#### 5.3.2.&nbsp;\u8bbe\u5907\u5730\u5740\n\n\u4e00\u4e9b\u534f\u8bae\u89c4\u8303\u4f7f\u7528\u8bbe\u5907\u5730\u5740\/\u5bc4\u5b58\u5668\u3002\u5bc4\u5b58\u5668\u4ece 1 \u5f00\u59cb\u8ba1\u6570\u3002\u7b2c\u4e00\u4e2a\u6570\u5b57\u63cf\u8ff0\u8981\u4f7f\u7528\u7684\u529f\u80fd\u3002\u8fd9\u610f\u5473\u7740\u8bbe\u5907\u5730\u5740 40101 \u7531\u5730\u5740 100 \u6807\u8bc6\u3002\u201c4\u201d\u8868\u793a\u4fdd\u6301\u5bc4\u5b58\u5668\uff0c4x \u5bc4\u5b58\u5668\u4ece 1 \u5f00\u59cb\u8ba1\u6570\u3002\u66f4\u4ee4\u4eba\u56f0\u60d1\u7684\u662f\uff1a4x \u8868\u793a\u529f\u80fd\u4ee3\u7801 03\uff0c3x \u8868\u793a\u529f\u80fd\u4ee3\u7801 04\uff01\n\n#### 5.3.3.&nbsp;5 \u4f4d\u4e0e 6 \u4f4d\u5bfb\u5740\n\n\u5730\u5740\u683c\u5f0f 4x \u4ece 40001 \u8ba1\u6570\u5230 49999\u3002\u4e0b\u4e00\u4e2a\u5730\u5740**\u4e0d\u662f**50000\u3002\u5728\u8fc7\u53bb\uff0c9999 \u4e2a\u5730\u5740\u5c31\u8db3\u591f\u4e86\u3002\u5728\u67d0\u4e9b\u60c5\u51b5\u4e0b\uff0c9999 \u662f\u4e0d\u591f\u7684\u3002\u7136\u540e\u6dfb\u52a0\u4e00\u4e2a\u96f6\u300240101 \u53d8\u6210 400101 \u7b49\u7b49\u3002\u8fd9\u79f0\u4e3a 6 \u4f4d\u5bfb\u5740\u6216\u6269\u5c55\u5bfb\u5740\u3002\n\n\u8fd9\u4e0d\u662f Modbus Poll \u7684\u95ee\u9898\u3002410001 \u53d8\u4e3a 10000\u3002\u201c4\u201d\u88ab\u4e22\u5f03\uff0c\u5176\u4f59\u7684 10001 \u51cf 1\uff0c\u56e0\u4e3a\u6211\u4eec\u4ece 0 \u800c\u4e0d\u662f 1 \u8ba1\u6570\u3002\n\n#### 5.3.4.&nbsp;\u5730\u5740\u793a\u4f8b\n\n\u8fd9\u4e9b\u793a\u4f8b\u663e\u793a\u4e86\u5982\u679c\u89c4\u8303\u4f7f\u7528\u8bbe\u5907\u5730\u5740\uff0c\u5982\u4f55\u8bbe\u7f6e Modbus \u8f6e\u8be2\u3002\n\n\u8bfb\u53d6\u4fdd\u6301\u5bc4\u5b58\u5668\n\n\u60a8\u5e0c\u671b\u6bcf 1000 \u6beb\u79d2\u4ece\u4ece ID 2 \u7684\u8bbe\u5907\u5730\u5740 40011 \u8bfb\u53d6 20 \u4e2a\u5bc4\u5b58\u5668\u3002\u4ece\u201c4\u201d\u6211\u4eec\u77e5\u9053\u8fd9\u662f\u529f\u80fd03\u201c\u8bfb\u53d6\u4fdd\u6301\u5bc4\u5b58\u5668\u201d\u3002\n\n- \u4ece\u7ad9 ID = 2\n\n- \u529f\u80fd =\u201c03 \u8bfb\u53d6\u4fdd\u6301\u5bc4\u5b58\u5668 (4x)\u201d\n\n- \u5730\u5740 = 10\uff0811 \u51cf 1\uff09\n\n- \u6570\u91cf = 20\n\n- \u626b\u63cf\u7387 = 1000\n\n\u8bfb\u53d6\u79bb\u6563\u8f93\u5165\n\n\u60a8\u60f3\u6bcf 500 \u6beb\u79d2\u4ece\u4ece\u7ad9 ID 5 \u7684\u5730\u5740 110201 \u8bfb\u53d6 1000 \u4e2a\u7ebf\u5708\u3002\u4ece\u201c1\u201d\u6211\u4eec\u77e5\u9053\u8fd9\u662f\u529f\u80fd02\u201c\u8bfb\u53d6\u79bb\u6563\u8f93\u5165\u201d\n\n- \u4ece\u7ad9 ID = 5\n\n- \u529f\u80fd =\u201c02 \u8bfb\u53d6\u79bb\u6563\u8f93\u5165 (1x)\u201d\n\n- \u5730\u5740 = 10200 (10201 - 1)\n\n- \u6570\u91cf = 1000\n\n- \u626b\u63cf\u7387 = 500\n\n### \u626b\u63cf\u7387\n\n\u626b\u63cf\u901f\u7387\u53ef\u4ee5\u8bbe\u7f6e\u4e3a 0 \u5230 3600000ms\u3002\u8bf7\u6ce8\u610f\uff0c\u5c06\u626b\u63cf\u901f\u7387\u8bbe\u7f6e\u4e3a\u4f4e\u4e8e\u4e8b\u52a1\u65f6\u95f4\u662f\u6ca1\u6709\u610f\u4e49\u7684\u3002\u5982\u679c\u4f7f\u7528 9600 \u6ce2\u7279\u7684\u4e32\u884c\u8fde\u63a5\u5e76\u8bf7\u6c42 125 \u4e2a\u5bc4\u5b58\u5668\uff0c\u5219\u4e8b\u52a1\u65f6\u95f4\u5927\u7ea6\u4e3a 8 + 2 + 250 + 2 = 262ms + \u8bf7\u6c42\u548c\u54cd\u5e94\u4e4b\u95f4\u7684\u95f4\u9699\uff08&gt;3.5 \u4e2a\u5b57\u7b26\u65f6\u95f4\uff09\u3002\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u5c06\u626b\u63cf\u901f\u7387\u8bbe\u7f6e\u4e3a\u4f8b\u5982 100 \u6beb\u79d2\u662f\u6ca1\u6709\u610f\u4e49\u7684\uff0c\u56e0\u4e3a\u4e8b\u52a1\u65f6\u95f4\u81f3\u5c11\u4e3a 262 \u6beb\u79d2 + \u4ece\u7ad9\u4e2d\u7684\u5ef6\u8fdf\uff08\u95f4\u9699\uff09+ \u8f6e\u8be2\u4e4b\u95f4\u7684\u6700\u5c0f\u65f6\u95f4\u3002\uff08\u5728\u8fde\u63a5\u5bf9\u8bdd\u6846 F3 \u4e2d\u8bbe\u7f6e\uff09\u3002\n\n### \u8bfb\/\u5199\u7981\u7528\n\n\u201cRead\/Write Disabled\u201d\u590d\u9009\u6846\u53ef\u7528\u4e8e\u4e34\u65f6\u542f\u7528\u6216\u7981\u7528\u6b64\u7a97\u53e3\u7684\u901a\u4fe1\u3002\u7136\u540e\u663e\u793a\u6587\u672c\uff08\u7981\u7528\uff09\u4ee5\u53ca Tx \u548c\u9519\u8bef\u8ba1\u6570\u5668\u3002\n\n#### 5.5.1\u3002\u51fa\u9519\u65f6\u7981\u7528\n\n\u51fa\u73b0\u9519\u8bef\u65f6\u7981\u7528\u8bfb\/\u5199\u3002\n\n### \u9690\u85cf\u540d\u79f0\u5217\n\n\u9690\u85cf\u6240\u6709\u540d\u79f0\u5217\u3002\u5982\u679c\u4e0d\u4f7f\u7528\u5b83\u4eec\uff0c\u8fd9\u6837\u53ef\u4ee5\u65b9\u4fbf\u5730\u817e\u51fa\u66f4\u591a\u7a7a\u95f4\u3002\n\n### \u5355\u5143\u683c\u4e2d\u7684\u5730\u5740\n\n\u5982\u679c\u542f\u7528\uff0c\u5730\u5740\u4e5f\u4f1a\u663e\u793a\u5728\u503c\u5355\u5143\u683c\u4e2d\uff0c\u4f8b\u5982\uff1a2000 = 00000\n\n### PLC \u5730\u5740\uff08\u57fa\u6570 1\uff09\n\n\u6b64\u9009\u9879\u5c06\u5730\u5740\u663e\u793a\u4e3a\u8bbe\u5907\u5730\u5740\u3002\n\n### \u5b89\u7136\/\u4e39\u5c3c\u5c14\u6a21\u5f0f\n\nEnron \u6216 Enron\/Daniels Modbus \u662f\u5e26\u6709\u4e00\u4e9b\u201c\u4f9b\u5e94\u5546\u6269\u200b\u200b\u5c55\u201d\u7684\u6807\u51c6 Modbus\u3002\u8fd9\u4e9b\u6269\u5c55\u7684\u786e\u5207\u5f71\u54cd\u53d6\u51b3\u4e8e\u4e0a\u4e0b\u6587\uff0c\u4f46\u6700\u5e38\u89c1\u7684 Modbus \u547d\u4ee4\u6309\u9884\u671f\u5de5\u4f5c\u3002\u6709\u4e00\u4e9b\u81ea\u5b9a\u4e49\u7684\u4f9b\u5e94\u5546\u5b9a\u4e49\u7684\u529f\u80fd\u53ef\u7528 - \u4f46\u5f88\u5c11\u6709\u7528\u6237\u671f\u671b\u6216\u4f7f\u7528\u5b83\u4eec\u3002\u6700\u5927\u7684\u5f71\u54cd\u4e0e 32 \u4f4d\u6570\u636e\u503c\u7684\u8bfb\u53d6\/\u5199\u5165\u65b9\u5f0f\u6709\u5173\u3002\n\nEnron-Modbus \u5b9a\u4e49\u4e86\u4e24\u4e2a\u7279\u6b8a\u7684 4x \u4fdd\u6301\u5bc4\u5b58\u5668\u8303\u56f4\uff1a\n\n- 4x5001 \u5230 4x5999 \u5047\u5b9a\u4e3a 32 \u4f4d\u957f\u6574\u6570\uff08\u6bcf\u4e2a\u5bc4\u5b58\u5668 4 \u5b57\u8282\uff09\u3002\n\n- 4x7001 \u5230 4x7999 \u5047\u5b9a\u4e3a 32 \u4f4d\u6d6e\u70b9\u6570\uff08\u6bcf\u4e2a\u5bc4\u5b58\u5668 4 \u5b57\u8282\uff09\u3002\n\n\u5728 Modbus \u4e2d\u5904\u7406 32 \u4f4d\u503c\u5e76\u4e0d\u662f Enron-MB \u72ec\u6709\u7684\u3002\u7136\u800c\uff0cEnron-MB \u91c7\u53d6\u4e86\u6709\u4e89\u8bae\u7684\u6b65\u9aa4\uff0c\u5373\u6bcf\u4e2a\u5bc4\u5b58\u5668\u8fd4\u56de 4 \u4e2a\u5b57\u8282\uff0c\u800c\u4e0d\u662f Modbus \u89c4\u8303\u4e2d\u672f\u8bed\u201c\u4fdd\u6301\u5bc4\u5b58\u5668\u201d\u6240\u6697\u793a\u7684 2 \u4e2a\u5b57\u8282\u3002\u8fd9\u610f\u5473\u7740\u5728 Enron-Modbus \u4e2d\u5bf9\u5bc4\u5b58\u5668 4x5001 \u548c 4x5002 \u7684\u8f6e\u8be2\u8fd4\u56de 8 \u4e2a\u5b57\u8282\u6216\u4e24\u4e2a 32 \u4f4d\u6574\u6570\uff0c\u800c\u6807\u51c6 Modbus \u5c06\u4ec5\u8fd4\u56de 4 \u4e2a\u5b57\u8282\u6216\u4e00\u4e2a\u88ab\u89c6\u4e3a\u4e24\u4e2a 16 \u4f4d\u6574\u6570\u7684 32 \u4f4d\u6574\u6570\u3002\u6b64\u5916\uff0c\u5728 Enron-MB \u4e2d\u8f6e\u8be2\u5bc4\u5b58\u5668 4x5010 \u8fd4\u56de\u7b2c\u5341\u4e2a 32 \u4f4d\u957f\u6574\u6570\uff0c\u800c\u6807\u51c6 Modbus \u5c06\u8003\u8651\u6b64\u8303\u56f4\u5185\u7b2c\u4e94\u4e2a 32 \u4f4d\u957f\u6574\u6570\u7684 1\/2\u3002\n\n### \u884c\n\n\u6307\u5b9a\u60a8\u559c\u6b22\u7684\u7f51\u683c\u4e2d\u7684\u884c\u6570\u3002\n\n## \u5b9e\u65f6\u56fe\u8868\n\n\u4f7f\u7528\u6b64\u547d\u4ee4\u53ef\u5728\u56fe\u8868\u4e2d\u5b9e\u65f6\u7ed8\u5236\u591a\u8fbe 12 \u4e2a\u6570\u636e\u7cfb\u5217\u3002\n\u5b9e\u65f6\u56fe\u8868\u662f\u9ad8\u901f\u7684\uff0c\u5e76\u4e14\u80fd\u591f\u5728\u63a5\u6536\u5230\u65b0\u6570\u636e\u65f6\u5c3d\u5feb\u7ed8\u5236\u65b0\u7ebf\u3002\n\n\u6240\u6709\u56fe\u8868\u8bbe\u7f6e\u90fd\u5b58\u50a8\u5728\u5de5\u4f5c\u533a\u4e2d\u3002[\u4fdd\u5b58\/\u6253\u5f00\u5de5\u4f5c\u533a](#_saveopen_workspace)\n\n\u8981\u6253\u5f00\u5b9e\u65f6\u56fe\u8868\u5bf9\u8bdd\u6846\uff0c\u60a8\u6709 2 \u4e2a\u9009\u9879\uff1a\n\n- \u6309 Alt + R\n\n- \u4ece\u663e\u793a\u83dc\u5355\u4e2d\u9009\u62e9\u201c\u5b9e\u65f6\u56fe\u8868\u201d\n\nX \u8f74\u663e\u793a\u81ea\u56fe\u8868\u542f\u52a8\u4ee5\u6765\u7684\u79d2\u6570\u3002\n\n\u5f53\u70b9\u5230\u8fbe\u56fe\u8868\u7684\u672b\u5c3e\u65f6\uff0c\u6709 3 \u4e2a\u9009\u9879\uff1a\n\n- **\u7ed3\u675f\u65f6\u505c\u6b62\uff1a**\u56fe\u8868\u505c\u6b62\u3002\n\n- **\u7ed3\u675f\u65f6\u91cd\u65b0\u5f00\u59cb\uff1a**\u56fe\u8868\u91cd\u65b0\u5f00\u59cb\u3002\n\n- **\u7ee7\u7eed\uff1a**\u5b83\u4e00\u76f4\u6301\u7eed\u5230\u8fbe\u5230\u6700\u5927\u70b9\u6570\u6216\u6309\u4e0b\u505c\u6b62\u3002\n\n### \u8bbe\u7f6e\n\n\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u6240\u6709 12 \u4e2a\u7cfb\u5217\u90fd\u94fe\u63a5\u5230\u5de6\u4fa7 Y \u8f74\u3002\u5982\u679c\u8981\u5c06\u7cfb\u5217\u94fe\u63a5\u5230\u53f3 Y \u8f74\uff0c\u8bf7\u9009\u4e2d\u201c\u53f3 Y \u8f74\u201d\u590d\u9009\u6846\u3002\u6307\u5b9a\n\n- \u989c\u8272\n\n- \u53f3 Y \u8f74\n\n- \u6807\u9898\n\n- \u62b5\u6d88\n\n\u663e\u793a\n\n- \u6587\u4ef6\u540d\n\n- \u5730\u5740\n\n\u504f\u79fb\u5bf9\u4e8e\u5728\u540c\u4e00 Y \u8f74\u4e0a\u5bf9\u9f50\u6570\u636e\u70b9\u5f88\u6709\u7528\u3002\u4f8b\u5982\uff0c\u53ef\u4ee5\u504f\u79fb 0 \u6216 1 \u7684\u6570\u636e\u70b9\uff0c\u8fd9\u6837\u5b83\u4eec\u5c31\u4e0d\u4f1a\u88ab\u7ed8\u5236\u5728\u5f7c\u6b64\u4e4b\u4e0a\u3002\n\n### \u7f29\u653e\u529f\u80fd\n\n\u5982\u679c\u60a8\u60f3\u67e5\u770b\u66f4\u591a\u8be6\u7ec6\u4fe1\u606f\uff0c\u653e\u5927\u56fe\u8868\u4f1a\u5f88\u6709\u7528\u3002\u7f29\u653e\u7531\u9f20\u6807\u5de6\u952e\u63a7\u5236\u3002\u8981\u7f29\u653e\u56fe\u8868\u7684\u7279\u5b9a\u90e8\u5206\uff0c\u53ea\u9700\u5de6\u952e\u5355\u51fb\u56fe\u8868\uff08\u8fd9\u5c06\u662f\u7f29\u653e\u77e9\u5f62\u7684\u5de6\u4e0a\u89d2\uff09\u5e76\u62d6\u52a8\u5230\u53f3\u4e0b\u89d2\u3002\u5c06\u51fa\u73b0\u4e00\u4e2a\u77e9\u5f62\u3002\u677e\u5f00\u9f20\u6807\u6309\u94ae\u540e\uff0c\u8f74\u5c06\u81ea\u52a8\u8c03\u6574\u5230\u60a8\u9009\u62e9\u7684\u533a\u57df\u3002\n\n\u5982\u679c\u60a8\u5de6\u952e\u5355\u51fb\u56fe\u8868\uff08\u4f8b\u5982\u5f00\u59cb\u7f29\u653e\uff09\uff0c\u4f46\u5982\u679c\u60a8\u79fb\u52a8\u5230\u5de6\u4e0a\u89d2\uff0c\u5219\u4f7f\u7528\u7f29\u653e\u548c\u5e73\u79fb\u529f\u80fd\u6240\u505a\u7684\u6240\u6709\u4fee\u6539\u90fd\u5c06\u88ab\u53d6\u6d88\uff08\u56fe\u8868\u5c06\u5904\u4e8e\u539f\u6765\u7684\u72b6\u6001\uff09\u5728\u4f7f\u7528\u5e73\u79fb\u548c\u7f29\u653e\u8fdb\u884c\u64cd\u4f5c\u4e4b\u524d\uff09\u3002\n\n### \u5e73\u79fb\u529f\u80fd\n\n\u8981\u5e73\u79fb\u63a7\u4ef6\uff0c\u8bf7\u53f3\u952e\u5355\u51fb\u63a7\u4ef6\u4e0a\u7684\u67d0\u5904\u5e76\u79fb\u52a8\u9f20\u6807\u3002\u9f20\u6807\u4e0b\u65b9\u7684\u70b9\u5c06\u8ddf\u968f\u9f20\u6807\u7684\u79fb\u52a8\u3002\n\n### \u5c06\u6570\u636e\u94fe\u63a5\u5230\u56fe\u8868\u7cfb\u5217\n\n\u9664\u975e\u60a8\u5c06 Modbus \u6570\u636e\u5355\u5143\u94fe\u63a5\u5230 12 \u4e2a\u7cfb\u5217\u4e4b\u4e00\uff0c\u5426\u5219\u8be5\u56fe\u8868\u4e0d\u77e5\u9053\u8981\u4f7f\u7528\u54ea\u4e9b\u6570\u636e\u3002\u4e3a\u6b64\uff0c\u8bf7\u9009\u62e9\u4e00\u4e2a\u503c\u5355\u5143\u683c\uff0c\u7136\u540e\u4ece\u83dc\u5355\u2192\u663e\u793a\u4e2d\u9009\u62e9\u201c\u94fe\u63a5\u5230\u56fe\u8868\u201d\u3002\n\n### \u590d\u5236\u7cfb\u5217\n\n\u5c06\u7cfb\u5217\u6570\u636e\u4fdd\u5b58\u5230\u78c1\u76d8\u6216\u590d\u5236\u5230\u526a\u8d34\u677f\u3002\u5c06\u6570\u636e\u76f4\u63a5\u7c98\u8d34\u5230 Excel \u4e2d\u4ee5\u8fdb\u884c\u8fdb\u4e00\u6b65\u5904\u7406\u3002\n\u5c3d\u7ba1\u4f7f\u7528\u4e86\u975e\u9017\u53f7\u5b57\u6bb5\u5206\u9694\u7b26\uff0c\u4f46\u8be5\u6587\u4ef6\u4ecd\u5177\u6709 .csv \u6269\u5c55\u540d\u3002\n\n**\u5206\u9694\u7b26\uff1a**\u9009\u62e9\u5728\u6587\u672c\u6587\u4ef6\u4e2d\u5206\u9694\u503c\u7684\u5b57\u7b26\u3002\u4f7f\u7528 Excel \u9009\u9879\u5361\u3002\u6b64\u5916\uff0c\u8fd8\u7ed9\u51fa\u4e86\u4e00\u4e9b\u9644\u52a0\u4fe1\u606f\u3002\n\n- \u70b9\u6570\n\n- \u6700\u5927\u70b9\u503c\n\n- \u6700\u5c0f\u70b9\u503c\n\n- \u5e73\u5747\u5206\u503c\n\n## \u663e\u793a\u683c\u5f0f\n\n\u6807\u8bb0\u8981\u683c\u5f0f\u5316\u7684\u5355\u5143\u683c\u3002\u4ece\u663e\u793a\u83dc\u5355\u4e2d\u9009\u62e9 28 \u79cd\u663e\u793a\u683c\u5f0f\u4e4b\u4e00\u3002\n\n### \u539f\u751f Modbus \u5bc4\u5b58\u5668\n\n16 \u4f4d Modbus \u5bc4\u5b58\u5668\u53ef\u4ee5\u4ee5 4 \u79cd\u4e0d\u540c\u7684\u6a21\u5f0f\u663e\u793a\u3002\n\n- \u7b7e\n\n- \u672a\u7b7e\u540d\n\n- \u5341\u516d\u8fdb\u5236\n\n- \u4e8c\u8fdb\u5236\n\n### 32 \u4f4d\u6709\u7b26\u53f7\u6574\u6570\n\n\u8fd9\u7ed3\u5408\u4e86 2 \u4e2a 16 \u4f4d Modbus \u5bc4\u5b58\u5668\u3002\u5b83\u53ef\u4ee5\u4ee5 4 \u79cd\u4e0d\u540c\u7684\u5b57\/\u5b57\u8282\u987a\u5e8f\u663e\u793a\u3002\n\n- \u6709\u7b26\u53f7\u6574\u6570 Big-endian\n\n- \u6709\u7b26\u53f7\u6574\u6570 Little-endian\n\n- \u6709\u7b26\u53f7\u6574\u6570\u5927\u7aef\u5b57\u8282\u4ea4\u6362\n\n- \u6709\u7b26\u53f7\u6574\u6570\u5c0f\u7aef\u5b57\u8282\u4ea4\u6362\u4f8b\u5b50\u5b57\u8282\u987a\u5e8f\uff1a**AB CD (Big-endian)**\n\u5341\u8fdb\u5236\u6570 123456789 \u6216\u5341\u516d\u8fdb\u5236**07 5B CD 15**\n\u5b83\u4eec\u5728 Modbus \u6d88\u606f\u4e2d\u901a\u8fc7\u7ebf\u8def\u7684\u987a\u5e8f\uff1a**07 5B CD 15**\n\n### 32 \u4f4d\u65e0\u7b26\u53f7\u6574\u6570\n\n\u8fd9\u7ed3\u5408\u4e86 2 \u4e2a 16 \u4f4d Modbus \u5bc4\u5b58\u5668\u3002\u5b83\u53ef\u4ee5\u4ee5 4 \u79cd\u4e0d\u540c\u7684\u5b57\/\u5b57\u8282\u987a\u5e8f\u663e\u793a\u3002\n\n- \u65e0\u7b26\u53f7\u6574\u6570 Big-endian\n\n- \u65e0\u7b26\u53f7\u6574\u6570\u5c0f\u7aef\u5e8f\n\n- \u65e0\u7b26\u53f7\u6574\u6570\u5927\u7aef\u5b57\u8282\u4ea4\u6362\n\n- \u65e0\u7b26\u53f7\u6574\u6570\u5c0f\u7aef\u5b57\u8282\u4ea4\u6362\u4f8b\u5b50\u5b57\u8282\u987a\u5e8f\uff1a**AB CD (Big-endian)**\n\u5341\u8fdb\u5236\u6570 123456789 \u6216\u5341\u516d\u8fdb\u5236**07 5B CD 15**\n\u5b83\u4eec\u5728 Modbus \u6d88\u606f\u4e2d\u901a\u8fc7\u7ebf\u8def\u7684\u987a\u5e8f\uff1a**07 5B CD 15**\n\n### 64 \u4f4d\u6709\u7b26\u53f7\u6574\u6570\n\n\u8fd9\u7ed3\u5408\u4e86 4 \u4e2a 16 \u4f4d Modbus \u5bc4\u5b58\u5668\u3002\u5b83\u53ef\u4ee5\u4ee5 4 \u79cd\u4e0d\u540c\u7684\u5b57\/\u5b57\u8282\u987a\u5e8f\u663e\u793a\u3002\n\n- \u6709\u7b26\u53f7\u6574\u6570 Big-endian\n\n- \u6709\u7b26\u53f7\u6574\u6570 Little-endian\n\n- \u6709\u7b26\u53f7\u6574\u6570\u5927\u7aef\u5b57\u8282\u4ea4\u6362\n\n- \u6709\u7b26\u53f7\u6574\u6570\u5c0f\u7aef\u5b57\u8282\u4ea4\u6362\u4f8b\u5b50\u5b57\u8282\u987a\u5e8f\uff1a**AB CD EF GH\uff08\u5927\u7aef\uff09**\n\u5341\u8fdb\u5236\u6570 -1,234,567,890,123,456,789 \u6216\u5341\u516d\u8fdb\u5236**EE DD EF 0B 82 16 7E EB**\n\u5728 Modbus \u6d88\u606f\u4e2d\u901a\u8fc7\u7ebf\u8def\u7684\u987a\u5e8f\uff1a**EE DD EF 0B 82 16 7E EB**\n\n### 64 \u4f4d\u65e0\u7b26\u53f7\u6574\u6570\n\n\u8fd9\u7ed3\u5408\u4e86 4 \u4e2a 16 \u4f4d Modbus \u5bc4\u5b58\u5668\u3002\u5b83\u53ef\u4ee5\u4ee5 4 \u79cd\u4e0d\u540c\u7684\u5b57\/\u5b57\u8282\u987a\u5e8f\u663e\u793a\u3002\n\n- \u65e0\u7b26\u53f7\u6574\u6570 Big-endian\n\n- \u65e0\u7b26\u53f7\u6574\u6570\u5c0f\u7aef\u5e8f\n\n- \u65e0\u7b26\u53f7\u6574\u6570\u5927\u7aef\u5b57\u8282\u4ea4\u6362\n\n- \u65e0\u7b26\u53f7\u6574\u6570\u5c0f\u7aef\u5b57\u8282\u4ea4\u6362\u4f8b\u5b50\u5b57\u8282\u987a\u5e8f\uff1a**AB CD EF GH\uff08\u5927\u7aef\uff09**\n\u5341\u8fdb\u5236\u6570 1,234,567,890,123,456,789 \u6216\u5341\u516d\u8fdb\u5236**11 22 10 F4 7D E9 81 15**\n\u5b83\u4eec\u5728 Modbus \u6d88\u606f\u4e2d\u901a\u8fc7\u7ebf\u8def\u7684\u987a\u5e8f\uff1a**11 22 10 F4 7D E9 81 15**\n\n### 32 \u4f4d\u6d6e\u52a8\n\n\u8fd9\u7ed3\u5408\u4e86 2 \u4e2a 16 \u4f4d Modbus \u5bc4\u5b58\u5668\u3002\u5b83\u53ef\u4ee5\u4ee5 4 \u79cd\u4e0d\u540c\u7684\u5b57\/\u5b57\u8282\u987a\u5e8f\u663e\u793a\u3002\n\n- \u6d6e\u70b9\u5927\u7aef\n\n- \u6d6e\u70b9\u5c0f\u7aef\u5e8f\n\n- \u6d6e\u70b9\u5927\u7aef\u5b57\u8282\u4ea4\u6362\n\n- \u6d6e\u70b9\u5c0f\u7aef\u5b57\u8282\u4ea4\u6362\u4f8b\u5b50\u5b57\u8282\u987a\u5e8f\uff1a**AB CD (Big-endian)**\n\u6d6e\u70b9\u6570 123456.00 \u6216\u5341\u516d\u8fdb\u5236**47 F1 20 00**\n\u5b83\u4eec\u5728 Modbus \u6d88\u606f\u4e2d\u901a\u8fc7\u7ebf\u8def\u7684\u987a\u5e8f\uff1a**47 F1 20 00**\n\n### 64 \u4f4d\u53cc\u7cbe\u5ea6\n\n\u8fd9\u7ed3\u5408\u4e86 4 \u4e2a 16 \u4f4d Modbus \u5bc4\u5b58\u5668\u3002\u5b83\u53ef\u4ee5\u4ee5 4 \u79cd\u4e0d\u540c\u7684\u5b57\/\u5b57\u8282\u987a\u5e8f\u663e\u793a\u3002\n\n- \u53cc\u5927\u7aef\n\n- \u53cc\u5c0f\u7aef\u5e8f\n\n- \u53cc\u5927\u7aef\u5b57\u8282\u4ea4\u6362\n\n- \u53cc\u5c0f\u7aef\u5b57\u8282\u4ea4\u6362\u4f8b\u5b50\u5b57\u8282\u987a\u5e8f\uff1a**AB CD EF GH (Big-endian)**\n\u6d6e\u70b9\u6570 123456789.00 \u6216\u5341\u516d\u8fdb\u5236**41 9D 6F 34 54 00 00 00**\n\u5b83\u4eec\u5728 Modbus \u6d88\u606f\u4e2d\u901a\u8fc7\u7ebf\u8def\u7684\u987a\u5e8f\uff1a**41 9D 6F 34 54 00 00 00**\n\n## \u4fdd\u5b58\/\u6253\u5f00\u5de5\u4f5c\u533a\n\n\u5982\u679c\u60a8\u6253\u5f00\u8bb8\u591a\u76f8\u5173\u7684 Modbus \u7a97\u53e3\uff0c\u5c06\u6240\u6709\u6253\u5f00\u548c\u6392\u5217\u7684 Modbus \u7a97\u53e3\u7684\u5f53\u524d\u5e03\u5c40\u7684\u5feb\u7167\u4fdd\u5b58\u5728\u4e00\u4e2a\u5de5\u4f5c\u533a\u4e2d\u4f1a\u5f88\u65b9\u4fbf\u3002\n\n\u5de5\u4f5c\u533a (*mbw) \u662f\u4e00\u4e2a\u6587\u4ef6\uff0c\u5176\u4e2d\u5305\u542b\u6240\u6709\u6253\u5f00\u7a97\u53e3\u7684\u663e\u793a\u4fe1\u606f\u548c\u6587\u4ef6\u540d\u3002\u4e0d\u662f\u5b9e\u9645\u5185\u5bb9\u3002\u4e3a\u6b64\uff0c\u8bf7\u8f6c\u5230\u6587\u4ef6\u2192\u4fdd\u5b58\u5de5\u4f5c\u533a\u3002\n\n\u5f53\u60a8\u6253\u5f00\u5de5\u4f5c\u533a\u6587\u4ef6\u65f6\uff0cModbus Poll \u4f1a\u6253\u5f00\u6240\u6709 Modbus \u7a97\u53e3\u5e76\u5c06\u5b83\u4eec\u663e\u793a\u5728\u60a8\u4fdd\u5b58\u7684\u5e03\u5c40\u4e2d\u3002\n\n## \u5bfc\u51fa\u4e3acsv\n\n\u5c06\u540d\u79f0\u548c\u503c\u5bfc\u51fa\u5230\u9017\u53f7\u3001\u5206\u53f7\u6216\u5236\u8868\u7b26\u5206\u9694\u503c\u6587\u4ef6\u3002\u4ece\u6587\u4ef6\u5bf9\u8bdd\u6846\u4e2d\u9009\u62e9\n\n- \u9017\u53f7\u5206\u9694\u503c\u6587\u4ef6 (*.csv)\n\u201c\u6e29\u5ea6\u201d\u3001\u201c19.7\u201d\n\n- \u5206\u53f7\u5206\u9694\u503c\u6587\u4ef6 (*.csv)\n\"Temperature\";\"19.7\"\n\n- \u5236\u8868\u7b26\u5206\u9694\u503c\u6587\u4ef6 (*.txt)\n\u6e29\u5ea6 19.7\n\n\u6839\u636e\u60a8\u7684\u7cfb\u7edf\uff0c\u9017\u53f7\u6216\u53e5\u70b9\u7528\u4e8e\u5206\u9694\u5c0f\u6570\u3002\n\n## \u6d4b\u8bd5\u4e2d\u5fc3\n\n\u6b64\u6d4b\u8bd5\u5bf9\u8bdd\u6846\u7684\u76ee\u7684\u662f\u5e2e\u52a9 MODBUS \u4ece\u8bbe\u5907\u5f00\u53d1\u4eba\u5458\u4f7f\u7528\u4ed6\u4eec\u81ea\u5df1\u7ec4\u6210\u7684\u4efb\u4f55\u5b57\u7b26\u4e32\u6765\u6d4b\u8bd5\u8bbe\u5907\u3002\n\u5217\u8868\u6846\u663e\u793a\u53d1\u9001\u7684\u6570\u636e\u4ee5\u53ca\u63a5\u6536\u7684\u6570\u636e\u3002\n\u60a8\u53ef\u4ee5\u5728\u4e0b\u62c9\u5217\u8868\u6846\u4e2d\u6709\u591a\u4e2a\u6d4b\u8bd5\u5b57\u7b26\u4e32\u3002\u8f93\u5165\u5b57\u7b26\u4e32\u540e\uff0c\u6309\u201c\u6dfb\u52a0\u5230\u5217\u8868\u201d\u6309\u94ae\uff0c\u7136\u540e\u5c06\u5b57\u7b26\u4e32\u6dfb\u52a0\u5230\u5217\u8868\u4e2d\u3002\n\u6309\u4e0b\u201c\u53d1\u9001\u201d\u6309\u94ae\u65f6\u53d1\u9001\u9009\u5b9a\u7684\u5b57\u7b26\u4e32\u3002\u6253\u5f00\u5217\u8868\n\n\u4ece\u6587\u4ef6\u4e2d\u4f11\u606f\u6d4b\u8bd5\u5b57\u7b26\u4e32\u3002\u4fdd\u5b58\u5217\u8868\n\n\u5c06\u6d4b\u8bd5\u5b57\u7b26\u4e32\u5b58\u50a8\u5230\u6587\u4ef6\u4e2d\u3002\u6e05\u9664\n\n\u6e05\u9664\u6d4b\u8bd5\u5217\u8868\u3002\u6dfb\u52a0\u5230\u5217\u8868\n\n\u5c06\u5f53\u524d\u6d4b\u8bd5\u5b57\u7b26\u4e32\u6dfb\u52a0\u5230\u5217\u8868\u4e2d\u3002\u6dfb\u52a0\u68c0\u67e5\n\n\u5728\u8f93\u5165\u5b57\u7b26\u4e32\u7684\u672b\u5c3e\u6dfb\u52a0 CRC \u6216 LRC\u3002\n\n\u4f7f\u7528\u8003\u8bd5\u4e2d\u5fc3\u65f6\uff0c\u60a8\u53ef\u80fd\u5e0c\u671b\u7981\u7528\u6765\u81ea\u5176\u4ed6\u7a97\u53e3\u7684\u901a\u4fe1\u3002\u9009\u4e2d\u201c\u8bfb\/\u5199\u5b9a\u4e49\u201d\u5bf9\u8bdd\u6846\u4e2d\u7684\u201c\u8bfb\/\u5199\u7981\u7528\u201d\u590d\u9009\u6846\u3002\u8bbe\u7f6e\u2192\u8bfb\/\u5199\u5b9a\u4e49\u3002\n\n### ASCII \u793a\u4f8b\n\n\u7ec4\u5408\u6846\u4e2d\u7684\u5b57\u7b26\u4e32\uff1a\n\n```\n3A 30 31 30 33 30 30 30 30 30 30 30 41\n```\n\n\u5982\u679c\u6dfb\u52a0\u4e86 LRC\uff0c\u5219\u4f20\u8f93\u7684\u5b57\u7b26\u4e32\n\n```\n3A 30 31 30 33 30 30 30 30 30 30 30 41 46 32 0D 0A\n```\n\n\u8fd8\u6dfb\u52a0\u4e86\u4e00\u4e2a CR LF \u5bf9\u3002\n\n### TCP\/IP \u793a\u4f8b\n\n\u8bfb\u53d6 10 \u4e2a\u4fdd\u6301\u5bc4\u5b58\u5668\u3002\n\n```\n00 00 00 00 00 06 01 03 00 00 00 0A\n```\n\n\u524d 6 \u4e2a\u5b57\u8282\u662f TCP\/IP \u6807\u5934\u3002\n\n### \u6d4b\u8bd5\u4e2d\u5fc3\u5b57\u7b26\u4e32\u6587\u4ef6\n\n\u4f7f\u7528\u8bb0\u4e8b\u672c\u6216\u7c7b\u4f3c\u7684\u6587\u672c\u7f16\u8f91\u5668\uff0c\u60a8\u53ef\u4ee5\u51c6\u5907\u8981\u5728\u6d4b\u8bd5\u4e2d\u4f7f\u7528\u7684\u5b57\u7b26\u4e32\u3002\n\u6587\u4ef6\u4e2d\u7684\u7b2c\u4e00\u884c\u5fc5\u987b\u662f\u5b57\u7b26\u4e32\u201cTestCenter\u201d\u3002\u8fd9\u5c31\u662f Modbus Poll \u77e5\u9053\u6587\u4ef6\u683c\u5f0f\u6b63\u786e\u7684\u65b9\u5f0f\u3002\u6309\u201c\u6253\u5f00\u5217\u8868\u201d\u6253\u5f00\u51c6\u5907\u597d\u7684\u6587\u672c\u6587\u4ef6\u3002\n\n#### 10.3.1.&nbsp;\u5b57\u7b26\u4e32\u5217\u8868\u7684\u5185\u5bb9\n\n```\n\u6d4b\u8bd5\u4e2d\u5fc3 3A \n30 31 30 33 30 30 30 30 30 30 30 41 \n3A 30 32 30 33 30 30 30 30 30 30 30 41 \n3A 30 33 30 33 30 30 30 30 30 30 30 41\n```\n\n### \u590d\u5236\n\n\u4f7f\u7528 Copy \u6309\u94ae\u5c06\u9009\u5b9a\u7684 Tx\/Rx \u5b57\u7b26\u4e32\u590d\u5236\u5230\u526a\u8d34\u677f\u3002\nSHIFT \u548c CTRL \u952e\u53ef\u4ee5\u4e0e\u9f20\u6807\u4e00\u8d77\u4f7f\u7528\u6765\u9009\u62e9\u548c\u53d6\u6d88\u9009\u62e9\u5b57\u7b26\u4e32\u3001\u9009\u62e9\u5b57\u7b26\u4e32\u7ec4\u4ee5\u53ca\u9009\u62e9\u4e0d\u76f8\u90bb\u7684\u5b57\u7b26\u4e32\u3002\n\n\u5728\u6267\u884c\u5176\u4ed6\u547d\u4ee4\u65f6\u4fdd\u6301\u6b64\u7a97\u53e3\u6253\u5f00\u3002\n\n## Modbus \u6570\u636e\u8bb0\u5f55\n\n\u60a8\u53ef\u4ee5\u5c06\u6570\u636e\u8bb0\u5f55\u5230\u6587\u672c\u6587\u4ef6\u6216\u76f4\u63a5\u8bb0\u5f55\u5230 Microsoft Excel\u3002\n\n### \u6587\u672c\u6587\u4ef6\n\n\u4ece\u8bbe\u7f6e\u83dc\u5355\u4e2d\u9009\u62e9\u65e5\u5fd7\u6216\u4f7f\u7528\u5feb\u6377\u952e\uff1aAlt+L\n\n\u6bcf\u4e2a Modbus \u7a97\u53e3\u90fd\u8bb0\u5f55\u5230\u5176\u5355\u72ec\u7684\u6587\u672c\u6587\u4ef6\u4e2d\u3002\n\n\u5f53\u60a8\u60f3\u505c\u6b62\u6570\u636e\u8bb0\u5f55\u65f6\uff0c\u8bf7\u5728\u8bbe\u7f6e\u83dc\u5355\u4e0a\u9009\u62e9\u6ce8\u9500\u547d\u4ee4\u3002\n\n#### 11.1.1.&nbsp;\u65e5\u5fd7\u7387\n\n\u6bcf\u6b21\u8bfb\n\n\u4e3a\u6240\u6709 Modbus \u8bf7\u6c42\u7f16\u5199\u65e5\u5fd7\u884c\u3002\u8bb0\u5f55\u9891\u7387\u4f5c\u4e3a\u626b\u63cf\u901f\u7387\u3002\u9009\u62e9\n\n\u4ee5\u79d2\u4e3a\u5355\u4f4d\u6307\u5b9a\u65e5\u5fd7\u901f\u7387\u3002\u4e0e\u626b\u63cf\u901f\u7387\u65e0\u5173\u3002\n\n\u5982\u679c\u626b\u63cf\u901f\u7387\u662f\u4f8b\u5982 10000 \u6beb\u79d2\uff0c\u90a3\u4e48\u8bbe\u7f6e 1 \u79d2\u7684\u65e5\u5fd7\u901f\u7387\u662f\u6ca1\u6709\u610f\u4e49\u7684\uff0c\u56e0\u4e3a\u53ea\u6709\u5728\u65b0\u6570\u636e\u51c6\u5907\u597d\u65f6\u624d\u4f1a\u8bb0\u5f55\u6570\u636e\u3002\n\n#### 11.1.2.&nbsp;\u5206\u9694\u7b26\n\n\u4f5c\u4e3a\u5206\u9694\u7b26\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u9009\u9879\u4e4b\u4e00\uff1a\u56fa\u5b9a\u5bbd\u5ea6\n\n\u8868\u793a\u503c\u6309\u5217\u7ec4\u7ec7\u3002\u9017\u53f7\n\n\u7528\u9017\u53f7\u5206\u9694\u7684\u503c\u3002\u6807\u7b7e\n\n\u7531\u5236\u8868\u7b26\u5206\u9694\u7684\u503c\u3002\n\n#### 11.1.3.&nbsp;\u4ec5\u8bb0\u5f55\u6570\u636e\u66f4\u6539\n\n\u6307\u5b9a\u4ec5\u5f53\u81ea\u4e0a\u6b21\u65e5\u5fd7\u4ee5\u6765\u6709\u4efb\u4f55\u6570\u636e\u66f4\u6539\u65f6\u624d\u5199\u5165\u65b0\u65e5\u5fd7\u884c\u3002\n\n#### 11.1.4.&nbsp;\u8bb0\u5f55\u9519\u8bef\n\n\u6307\u5b9a\u8bb0\u5f55\u8d85\u65f6\u7b49\u9519\u8bef\u3002\n\n#### 11.1.5\u3002\u8bb0\u5f55\u65e5\u671f\n\n\u6307\u5b9a\u5c06\u5f53\u524d\u65e5\u671f\u6dfb\u52a0\u5230\u65e5\u5fd7\u65f6\u95f4\u3002\n\n#### 11.1.6\u3002\u8bb0\u5f55\u6beb\u79d2\n\n\u6307\u5b9a\u5c06\u6beb\u79d2\u6dfb\u52a0\u5230\u65e5\u5fd7\u65f6\u95f4\u3002\n\n#### 11.1.7\u3002\u65e5\u5fd7\u5730\u5740\n\n\u6307\u5b9a\u5c06 Modbus \u5730\u5740\u6dfb\u52a0\u5230\u65e5\u5fd7\u4e2d\u3002\n\n#### 11.1.8\u3002\u6309\u4e0b\u786e\u5b9a\u65f6\u5f00\u59cb\u8bb0\u5f55\n\n\u6307\u5b9a\u5728\u6309\u4e0b ok \u6309\u94ae\u65f6\u5f00\u59cb\u8bb0\u5f55\u3002\u5426\u5219\uff0c\u65e5\u5fd7\u8bbe\u7f6e\u4ec5\u5728\u4fdd\u5b58 *mbp \u6587\u4ef6\u65f6\u5b58\u50a8\u3002\n\n#### 11.1.9\u3002\u6253\u5f00 *mbp \u65f6\u542f\u52a8\u65e5\u5fd7\n\n\u6307\u5b9a\u5728\u6253\u5f00 *.mbp \u6587\u4ef6\u65f6\u81ea\u52a8\u542f\u52a8\u65e5\u5fd7\u8bb0\u5f55\u3002\n\n#### 11.1.10\u3002\u7acb\u5373\u5237\u65b0\u5f52\u6863\n\n\u8fd9\u786e\u4fdd\u4e86\u65e5\u5fd7\u884c\u4e0d\u4f1a\u5728\u6587\u4ef6\u7cfb\u7edf\u4e2d\u5151\u73b0\uff0c\u800c\u662f\u7acb\u5373\u7269\u7406\u5199\u5165\u3002\n\n#### 11.1.11\u3002\u9644\u52a0\n\n\u6307\u5b9a\u5c06\u65e5\u5fd7\u9644\u52a0\u5230\u6240\u9009\u6587\u4ef6\u3002\u5426\u5219\u4f1a\u521b\u5efa\u4e00\u4e2a\u65b0\u6587\u4ef6\u3002\n\n#### 11.1.12\u3002\u5348\u591c\u7684\u65b0\u65e5\u5fd7\u6587\u4ef6\n\n\u5173\u95ed\u5f53\u524d\u65e5\u5fd7\u6587\u4ef6\u5e76\u5728\u5348\u591c\u5f00\u59cb\u4e00\u4e2a\u65b0\u6587\u4ef6\u3002\u65f6\u95f4\u6233\u4f1a\u6dfb\u52a0\u5230\u60a8\u7684\u6587\u4ef6\u540d\u4e2d\u3002\n\n**\u5177\u6709\u56fa\u5b9a\u5bbd\u5ea6\u7684\u6587\u672c\u6587\u4ef6\u793a\u4f8b\uff1a**\n\n```\n22:28:13 &lt;40001&gt; 17395 0 0 0 0 0 0 0 0 \n22:28:14 &lt;40001&gt; 17396 1 0 0 0 0 0 0 0 \n22:28:15 &lt;40001&gt; 17394 1 0 0 2 55 0 0 0 \n22:28:16 &lt;40001&gt; 13350 1 0 0 4 0 0 0 0\n```\n\n\u60a8\u53ef\u4ee5\u5728 Excel \u7535\u5b50\u8868\u683c\u4e2d\u5bfc\u5165\u6570\u636e\u3002\n\n### \u5fae\u8f6fExcel\n\n\u6b64\u529f\u80fd\u9700\u8981\u5b89\u88c5 Microsoft Excel\u3002Excel 2003 \u65e5\u5fd7\u9650\u5236\u4e3a 65535 \u4e2a\u65e5\u5fd7\uff0c\u56e0\u4e3a\u8fd9\u662f Excel \u5de5\u4f5c\u8868\u4e2d\u7684\u6700\u5927\u884c\u6570\u3002Excel 2007 \u6216\u66f4\u9ad8\u7248\u672c\u9650\u5236\u4e3a 1,048,576 \u884c\u3002\u6bcf\u4e2a Modbus \u7a97\u53e3\u90fd\u8bb0\u5f55\u5230\u5176\u5355\u72ec\u7684 Excel \u8868\u4e2d\u3002\n\n\u4ece\u8bbe\u7f6e\u83dc\u5355\u4e2d\u9009\u62e9 Excel \u65e5\u5fd7\u6216\u4f7f\u7528\u5feb\u6377\u952e\uff1aAlt+X\n\n**\u8bb0\u5f55\u65f6\u4e0d\u8981\u89e6\u6478 Excel \u8868\uff0c\u56e0\u4e3a\u8fd9\u4f1a\u4e2d\u65ad\u8bb0\u5f55\u3002**\n\n#### 11.2.1.&nbsp;\u65e5\u5fd7\u7387\n\n- **\u6bcf\u6b21\u8bfb\u53d6\uff1a**\u4e3a\u6240\u6709 Modbus \u8bf7\u6c42\u5199\u5165\u65e5\u5fd7\u884c\u3002\u8bb0\u5f55\u9891\u7387\u4f5c\u4e3a\u626b\u63cf\u901f\u7387\u3002\n\n- **\u9009\u62e9\uff1a**\u4ee5\u79d2\u4e3a\u5355\u4f4d\u6307\u5b9a\u65e5\u5fd7\u901f\u7387\u3002\u65e5\u5fd7\u4e0e\u626b\u63cf\u901f\u7387\u65e0\u5173\u3002\n**\u5907\u6ce8\uff1a**\u5982\u679c\u626b\u63cf\u901f\u7387\u4e3a\u4f8b\u5982 10000 \u6beb\u79d2\uff0c\u5219\u8bbe\u7f6e 1 \u79d2\u7684\u8bb0\u5f55\u901f\u7387\u662f\u6ca1\u6709\u610f\u4e49\u7684\uff0c\u56e0\u4e3a\u53ea\u6709\u5728\u65b0\u6570\u636e\u51c6\u5907\u597d\u65f6\u624d\u4f1a\u8bb0\u5f55\u6570\u636e\u3002\n\n- **\u505c\u6b62\u540e\uff1a**\u6307\u5b9a\u65e5\u5fd7\u884c\u6570\u3002\u8bf7\u6ce8\u610f\uff0cExcel 2003 \u9650\u5236\u4e3a 65,536 \u884c\uff0cExcel 2007 \u9650\u5236\u4e3a 1,048,576 \u884c\u3002\n\n#### 11.2.2.&nbsp;\u6807\u5934\u4fe1\u606f\n\n**\u63d2\u5165\u6807\u9898\uff1a**\u4fe1\u606f\u63d2\u5165\u5230 Excel \u5de5\u4f5c\u8868\u7684\u6700\u9876\u90e8 3 \u884c\u3002\n\n- **\u5728\u7b2c\u4e00\u884c\u547d\u540d\u5355\u5143\u683c\uff1a**\u5728\u7b2c 3 \u884c\u63d2\u5165\u540d\u79f0\u3002\n\n- **\u8f6e\u8be2\u5b9a\u4e49\uff1a**\u5728\u7b2c 2 \u884c\u63d2\u5165 ID\u3001Function \u7b49\u3002\n\n- **\u540d\u79f0\uff1a**\u5728\u7b2c 1 \u884c\u63d2\u5165\u4e00\u4e2a\u65e5\u5fd7\u540d\u79f0\u3002\n\n\u5e26\u6709\u6807\u9898\u4fe1\u606f\u7684 Excel \u65e5\u5fd7\u3002\n\n## \u901a\u4fe1\u6d41\u91cf\n\n\u9009\u62e9\u83dc\u5355 Display\u2192Communication \u4ee5\u663e\u793a\u4e32\u884c\u7ebf\u8def\u6216\u4ee5\u592a\u7f51\u7535\u7f06\u4e0a\u7684\u6d41\u91cf\u3002\u4f7f\u7528\u505c\u6b62\u6309\u94ae\u6682\u65f6\u505c\u6b62\u66f4\u65b0\u4ee5\u8fdb\u884c\u68c0\u67e5\u3002\n\n\u4f7f\u7528\u590d\u5236\u6309\u94ae\u5c06\u9009\u5b9a\u7684\u884c\u590d\u5236\u5230\u526a\u8d34\u677f\u3002\n\n\u6b64\u7a97\u53e3\u4ec5\u663e\u793a Modbus Poll \u53d1\u9001\u548c\u63a5\u6536\u7684\u6570\u636e\u3002\u60a8\u4e0d\u80fd\u5c06\u5176\u7528\u4f5c\u6570\u636e\u55c5\u63a2\u5668\u3002\n\n\u5728\u6267\u884c\u5176\u4ed6\u547d\u4ee4\u65f6\u4fdd\u6301\u6b64\u7a97\u53e3\u6253\u5f00\u3002\n\n## OLE\/\u81ea\u52a8\u5316\n\n\u81ea\u52a8\u5316\uff08\u4ee5\u524d\u79f0\u4e3a OLE \u81ea\u52a8\u5316\uff09\u4f7f\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\u53ef\u4ee5\u64cd\u4f5c\u5728\u53e6\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\u4e2d\u5b9e\u73b0\u7684\u5bf9\u8c61\u3002\n\n\u81ea\u52a8\u5316\u5ba2\u6237\u7aef\u662f\u53ef\u4ee5\u64cd\u4f5c\u5c5e\u4e8e\u53e6\u4e00\u4e2a\u5e94\u7528\u7a0b\u5e8f\u7684\u516c\u5f00\u5bf9\u8c61\u7684\u5e94\u7528\u7a0b\u5e8f\u3002\u8fd9\u4e5f\u79f0\u4e3a\u81ea\u52a8\u5316\u63a7\u5236\u5668\u3002\n\n\u81ea\u52a8\u5316\u670d\u52a1\u5668\u662f\u5c06\u53ef\u7f16\u7a0b\u5bf9\u8c61\u516c\u5f00\u7ed9\u5176\u4ed6\u5e94\u7528\u7a0b\u5e8f\u7684\u5e94\u7528\u7a0b\u5e8f\u3002**Modbus Poll**\u662f\u4e00\u4e2a\u81ea\u52a8\u5316\u670d\u52a1\u5668\u3002\n\n\u8fd9\u610f\u5473\u7740\u60a8\u53ef\u4ee5\u4f7f\u7528\u4efb\u4f55\u652f\u6301 VBA\uff08Visual Basic for Applications\uff09\u7684\u7a0b\u5e8f\uff0c\u4f8b\u5982 Visual Basic\u3001Excel \u7b49\uff0c\u6839\u636e\u60a8\u7684\u7279\u5b9a\u8981\u6c42\u6765\u89e3\u91ca\u548c\u663e\u793a modbus \u6570\u636e\u3002\n\n### Excel \u793a\u4f8b\n\n\u5f53\u60a8\u60f3\u8981\u7f16\u5199\u5b8f\u65f6\uff0c\u60a8\u5e94\u8be5\u663e\u793a\u5f00\u53d1\u4eba\u5458\u9009\u9879\u5361\u6216\u5728\u5f00\u53d1\u4eba\u5458\u6a21\u5f0f\u4e0b\u8fd0\u884c\u3002\n\n#### 13.1.1.&nbsp;Excel 2007\n\n- \u5355\u51fb Microsoft office \u6309\u94ae\uff0c\u7136\u540e\u5355\u51fb Excel \u9009\u9879\u3002\n\n- \u5355\u51fb\u6d41\u884c\uff0c\u7136\u540e\u9009\u4e2d\u529f\u80fd\u533a\u590d\u9009\u6846\u4e2d\u7684\u663e\u793a\u5f00\u53d1\u4eba\u5458\u9009\u9879\u5361\u3002\n\u8bf7\u6ce8\u610f\uff0c\u529f\u80fd\u533a\u662f Microsoft fluent \u7528\u6237\u754c\u9762\u7684\u4e00\u90e8\u5206\u3002\n\n#### 13.1.2.&nbsp;Excel 2010, 2016\n\n- \u5355\u51fb\u6587\u4ef6\u9009\u9879\u5361\u3002\n\n- \u5355\u51fb\u9009\u9879\u3002Excel \u9009\u9879\u7a97\u53e3\u5c06\u6253\u5f00\u3002\n\n- \u5728\u5de6\u4fa7\u7a97\u683c\u4e2d\u5355\u51fb\u81ea\u5b9a\u4e49\u529f\u80fd\u533a\u3002\n\n- \u5728\u53f3\u4fa7\u7a97\u683c\u7684\u4e3b\u9009\u9879\u5361\u4e0b\uff0c\u9009\u4e2d\u5f00\u53d1\u4eba\u5458\u590d\u9009\u6846\u3002\n\n- \u5355\u51fb\u786e\u5b9a\u3002\u5f00\u53d1\u4eba\u5458\u9009\u9879\u5361\u73b0\u5728\u5e94\u663e\u793a\u5728\u529f\u80fd\u533a\uff08\u6700\u53f3\u4fa7\u7684\u9009\u9879\u5361\uff09\u4e2d\u3002\n\n#### 13.1.3.&nbsp;Excel \u793a\u4f8b\u4ee3\u7801\n\n\u6b64\u793a\u4f8b\u6253\u5f00\u4e24\u4e2a\u7a97\u53e3\u3002\u4e00\u4e2a\u8bfb\u6570\u5bc4\u5b58\u5668\u548c\u53e6\u4e00\u4e2a\u8bfb\u6570\u7ebf\u5708\u3002\nModbus Poll \u662f\u9690\u85cf\u7684\uff0c\u4f46\u60a8\u53ef\u4ee5\u901a\u8fc7\u53d6\u6d88\u6ce8\u91ca\u201cShowWindow\u201d\u884c\u6765\u663e\u793a\u5b83\u3002\u8fd9\u5c06\u663e\u793a\u5176\u4e2d\u4e00\u4e2a\u7a97\u53e3\u3002\n\nModbus Poll \u5b89\u88c5\u4e2d\u8fd8\u5305\u542b\u4e00\u4e2a\u793a\u4f8b\u3002\n\u5f00\u59cb \u2192 \u6240\u6709\u7a0b\u5e8f \u2192 Modbus \u8f6e\u8be2 \u2192 Excel \u793a\u4f8bExcel VBA \u793a\u4f8b\n\n```\n**Public** doc1 **As** **Object**\n**Public** doc2 **As** **Object**\n**Public** app **As** **Object**\n**Dim** res **As** **Integer**\n**Dim** n **As** **Integer**\n\n**Private** **Sub** **StartModbusPoll_Click**()\n   **Set** app **=** CreateObject(\"Mbpoll.Application\")\n   **Set** doc1 **=** CreateObject(\"Mbpoll.Document\")\n   **Set** doc2 **=** CreateObject(\"Mbpoll.Document\")\n' Read 10 Holding Registers every 1000ms\n   res **=** doc1.ReadHoldingRegisters(1, 0, 10, 1000)\n' Read 10 Coil Status every 1000ms\n   res **=** doc2.ReadCoils(1, 0, 10, 1000)\n' doc1.ShowWindow()\n   app.Connection **=** 1 ' Modbus TCP\/IP\n   app.IPAddress **=** \"127.0.0.1\" ' local host\n   app.ServerPort **=** 502\n   app.ConnectTimeout **=** 1000\n   res **=** app.OpenConnection()\n**End** **Sub**\n\n**Private** **Sub** **Read_Click**()\n   Cells(5, 7) **=** doc1.ReadResult() 'Show results for the requests\n   Cells(6, 7) **=** doc2.ReadResult()\n\n   **For** n **=** 0 **To** 9\n      Cells(5 **+** n, 2) **=** doc1.SRegisters(n)\n   **Next** n\n\n   **For** n **=** 0 **To** 9\n      Cells(18 **+** n, 2) **=** doc2.Coils(n)\n   **Next** n\n**End** **Sub**\n```\n\n### Python \u793a\u4f8b\n\n\u8fd9\u4e2a Python \u793a\u4f8b\u6253\u5f00\u4e00\u4e2a\u7a97\u53e3\u5e76\u8bbe\u7f6e\u6240\u6709\u53ef\u80fd\u7684\u6570\u636e\u683c\u5f0f\u3002Python \u793a\u4f8b\n\n```\n**import** win32com.client **as** win32\n\nSIGNED **=** 0\nUNSIGNED **=** 1\nHEX **=** 2\nBINARY **=** 3\nFLOAT_LE_BS **=** 4\nFLOAT_BE **=** 5\nDOUBLE_LE_BS **=** 6\nDOUBLE_BE **=** 7\nS32_LE_BS **=** 8\nS32_BE **=** 9\nFLOAT_LE **=** 10\nFLOAT_BE_BS **=** 11\nDOUBLE_LE **=** 12\nDOUBLE_BE_BS **=** 13\nS32_LE **=** 14\nS32_BE_BS **=** 15\n\nU32_BE **=** 17\nU32_LE_BS **=** 18\nU32_BE_BS **=** 19\nU32_LE **=** 20\n\nS64_BE **=** 21\nS64_LE_BS **=** 22\nS64_BE_BS **=** 23\nS64_LE **=** 24\n\nU64_BE **=** 25\nU64_LE_BS **=** 26\nU64_BE_BS **=** 27\nU64_LE **=** 28\n\n#Endianness\nBE **=** 0\nLE **=** 3\nBE_BS **=** 2\nLE_BS **=** 1\n\nApp **=** win32**.**Dispatch('Mbpoll.Application')\n\nApp**.**Connection **=** 1\nApp**.**IPAddress **=** \"127.0.0.1\"\n\nApp**.**ServerPort **=** 502\nApp**.**OpenConnection\n\n#Create a Modbus display window called Win1\nWin1 **=** win32**.**Dispatch(\"Mbpoll.Document\")\n\n# Read 100 holding registers from slave ID 1, address 0 (40001) every 1000ms\nWin1**.**ReadHoldingRegisters(1, 0, 100, 1000)\n# Show the Modbus window\nWin1**.**ShowWindow()\n# Show 20 rows\nWin1**.**Rows(1)\n\n# Disable refresh for speed\nWin1**.**EnableRefresh **=** False\n\n# Set all different formats\n# This sets how the value is displayed\nWin1**.**SetFormat(0, SIGNED)\nWin1**.**SetFormat(1, UNSIGNED)\nWin1**.**SetFormat(2, HEX)\nWin1**.**SetFormat(3, BINARY)\n\nWin1**.**SetFormat(4, S32_BE)\nWin1**.**SetFormat(6, S32_LE)\nWin1**.**SetFormat(8, S32_BE_BS)\nWin1**.**SetFormat(10, S32_LE_BS)\n\nWin1**.**SetFormat(12, U32_BE)\nWin1**.**SetFormat(14, U32_LE)\nWin1**.**SetFormat(16, U32_BE_BS)\nWin1**.**SetFormat(18, U32_LE_BS)\n\nWin1**.**SetFormat(20, S64_BE)\nWin1**.**SetFormat(24, S64_LE)\nWin1**.**SetFormat(28, S64_BE_BS)\nWin1**.**SetFormat(32, S64_LE_BS)\n\nWin1**.**SetFormat(40, U64_BE)\nWin1**.**SetFormat(44, U64_LE)\nWin1**.**SetFormat(48, U64_BE_BS)\nWin1**.**SetFormat(52, U64_LE_BS)\n\nWin1**.**SetFormat(60, FLOAT_BE)\nWin1**.**SetFormat(62, FLOAT_LE)\nWin1**.**SetFormat(64, FLOAT_BE_BS)\nWin1**.**SetFormat(66, FLOAT_LE_BS)\n\nWin1**.**SetFormat(80, DOUBLE_BE)\nWin1**.**SetFormat(84, DOUBLE_LE)\nWin1**.**SetFormat(88, DOUBLE_BE_BS)\nWin1**.**SetFormat(92, DOUBLE_LE_BS)\n\n# Set all Names to used format\nWin1**.**SetName(0, \"SIGNED\")\nWin1**.**SetName(1, \"UNSIGNED\")\nWin1**.**SetName(2, \"HEX\")\nWin1**.**SetName(3, \"BINARY\")\n\nWin1**.**SetName(4, \"S32_BE\")\nWin1**.**SetName(6, \"S32_LE\")\nWin1**.**SetName(8, \"S32_BE_BS\")\nWin1**.**SetName(10, \"S32_LE_BS\")\n\nWin1**.**SetName(12, \"U32_BE\")\nWin1**.**SetName(14, \"U32_LE\")\nWin1**.**SetName(16, \"U32_BE_BS\")\nWin1**.**SetName(18, \"U32_LE_BS\")\n\nWin1**.**SetName(20, \"S64_BE\")\nWin1**.**SetName(24, \"S64_LE\")\nWin1**.**SetName(28, \"S64_BE_BS\")\nWin1**.**SetName(32, \"S64_LE_BS\")\n\nWin1**.**SetName(40, \"U64_BE\")\nWin1**.**SetName(44, \"U64_LE\")\nWin1**.**SetName(48, \"U64_BE_BS\")\nWin1**.**SetName(52, \"U64_LE_BS\")\n\nWin1**.**SetName(60, \"FLOAT_BE\")\nWin1**.**SetName(62, \"FLOAT_LE\")\nWin1**.**SetName(64, \"FLOAT_BE_BS\")\nWin1**.**SetName(66, \"FLOAT_LE_BS\")\n\nWin1**.**SetName(80, \"DOUBLE_BE\")\nWin1**.**SetName(84, \"DOUBLE_LE\")\nWin1**.**SetName(88, \"DOUBLE_BE_BS\")\nWin1**.**SetName(92, \"DOUBLE_LE_BS\")\n\n# Refresh\nWin1**.**EnableRefresh **=** True\n\nWin1**.**ResizeAllColumns ()\nWin1**.**ResizeWindow()\n\n**print** (Win1**.**GetName(1))\n\n_ **=** input(\"Press ENTER to quit:\")\n```\n\n### \u8fde\u63a5\u529f\u80fd\/\u5c5e\u6027\n\n\u4ee5\u4e0b\u5c5e\u6027\u548c\u529f\u80fd\u4e0e\u60a8\u5728\u8fde\u63a5\u5bf9\u8bdd\u6846 (F3) \u4e2d\u7684\u8bbe\u7f6e\u76f8\u540c\u3002\n\n#### 13.3.1.&nbsp;\u8054\u7cfb\n\n\u8fde\u63a5\u9009\u62e9\u6240\u9700\u7684\u8fde\u63a5\u3002\u53ef\u4ee5\u9009\u62e9\u4e32\u884c\u7aef\u53e3\u6216\u4ee5\u592a\u7f51\u8fde\u63a5\u4e4b\u4e00\u3002\n\n\u5c5e\u6027**\u8fde\u63a5**\u4e3a\u6574\u6570\u6709\u6548\u503c\n\n0 = \u4e32\u884c\u7aef\u53e3\n1 = Modbus TCP\/IP\n2 = Modbus UDP\/IP\n3 = Modbus ASCII\/RTU over TCP\/IP\n4 = Modbus ASCII\/RTU over UDP\/IP\n\u4f8b\u5b50\n\n```\n`Connection **=** 0`\n```\n\n#### 13.3.2.&nbsp;\u6ce2\u7279\u7387\n\n\u4ec5\u9002\u7528\u4e8e Connection = 0\n\n\u5c5e\u6027**BaudRate**&nbsp;as Long\u6709\u6548\u503c\n\n300\n600\n1200\n2400\n4800\n9600\uff08\u9ed8\u8ba4\uff09\n14400\n19200\n38400\n56000\n57600\n115200\n128000\n153600\n230400\n256000\n460800\n921600\u4f8b\u5b50\n\n```\n`BaudRate **=** 9600`\n```\n\n#### 13.3.3.&nbsp;\u6570\u636e\u4f4d\n\n\u4ec5\u9002\u7528\u4e8e Connection = 0\n\n\u5c5e\u6027**DataBits**\u4e3a\u6574\u6570\u6709\u6548\u503c\n\n7\n8\uff08\u9ed8\u8ba4\uff09\n\u4f8b\u5b50\n\n```\n`DataBits **=** 8`\n```\n\n#### 13.3.4.&nbsp;\u5e73\u4ef7\n\n\u4ec5\u9002\u7528\u4e8e Connection = 0\n\n\u5c5e\u6027**\u5947\u5076\u6821\u9a8c**\u4e3a\u6574\u6570\u6709\u6548\u503c\n\n0 = \u65e0\n1 = \u5947\u6570\n2 = \u5076\u6570\uff08\u9ed8\u8ba4\uff09\n\u4f8b\u5b50\n\n```\n`Parity **=** 2`\n```\n\n#### 13.3.5.&nbsp;\u505c\u6b62\u4f4d\n\n\u4ec5\u9002\u7528\u4e8e Connection = 0\n\n\u5c5e\u6027**StopBits**\u4e3a\u6574\u6570\u6709\u6548\u503c\n\n1\uff08\u9ed8\u8ba4\uff09\n2\n\u4f8b\u5b50\n\n```\n`StopBits **=** 1`\n```\n\n#### 13.3.6\u3002\u4e32\u884c\u7aef\u53e3\n\n\u4ec5\u9002\u7528\u4e8e Connection = 0\n\n**\u5c06SerialPort**\u5c5e\u6027\u8bbe\u4e3a\u6574\u6570\u6709\u6548\u503c\n\n1\u2026255\n\n\u9ed8\u8ba4\u503c = 1\u4f8b\u5b50\n\n```\n`SerialPort **=** 1`\n```\n\n#### 13.3.7.&nbsp;\u6a21\u5f0f\n\n\u4ec5\u9002\u7528\u4e8e Connection = 0\n\n\u5c5e\u6027**\u6a21\u5f0f**\u4e3a\u6574\u6570\u6709\u6548\u503c\n\n0 = RTU \u6a21\u5f0f\n1 = ASCII \u6a21\u5f0f\n\u4f8b\u5b50\n\n```\n`Mode **=** 1`\n```\n\n#### 13.3.8.&nbsp;\u79fb\u9664\u56de\u58f0\n\n\u4ec5\u9002\u7528\u4e8e Connection = 0\n\u5982\u679c\u60a8\u7684\u8bbe\u5907\u6216 RS232\/RS485 \u8f6c\u6362\u5668\u56de\u663e\u521a\u521a\u53d1\u9001\u7684\u5b57\u7b26\u3002\n\n\u5c5e\u6027**RemoveEcho**\u4e3a\u6574\u6570\u6709\u6548\u503c\n\n0\uff08\u9ed8\u8ba4\uff09\n1\uff08\u53bb\u9664\u56de\u58f0\uff09\n\u4f8b\u5b50\n\n```\n`RemoveEcho **=** 1`\n```\n\n#### 13.3.9\u3002\u54cd\u5e94\u8d85\u65f6\n\nResponseTimeout \u6307\u5b9a Modbus Poll \u5728\u653e\u5f03\u4e4b\u524d\u5e94\u7b49\u5f85\u4ece\u8bbe\u5907\u54cd\u5e94\u7684\u65f6\u95f4\u957f\u5ea6\uff08\u4ee5 ms \u4e3a\u5355\u4f4d\uff09\u3002\n\n\u5c5e\u6027**ResponseTimeout**\u4e3a\u6574\u6570\u6709\u6548\u503c\n\n50\u2026100000\n\n\u9ed8\u8ba4\u503c = 1000\u4f8b\u5b50\n\n```\n`ResponseTimeout **=** 1000`\n```\n\n#### 13.3.10\u3002\u8f6e\u8be2\u4e4b\u95f4\u7684\u5ef6\u8fdf\n\n\u5c5e\u6027**DelayBetweenPolls**\u4e3a\u6574\u6570\u6709\u6548\u503c\n\n0\u20261000\n\n\u9ed8\u8ba4\u503c = 20\u4f8b\u5b50\n\n```\n`DelayBetweenPolls **=** 20`\n```\n\n#### 13.3.11\u3002\u670d\u52a1\u5668\u7aef\u53e3\n\n\u4ec5\u9002\u7528\u4e8e Connection = 1\u20264\n\n\u5c5e\u6027**ServerPort**&nbsp;as Long\u6709\u6548\u503c\n\n0\u202665535\n\n\u9ed8\u8ba4\u503c = 502\u4f8b\u5b50\n\n```\n`ServerPort **=** 502`\n```\n\n#### 13.3.12\u3002\u8fde\u63a5\u8d85\u65f6\n\nConnectTimeout \u6307\u5b9a Modbus Poll \u7b49\u5f85 TCP\/IP \u8fde\u63a5\u6210\u529f\u7684\u65f6\u95f4\u957f\u5ea6\u3002\n\n\u4ec5\u9002\u7528\u4e8e Connection = 1\u20264\n\n\u5c5e\u6027**ConnectTimeout**\u4e3a\u6574\u6570\u6709\u6548\u503c\n\n100\u202630000 \u6beb\u79d2\n\n\u9ed8\u8ba4\u503c = 1000 \u6beb\u79d2\u4f8b\u5b50\n\n```\n`ConnectTimeout **=** 1000`\n```\n\n#### 13.3.13\u3002IP\u7248\u672c\n\n\u4ec5\u9002\u7528\u4e8e Connection = 1\u20264\n\n\u5c5e\u6027**IPVersion**\u4e3a\u6574\u6570\u6709\u6548\u503c\n\n4 = IP \u7248\u672c 4\uff08\u9ed8\u8ba4\uff09\n6 = IP \u7248\u672c 6\n\u4f8b\u5b50\n\n```\n`IPVersion **=** 4`\n```\n\n#### 13.3.14\u3002\u5f00\u653e\u8fde\u63a5\n\n\u6253\u5f00\u4f7f\u7528 Connection \u5c5e\u6027\u9009\u62e9\u7684\u8fde\u63a5\u3002\n\n\u51fd\u6570**OpenConnection**&nbsp;() \u4f5c\u4e3a\u6574\u6570\u53c2\u6570\n\n\u8fd9\u4e2a\u51fd\u6570\u6ca1\u6709\u53c2\u6570\u3002\u8fd4\u56de\u503c\n\n\u9519\u8bef3-5\uff1a\u8bf7\u68c0\u67e5\u60a8\u662f\u5426\u6709\u6700\u65b0\u7684\u4e32\u53e3\u9a71\u52a8\u7a0b\u5e8f\u3002\n\n**\u9519\u8bef****\u63cf\u8ff0**0\u6210\u529f1\u4e32\u53e3\u4e0d\u53ef\u75283\u4e32\u884c\u7aef\u53e3\u3002\u65e0\u6cd5\u4ece\u7aef\u53e3\u9a71\u52a8\u7a0b\u5e8f\u83b7\u53d6\u5f53\u524d\u8bbe\u7f6e\u30024\u4e32\u884c\u7aef\u53e3\u3002\u4e32\u884c\u7aef\u53e3\u9a71\u52a8\u7a0b\u5e8f\u4e0d\u63a5\u53d7\u7aef\u53e3\u8bbe\u7f6e\u30025\u4e32\u884c\u7aef\u53e3\u3002\u4e32\u884c\u7aef\u53e3\u9a71\u52a8\u7a0b\u5e8f\u4e0d\u63a5\u53d7\u8d85\u65f6\u8bbe\u7f6e\u300212TCP\/UDP \u8fde\u63a5\u5931\u8d25\u3002WSA \u542f\u52a813TCP\/UDP \u8fde\u63a5\u5931\u8d25\u3002\u8fde\u63a5\u9519\u8bef14TCP\/UDP \u8fde\u63a5\u5931\u8d25\u3002\u6682\u505c15TCP\/UDP \u8fde\u63a5\u5931\u8d25\u3002IOCTL17TCP\/UDP \u8fde\u63a5\u5931\u8d25\u3002\u5957\u63a5\u5b57\u9519\u8bef21TCP\/UDP \u8fde\u63a5\u5931\u8d25\u3002\u5730\u5740\u4fe1\u606f255\u8fde\u63a5\u5df2\u6253\u5f00\n\nExcel \u793a\u4f8b\u5982\u4f55\u6253\u5f00 Modbus TCP\/IP \u8fde\u63a5\n\n```\n**Public** app **As** **Object**\n**Dim** res **As** **Integer**\n' Create an object to Modbus Poll\n**Set** app **=** CreateObject(\"Mbpoll.Application\")\napp.Connection **=** 1 ' Select Modbus TCP\/IP\napp.IPVersion **=** 4\napp.IPAddress **=** \"192.168.1.27\"\napp.ServerPort **=** 502\napp.ConnectTimeout **=** 1000\napp.ResponseTimeout **=** 1000\nres **=** app.OpenConnection()\n```\n\nPython \u793a\u4f8b\u5982\u4f55\u8bbe\u7f6e\u4e32\u884c\u8fde\u63a5\n\n```\n**import** win32com.client **as** win32\n\nApp **=** win32**.**Dispatch('Mbpoll.Application')\n\nApp**.**Connection **=** 0            # Serial connection\nApp**.**SerialPort **=** 3            # Com port 3\nApp**.**BaudRate **=** 9600           # 9600 baud\nApp**.**Parity **=** 0                # None parity\nApp**.**Mode **=** 0                  # RTU mode\nApp**.**ResponseTimeout **=** 1000    # Wait 1000ms until give up\nApp**.**DelayBetweenPolls **=** 20    # Ensure minimum 20 ms gap until next request\nApp**.**OpenConnection\n\n#Create a Modbus display window called Win1\nWin1 **=** win32**.**Dispatch(\"Mbpoll.Document\")\n\n# Read 10 holding registers from slave ID 1, address 0 (40001) every 1000ms\nWin1**.**ReadHoldingRegisters(1, 0, 10, 1000)\n# Show the Modbus window\nWin1**.**ShowWindow()\n# Show 10 rows\nWin1**.**Rows(0)\n\n# Disable refresh for speed\nWin1**.**EnableRefresh **=** False\n\n# Set the name of the registers\nWin1**.**SetName(0, \"Register 0\")\n\n# Set the value to write\nWin1**.**EnableRefresh **=** True\n\nWin1**.**ResizeAllColumns ()\nWin1**.**ResizeWindow()\n\n_ **=** input(\"Press ENTER to quit:\")\n```\n\n#### \u5173\u95ed\u8fde\u63a5\n\n\u51fd\u6570**CloseConnection**&nbsp;() \u4f5c\u4e3a\u6574\u6570\u53c2\u6570\n\n\u8fd9\u4e2a\u51fd\u6570\u6ca1\u6709\u53c2\u6570\u3002\u8fd4\u56de\u503c\n\n\u6210\u529f\u5219\u4e3a\u96f6\u3002\u5982\u679c\u5931\u8d25\uff0c\u5219\u4e3a\u975e\u96f6\u503c\u3002\n\n#### ShowCommunicationTraffic\n\n\u663e\u793a\u901a\u4fe1\u6d41\u91cf\u7a97\u53e3\u3002\n\n\u51fd\u6570**ShowCommunicationTraffic**&nbsp;()\u53c2\u6570\n\n\u8fd9\u4e2a\u51fd\u6570\u6ca1\u6709\u53c2\u6570\u3002\u8fd4\u56de\u503c\n\n\u6ca1\u6709\n\n#### \u5173\u95ed\u901a\u8baf\u4ea4\u901a\n\n\u5173\u95ed\u901a\u4fe1\u6d41\u91cf\u7a97\u53e3\uff08\u5982\u679c\u663e\u793a\uff09\u3002\n\n\u51fd\u6570**CloseCommunicationTraffic**&nbsp;()\u53c2\u6570\n\n\u8fd9\u4e2a\u51fd\u6570\u6ca1\u6709\u53c2\u6570\u3002\u8fd4\u56de\u503c\n\n\u6ca1\u6709\n\n### \u8bfb\u53d6\u51fd\u6570\n\n\u4ee5\u4e0b\u529f\u80fd\u4e0e\u60a8\u5728\u8bfb\/\u5199\u5b9a\u4e49\u5bf9\u8bdd\u6846 (F8) \u4e2d\u7684\u8bbe\u7f6e\u76f8\u540c\u3002\u8bfb\u53d6\u51fd\u6570\u4e0e Modbus Poll \u6587\u6863\u76f8\u5173\u8054\u3002\uff08\u6570\u636e\u7a97\u53e3\uff09\u4f8b\u5b50\n\n```\n' First a Modbus Poll document is needed.\n**Public** doc **As** **Object**\n\n**Set** doc **=** CreateObject(\"Mbpoll.Document\")\nres **=** doc.ReadCoils(1, 0, 100, 1000) ' Read 100 coils every 1000ms\n```\n\n\u60a8\u5fc5\u987b\u5148\u521b\u5efa\u8bfb\u53d6\uff0c\u7136\u540e\u624d\u80fd\u4f7f\u7528\u5c5e\u6027\u83b7\u53d6\u6570\u636e\u3002\n\n#### \u8bfb\u53d6\u7ebf\u5708\n\nModbus\u529f\u80fd\u780101\n\n\u51fd\u6570**ReadCoils**&nbsp;(SlaveID As Integer, Address As Long, Quantity As Integer, ScanRate As Long) As Integer\u53c2\u6570\n\n**SlaveID\uff1a**\u4ece\u673a\u5730\u5740 1 \u5230 255\n**Address\uff1a**\u6570\u636e\u5730\u5740\uff08Base 0\uff09\n**Quantity\uff1a**\u6570\u636e\u4e2a\u6570\u30021 \u5230 2000\n**\u626b\u63cf\u901f\u7387\uff1a**&nbsp;0 \u5230 3600000 \u6beb\u79d2\u8fd4\u56de\u503c\n\n\u5982\u679c\u6210\u529f\u5219\u4e3a\u771f\u3002\u5982\u679c\u4e0d\u6210\u529f\u5219\u4e3a\u5047\n\n#### \u8bfb\u53d6\u79bb\u6563\u8f93\u5165\n\nModbus\u529f\u80fd\u780102\n\n\u51fd\u6570**ReadDiscreteInputs**&nbsp;(SlaveID As Integer, Address As Long, Quantity As Integer, ScanRate As Long) As Integer\u53c2\u6570\n\n**SlaveID\uff1a**\u4ece\u673a\u5730\u5740 1 \u5230 255\n**Address\uff1a**\u6570\u636e\u5730\u5740\uff08Base 0\uff09\n**Quantity\uff1a**\u6570\u636e\u4e2a\u6570\u30021 \u5230 2000\n**\u626b\u63cf\u901f\u7387\uff1a**&nbsp;0 \u5230 3600000 \u6beb\u79d2\u8fd4\u56de\u503c\n\n\u5982\u679c\u6210\u529f\u5219\u4e3a\u771f\u3002\u5982\u679c\u4e0d\u6210\u529f\u5219\u4e3a\u5047\n\n#### 13.4.3.&nbsp;ReadHoldingRegisters\n\nModbus\u529f\u80fd\u780103\n\n\u51fd\u6570**ReadHoldingRegisters**&nbsp;(SlaveID As Integer, Address As Long, Quantity As Integer, ScanRate As Long) As Integer\u53c2\u6570\n\n**SlaveID\uff1a**\u4ece\u673a\u5730\u5740 1 \u5230 255\n**Address\uff1a**\u6570\u636e\u5730\u5740\uff08Base 0\uff09\n**Quantity\uff1a**\u6570\u636e\u4e2a\u6570\u30021 \u5230 125\n**\u626b\u63cf\u901f\u7387\uff1a**&nbsp;0 \u5230 3600000 \u6beb\u79d2\u8fd4\u56de\u503c\n\n\u5982\u679c\u6210\u529f\u5219\u4e3a\u771f\u3002\u5982\u679c\u4e0d\u6210\u529f\u5219\u4e3a\u5047\n\n#### 13.4.4.&nbsp;\u8bfb\u53d6\u8f93\u5165\u5bc4\u5b58\u5668\n\nModbus\u529f\u80fd\u780104\n\n\u51fd\u6570**ReadInputRegisters**&nbsp;(SlaveID As Integer, Address As Long, Quantity As Integer, ScanRate As Long) As Integer\u53c2\u6570\n\n**SlaveID\uff1a**\u4ece\u673a\u5730\u5740 1 \u5230 255\n**Address\uff1a**\u6570\u636e\u5730\u5740\uff08Base 0\uff09\n**Quantity\uff1a**\u6570\u636e\u4e2a\u6570\u30021 \u5230 125\n**\u626b\u63cf\u901f\u7387\uff1a**&nbsp;0 \u5230 3600000 \u6beb\u79d2\u8fd4\u56de\u503c\n\n\u5982\u679c\u6210\u529f\u5219\u4e3a\u771f\u3002\u5982\u679c\u4e0d\u6210\u529f\u5219\u4e3a\u5047\n\n### \u81ea\u52a8\u5316\u5199\u5165\u51fd\u6570\n\n\u5199\u5165\u51fd\u6570\u5199\u5165\u5b58\u50a8\u5728\u7531\u5c5e\u6027\u586b\u5145\u7684\u6570\u7ec4\u4e2d\u7684\u503c\u3002\u4e0b\u9762\u7684 Write \u51fd\u6570\u4e0d\u521b\u5efa\u6570\u636e\u7a97\u53e3\u3002\u8981\u521b\u5efa\u6570\u636e\u7a97\u53e3\uff0c\u8bf7\u4f7f\u7528 Win \u51fd\u6570\uff0c\u4f8b\u5982[WriteMultipleRegistersWin](#_writemultipleregisterswin)\u3002\n\n#### 13.5.1.&nbsp;\u5199\u5355\u7ebf\u5708\n\nModbus \u529f\u80fd\u4ee3\u7801 05\u3002\n\u5199\u5165\u5b58\u50a8\u5728\u5199\u5165\u6570\u7ec4\u4e2d\u7684\u7b2c\u4e00\u4e2a\u7ebf\u5708\u3002\n\n\u51fd\u6570**WriteSingleCoil**&nbsp;(SlaveID As Integer, Address As Long) As Integer\u53c2\u6570\n\n**SlaveID\uff1a**\u4ece\u673a\u5730\u5740 0 \u5230 255\n**\u5730\u5740\uff1a**\u6570\u636e\u5730\u5740\uff08Base 0\uff09\u8fd4\u56de\u503c\n\n\u5982\u679c\u5199\u5165\u6570\u7ec4\u5df2\u51c6\u5907\u597d\u5e76\u4e14\u6570\u636e\u5df2\u53d1\u9001\uff0c\u5219\u4e3a\u771f\u3002\u5982\u679c\u6570\u7ec4\u4e3a\u7a7a\u6216\u53c2\u6570\u9519\u8bef\uff0c\u5219\u4e3a False\u3002\n\u63a7\u5236\u5e94\u7528\u7a0b\u5e8f\u8d1f\u8d23\u901a\u8fc7\u8bfb\u56de\u5199\u5165\u7684\u503c\u6765\u9a8c\u8bc1\u5199\u5165\u64cd\u4f5c\u3002\n\n#### 13.5.2.&nbsp;\u5199\u5355\u4e2a\u5bc4\u5b58\u5668\n\nModbus \u529f\u80fd\u4ee3\u7801 06\u3002\n\u5199\u5165\u5b58\u50a8\u5728\u5199\u5165\u6570\u7ec4\u4e2d\u7684\u7b2c\u4e00\u4e2a\u5bc4\u5b58\u5668\u3002\n\n\u51fd\u6570**WriteSingleRegister**&nbsp;(SlaveID As Integer, Address As Long) As Integer\u53c2\u6570\n\n**SlaveID\uff1a**\u4ece\u673a\u5730\u5740 0 \u5230 255\n**\u5730\u5740\uff1a**\u6570\u636e\u5730\u5740\uff08Base 0\uff09\u8fd4\u56de\u503c\n\n\u5982\u679c\u5199\u5165\u6570\u7ec4\u5df2\u51c6\u5907\u597d\u5e76\u4e14\u6570\u636e\u5df2\u53d1\u9001\uff0c\u5219\u4e3a\u771f\u3002\u5982\u679c\u6570\u7ec4\u4e3a\u7a7a\u6216\u53c2\u6570\u9519\u8bef\uff0c\u5219\u4e3a False\u3002\n\u63a7\u5236\u5e94\u7528\u7a0b\u5e8f\u8d1f\u8d23\u901a\u8fc7\u8bfb\u56de\u5199\u5165\u7684\u503c\u6765\u9a8c\u8bc1\u5199\u5165\u64cd\u4f5c\u3002\n\n#### 13.5.3.&nbsp;\u5199\u591a\u4e2a\u7ebf\u5708\n\nModbus \u529f\u80fd\u7801 15.\n\u5199\u5165\u5b58\u50a8\u5728\u5199\u5165\u6570\u7ec4\u4e2d\u7684\u7ebf\u5708\u3002\n\n\u51fd\u6570**WriteMultipleCoils**&nbsp;(SlaveID As Integer, Address As Long, Quantity As Integer) As Integer\u8fd4\u56de\u503c\n\n\u5982\u679c\u5199\u5165\u6570\u7ec4\u5df2\u51c6\u5907\u597d\u5e76\u4e14\u6570\u636e\u5df2\u53d1\u9001\uff0c\u5219\u4e3a\u771f\u3002\u5982\u679c\u6570\u7ec4\u4e3a\u7a7a\u6216\u53c2\u6570\u9519\u8bef\uff0c\u5219\u4e3a False\u3002\n\u63a7\u5236\u5e94\u7528\u7a0b\u5e8f\u8d1f\u8d23\u901a\u8fc7\u8bfb\u56de\u5199\u5165\u7684\u503c\u6765\u9a8c\u8bc1\u5199\u5165\u64cd\u4f5c\u3002\u53c2\u6570\n\n**SlaveID\uff1a**\u4ece\u673a\u5730\u5740 0 \u5230 255\n**Address\uff1a**\u6570\u636e\u5730\u5740\uff08Base 0\uff09\n**Quantity**\u6570\u636e\u7684\u6570\u91cf\u30021 \u81f3 1968\n\n#### 13.5.4.&nbsp;\u5199\u591a\u4e2a\u5bc4\u5b58\u5668\n\nModbus \u529f\u80fd\u4ee3\u7801 16.\n\u5199\u5165\u5b58\u50a8\u5728\u5199\u5165\u6570\u7ec4\u4e2d\u7684\u5bc4\u5b58\u5668\u3002\n\n\u51fd\u6570**WriteMultipleRegisters**&nbsp;(SlaveID As Integer, Address As Long, Quantity As Integer) As Integer\u53c2\u6570\n\n**SlaveID\uff1a**\u4ece\u673a\u5730\u5740 0 \u5230 255\n**Address\uff1a**\u6570\u636e\u5730\u5740\uff08Base 0\uff09\n**Quantity\uff1a**\u6570\u636e\u4e2a\u6570\u30021 \u5230 123\u8fd4\u56de\u503c\n\n\u5982\u679c\u5199\u5165\u6570\u7ec4\u5df2\u51c6\u5907\u597d\u5e76\u4e14\u6570\u636e\u5df2\u53d1\u9001\uff0c\u5219\u4e3a\u771f\u3002\u5982\u679c\u6570\u7ec4\u4e3a\u7a7a\u6216\u53c2\u6570\u9519\u8bef\uff0c\u5219\u4e3a False\u3002\n\u63a7\u5236\u5e94\u7528\u7a0b\u5e8f\u8d1f\u8d23\u901a\u8fc7\u8bfb\u56de\u5199\u5165\u7684\u503c\u6765\u9a8c\u8bc1\u5199\u5165\u64cd\u4f5c\u3002\n\n#### 13.5.5.&nbsp;Python \u793a\u4f8b\n\nPython \u793a\u4f8b\u5982\u4f55\u521b\u5efa\u4e00\u4e2a\u4ece\u5730\u5740 0 (40001) \u8bfb\u53d6 10 \u4e2a\u5bc4\u5b58\u5668\u7136\u540e\u5199\u5165 5 \u4e2a\u5bc4\u5b58\u5668\u7684\u7a97\u53e3\u3002Python \u793a\u4f8b\n\n```\n**import** sys\n**import** time\n**import** win32com.client **as** win32\n\nApp **=** win32**.**Dispatch('Mbpoll.Application')\n\nApp**.**Connection **=** 1            # TCP\/IP connection\nApp**.**IPAddress **=** \"127.0.0.1\"\n\nApp**.**ResponseTimeout **=** 1000    # Wait 1000ms until give up\nApp**.**DelayBetweenPolls **=** 20    # Ensure minimum 20 ms gap until next request\nApp**.**ConnectTimeout **=** 500      # Wait 500ms until give up\n\nApp**.**ServerPort **=** 502\nresult **=** App**.**OpenConnection\n\n**if** result **!=** 0:\n   **print**(\"Connection failed. Error: \", result)\n   sys**.**exit()\n\n#Create a Modbus display window called Win1\nWin1 **=** win32**.**Dispatch(\"Mbpoll.Document\")\n\n# Read 10 holding registers from slave ID 1, address 0 (40001) every 1000ms\nWin1**.**ReadHoldingRegisters(1, 0, 10, 1000)\n# Show the Modbus window\nWin1**.**ShowWindow()\n# Show 10 rows\nWin1**.**Rows(0)\n# Resize the window to fit to the grid\nWin1**.**ResizeWindow()\n\ntime**.**sleep(1.0) # Wait until read is done\n\n**if** Win1**.**ReadResult **==** 0:    # Check read result\n   **print**(\"Modbus register 0 (40001) = \", Win1**.**SRegisters(0))\n**else**:\n   **print**(\"Read failed error: = \", Win1**.**ReadResult)\n\n**print** (\"Tx count = %d, Rx count = %d\" **%** (Win1**.**GetTxCount, Win1**.**GetRxCount))\n\n# Prepare the internal array in Modbus Poll with data to write\nWin1**.**SRegisters(0, 1)   # Note that parameter 1 is not a\nWin1**.**SRegisters(1, 10)  # Modbus address but an index to the array\nWin1**.**SRegisters(2, 100)\nWin1**.**SRegisters(3, 1000)\nWin1**.**SRegisters(4, 10000)\n# Write the registers. This function do not create a window in Modbus Poll\n# Use the function &lt;&lt;WriteMultipleRegistersWin&gt;&gt; to create a data window\nWin1**.**WriteMultipleRegisters (1, 0, 5)\n\n_ **=** input(\"Wait for write Press ENTER:\")\n\n**if** Win1**.**WriteResult **==** 0:    # Check write result\n   **print**(\"Modbus write success\")\n**else**:\n   **print**(\"Write failed error: = \", WriteResult)\n\n_ **=** input(\"Press ENTER to quit:\")\n```\n\n### \u5404\u79cd\u529f\u80fd\n\n\u5404\u79cd\u529f\u80fd\u4e0e Modbus Poll \u6587\u6863\u76f8\u5173\u8054\u3002\uff08\u6570\u636e\u7a97\u53e3\uff09\n\n#### 13.6.1.&nbsp;\u5c55\u793a\u7a97\u53e3\n\n\u9ed8\u8ba4 Modbus \u6587\u6863\u7a97\u53e3\u662f\u9690\u85cf\u7684\u3002ShowWindow \u51fd\u6570\u4f7f Modbus Poll \u53ef\u89c1\u5e76\u663e\u793a\u5e26\u6709\u6570\u636e\u5185\u5bb9\u7684\u6587\u6863\u3002\n\n\u51fd\u6570**\u663e\u793a\u7a97\u53e3**\uff08\uff09\u53c2\u6570\n\n\u8fd9\u4e2a\u51fd\u6570\u6ca1\u6709\u53c2\u6570\u3002\u8fd4\u56de\u503c\n\n\u6ca1\u6709\n\n#### 13.6.2.&nbsp;\u83b7\u53d6TxCount\n\n\u68c0\u7d22\u8bf7\u6c42\u6570\u3002\n\n\u51fd\u6570**GetTxCount**&nbsp;() \u53ea\u8981\u53c2\u6570\n\n\u8fd9\u4e2a\u51fd\u6570\u6ca1\u6709\u53c2\u6570\u3002\u8fd4\u56de\u503c\n\n\u8bf7\u6c42\u7684\u6570\u91cf\u3002\n\n#### 13.6.3.&nbsp;\u83b7\u53d6\u63a5\u6536\u8ba1\u6570\n\n\u68c0\u7d22\u54cd\u5e94\u6570\u3002\n\n\u51fd\u6570**GetRxCount**&nbsp;() \u53ea\u8981\u53c2\u6570\n\n\u8fd9\u4e2a\u51fd\u6570\u6ca1\u6709\u53c2\u6570\u3002\u8fd4\u56de\u503c\n\n\u54cd\u5e94\u7684\u6570\u91cf\u3002\n\n#### 13.6.4.&nbsp;\u83b7\u53d6\u540d\u79f0\n\n\u68c0\u7d22\u503c\u7684\u540d\u79f0\u3002\n\n\u51fd\u6570**GetName**\uff08\u7d22\u5f15\u4e3a\u6574\u6570\uff09\u4e3a\u5b57\u7b26\u4e32\u53c2\u6570\n\n**\u7d22\u5f15\uff1a**\u7d22\u5f15 0 \u5bf9\u5e94\u7b2c\u4e00\u4e2a Modbus \u5730\u5740\u3002\u8fd4\u56de\u503c\n\n\u540d\u5b57\u3002\n\n#### 13.6.5.&nbsp;\u96c6\u5408\u540d\u79f0\n\n\u66f4\u6539\u503c\u7684\u540d\u79f0\u3002\u51fd\u6570**SetName**\uff08\u7d22\u5f15\u4e3a\u6574\u6570\uff0c\u540d\u79f0\u4e3a\u5b57\u7b26\u4e32\uff09\u53c2\u6570\n\n**\u7d22\u5f15\uff1a**\u7d22\u5f15 0 \u5bf9\u5e94\u7b2c\u4e00\u4e2a Modbus \u5730\u5740\u3002\n**\u540d\u79f0\uff1a**\u503c\u5355\u5143\u683c\u7684\u540d\u79f0\u3002\u8fd4\u56de\u503c\n\n\u6ca1\u6709\n\n#### 13.6.6\u3002\u5168\u90e8\u683c\u5f0f\u5316\n\n\u4f7f\u7528\u6240\u9009\u683c\u5f0f\u683c\u5f0f\u5316\u6240\u6709\u503c\u5355\u5143\u683c\u3002\n\n\u51fd\u6570**FormatAll**\uff08\u683c\u5f0f\u5316\u4e3a\u6574\u6570\uff09\u53c2\u6570\n\n**\u683c\u5f0f\uff1a**\u503c\u5355\u5143\u683c\u7684\u683c\u5f0f\u3002\u8fd4\u56de\u503c\n\n\u6ca1\u6709\n\n#### 13.6.7.&nbsp;\u83b7\u53d6\u683c\u5f0f\n\n\u68c0\u7d22 Modbus \u503c\u7684\u663e\u793a\u683c\u5f0f\u3002\n\n\u51fd\u6570**GetFormat**\uff08\u7d22\u5f15\u4e3a\u6574\u6570\uff09\u4e3a\u6574\u6570\u53c2\u6570\n\n**\u7d22\u5f15\uff1a**\u7d22\u5f15 0 \u5bf9\u5e94\u7b2c\u4e00\u4e2a Modbus \u5730\u5740\u3002\n\u8fd4\u56de\u503c\n\n**ID****\u683c\u5f0f**0\u7b7e1\u672a\u7b7e\u540d2\u5341\u516d\u8fdb\u52363\u4e8c\u8fdb\u52364\u6d6e\u70b9\u5c0f\u7aef\u5b57\u8282\u4ea4\u63625\u6d6e\u70b9\u5927\u7aef6\u53cc\u5c0f\u7aef\u5b57\u8282\u4ea4\u63627\u53cc\u5927\u7aef\u5e8f832 \u4f4d\u6709\u7b26\u53f7\u5c0f\u7aef\u5b57\u8282\u4ea4\u6362932 \u4f4d\u6709\u7b26\u53f7\u5927\u7aef\u5e8f10\u6d6e\u70b9\u5c0f\u7aef\u5e8f11\u6d6e\u70b9\u5927\u7aef\u5b57\u8282\u4ea4\u636212\u53cc\u5c0f\u7aef\u5e8f13\u53cc\u5927\u7aef\u5b57\u8282\u4ea4\u63621432 \u4f4d\u6709\u7b26\u53f7\u5c0f\u7aef\u5e8f1532 \u4f4d\u6709\u7b26\u53f7\u5927\u7aef\u5b57\u8282\u4ea4\u63621732 \u4f4d\u65e0\u7b26\u53f7\u5927\u7aef\u5e8f1832 \u4f4d\u65e0\u7b26\u53f7\u5c0f\u7aef\u5b57\u8282\u4ea4\u63621932 \u4f4d\u65e0\u7b26\u53f7\u5927\u7aef\u5b57\u8282\u4ea4\u63622032 \u4f4d\u65e0\u7b26\u53f7\u5c0f\u7aef\u5e8f2164 \u4f4d\u6709\u7b26\u53f7\u5927\u7aef\u5e8f2264 \u4f4d\u6709\u7b26\u53f7\u5c0f\u7aef\u5b57\u8282\u4ea4\u63622364 \u4f4d\u6709\u7b26\u53f7\u5927\u7aef\u5b57\u8282\u4ea4\u63622464 \u4f4d\u6709\u7b26\u53f7\u5c0f\u7aef\u5e8f2564 \u4f4d\u65e0\u7b26\u53f7\u5927\u7aef2664 \u4f4d\u65e0\u7b26\u53f7\u5c0f\u7aef\u5b57\u8282\u4ea4\u63622764 \u4f4d\u65e0\u7b26\u53f7\u5927\u7aef\u5b57\u8282\u4ea4\u63622864 \u4f4d\u65e0\u7b26\u53f7\u5c0f\u7aef\u5e8f\n\n\u6b64\u8bbe\u7f6e\u4ec5\u7528\u4e8e\u663e\u793a\u3002\u5728\u4f7f\u7528 Get\/Set \u503c\u51fd\u6570\u65f6\uff0c\u60a8\u4ecd\u7136\u9700\u8981\u4f7f\u7528 byteOrder \u6765\u83b7\u5f97\u6b63\u786e\u7684\u5b57\u8282\u987a\u5e8f\u3002\n\n#### 13.6.8.&nbsp;\u8bbe\u7f6e\u683c\u5f0f\n\n\u66f4\u6539 Modbus \u503c\u7684\u663e\u793a\u683c\u5f0f\u3002\u8bf7\u53c2\u9605\u4e0a\u9762\u7684\u683c\u5f0f\u503c\u3002\n\n\u51fd\u6570**SetFormat**\uff08\u7d22\u5f15\u4e3a\u6574\u6570\uff0c\u683c\u5f0f\u4e3a\u6574\u6570\uff09\u53c2\u6570\n\n**\u7d22\u5f15\uff1a**\u7d22\u5f15 0 \u5bf9\u5e94\u7b2c\u4e00\u4e2a Modbus \u5730\u5740\u3002\n**\u683c\u5f0f\uff1a**\u503c\u5355\u5143\u683c\u7684\u683c\u5f0f\u3002\u8fd4\u56de\u503c\n\n\u6ca1\u6709\n\n#### 13.6.9\u3002\u8c03\u6574\u7a97\u53e3\u5927\u5c0f\n\n\u8c03\u6574\u6253\u5f00\u7684\u7a97\u53e3\u5927\u5c0f\u4ee5\u9002\u5408\u7f51\u683c\u3002\n\n\u51fd\u6570**\u8c03\u6574\u7a97\u53e3**\uff08\uff09\u53c2\u6570\n\n\u8fd9\u4e2a\u51fd\u6570\u6ca1\u6709\u53c2\u6570\u3002\u8fd4\u56de\u503c\n\n\u6ca1\u6709\n\n#### 13.6.10\u3002\u8c03\u6574\u6240\u6709\u5217\u5927\u5c0f\n\n\u8c03\u6574\u6240\u6709\u5217\u7684\u5927\u5c0f\u4ee5\u9002\u5408\u5355\u5143\u683c\u5185\u7684\u503c\u3002\n\n\u51fd\u6570**ResizeAllColumns**&nbsp;()\u53c2\u6570\n\n\u8fd9\u4e2a\u51fd\u6570\u6ca1\u6709\u53c2\u6570\u3002\u8fd4\u56de\u503c\n\n\u6ca1\u6709\n\n#### 13.6.11\u3002\u884c\n\n\u6307\u5b9a\u7f51\u683c\u4e2d\u7684\u884c\u6570\u3002\n\n\u51fd\u6570**\u884c**(NumberRows)\u53c2\u6570\n\n**NumberRows\uff1a**\u7f51\u683c\u4e2d\u7684\u884c\u6570\u3002\n\n**ID****\u63cf\u8ff0**010 \u884c\uff08\u9ed8\u8ba4\uff09120\u884c250 \u884c3100 \u884c4\u9002\u5408\u6570\u91cf\n\n\u8fd4\u56de\u503c\n\n\u6ca1\u6709\n\n#### 13.6.12\u3002\u8bfb\u53d6\u7ed3\u679c\n\n\u4f7f\u7528\u6b64\u5c5e\u6027\u68c0\u67e5\u4e0e Read \u5efa\u7acb\u7684\u901a\u4fe1\u662f\u5426\u8fd0\u884c\u6210\u529f\u3002\n\n\u5c5e\u6027**ReadResult**&nbsp;As Integer\u53c2\u6570\n\n\u8fd9\u4e2a\u51fd\u6570\u6ca1\u6709\u53c2\u6570\u3002\u8fd4\u56de\u503c\n\n\u9519\u8bef\u63cf\u8ff00\u6210\u529f1\u8d85\u65f6\u9519\u8bef2CRC \u9519\u8bef3RESPONSE ERROR\uff08\u54cd\u5e94\u4e0d\u662f\u9884\u671f\u7684\u4ece\u5c5e ID\u3001\u529f\u80fd\u6216\u5730\u5740\uff094\u5199\u9519\u8bef5\u8bfb\u53d6\u9519\u8bef6\u7aef\u53e3\u672a\u6253\u5f00\u9519\u8bef10\u6570\u636e\u672a\u521d\u59cb\u531611\u6536\u5230\u7684\u5b57\u8282\u4e0d\u8db316\u5b57\u8282\u6570\u9519\u8bef19\u4ea4\u6613 ID \u9519\u8bef81\u5c0f\u65f6\u975e\u6cd5\u529f\u80fd82\u5c0f\u65f6\u975e\u6cd5\u6570\u636e\u5730\u574083\u5c0f\u65f6\u975e\u6cd5\u6570\u636e\u503c84\u5c0f\u65f6\u670d\u52a1\u5668\u8bbe\u5907\u6545\u969c85\u5c0f\u65f6\u627f\u8ba486\u5c0f\u65f6\u670d\u52a1\u5668\u8bbe\u5907\u5fd987\u5c0f\u65f6NAK-\u5426\u5b9a\u786e\u8ba48Ah\u7f51\u5173\u8def\u5f84\u4e0d\u53ef\u75288Bh\u7f51\u5173\u76ee\u6807\u8bbe\u5907\u65e0\u6cd5\u54cd\u5e94\n\n#### 13.6.13\u3002\u5199\u7ed3\u679c\n\n\u4f7f\u7528\u6b64\u51fd\u6570\u68c0\u67e5\u5199\u5165\u662f\u5426\u6210\u529f\u3002\n\u8be5\u503c\u662f DATA_UNINITIALIZED\uff0c\u76f4\u5230\u4ece\u7ad9\u7684\u7ed3\u679c\u53ef\u7528\u3002\u6709\u5173\u53ef\u80fd\u503c\u7684\u5217\u8868\uff0c\u8bf7\u53c2\u9605[ReadResult \u3002](#_readresult)\n\n\u5c5e\u6027**WriteResult**&nbsp;As Integer\u8fd4\u56de\u503c\n\n\u4ee5\u6574\u6570\u5f62\u5f0f\u8fd4\u56de\u5199\u5165\u7ed3\u679c\u3002\n\n### \u81ea\u52a8\u5316\u6570\u636e\u5c5e\u6027\n\n\u4ee5\u4e0b\u5c5e\u6027\u7528\u4e8e\u5728 Modbus Poll \u7684\u5185\u90e8\u5199\u5165\/\u8bfb\u53d6\u6570\u7ec4\u4e2d\u8bbe\u7f6e\u6216\u83b7\u53d6\u503c\u3002\u4f7f\u7528\u7684\u7d22\u5f15\u4e0d\u662f Modbus \u5730\u5740\u3002\u65e0\u8bba\u4f7f\u7528\u4ec0\u4e48\u5730\u5740\uff0c\u7d22\u5f15\u603b\u662f\u4ece 0 \u5f00\u59cb\u8ba1\u6570\u3002\u6570\u636e\u5c5e\u6027\u4e0e Modbus Poll \u6587\u6863\u76f8\u5173\u8054\u3002\uff08\u6570\u636e\u7a97\u53e3\uff09\n\n**\u6bcf\u4e2a\u6570\u636e\u5c5e\u6027\u6709 2 \u4e2a\u7248\u672c\uff1a**\n\n- \u6ca1\u6709\u540e\u7f00\u7684\u4e00\u79cd\uff0c\u4f8b\u5982**SRegisters**\uff0c\u7528\u4e8e\u4ece\u5185\u90e8\u5199\u5165\/\u8bfb\u53d6\u6570\u7ec4\u4e2d\u8bbe\u7f6e\u6216\u83b7\u53d6\u503c\u3002\n\n- \u4ee5 Win \u4f5c\u4e3a\u540e\u7f00\u7684\u4e00\u79cd\uff0c\u4f8b\u5982**SRegistersWin**\uff0c\u7528\u4e8e\u76f4\u63a5\u4ece\u6570\u636e\u7a97\u53e3\u8bbe\u7f6e\u6216\u83b7\u53d6\u503c\u3002\u8fd9\u5728\u6570\u636e\u7a97\u53e3\u7528\u4e8e\u5199\u5165\u51fd\u6570\u65f6\u4f7f\u7528\uff0c\u4f8b\u5982[WriteMultipleRegistersWin](#_writemultipleregisterswin)\u3002\n\n**\u793a\u4f8b 1\uff1a**\n\n```\n' doc is assumed created first. See Excel example.\n' Writes 1 to index 0 in the data array used for the Write function later\ndoc.SRegisters(0) **=** 1\ndoc.SRegisters(1) **=** 10\ndoc.SRegisters(2) **=** 1234\n' Write 3 registers stored in Modbus Poll internal array\n' to Modbus address 100 (40101)\n' A window is not created\nres **=** doc.WriteMultipleRegisters(1, 100, 3)\n' The above example do not create a data window but just make a single Modbus write.\n```\n\n**\u5e26\u6709\u6d6e\u70b9\u503c\u7684\u793a\u4f8b 2\uff1a**\n\u5199\u5165 3 \u4e2a\u6d6e\u70b9\u503c\u3002\n\n```\n' doc is assumed created first. See Excel example.\ndoc.Floats(0) **=** 1.3\ndoc.Floats(2) **=** 10.5\ndoc.Floats(4) **=** 1234.12\n' Write the 6 register stored in Modbus Poll\nres **=** doc. WriteMultipleRegisters(1, 0, 6)\n' 6 Registers are written as a floating point value is 32 bit wide.\n```\n\n**\u793a\u4f8b 3\uff1a**\n\u521b\u5efa\u4e00\u4e2a\u5199\u5165 3 \u4e2a\u5bc4\u5b58\u5668\u7684\u7a97\u53e3\u3002\n\n```\n' doc is assumed created first. See Excel example.\n' A window is created that writes the content every 1000ms\nres **=** doc.WriteMultipleRegistersWin(1, 100, 3, 1000)\n' Writes 1 to the first cell in the data window\ndoc.SRegistersWin(0) **=** 1\ndoc.SRegistersWin(1) **=** 10\ndoc.SRegistersWin(2) **=** 1234\n' Now the 3 registers are written to slave id 1 address 100 every 1000ms\n```\n\n#### 13.7.1.&nbsp;\u7ebf\u5708\uff0c\u7ebf\u5708\u8d62\n\n\u5c5e\u6027**\u7ebf\u5708**\uff08\u7d22\u5f15\u4e3a\u6574\u6570\uff09\u4e3a\u6574\u6570\u63cf\u8ff0\n\n\u5728\u5199\u5165\u6570\u7ec4\u7ed3\u6784\u4e2d\u8bbe\u7f6e\u4e00\u4e2a\u7ebf\u5708\u6216\u4ece\u8bfb\u53d6\u6570\u7ec4\u8fd4\u56de\u4e00\u4e2a\u7ebf\u5708\u3002\u53e5\u6cd5\n\n**\u7ebf\u5708**\uff08\u7d22\u5f15\uff09[=newvalue]\n\n#### 13.7.2.&nbsp;SRegisters, SRegistersWin\n\n\u5c5e\u6027**SRegisters**&nbsp;(Index As Integer) As Integer\u63cf\u8ff0\n\n\u5728\u5199\u5165\u6570\u7ec4\u7ed3\u6784\u4e2d\u8bbe\u7f6e\u4e00\u4e2a\u5bc4\u5b58\u5668\u6216\u4ece\u8bfb\u53d6\u6570\u7ec4\u8fd4\u56de\u4e00\u4e2a\u5bc4\u5b58\u5668\u3002\u53e5\u6cd5\n\n**SRegisters**\uff08\u7d22\u5f15\uff09[=\u65b0\u503c]\n\n#### 13.7.3.&nbsp;URegisters, URegistersWin\n\n\u5c5e\u6027**URegisters**\uff08\u7d22\u5f15\u4e3a\u6574\u6570\uff09\u53ea\u8981\u63cf\u8ff0\n\n\u5728\u5199\u5165\u6570\u7ec4\u7ed3\u6784\u4e2d\u8bbe\u7f6e\u4e00\u4e2a\u5bc4\u5b58\u5668\u6216\u4ece\u8bfb\u53d6\u6570\u7ec4\u8fd4\u56de\u4e00\u4e2a\u5bc4\u5b58\u5668\u3002\u53e5\u6cd5\n\n**URegisters**\uff08\u7d22\u5f15\uff09[=\u65b0\u503c]\n\n#### 13.7.4.&nbsp;Ints_32, Ints_32Win\n\n\u5c5e\u6027**Ints_32**\uff08\u7d22\u5f15\u4e3a\u6574\u6570\uff09\u4e3a Double\u63cf\u8ff0\n\n\u5728\u5199\u5165\u6570\u7ec4\u7ed3\u6784\u4e2d\u8bbe\u7f6e\u4e00\u4e2a 32 \u4f4d\u6574\u6570\u6216\u4ece\u8bfb\u53d6\u6570\u7ec4\u8fd4\u56de\u4e00\u4e2a\u6574\u6570\u3002\u53e5\u6cd5\n\n**Ints_32**\uff08\u7d22\u5f15\uff09[=\u65b0\u503c]\n\n#### 13.7.5\u3002UInts_32, UInts_32Win\n\n\u5c5e\u6027**UInts_32**&nbsp;(Index As Integer) As Double\u63cf\u8ff0\n\n\u5728\u5199\u5165\u6570\u7ec4\u7ed3\u6784\u4e2d\u8bbe\u7f6e\u4e00\u4e2a 32 \u4f4d\u65e0\u7b26\u53f7\u6574\u6570\u6216\u4ece\u8bfb\u53d6\u6570\u7ec4\u8fd4\u56de\u4e00\u4e2a\u65e0\u7b26\u53f7\u6574\u6570\u3002\u53e5\u6cd5\n\n**UInts_32**\uff08\u7d22\u5f15\uff09[=\u65b0\u503c]\n\n#### 13.7.6\u3002Ints_64, Ints_64Win\n\n\u5c5e\u6027**Ints_64**\uff08\u7d22\u5f15\u4e3a\u6574\u6570\uff09\u4e3a Double\u63cf\u8ff0\n\n\u5728\u5199\u5165\u6570\u7ec4\u7ed3\u6784\u4e2d\u8bbe\u7f6e\u4e00\u4e2a 64 \u4f4d\u6574\u6570\u6216\u4ece\u8bfb\u53d6\u6570\u7ec4\u8fd4\u56de\u4e00\u4e2a\u6574\u6570\u3002\u53e5\u6cd5\n\n**Ints_64**\uff08\u7d22\u5f15\uff09[=\u65b0\u503c]\n\n#### 13.7.7.&nbsp;UInts_64, UInts_64Win\n\n\u5c5e\u6027**UInts_64**&nbsp;(Index As Integer) As Double\u63cf\u8ff0\n\n\u5728\u5199\u5165\u6570\u7ec4\u7ed3\u6784\u4e2d\u8bbe\u7f6e\u4e00\u4e2a 64 \u4f4d\u65e0\u7b26\u53f7\u6574\u6570\u6216\u4ece\u8bfb\u53d6\u6570\u7ec4\u8fd4\u56de\u4e00\u4e2a\u65e0\u7b26\u53f7\u6574\u6570\u3002\u53e5\u6cd5\n\n**UInts_64**\uff08\u7d22\u5f15\uff09[=\u65b0\u503c]\n\n#### 13.7.8\u3002\u82b1\u8f66\uff0c\u82b1\u8f66\u8d62\n\n\u5c5e\u6027**\u6d6e\u70b9\u6570**\uff08\u7d22\u5f15\u4e3a\u6574\u6570\uff09\u4e3a\u5355\u4e2a\u63cf\u8ff0\n\n\u5728\u5199\u5165\u6570\u7ec4\u7ed3\u6784\u4e2d\u8bbe\u7f6e\u4e00\u4e2a\u6d6e\u70b9\u6570\u6216\u4ece\u8bfb\u53d6\u6570\u7ec4\u8fd4\u56de\u4e00\u4e2a\u6d6e\u70b9\u6570\u3002\u53e5\u6cd5\n\n**\u6d6e\u70b9\u6570**\uff08\u7d22\u5f15\uff09[=newvalue]\n\n#### 13.7.9\u3002\u53cc\u6253\uff0c\u53cc\u6253\u8d62\n\n\u5c5e\u6027**\u53cc\u7cbe\u5ea6\u6570**\uff08\u7d22\u5f15\u4e3a\u6574\u6570\uff09\u53cc\u7cbe\u5ea6\u6570\u63cf\u8ff0\n\n\u5728\u5199\u5165\u6570\u7ec4\u7ed3\u6784\u4e2d\u8bbe\u7f6e\u53cc\u7cbe\u5ea6\u6216\u4ece\u8bfb\u53d6\u6570\u7ec4\u8fd4\u56de\u53cc\u7cbe\u5ea6\u3002\u53e5\u6cd5\n\n**\u53cc\u6253**\uff08\u7d22\u5f15\uff09[=newvalue]\n\n#### 13.7.10\u3002\u5b57\u8282\u5e8f\n\n\u5c5e\u6027**ByteOrder**&nbsp;As Integer\u63cf\u8ff0\n\n\u8bbe\u7f6e Ints_32\u3001UInts_32\u3001Ints_64\u3001UInts_64\u3001Floats \u548c Doubles \u5c5e\u6027\u4f7f\u7528\u7684\u5b57\u8282\u987a\u5e8f\u3002\nWin \u7248\u672c\u4e0d\u4f7f\u7528\u6b64\u5c5e\u6027**ByteOrder**\u3002\n\n**ID****\u5b57\u8282\u5e8f**0\u5927\u7aef\uff08\u9ed8\u8ba4\uff091\u5c0f\u7aef\u5b57\u8282\u4ea4\u63622\u5927\u7aef\u5b57\u8282\u4ea4\u63623\u5c0f\u7aef\u5e8f\n\n**Ints_32 \u793a\u4f8b\uff1a**\n\u5b57\u8282\u987a\u5e8f\uff1a\u5927\u7aef\n\u5341\u8fdb\u5236\u6570 123456789 \u6216\u5341\u516d\u8fdb\u5236 07 5B CD 15\n\u5b83\u4eec\u5728 Modbus \u6d88\u606f\u4e2d\u901a\u8fc7\u7ebf\u8def\u7684\u987a\u5e8f\uff1a07 5B CD 15\u53e5\u6cd5\n\n**\u5b57\u8282\u987a\u5e8f**[=\u65b0\u503c]\n\n### \u7f16\u5199\u51fd\u6570\uff08\u521b\u5efa\u6570\u636e\u7a97\u53e3\uff09\n\n\u4ee5\u4e0b\u529f\u80fd\u4e0e\u60a8\u5728\u8bfb\/\u5199\u5b9a\u4e49\u5bf9\u8bdd\u6846 (F8) \u4e2d\u8bbe\u7f6e\u7684\u529f\u80fd\u76f8\u540c\u3002\n\u8fd9\u4e9b\u51fd\u6570\u521b\u5efa\u4e00\u4e2a\u6570\u636e\u7a97\u53e3\uff0c\u6570\u636e\u7a97\u53e3\u4e2d\u7684\u6570\u636e\u5185\u5bb9\u6839\u636e\u626b\u63cf\u901f\u7387\u5199\u5165\u3002\n\n#### 13.8.1.&nbsp;\u5199\u5355\u7ebf\u5708\u8d62\n\nModbus \u529f\u80fd\u4ee3\u7801 05\u3002\n\n\u51fd\u6570**WriteSingleCoilWin**&nbsp;(SlaveID As Integer, Address As Long, ScanRate As Long) As Integer\u53c2\u6570\n\n**SlaveID\uff1a**\u4ece\u673a\u5730\u5740 1 \u5230 255\n**\u5730\u5740\uff1a**\u6570\u636e\u5730\u5740\uff08Base 0\uff09\n**ScanRate\uff1a**&nbsp;0 \u5230 3600000ms\u8fd4\u56de\u503c\n\n\u5982\u679c\u6210\u529f\u5219\u4e3a\u771f\u3002\u5982\u679c\u4e0d\u6210\u529f\u5219\u4e3a\u5047\n\n#### 13.8.2.&nbsp;\u5199\u5355\u5bc4\u5b58\u5668\u8d62\n\nModbus \u529f\u80fd\u4ee3\u7801 06\u3002\n\n\u51fd\u6570**WriteSingleRegisterWin**&nbsp;(SlaveID As Integer, Address As Long, ScanRate As Long) As Integer\u53c2\u6570\n\n**SlaveID\uff1a**\u4ece\u673a\u5730\u5740 1 \u5230 255\n**\u5730\u5740\uff1a**\u6570\u636e\u5730\u5740\uff08Base 0\uff09\n**ScanRate\uff1a**&nbsp;0 \u5230 3600000ms\u8fd4\u56de\u503c\n\n\u5982\u679c\u6210\u529f\u5219\u4e3a\u771f\u3002\u5982\u679c\u4e0d\u6210\u529f\u5219\u4e3a\u5047Python \u793a\u4f8b\u5982\u4f55\u6253\u5f00\u4e00\u4e2a\u7a97\u53e3\u5e76\u6bcf 1000 \u6beb\u79d2\u5199\u5165\u4e00\u4e2a\u5bc4\u5b58\u5668\n\n```\n**import** win32com.client **as** win32\n\nSIGNED **=** 0\n\nApp **=** win32**.**Dispatch('Mbpoll.Application')\n\nApp**.**Connection **=** 1\nApp**.**IPAddress **=** \"127.0.0.1\"\n\nApp**.**ServerPort **=** 502\nApp**.**OpenConnection\n\n#Create a Modbus display window called Win1\nWin1 **=** win32**.**Dispatch(\"Mbpoll.Document\")\n\n# Write 1 holding registers to slave ID 1, address 0 (40001) every 1000 ms\nWin1**.**WriteSingleRegisterWin(1, 0, 1000)\n# Show the Modbus window\nWin1**.**ShowWindow()\n\n# Fit rows to quantity\nWin1**.**Rows(4)\n\n# Disable refresh for speed\nWin1**.**EnableRefresh **=** False\n\n# This sets how the value is displayed\nWin1**.**SetFormat(0, SIGNED)\n\n# Set the Name of the register\nWin1**.**SetName(0, \"Setting\")\n\n# Set the value to write\nWin1**.**SRegistersWin(0, 100)\nWin1**.**EnableRefresh **=** True\n\nWin1**.**ResizeAllColumns ()\nWin1**.**ResizeWindow()\n\n_ **=** input(\"Press ENTER to quit:\")\n```\n\n#### 13.8.3.&nbsp;WriteMultipleCoilsWin\n\nModbus \u529f\u80fd\u4ee3\u7801 15\u3002\n\n\u51fd\u6570**WriteMultipleCoilsWin**&nbsp;(SlaveID As Integer, Address As Long, Quantity As Integer, ScanRate As Long) As Integer\u53c2\u6570\n\n**SlaveID\uff1a**\u4ece\u673a\u5730\u5740 1 \u5230 255\n**Address\uff1a**\u6570\u636e\u5730\u5740\uff08Base 0\uff09\n**Quantity\uff1a**\u6570\u636e\u4e2a\u6570\u30021 \u5230 1968\n**\u626b\u63cf\u901f\u7387\uff1a**&nbsp;0 \u5230 3600000 \u6beb\u79d2\u8fd4\u56de\u503c\n\n\u5982\u679c\u6210\u529f\u5219\u4e3a\u771f\u3002\u5982\u679c\u4e0d\u6210\u529f\u5219\u4e3a\u5047\n\n#### 13.8.4.&nbsp;WriteMultipleRegistersWin\n\nModbus \u529f\u80fd\u4ee3\u7801 16\u3002\n\n\u51fd\u6570**WriteMultipleRegistersWin**&nbsp;(SlaveID As Integer, Address As Long, Quantity As Integer, ScanRate As Long) As Integer\u53c2\u6570\n\n**SlaveID\uff1a**\u4ece\u673a\u5730\u5740 1 \u5230 255\n**Address\uff1a**\u6570\u636e\u5730\u5740\uff08Base 0\uff09\n**Quantity\uff1a**\u6570\u636e\u4e2a\u6570\u30021 \u5230 123\n**\u626b\u63cf\u901f\u7387\uff1a**&nbsp;0 \u5230 3600000 \u6beb\u79d2\u8fd4\u56de\u503c\n\n\u5982\u679c\u6210\u529f\u5219\u4e3a\u771f\u3002\u5982\u679c\u4e0d\u6210\u529f\u5219\u4e3a\u5047\n\n## \u5f02\u5e38\u548c\u9519\u8bef\u4fe1\u606f\n\nModbus \u5f02\u5e38\u548c\u9519\u8bef\u6d88\u606f\u4ee5\u7ea2\u8272\u6587\u672c\u663e\u793a\u5728\u6bcf\u4e2a\u7a97\u53e3\u7684\u7b2c 2 \u884c\u3002\n\n![](https:\/\/image.modbus.cn\/wp-content\/uploads\/2023\/10\/20231013175656866.png)\n\n### Modbus \u5f02\u5e38\u4ee3\u7801\n\nModbus \u5f02\u5e38\u662f\u4ece\u8bbe\u5907\u8fd4\u56de\u7684\u9519\u8bef\u3002\n\n\u4ee3\u7801\u59d3\u540d\u610f\u4e4901\u975e\u6cd5\u529f\u80fd\u67e5\u8be2\u4e2d\u6536\u5230\u7684\u529f\u80fd\u4ee3\u7801\u4e0d\u662f\u670d\u52a1\u5668\uff08\u6216\u4ece\u673a\uff09\u5141\u8bb8\u7684\u64cd\u4f5c\u3002\u8fd9\u53ef\u80fd\u662f\u56e0\u4e3a\u8be5\u529f\u80fd\u7801\u4ec5\u9002\u7528\u4e8e\u8f83\u65b0\u7684\u8bbe\u5907\uff0c\u5e76\u6ca1\u6709\u5728\u6240\u9009\u5355\u5143\u4e2d\u5b9e\u73b0\u3002\u5b83\u8fd8\u53ef\u80fd\u8868\u660e\u670d\u52a1\u5668\uff08\u6216\u4ece\u5c5e\uff09\u5904\u4e8e\u9519\u8bef\u72b6\u6001\u6765\u5904\u7406\u8fd9\u79cd\u7c7b\u578b\u7684\u8bf7\u6c42\uff0c\u4f8b\u5982\u56e0\u4e3a\u5b83\u6ca1\u6709\u914d\u7f6e\u5e76\u4e14\u88ab\u8981\u6c42\u8fd4\u56de\u5bc4\u5b58\u5668\u503c\u300202\u975e\u6cd5\u6570\u636e\u5730\u5740\u67e5\u8be2\u4e2d\u6536\u5230\u7684\u6570\u636e\u5730\u5740\u4e0d\u662f\u670d\u52a1\u5668\u5141\u8bb8\u7684\u5730\u5740\u3002\u66f4\u5177\u4f53\u5730\u8bf4\uff0c\u53c2\u8003\u53f7\u548c\u4f20\u8f93\u957f\u5ea6\u7684\u7ec4\u5408\u662f\u65e0\u6548\u7684\u3002\u5bf9\u4e8e\u4e00\u4e2a\u6709 100 \u4e2a\u5bc4\u5b58\u5668\u7684\u63a7\u5236\u5668\uff0cPDU \u5bfb\u5740\u7b2c\u4e00\u4e2a\u5bc4\u5b58\u5668\u4e3a 0\uff0c\u6700\u540e\u4e00\u4e2a\u5bc4\u5b58\u5668\u4e3a 99\u3002\u5982\u679c\u63d0\u4ea4\u7684\u8bf7\u6c42\u8d77\u59cb\u5bc4\u5b58\u5668\u5730\u5740\u4e3a 96\uff0c\u5bc4\u5b58\u5668\u6570\u91cf\u4e3a 4\uff0c\u5219\u8be5\u8bf7\u6c42\u5c06\u6210\u529f\u8fd0\u884c\uff08\u81f3\u5c11\u5728\u5730\u5740\u65b9\u9762\uff09\u5728\u5bc4\u5b58\u5668 96\u300197\u300198\u300199 \u4e0a\u3002\u5982\u679c\u63d0\u4ea4\u7684\u8bf7\u6c42\u7684\u8d77\u59cb\u5bc4\u5b58\u5668\u5730\u5740\u4e3a 96\uff0c\u5bc4\u5b58\u5668\u6570\u91cf\u4e3a 5\uff0c\u5219\u6b64\u8bf7\u6c42\u5c06\u5931\u8d25\uff0c\u5f02\u5e38\u4ee3\u7801 0x02\u201c\u975e\u6cd5\u6570\u636e\u5730\u5740\u201d\u56e0\u4e3a\u5b83\u8bd5\u56fe\u5bf9\u5bc4\u5b58\u5668 96\u300197\u300198\u300199 \u548c 100 \u8fdb\u884c\u64cd\u4f5c\uff0c\u5e76\u4e14\u6ca1\u6709\u5730\u5740\u4e3a 100 \u7684\u5bc4\u5b58\u5668\u300203\u975e\u6cd5\u6570\u636e\u503c\u67e5\u8be2\u6570\u636e\u5b57\u6bb5\u4e2d\u5305\u542b\u7684\u503c\u4e0d\u662f\u670d\u52a1\u5668\uff08\u6216\u4ece\u5c5e\uff09\u5141\u8bb8\u7684\u503c\u3002\u8fd9\u8868\u660e\u590d\u6742\u8bf7\u6c42\u7684\u5176\u4f59\u90e8\u5206\u7684\u7ed3\u6784\u5b58\u5728\u9519\u8bef\uff0c\u4f8b\u5982\u9690\u542b\u957f\u5ea6\u4e0d\u6b63\u786e\u3002\u8fd9\u5e76\u4e0d\u610f\u5473\u7740\u63d0\u4ea4\u5b58\u50a8\u5728\u5bc4\u5b58\u5668\u4e2d\u7684\u6570\u636e\u9879\u5177\u6709\u8d85\u51fa\u5e94\u7528\u7a0b\u5e8f\u9884\u671f\u7684\u503c\uff0c\u56e0\u4e3a MODBUS \u534f\u8bae\u4e0d\u77e5\u9053\u4efb\u4f55\u7279\u5b9a\u5bc4\u5b58\u5668\u7684\u4efb\u4f55\u7279\u5b9a\u503c\u7684\u91cd\u8981\u6027\u300204\u670d\u52a1\u5668\u8bbe\u5907\u6545\u969c\u670d\u52a1\u5668\uff08\u6216\u4ece\u5c5e\u670d\u52a1\u5668\uff09\u5c1d\u8bd5\u6267\u884c\u8bf7\u6c42\u7684\u64cd\u4f5c\u65f6\u53d1\u751f\u4e0d\u53ef\u6062\u590d\u7684\u9519\u8bef\u300205\u627f\u8ba4\u4e13\u95e8\u4e0e\u7f16\u7a0b\u547d\u4ee4\u7ed3\u5408\u4f7f\u7528\u3002\n\u670d\u52a1\u5668\uff08\u6216\u4ece\u5c5e\u670d\u52a1\u5668\uff09\u5df2\u63a5\u53d7\u8bf7\u6c42\u5e76\u6b63\u5728\u5904\u7406\u5b83\uff0c\u4f46\u8fd9\u6837\u505a\u9700\u8981\u5f88\u957f\u65f6\u95f4\u3002\u8fd4\u56de\u6b64\u54cd\u5e94\u4ee5\u9632\u6b62\u5728\u5ba2\u6237\u7aef\uff08\u6216\u4e3b\u63a7\uff09\u4e2d\u53d1\u751f\u8d85\u65f6\u9519\u8bef\u3002\u5ba2\u6237\u7aef\uff08\u6216\u4e3b\u63a7\uff09\u63a5\u4e0b\u6765\u53ef\u4ee5\u53d1\u51fa\u8f6e\u8be2\u7a0b\u5e8f\u5b8c\u6210\u6d88\u606f\u4ee5\u786e\u5b9a\u5904\u7406\u662f\u5426\u5b8c\u6210\u300206\u670d\u52a1\u5668\u8bbe\u5907\u5fd9\u4e13\u95e8\u4e0e\u7f16\u7a0b\u547d\u4ee4\u7ed3\u5408\u4f7f\u7528\u3002\n\u670d\u52a1\u5668\uff08\u6216\u4ece\u673a\uff09\u6b63\u5728\u5904\u7406\u4e00\u4e2a\u957f\u65f6\u95f4\u7684\u7a0b\u5e8f\u547d\u4ee4\u3002\u5f53\u670d\u52a1\u5668\uff08\u6216\u4ece\u5c5e\uff09\u7a7a\u95f2\u65f6\uff0c\u5ba2\u6237\u7aef\uff08\u6216\u4e3b\u63a7\uff09\u5e94\u7a0d\u540e\u91cd\u65b0\u4f20\u8f93\u6d88\u606f\u30020A\u7f51\u5173\u8def\u5f84\u4e0d\u53ef\u7528\u4e0e\u7f51\u5173\u7ed3\u5408\u4f7f\u7528\u65f6\uff0c\u8868\u793a\u7f51\u5173\u65e0\u6cd5\u5206\u914d\u4ece\u8f93\u5165\u7aef\u53e3\u5230\u8f93\u51fa\u7aef\u53e3\u7684\u5185\u90e8\u901a\u4fe1\u8def\u5f84\u4ee5\u5904\u7406\u8bf7\u6c42\u3002\u901a\u5e38\u610f\u5473\u7740\u7f51\u5173\u914d\u7f6e\u9519\u8bef\u6216\u8fc7\u8f7d\u30020B\u7f51\u5173\u76ee\u6807\u8bbe\u5907\u54cd\u5e94\u5931\u8d25\u4e0e\u7f51\u5173\u7ed3\u5408\u4f7f\u7528\u65f6\uff0c\u8868\u793a\u672a\u4ece\u76ee\u6807\u8bbe\u5907\u83b7\u5f97\u54cd\u5e94\u3002\u901a\u5e38\u610f\u5473\u7740\u8be5\u8bbe\u5907\u4e0d\u5b58\u5728\u4e8e\u7f51\u7edc\u4e0a\u3002\n\n### Modbus \u8f6e\u8be2\u9519\u8bef\u6d88\u606f\n\n\u9519\u8bef\u4fe1\u606f\u610f\u4e49\u8d85\u65f6\u9519\u8bef\u672a\u5728\u9884\u671f\u65f6\u95f4\u5185\u6536\u5230\u54cd\u5e94\u3002\u68c0\u67e5\u4ee5\u4e0b\u5185\u5bb9\uff1a\u4e32\u884c\u8fde\u63a5\u4e32\u884c\u8bbe\u7f6e\uff0c\u5982\u6ce2\u7279\u7387\u3001\u5947\u5076\u6821\u9a8c\u3001\u6570\u636e\u4f4d\u3001\u505c\u6b62\u4f4d\u7b49\u3002Modbus \u6a21\u5f0f\uff0cRTU \u6216 ASCII\u4ece\u7ad9 ID\u54cd\u5e94\u8d85\u65f6TCP\/IP \u8fde\u63a5\u54cd\u5e94\u8d85\u65f6\u68c0\u67e5Host\u548cPort\u4e0e\u4ece\u673a\u662f\u5426\u4e00\u81f4\u54cd\u5e94\u9519\u8bef\u53cd\u5e94\u4e0d\u662f\u9884\u671f\u7684\u3002\u4e0d\u540c\u7684\u4ece\u7ad9 ID\u3002CRC \u9519\u8bef\u63a5\u6536\u5230\u7684\u54cd\u5e94\u7684 CRC \u503c\u4e0d\u6b63\u786e\u3002\u5199\u5165\u9519\u8bef\u8fd9\u662f\u4e32\u884c\u9a71\u52a8\u7a0b\u5e8f\u62a5\u544a\u7684\u9519\u8bef\u3002\u5982\u679c\u4f7f\u7528 USB\/RS232\/485 \u8f6c\u6362\u5668\u5e76\u4e14\u62d4\u4e0b USB \u7535\u7f06\uff0c\u5219\u53ef\u80fd\u4f1a\u53d1\u751f\u8fd9\u79cd\u60c5\u51b5\u3002\u67094\u79cd\u7c7b\u578b\uff1a\u4e2d\u65ad\u6761\u4ef6\u8f93\u5165\u8f93\u51fa\u9519\u8bef\u4e32\u884c\u8fde\u63a5\u9519\u8bef\u8f93\u51fa\u7f13\u51b2\u533a\u6ea2\u51fa\u4f7f\u7528 TCP\/IP \u8fde\u63a5\u7684\u5199\u5165\u9519\u8bef\u901a\u5e38\u662f\u7531\u4e8e\u8fde\u63a5\u4e22\u5931\u5f15\u8d77\u7684\u3002\u8bfb\u53d6\u9519\u8bef\u8fd9\u662f\u4e32\u884c\u9a71\u52a8\u7a0b\u5e8f\u62a5\u544a\u7684\u9519\u8bef\u3002\u67096\u79cd\uff1a\u6784\u56fe\u9519\u8bef\u5b57\u7b26\u7f13\u51b2\u533a\u6ea2\u51fa\u5947\u5076\u6821\u9a8c\u9519\u8bef\u8f93\u5165\u7f13\u51b2\u533a\u6ea2\u51fa\u8f93\u5165\u8f93\u51fa\u9519\u8bef\u4e2d\u65ad\u6761\u4ef6\u4f7f\u7528 TCP\/IP \u8fde\u63a5\u8bfb\u53d6\u9519\u8bef\u901a\u5e38\u662f\u7531\u4e8e\u8fde\u63a5\u4e22\u5931\u9020\u6210\u7684\u3002\u6536\u5230\u7684\u5b57\u8282\u6570\u4e0d\u8db3\u54cd\u5e94\u4e0d\u662f\u9884\u671f\u7684\u957f\u5ea6\u3002\u5b57\u8282\u6570\u9519\u8bef\u54cd\u5e94\u4e2d\u7684\u5b57\u8282\u6570\u4e0d\u6b63\u786e\u3002\u4e0e\u9884\u671f\u76f8\u6bd4\u3002\u4ea4\u6613 ID \u9519\u8bef\u5b83\u7528\u4e8e\u4e8b\u52a1\u914d\u5bf9\uff0cMODBUS \u670d\u52a1\u5668\u5728\u54cd\u5e94\u4e2d\u590d\u5236\u8bf7\u6c42\u7684\u4e8b\u52a1\u6807\u8bc6\u7b26\u3002\n\n## \u8f6f\u4ef6\u7248\u672c\u4e3aModbus Poll 9.9.2.1690\u4e2d\u6587\u7248\uff0c\u8bf7\u5927\u5bb6\u8bc4\u8bba\u540e\u4e0b\u8f7d\uff01\uff01\uff01\n\n![](https:\/\/image.modbus.cn\/wp-content\/uploads\/2024\/03\/20240327161931529.png)\n\n---\n*modbus.cn*\n"