文俊杰,张洁,张毅宁

(鞍山师范学院物理科学与技术学院,辽宁鞍山,114007)

随着科学技术的飞速发展,自动化技术在各行各业得到了广泛应用。可编程逻辑控制器(简称PLC)由于具有丰富的功能和极强的可靠性,以PLC为控制核心的自动控制系统发挥着极其重要的作用。

触摸屏是一种连接人和机器的人机界面, 它代替了原始的控制台和显示器[1],极大地方便了用户的操作,提升了用户的体验感。由于控制成本的需要,低配置串口触摸屏往往成为小型低成本控制系统的首选,而这类触摸屏的通信接口往往很简单,需要用户根据现有条件自己设计通信协议。本文基于PLC的自由口模式,设计了与简易版DGUS屏的数据通信方式,实现了低配置串口触摸屏对PLC控制系统的实时监控。

1 简易版DGUS屏通信协议

DGUS(DWIN Graphic Utilized Software)是北京迪文科技有限公司设计的图形界面人机系统软件,预装DGUS软件的触摸屏称为DGUS屏[2]。本文采用的DMT800_480L0715WT屏是一种基于 T5 CPU 运行的简易版 DGUS屏,执行RS-232串口通信接口标准,通信接口如图1所示,用户串口模式固定为8N1,波特率可以设置,数据帧由5个数据块组成(参见表1),设有4个串口指令,其中0x80/0x81 指令写/读 256 个 DGUS 寄存器变量,0x82/0x83 指令写/读 32K字节 DGUS 变量空间[3]。

表1 简易DGUS屏串口通信帧数据结构

?

PLC需通过串口发送0x80/0x81/0x82/0x83指令,访问DGUS屏;而简易版DGUS屏是通过选择“数据自动上传”的方式,将相关按钮命令和录入的参数以0x81/0x83指令应答形式上传到串口,进而传送到PLC控制系统中。

2 通信方案的初步设计

本文选用德国西门子公司生产的小型 S7-200PLC CPU224XP,其串行通信口在电气上执行RS-485标准,是半双工通信[4],所以必须采用分时方式进行发送与接收。根据实时监控通信的需求,设计了3种PLC与简易版DGUS屏进行通信的形式[5]:

(1)PLC“写”:PLC向简易版DGUS屏发出写信息,其串口指令通信帧数据组成如表2所示,从而将PLC控制系统的控制参数及状态写入触摸屏指定的变量单元,以使触摸屏能及时以图形方式展示控制状态及信息。

表2 PLC“写”指令通信帧数据组成

(2)PLC“读”:PLC向简易版DGUS屏指定变量单元发出读命令,其发送的指令通信帧数据组成参见表3,而后等待触摸屏做出应答,进而使PLC能及时掌握与触摸屏通信的状态。

表3 PLC“读”指令通信帧数据组成

(3)PLC“接收”:PLC接收简易版DGUS屏上传过来的数据如表4所示,其内容有二种,一种是PLC被动接收简易版DGUS屏上传的命令和数据,PLC需及时做出相应响应,从而完成用户通过触摸屏发出的指令;另一种是由PLC发出的PLC“读”命令产生,简易DGUS屏做出的应答信息。

表4 简易版DGUS屏上传到串口数据的组成

上述3种形式中,PLC主动“写”和PLC主动“读”是由PLC主动发出,采用定时方式进行;而PLC“接收”是被动的,特别是简易版DGUS屏主动传送的数据(例如用户下达的命令或修改的参数等)是随机的,所以采取中断响应方式接收。

3 监控通信的实现

3.1 PLC与简易版DGUS屏通信接口线路

简易版DGUS屏(DMT80480L070_15WT屏)和S7-200PLC(CPU224XP)通信接口线路如图2所示,这里采用常用的PC/PPI电缆实现RS232至RS485的转换,PC/PPI电缆 的RS485端 口 与CPU224XP的PROT1相 连,而PC/PPI电缆的另一端RS232端口的接收脚RxD(引脚2)与简易版DGUS屏的DOUT引脚相连,RS232端口的发送脚TxD(引脚3)与简易版DGUS屏的DIN引脚相连接,同时其RS232端口的GND脚(引脚5)与简易版DGUS屏的GND引脚相连实现共地。

