久久国视频,欧美日韩人妻无码视频,男人无色码,96青青青,亚洲一区二区少妇人妻,亚洲综合国产一区激情,色网在线视频道,成人黄页在线观看,欧美一区另类

建材之家 JC68.COM?
廣告

PLC梯形圖編譯原理

   2024-08-10 建材之家3680
核心提示:IL語言非常接近匯編語言,編碼后,PLC處理器能很容易識別,但是梯形圖是圖形元素,CPU不容易識別,所以要將梯形圖先編譯為IL語言。本文提供了一種遞歸編譯的方式,不完善的地方,還請見諒。轉(zhuǎn)換思路:將梯形圖以網(wǎng)絡(luò)為單位進(jìn)行遍歷,選擇一個網(wǎng)絡(luò)進(jìn)行分析,梯形圖本質(zhì)是塊和塊之間的串聯(lián),串聯(lián)的塊中又可能包含了并聯(lián)關(guān)系,但是并聯(lián)關(guān)系中,其實也是串聯(lián)塊的并聯(lián)。如圖1: 在整個梯形圖編譯的過程中……
    IL語言非常接近匯編語言,編碼后,PLC處理器能很容易識別,但是梯形圖是圖形元素,CPU不容易識別,所以要將梯形圖先編譯為IL語言。本文提供了一種遞歸編譯的方式,不完善的地方,還請見諒。
轉(zhuǎn)換思路:
將梯形圖以網(wǎng)絡(luò)為單位進(jìn)行遍歷,選擇一個網(wǎng)絡(luò)進(jìn)行分析,梯形圖本質(zhì)是塊和塊之間的串聯(lián),串聯(lián)的塊中又可能包含了并聯(lián)關(guān)系,但是并聯(lián)關(guān)系中,其實也是串聯(lián)塊的并聯(lián)。如圖1:


 


在整個梯形圖編譯的過程中,主要使用2個步驟(或者叫函數(shù)),一個步驟分析塊之間的串聯(lián)關(guān)系,一個步驟分析塊之間的并聯(lián)關(guān)系。

步驟0:先初始化開始行為網(wǎng)絡(luò)的第一行,開始列為第一列,結(jié)束列為最后一列。然后進(jìn)去步驟1。
步驟1、
 (1)建立一個塊堆棧BlockStack,輸出堆棧OutputStack。
(2)首先將圖進(jìn)行串聯(lián)塊的分析。將分析到的塊壓入BlockStack,輸出塊壓入OutputStack.
(3)遍歷BlockStack,對每一個塊進(jìn)行分析,
1)如果塊的行數(shù)大于1,表示塊中有并聯(lián)關(guān)系,到步驟2分析該塊。
  如果塊不是第一個塊,則要在并聯(lián)關(guān)系解釋完后,加入ANB指令。
2)如果塊的行數(shù)等于1,表示塊已經(jīng)是最簡串聯(lián)塊,直接輸出塊的語句。
  如果塊是第一個塊,使用LD加載第一個元素,依次往后使用AND。(至于使用LDI,還是ANI,請判斷元素的類型。)
  如果塊不是第一個塊,使用AND加載第一個元素,依次往后使用AND。

(4)遍歷輸出塊。
  如果輸出塊是多行,使用步驟2分析輸出塊。
  如果輸出塊是單行,則直接輸出塊中元素:OUT、SET、RST。
步驟2、
 (1)首先判斷傳入的塊是輸出塊還是普通塊。如果是輸出塊,建立一個記錄標(biāo)志。
(2)   建立一個或堆棧.OrBlockStack.
(3)   分析塊Blcok中由哪幾個串聯(lián)塊并聯(lián)而成,將塊壓入OrBlockStack中.
(4)     A、遍歷OrBlockStack,每一個串聯(lián)塊進(jìn)行步驟1串聯(lián)分析。
B、為每一個串聯(lián)塊加上并聯(lián)關(guān)系。
1)如果是輸出:如果一共有2個分支,則第一個分支加入MPS,第二個分支加入MPP。
             如果分支大于2個,則第一個分支加入MPS,最后一個分支加入MPP,其他分支加入MPR。
2)如果不是輸出:如果串聯(lián)塊中橫線方向元素個數(shù)大于1個,加入ORB,如果只有一個元素,加入OR,進(jìn)入步驟3檢查代碼。如果沒有元素,就是短路。報錯。
步驟3:全部完成后,對指令進(jìn)行分析,如果有
LD Xn
OR
這樣的指令,要合并為:
OR Xn.
舉例說明:
梯形圖程序如圖1,可以劃分為3個塊:塊1,塊2,輸出塊。3個之間是串聯(lián)的關(guān)系。


 

                                              圖1
(現(xiàn)在是在步驟1中)依次將塊1,塊2,輸出塊傳入步驟2,根據(jù)步驟1可知,塊2后面需要加入ANB指令。
塊1傳入步驟2后,可以分析到塊1是由2個串聯(lián)塊A、B并聯(lián)組成的。如圖2:
 


                                              圖2
