關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 軟PLC編譯系統(tǒng)的開(kāi)發(fā)與仿真

軟PLC編譯系統(tǒng)的開(kāi)發(fā)與仿真

作者: 時(shí)間:2012-01-26 來(lái)源:網(wǎng)絡(luò) 收藏

push(Y1Y2?K);

本文引用地址:http://butianyuan.cn/article/161172.htm

  else

  error();

  else(X==$)

  分析成功;

  break;

  其中,M[X,a]是指預(yù)測(cè)分析表中x行和a列相交處的產(chǎn)生式。

  下面舉例子來(lái)說(shuō)明程序語(yǔ)法分析程序的工作過(guò)程。

  將指令用小寫(xiě)字母代替后,程序指令變?yōu)閍cababecdcf,將該字符串作為輸入,分析過(guò)程如表2所示。



  表2 程序語(yǔ)法分析表

  5、軟程序的實(shí)現(xiàn)

  PLC指令表程序的分析是通過(guò)對(duì)指令表程序的解釋而獲得程序的邏輯,并以對(duì)話(huà)框形式演示程序的邏輯狀態(tài)。在解釋過(guò)程中,構(gòu)造2個(gè)變量,1個(gè)用于存儲(chǔ)分支塊的邏輯值,另1個(gè)用于存儲(chǔ)分支塊前面語(yǔ)句的邏輯值。同時(shí)構(gòu)造1個(gè)堆棧用來(lái)存儲(chǔ)解釋過(guò)程中的結(jié)果,分支塊前面的值保存在堆棧中,整個(gè)分支塊的值保存在1個(gè)臨時(shí)變量中。

  PLC指令表程序的解釋過(guò)程為:1)當(dāng)解釋程序發(fā)現(xiàn)LD或LDI指令時(shí),將臨時(shí)變量值壓入堆棧,臨時(shí)變量賦值為1,臨時(shí)變量與指令后面的元素進(jìn)行邏輯與操作,將結(jié)果保存在臨時(shí)變量中;2)當(dāng)解釋程序發(fā)現(xiàn)AND或ANI指令時(shí),臨時(shí)變量與指令后的元素進(jìn)行與操作,將結(jié)果保存到臨時(shí)變量中;3)當(dāng)解釋程序發(fā)現(xiàn)OR或ORI指令時(shí),l臨時(shí)變量與指令后的元素進(jìn)行或操作,將結(jié)果保存到臨時(shí)變量中;4)當(dāng)解釋程序發(fā)現(xiàn)ANB指令時(shí),臨時(shí)變量與棧頂?shù)闹颠M(jìn)行與操作,將結(jié)果保存到臨時(shí)變量中,同時(shí)堆棧將棧頂元素彈出;5)當(dāng)解釋程序發(fā)現(xiàn)ORB指令時(shí),臨時(shí)變量與棧頂?shù)闹颠M(jìn)行或操作,將結(jié)果保存到臨時(shí)變量中,同時(shí)堆棧將棧頂元素彈出;6)當(dāng)解釋程序發(fā)現(xiàn)OUT指令時(shí),將臨時(shí)變量與棧頂?shù)闹颠M(jìn)行與操作,將結(jié)果保存在臨時(shí)變量中。同時(shí)清空堆棧。

  程序邏輯的界面,如圖3所示。


  圖3 程序邏輯界面

  程序中所包含的PLC元素會(huì)按類(lèi)別以表格形式列出,元素的不同顏色表示元素的開(kāi)關(guān)狀態(tài),紅色代表高電平,白色代表低電平。當(dāng)用鼠標(biāo)改變輸入元素的狀態(tài)時(shí)。輸出元素的狀態(tài)會(huì)按照程序邏輯進(jìn)行改變,改變的結(jié)果可由顏色的變化來(lái)顯示。

  6、結(jié)束語(yǔ)

  軟PLC程序的邏輯結(jié)果表明,的軟PLC能實(shí)現(xiàn)軟PLC梯形圖與指令表程序的相互轉(zhuǎn)換,完成軟PLC程序的文法設(shè)計(jì)和語(yǔ)法分析,對(duì)軟PLC程序的運(yùn)行指令作出正確解釋?zhuān)⒛馨凑誔LC的工作原理運(yùn)行,使PC機(jī)完成相應(yīng)的控制功能。的軟件能很容易地實(shí)現(xiàn)PLC程序的編輯和邏輯仿真,結(jié)構(gòu)簡(jiǎn)單,使用方法簡(jiǎn)便,為今后進(jìn)~步研究和軟PLC的下位機(jī)系統(tǒng)、不斷完善軟PLC系統(tǒng)的功能和實(shí)現(xiàn)其良好的控制特性奠定了基礎(chǔ)。


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