張寶霞,陳無畏
(合肥工業大學機械與汽車工程學院,安徽合肥230009)
三菱PLC編程口通信在監控中的應用研究
張寶霞,陳無畏
(合肥工業大學機械與汽車工程學院,安徽合肥230009)
利用三菱PLC編程口通信協議,使用Visual Basic編程語言編程,實現計算機對PLC的監控,對于簡單的小型單機控制系統具有應用價值。
PLC;編程口通信;VB;監控
日本三菱公司的FX系列PLC是我國應用較為廣泛的一種PLC,許多單機控制系統都使用它。但其編程口在傳輸程序后就處于閑置狀態,與計算機通信卻另外配置模塊,對于簡單的小型單機控制系統來說,這樣無疑增加了硬件成本。
目前,一些控制系統的計算機監控界面主要由工業組態軟件生成,其功能強大、界面友好,但軟件價格昂貴,適用于中大型控制系統。對于簡單的小型單機控制系統,利用Windows通用編程語言編寫監控軟件更為經濟。
本文研究的就是用Visual Basic編程語言編寫符合三菱FX1N系列PLC編程口通信的簡單監控程序,以實現對控制系統的監控。這種監控方式對簡單的小型單機控制系統,成本較低,有一定的參考和應用價值。

圖1 系統組成簡圖
本文的控制系統由計算機和三菱FX1N型PLC組成,如圖1所示,兩者之間通過SC-09編程電纜連接。SC-09編程電纜平時用于FX1N型PLC的程序傳輸,這里還用于PLC與計算機的通信,這樣就省去了FX1N型PLC與PC的專用通信模塊FX-232AW,減少了硬件費用。
FX1N編程口通信采用三菱的專有通信協議。通信時,PLC不用為通信編寫程序,計算機按規定格式向PLC發出各種指令,PLC根據指令返回信息。計算機向PLC發送的指令有四種,本文計算機的任務是監控PLC,是計算機讀取PLC中寄存器的內容,報文格式如下:

PLC向PC讀指令發送的確認回答報文格式如下:

以上報文格式中,STX是信息幀開始標記,ASCII碼為02H,讀指令代碼為“0”,首地址即為所讀取的PLC寄存器的開始地址,字節數即為所讀數據的長度,ETX為信息幀結束標記,ASCII碼為03H,報文采用的是總和校驗方式。
返回報文中的數據即為寄存器的內容,個數與命令報文中的字節數相同。通過編程,可以取出這些數據,并顯示出來,達到監控的目的。
計算機一般監控PLC的輸入輸出狀態和數據寄存器的內容,本文以計算機實時讀取三菱FX1N-24MR的X0-X7、Y0-Y7、D1和D2為例,設計了一種簡單的監控界面,以介紹軟件的設計過程。監控界面如圖2所示。實際系統的監控界面可根據要求修改名稱并相應增減其他一些復雜的指示控件即可。

圖2 監控界面
圖中三個Frame中是要監控的對象,最下一行的四個定時器控件和一個通訊控件是程序設計的主要控件,用來實現周期性讀取PLC寄存器內容并顯示在監控界面上的任務。
要使用MSComm控件,首先需要對此控件的屬性和方法、事件進行相應初始化,然后再進行簡單的編程操作,就可以容易地實現串口通信。定時器控件的使能屬性為真后,系統開始計時。計時時間到后,定時器控件觸發Timer事件,在該事件過程中可以編寫讀取PLC寄存器的內容,以便顯示在監控界面上。四個定時器實現了對四種寄存器的內容周期性的讀取。
程序設計關鍵的一步是根據任務要求進行程序結構設計。根據結構可以容易和較為準確地設計程序。這樣設計出的程序閱讀和修改方便,易于以后的擴展。
本文監控軟件程序結構如圖3所示。分為兩大部分,一是主流程,另一是主要的子過程,是被主流程中的事件過程所調用的。主流程主要分為五步。首先通過對MSComm控件的屬性賦值,設置通信參數,使上位機與PLC能夠通信,同時第一個定時器使能,系統開始計時。計時時間到后,觸發Timer事件,調用讀取X0-X7過程。在此過程中接收轉換數據并顯示。調用結束后,第一個定時器禁止使能,第二個定時器使能工作,系統又開始計時。第二個計時器時間到后,又觸發Timer事件,這次調用讀取Y0-Y7過程。調用結束后,第二個定時器禁止使能,第三個定時器使能工作。如此循環不止,直至退出程序。

圖3 程序結構簡圖
1、設置通信參數代碼

2、定時器1事件代碼

3、讀X0-X7指令代碼

4、讀D1指令代碼

經過實際連接運行表明,在數據變化較慢的控制系統中,VB語言編寫的監控程序通過三菱PLC編程口能比較可靠、穩定地顯示系統狀態的變化。該方案節約了控制系統的成本,對于控制規模很小的單機控制系統,具有較高的性價比,具有一定的參考價值和應用價值。
[1]李江全等.Visual Basic串口通信與測控應用技實戰詳解術[M].北京:人民郵電出版社,2007.
[2]周昭亮.三菱PLC編程口通信技術在機械手遠程控制中的應用[J].內蒙古科技與經濟,2008,(18).
[3]劉輝等.工控機與三菱FX2N系列PLC編程口通信的實現[J].機械與電子,2007,(4).
TP274+.2
A
1671-5993(2011)01-0060-03
2011-01-16
張寶霞(1971-),女,安徽滁州人,合肥工業大學碩士在讀,滁州職業技術學院機電系講師。