图2 通信接口连线图

3.2 通信软件设计[6~7]

PLC与简易版DGUS屏通信软件设计主要是PLC软件设计。本文将 CPU224XP的Port 0口设为 PPI 格式,方便PLC 程序的下载,而将Port 1口用于与简易版DGUS屏的通信。将Port 1设置为自由口协议,波特率为115200bps/s,每个字符8位,无奇偶校验。

3.2.1 串口发送

PLC“写”和PLC“读”通信形式分别采取不同定时周期发送。

PLC“写”是将被控系统的当前数据和状态及时发送给简易版DGUS屏,发送周期(T写)要短;同时,为避免一次发送所占用的串口时间过长,所以将写入简易DGUS屏的内容分割成几段,分时按序进行,本文分成2段,PLC“写”的发送周期(T写)设为200ms。

PLC“读”一般用于与简易版DGUS屏通信状态的测试,因此PLC“读”的发送周期(T读)以用户体验为准,本文设为30s。

每当定时发送时间到时,首先将当次发送的数据及相关信息(参考表2和表3)送到发送缓冲区,而后用XMT指令发送,然后立即连接“发送完成”事件(中断事件号为26)中断,在“发送完成”中断服务程序中将串口即刻切换到接收状态。其自由口通信发送程序流程如图3所示。

图3 自由口通信PLC发送流程

3.2.2 串口接收

本文采用S7-200PLC的“接收字符”中断(中断事件号为25)完成PLC“接收”。“接收字符”中断进行数据接收,也就是PLC每接收到一个“字符”(一个字节数据)时都会产生中断。根据简易版DGUS屏上传一帧数据的组成(参见表4),分别用“接收首帧头”、“接收次帧头”、“接收长度”以及“接收数据块”4个中断服务程序按序与“接收字符”中断事件连接,对接收到的“字符”进行判断并将接收的“字符”逐一存放在接收缓冲区,最终完成一帧数据的接收。

中断服务程序“接收首帧头”(参见图4)和“接收次帧头”(参见图5)用于PLC与简易版DGUS屏双方约定帧头的判断;中断服务程序“接收长度”(参见图6)获取一帧数据中还需接收的字节数(设为L,是指令、操作数、CRC字节数的总和),用于确定一帧数据的长度;中断服务程序“接收数据块”(参见图7)根据接收的字节数(L),完成一帧完整数据的接收与处理。

图4 中断服务程序“接收首帧头”流程图

图5 中断服务程序“接收次帧头”流程图

图6 中断服务程序“接收长度”流程图

图7 中断服务程序“接收数据块”流程图

4 在自动监控系统中应用[8]

简易版DGUS屏和S7-200PLC的通信方法已应用于鞍山师范学院设计的生物质锅炉PLC控制系统中,图8是简易版DGUS屏对控制系统实时监控多幅界面中的一个。在图8这幅手动监控界面上,能实时显示控制环节状态和运行参数,例如进料状态、烟道温度等;同时用户可通过界面上的按键将命令传达到PLC控制系统中,例如,按动“进/停”按键”即刻启动或停止控制系统的“进料”动作,等等,方便了用户操作,对生物质锅炉的应用和推广具有重要意义。

图8 生物质锅炉PLC控制系统监控界面之一

5 结束语

根据简易版DGUS屏给定的通信协议和串口指令,基于S7-200PLC自由口通信的特性,设计的通信程序实现了简易版DGUS屏和PLC的串行通信。将该设计应用于生物质锅炉PLC控制系统中,能够实现实时监测和控制,为简易版DGUS屏应用于PLC自动控制系统中提供了一个有效的方案,具有一定的参考价值。