当前位置: 首页 > 工业控制产品 > 自动化控制 > PLC可编程控制器

类型分类:
科普知识
数据分类:
PLC可编程控制器

欧姆龙PLC与温度仪表485串口通讯的实现

发布日期:2022-10-11 点击率:542

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

    笔者曾为客户作过PLC与第三方温度仪表的通讯,现呈给各位,请指正。

    所用PLC为OMRONC200HE-CPU42,配通讯模块C200HW-COM06,使用其A口(RS485)与温度表TTM-120通讯。

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

    EIA标准:RS485

    通讯:站1~31

    传输:半双工

    通讯码:ASCll7位(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结束码)

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

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

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

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

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

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

    发送信息列表:

    ①写数据:SD(01)_1 

    数据形式:变量格式($(R(2),5))

    地址格式:ASCll变量格式($(R(1),2)

    "W":写请求

    标识符(仪表功能参数:写入设定值)“空格SV”

    数据格式:

    ②读请求:SD(02)_1

    地址格式:ASCll变量格式($(R(1),2)

    "R":读请求

    标识符(仪表功能参数:读入过程值)“PV1”

    数据格式:

    接受信息列表:

    ①接受响应:RV(01)_1

    "ACK":响应接受

    数据格式:

    ②接受数据:RV(02)_1

    数据形式:变量格式(&(W(1),*))存入PLC指定的接收数据

    数据格式:

    写入命令设置:

    编号:050

    命令:发送&接受

    发送命令:SD(01)_1

    接收命令:RV(01)_1

    读入命令设置:

    编号:051

    命令:发送&接受

    发送命令:SD(02)_1

    接收命令:RV(02)_1

    编制设置完成,下装到PLC中。

    3、用CX-PROGRAMMER作通讯程序

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

    三个操作数:一:控制字:端口+协议宏序列号

    二:发送数据首址占2/3个字,首字是指令字数;下一字为仪表地址;

    对于写命令要多一个字为设定值

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

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

    读指令:PMCR#1051端口=1序列号051(读出)

    DM0000DM0000=#0002DM0001=#0001

    DM0030DM0030=#0004DM0031~DM0033=数据

    写指令:PMCR#1050端口=1序列号050(写入)

    DM0020DM0020=#0003DM0021=#0001DM0022=设置值

    DM0040(虚设)

    协议宏执行标志:端口一(A):α机为IR289.08CQM1H为IR207.08

    端口二(B):α机为IR289.12CQM1H为IR207.12

    当这变量=0时,方可执行PMCR命令

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

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

下一篇: PLC、DCS、FCS三大控

上一篇: 索尔维全系列Solef?PV

推荐产品

更多