众所周知,OMRON PLC与其它仪表或设备通讯(无论是OMRON仪表或第三方仪表),都要用带协议宏的串口通讯模块或模板,根据仪表或设备的通讯协议作相应的程序,建立相应的连通通道,才可以对仪表进行读写。


因此今天特意为大家送上欧姆龙与温度仪表483串口的连接通讯。所用的PLC为OMRON C200HE-CPU42,配通讯模块C200HW-COM06,使用其A口(RS485)与温度表TTM-120通讯。

01

所用温度仪表“神王”TTM-120通讯协议


EIA标准:RS485


通讯:站 1~31


传输:半双工


通讯码:ASCll 7位(BCC除外) 8位(MSD位=0)


接口方式:2线制


通讯速度:1200,2400,4800,9600


通讯距离:500Mmax


字符:启动位:1位


停止位:1/2位


数据:7/8位


校验:无/奇/偶


BCC校验:预先/不选择


通讯地址:1~99


通讯格式:


读数据:STX(02H 起始码) 地址(2位) R 标识码(3位) ETX(03H 结束码)


仪表返回:STX(02H 起始码) 地址(2位) ACK(06H 响应) 标识码(3位) 数据(5位) ETX(03H 结束码)


写数据:STX(02H 起始码) 地址(2位) W 标识码(3位) 数据(5位) ETX(03H 结束码)


仪表返回:STX(02H 起始码) 地址(2位) ACK(06H 响应) ETX(03H 结束码)


错误信息响应:STX(02H 起始码) 地址(2位) NAK(15H 错误响应) 错误格式(1位) ETX(03H 结束码)


02

用协议宏软件CX-PROTOCOL作协议宏程序


可用CX-PROTOCOL中现有的系统标准协议COPY到新建的程序中,再作修改,当然也可重新编制。


在新建的程序的DEVICES中选择所用的PLC型号。


通讯口A参数设置方式为:PROTOCOL MACRO;并以仪表的通讯格式设置波特率等参数。


协议宏程序中有若干内容:主要是发送信息列表;接受信息列表;这两个表是协议宏的基本程序。再有就是具体的发送形式和接受形式,其它功能的读写形式,仪表的其它功能的读写形式。


我作了四种,根据仪表协议中的各个格式,编制宏程序,如下:


发送信息列表:


①写数据:SD(01)_1<h>:STX <t>:ETX 数据形式:变量格式($(R(2),5)) 地址格式:ASCll变量格式($(R(1),2)"W":写请求标识符(仪表功能参数:写入设定值)“空格SV” 数据格式:<h> <a> "W" "SV" ($(R(2),5)) <t>


② 读请求:SD(02)_1地址格式:ASCll变量格式($(R(1),2)"R":读请求标识符(仪表功能参数:读入过程值)“PV1” 数据格式:<h> <a> "R" "PV1" <t>


接受信息列表:


①接受响应:RV(01)_1"ACK":响应接受数据格式:<h> <a> "ACK" <t>


②接受数据:RV(02)_1数据形式:变量格式(&(W(1),*)) 存入PLC指定的接收数据数据格式:<h> (&(W(1),*)) <t>写入命令设置:编号:050命令:发送&接受发送命令:SD(01)_1接收命令:RV(01)_1 读入命令设置:编号:051命令:发送&接受发送命令:SD(02)_1接收命令:RV(02)_1 编制设置完成,下装到PLC中。


03


用CX-PROGRAMMER作通讯程序


程序用协议宏指令PMCR完成与仪表的通讯:


三个操作数:


一:控制字:端口 协议宏序列号


二:发送数据首址 占2/3个字,首字是指令字数;下一字为仪表地址;对于写命令要多一个字为设定值


三:接收数据首址 占4个字,首字是命令字数;下两字是接收的5位数据。


对于写命令该操作数为虚设字,没有实际意义


欧姆龙plc串口怎么设置地址(欧姆龙PLC如何实现与温度仪表485串口通讯)(1)

欧姆龙plc串口怎么设置地址(欧姆龙PLC如何实现与温度仪表485串口通讯)(2)


每个端口只能执行一个通信序列,可以不同的时间段产生PMCR指令的执行脉冲。


04

榻榻方法方法付

对于若干个仪表,每表设置不同的站号,就可由程序分别对其作读写操作,只有地址相符的仪表才能响应。

来源互联网,作者不详,侵删

,