一、 概述
在现代工业控制系统中,PLC的应用最为普遍。PLC与智能仪表的综合应用比较传统的应用是使用仪表的模拟量输出,用PLC的DI扩展模块来采集仪表的数据,这种方法容易受到模拟量信号的波动和因距离不一致而造成模拟量信号衰减不一致的影响,产生测量误差,从而使整个系统的工作稳定性和可靠性降低。而使用RS-485通讯控制,仅通过一条通讯电缆连接,就可以完成PLC对温度、湿度等模拟量的采集工作。该系统成本低、信号传输距离远、抗干扰性强。
二、 系统硬件组成和连接
系统硬件主要有下列组件构成
1、 FX2N-16MR 16点继电器输出PLC,作为系统的核心;
2、 FX2N-485-BD为FX2N系列PLC的通讯扩展模块,主要用于PLC和AI仪表之间的RS485的数据的发送和接收;
FX2N-485-BD和AI仪表的连接方法:
FX2N-485-BD可采用全双工和半双工两种通讯方式,针对AI
端子说明:SDA 发送数据端子 SDB发送数据端子
RDA接受数据端子 RDB接受数据端子
三、 AI仪表通讯协议
AI仪表采用16进制数据格式来表示各种指令代码及数据。数据格式为1个起始位,8位数据,无校验位,一个或2个停止位。AI仪表软件通讯指令经过优化设计,只有两条,一条为读指令,一条为写指令,两条指令使得上位机软件编写容易。
读: 地址代号+52H(82)+要读参数的代号+0+0+CRC校验码
写: 地址代号+43H(67)+要写参数的代号+写入数低字节+写入数高字节+CRC校验码
地址代号:为了在一个通讯接口上连接多台AI仪表,需要给每台AI仪表编一个互不相同的代号。AI有效的地址为0—100。所以一条通讯线路上最多可连接101台AI仪表。仪表的地址代号由参数Addr决定。AI仪表通讯协议规定,地址代号为两个字节,其数值范围(16进制数)是80H—BFH,两个字节必需相同,数值为(仪表地址+80H)。
参数代号:仪表的参数用1个8位二进制数(一个字节,写为16进制数)的参数代号来表示。它在指令中表示要读/写的参数名。参数代号见下表:
参数 调节器 AI-708M巡检仪 流量积算仪 AI-338频率调节器
代号 (AI-708/808/708P/808P) (AI-708H/Y) /IO模块
00H 状态位 (空) SV批量控制给定值 SV/SteP给定值/程
给定值/程序段 序段
01H HIAL上限报警 HIA(X) FHIA HIAL上限报警
02H LoAL下限报警 LoA(X) FLoA LoAL下限报警
03H DHAL正偏差报警 (空) SPE DHAL正偏差报警
04H DLAL负偏差报警 (空) Act DLAL负偏差报警
05H dF回差 dF(X) Esn dF回差
06H Ctrl控制方式 (空) FSc CtrL控制方式
07H M5保持参数 (空) PdIH M5保持参数
08H P速率参数 (空) CSc P速率参数
09H t滞后参数 (空) CdIH t滞后参数
0AH CtI控制周期 (空) Cut CtI控制周期
0BH Sn输入规格 Sn(X)-34(只读) FdIH
0CH dIP小数点位置 Sn(X)-1(只读) FdIP dIP小数点位置
0DH dIL下限显示值 dIL(X) PA
0EH dIH上限显示值 dIH(X) Po
0FH ALP报警输出选择 ALP(X) Co
10H Sc传感器修正 (空) Frd
11H OP1输出方式 (空) CF
12H
13H OPH输出上限 (空) IoL
14H CF功能选择 Cn功能选择 Foh
15H 仪表型号特征 仪表型号特征 仪表型号特征 仪表型号特征
16H addr仪表地址 addr仪表地址 addr仪表地址 addr仪表地址
17H dL数字滤波 Sn(X)-2(只读) IoH
18H run运行参数 nonc常开/常闭 dL
19H Loc参数封锁 Loc参数封锁 Loc
读指令的CRC校验码为:要读参数的代号*256+82+ADDR;
写指令的CRC校验码则为:要写的参数代号*256+67+要写的参数值+ADDR;
无论是读还是写,仪表都返回以下数据:
测量值PV+给定值SV+输出值MV及报警状态+所读/写参数值+CRC校验码。
CRC校验码为PV+SV+(报警状态*256+MV)+参数值+ADDR
所有指令代码和数据均一十六进制发送和接受。
四、 软件设计
要实现PLC和AI仪表的通讯,必须对PLC进行编程;通过程序来实现PLC对AI仪表的数据采集和参数修改。PLC程序是运用RS指令来实现串口数据的发送和接收.
PLC程序首先应完成FX2N-485BD通讯模块的初始化、控制命令自的组合、读写指令代码转换以及AI仪表返回数据的处理工作。PLC和AI仪表通讯实例:
LD M8002
MOV H0C89 D8120
LD X2
RS D100 D20 D200 D40
LD 8000
OUT M8161
LD X2
MOV H81 D100
MOV H81 D101
MOV H43 D102
MOV H01 D103
MOV H01 D104
MOV H00 D105
MOV H45 D106
MOV H01 D107
LDP X2
MOV K08 D20
MOV K20 D40
SET M8122
END
此程序是通过PLC的X2输入端子来触发,把地址(ADDR=1)为1的AI仪表的上限报警值(HIAL)设置为1。
五、 结语
本文通过实例讨论了三菱PLC和AI仪表的RS-485通讯功能的编程和应用,有助于客户对PLC和AI仪表的综合应用。通过PLC程序还可以实现和触摸屏以及上位机组态软件的通讯,AI仪表可以更广泛地应用到各种系统中。