提出了一种应用于小型PLC(Programmable Logic Controller)的工作状态监视方法,即使用数码管增加简单可靠的人机界面,使工作人员可以直观的了解PLC内部程序状态,为小型PLC的运行、维护和检修提供便利。 The paper provides a method which can be applied to the surveillance and display of the working condition of the small PLC. Using Nixie Tube to add an efficient human-computer interface enables operating staff to know the internal condition of the PLC procedure directly. It will facilitate the operation, maintenance and reparation of PLC in small scale industries.
邵帅,郑卫东,李捍华,梁海腾,潘津
华能玉环电厂,浙江 台州
Email: nuaashao@163.com
收稿日期:2015年6月5日;录用日期:2015年6月19日;发布日期:2015年6月24日
提出了一种应用于小型PLC(Programmable Logic Controller)的工作状态监视方法,即使用数码管增加简单可靠的人机界面,使工作人员可以直观的了解PLC内部程序状态,为小型PLC的运行、维护和检修提供便利。
关键词 :PLC,数码管,人机界面
小型PLC由于集成度高、可靠性强而被广泛应用于工业控制系统。人机界面,又称用户界面或使用者界面,主要作用是实现信息的内部形式与人类可以接受形式之间的转换,是人与设备之间传递、交换信息的媒介和对话接口。小型PLC因不具备大型工业控制系统所具有的高级人机界面,使工作人员无法直观的了解其内部程序的运行情况,给工作状态监视和现场故障诊断提高难度。
本文以华能玉环电厂拦污栅清污系统为例,提出一种应用于小型PLC的工作状态监视方法,即通过PLC驱动数码管,为PLC增加了简单直观的人机界面,从而将PLC内部状态信息通过数码管实时显示,达到对小型PLC工作状态进行连续监视的目的。
华能玉环电厂循环水拦污栅清污系统采用施耐德MODICON可编程控制器为控制主机,设有“全手动、手动分程(半自动)、全自动”三种工作方式,核心机构包括提耙电机、耙斗、推杆电机、推杆等,其中提耙电机内含“耙斗上升到位”、“耙斗下降到位”的行程开关,推杆机构含“推杆推到位”和“推杆收到位”的行程开关。拦污栅清污机外观如图1,推杆机构结构如图2。
图1. 华能玉环电厂拦污栅清污机外观
根据清污机厂家提供的设备说明书,拦污栅清污机分程手动清污的步骤如下:按下降按钮,耙斗开始下降,同时推杆器收回;耙斗继续下降至耙斗下限,停留5秒后耙斗上升,耙斗经过导向杆换向位置后,推杆器推出,耙斗继续上升,上升到上限位置时,耙斗停止3秒钟,然后耙斗继续下降3秒后停止。
在拦污栅清污机分程手动清污过程中,PLC输出信号包括:耙斗下降、耙斗上升、推杆收回、推杆推出,皆为相应电动机的驱动信号;输入信号包括:耙斗下限、耙斗上限、推杆收到位、推杆推到位,皆为行程开关的反馈信号,以及下降按钮,即清污开始指令。
通过对拦污栅清污机PLC中程序进行导出解读,结合厂家提供的设备说明书以及就地实际工作过程,建立分程手动清污过程系统状态表,如表1。
图2. 推杆机构
描述 | 动作 | 步序 | 耙斗 下降 | 耙斗 下限 | 耙斗 上升 | 耙斗 上限 | 推杆 收回 | 推杆 收到位 | 推杆 推出 | 推杆 推到位 |
---|---|---|---|---|---|---|---|---|---|---|
按“下降”按钮 | 初始状态 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
耙斗开始下降, 同时推杆器收回 | 耙斗下降, 推杆器收回 | 2 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
推杆器收到位 | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | |
耙斗继续下降至耙斗下限, 停留5秒后耙斗上升 | 耙斗下降到位 并等待5秒 | 4 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
推杆器推出, 耙斗继续上升 | 推杆器推出, 耙斗上升 | 5 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
推杆器推到位 | 6 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | |
上升到上限位置时, 耙斗停止3秒 | 耙斗上升到位 并等待3秒 | 7 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
然后耙斗继续下降3秒后停止 | 耙斗下降到位 并等待3秒 | 8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
停止 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
表1. 清污过程系统状态表
表1中PLC各输出和输入信号的正常态为0,触发态为1。清污整体过程的初始状态和结束状态一致。在各输入信号满足条件的情况下,程序自动按照1→2→……→8的步序进行,一次完整的清污工作结束时再次按下“下降”按钮,系统将再次循环执行清污过程。
根据已建立好的系统工作状态表,在程序中建立变量存储器VB0,以此变量的十进制值代表程序当前的工作步序。以步序2和步序3即“耙斗开始下降,同时推杆器收回”为例,通过图3中的判断语句及图4中的赋值语句,将程序状态与VB0建立对应关系。为便于理解,图3中步序节点及系统的输入、输出映像寄存器I/Q采用汉字标注,实际程序中使用功能对应的寄存器及存储器点。
因图3中所有节点串联,即逻辑为与逻辑,通过此方法,可以保证当且仅当各输入、输出点状态与状态表中该步序的信息完全一致时,相应的步序点的值从0置1,然后将对应的十进制数字赋给VB0,从而完成对步序的判断与存储。VB0为8位字节类型的变量存储器,取值范围为0~255,相当于可以存储256个步序。如果程序的状态超过256种,可选用范围为0~65536的字类型变量存储器。
为了使工作人员能够更加全面的了解系统的工作状态,通过多个存储器可以实现当前工作状态和历史工作状态的记录。建立当前步序存储器VB1和历史步序存储器VB2,其功能实现语句如图5。
图3. 步序判断语句
图4. 步序赋值语句
程序正常运行时,当程序的工作状态发生改变,即VB0 ≠ VB1时,T34和T35开始计时,T34首先触发,将VB1中的值赋给VB2,即将当前状态变为历史状态,其次T35触发,将VB0中的值赋给VB1,即刷新当前状态,此时VB0和VB1一致,|<>B|的值为0,T34和T35清零,完成一次历史步序的存储和当前步序的刷新工作。以初始化之后执行两步为例,各存储器中值变化顺序如表2。
为了在一个数码管上实现更多信息的显示,需要让数码管轮流显示不同信息。在这里以轮流显示当前步序和上一步序为例,首先在程序初始时赋予存储器VB3一个8位二进制数“10000000”,再将其进行反复右移两位形成“10000000”、“00100000”、“00001000”、“00000010”四个状态的循环,如图6所示。
图5. 历史步序语句
实际步序 | 显示 | |||
---|---|---|---|---|
当前步序 | 上一步序 | |||
VB0 | VB1 | VB2 | ||
0 | 0 | 0 | ||
1 | 0 | → | 0 | |
1 | → | 1 | 0 | |
2 | 1 | → | 1 | |
2 | → | 2 | 1 |
表2. 各步序存储器的值
当循环至任一状态时,该状态对应的数值被赋予给显示值寄存器VB4,故VB4轮可以流存储四个状态的值,如图7所示。
在本例中,数码管的显示信号为VB4的值,刷新信号使用SM0.5的上升沿触发,故每一秒刷新一次。VB3和VB4中的值循环列表如表3,数码管实际显示为“A”→“数字(当前步序)”→“b”→“数字(上一步序)”,时间间隔为1秒。其中A和b作为区分不同数据的标志位。
通过使用不同类型的存储器,如16位字存储器,32位双整数存储器,并以不同的位数进行循环,可以得到更多种形式的循环显示,也可以在程序中使用循环语句进行循环存储和显示。
本文例中因工作状态不超过10种,只需要显示一位数,故只使用了一位数码管,每循环显示一次。若工作状态较多,则可使用多个数码管分位数显示当前状态,亦可利用本节提供的循环显示思路,形成“百位→十位→个位”的循环,最大化利用最少的硬件资源显示最多的信息。
图6. 循环显示的实现1
图7. 循环显示的实现2
小型PLC传递信息的方式通常为:使用其继电器或晶体管输出驱动一个指示灯,通过指示灯的亮、灭或闪烁来显示相应的状态。因每个独立的指示灯都需要占用一个输出点,若系统需要监视的信息较多,则需要占用大量的硬件资源,而且会使操作面板变得复杂、不直观。工作人员往往只能通过指示灯得知系统中某一单一设备的状态,难以对工业过程的全局状态进行判断。
与指示灯单一的显示方式不同,LED数码管可以显示数字和某些英文字母等简单的图形,在传递信息的形式上,使用PLC驱动数码管显示与传统的指示灯显示相比,占用的硬件资源更少,可以显示的信息更多,显示更为直观。
LED数码管是由多个发光二极管封装在一起组成“8”字型的器件,其引线已在内部连接完成,只需引出它们的各个笔划,公共电极。如图8所示,数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。当数码管特定的段加上电压后,这些特定的段就会发亮,形成眼睛看到的字样[
LED数码管有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。小尺寸数码管的显示常用一个发光二极管组成,而大尺寸的数码管由两个或多个发光二极管组成,一般情况下,单个发光二极管的管压降为1.8 V左右,电流不超过30 mA。
发光二极管的阳极连接到一起连接到电源正极的称为共阳数码管,发光二极管的阴极连接到一起连
VB3 (二进制) | VB4 (十六进制) | 数码管显示 |
---|---|---|
10000000 | OA | 字母A |
00100000 | VB1 | 当前步序 |
00001000 | OB | 字母B |
00000010 | VB2 | 上一步序 |
表3. 存储器值列表及数码管显示
图8. 数码管原理图
接到电源负极的称为共阴数码管。常用LED数码管显示的数字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。
段(SEG)指令,属于转换指令,用于生成照明七段显示段的位格式。其输入支持的操作数为VB,IB,QB,MB,SB,SMB,LB,AC,常数,*VD,*AC,*LD,其输出支持的操作数为VB,IB,QB,MB,SMB,LB,AC,*VD,*AC,SB,*LD,皆为字节类型(如图9)。
照明的段代表输入字节最低数位中的字符。图10显示SEG指令使用的七段显示编码[
图9中SEG指令的输出为QB0,意为用Q0.0~Q0.7这8位来驱动数码管。以显示一个“2”字为例,那么数码管a亮b亮g亮e亮d亮f不亮c不亮dp不亮,即QB0输出01011011,即Q0.0输出1,Q0.1输出1,Q0.2输出0,Q0.3输出1,Q0.4输出1,Q0.5输出0,Q0.6输出1,Q0.7输出0。
以QB0继电器输出,传感器供电24 VDC,使用共阴极数码管为例,为满足数码管正常工作电流要求,需要在电路中串联电阻,阻值通常选择24 V/10 mA = 2.4 KΩ左右。接线图如图11。
数码管内部虽为共阴极接法,但不可直接在阴极出线端串联电阻,这会使在显示不同数字时,因为亮起的LED数量不同,电阻流过电流不同从而产生的压降不同,导致在显示“1”等灯数较少的数字时显示很亮,而显示“8”等灯数较多的数字时显示很暗的情况,影响使用。
以华能玉环电厂拦污栅清污系统分程手动清污过程为例,在加装数码管之前,该系统操作面板上用于状态显示的指示灯共有28盏,如表4。
图9. SEG指令
图10. SEG指令
图11. PLC与数码管接线图
Q0.2 | 耙斗上升 | Q1.0 | 孔3灯 |
---|---|---|---|
Q0.3 | 耙斗下降 | Q1.1 | 孔4灯 |
Q0.4 | 清污机前进 | Q1.2 | 孔5灯 |
Q0.5 | 清污机后退 | Q1.3 | 孔6灯 |
Q0.6 | 夹轨器夹紧 | Q1.4 | 孔7灯 |
Q0.7 | 夹轨器放松 | Q1.5 | 孔8灯 |
Q0.8 | 左推杆推出 | Q1.6 | 上升灯 |
Q0.9 | 左推杆收回 | Q1.7 | 下降灯 |
Q0.10 | 右推杆推出 | Q1.8 | 前进灯 |
Q0.11 | 右推杆收回 | Q1.9 | 后退灯 |
Q0.12 | 故障 | Q1.10 | 夹紧灯 |
Q0.13 | 运行 | Q1.11 | 放松灯 |
Q0.14 | 孔1灯 | Q1.12 | 推出灯 |
Q0.15 | 孔2灯 | Q1.13 | 收回灯 |
表4. 系统状态指示灯表
加装数码管之前,拦污栅清污机操作人员在工作时只能通过将以上指示灯的显示和设备说明书对应来判断当前设备的工作状态,现场工作十分不便。
在加装数码管之后,正常工作时系统状态按照1~9连续变化,就地PLC驱动数码管轮流显示当前工作状态与上一工作状态,即显示“A1b0”→“A2b1”→……→“A8b7”,从而将PLC的工作状态信息直观的呈现出来。
通过数码管实现小型PLC工作状态监视相较于传统的指示灯监视,其优点有:
(1) 显示更加丰富。在显示方式上,数码管可以显示数字和某些英文字母等简单的图形,胜于传统指示灯单一的亮灭。在内容上,可以通过PLC程序任意的控制数码管的显示内容,且可以循环显示,从而使工作人员得到更多的信息。
(2) 显示更为直观。数码管的显示浅显易懂,工作人员可以直接了解到当前系统的工作状态而不是通过数个指示灯的状态组合判断出当前的全局状态,为日常运行、维护和检修提供了极大的便利。
(3) 占用硬件资源较少。一位数码管只需占用8个输出点,若使用具有译码功能的数码管则只需占用4个输出点,且数码管正常工作电流在毫安级,对PLC输出带负载能力几乎无要求。
(4) 旧系统加装数码管的改造成本低。在PLC有足够剩余硬件和软件空间的条件下,新增数码管控制程序无需对原程序进行改动,且与原程序相对独立,不会影响到原系统的正常工作;硬件成本也极低,一位工业用数码管的价格仅需几元,驱动电源可直接取自PLC,匹配电压所需的电阻成本不足一元。
邵 帅,郑卫东,李捍华,梁海腾,潘 津, (2015) 基于数码管的PLC工作状态监视方法PLC Working Status Monitoring Method Based on Nixie Tube. 电气工程,02,50-59. doi: 10.12677/JEE.2015.32007