西门子模块6ES7221-1BF22-0XA8现货充足
随着计算机技术的发展,人们逐渐通过计算机软件来模拟实际的物理模型。“虚拟模型”就是以计算机技术为基础,数字接口技术为支持,对模型进行研究和利用。虚拟电梯系统是指将计算机和PLC控制虚拟成一台实际运行的电梯,计算机通过动画显示电梯的轿厢和井道并模拟电梯的运行,同时将信号传送到PLC 控制器。PLC控制器运行电梯控制程序,通过通讯程序将控制结果传回计算机,计算机上的虚拟电梯根据控制信号来进行电梯的运行和信号的指示,从而模拟电梯的运行过程,并能模拟实际电梯的各种运行状态和故障状态。
与传统的物理模型电梯相比,虚拟电梯具有以下优点:
(1)成本低,使用方便,便于自行设计开发电梯的控制功能。
(2)虚拟电梯可以作为电梯操作人员的培训软件,熟悉电梯正常的运行规律和各种控制信号的功能。虚拟电梯设置灵活,楼层数、梯速和电梯数量都可以改变,而实际物理模型都是不可更改的。
(3)虚拟电梯可以作为PLC控制器的控制对象,对实际电梯控制系统的PLC控制程序及功能进行调试和完善。
因此虚拟电梯技术为开发电梯控制系统以及电梯操作人员的培训提供了良好的应用前景。
1.虚拟电梯系统的结构及原理
虚拟电梯控制系统由PLC电梯控制程序、系统通信程序和虚拟电梯仿真界面三部分构成。如图1所示。虚拟电梯仿真界面如图2所示,这是两个电梯的qunkong,画面对称地分为左右两个电梯系统。以左梯为例,左侧模拟虚拟电梯的轿厢和并道,其右侧为轿箱门和内外呼叫信号以及显示搂层信号,上部为电梯的运行状态。通过菜单的设置,可以配置电梯的数量、搂层数、电梯的运行方式(自动、司机、消防和检修等方式)。
图1 虚拟电梯系统组成
Fig 1 the structure of virtual elevator system
图2 虚拟电梯仿真界面
Fig.2 interface of virtual elevator
系统的硬件主要是计算机、西门子S7-200型PLC和通讯电缆。系统的工作过程为::通过设置运行状态以及点击仿真界面上的按钮,使计算机将虚拟电梯的信号通过通讯程序发送给PLC,PLC根据接收到的信息,运行电梯控制程序,并将控制程序的控制信号发送给计算机,计算机则通过相应的解释程序,一方面将运行状态显示在仿真界面上,另一方面控制虚拟电梯动画模块的动作,从而达到虚拟电梯控制的目的。计算机中的软件采用VB编程,通讯方式采用串口通讯。
2.通讯协议格式设计
整个系统中将计算机虚拟电梯模型和电梯控制器PLC有机连接起来的就是计算机和PLC的通讯程序。通讯协议就是定义的使计算机与PLC能够识别相互之间通讯数据的通讯格式。本系统中S7-200与计算机间的数据传输,是以“帧”为单位进行的。本系统采用定长的通讯帧,每一帧的格式为:
定义:
1).开始字符标志着通讯帧的开始,在本系统中被定义为ASCII码的"@"。
2).结束字符标志着通讯帧的结束,在本系统中被定义为ASCII码的"#"。
3).校验码为正文各数据的异或和,用两个字节的十六进制ASCII码表示。
计算机与PLC通信时,为了避免通信中的冲突,采用主从方式,即计算机为主机,PLC为从机。只有主机才有权主动发送请求报文(或称为请求帧),从机收到后进行校验,若校验正确,则返回响应报文。
4)通讯帧中的命令类型则反映主从机之间的通讯数据类型。命令类型用两个字符格式表示,定义CT表示控制字,ST表示状态字,RS表示响应字。对不同命令类型的通讯数据帧格式定义如下:
(1) 状态字为计算机传向PLC的数据,表明虚拟电梯的状态及呼叫命令。该通讯帧数据格式为:
正文数据包括: 电梯的运行状态(上行、下行、停),安全信号(是、否),电梯开关门,电梯内呼外呼信号,平层信号等,用十进制数字按照下列定义的顺序表示:
运行方式定义为1位:自动为0,司机为1,检修为2,消防为3;
运行状态定义为1位: 电梯上行 为2,下行 1 ,停止为0,故障为3
电梯开关门定义为3位,首位含义:按钮未按0,电梯开门1 ,电梯关门 2 ;二、三位表示门状态:开门过程00 ,开门到位01,关门过程10 ,关门到位11 ;
电梯内呼数据以N开始,以W结束,每两位表示内呼层数,如N0413W表示电梯内有到4层和13层的内内呼信号;
电梯外呼数据以内呼结束字符W位开始,以字符S为结束字符。每三位表示外呼层数:首位是外呼方向0为下行,1为上行,2为上下均有呼叫,另两位表示层数。如数据W005112S则表示五层有下行呼叫,12层有上行呼叫。
平层信号用两位表示。
正文数据为A、B两梯的数据,其格式相同,其中A梯数据在前,B梯数据在后。
(2)响应字是计算机或PLC接收到数据后返回发送方的的响应。用于判断通讯数据是否正确。正文包括:当异或校验码正确时用00表示,错误时用11表示。当计算机向PLC发送如前所示状态字后,由PLC返回计算机的响应为:
(3)当计算机向PLC发送的数据格式为
表明计算机作为主机,要求PLC传送数据,主机处于数据接收状态,此时PLC向计算机传送的数据帧称为控制字,通过它来控制虚拟电梯的运行,控制字格式为
正文数据包括:电梯的上行下行停止,电梯开关门指令,信号指示(内呼、外呼、搂层)。定义格式与状态字类似。
3 .通讯程序设计
通讯程序的设计就是要在计算机和PLC之间完成以上述协议为格式的数据传递任务。分为计算机通讯程序和PLC通讯程序。
3.1计算机通讯程序
在开发计算机串行通信程序时采用VB编程语言,主要是利用MSComm (Microsoft Comm Control 6.0)通信控件,该控件提供了对串口的各种操作。MSComm提供两种通信方式,事件驱动方法和查询法。本系统采用查询法,查询法适合于较小的应用程序,每当应用程序执行完某一串行口操作后,将不断检查MSComm控件的CommEvent属性,以检查执行结果或检查某一事件是否发生。MSComm 控件主要属性有:
(1)Commport属性,设置并返回通信端口号,用于指定使用PC机的哪一个串行端口
(2)Setting属性,以字符串的形式设置并返回波特率、奇偶校验、数据位和停止位。
(3)Portopen属性,设置并返回通信端口的状态,用于打开或关闭端口。
(4)Output属性,用于发送数据,可以是文本数据或二进制数据。
(5)bbbbb属性,从接收缓冲区返回和删除字符,用于接收数据。
(6) bbbbbLen,设置并返回每次bbbbb属性从接收缓冲区读取的字符数。
(7) CommEvent,返回近的通讯事件或错误。
计算机虚拟电梯的通讯过程如图3所示。
图3 计算机通讯过程
Fig.3 communication process of computer
3.2 PLC通讯程序
西门子S7-200PLC提供了PPI(point to point)、MPI(multi point)和自由口(free port) 3种通讯方式,自由口通讯方式可以使S7- 200与任何具有串行口的设备进行通讯,自由口通讯使用RS-485接口,在程序中可以使用接收中断、发送中断、发送指令(XMT)和接收指令(RCV)等来控制通讯操作。通讯过程中,计算机作为主站通过COM口发送指令到PLC的PORT0口,PLC通过Rcv接收指令,然后对指令译码后实现指令要求的操作,并返回指令执行的状态信息。
PLC通讯程序采用中断方式,S7- 200系列PLC内部的特殊存储字节SMB30和SMB 130用来为通讯端口0和1在自由口通讯方式下选择波特率、奇偶校验和数据位数。利用XMT指令发送缓冲区的内容,发送完后会产生一个中断事件。利用RCV指令接收数据,接收完后也会产生一个中断。
PLC的通讯过程如图4所示。
图4 PLC通讯过程
Fig.4 communication process of PLC
3.3 系统的工作过程
虚拟电梯系统的通讯过程同样分为计算机和PLC两部分,计算机部分通讯过程是:虚拟电梯的仿真界面运行后,每过一定的时间(设定为100ms),计算机就将虚拟电梯仿真界面上的鼠标指令以及电梯的状态发送给PLC,PLC接收数据后,将其作为输入端口数据运行电梯的控制程序,产生输出数据,并将数据按协议格式传递给计算机,计算机接到后对数据进行解析,然后根据控制指令来进行电梯的运行和信号的指示。
4 结束语
通讯程序的设计是虚拟电梯中的重要一环,它决定了系统能否实现真正运行的功能,以及扩展性和通用性。本系统设计了可扩展的通讯协议格式,使用VB语言和西门子S7-200PLC开发了计算机和PLC的通讯程序,实现了计算机与PLC的实时通信。并将该通讯技术成功应用在了多电梯的虚拟系统中。该虚拟电梯系统作为PLC开放式实验室的一个虚拟对象,在PLC单电梯和多电梯控制中得到了很好的应用,也为开发电梯控制系统以及电梯操作人员的培训提供了良好的应用前景。
一、 基本指令系统特点
PLC的编程语言与一般计算机语言相比,具有明显的特点,它既不同于语言,也不同与一般的汇编语言,它既要满足易于编写,又要满足易于调试的要求。目前,还没有一种对各厂家产品都能兼容的编程语言。如三菱公司的产品有它自己的编程语言,OMRON公司的产品也有它自己的语言。但不管什么型号的 PLC,其编程语言都具有以下特点:
1、图形式指令结构:程序由图形方式表达,指令由不同的图形符号组成,易于理解和记忆。系统的软件开发者已把工业控制中所需的独立运算功能编制成象征性图形,用户根据自己的需要把这些图形进行组合,并填入适当的参数。在逻辑运算部分,几乎所有的厂家都采用类似于继电器控制电路的梯形图,很容易接受。如西门子公司还采用控制系统流程图来表示,它沿用二进制逻辑元件图形符号来表达控制关系,很直观易懂。较复杂的算术运算、定时计数等,一般也参照梯形图或逻辑元件图给予表示,虽然象征性不如逻辑运算部分,也受用户欢迎
2、明确的变量常数:图形符相当于操作码,规定了运算功能,操作数由用户填人,如:K400,T120等。PLC中的变量和常数以及其取值范围有明确规定,由
产品型号决定,可查阅产品目录手册。
3、简化的程序结构:PLC的程序结构通常很简单,典型的为块式结构,不同块完成不同的功能,使程序的调试者对整个程序的控制功能和控制顺序有清晰的概念。
4、简化应用软件生成过程:使用汇编语言和语言编写程序,要完成编辑、编译和连接三个过程,而使用编程语言,只需要编辑一个过程,其余由系统软件自动完成,整个编辑过程都在人机对话下进行的,不要求用户有高深的软件设计能力。
5、强化调试手段:无论是汇编程序,还是语言程序调试,都是令编辑人员头疼的事,而PLC的程序调试提供了完备的条件,使用编程器,利用PLC和编程器上的按键、显示和内部编辑、调试、监控等,并在软件支持下,诊断和调试操作都很简单。
PLC的编程语言是面向用户的,对使用者不要求具备高深的知识、不需要长时间的专门训练。
二、编程语言的形式
本教材采用常用的两种编程语言,一是梯形图,二是助记符语言表。采用梯形图编程,因为它直观易懂,但需要一台个人计算机及相应的编程软件;采用助记符形式便于实验,因为它只需要一台简易编程器,而不必用昂贵的图形编程器或计算机来编程。
虽然一些的PLC还具有与计算机兼容的C语言、BASIC语言、专用的语言(如西门子公司的GRAPH5、三菱公司的MELSAP),还有用布尔逻辑语言、通用计算机兼容的汇编语言等。不管怎么样,各厂家的编程语言都只能适用于本厂的产品。
编程指令:指令是PLC被告知要做什么,以及怎样去做的代码或符号。从本质上讲,指令只是一些二进制代码,这点PLC与普通的计算机是完全相同的。同时PLC也有编译系统,它可以把一些文字符号或图形符号编译成机器码,所以用户看到的PLC指令一般不是机器码而是文字代码,或图形符号。常用的助记符语句用英文文字(可用多国文字)的缩写及数字代表各相应指令。常用的图形符号即梯形图,它类似于电气原理图是符号,易为电气工作人员所接受。
指令系统:一个PLC所具有的指令的全体称为该PLC的指令系统。它包含着指令的多少,各指令都能干什么事,代表着PLC的功能和性能。一般讲,功能强、性能好的PLC,其指令系统必然丰富,所能干的事也就多。我们在编程之前必须弄清PLC的指令系统
程序:PLC指令的有序集合,PLC运行它,可进行相应的工作,当然,这里的程序是指PLC的用户程序。用户程序一般由用户设计,PLC的厂家或代销商不提供。用语句表达的程序不大直观,可读性差,特别是较复杂的程序,更难读,所以多数程序用梯形图表达。
梯形图:梯形图是通过连线把PLC指令的梯形图符号连接在一起的连通图,用以表达所使用的PLC指令及其前后顺序,它与电气原理图很相似。它的连线有两种:一为母线,另一为内部横竖线。内部横竖线把一个个梯形图符号指令连成一个指令组,这个指令组一般总是从装载(LD)指令开始,必要时再继以若干个输入指令(含LD指令),以建立逻辑条件。后为输出类指令,实现输出控制,或为数据控制、流程控制、通讯处理、监控工作等指令,以进行相应的工作。母线是用来连接指令组的。下图是三菱公司的FX2N系列产品的简单的梯形图例:
它有两组,组用以实现启动、停止控制。第二组仅一个END指令,用以 结束程序。
梯形图与助记符的对应关系: 助记符指令与梯形图指令有严格的对应关系,而梯形图的连线又可把指令的顺序予以体现。一般讲,其顺序为:先输入,后输出(含其他处理);先上,后下;先左,后右。有了梯形图就可将其翻译成助记符程序。上图的助记符程序为:
地址 指令 变量
0000 LD X000
0001 OR X010
0002 AND NOT X001
0003 OUT Y000
0004 END
反之根据助记符,也可画出与其对应的梯形图。
梯形图与电气原理图的关系:如果仅考虑逻辑控制,梯形图与电气原理图也可建立起一定的对应关系。如梯形图的输出(OUT)指令,对应于继电器的线圈,而输入指令(如LD,AND,OR)对应于接点,互锁指令(IL、ILC)可看成总开关,等等。这样,原有的继电控制逻辑,经转换即可变成梯形图,再进一步转换,即可变成语句表程序。
有了这个对应关系,用PLC程序代表继电逻辑是很容易的。这也是PLC技术对传统继电控制技术的继承。
3)实现12孔闸门的自动开启、关闭,保持上游水位波动范围为+5厘米。
4)系统故障自诊。
2.系统构成
本系统采用总线分布式控制模式,实现12孔闸门的远程集中控制。系统高层为计算机监控系统,它包括监控计算机、管理计算机、服务器、集线器,通过Ethernet 网,实现各计算机之间的通讯。控制层内由一台PLC可编程序控制器来完成,它负责12孔闸门的闸位、上下游水位、降雨量等数据的实时采集,通过DH485通讯方式,将采集数据传输给监控计算机,输出模块调解闸门的上下动作。低层为现场设备,保留现场设备原有的手动操作启闭机功能,同时增设远程接口控制电气回路,接受PLC可编程序控制器的动作。
3.控制模式
3.1 现场手动方式
现场手动方式为控制模式的,任何情况下,当现场控箱上选择现场手动操作时,远程对此闸门的操作无效,此闸门只响应现场箱上操作按钮的动作,该操作方式是原启闭机自带的功能。
3.2 远程点动方式
现场控制模式选择远程控制方式,在监控计算机选择点动操作,用鼠标单击闸门上、或下操作。
3.3 远程手动方式
现场控制模式选择远程控制方式,在监控计算机选择手动操作,用鼠标单击闸门上、下、停操作。
3.4 远程定位方式
现场控制模式选择远程控制方式,在监控计算机上选择定位操作,通过键盘输入闸门开度,鼠标单击定位操作,闸门自动运行至指定开度停止。
3.5 闸门全自动方式
现场控制模式选择远程控制方式,在监控计算机上选择自动方式,设定控制上游水位,鼠标单击自动运行后,12孔闸门进入全自动运行状态。
4.PLC系统的设计
4.1对象分析
本系统控制主对象为闸门,实现闸门的上下停等工作状态。由于远程控制,操作人员不在启闭机现场,所以确保系统安全可靠运行,系统要知道启闭机以下各参数:
表1 单孔闸门电气控制参数:
4.2 PLC可编程序控制器选型
12孔闸门实现远程控制所需:
数字输入量DI:3X12=36
数字输出量DO:3X12=36
模拟输入量AI:5X12=60
此系统采用美国AB公司的SLC-500系列可编程序控制器,此PLC可编程序控制器为模块式可编程序控制器,可以根据DI、DO、AI点数,来配置模块使用数。
4.3PLC程序设计
采用Rslogix 500 编程软件,用梯形图方式,对闸门控制进行编程,从程序的内容上分三种形式的程序设计。
1)开环程序设计
对闸门的点动操作、手动操作、定位操作都采用开环程序设计方式。点动操作、手动操作为非定量操作,定位操作为给定量操作。由于闸门上、下运行时,闸门的惯性及闸门刹车性能不一样,所以编程时,要考虑定位控制的补偿问题,程序流程如图2。
图2 闸门开环程序流程图
2)闭环程序设计
为控制上游水位在控制水位,波动范围在+5厘米内,由上游实时水位、控制给定水位、12孔闸门启闭机构成一个环闭控制系统。编程选用SLC-500 CPU处理器中PID功能,输出控制12孔闸门启闭机的工作。由于水闸操作规程中只允许同时开启两孔闸门,且每次开度小于30厘米,先开中间后两边,先关两边后中间的要求,所以程序设计中注意顺序操作编程处理。
3)故障自诊设计
由于本系统为远程集中控制,闸门操作人员不在现场,闸门故障发生,要即时停止启闭机的运行,否则将发生严重事故。
根据对卷扬式启闭机现场测试,总结出以下几方面的故障类型:
①闸门卡死故障
当闸门下降时,水闸下有树木顶住平板钢板闸门,闸门不能继续下降。
②闸门超时运行故障
远程操作时,每次闸门操作不能连续运行超过一个时间,即表明闸门运行失控。
③闸门超距运行故障
每次闸门开度不能超过30厘米,开开度过大,违犯闸门操作规程。
④闸门运行超限故障
闸门一般有闸门道槽,不能超过此高度,否则闸门出槽,此为超限故障。
⑤闸门过载故障
通过对电机电流的监测,当出现较大电流时,说明电机过载。
⑥闸门钢丝绳过松故障
由于此启闭机为卷扬机式,当闸门下落时,会出现一边紧一边松,此时闸门要立即立停止。
图3 闸门闭环控制程序流程图
小结:
在水闸计算机监控系统中应用PLC控制技术,对传统的启闭机进行改造,实现水闸自动化控制,特别故障自诊程序的设计,大大提高了系统的安全性和可靠性,系统真正实现全自动的运行,当系统发生故障时,立即停止闸门的运行,同时报警信息在监控计算机中显示,提醒值班人员采取措施。
汕头市梅溪桥闸应用PLC控制技术,实现12孔水闸自动控制,此系统经历2001年“尤特”台风及洪水的考验,运行效果良好,适合大、中型水闸自动化控制技术推广。