<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 軟PLC編譯系統(tǒng)的開發(fā)與實現(xiàn)

          軟PLC編譯系統(tǒng)的開發(fā)與實現(xiàn)

          作者: 時間:2010-04-26 來源:網(wǎng)絡 收藏

            push(Y1Y2?K);

            else

            error();

            else(X==$)

            分析成功;

            break;

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

            下面舉例子來說明程序語法分析程序的工作過程。

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



            表2 程序語法分析表

            5、軟程序

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

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

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


            圖3 程序邏輯仿真界面

            程序中所包含的PLC元素會按類別以表格形式列出,元素的不同顏色表示元素的開關狀態(tài),紅色代表高電平,白色代表低電平。當用鼠標改變輸入元素的狀態(tài)時。輸出元素的狀態(tài)會按照程序邏輯進行改變,改變的結果可由顏色的變化來顯示。

            6、結束語

            軟PLC程序的邏輯仿真結果表明,的軟PLC軟PLC梯形圖與指令表程序的相互轉換,完成軟PLC程序的文法設計和語法分析,對軟PLC程序的運行指令作出正確解釋,并能按照PLC的工作原理運行,使PC機完成相應的控制功能。的軟件能很容易地PLC程序的編輯和邏輯仿真,結構簡單,使用方法簡便,為今后進~步研究和軟PLC的下位機系統(tǒng)、不斷完善軟PLC系統(tǒng)的功能和實現(xiàn)其良好的控制特性奠定了基礎。

          塵埃粒子計數(shù)器相關文章:塵埃粒子計數(shù)器原理

          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();