²Ä1³¹ªìÃÑModbus11.1I´º2
1.2¼Ò«¬4
1.3¨óijª©¥»4
1.4³q«H³]³Æ6
1.5¨Æ°È³B²z6
1.6±M·~³N»y9
²Ä2³¹Modbus¶}µoÀô¹Ò11
2.1µêÀÀ¦ê¤f³n¥ó12
2.1.1¤°¤\¬OµêÀÀ¦ê¤f³n¥ó12
2.1.2¨Ï¥Î¤èªk13
2.2ModbusPollªº¨Ï¥Î16
2.2.1²¤¶16
2.2.2¥\¯à17
2.2.3¨Ï¥Î¤èªk18
2.3ModbusSlaveªº¨Ï¥Î21
2.3.1²¤¶21
2.3.2¥\¯à22
2.3.3¨Ï¥Î¤èªk232.4ModbusPollúQSlave¤¬Áp¤¬³q24
2.5VisualStudio2015ªº¦w¸Ë28
²Ä3³¹Modbus¨óijªº¬ÛÃöª¾ÃÑ31
3.1¨óij·§n32
3.2Modbus±H¦s¾¹34
3.2.1±H¦s¾¹ºØÃþ»¡©ú34
3.2.2±H¦s¾¹¦a§}¤À°t35
3.3Modbus¦ê¦æ®ø®§´V®æ¦¡35
3.3.1ASCII®ø®§´V®æ¦¡36
3.3.2RTU®ø®§´V®æ¦¡36
3.3.3¦a§}°ì38
3.3.4¥\¯à½X°ì39
3.3.5¼Æ¾Ú°ì39
3.4Modbus®t¿ù®ÕÅç39
3.4.1LRC®ÕÅç40
3.4.2CRC®ÕÅç42
3.5¦r¸`§Ç©M¤j¤pºÝ49
3.5.1¨Ó¾ú49
3.5.2¬°¤°¤\·|¦³¤j¤pºÝ50
3.5.3¤°¤\¬O¡§¤jºÝ¡¨©M¡§¤pºÝ¡¨51
3.6ModbusTCP®ø®§´V®æ¦¡53
3.6.1¨óij´yz53
3.6.2¬d¸ß»PÅTÀ³³ø¤å¨Ò56
²Ä4³¹Modbus¥\¯à½X¸Ô¸Ñ59
4.1¥\¯à½X·§n60
4.201¡]0x01¡^Ū¨ú½u°é/Â÷´²¶q¿é¥Xª¬ºA61
4.2.1¥\¯à»¡©ú61
4.2.2¬d¸ß³ø¤å61
4.2.3ÅTÀ³³ø¤å62
4.2.4ɧU¤u¨ã³n¥óÆ[¹î©M²z¸Ñ63
4.302¡]0x02¡^Ū¨úÂ÷´²¶q¿é¤JÈ72
4.3.1¥\¯à»¡©ú72
4.3.2¬d¸ß³ø¤å72
4.3.3ÅTÀ³³ø¤å73
4.403¡]0x03¡^Ū¨ú«O«ù±H¦s¾¹È74
4.4.1¥\¯à»¡©ú74
4.4.2¬d¸ß³ø¤å74
4.4.3ÅTÀ³³ø¤å75
4.504¡]0x04¡^Ū¨ú¿é¤J±H¦s¾¹È76
4.5.1¥\¯à»¡©ú76
4.5.2¬d¸ß³ø¤å76
4.5.3ÅTÀ³³ø¤å77
4.605¡]0x05¡^¼g³æÓ½u°é©Î³æÓÂ÷´²¿é¥X78
4.6.1¥\¯à»¡©ú78
4.6.2¬d¸ß³ø¤å79
4.6.3ÅTÀ³³ø¤å79
4.706¡]0x06¡^¼g³æÓ«O«ù±H¦s¾¹80
4.7.1¥\¯à»¡©ú80
4.7.2¬d¸ß³ø¤å80
4.7.3ÅTÀ³³ø¤å81
4.808¡]0x08¡^¶EÂ_¥\¯à82
4.8.1¥\¯à»¡©ú82
4.8.2¬d¸ß³ø¤å82
4.8.3ÅTÀ³³ø¤å83
4.8.4¶EÂ_¤l¥\¯à½X84
4.911¡]0x0B¡^Àò¨ú³q«H¨Æ¥óp¼Æ¾¹87
4.9.1¥\¯à»¡©ú87
4.9.2¬d¸ß³ø¤å87
4.9.3ÅTÀ³³ø¤å88
4.1012¡]0x0C¡^Àò¨ú³q«H¨Æ¥ó°O¿ý89
4.10.1¥\¯à»¡©ú89
4.10.2¬d¸ß³ø¤å89
4.10.3ÅTÀ³³ø¤å90
4.1115¡]0x0F¡^¼g¦hÓ½u°é91
4.11.1¥\¯à»¡©ú91
4.11.2¬d¸ß³ø¤å91
4.11.3ÅTÀ³³ø¤å92
4.1216¡]0x10¡^¼g¦hÓ«O«ù±H¦s¾¹93
4.12.1¥\¯à»¡©ú93
4.12.2¬d¸ß³ø¤å93
4.12.3ÅTÀ³³ø¤å95
4.1317¡]0x11¡^³ø§i±q¯¸ID(¶È¥Î¤_¦ê¦æÃì¸ô)96
4.13.1¥\¯à»¡©ú96
4.13.2¬d¸ß³ø¤å96
4.13.3ÅTÀ³³ø¤å97
4.14Modbus²§±`ÅTÀ³97
²Ä5³¹libmodbus¶}µo®w101
5.1¥\¯à·§n102
5.2·½½XÀò¨ú»P½sĶ102
5.3»PÀ³¥Îµ{§ÇªºÃö¨t109
²Ä6³¹libmodbus·½½X¸ÑªR111
6.1Ãþ«¬»Pµ²ºc©w¸q112
6.1.1ºë²ÓÃþ«¬©w¸q112
6.1.2±`¶q©w¸q114
6.1.3®Ö¤ßµ²ºcÅé©w¸q¤§¤@115
6.1.4®Ö¤ßµ²ºcÅé©w¸q¤§¤G120
6.2±`¥Î±µ¤f¨ç¼Æ122
6.2.1¦UÃþ»²§U±µ¤f¨ç¼Æ122
6.2.2¦UÃþModbus¥\¯à±µ¤f¨ç¼Æ126
6.2.3¼Æ¾Ú³B²zªº¬ÛÃö¨ç¼Æ©Î§»©w¸q131
6.3RTU/TCPÃöÁp±µ¤f¨ç¼Æ132
6.3.1RTU¼Ò¦¡ÃöÁp¨ç¼Æ133
6.3.2TCP¼Ò¦¡ÃöÁp¨ç¼Æ135
6.4³¡¤À¤º³¡¨ç¼Æ¸Ô¸Ñ135
6.4.1¨ç¼Æread_io_status()135
6.4.2¨ç¼Æread_registers()141
6.4.3¨ç¼Æwrite_single()144
6.4.4¨ç¼Æmodbus_mapping_new_start_
address()147
6.5¶}µoÀ³¥Îµ{§Ç°ò¥»¬yµ{151
²Ä7³¹§¹¾ãRTU¼Ò¦¡¶}µoS¨Ò153
7.1¶}µoRTUMasterºÝ154
7.1.1·s«Ø¤uµ{154
7.1.2²K¥[¶}µo®w155
7.1.3²K¥[À³¥Î·½¥N½X158
7.1.4¥N½X½Õ¸Õ166
7.2¶}µoRTUSlaveºÝ169
7.2.1·s«Ø¤uµ{¦}²K¥[¶}µo®w169
7.2.2²K¥[À³¥Î·½¥N½X169
²Ä8³¹§¹¾ãTCP¼Ò¦¡¶}µoS¨Ò173
8.1¶}µoTCPClientºÝ174
8.1.1·s«Ø¤uµ{174
8.1.2²K¥[¶}µo®w176
8.1.3²K¥[À³¥Î·½¥N½X177
8.1.4¥N½X½Õ¸Õ186
8.2¶}µoTCPServerºÝ189
8.2.1·s«Ø¤uµ{¦}²K¥[¶}µo®w189
8.2.2²K¥[À³¥Î·½¥N½X189
²Ä9³¹VisualBasic¤¤¨Ï¥Îlibmodbus193
9.1¨ç¼Æ½Õ¥Î¬ù©w»P×¹¢¦W194
9.1.1¨ç¼Æ½Õ¥Î¬ù©w194
9.1.2¨ç¼Æ×¹¢¦W196
9.1.3½Õ¥Î¬ù©wªº¨Ï¥Î198
9.2¼Ò¶ô©w¸q¤å¥ó198
9.3¹ïlibmodbus¶}µo®wªº§ï³y200
9.3.1²K¥[__stdcall½Õ¥Î²Å200
9.3.2²K¥[DEF¼Ò¶ô©w¸q¤å¥ó201
9.4¶}µoVisualBasicµ{§Ç204
9.4.1³Ð«Ø·s¶µ¥Ø204
9.4.2²K¥[¨ç¼Æ´yz¤å¥ó205
9.4.3½Õ¥Îlibmodbus®w¨ç¼Æ213
²Ä10³¹VisualC#¤¤¨Ï¥Îlibmodbus217
10.1¶}µoVisualC#µ{§Ç218
10.1.1³Ð«Ø·s¶µ¥Ø218
10.1.2²K¥[¨ç¼Æ´yz¤å¥ó219
10.1.3½Õ¥Îlibmodbus®w¨ç¼Æ226
10.2°ò¤_C#ªºNModbusÃþ®w230
10.2.1¤°¤\¬ONModbusÃþ®w230
10.2.2NModbusÃþ®w¥Îªk232
²Ä11³¹¥´³y¦Û¤vªºModbus½Õ¸Õ¤u¨ã237
11.1¶}µo¦Û¤vªºModbusPoll238
11.1.1³n¥ó»Ý¨D¤ÀªR238
11.1.2©R¥O¦æ¸ÑªR¥\¯à240
11.1.3³Ð«ØÀ³¥Îµ{§Ç¦}½Õ¸Õ246
11.2¶}µo¦Û¤vªºModbusSlave270
11.2.1³n¥ó»Ý¨D¤ÀªR270
11.2.2³Ð«ØÀ³¥Îµ{§Ç¦}½Õ¸Õ272
°Ñ¦Ò¤åÄm284