随着科技的飞速发展, 越来越多的机器与现场操作都趋向于使用人机界面, 而PLC 控制器强大的功能及复杂的数据处理也要求有一种功能与之匹配而操作简便的人机界面。触摸屏的出现无疑是21世纪自动化领域的一个巨大革新。触摸屏和PLC的组合使用已经成为主导形式。
PLC是一种结构简单、通用性好、功能较完备的新型控制元件, 其主要优点是抗干扰能力强, 可以提高系统的可靠性和稳定性以及生产效率, 特别适用于工业控制。
触摸屏是一种连接人和机器的人机界面, 它代替了原始的控制台和显示器, 可用于数据显示和参数设置,并且可以用动态曲线的形式描述系统的控制过程; 扩展了PLC的功能, 减少了按钮、开关、仪表等仪器的使用。
1 系统的组成
本系统采用Siemens S7-200和迪文触摸屏组成的系统控制现场的电动阀、电磁阀、电动机和温度控制器等执行机构。S7-200通过模拟量输入模块和温度、压力传感器采集现场的温度和压力信号, 信号通过PLC上的A /D转换、数值变换传送到触摸屏上, 触摸屏显示实时的温度值、压力值、温度曲线、压力曲线和PID曲线; 且PID参数可以通过触摸屏进行设置, 触摸屏给PLC发送指令, 以控制现场的执行机构。由于PLC接口为RS-485,触摸屏接口为RS-232, 因此, 需要增加一个RS-485 /RS-232转换线。控制系统的组成如图1所示。
图1 控制系统组成框图
2 PLC和触摸屏的通信
计算机与计算机或计算机与终端之间的数据传送可以采用串行通信和并行通信2种方式。S7-200系列PLC的通信分3种工作方式: PPI通信方式、自由口通信方式和Profibus-DP通信方式, 本系统采用的是自由口通信方式。
2.1 PLC 的自由口通信
当S7??200系列PLC使用自由口通信时, 数据传输协议完全由用户程序决定, 所有的通信任务都要由用户编程完成。通过自由口方式, S7-200可以与串行打印机、条码阅读器、触摸屏进行通信, 其波特率范围为1 200~ 115 200 bit / s(可调整)。自由口通信的核心是XMT(发送)和RCV (接收)这2条指令以及相应的特殊寄存器控制。本系统的自由口通信使用的是自由口0,S7-200 CPU使用SMB30定义自由口0的工作模式。通过特殊寄存器SMB30, 可以对校验的选择、每个字符的数据位、自由口的波特率和协议选择进行设置。S7-200 CPU 上的自由口接口为RS-485, 触摸屏的接口为RS??232, 设计时需要制做一个RS-485 /RS-232的通信线。而S7-200 CPU的通信口RS-485为半双工通信口,发送和接收指令不能同时处于激活状态, 此时,可以通过控制特殊寄存器SMB87来控制RCV (接收) , 当在指定时间内PLC没有收到信息时, RCV指令将停止接收。
2. 2 触摸屏的数据传送方式
迪文触摸屏的串口数据帧结构由帧头、指令、数据以及帧尾结束符这4 个数据块组成。帧头固定为0XAA, 而指令参考迪文指令集, 数据最多为249 B, 帧尾结束符固定为0XCC、0X33、0XC3、0X3C.其中, 0X代表16进制数。迪文触摸屏所有指令或数据都是16进制(HEX)格式, 对于字型( 2字节)数据, 字节传送顺序采用高字节先传送(MSB)的方式。传送方向为下行(Tx)时, PLC 发送数据给触摸屏, 数据从触摸屏串行接口的"Din引脚"输入; 传送方向为上行(Rx)时,触摸屏发送数据给PLC, 数据从触摸屏串行接口的"Dout引脚"输出。触摸屏与PLC 串口数据交换交换过程如图2所示。
图2 数据交换过程示意图
3 典型的PLC程序
3. 1 模拟量的采集及发送
在模拟量输入及其转换成实际值的过程中(以温度为例),温度传感器采集到的模拟信号通过PLC模拟量输入模块变成数字信号传到PLC 的存储器, 再根据传感器的量程等实际情况把数字信号换算成实际的温度值(模拟量比例换算是指由于A /D、D /A 转换之间的对应关系, S7-200 CPU内部用数值表示外部的模拟量信号, 两者之间有一定的数学关系, 即模拟量/数值量的换算关系)。
系统从模拟量模块中地址为AIW10的通道输入模拟量。为了增强输入模拟量的稳定性, 模拟量采集程序采用求多次采样值的平均值方法; 而为了减少CPU 的扫描时间, 程序中的除法采用移位除法(用采样次数的2的次方表示, 如128次为2的8次方)。
3.2 触摸屏的触控功能
当触摸屏上的按钮被按下时, 触摸屏会给PLC发送按钮位置坐标(触摸屏中表示位置坐标的数据块为"AA 73按钮的坐标CC 33 C3 3C"), PLC收到数据后判断按钮的位置坐标是否正确,如果正确,则执行显示曲线、显示实时参数、控制执行机构等指令。
3. 3 通信的相关程序
PLC 的编程方法因程序设计人员的思维习惯不同而有很大差异, 常用的编程方法有梯形图编程和语句表编程2种。梯形图接近继电器控制的表达形式, 语句表则类似于计算机汇编语言, 这2种编程方式均实时反映出继电器控制的思想。本文采用语句表的编程方法编写了触摸屏和PLC通信及触摸屏触控(触摸屏给PLC发送指令, 通过PLC控制执行机构)的程序,其程序如下。
①主程序编程。
网络1: 程序初始化。
网络2: 接收触摸屏发来的指令。
②中断程序。
网络1: 如果按下“启动”按钮, 则发给PLC控制指令控制执行机构。
网络2: 如果按下“返回”按钮, 界面切到首页。
③数据块。
4 用户界面
用户界面的设计和实现分为以下2个步骤。
① 设计触摸屏的显示界面。
设计和触摸屏hmi物理分配率相同的用户界面,并下载到HMI终端(用户界面可以用任意画图软件进行绘制)。
② 制作触摸屏按钮。
按照工艺要求设计好的用户界面有很多按钮,当触摸屏按钮被按下时,触摸屏会给PLC 发一个位置坐标(格式为AA 73坐标CC 33 C3 3C),使其根据坐标的正确性来执行相应的指令。如按钮"温度曲线",它的有效区域是右上角和左下角这2个点坐标的组合(X0Y0, X 1Y1 ), 其中X 0Y0 为"温度曲线"右上角坐标,X1Y1 为"温度曲线"左下角坐标。当"温度曲线"按钮被按下时,触摸屏就给PLC发送相应的坐标指令, PLC收到坐标(X, Y)后进行判断, 若X0≤X≤X1 且Y0≤Y≤Y1,则PLC给触摸屏发送显示温度曲线的指令,触摸屏上就会显示如图3所示的实时温度曲线。同理,可以进行PID参数的设置。
图3 实时温度曲线
5 遇到的问题及解决方法
在系统设计过程中, 会遇到以下几类问题。
①通信接口不匹配, 即PLC上CPU的接口为RS??485,触摸屏接口为RS??232.解决办法是购买RS-485 /RS-232转换器, 或自己设计一个转换电路。
②S7-200 CPU 通信端口为RS??485半双工通信口, 发送和接收指令不能同时处于激活状态。解决办法是通过软件设计实现, 把接收信息控制字SMB87设置为16# 9C, 当在设定时间内PLC没有接收到信息时,则接收指令RCV停止接收。
③PLC和触摸屏的通信波特率必须保持一致, 本系统的通信波特率为115 200 bit / s.
6 结束语
触摸屏和PLC组合系统的研究既利用了PLC 强大的控制功能,又发挥了触摸屏友好的人机交互、灵活、可靠的优点,大大减少了操纵台上的开关数量,省去了复杂的电气接线,使操作人性化。操作人员可以直接通过触摸屏的按钮来控制系统的运行,简化了操作难度,且通过运行曲线可以更直观地掌握系统的运行状态。系统具有实时显示被控系统的参数值、显示曲线、控制、报警、记录及设置参数等功能,实现了PLC的可视化功能。PLC和触摸屏的组合使用是工控领域的发展趋势。