厦门海为科技有限公司

请上传logo 请上传logo

国产PLC—Haiwell(海为)PLC与宇电AI-706M多路巡检仪通讯介绍

2008-02-03 11:00:18 haiwell 878

一、海为PLC通讯特点:

1、内置多种通讯协议:Haiwell PLC各种型号的主机都内置Modbus RTU/ASCII协议、自由通讯协议以及海为公司的HaiwellBus高速通讯协议;

2、通讯端口可扩展:Haiwell PLC各种型号的主机均自带2个通讯口(一个为RS-232,另一个为RS-485),用通讯扩展模块可扩展至5个通讯口,每个通讯端口均可用于用于编程和联网,通讯端口相互独立,均可作为主站也可作产从站;

3、极为便利的通讯指令系统:使您无论使用何种通讯协议都只需一条通讯指令便可完成复杂的通讯功能,编程简单而程序简洁,无须再为通讯端口冲突、发送接收控制、通讯中断处理等问题烦恼,可以在程序中混合使用各种协议轻松完成您所需的各种数据交换;


二、宇电AI通讯协议介绍

AI仪表采用16进制数据格式来表示各种指令代码及数据。AI仪表软件通讯指令只有两条,一条为读指令,一条为写指令,标准读和写指令分别如下:

读: 地址代号+52H(82)+要读的参数代号+0+0+校验码

写: 地址代号+43H(67)+要写的参数代号+写入数低字节+写入数高字节+校验码

地址代号:仪表的通讯地址由参数Addr决定。仪表内部采用两个重复的128~208(16进制为80H~D0H)之间数值来表示地址代号。

AI仪表通讯协议规定,地址代号为两个相同的字节,数值为(仪表地址+80H)。例如:仪表参数Addr=10(16进制数为0AH,0A+80H=8AH),则该仪表的地址代号为:8AH  8AH

参数代号:仪表的参数用1个8位二进制数(一个字节,写为16进制数)的参数代号来表示。它在指令中表示要读/写的参数名。

校验码:校验码采用16位求和校验方式,其中读指令的校验码计算方法为:

要读参数的代号×256+82+ADDR

写指令的校验码计算方法为以下公式做16位二进制加法计算得出的余数(溢出部分不处理):

要写的参数代号×256+67+要写的参数值+ADDR

公式中ADDR为仪表地址参数值,范围是0~80(注意不要加上80H)。校验码为以上公式做二进制16位整数加法后得到的余数,余数为2个字节,其低字节在前,高字节在后。要写的参数值用16位二进制整数表示。

返回数据:无论是读还是写,仪表都返回以下10个字节数据:

测量值PV+给定值SV+输出值MV及报警状态+所读/写参数值+校验码

其中PV、SV及所读参数值均各占2个字节,代表一个16位二进制有符号补码整数,低位字节在前,高位字节在后,整数无法表示小数点,要求用户在上位机处理;MV占一个字节,按8位有符号二进制数格式,数值范围-110~+110,状态位占一个字节,校验码占2个字节,共10个字节。

返回校验码:PV+SV+(报警状态*256+MV)+参数值+ADDR按整数加法相加后得到的余数。计算校验码时,每2个8位字节组成1个16位二进制整数进行加法运算,溢出数忽略,余数作为校验码。


三、海为PLC与宇电AI-706M多路巡检仪通讯程序

因为宇电AI-706M多路巡检仪的通讯协议是宇电公司的自定义协议,所以海为PLC采用自由协议与其通讯。

根据AI-706M说明书介绍,AI-706M为6通道多路巡检仪,它自动占用6个连续的通讯地址,如设地址ADDR参数为3,则6个通道占用地址3/4/5/6/7/8,通讯格式采用9600,8,N,2。

根据宇电AI通讯协议,如果要读取6个通道的测量值,需要发送6条读命令如下(十六进制):

第1通道读命令,地址3,发送8个字节 83 83 52 01 00 00 55 01

83:地址3 + 80 = 83

83:重复地址

52:读命令标志,固定

01:表示读1号参数,也可以读其他参数,它都会返回测量值

00:固定

00:固定

55 01:校验码,十进制1 * 256 + 82 + 3 = 341,即十六进制 0155

第2通道读命令,地址4,发送8个字节 84 84 52 01 00 00 56 01

第3通道读命令,地址5,发送8个字节 85 85 52 01 00 00 57 01

第4通道读命令,地址6,发送8个字节 86 86 52 01 00 00 58 01

第5通道读命令,地址7,发送8个字节 87 87 52 01 00 00 59 01

第6通道读命令,地址8,发送8个字节 88 88 52 01 00 00 5A 01

所有命令都返回10字节的内容,头2字节既是测量值PV:

海为PLC只要使用6条COMM自由通讯指令既可读取AI-706M的6个通道测量值,程序图如下:


410B6C12-A97F-44c8-AE14-DE4ACBCE1526.png


因为读命令的内容是固定的,所以可以将这6条读命令放在“初始寄存器表”中,“初始寄存器表”的内容会在程序下载是一起下载到PLC中并且为停电保持,如下图:


lQLPJxaJeYV2YebNAbzNAe-w0O9FVLm_T8MC4k4JiwBuAQ_495_444.png


COMM自由通讯指令自带通讯协议格式定义端子Protocol,可以通过双击COMM指令,以配置方式输入,如下图:


lQLPJxaJeYV2YcPNARvNAjCwMI4kCpGPSdoC4k4JjICWAQ_560_283.png


微信技术客服:08:30-21:00
0592-3278716
关注我们

海为公众号

海为云APP