贵阳西门子代理商
ORMON PLC与温度仪表485串口通讯的实现
OMRON?PLC与其它仪表或设备通讯(无论是OMRON仪表或第三方仪表),要用带协议宏的串口通讯模块或模板,根据仪表或设备的通讯协议作相应的程序,建立相应的连通通道,就可对仪表进行读和写。
笔者曾为客户作过PLC与第三方温度仪表的通讯,现呈给各位,请指正。
所用PLC为OMRON?C200HE-CPU42,配通讯模块C200HW-COM06,使用其A口(RS485)与温度表TTM-120通讯。
1、所用温度仪表“神王”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?结束码)
2、用协议宏软件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中。
3、用CX-PROGRAMMER作通讯程序
程序用协议宏指令PMCR完成与仪表的通讯:
三个操作数:一:控制字:端口+协议宏序列号
二:发送数据首址?占2/3个字,首字是指令字数;下一字为仪表地址;
对于写命令要多一个字为设定值
三:接收数据首址?占4个字,首字是命令字数;下两字是接收的5位数据。
对于写命令该操作数为虚设字,没有实际意义
读指令:PMCR?#1051?端口=1?序列号051(读出)
DM0000?DM0000=#0002?DM0001=#0001
DM0030?DM0030=#0004?DM0031~DM0033=数据
写指令:PMCR?#1050?端口=1?序列号050(写入)
DM0020?DM0020=#0003?DM0021=#0001?DM0022=设置值
DM0040(虚设)
协议宏执行标志:端口一(A):α机为IR289.08?CQM1H为IR207.08
端口二(B):α机为IR289.12?CQM1H为IR207.12
当这变量=0时,方可执行PMCR命令
每个端口只能执行一个通信序列,可以不同的时间段产生PMCR指令的执行脉冲。
4、对于若干个仪表,每表设置不同的站号,就可由程序分别对其作读写操作,只有地址相符的仪表才能响应
、存储器类型及容量选择
PLC系统所用的存储器基本上由PROM、EPROM及RAM三种类型组成,存储容量则随机器的大小变化,一般小型机的较大存储能力低于6kB,中型机的较大存储能力可达64kB,大型机的较大存储能力可上兆字节。使用时可以根据程序及数据的存储需要来选用合适的机型,必要时也可专门进行存储器的扩充设计。
PLC的存储器容量选择和计算的**种方法是:根据编程使用的节点数精确计算存储器的实际使用容量。*二种为估算法,用户可根据控制规模和应用目的,按照表4的公式来估算。为了使用方便,一般应留有25%~30%的裕量,获取存储容量的较佳方法是生成程序,即用了多少字。知道每条指令所用的字数,用户便可确定准确的存储容量。表4同时给出了存储器容量的估算方法。
四、编程器和外部设备的选择
在系统的实现过程中,PLC的编程问题是非常重要的。用户应当对所选择PLC产品的软件功能及编程器有所了解。通常情况下,小型控制系统一般选用价格便宜的简易编程器,如果系统较大或多台PLC共用,可以选用功能强、编程方便的图形编程器。如果有个人计算机,可以选用能在个人计算机上运行的编程软件包。同时,为了防止因干扰、锂电池电压下降等原因破坏RAM中的用户程序,可以选用EEP-ROM模块作为外部设备。
五、实例
(一)利用三菱PLC实现对印刷机的精确控制
印刷机的一套电气设计属于系统设计,为了使产品性能稳定,易于维护,采用以PLC为主控器的控制方案。印刷机要求易于操作,精度高,输入、输出点较多,因此采用双机通讯。上位机采用三菱高性能的FX2N-80MR、FX2N-80MR自带I/O接口,可以接40点输入,40点输出,主要负责主传动的控制,各机组离合器的控制,以及气泵,气阀的控制等。下位机采用三菱FX2N-64MR、FX2N-64MR可以接32点输入,32点输出,主要负责水辊电机的控制,主传动的调速输出,调版电机数据采集等。上位机与下位机采用RS485, 通讯,通讯方便,可靠。同时选用了一台三菱5.7寸触摸屏,主要负责水辊电机速度显示,调版显示,以及整机故障显示等。本系统运行可靠,维护方便,操作简便直观,大大提高了胶印机的档次。
(二)欧姆龙(OMRON)PLC在石油加工工业中的应用
在石油加工工业中,大型旋转机组是装置设备的重要组成部分,重油催化裂化气压机组的联锁-自保系统从满足工艺生产需求出发,考虑到安全性、可靠性、经济性、可扩展性等因素,采用了OMRON公司生产的CPM2AH型PLC进行系统构建,CPM2AH自带I/O接口,可以接36点输入,24点输出,输出形式是继电器,并且通过RS232C串口与PC机通讯,使生产过程表现稳定,动作可靠,在事故状态下对机组及生产装置实行了自我保护,杜绝了恶性事故的扩大和蔓延,取得了显著的效果。
随着科技的不断进步,PLC的种类日益繁多,功能也逐渐增强。文章中尽管归纳了一些选用PLC的方法,但在实际工作中还一定要依据实际情况做出适当的调整,以便设计出满足期望的工业控制系统。
s5-plc适用于不同的自动控制任务,无论是简单的开环控制还是复杂的闭环控制。s5-plc系统可提供操作板、监视装置和编程器,以适于各种需求。
ps951电源模板:从115vac/230ac或24vdc电源电压为pc产生工作电压,这种模板采用电池或外接电源以保存ram内容,ps951模板也进行监视和信号传输功能。
通讯处理器(cp):通讯处理器用在s5-plc中,以实现人-机以及机器-机器之间的通讯,通讯处理器实现下列功能:机器功能或过程顺序的操作者监视和控制;机器和所控系统的数据报表和列表。
智能输入/输出模板(ip):智能输入/输出模板能够处理下列特殊工作:快速计数脉冲串;测量和处理定位增量#测量速度和时间;控制温度和驱动。智能输入/输出模板一般有自己的处理器可分担cpu工作,因此在cpu处理其它工作时可快速处理测量和开/闭环控制任务。
输入/输出模板(i/o):数字量输入模板适配数字信号到s5-plc内部信号电平。数字量输出模板转换s5-plc5u内部信号电平成为数字处理信号。模拟量输入模板转换模拟过程信号,变为s5-plc数字化的功能。模拟输出模板把s5-plc的数字值转换为模拟过程信号