源码下载连接:https://download.csdn.net/download/qq_27352959/20563412
1、Modbus有哪些寄存器数据区
线圈(DO) 地址:00001~09999
触点(DI) 地址:10001~19999
输入寄存器(AI) 地址:30001~39999
输出寄存器(AO) 地址:40001~49999
2、不同寄存器的数据区读写状态
3、读取各数据区需要使用到哪些功能码
4、各寄存器数据区有什么特点
从寄存器不同数据区存储的数据来分,基本上可以分为两个大类 即 :
(1)、线圈(DO)、触点(DI) 这两个数据区的数据均以位进行存储,举个例子
要从0开始取3个数据出来,那你得到的值会是 二进制 101 =>即 5,从5开始取3个数据,那你得到的会是 二进制 110 =>即
6,也就是说,你要获取的数据个数将会以每8位组成一个数据返回来,一个数据对应的是二进制数中的0或1.
(2)、输入寄存器(AI)、输出寄存器(AO) 这两个寄存器的数据均是Int16类型的,即一个数据,是存储成为两个字节的,举个例子
要从0开始取一个数据,那你得到的值会是16进制的0x000F,即两个字节的数据,要从1开始获取两个数据,那你得到的值会是16进制的0x000F0200,即4个字节的数据,也就是说,你每次获取的一个数据将得到 byte[2] 的数据。
5、编写ModbusTCP/RTU通信程序(C#附源码)与测试方法
ModbusTCP/RTU的协议均是标准协议,此处就不再多说,下面直接上程序截图: