來源:曉煜大發(fā)現(xiàn)
嗨~大家馬年好呀!今天是馬年的開工的第一篇文章。本期我們來討論一下線性化編程與結(jié)構(gòu)化編程的不同點,及如何選擇!本期我們采用PLC的作為講解,比較直觀。不如足之處歡迎大家指出!
編程基本定義對比
線性化編程
線性化編程是將整個用戶程序連續(xù)放置在一個循環(huán)程序塊(OB1)中,按順序執(zhí)行的編程范式。這種結(jié)構(gòu)與PLC所代替的硬接線繼電器控制類似,CPU逐條地處理指令,體現(xiàn)了早期PLC編程的簡單性和直觀性。說白了就是一條路走到黑,所有功能從上往下寫。
它的核心特點主要有:
結(jié)構(gòu)簡單:不帶分支,一個程序塊包含系統(tǒng)的所有指令。
執(zhí)行方式:CPU循環(huán)掃描時不斷地依次執(zhí)行OB1中的全部指令
傳統(tǒng)性:與傳統(tǒng)的繼電器控制邏輯相似,易于電氣工程師理解

結(jié)構(gòu)化編程
結(jié)構(gòu)化編程是將過程要求類似或相關(guān)的任務(wù)歸類,形成通用解決方案的編程范式。該程序塊編程時采用形式參數(shù),可以通過不同的實際參數(shù)調(diào)用相同的程序塊,體現(xiàn)了現(xiàn)代軟件工程的模塊化思想。
它的核心特點主要有:
模塊化設(shè)計:將復(fù)雜任務(wù)分解成能夠反映過程工藝、功能或可反復(fù)使用的單獨解決的小任務(wù)
參數(shù)化調(diào)用:通過使用參數(shù),可將塊設(shè)計得十分靈活
代碼重用性:塊可以根據(jù)需要在不同地方以不同參數(shù)數(shù)據(jù)記錄進行調(diào)用

優(yōu)勢對比
| 優(yōu)點 | 缺點 | |
| 線性化編程 |
結(jié)構(gòu)簡單直觀:程序結(jié)構(gòu)簡單,不帶分支,一個程序塊包含系統(tǒng)的所有指令 易于理解:與傳統(tǒng)繼電器控制邏輯類似,CPU逐條處理指令,概念簡單 快速實現(xiàn):對于簡單的控制任務(wù),開發(fā)速度快,無需復(fù)雜的程序組織 |
CPU效率低下:每個掃描周期都要掃描執(zhí)行所有指令,即使某些代碼在大多數(shù)時候并不需要執(zhí)行 代碼重復(fù):相同或類似操作需要重復(fù)編寫相同程序 維護困難:程序結(jié)構(gòu)不清晰,管理和調(diào)試不方便 |
| 結(jié)構(gòu)化編程 |
高代碼重用性:通用的數(shù)據(jù)和代碼可以共享,編寫通用程序塊,提高編程和調(diào)試效率 編程結(jié)構(gòu)清晰:適合于復(fù)雜的控制任務(wù),結(jié)構(gòu)層次分明 CPU利用率高:只有在需要時才調(diào)用相關(guān)的程序塊,每次循環(huán)中不是所有的塊都執(zhí)行 |
技術(shù)門檻高:結(jié)構(gòu)化編程必須對系統(tǒng)功能進行合理地分析、分解和綜合,對編程設(shè)計人員的要求較高 前期設(shè)計復(fù)雜:需要進行詳細的需求分析和系統(tǒng)設(shè)計 學習成本高:需要掌握程序組織單元、參數(shù)傳遞、數(shù)據(jù)管理等概念 |
舉個例子多電機控制程序編寫
//線性編程 Network1: 電動機1控制 LDI0.0// 啟動按鈕1 OQ4.0// 自鎖 ANI0.1// 停止按鈕1 =Q4.0// 電動機1輸出 Network2: 電動機2控制 LDI1.0// 啟動按鈕2 OQ4.1// 自鎖 ANI1.1// 停止按鈕2 =Q4.1// 電動機2輸出 代碼重復(fù)度高,修改一個電機邏輯需要修改多處
//結(jié)構(gòu)化編程 // FC1 - 通用電機控制功能塊 FUNCTION_BLOCK FC1 VAR_INPUT StartButton :BOOL; StopButton :BOOL; END_VAR VAR_OUTPUT MotorOutput :BOOL; END_VAR // OB1主程序調(diào)用 CALLFC1(StartButton := I0.0, StopButton := I0.1, MotorOutput => Q4.0) CALLFC1(StartButton := I1.0, StopButton := I1.1, MotorOutput => Q4.1) 代碼重用性高,參數(shù)化設(shè)計,只需修改FC1,所有調(diào)用處自動更新
-
plc
+關(guān)注
關(guān)注
5051文章
14633瀏覽量
487284 -
cpu
+關(guān)注
關(guān)注
68文章
11292瀏覽量
225306 -
編程
+關(guān)注
關(guān)注
90文章
3717瀏覽量
97241
原文標題:線性編程與模塊化編程
文章出處:【微信號:gkongbbs,微信公眾號:工控論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
FPGA可編程器件和CPLD可編程器件有哪些相同點和不同點
工業(yè)洗滌設(shè)備結(jié)構(gòu)化編程方式
結(jié)構(gòu)化文本語言ST編程的學習課件
FXCPU結(jié)構(gòu)化編程手冊之應(yīng)用函數(shù)篇
FXCPU結(jié)構(gòu)化編程手冊[順控指令篇]
結(jié)構(gòu)化文本(ST)編程參考手冊
MELSEC Q/L結(jié)構(gòu)體編程手冊(結(jié)構(gòu)化文本篇)
MELSEC iQ R結(jié)構(gòu)化文本(ST)編程指南
DSPASM FAA/GREEN_DSP 結(jié)構(gòu)化匯編程序用戶手冊
西門子博途S7-SCL結(jié)構(gòu)化控制語言編程
DSPASM FAA/GREEN_DSP 結(jié)構(gòu)化匯編程序用戶手冊
線性化編程與結(jié)構(gòu)化編程的不同點
評論