整个系统中将计算机虚拟电梯模型和电梯
控制器 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 属性,用于发送数据,可以是文本
数据或二进制数据。