plc指令仿真模塊的功能是根據(jù)已經(jīng)讀人的語(yǔ)法和語(yǔ)義結(jié)構(gòu)賦予一定的意義,使其具有pie的cpu的功能,對(duì)于指令仿真模塊來(lái)說,其輸入是語(yǔ)法分析模塊生成的語(yǔ)法樹所包含的各種信息。這一部分要根據(jù)不同的plc的功能具體實(shí)現(xiàn)plc程序可看作由專用的編程語(yǔ)言(梯形圖、語(yǔ)句表等)所編寫的源程序。不能夠直接被計(jì)算機(jī)執(zhí)行而必須翻譯成機(jī)器語(yǔ)言plc程序仿真執(zhí)行就是一個(gè)plc語(yǔ)言的翻譯過程,主要有編譯和解釋兩種方法實(shí)現(xiàn)。這里采用解釋法,即逐句解釋并執(zhí)行。每當(dāng)逐句解釋執(zhí)行完畢后,相當(dāng)于一個(gè)掃描周期結(jié)束。雖然這種方式執(zhí)行的速度比編譯法慢。但是一般情況下仍在允許的范圍之內(nèi),而且采用解釋法能夠更接近實(shí)際plc循環(huán)掃描的工作過程,在模擬仿真過程中更方便觀察、調(diào)試程序。
1、plc仿真軟件的設(shè)計(jì)
仿真技術(shù)伴隨計(jì)算機(jī)應(yīng)用技術(shù)的發(fā)展而來(lái).是對(duì)工業(yè)生產(chǎn)系統(tǒng)進(jìn)行分析、診斷和優(yōu)化的有力工具之一。有效的設(shè)計(jì)控制仿真系統(tǒng),應(yīng)用于各類實(shí)踐。可以起到投資少、效果好、效率高的作用。在工業(yè)控制系統(tǒng)領(lǐng)域。由于工業(yè)生產(chǎn)向著高速、大型化及自動(dòng)化方向發(fā)展。大量重大生產(chǎn)設(shè)備或過程控制設(shè)備的應(yīng)用,成本日益增高,對(duì)運(yùn)行操作人員素質(zhì)要求愈來(lái)愈高,仿真系統(tǒng)可以基本真實(shí)貼近現(xiàn)場(chǎng)控制實(shí)際。
對(duì)控制對(duì)象的仿真設(shè)計(jì)包括兩大部分,即仿真對(duì)象的設(shè)計(jì)以及控制仿真對(duì)象動(dòng)畫的腳本程序的設(shè)計(jì)。仿真界面(虛擬被控對(duì)象)可以通過“組態(tài)王”軟件中的子圖連接、窗口連接或利用圖片處理的方法按照制定樣式的功能設(shè)計(jì)出來(lái),并根據(jù)系統(tǒng)要求在軟件基礎(chǔ)上對(duì)系統(tǒng)進(jìn)行二次開發(fā),采用動(dòng)畫、聲音連接技術(shù),使設(shè)計(jì)的人機(jī)界面友好、生動(dòng)。
2、梯形圖向指令表的轉(zhuǎn)換
梯形圖是由很多個(gè)梯級(jí)構(gòu)成的,在梯形圖的人工轉(zhuǎn)換過程中,遵循著自上而下、從左往右的原則,逐個(gè)梯級(jí)進(jìn)行轉(zhuǎn)換。因此,梯形圖本質(zhì)上就是一個(gè)有向圖,梯形圖在繪制過程中,通過梯形圖鏈表,表明了各個(gè)元件所在的行和列。梯形圖的轉(zhuǎn)換過程就是根據(jù)了元件所在的行、列坐標(biāo),仿照人工轉(zhuǎn)換思維,把梯形圖先轉(zhuǎn)換為一棵二叉樹,然后根據(jù)二叉樹來(lái)識(shí)別相應(yīng)的指令。1幅梯形圖可以看成是觸點(diǎn)或者電路塊之間串聯(lián)與并聯(lián)。而電路塊實(shí)質(zhì)上就是2個(gè)或2個(gè)以上觸點(diǎn)構(gòu)成的。所以本質(zhì)上還是觸點(diǎn)的串聯(lián)與并聯(lián).串聯(lián)用“”號(hào)表示,并聯(lián)用。+”表示。如圖1所示。
按照自上而下、從左往右的原則,該梯形圖可轉(zhuǎn)換為二叉樹。二叉樹是梯形圖向指令表轉(zhuǎn)換的關(guān)鍵,每個(gè)梯級(jí)均對(duì)應(yīng)1棵二又樹。二叉樹清晰地表達(dá)了觸點(diǎn)之間的關(guān)系,通過對(duì)二叉樹進(jìn)行遍.歷。結(jié)合對(duì)應(yīng)的觸點(diǎn)類型,進(jìn)行指令表的書寫。
3、plc仿真軟件的工作原理
基于組態(tài)軟件的仿真系統(tǒng)實(shí)現(xiàn)的原理,在于plc內(nèi)部各種繼電器的狀態(tài)與組態(tài)軟件數(shù)據(jù)庫(kù)中數(shù)據(jù)的鏈接以及該數(shù)據(jù)與計(jì)算機(jī)界面上圖形對(duì)象的鏈接。因plc控制系統(tǒng)實(shí)際輸出控制時(shí),是通過輸出繼電器y和輸出模塊去驅(qū)動(dòng)外部執(zhí)行機(jī)構(gòu)的.外界的控制信號(hào)和反饋信號(hào)通過輸入繼電器x進(jìn)入plc內(nèi)部。而在仿真運(yùn)行狀態(tài)時(shí)plc的輸出模塊與外界是斷開的,輸出(繼電器y的)信號(hào)通過通信線只與組態(tài)軟件數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行交換,而這些數(shù)據(jù)又與屏幕(界面)上顯示的圖形對(duì)象有關(guān)聯(lián)。
當(dāng)plc輸出繼電器y的各點(diǎn)狀態(tài)有變化時(shí),改變了數(shù)據(jù)庫(kù)中的數(shù)據(jù)值。繼而使相應(yīng)的圖形對(duì)象發(fā)生變化,產(chǎn)生我們所要求的模擬實(shí)際對(duì)象動(dòng)作的仿真效果。同時(shí),plc的輸入信號(hào)也要與數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行關(guān)聯(lián),通過對(duì)屏幕上圖形對(duì)象的鼠標(biāo)操作.或組態(tài)軟件內(nèi)部變量事件觸發(fā)而改變與其鏈接的數(shù)據(jù)庫(kù)中的數(shù)據(jù),繼而改變輸入信號(hào)。在編寫plc程序時(shí)要注意通過對(duì)屏幕上圖形對(duì)象的鼠標(biāo)操作,或組態(tài)軟件內(nèi)部變量事件觸發(fā)給plc的輸入信號(hào)只是~個(gè)脈沖信號(hào)。組態(tài)軟件仿真對(duì)象不僅可以接受多種由plc發(fā)出的如數(shù)字、模擬等控制信號(hào),亦可向plc反饋數(shù)字、模擬等各種信號(hào)。與plc進(jìn)行各種狀態(tài)數(shù)據(jù)的交換,從而反映plc運(yùn)行與控制對(duì)象動(dòng)作結(jié)果之間的關(guān)系。
4、結(jié)束語(yǔ)
可編程控制器(plc)廣泛應(yīng)用于工業(yè)控制的各個(gè)領(lǐng)域。因plc用于工業(yè)現(xiàn)場(chǎng)控制,且plc不同于微機(jī),無(wú)法通過顯示器觀察程序的執(zhí)行結(jié)果.plc程序的驗(yàn)證只有與被控對(duì)象結(jié)合才能實(shí)現(xiàn)。因此實(shí)驗(yàn)環(huán)節(jié)非常重要。由于現(xiàn)行plc的操作系統(tǒng)(系統(tǒng)管理軟件)是建立在邏輯運(yùn)算的基礎(chǔ)上,不具備系統(tǒng)管理能力.沒有良好的人機(jī)聯(lián)系界面,可視性差。如果采用組態(tài)軟件和plc控制系統(tǒng)相結(jié)合。以組態(tài)王”軟件為基礎(chǔ).進(jìn)行二次開發(fā),利用“組態(tài)王”對(duì)plc進(jìn)行動(dòng)畫組態(tài)、硬件組態(tài)和控制組態(tài)。通過計(jì)算機(jī)全真模擬plc的實(shí)驗(yàn)過程。對(duì)plc的實(shí)驗(yàn)狀態(tài)進(jìn)行模擬,plc仿真軟件系統(tǒng)必將得到大力的發(fā)展。