大肉大捧一进一出好爽视色大师,丰满少妇被猛烈进入在线播放,欧美真人性野外做爰,黑人巨大vs日本人优在线

當前位置:機電之家首頁 >> PLC技術>> plc資料下載 >> PLC梯形圖下載 >> plc梯形圖編譯原理
plc梯形圖編譯原理

il語言非常接近,編碼后,處理器能很容易識別,但是梯形圖是圖形元素,cpu不容易識別,所以要將梯形圖先編譯為il語言。本文提供了一種遞歸編譯的方式,不完善的地方,還請見諒。

轉換思路:

將梯形圖以網絡為單位進行遍歷,選擇一個網絡進行分析,梯形圖本質是塊和塊之間的串聯,串聯的塊中又可能包含了并聯關系,但是并聯關系中,其實也是串聯塊的并聯。如圖1:

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

步驟0:先初始化開始行為網絡的第一行,開始列為第一列,結束列為最后一列。然后進去步驟1。

步驟1、

(1)建立一個塊堆棧blockstack,輸出堆棧outputstack。

(2)首先將圖進行串聯塊的分析。將分析到的塊壓入blockstack,輸出塊壓入outputstack.

(3)遍歷blockstack,對每一個塊進行分析,

1)如果塊的行數大于1,表示塊中有并聯關系,到步驟2分析該塊。

如果塊不是第一個塊,則要在并聯關系解釋完后,加入anb指令。

2)如果塊的行數等于1,表示塊已經是最簡串聯塊,直接輸出塊的語句。

如果塊是第一個塊,使用ld加載第一個元素,依次往后使用and。(至于使用ldi,還是ani,請判斷元素的類型。)

如果塊不是第一個塊,使用and加載第一個元素,依次往后使用and。

(4)遍歷輸出塊。

如果輸出塊是多行,使用步驟2分析輸出塊。

如果輸出塊是單行,則直接輸出塊中元素:out、set、rst。

步驟2、

(1)首先判斷傳入的塊是輸出塊還是普通塊。如果是輸出塊,建立一個記錄標志。

(2) 建立一個或堆棧.orblockstack.

(3) 分析塊blcok中由哪幾個串聯塊并聯而成,將塊壓入orblockstack中.

(4) a、遍歷orblockstack,每一個串聯塊進行步驟1串聯分析。

b、為每一個串聯塊加上并聯關系。

1)如果是輸出:如果一共有2個分支,則第一個分支加入mps,第二個分支加入mpp。

如果分支大于2個,則第一個分支加入mps,最后一個分支加入mpp,其他分支加入mpr。

2)如果不是輸出:如果串聯塊中橫線方向元素個數大于1個,加入orb,如果只有一個元素,加入or,進入步驟3檢查代碼。如果沒有元素,就是短路。報錯。

步驟3:全部完成后,對指令進行分析,如果有

ld xn

or

這樣的指令,要合并為:

or xn.

舉例說明:

梯形圖程序如圖1,可以劃分為3個塊:塊1,塊2,輸出塊。3個之間是串聯的關系。

圖1

(現在是在步驟1中)依次將塊1,塊2,輸出塊傳入步驟2,根據步驟1可知,塊2后面需要加入anb指令。

塊1傳入步驟2后,可以分析到塊1是由2個串聯塊a、b并聯組成的。如圖2:

圖2

(現在是在步驟2中)依次將a、b傳入步驟1,根據步驟2可知,b傳入步驟1后,要加上orb指令。

塊a傳入步驟1后,可以分析到塊a是由3個塊a,b,c串聯組成的,如圖3:

(現在是在步驟1中)然后依次將a,b,c傳入到步驟2中進行分析,根據步驟1可知,b進入步驟2后,要加入anb指令,c進入步驟2后,也要加入anb指令。

塊a可以分析得到是由3個單行的串聯a1,a2,a3塊并聯組成的。

(現在是在步驟2中)再依次把a1,a2,a3傳入步驟1進行串聯分析,根據步驟2可知,x2傳入步驟1后,要加入or指令,x3傳入步驟1后,也要加入or指令。

a1進入步驟1,可以得到a1只有一行,所以直接輸出a1為

ld x1

a2傳入步驟1,可以得到

ld x2

or

a3傳入步驟1可以得到

ld x3

or

最后對指令進行分析,只要有

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

在這個算法中,將梯形圖元素分塊,是最關鍵的,所以要處理好梯形圖元素的分塊,至于怎么分塊,就需要自己想了喲~

作者:未知 點擊:1625次 [打印] [關閉] [返回頂部]
本文標簽:plc梯形圖編譯原理
* 由于無法獲得聯系方式等原因,本網使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《plc梯形圖編譯原理》相關權利人與機電之家網取得聯系。
電子樣本

中基斯頓擺線液壓馬達
:余翰林
:18857411608
:寧波中基斯頓液壓機械有限公司
個人求購

韋總 【求購】  電機  2025-5-13
機電用戶 【求購】  不銹鋼風門  2025-5-13
 【求購】  鋁板  2025-5-13
丁女士 【求購】  超凈工作臺  2025-5-13
 【求購】  氧分子篩  2025-5-13
潘先生 【求購】  電源管理芯...  2025-5-13
 【求購】  氣動蝶閥  2025-5-12
張經理 【求購】  單片機開發  2025-5-12
VIP公司推薦

主站蜘蛛池模板: 中宁县| 新源县| 丹棱县| 襄汾县| 稻城县| 城步| 秦皇岛市| 德清县| 长寿区| 蒙城县| 鲁甸县| 邯郸市| 瑞安市| 娄底市| 台山市| 花垣县| 南靖县| 南澳县| 郯城县| 嘉鱼县| 怀集县| 浠水县| 灵石县| 鄂伦春自治旗| 花垣县| 张北县| 沾益县| 云霄县| 禹州市| 突泉县| 通海县| 亚东县| 海淀区| 新巴尔虎右旗| 泸水县| 大新县| 临海市| 奉新县| 黑河市| 英超| 和田市|