程松濤 劉欣欣
(鄭州煤炭工業技師學院,鄭州 450000)
可視化虛擬PLC實驗軟件設計與制作
程松濤 劉欣欣
(鄭州煤炭工業技師學院,鄭州 450000)
在礦山PLC操作訓練中,搭建真實的實驗環境是非常困難的,本文介紹了使用計算機技術和多媒體技術搭建虛擬實驗環境進行PLC培訓操作訓練。
VC++Flash 串口通信
隨著PLC在我國各行業的大力應用和快速發展,作為煤礦行業技師學院,承擔了煤礦工人的培訓工作,其中PLC的設計、安裝、維護的培訓日益顯出其重要性。
PLC是一門實驗性很強的課程,實驗是輔助課堂教學的重要環節,PLC實驗要讓學生了解各種工業控制流程,針對各種控制對象,驗證學生所編制的PLC程序是否正確,但是,由于受到場地,經費等諸多客觀條件的限制,不可能在實驗室中配置完備的工業控制對象,因此制約了PLC實驗的數量和質量。為了解決這些問題,可以充分利用計算機技術,在計算機中構造虛擬控制對象,通過計算機實現PLC虛擬實驗。
本文采用計算機技術和多媒體技術,建立虛擬工業控制環境,開發一個PLC虛擬可視化實驗系統,該系統利用多媒體技術建立工業控制環境,使用串口通訊技術連接PC控制虛擬設備運動,使用一臺PC就可以模擬各種工業控制設備。該系統的另外一個特點是通過逼真的工業控制對象和豐富的交互操作使學生具有更強的真實感和沉浸感。
這種基于多媒體技術的可視化的實驗平臺能直觀、逼真地貼近工業控制實踐,有利于提升學生的實踐能力,同時大大降低PLC實驗的費用。
本系統以三菱FX1N系列PLC為基礎,采用計算機技術和多媒體技術,創建虛擬工業控制對象和設備環境,通過真實PLC運行程序,將控制信號發送到虛擬控制環境中,虛擬控制環境根據控制信號控制虛擬工業控制對象運動,通過觀察運動結果來調試程序,從而達到PLC實驗教學的目的,本系統的總體框架和解決方案如圖1所示。

