IEC 61131-3 是可編程邏輯控制器國際標(biāo)準(zhǔn)的第三部分。在標(biāo)準(zhǔn)的這一部分中,列出了 PLC 的軟件架構(gòu)和有效的編程語言。
該標(biāo)準(zhǔn)列出了五種不同的語言,其中三種是圖形的,其中兩種是基于文本的。語言如下:
梯形圖
功能框圖
順序功能圖
結(jié)構(gòu)化文本
指令列表(在標(biāo)準(zhǔn)的第三版中已棄用)
梯形邏輯
梯形圖,通常稱為梯形邏輯,是用于編程 PLC 的最突出的語言之一。我在另一篇包含梯形邏輯示例的文章中介紹了這種語言。
功能塊圖
梯形邏輯幫助習(xí)慣于中繼邏輯的工程師和技術(shù)人員習(xí)慣于對 PLC 進行編程。盡管如此,當(dāng)梯級的數(shù)量變得太多時,梯形邏輯程序可能會變得非常難以維護和修改。大型系統(tǒng)可以在 CPU 上運行多個子程序,每個子程序都有數(shù)百個梯形邏輯梯級。梯級 3 的內(nèi)部位可以在梯級 103 的梯子下方使用。這有明顯的問題,并導(dǎo)致了更現(xiàn)代的語言的創(chuàng)建。
功能塊圖或 FBD 可能是工業(yè)控制中使用最廣泛的編程語言。它是一種圖形語言,其中通過接受系統(tǒng)變量作為輸入并生成系統(tǒng)變量和控制信號作為輸出的塊來描述系統(tǒng)功能。例如,可以使用 AND 功能塊,而不是將兩個 XIC 指令串聯(lián)起來。這可以大大簡化編程結(jié)構(gòu),并在需要時增加額外的抽象級別。下圖顯示了來自施耐德電氣網(wǎng)站的示例 FDB 圖。
以功能塊圖語言編寫的程序示例。
請注意 AND 塊的輸入之一如何源自系統(tǒng)的最終輸出;在這種情況下,F(xiàn)BD 圖比梯形邏輯梯級的集合更容易閱讀。除了 AND 和 OR 塊之外,該圖還使用 SR 鎖存器、接通延遲計時器和類型轉(zhuǎn)換指令。
功能塊圖通常看起來像一個大型數(shù)字邏輯圖。重要的是要認識到,盡管功能塊圖出現(xiàn),但它總是被分解為 CPU 執(zhí)行的一組順序指令。相比之下,數(shù)字邏輯可以是組合的或順序的,兩個不相關(guān)的邏輯塊總是同時運行并且可以具有不同的時鐘速度。
其他 PLC 語言
順序功能圖 (SFC)、結(jié)構(gòu)化文本 (ST) 和指令列表 (IL) 不如 FBD 常見,但它們在某些應(yīng)用中很有價值,并在許多工業(yè)系統(tǒng)中使用。
證監(jiān)會
SFC 是一種圖形語言,其中圖表被分解為一系列步驟和轉(zhuǎn)換。這些步驟對數(shù)據(jù)和 I/O 執(zhí)行操作,而轉(zhuǎn)換充當(dāng)控制程序從一個步驟流到另一個步驟的條件語句。SFC 最能發(fā)揮作用的地方之一是批處理單元。在批次控制中,成分是一種一種添加,然后對這些成分執(zhí)行操作。這就像按照烹飪食譜做的那樣,配料被攪拌、泵送和反應(yīng),而不是混合、倒出和烘烤。
英石
其他兩種語言對于有編程背景的人來說會更熟悉。結(jié)構(gòu)化文本是用于 PLC 的高級編程語言,很像 C 或 BASIC。代碼簡潔且模塊化,并且支持高級抽象。當(dāng)需要大量數(shù)學(xué)或數(shù)據(jù)操作時,通常使用 ST。嵌套的 if-else 塊、循環(huán)和數(shù)組通常過于繁瑣,無法進行圖形化編程。
指令清單
指令列表基本上是 PLC 的匯編代碼。它使用簡化的指令集,但具有熟悉的命令,如加載、存儲和跳轉(zhuǎn)。雖然 IL 非常高效,但它已被 IEC 棄用,并且不太可能在未來的 PLC 中實施。
-
plc
+關(guān)注
關(guān)注
5013文章
13317瀏覽量
463926 -
邏輯控制器
+關(guān)注
關(guān)注
0文章
41瀏覽量
9528
發(fā)布評論請先 登錄
相關(guān)推薦
評論