蘇兩河
●(福建電力職業(yè)技術(shù)學(xué)院,福建泉州 362000)
軟PLC控制系統(tǒng)研究與實(shí)現(xiàn)
蘇兩河
●(福建電力職業(yè)技術(shù)學(xué)院,福建泉州 362000)
隨著近年來計(jì)算機(jī)技術(shù)的發(fā)展以及IEC6113-3標(biāo)準(zhǔn)的制定,軟PLC的技術(shù)得到了長足發(fā)展。較之傳統(tǒng)的硬PLC而言,軟PLC控制系統(tǒng)具有強(qiáng)大的數(shù)據(jù)處理能力、網(wǎng)絡(luò)通信能力、開放的體系結(jié)構(gòu)等優(yōu)勢(shì),可滿足當(dāng)下工業(yè)自動(dòng)化領(lǐng)域中控制系統(tǒng)柔性及開放性的要求。本文從軟PLC的總體設(shè)計(jì)入手,論述了系統(tǒng)結(jié)構(gòu)與軟件實(shí)施方案及軟件的實(shí)現(xiàn)。
軟PLC;控制系統(tǒng);研究;實(shí)現(xiàn)
PLC作為繼電器與計(jì)算機(jī)的結(jié)合產(chǎn)物,具有維護(hù)方便、穩(wěn)定可靠和功能齊全的優(yōu)勢(shì)。軟PLC技術(shù)就是在PC的硬件支撐下借助于軟件實(shí)現(xiàn)PLC的基本功能。這樣的系統(tǒng)能在具有PLC功能的同時(shí)兼具更強(qiáng)的網(wǎng)絡(luò)通訊、數(shù)據(jù)處理等能力。
軟PLC系統(tǒng)的體系結(jié)構(gòu)可以簡單地劃分為兩部分:運(yùn)行系統(tǒng)與編程系統(tǒng)。其中編程系統(tǒng)主要是在 Windows環(huán)境下開展編程,得到的軟件程序安裝在普通的PC機(jī)上。編程系統(tǒng)是一個(gè)與運(yùn)行系統(tǒng)相互獨(dú)立的兩個(gè)系統(tǒng),主要完成PLC的編程、編譯以及仿真功能。最終編程系統(tǒng)可產(chǎn)生一份滿足控制要求的目標(biāo)代碼,這些代碼在運(yùn)行系統(tǒng)啟動(dòng)后就會(huì)自動(dòng)加載并對(duì)其進(jìn)行解釋執(zhí)行,從而實(shí)現(xiàn)輸入或者輸出的工作任務(wù),以此實(shí)現(xiàn)控制功能[1]。
編程軟件系統(tǒng)在運(yùn)行中主要完成以下幾項(xiàng)功能:
1)首先是仿真及編程功能,仿真功能主要指模擬脫機(jī)運(yùn)行功能、模擬開關(guān)控制;編程功能主要包括程序的錄入、修改以及語法檢查、文件存取。
2)進(jìn)行PLC用戶程序檢測,包括邏輯關(guān)系、語法以及原件使用的正確性。
3)操作方式多樣化,編程軟件具有工具欄及菜單兩種操作方式,同時(shí)具有直觀的輸入及輸出方式,這方便了用戶進(jìn)行梯形圖程序的編輯。
4)此系統(tǒng)可進(jìn)行PLC內(nèi)部編程原件以及PLC指令解釋器的仿真。
5)編程軟件系統(tǒng)與Windows界面一致,可實(shí)現(xiàn)中英文隨機(jī)幫助以及進(jìn)行程序注釋。
6)除此之外編程軟件還具有順序控制、數(shù)據(jù)控制、邏輯控制以及定時(shí)計(jì)數(shù)功能等,從而豐富了該程序的開發(fā)使用。
軟PLC系統(tǒng)再設(shè)計(jì)時(shí)采用模塊化思想,為此可根據(jù)需求分析進(jìn)行模塊化設(shè)計(jì)。軟PLC系統(tǒng)軟件的主要模塊有:支持模塊、輸入模塊、主模塊以及通信模塊與仿真模塊。這些模塊是為了滿足不同的需求,功能各不相同。其中主模塊主要負(fù)責(zé)進(jìn)行參數(shù)初始化設(shè)置,同時(shí)也涉及到其余模塊的調(diào)用控制的協(xié)調(diào)性、程序的保存、打開及顯示等。支持模塊的功能較為單一,主要是負(fù)責(zé)對(duì)象、類及結(jié)構(gòu)的定義;仿真模塊顧名思義就是實(shí)現(xiàn)對(duì)寄存器、相關(guān)I/O變量以及PLC繼電器的模擬,從而可以直觀的描述各個(gè)繼電器之間的關(guān)系以及對(duì)通斷狀態(tài)的監(jiān)控;輸入模塊主要是通過具體的指令實(shí)現(xiàn)對(duì)象的調(diào)用、數(shù)據(jù)成員的修改及賦值等相關(guān)操作;通信模塊在主要是實(shí)現(xiàn)運(yùn)行系統(tǒng)與編輯系統(tǒng)的之間的信息溝通,將經(jīng)過脫機(jī)調(diào)試以及編譯的相關(guān)代碼文件存儲(chǔ)在系統(tǒng)中。
軟件實(shí)施使用的開發(fā)工具為Visual C++6.0,可實(shí)現(xiàn)對(duì)于梯形圖模型的抽象,同時(shí)按照面向?qū)ο蟮姆椒ㄟM(jìn)行數(shù)據(jù)結(jié)構(gòu)搭建;雙向鏈表作為有力的工具,被用于梯形圖的編輯環(huán)節(jié),實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)的初步描述,同時(shí)對(duì)原有梯形圖附帶的信息完整保存;進(jìn)行過一次抽象的梯形圖在算法部分會(huì)進(jìn)行一次抽象,主要是從有向圖的角度研發(fā)算法的實(shí)現(xiàn)。最后的環(huán)節(jié)是對(duì)語句語言進(jìn)行編譯,根據(jù)形式的特殊性選用逆波蘭式中間代碼實(shí)現(xiàn)轉(zhuǎn)換操作[2]。
梯形圖的編輯是一個(gè)動(dòng)態(tài)存儲(chǔ)過程,在整個(gè)編輯過程中行數(shù)、每行的元素?cái)?shù)以及類別都沒有確定,而是用雙向鏈這種動(dòng)態(tài)的數(shù)據(jù)結(jié)構(gòu)就無疑的方便了梯形圖的表達(dá)。
梯形圖可簡單地看作是符號(hào)化的表達(dá)形式,也可視為一種由連接符號(hào)以及圖符共同構(gòu)成的有向圖,梯形圖在計(jì)算機(jī)中主要由位圖實(shí)現(xiàn)。構(gòu)造梯形圖的過程中可以將梯形圖中的連接符視為有向圖的弧,而視圖符為有向圖的頂點(diǎn),然后尋找它們之間的聯(lián)系并最終搭建出完善的AOV網(wǎng)絡(luò)。這里值得指出的是在AOV網(wǎng)中要通過相關(guān)的計(jì)算對(duì)每個(gè)頂點(diǎn)的優(yōu)先關(guān)系進(jìn)行排序,排序的算法為[3]:首先選擇沒有前趨的頂點(diǎn)并將其輸出,然后在圖中將找到的符合條件的頂點(diǎn)及與之相連的弧刪除。重復(fù)上面兩步操作直到剩下頂點(diǎn)中再也找不出沒有前驅(qū)的頂點(diǎn)為止,此時(shí)認(rèn)為所有的頂點(diǎn)均輸出。在AOV網(wǎng)中的每個(gè)實(shí)頂點(diǎn)對(duì)應(yīng)一個(gè)執(zhí)行語句,但是由于塊與塊現(xiàn)象的存在會(huì)影響轉(zhuǎn)換算法的實(shí)現(xiàn)。為此要在梯形圖向語句表轉(zhuǎn)換的過程中根據(jù)各個(gè)頂點(diǎn)的出度及入度的不同而使用不同的轉(zhuǎn)換算法,以避免轉(zhuǎn)換操作受到影響。
通過使用軟PLC控制系統(tǒng),梯形圖轉(zhuǎn)換為了語句表形式,而這一形式可方便地實(shí)現(xiàn)向“逆波蘭”的轉(zhuǎn)換,其原因在于語句表的順序與逆波蘭的后綴表達(dá)式一致[4]。為此實(shí)際操作中使用逆波蘭作為中間代碼,同時(shí)為得到符合規(guī)范的表達(dá)式文件還要對(duì)中間代碼進(jìn)行計(jì)算。最后,可執(zhí)行的 C程序代碼再經(jīng)邏輯表達(dá)文件的優(yōu)化以及解釋后就可以得到。
這里要構(gòu)建電梯控制系統(tǒng):原有的系統(tǒng)是一個(gè)64點(diǎn)的PLC,電梯為5層。現(xiàn)在使用軟PLC代替原油的控制核心,I/O板使用PCL-720,具有32點(diǎn)輸入與輸出的開關(guān)量。首先設(shè)計(jì)控制梯形圖,在編譯后生成目標(biāo)C代碼,然后將目標(biāo)代碼嵌入中斷服務(wù)模塊,最后由Input與Out負(fù)責(zé)實(shí)現(xiàn)I/O板卡的讀寫操作。
較之傳統(tǒng)的PLC,軟PLC具有開放式構(gòu)架,實(shí)現(xiàn)了系統(tǒng)硬件與軟件開發(fā)的分離,從而解除了設(shè)備對(duì)軟件的制約。由于軟PLC滿足了控制系統(tǒng)柔性及開放性的需求,方便了從業(yè)自動(dòng)化的開展,并將通信、控制融為一身,為此得到了廣泛的認(rèn)可,并具有極大的發(fā)展、應(yīng)用空間。
[1]啟檳, 周曉旭, 楊小帆, 等. 基于騎士巡游的圖像像素置亂算法[C]//中國科學(xué)院自動(dòng)化與信息技術(shù)學(xué)術(shù)年會(huì)文集, 北京: 2003.
[2]陸衛(wèi)忠, 劉文亮. C++Builder6 程序設(shè)計(jì)教程[M]. 第2版. 北京: 科學(xué)出版社, 2009.
[3] 章德賓, 胡斌, 張金隆. 多線程技術(shù)與分布式并發(fā)離散事件仿真[J]. 計(jì)算機(jī)仿真, 2007, 24(1): 97-100.
[4] 王紀(jì)森, 王俊, 周宇. 基于多線程的電液伺服加載系統(tǒng)測控軟件設(shè)計(jì)[J]. 機(jī)床與液壓, 2009, 37(10): 159-160.
Research and Achievement of Soft PLC Control System
SU Liang-he
(Science and Technology Fund of Fujian Electric Vocational and Technical College, Fujian Quanzhou 362000, China)
With the development of computer technology and establishment of IEC6113-3 standard, the development of soft PLC technology is strongly developed. Compared with the traditional hard PLC, soft PLC provides the advantage of powerful ability of data process, net communication and open system structure, which can meet the demands of the flexibility and open design of control system in the industry automation field. With the main design of soft PLC, the system structure and the implementation program and achievement of the software are analyzed.
soft PLC; controlling system; research; achievement
U664.14
A
福建電力職業(yè)技術(shù)學(xué)院院級(jí)科研基金支持(2010KY008)
蘇兩河(1985-),男,講師,碩士研究生。研究方向?yàn)樽詣?dòng)控制。