(現(xiàn)在是在步驟2中)依次將A、B傳入步驟1,根據(jù)步驟2可知,B傳入步驟1后,要加上ORB指令。
塊A傳入步驟1后,可以分析到塊A是由3個塊a,b,c串聯(lián)組成的,如圖3:


 
(現(xiàn)在是在步驟1中)然后依次將a,b,c傳入到步驟2中進(jìn)行分析,根據(jù)步驟1可知,b進(jìn)入步驟2后,要加入ANB指令,C進(jìn)入步驟2后,也要加入ANB指令。
塊a可以分析得到是由3個單行的串聯(lián)a1,a2,a3塊并聯(lián)組成的。


 
(現(xiàn)在是在步驟2中)再依次把a1,a2,a3傳入步驟1進(jìn)行串聯(lián)分析,根據(jù)步驟2可知,X2傳入步驟1后,要加入OR指令,X3傳入步驟1后,也要加入OR指令。
a1進(jìn)入步驟1,可以得到a1只有一行,所以直接輸出a1為
LD X1
a2傳入步驟1,可以得到
LD X2
OR
a3傳入步驟1可以得到
LD X3
OR
最后對指令進(jìn)行分析,只要有
LD Xn
Or
這樣的,都合并為OR Xn.
整理后得到指令為:
 LD X1
 OR X2
 OR X3
。
依次往后遍歷,最后能得到所有的指令為:
LD X1
OR X2
OR X3
LD X4
OR X5
ANB
LD X6
OR X7
ANB
LD X9
OR X10
LD X11
LD X12
ANB
ORB
LD X13
OR X14
LD X15
OR X16
ANB
OR X17
ANB
OUT Y1
在這個算法中,將梯形圖元素分塊,是最關(guān)鍵的,所以要處理好梯形圖元素的分塊,至于怎么分塊,就需要自己想了喲~

 
【溫馨提示】本文內(nèi)容和觀點為作者所有,本站只提供信息存儲空間服務(wù),如有涉嫌抄襲/侵權(quán)/違規(guī)內(nèi)容請聯(lián)系QQ:727533600 刪除!
廣告位出租
舉報收藏 0打賞 0評論 0
 
13003三極管參數(shù)資料:MJE13003三極管是主要用于節(jié)能燈及熒光燈電子鎮(zhèn)流器的高反壓大功率開關(guān)三極管,硅NPN型,采用TO-126封裝,MJE13003三極管的外形和管腳排列如下: MJE13003三極管主要參數(shù)集電極-基極電壓VCBO 700 V集電極-發(fā)射極電壓VCEO 400 V發(fā)射極-基極電壓VEBO 9V集電極電流IC 2.0 A集電極耗散功率PC 40 W最高工... 澆封型電氣設(shè)備的防爆原理是:將電氣設(shè)備有可能產(chǎn)生點燃爆炸性混合物的電弧、火花或高溫的部分澆封在澆封劑中,避免這些電氣部件與爆炸性混合物接觸,從而使電氣設(shè)備在正常運行或認(rèn)可的過載和故障情況下均不能點燃周圍的爆炸性混合物。澆封型電氣設(shè)備有整臺設(shè)備澆封的,也有部件澆封的。對于采取澆封防爆措施的澆封型部...
更多>文章標(biāo)簽:電工 電工知識 ;相關(guān)產(chǎn)品:
廣告位出租
更多>同類水電電工
推薦圖文
專精特新
點擊排行
推薦水電電工更多>
專精特新
最新問答更多>
微商機更多>
專精特新
俱樂部更多>
廣告位出租
建材之家  |  關(guān)于建材之家  |  聯(lián)系我們  |  加入建材之家  |  隱私政策  |  使用協(xié)議  |  財務(wù)相關(guān)  |  城市分站  |  招商加盟  |  建材群站  |  網(wǎng)站地圖 |  排名推廣 |  廣告服務(wù) |  網(wǎng)站留言 |  違規(guī)舉報  |  sitemap  |  粵ICP備14017808號
博一建材

博一建材

點擊查看放大的二維碼

微信服務(wù)號:jc68-1

建材之家小程序碼

建材之家小程序碼

云建會小程序碼

云建會小程序碼

建材商機小程序碼

建材商機小程序碼

博一建材小程序碼

博一建材小程序碼

工商網(wǎng)監(jiān)
全國服務(wù)電話:0755-82034561/18923733323;客服QQ:727533600/876399953;新浪微博ID:jc68com; 微信服務(wù)號ID:jc68-1; 粵公網(wǎng)安備 44030402000745號
建材之家旨在傳遞更多商機信息!信息內(nèi)容都是網(wǎng)絡(luò)用戶自發(fā)貢獻(xiàn),本站只提供信息存儲空間服務(wù),如有涉嫌抄襲/侵權(quán)/違規(guī)內(nèi)容請告知QQ:275171283處理!
?2015-2020 ByBc.CN Powered by 建材之家 V5.0 策劃運營:深圳市博一建材有限公司
 
福泉市| 大新县| 澄迈县| 襄樊市| 武邑县| 叙永县| 昆山市| 大兴区| 遂宁市| 平山县| 宁乡县| 孙吴县| 达州市| 辛集市| 沂源县| 尉犁县| 奉贤区| 峨眉山市| 天全县| 迁安市| 沂源县| 盐源县| 镇沅| 商丘市| 凤冈县| 黑河市| 高州市| 仲巴县| 乳源| 鄂尔多斯市| 瑞安市| 汤阴县| 白沙| 长治市| 大关县| 农安县| 富阳市| 景德镇市| 安多县| 白银市| 象山县|