圖1 系統總體框架
由圖1可知,整個系統分為以下三個功能模塊。
(1)真實PLC模塊。以三菱FX1N系列的PLC為基礎,運行各種控制程序。
(2)仿真實驗模塊。用二維圖形代表被控工業對象,通過圖形的變化顯示控制程序的運行結果。
(3)通訊模塊。實現PLC和虛擬控制對象之間的通訊,使虛擬PLC的控制信號能夠準確、快速地傳遞給虛擬控制對象。
通訊模塊實現虛擬PLC與虛擬環境間的信息傳遞,這個過程主要是使用VC++編程語言編寫的串行口通訊程序實現同硬件PLC的編程口進行通訊。
2.1 PLC編程口命令操作
(1)PLC串口設置。三菱PLC默認的串口通信設置為:數據位7位,停止位1位,波特率9600b/s,偶校檢。
(2)PLC通訊命令。在與PLC通訊時,十六進制數02H為STX代表報文開始,03H為ETX代表報文結束,O5H為ENQ代表請求,06H為ACK代表PLC正確響應,15H為NAK代表PLC錯誤響應。對PLC操作命令主要有四個,分別為“讀”、“寫”、“強制ON”、“強制OFF”。其命令代碼如下所示
讀:45H 30H
寫:45H 31H
強制ON:45H 37H
強制OFF:45H 38H
(3)握手連絡。在每進行上述四種操作命令前,還要進行“握手連絡”,即PC對PLC發送請求通信信號FNQ(代碼為05H),等待約0.1s(根據計算機具體情況設置),然后讀PLC返回的響應信號,如果讀到的響應信號為ACK(代碼為06H),則表示PLC已經準備就緒,等待接收通信數據,否則收到NACK(代碼為15H),PLC沒有正確響應,則終止本次通信。
(4)通信實例。通信報文的構成由請求、開始、數據、停止、和校驗組成,其中數據部分由命令、操作元件地址、數目、數據四部分組成,根據命令不同,具體報文組成有所差異,“強制ON”和“強制OFF”數據部分只由命令和操作元件地址組成,“寫”命令數據部分由命令、操作元件地址、數目、數據組成,“讀”命令數據部分由命令、操作元件地址、數目組成。
和校驗是取報文中的數據部分與停止相累加,取其和最低兩位轉化為ASCII碼,高位先發,低位后發。
現通過一個實例簡要介紹通信報文的構成,例如:強制Y01為ON,命令的十六進制代碼如下所示:
05H 02H 45H 37H 30H 31H 30H 43H 03H 35H 33H
05H代碼為FNQ請求
02H代碼為STX開始
45H 37H強制ON命令代碼
30H 31H 30H 43H操作元件地址,其中輸出寄存器Y01的寄存器地址:0C01H,轉化為ASCII碼為30H、43H、30H、31H,對于2B的寄存器地址采取低字節先發,高字節后發,所有最后操作元件地址為30H、31H、30H、43H。
03H代碼為ETX結束
5H 33H為和校驗,45H+37H+30H+31H+30H+43H+03H= 0153H,高字節溢出,低字節為53H,轉化為ASCII碼為35H、33H。
仿真實驗模塊采用多媒體技術,主要使用FLASH制作軟件制作相應的工業設備控制對象和虛擬生產環境,利用變量的變化控制工業設備的工作狀態。充分利用FLASH軟件的多媒體制作和顯示交互功能,可以制作逼真的工作環境,模擬工業設備的控制狀態。在VC++平臺下使用shockwave flash object控件同FLASH動畫交互。
在虛擬工業環境動畫中,所有虛擬工業設備都被設計為動畫元件,工業設備的不同狀態由變量值控制。主場景文件設計為三幀動畫。第一幀初始化各種變量,并使用ExternalInterface.addCallback函數把能被外部函數調用函數注冊并跳轉至第二幀停止。第二幀為主場景,虛擬工業環境和虛擬工業設備都放置在此幀上。第三幀為結束幀釋放各種變量,顯示結束標志并結束程序運行。
Shockwave flash控件可以在Windows平臺下播放FLASH動畫,同FLASH動畫進行信息交互。在VC++平臺下操作如下所示:
(1)添加Shockwave flash控件類,在對話框界面上添加Shockwave flash控件,定義Shockwave flash控件變量。
(2)在對話框的InitDialog函數中使用Shockwave flash控件的LoadMovie函數和Play函數播放工業環境動畫。
(3)使用Shockwave flash的FSCommand消息函數實現虛擬工業設備控制PLC狀態。
(4)使用Shockwave flash控件的CallFunction函數實現PLC狀態向虛擬工業設備的狀態的傳遞。
計算機信息技術和多媒體技術應用于可視化虛擬PLC實驗教學中,其特色和創新點如下:
(1)利用多媒體技術,實現對工業控制過程的可視化仿真,使可視化PLC實驗系統具有很強的真實感和沉浸感;
(2)在虛擬環境中,實現PLC和虛擬控制對象之間的通訊和控制,使可視化PLC實驗具有實時的人機交互。
[1]張學軍、唐久磊.基于Flash3D的中學化學虛擬實驗平臺的設計與實現電化教育研究2014.1.
[2]秦兵、何漢武.可視化虛擬PLC實驗系統的研究現代制造工程2009.1.
[3]孫鑫、余安萍.VC++深入詳解[M].北京:電子工業出版社, 2006.
[4]嚴蔚敏,吳偉民.數據結構[M].北京:清華大學出版社,1997.
Design and Manufacture of Virtual PLC Experiment Software Visualization
CHENG Songtao,LIU Xinxin
(Zhengzhou Coal Industrial Technician College,Zhengzhou 450000)
In mine PLC operation training, building a realexperimental environment is very difficult. This paper introduces theset-up of a virtual experimental environment for the conduct of PLCtraining operation training in the use of computer technology andmultimedia technology.
VC++,Flash,serial communication