1引言
可编程序控制器(PLC)是以计算机技术为核心的通用自动化装置,是为工业控制应用而设计的。由于其可靠性高、适合于各种恶劣的现场环境,其控制程序可变,因此在工业生产中得到了广泛的应用。随着工业生产规模的不断扩大,对生产管理集成的信息化、集成化需求不断提高,PLC控制系统也逐步从单机分散控制向着多机协同的网络化控制系统发展,plc的具有了灵活的通信能力,PLC的通信包括了PLC之间、PLC与上位机之间,以及PLC与其他智能设备之间的通信。
随着现代电子技术及微电脑技术的迅速发展,微机技术逐渐应用到天平领域,出现了电子天平。电子天平具有数字显示,直接读数、快速称量、操作简便、重量轻、抗干扰能力强等特点,广泛应用于各行业的质量计量。电子天平一般都带有外接通讯接口,以便用户用来接打印机或与其他设备进行通讯,进行在线测量或控制。
在工业生产过程中,很多时候是由电子天平称量的数据来对做分析和对其他设备形成控制条件,越来越多的用户希望能够将电子天平和PLC之间能够进行通信,形成能够控制电子天平的开机、关机、称量、清零等操作以及称量数据存储和分析等。
2S7-200系列PLC的自由口通信方式
S7-200系列PLC支持多种通信模式。点对点接口(PPI)、多点接口(MPI)、PROFIBUS、自由口通信等,它们都是基于字符的异步通信协议,带有起始位、8位数据、奇偶校验位和一个停止位。在自由口模式中,用户自定义与其他串行通信设备通信的协议,通过使用接收中断、字符中断、发送指令(XMT)和接收指令(RCV),实现S7-200PLC的CPU通信口与其它设备的通信。
通过将SMB30和SMB130的协议选择域置1,将通信端口设置为自由口模式。SMB30用于设置端口0的通信波特率和奇偶校验的参数,SMB130用于设置端口1的通信波特率和奇偶校验的参数,如附图所示。
附图特殊存储器字节AMB30和SMB130
只有PLC处于RUN模式时,才能使用自由口模式,当CPU处于STOP模式时,自由口模式被禁止,自动进入PPI模式,可以与编程设备通信。为保证CPU处于RUN模式时进入自由口通信,可以采用S7-200 PLC的特殊寄存器位SM0.7来控制自由口通信方式的进入,当SM0.7为1时,CPU处于RUN模式,进入自由口通信模式。通过向SMB30或SMB130(SMB30用于设置端口0,而SMB130用于设置端口1)的协议选择位置1,可以将通信端口置为自由口通信模式。SMB30或SMB130还用于设置通信波特率、奇偶校验位、数据位。
发送指令XMT可以方便的发送1~256个字符,如果有中断程序连接在发送结束事件上,则在发送完数据缓冲区的最后一个字节后,端口0会产生中断事件9,端口1会产生中断事件26。可以监视发送状态完成状态位SM4. 5和SM4. 6的变化。在自由口模式下发送指令XMT将数据缓冲区(TBL)的数据通过指定的通信端口(PORT)发送,TBL指定发送区的格式如图所示,起始字符和结束字符是可选项,第一个字节“字符数”是要发送的字节,它本身并不发送出去。
接收指令RCV可以方便的接收一个或多个字符,最多接收255个字符,如果有中断程序连接到接收结束事件上,在接受最后一个字符时,端口0产生中断事件23,端口1产生中断事件24。可以监视SMB86或SMB186的变化,而不是通过中断进行报文接收。SMB86或SMB186位非零时,RCV指令未被激活或接收已经结束。在自由口模式下接受指令RCV通过指定的端口(PORT),将接收的数据信息存储在数据缓冲区(TBL)中。
3电子天平的通信
电子天平选用了美国奥豪斯CP系列CP153型号高精度电子天平,其通讯接口为RS232方式,可以采用ASCII码方式与相关的设备进行通信,可通过串行通信方式向电子天平发送控制命令,从而实现电子天平的称量和数据的传输,CP153电子天平的常用命令的ASCII字符串和电子天平的返回信息如附表所示。
附表电子天平常用命令
附表电子天平常用命令
命令(ASCII字符串)
|
命令含义
|
电子天平返回信息
|
ON+回车
|
开机
|
OK!
|
OFF+回车
|
关机
|
OK!
|
P+回车
|
称量
|
返回当前称量值
|
T+回车
|
清零
|
将当前电子天平的称量值清零
|
4电子天平和S7-200 PLC的通信
如何实现对电子天平数据进行采集、处理和控制已成为工业控制中经常遇到的问题。电子天平一般采用ASCII码方式与相关设备进行通讯。
由于电子天平通讯接口为RS232方式,不适宜远距离传输,而通过有源模块RS232转RS485转换后,将RS232信号转换为RS485信号,即完成与S7-200 PLC的RS485信号进行通信,又实现了远距离信号传输。
在S7-200 PLC的自由口通信模式中,用户可以定义通信口的波特率、每个字符的位数、奇偶校验等参数发送数据。根据实际情况的需要,将S7-200PLC和电子天平之间的通信协议数据设置为波特率9600,数据位8位,无校验位,1位停止位。电子天平可以通过其自身的菜单导航可将这些数据设置。
将电子天平和S7-200 PLC之间通过一个RS232转RS485模块,实现了两者之间的硬件连接。
5S7-200 PLC的发送和接收部分程序
S7-200 PLC的发送程序分为设置其自由口通信参数的程序和发送电子天平能够接收的开机、关机、称量和清零命令的程序,该程序由S7-200 PLC的特殊功能寄存器SM0.1上电初始化完成。
系统上电后,S7-200 PLC写入其自由口通信的各个参数,设置为串口1通信,波特率为9600,数据位8位,无校验位,1位停止位,使其与电子天平的通信方式一致。并且发送接收信息的控制字节,设置接收信息的起止字节为16#68和16#67(ASCII字母h和g),接收字节数为20个,程序如下:
LD SM0.1 //
MOVB 16#09, SMB130 // 串口1,无校验位,八位数据位,自由口通信
MOVB 16#E0, SMB187 //接收信息控制字节,
MOVB 16#68, SMB188 //设置接收信息起始字节 16#68 (ASCII h )
MOVB 16#67, SMB189 //设置接收信息结束字节 16#67 (ASCII g )
MOVB 20, SMB194 //设置接收字节数为 20 个
S7-200 PLC上电的同时写入发送电子天平能够接收开机、关机、称量和清零命令的地址和该命令的ACSII码对应的十六进制字符:
LD SM0.1
MOVB 4, VB200 //发送命令 on 开机
MOVW 16#6F6E, VW201
MOVW 16#0D0A, VW203
MOVB 5, VB210 //发送命令 off 关机
MOVW 16#6F66, VW211
MOVB 16#66, VB213
MOVW 16#0D0A, VW214
MOVB 3, VB220 //发送命令 p 称量
MOVB 16#70, VB221
MOVW 16#0D0A, VW222
MOVB 3, VB230 //发送命令 t 清零
MOVB 16#74, VB231
MOVW 16#0D0A, VW232
S7-200 PLC在发送称量命令时采用了通信口1的中断事件24接收信息完成和中断事件26发送完成的方式,其发送命令程序为:
LD I0.2 //发送称量命令
EU
XMT VB220, 1
ATCH INT_0:INT0, 26 //串口1发送完成中断
ATCH INT_1:INT1, 24 //串口1接收完成中断
ENI //中断允许控制命令
S7-200 PLC的接收数据是在发送电子天平的称重命令以后,电子天平称量的一个稳定数据后发出的一个称量值。串口1发送完成中断,将接收的数据存到VB250存储数据空间,并且重新启动发送称量命令指令,
LD SM0.0
LPS
RCV VB250, 1 //存储数据到VB250存储空间
NOT
XMT VB230, 1 //重新启动发送称量命令
LPP
DTCH 26 //无条件返回中断指令
S7-200 PLC在接收到电子天平传回的数据后,在经过一段简单的编程将数据提取出来即得到其电子天平称量的物品的重量值。
6结束语
在工程设计设备调试过程中,我们利用了自由口通信方式将电子天平和S7-200 PLC结合到了一起,实现了双向可靠的通信,通过触摸屏可对电子天平进行直观的控制和称量的数据在线显示储存,最终导出报表,并将该设备应用到了工业控制领域。
作者简介
姜官武(1983-)男助教/硕士,主要从事工业自动控制系统方向研究。
聂诗良(1968-)男教授/硕士,主要从事计算机控制系统方向研究。
参考文献
[1]张万忠,刘明芹.电器与PLC控制技术[M].北京:化学工业出版社,2003.
[2]沈世斌.基于PLC自由口通信的应用[J].仪表技术与传感器,2004,12:26-28.
[3]张培友.PLC与电子天平通讯方式的探讨与实现[J].自动化与仪表,2010,8: 55-57.
[4]李臣友.论S7—200系列PLC自由口通信的实现[J].计算机工程应用技术2010(7).
共0条 [查看全部] 网友评论