background image

整个系统中将计算机虚拟电梯模型和电梯

控制器 PLC 有机连接起来的就是计算机和 PLC
的通讯程序。通讯协议就是定义的使计算机与
PLC 能够识别相互之间通讯数据的通讯格式。本
系统中 S7-200 与计算机间的数据传输,是以
“帧”为单位进行的。本系统采用定长的通讯
帧,每一帧的格式为: 

开始 

  字符

 

命令 
类型

 

正文 
数据

 

校验码 

 

结束 
字符

 

定义: 
1).开始字符标志着通讯帧的开始,在本系统中

被定义为 ASCII 码的"@"。 

2).结束字符标志着通讯帧的结束,在本系统中
被定义为 ASCII 码的"#"。 
3).校验码为正文各数据的异或和,用两个字节
的十六进制 ASCII 码表示。 
计算机与 PLC 通信时,为了避免通信中的冲突,
采用主从方式,即计算机为主机,PLC 为从机。
只有主机才有权主动发送请求报文(或称为请求
帧),从机收到后进行校验,若校验正确,则返回
响应报文。 
4)通讯帧中的命令类型则反映主从机之间的通讯
数据类型。命令类型用两个字符格式表示,定义
CT 表示控制字,ST 表示状态字,RS 表示响应字。
对不同命令类型的通讯数据帧格式定义如下: 

(1) 状态字为计算机传向 PLC 的数据,表明
虚拟电梯的状态及呼叫命令。该通讯帧数据格
式为: 

    @

 

ST

 

正文数据

 

校验码 

正文数据包括: 电梯的运行状态(上行、

下行、停),安全信号(是、否),电梯开关门,
电梯内呼外呼信号,平层信号等,用十进制数
字按照下列定义的顺序表示: 

运行方式定义为 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 返回计算机的响应为:

 

    @

 

RS

 

00 或 11

 

校验码 

(3)当计算机向 PLC 发送的数据格式为 

RS

 

22

 

校验码 

表明计算机作为主机,要求 PLC 传送数据,主
机处于数据接收状态,此时 PLC 向计算机传送
的数据帧称为控制字,通过它来控制虚拟电梯
的运行,控制字格式为 

    @

 

CT

 

正文数据

 

校验码 

正文数据包括: 电梯的上行下行停止,电梯开
关门指令,信号指示(内呼、外呼、搂层)。定
义格式与状态字类似。 

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 属性,用于发送数据,可以是文本
数据或二进制数据。