关键词:虚拟电梯; PLC;通讯协议;VB
0.引言
随着计算机技术的发展,人们逐渐通过计算机软件来模拟实际的物理模型。“虚拟模型”就是以计算机技术为基础,数字接口技术为支持,对模型进行研究和利用。虚拟电梯系统是指将计算机和PLC控制虚拟成一台实际运行的电梯,计算机通过动画显示电梯的轿厢和井道并模拟电梯的运行,同时将信号传送到PLC 控制器。PLC控制器运行电梯控制程序,通过通讯程序将控制结果传回计算机,计算机上的虚拟电梯根据控制信号来进行电梯的运行和信号的指示,从而模拟电梯的运行过程,并能模拟实际电梯的各种运行状态和故障状态。
与传统的物理模型电梯相比,虚拟电梯具有以下优点:
(1)成本低,使用方便,便于自行设计开发电梯的控制功能。
(2)虚拟电梯可以作为电梯操作人员的培训软件,熟悉电梯正常的运行规律和各种控制信号的功能。虚拟电梯设置灵活,楼层数、梯速和电梯数量都可以改变,而实际物理模型都是不可更改的。
(3)虚拟电梯可以作为PLC控制器的控制对象,对实际电梯控制系统的PLC控制程序及功能进行调试和完善。
因此虚拟电梯技术为开发电梯控制系统以及电梯操作人员的培训提供了良好的应用前景。
1.虚拟电梯系统的结构及原理
虚拟电梯控制系统由PLC电梯控制程序、系统通信程序和虚拟电梯仿真界面三部分构成。如图1所示。虚拟电梯仿真界面如图2所示,这是两个电梯的群控,画面对称地分为左右两个电梯系统。以左梯为例,左侧模拟虚拟电梯的轿厢和并道,其右侧为轿箱门和内外呼叫信号以及显示搂层信号,上部为电梯的运行状态。通过菜单的设置,可以配置电梯的数量、搂层数、电梯的运行方式(自动、司机、消防和检修等方式)。
图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)Input属性,从接收缓冲区返回和删除字符,用于接收数据。
(6) InputLen,设置并返回每次Input属性从接收缓冲区读取的字符数。
(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单电梯和多电梯控制中得到了很好的应用,也为开发电梯控制系统以及电梯操作人员的培训提供了良好的应用前景。
参考文献
[1] 廖常初.PLC编程及应用「M〕.北京:机械工业出版社,2002
[2] SIMATIC S7-200.可编程控制器系统手册
[3] SIEMENS Co. SIMATIC S7-200 Programmable Confroller System Manual [Z]2002.4
[4] 宗群,罗欣宇,王中海.虚拟电梯系统的开发与应用[J]. 制造业自动化,2002(8):56-59。
[5] 陈立定,吴玉香,陈立定.电气控制与可编程控制器[M]广州:华南理工大学出版社,2001.
[6] 曹晖等.S7-200PLC的自由口通信在水泥厂配料控制系统中的应用[J].微机算计信息.2004.5