发表于:2014/1/23 10:36:36
#0楼
一:产品介绍
基于RS485电气的MODBUS 协议对外通信控制模块. 具有8路模拟量输入。模块支持MODBUS RTU数据格式,默认地址01,默认波特率9600bit/s。
二:测试软件和硬件介绍
软件:软件采用串口调试工具,常见的如MBRTU V1.0.5,串口调试助手V2.2。 这里用MBRTU,如下图所示:
2.硬件:基本配置是PC机一台,DB9公母串口线一条,DAM-3058R模块一个,DAM-3210模块一个(RS232转RS485,由于PC串口是RS232电气接口,MODBUS协议运行在RS485电气接口上),12V直流电源一个,3V或5V电池或电源一个,连接电线数根。
3.硬件连接:使用DB9公母串口线将DAM-3210与PC机串口连接起来;用导线将DAM-3210的DATA+与DAM-3058R的DATA+连接起来;用导线将DAM-3210的DATA-与DAM-3058R的DATA-连接起来;使用12V直流电源作为DAM-3210和DAM-3058R的共同电源,分别将正负电源线连接到两个模块的R+Vs与(B)GND端。注意线不要接错接反,查看两个电源的红色指示灯是否亮。
串口调试软件初始化配置:
在桌面上点击软件图标如下:
出现这样的窗口:
具体初始化设置:
由于模块的波特率默认出厂值是9600,测试软件必须要设置成9600。
端口根据实际情况而定,这里是COM1。
MBRTU测试软件输入一栏只需要输入自己要发送的数据,实际发送的时候,软件自动加上CRC校验码,而串口调试助手的发送栏里需要手动加上。
其它默认,不作修改。
最后按下打开端口按钮,就可以进行下一步的测试内容了。
三:模块测试
1.模块的MODBUS数据格式
模块支持MODBUS RTU数据格式。
我们每发送一个命令字段,叫一帧命令数据。一帧命令数据构成如下:
2.模块常用的MODBUS命令码(或者功能码)
模块常用的有8个功能码。
分别是(1)读继电器状态,代码是01。
(2)读开关量输入,代码02。
(3)读保持寄存器,代码03。
(4)读输入寄存器,代码04。
(5)设置单个继电器,代码05。
(6)设置单个保持寄存器,代码06。
(7)设置多个继电器,代码0F。
(8)设置多个保持寄存器,代码10。
3.模块的MODBUS RTU命令测试
需要在字节发送框里输入发送的字节。
(1 ) 读保持寄存器
命令码格式:
保持寄存器即命令寄存器,是模块的功能控制或模块信息存储寄存器,通过对保持寄存器进行设置就可以实现对模块的功能控制或模式设置。而读取保持寄存器的数值就可以知道模块处于哪种功能或工作模式状态,甚至一些类似版本信息的内容,功能代码为03。
我们以读取模块的地址为例子。通过查询命令寄存器地址得知,地址配置寄存器的地址为84。设备的默认地址码为01。
该寄存器一般是一个字节,所以要读取的数据个数为0001。
所以,输入框里写入:
然后按发送按钮:
我们会看到实际数据显示窗口里出现
左边显示窗口就是调试软件实际发送给DAM-3058R模块的数据字节,和我们输入的一样,只是多了两个校正码,这是软件自动加上的,可以不管。而右边显示窗口就是DAM-3058R模块接收到我们发送的命令数据字节后作出的回应“01 03 02 00 01 79 84 ”,第一个‘01’代表设备号,第二个‘03’代表功能码,第三个‘02’代表设备返回的数据字节个数,第四个和第五个‘00 01’就是我们要取得的数据,第六和第七个‘79 84’代表校正码,是机器自动加上的,可以不管。其中,回送的数据‘00 01’代表的是默认模块地址,证明我们取得的数据是对的。
再举个例子,读模块波特率
发送:
得到:
得到的数据就是‘00 03’。代表9600bit/s。
基于RS485电气的MODBUS 协议对外通信控制模块. 具有8路模拟量输入。模块支持MODBUS RTU数据格式,默认地址01,默认波特率9600bit/s。
二:测试软件和硬件介绍
软件:软件采用串口调试工具,常见的如MBRTU V1.0.5,串口调试助手V2.2。 这里用MBRTU,如下图所示:
2.硬件:基本配置是PC机一台,DB9公母串口线一条,DAM-3058R模块一个,DAM-3210模块一个(RS232转RS485,由于PC串口是RS232电气接口,MODBUS协议运行在RS485电气接口上),12V直流电源一个,3V或5V电池或电源一个,连接电线数根。
3.硬件连接:使用DB9公母串口线将DAM-3210与PC机串口连接起来;用导线将DAM-3210的DATA+与DAM-3058R的DATA+连接起来;用导线将DAM-3210的DATA-与DAM-3058R的DATA-连接起来;使用12V直流电源作为DAM-3210和DAM-3058R的共同电源,分别将正负电源线连接到两个模块的R+Vs与(B)GND端。注意线不要接错接反,查看两个电源的红色指示灯是否亮。
串口调试软件初始化配置:
在桌面上点击软件图标如下:
出现这样的窗口:
具体初始化设置:
由于模块的波特率默认出厂值是9600,测试软件必须要设置成9600。
端口根据实际情况而定,这里是COM1。
MBRTU测试软件输入一栏只需要输入自己要发送的数据,实际发送的时候,软件自动加上CRC校验码,而串口调试助手的发送栏里需要手动加上。
其它默认,不作修改。
最后按下打开端口按钮,就可以进行下一步的测试内容了。
三:模块测试
1.模块的MODBUS数据格式
模块支持MODBUS RTU数据格式。
我们每发送一个命令字段,叫一帧命令数据。一帧命令数据构成如下:
2.模块常用的MODBUS命令码(或者功能码)
模块常用的有8个功能码。
分别是(1)读继电器状态,代码是01。
(2)读开关量输入,代码02。
(3)读保持寄存器,代码03。
(4)读输入寄存器,代码04。
(5)设置单个继电器,代码05。
(6)设置单个保持寄存器,代码06。
(7)设置多个继电器,代码0F。
(8)设置多个保持寄存器,代码10。
3.模块的MODBUS RTU命令测试
需要在字节发送框里输入发送的字节。
(1 ) 读保持寄存器
命令码格式:
保持寄存器即命令寄存器,是模块的功能控制或模块信息存储寄存器,通过对保持寄存器进行设置就可以实现对模块的功能控制或模式设置。而读取保持寄存器的数值就可以知道模块处于哪种功能或工作模式状态,甚至一些类似版本信息的内容,功能代码为03。
我们以读取模块的地址为例子。通过查询命令寄存器地址得知,地址配置寄存器的地址为84。设备的默认地址码为01。
该寄存器一般是一个字节,所以要读取的数据个数为0001。
所以,输入框里写入:
然后按发送按钮:
我们会看到实际数据显示窗口里出现
左边显示窗口就是调试软件实际发送给DAM-3058R模块的数据字节,和我们输入的一样,只是多了两个校正码,这是软件自动加上的,可以不管。而右边显示窗口就是DAM-3058R模块接收到我们发送的命令数据字节后作出的回应“01 03 02 00 01 79 84 ”,第一个‘01’代表设备号,第二个‘03’代表功能码,第三个‘02’代表设备返回的数据字节个数,第四个和第五个‘00 01’就是我们要取得的数据,第六和第七个‘79 84’代表校正码,是机器自动加上的,可以不管。其中,回送的数据‘00 01’代表的是默认模块地址,证明我们取得的数据是对的。
再举个例子,读模块波特率
发送:
得到:
得到的数据就是‘00 03’。代表9600bit/s。
阿尔泰公司产品线:工控机、工控主板、PXI/PXIe、CPCI测控系统,PCI、PCI-e、USB、PC104总线采集卡、
运动控制卡、MODBUS RTU采集模块、智能电量采集模块、无线GPRS、CDMA、ZIGBEE、信号隔离
器。OEM各种采集器。产品通过军工认证!!!
运动控制卡、MODBUS RTU采集模块、智能电量采集模块、无线GPRS、CDMA、ZIGBEE、信号隔离
器。OEM各种采集器。产品通过军工认证!!!