摘 要:介绍了虚拟电梯的概念和功能以及通讯技术,设计了通讯中可扩展的协议格式,分析了虚拟电梯系统的通讯过程,利用VB语言和西门子S7-200PLC梯形图开发设计通讯程序,实现了计算机与PLC之间的实时通讯,并成功应用到了多部电梯的虚拟电梯系统中。 关键词:虚拟电梯; 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向计算机传送的数据帧称为控制字,通过它来控制虚拟电梯的运行,控制字格式为 正文数据包括:电梯的上行下行停止,电梯开关门指令,信号指示(内呼、外呼、搂层)。