"# RS-485 \u58f0\u5149\u62a5\u8b66\u5668\u4f7f\u7528\u8bf4\u660e\u4e66\n\n> 2025-09-13 | 2026-06-27\n> https:\/\/www.modbus.cn\/en\/32606.html\n\n**\u672a\u5206\u7c7b**\n\n---\n\nUSB\/RS-485 \u58f0\u5149\u62a5\u8b66\u5668\n\u7528\u6237\u4f7f\u7528\u8bf4\u660e\u4e66 V1.0\n\n\uff08\u9002\u7528\u4e8e 5 V USB \u6216 10-30 V \u76f4\u6d41\u4f9b\u7535\u3001Modbus-RTU \u534f\u8bae\u7684\u6240\u6709\u578b\u53f7\uff09\n\n## 1. \u4ea7\u54c1\u6982\u8ff0\n\n\u58f0\u5149\u62a5\u8b66\u5668\u901a\u8fc7\u9ad8\u4eae\u5ea6 LED \u706f\u73e0\u4e0e\u538b\u7535\u8702\u9e23\u5668\u540c\u65f6\u52a8\u4f5c\uff0c\u5b9e\u73b0 360\u00b0 \u53ef\u89c6\u4e0e 100 dB \u7ea7\u58f0\u62a5\u8b66\u3002\n\n- \u4f4e\u529f\u8017\u3001\u957f\u5bff\u547d\u3001\u65e0\u673a\u68b0\u8f6c\u52a8\u90e8\u4ef6\n\n- \u652f\u6301 5 V USB \u6216 10-30 V \u5bbd\u7535\u538b\u4f9b\u7535\n\n- \u901a\u4fe1\u63a5\u53e3\uff1aUSB-\u4e32\u53e3\uff08CH340 \u82af\u7247\uff09\u6216 RS-485\uff0cModbus-RTU \u534f\u8bae\uff0c9600 bps\uff0c8E1\n\n- \u706f\u8272\uff1a\u7ea2\u3001\u9ec4\u3001\u7eff\u3001\u84dd\u3001\u767d\uff08\u4e94\u9009\u4e00\u6216\u7ec4\u5408\uff09\n\n- \u95ea\u6cd5\uff1a\u5e38\u4eae\u3001\u6162\u95ea\u3001\u5feb\u95ea\u3001\u8702\u9e23\u540c\u6b65\/\u5f02\u6b65\n\n- \u9002\u7528\u4e8e\u706b\u707e\u62a5\u8b66\u3001\u5b89\u9632\u76d1\u63a7\u3001\u751f\u4ea7\u7ebf\u6545\u969c\u3001\u667a\u80fd\u697c\u5b87\u7b49\u573a\u666f\u3002\n\n## 2. \u6280\u672f\u53c2\u6570\n\n\u9879\u76ee\u89c4\u683c\u5de5\u4f5c\u7535\u538b5 V USB \u6216 10-30 VDC\u5de5\u4f5c\u7535\u6d41\u2264 120 mA\uff085 V\uff0c\u6ee1\u8f7d\uff09\u58f0\u538b\u7ea7\u2265 100 dB @ 1 m\u53d1\u5149\u89d2\u5ea6360\u00b0\u901a\u4fe1\u534f\u8baeModbus-RTU\uff08\u4ece\u7ad9\uff09\u9ed8\u8ba4\u5730\u57400x01\u6ce2\u7279\u73879600 bps\uff08\u53ef\u8bbe 2400-115200\uff09\u5de5\u4f5c\u6e29\u5ea6-20 \u2103 ~ +60 \u2103\u9632\u62a4\u7b49\u7ea7IP54\uff08\u5ba4\u5185\u578b\uff09\u5b89\u88c5\u65b9\u5f0f\u5e95\u90e8 M20\u00d71.5 \u87ba\u6bcd\u56fa\u5b9a\u6216\u78c1\u5438\n\n## 3. \u5feb\u901f\u63a5\u7ebf\n\n3.1 USB \u63a5\u53e3\uff085 V \u7248\uff09\n\n- \u76f4\u63a5\u63d2\u5165 PC USB \u53e3\uff0c\u7cfb\u7edf\u81ea\u52a8\u8bc6\u522b\u4e3a COMx\uff08CH340 \u9a71\u52a8\u672a\u5b89\u88c5\u65f6\u8bf7\u5148\u884c\u5b89\u88c5\uff09\u3002\n\n- \u65e0\u9700\u5916\u63a5\u7535\u6e90\uff0c\u603b\u7ebf\u6700\u5927\u7535\u6d41 200 mA\uff0c\u8bf7\u4f7f\u7528\u4e3b\u677f\u539f\u751f\u53e3\u6216\u5e26\u4f9b\u7535\u7684 HUB\u3002\n\n3.2 RS-485 \u63a5\u53e3\uff0810-30 V \u7248\uff09\n\n\u7aef\u5b50\u5b9a\u4e49\u7ebf\u8272\u5907\u6ce81V+\u7ea210-30 VDC \u6b632V-\u9ed1\u7535\u6e90\u57303A\u9ec4485-A4B\u84dd485-B5GND\u88f8\u7ebf\u5c4f\u853d\u5c42\u63a5\u5730\n\n- \u624b\u62c9\u624b\u5e03\u7ebf\uff0c\u9996\u672b\u7aef\u52a0 120 \u03a9 \u7ec8\u7aef\u7535\u963b\u3002\n\n- \u603b\u7ebf\u957f\u5ea6 &gt; 500 m \u65f6\uff0c\u5728 1\/3 \u5904\u52a0\u4e2d\u7ee7\u5668\u3002\n\n## 4. \u4e32\u53e3\u6d4b\u8bd5\n\n4.1 \u67e5\u8be2\u7aef\u53e3\u53f7\nWindows\uff1a\u8bbe\u5907\u7ba1\u7406\u5668 \u2192 \u7aef\u53e3(COM &amp; LPT) \u2192 \u201cUSB-SERIAL CH340 (COMx)\u201d\u5373\u4e3a\u8bbe\u5907\u53e3\u3002\n\n4.2 \u4f7f\u7528\u901a\u7528\u4e32\u53e3\u52a9\u624b\n\n- \u6ce2\u7279\u7387 9600\uff0c\u6570\u636e\u4f4d 8\uff0c\u5076\u6821\u9a8c(Even)\uff0c\u505c\u6b62\u4f4d 1\uff0c\u65e0\u6d41\u63a7\u3002\n\n- \u6253\u5f00\u4e32\u53e3\u540e\uff0c\u5728 HEX \u6a21\u5f0f\u53d1\u9001\u8868 6.1 \u6307\u4ee4\uff0c\u89c2\u5bdf\u706f\u4e0e\u8702\u9e23\u5668\u52a8\u4f5c\u3002\n\n- \u6bcf\u6761\u6307\u4ee4\u95f4\u9694 \u2265 50 ms\uff0c\u5426\u5219\u53ef\u80fd\u4e22\u5305\u3002\n\n## 5. \u63a7\u5236\u6307\u4ee4\u8868\uff08Modbus-RTU\uff09\n\n5.1 \u7ebf\u5708\u5730\u5740\uff08\u529f\u80fd\u7801 0x05\uff09\n\n\u7ebf\u5708\u5730\u5740\u529f\u80fd\u6307\u4ee4\u793a\u4f8b\uff08HEX\uff090x0000\u5168\u706d01 05 00 00 00 00 CD CA0x0001\u7ea2\u706f\u5f0001 05 00 01 FF 00 DD FA0x0001\u7ea2\u706f\u517301 05 00 01 00 00 9C 0A0x0002\u9ec4\u706f\u5f0001 05 00 02 FF 00 2D FA0x0002\u9ec4\u706f\u517301 05 00 02 00 00 6C 0A0x0003\u7eff\u706f\u5f0001 05 00 03 FF 00 7C 3A0x0003\u7eff\u706f\u517301 05 00 03 00 00 3D CA0x0004\u8702\u9e23\u5f0001 05 00 04 FF 00 CD FB0x0004\u8702\u9e23\u517301 05 00 04 00 00 8C 0B0x0005\u7ea2\u95ea01 05 00 05 FF 00 6C 3B0x0006\u9ec4\u95ea01 05 00 06 FF 00 3D FB0x0007\u7eff\u95ea01 05 00 07 FF 00 5C 390x0008\u84dd\u95ea01 05 00 08 FF 00 0D FB0x0009\u5feb\u95ea\uff08\u7ea2+\u8702\u9e23\uff0901 05 00 09 FF 00 5C 390x0016\u7ea2\u5feb\u95ea01 05 00 16 FF 00 6D FE0x0017\u9ec4\u5feb\u95ea01 05 00 17 FF 00 3C 3E0x0018\u7eff\u5feb\u95ea01 05 00 18 FF 00 0C 3D0x0019\u84dd\u5feb\u95ea01 05 00 19 FF 00 5D FD\n\n\uff08\u66f4\u591a\u7ec4\u5408\u6307\u4ee4\u8bf7\u53c2\u8003\u9644\u5f55 EXCEL \u8868\uff09\n\n5.2 \u6821\u9a8c\u7b97\u6cd5\n\u6807\u51c6 Modbus-RTU CRC16\uff0c\u4f4e\u5b57\u8282\u5728\u524d\uff0c\u9ad8\u5b57\u8282\u5728\u540e\u3002\n\u5728\u7ebf\u8ba1\u7b97\u5de5\u5177\uff1awww.lammertbies.nl\/comm\/info\/crc-calculation.html\n\n## 6. \u8f6f\u4ef6\u7f16\u7a0b\u793a\u4f8b\uff08Java\uff09\n\n6.1 \u6dfb\u52a0\u4f9d\u8d56\nMaven \u4ed3\u5e93\u5f15\u5165 jSerialComm\uff1a\n\n```\n&lt;dependency&gt;\n  &lt;groupId&gt;com.fazecast&lt;\/groupId&gt;\n  &lt;artifactId&gt;jSerialComm&lt;\/artifactId&gt;\n  &lt;version&gt;2.10.4&lt;\/version&gt;\n&lt;\/dependency&gt;\n```\n\n6.2 \u6838\u5fc3\u4ee3\u7801\n\n```\nimport com.fazecast.jSerialComm.*;\nimport java.io.*;\n\npublic class LightController {\n    \/\/ \u9884\u5b9a\u4e49\u6307\u4ee4\n    public static final String CLOSE_ALL = \"010500000000CDCA\";\n    public static final String RED_ON    = \"01050001FF00DDFA\";\n    public static final String YELLOW_ON = \"01050002FF002DFA\";\n    public static final String GREEN_ON  = \"01050003FF007C3A\";\n    public static final String BUZZ_ON   = \"01050004FF00CDFB\";\n\n    public static void main(String&#91;] args) {\n        sendCommand(\"COM16\", RED_ON);    \/\/ \u4e3e\u4f8b\uff1a\u6253\u5f00\u7ea2\u706f\n        sleep(1000);\n        sendCommand(\"COM16\", BUZZ_ON);   \/\/ \u8702\u9e23 1 s\n        sleep(1000);\n        sendCommand(\"COM16\", CLOSE_ALL); \/\/ \u5168\u90e8\u5173\u95ed\n    }\n\n    public static void sendCommand(String portName, String hexCmd) {\n        SerialPort sp = SerialPort.getCommPort(portName);\n        sp.setComPortParameters(9600, 8, SerialPort.ONE_STOP_BIT, SerialPort.EVEN_PARITY);\n        sp.setComPortTimeouts(SerialPort.TIMEOUT_WRITE_BLOCKING, 1000, 0);\n        if (sp.openPort()) {\n            try (OutputStream os = sp.getOutputStream()) {\n                os.write(hexToBytes(hexCmd));\n                os.flush();\n            } catch (IOException e) { e.printStackTrace(); }\n            finally { sp.closePort(); }\n        }\n    }\n\n    public static byte&#91;] hexToBytes(String hex) {\n        int len = hex.length();\n        byte&#91;] out = new byte&#91;len \/ 2];\n        for (int i = 0; i &lt; len; i += 2) {\n            out&#91;i \/ 2] = (byte) Integer.parseInt(hex.substring(i, i + 2), 16);\n        }\n        return out;\n    }\n\n    public static void sleep(long ms) {\n        try { Thread.sleep(ms); } catch (InterruptedException ignored) {}\n    }\n}\n```\n\n6.3 \u6ce8\u610f\u4e8b\u9879\n\n- \u6307\u4ee4\u5b57\u7b26\u4e32\u5fc5\u987b\u8fde\u7eed\uff0c\u4e0d\u80fd\u6709\u7a7a\u683c\u3002\n\n- \u4e24\u6761\u6307\u4ee4\u95f4\u9694 \u2265 50 ms\u3002\n\n- \u4e32\u53e3\u6253\u5f00\u540e\u52a1\u5fc5\u5173\u95ed\uff0c\u5426\u5219\u4e0b\u6b21\u6253\u5f00\u5931\u8d25\u3002\n\n- \u82e5\u51fa\u73b0 \u201cPort not found\u201d\uff0c\u8bf7\u68c0\u67e5\u9a71\u52a8\u6216\u66f4\u6362 USB \u53e3\u3002\n\n## 7. \u5e38\u7528\u573a\u666f\u811a\u672c\n\n7.1 \u8f6e\u8be2\u62a5\u8b66\uff08Python \u4f2a\u4ee3\u7801\uff09\n\n```\nimport serial,time\ncmds = &#91;\"01050001FF00DDFA\",\"01050004FF00CDFB\",\n        \"01050001FF00DDFA\",\"0105000400008C0B\"]\nwith serial.Serial('COM16',9600,parity='E') as s:\n    for c in cmds:\n        s.write(bytes.fromhex(c))\n        time.sleep(0.5)\n```\n\n7.2 \u7ec4\u6001\u738b\/\u529b\u63a7\/MCGS\n\u65b0\u5efa\u201cModbus-RTU\u201d\u8bbe\u5907\uff0c\u5730\u5740 1\uff0c9600-8E1\uff0c\n\u7ebf\u5708 1~4 \u5206\u522b\u6620\u5c04\u7ea2\u706f\u3001\u9ec4\u706f\u3001\u7eff\u706f\u3001\u8702\u9e23\uff0c\n\u901a\u8fc7\u201c\u7f6e\u4f4d\/\u590d\u4f4d\u201d\u6309\u94ae\u5373\u53ef\u63a7\u5236\u3002\n\n## 8. \u6545\u969c\u6392\u9664\n\n\u73b0\u8c61\u539f\u56e0\u89e3\u51b3\u4e32\u53e3\u627e\u4e0d\u5230\u672a\u5b89\u88c5 CH340 \u9a71\u52a8\u5b89\u88c5\u9a71\u52a8\u5e76\u6362 USB \u53e3\u53d1\u6307\u4ee4\u65e0\u53cd\u5e94\u5730\u5740\/\u6ce2\u7279\u7387\u9519\u7528 01 \u5730\u5740 9600 E-8-1 \u6d4b\u8bd5\u706f\u4eae\u8702\u9e23\u4e0d\u54cd\u8702\u9e23\u72ec\u7acb\u63a7\u5236\u53d1 0x0004 \u7ebf\u5708 ON\u6307\u4ee4\u4e71\u7801\u672a\u52a0 CRC \u6216\u9ad8\u4f4e\u4f4d\u53cd\u4f7f\u7528\u52a9\u624b\u81ea\u52a8\u751f\u6210 CRC\u957f\u8ddd\u79bb\u4e0d\u7a33\u5b9a\u65e0\u7ec8\u7aef\u7535\u963b\u603b\u7ebf\u4e24\u7aef\u52a0 120 \u03a9\n\n## 9. \u7ef4\u62a4\u4e0e\u4fdd\u517b\n\n- \u6bcf\u6708\u7528\u5e72\u71e5\u8f6f\u5e03\u64e6\u62ed\u706f\u7f69\uff0c\u9632\u6b62\u7070\u5c18\u5f71\u54cd\u4eae\u5ea6\u3002\n\n- \u7981\u6b62\u7528\u5e26\u8150\u8680\u6027\u7684\u5316\u5b66\u6eb6\u5242\u6e05\u6d17\u3002\n\n- \u957f\u671f\u4e0d\u7528\u8bf7\u65ad\u7535\u5b58\u653e\uff0c\u907f\u514d 40 \u2103 \u4ee5\u4e0a\u9ad8\u6e29\u3002\n\n- \u63a2\u5934\u5185\u90e8\u65e0\u7528\u6237\u53ef\u7ef4\u4fee\u5143\u4ef6\uff0c\u6545\u969c\u8bf7\u8fd4\u5382\u3002\n\n\u58f0\u660e\uff1a\u672c\u8bf4\u660e\u4e66\u9002\u7528\u4e8e\u6240\u6709\u91c7\u7528 Modbus-RTU \u534f\u8bae\u7684 USB\/485 \u58f0\u5149\u62a5\u8b66\u5668\uff0c\u5982\u6709\u6539\u52a8\u6055\u4e0d\u53e6\u884c\u901a\u77e5\u3002\n\n---\n*modbus.cn*\n"