一种基于MODBUS总线高压软起动装置液晶显示界面的设计
3MODBUS通讯应用
下面是基于单片机MSP430F149为主芯片的高压软起动装置液晶操控板,以此为例来说明MODBUS通讯的应用。MODBUS通讯主设备是DSP控制器,从设备是高压软起动装置液晶操控板。
3.1 液晶操控板MODBUS通讯测试码
/*****************************MODBUS通讯测试码*****************************
召唤发送:
00 06
00 00 00 0C 1E 88
电压、电流监测功能:
00 03
1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D 8D
故障显示功能:
00 02
18 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 20 34
*****************************MODBUS通讯测试码*****************************/
2:对以上测试码分别进行说明:
(1):召唤发送,参数设置功能:即控制器(DSP)与液晶屏(430)之间的通讯,是双向的。
00 06
00 00 00 0C 1E 88
以上这段代码是DSP传给430的召唤代码,含义(代码从左到右)是:00:设备代码。本系统中从设备只有高压软起动装置液晶操控板一个设备,故设备代码设置为00。06:功能码,实现何种功能(本例中,06是双向召唤发送功能,实现参数设置;03功能码实现电压、电流监测功能;02功能码实现故障显示功能)。00 00:是起始地址的高八位、低八位。00 0C:是DSP要求430回传字节的个数(不包括设备代码、功能码、数据个数代码、和校验代码),00是个数的高八位、0C是个数的低八位,0C是十六进制(转换成十进制是12,12是从“起动时间、额定电流——备用 3”的个数),1E 88:是CRC校验码。当DSP给430传
00 06
00 00 00 0C 1E 88
代码时,430先将这8个字节保存到一个临时数组RX[]中,然后分别对这8个字节进行判断(1E 88是校验查表得出来的代码),如果检验正确,就会把要回传给DSP的字节放到can_s[]数组中发出去,发送到DSP。以下代码就是430接到
评论