瞿選益,李 連(廣東省南方高級技工學校,廣東 韶關 512023)
基于Visual Basic 6.0與單片機的PLC仿真器設計
瞿選益,李連
(廣東省南方高級技工學校,廣東 韶關 512023)
三菱PLC編程軟件GXDeveloper結合仿真軟件GXSimulator6可以實現在電腦上模擬PLC的運行,實現PLC用戶程序的仿真,但不能直觀地看到外部機構動作的情況,本文設計中的PLC仿真器可以把軟件仿真結果通過硬件輸出,進而控制外部機構的動作。本文介紹了PLC仿真器軟、硬件設計的方法和過程。
PLC仿真器;VisualBasic6.0;單片機;串口通訊
三菱PLC編程軟件GXDeveloper結合仿真軟件GXSimulator6可以實現在電腦上模擬PLC的運行,得到PLC程序執行后的結果,這對于PLC程序的調試具有莫大的幫助,但是它不能把運行結果輸出,進而控制外部的執行機構,不到外部執行機構運行的情況,即不能進行硬件仿真。
PLC仿真器包含了PLC仿真器軟件(計算機控制程序)和PLC仿真器硬件兩部分,PLC仿真器實現仿真的過程如下圖1所示:PLC仿真器實現仿真包含了如下兩個過程:(1)PLC仿真器軟件把PLC仿真器硬件采集到的外部開關量信號傳輸到三菱GXDeveloper軟件,結合GXSimulator6對用戶程序仿真模擬運行;(2)PLC仿真器軟件采集用戶程序仿真模擬運行后的結果(輸出繼電器Y的狀態),并把它送到PLC仿真器硬件,通過PLC仿真器硬件控制外部執行機構動作,實現硬件仿真。
PLC仿真器軟件的主要功能是實現信號的采集和傳輸,它需要建立兩個鏈接:(1)與三菱GXDeveloper軟件及GXSimulator6的鏈接;(2)與PLC硬件的鏈接。
這兩個鏈接是利用VisualBasic6.0編程語言,結合三菱MXComponent通訊控件和MicrosoftCommControl6.0通訊控件編寫的PLC仿真器軟件來實現的。
2.1PLC仿真器軟件與三菱GX Developer軟件及GX Simulator 6通訊鏈接的設計
三菱MXComponent通訊控件是三菱公司為方便用戶建立控制系統而專門開發的通訊控制程序,它支持三菱所有PLC(包括三菱simulator)與計算機的所有通訊路徑,它不需要了解復雜的通訊協議,只需要進行簡單的設置就可以實現;它支持VisualBasic、VisualC++、VBA、VBScript、C#等編程語言。
PLC仿真器軟件基于VisualBasic6.0語言編寫,利用MXComponent通訊控件下的MITSUBISHIActMultiControlsVer3.0部件中的ActEasyIF控件實現。主要用到了ActEasyIF控件下的open、close、getdevice、setdevice、getcputype等命令。
在VisualBasic6.0與MXComponent控件進行通信前,首先用open命令打開通訊線路,再利用setdevice命令把PLC仿真器硬件采集到外部開關信號送入到三菱GXDeveloper軟件及GXSimulator6,待三菱仿真軟件仿真運行用戶程序后,PLC仿真器軟件再利用getdevice命令把程序模擬運行結果取出,待取出數據完成后,完成一次通訊,利用close命令關閉通信線路,以便下一次的通訊。而利用getcputype命令可以獲取當前建立鏈接的PLC的型號。
2.2PLC仿真器軟件與PLC仿真器硬件通訊鏈接的設計
PLC仿真器軟件是計算機側應用程序,而PLC仿真器硬件是以單片機為核心的硬件電路。這兩者要建立聯系就需要單片機與計算機進行通訊,本設計利用計算機與單片機各自的串口,建立兩者串口通訊的通道,通過計算機側通訊程序與單片機側的通訊程序進行兩者通訊鏈接,實現數據交換。
為實現該通訊鏈接,PLC仿真器軟件利用了MicrosoftCommControl6.0串口通訊控件。計算機與單片機進行串口通訊的原理是:當單片機作為數據發送端時,它把數據發送到計算機的串口通訊劃定的專用接收數據緩沖區,當單片機發送數據完成后,計算機讀取接收數據緩沖區內的數據,以獲得單片機發送來的數據,此時,計算機作為數據接收端;當計算機需要向單片機發送數據時,計算機作為發送端,把數據發送到專用發送數據緩沖區,待所有數據都發送到發送數據緩沖區后,單片機側讀取該緩沖區,以獲得計算機發送來的數據,此時,單片機作為接收端。
VisualBasic6.0編程語言進行串口通訊主要要進行串口號的選擇,通訊的格式設置,計算機側數據格式與單片機側數據格式的匹配等內容。
2.3PLC仿真器軟件程序界面設計
為了直觀的顯示出PLC輸入、輸出的狀態,在PLC仿真器軟件程序界面設計了與PLC對應的輸入、輸出指示燈,當PLC的輸入、輸出動作時,PLC仿真器軟件程序界面上與之對應的指示燈變為紅色,PLC運行情況更直觀的模擬顯示出來了。PLC仿真器軟件程序界面如下圖2所示。
PLC仿真器硬件主要包含了硬件電路以及單片機程序兩個主要部分。
3.1硬件電路設計
硬件電路核心是單片機,它主要包含了電源、串口通訊模塊、輸入模塊、輸出模塊等部分。
為了保證電源的可靠性及穩定性,本電路板采用USB直接供電的方式。
串口通訊模塊是PLC仿真器硬件與計算機實現通訊的電路連接部件,它利用MAX232芯片把單片機的單5V(TTL/CMOS)電源轉換成計算機串口通訊標準的EIA/TIA-232-E(RS-232)電平,以實現單片機與計算機間通訊時電平的一致。單片機的發送端接MAX232的TTLInput端,單片機的接收端接MAX232的TTLOutput端,在PLC仿真器硬件與計算機通訊時,串口通訊模塊的發送端連接計算機側串口的接收端,串口通訊模塊的接收端連接計算機側串口的發送端。
輸入模塊主要作用是采集外部開關量輸入信號,它由多為按鈕及指示燈組成,按鈕與單片機的I/O口連接,但相應的開關量動作時,單片機獲取相應數據,同時表示相應按鈕有動作的輸入指示燈亮。為了方便進行外部電路的連接,可以選擇外接開關作為輸入信號,留有外接開關的接線端子。
輸出模塊主要由輸出指示燈、輸出繼電器等組成。當PLC仿真器硬件從PLC仿真器軟件處獲得PLC仿真運行后輸出繼電器Y的狀態,并通過單片機程序運行后通過I/O口輸出,同時,表示該輸出的指示燈亮,同時,相應輸出繼電器動作,利用輸出繼電器對外部執行機構進行控制。
PLC仿真器硬件主要原件布置圖如下圖3所示。
3.2單片機程序設計
單片機主要要進行的任務是單片機數據格式與計算機側PLC仿真器軟件的數據格式匹配,外部開關量的輸入處理,對來自PLC仿真器軟件的數據進行輸出處理,以及進行串口通訊的設置等。
單片機程序框圖如下圖4所示。
本PLC仿真器結合三菱GXDeveloper及GXSimulator6可以仿真實現從用戶程序到外圍硬件的整個控制系統的仿真運行,對于PLC的學習以及PLC控制系統的調試都具有積極的作為,它可以縮小PLC系統開發、調試的周期,對于PLC使用的普及具有積極的作用。
[1]三菱電機自動化(上海)有限公司MXComponent版本3編程手冊[S].
[2]張輝,李榮利,王和平.VisualBasic串口通信及編程實例[M].北京:化學工業出版社,2011:1.
[3]張樹兵,戴紅,陳哲.VisualBasic6.0入門與提高[M].北京:清華大學出版社,1999:6.
[4]郭天祥.新概念51單片機C語言教程——入門、提高、開發、拓展[M].北京:電子工業出版社,2009:1.
[5]李江全,聶晶,梁習卉子,劉新英.單片機串口通信及測控應用實戰詳解[M].北京:人民郵電出版社,2014:8.
[6]趙景波,張偉.電路設計與制板——Protel99SE高級應用(修訂版)[M].北京:人民郵電出版社,2012:7.