PLC与AI仪表RS-485通讯 一、 概述 在现代工业控制系统中,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仪表通讯是采用半双工2线制通讯,因此FX2N-485-BD和AI仪表的连接如下图(二)所示
图(二)PLC和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 OPL输出下限 (空) bc 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指令来实现串口数据的发送和接收,RS指令发收信息的顺控程序格式如图(三)所示
图(三)PLC通讯流程图 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仪表可以更广泛地应用到各种系统中。
|