那么什么是結(jié)構(gòu)化編程呢?它是將復(fù)雜自動(dòng)化任務(wù)分割成與過程工藝"/>
西門子: | 西門子電機(jī)總代理 |
西門子電機(jī): | 西門子電機(jī)總代理商 |
德國: | 西門子電機(jī)一級(jí)總代理 |
單價(jià): | 面議 |
發(fā)貨期限: | 自買家付款之日起 天內(nèi)發(fā)貨 |
所在地: | 直轄市 上海 上海寶山 |
有效期至: | 長期有效 |
發(fā)布時(shí)間: | 2023-12-13 17:51 |
最后更新: | 2023-12-13 17:51 |
瀏覽次數(shù): | 130 |
采購咨詢: |
請(qǐng)賣家聯(lián)系我
|
作為一個(gè)自動(dòng)化行業(yè)的從業(yè)者,你或多或少應(yīng)該聽過結(jié)構(gòu)化編程。那么什么是結(jié)構(gòu)化編程呢?它是將復(fù)雜自動(dòng)化任務(wù)分割成與過程工藝功能相對(duì)應(yīng)或可重復(fù)使用的更小的子任務(wù),將更易于對(duì)這些復(fù)雜任務(wù)進(jìn)行處理和管理。這些子任務(wù)在用戶程序中以塊來表示。因此,每個(gè)塊是用戶程序的獨(dú)立部分。
在進(jìn)行PLC編程的時(shí)候,我們常用的方式有,線性化編程、模塊化編程以及結(jié)構(gòu)化編程。線性化編程只使用一個(gè)主程序,所有的程序指令都在主程序中執(zhí)行,適合小型自動(dòng)化項(xiàng)目。模塊化編程是將一個(gè)自動(dòng)化項(xiàng)目分割成不同的功能模塊,比如一個(gè)自動(dòng)化項(xiàng)目可以分成手動(dòng)、自動(dòng)、報(bào)警等不同的功能,這些不同的功能然后再統(tǒng)一被主程序調(diào)用。結(jié)構(gòu)化編程與模塊化有些類似,都是使用多個(gè)子程序,但是結(jié)構(gòu)化編程將某些可重復(fù)性的任務(wù),做成可復(fù)用的程序塊,方便移植使用。為了直觀的理解這三種編程方式的區(qū)別,下面以兩條流水線的起保??刂谱鳛榕e例說明。使用的硬件信號(hào)表1所示:
表1:IO信號(hào)表
01、線性化編程
線性化的編程方式,所有的程序都在OB1中,如圖1所示:
▲ 圖1 線性化編程
02、模塊化編程
模塊化的編程方式,將兩條流水線分別在不同的子程序中進(jìn)行調(diào)用,如圖2、圖3所示:
▲ 圖2 主程序調(diào)用子程序
▲ 圖3 流水線1執(zhí)行程序
▲ 圖4 流水線2執(zhí)行程序
03、結(jié)構(gòu)化編程
結(jié)構(gòu)化編程,則是通過建立FB程序塊,內(nèi)部的功能在FB中實(shí)現(xiàn),該FB塊可重復(fù)使用,當(dāng)進(jìn)行FB程序塊調(diào)用的時(shí)候,會(huì)自動(dòng)生產(chǎn)對(duì)應(yīng)的DB數(shù)據(jù)塊,程序進(jìn)行控制的時(shí)候,定義具體的管腳即可。具體的結(jié)構(gòu)化編程如圖所示:
▲ 圖5 OB1的程序調(diào)用
▲ 圖6 流水線1的程序
▲ 圖7 流水線2的程序
▲ 圖8 流水線功能的背景塊
總結(jié)
在上文中,對(duì)兩個(gè)流水線的起保??刂疲謩e用不同的編程方式進(jìn)行了舉例。每種編程方式大致有了一定的認(rèn)識(shí),由于舉例的程序比較簡單,所以程序的優(yōu)缺點(diǎn)不是那么的明顯,但是隨著項(xiàng)目的程序越來越復(fù)雜,編程的工作量越來越大,結(jié)構(gòu)化的編程方式優(yōu)勢(shì)會(huì)更加明顯,它的易讀性、復(fù)用性可以提高工作的效率。在PLC的編程過程中,推薦大家使用結(jié)構(gòu)化和模塊化的混合編程方式。