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

評論