摘 要:介紹了虛擬電梯的概念和功能以及通訊技術,設計了通訊中可擴展的協議格式,分析了虛擬電梯系統的通訊過程,利用VB語言和西門子S7-200PLC梯形圖開發設計通訊程序,實現了計算機與PLC之間的實時通訊,并成功應用到了多部電梯的虛擬電梯系統中。
關鍵詞:虛擬電梯; PLC;通訊協議;VB
0.引言
隨著計算機技術的發展,人們逐漸通過計算機軟件來模擬實際的物理模型。“虛擬模型”就是以計算機技術為基礎,數字接口技術為支持,對模型進行研究和利用。虛擬電梯系統是指將計算機和PLC控制虛擬成一臺實際運行的電梯,計算機通過動畫顯示電梯的轎廂和井道并模擬電梯的運行,同時將信號傳送到PLC 控制器。PLC控制器運行電梯控制程序,通過通訊程序將控制結果傳回計算機,計算機上的虛擬電梯根據控制信號來進行電梯的運行和信號的指示,從而模擬電梯的運行過程,并能模擬實際電梯的各種運行狀態和故障狀態。
與傳統的物理模型電梯相比,虛擬電梯具有以下優點:
(1)成本低,使用方便,便于自行設計開發電梯的控制功能。
(2)虛擬電梯可以作為電梯操作人員的培訓軟件,熟悉電梯正常的運行規律和各種控制信號的功能。虛擬電梯設置靈活,樓層數、梯速和電梯數量都可以改變,而實際物理模型都是不可更改的。
(3)虛擬電梯可以作為PLC控制器的控制對象,對實際電梯控制系統的PLC控制程序及功能進行調試和完善。
因此虛擬電梯技術為開發電梯控制系統以及電梯操作人員的培訓提供了良好的應用前景。
1.虛擬電梯系統的結構及原理
虛擬電梯控制系統由PLC電梯控制程序、系統通信程序和虛擬電梯仿真界面三部分構成。如圖1所示。虛擬電梯仿真界面如圖2所示,這是兩個電梯的群控,畫面對稱地分為左右兩個電梯系統。以左梯為例,左側模擬虛擬電梯的轎廂和并道,其右側為轎箱門和內外呼叫信號以及顯示摟層信號,上部為電梯的運行狀態。通過菜單的設置,可以配置電梯的數量、摟層數、電梯的運行方式(自動、司機、消防和檢修等方式)。
[align=center]

圖1 虛擬電梯系統組成
Fig 1 the structure of virtual elevator system

圖2 虛擬電梯仿真界面
Fig.2 interface of virtual elevator[/align]
系統的硬件主要是計算機、西門子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所示。
[align=center]

圖3 計算機通訊過程
Fig.3 communication process of computer[/align]
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所示。
[align=center]

圖4 PLC通訊過程
Fig.4 communication process of PLC[/align]
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