#工業自動化##頭條文章發文任務##在頭條看見彼此#
哪種 PLC 編程語言最好學?
雖然提出這個問題的工程師想要一個明確的答案,但唯一正確的答案是它取決于下文。
在很多方面,這就像問工具箱中最好的工具是什么。就像工具箱中的工具一樣,每種PLC 編程語言的存在都有其原因,并且適合特定的應用。
讓我們更難回答這個問題的是,不同的編程語言在某些國家和行業比其他國家和行業更受歡迎。
因此,最適合您學習的 PLC 編程語言可能會有所不同,具體取決于您工作環境以及您感興趣的行業。
在本文中,我將解釋 5 種IEC 61131-3 編程語言的主要功能及其優缺點以及它們的用途,以幫助您決定首先關注哪種 PLC 編程語言。

如果您不熟悉,IEC 61131-3 是定義所有 PLC 編程語言的標準。
請記住,要成為一名完整的 PLC 程序員,您應該能夠使用所有可用的工具。
這意味著您應該精通使用任何主要 PLC 編程語言編寫邏輯,以便您始終可以針對特定應用使用最佳語言。
我們先來談談梯形圖(LD)。
梯形圖 (LD)
梯形圖(LD)是最常用的 PLC 編程語言。它是一種高級圖形化編程語言,旨在易于閱讀和理解,以便于維護和故障排除。
梯形圖是許多PLC程序員都會學習的第一個PLC編程語言,因為大多數公司都希望聘請可以使用梯形圖進行編程的工程師。
在此代碼片段中,您可以看到梯形圖邏輯的示例。
每行代碼都是一個梯級,每個梯級都以電源軌(Power rail)開始。
梯級右側是稱為線圈的輸出指令(Output instruction),用于打開和關閉物理輸出。梯級左側是輸入指令(Input instruction),用于允許或阻止來自電源軌的邏輯流沿著梯級。
當從電源軌到線圈存在完整路徑時,輸出打開。

正如您所看到的,梯形圖的最大優點是它的圖形特性。即使您不是程序員,查看梯級并調試邏輯也非常容易。
梯形圖是一種用于復雜布爾邏輯的出色編程語言。
功能框圖 (FBD)
功能塊圖(FBD)是另一種用于 PLC 的圖形編程語言。
在功能塊圖中,功能塊放置在一張紙上并連接在一起。最終結果看起來與管道和儀表圖非常相似。
FBD 相對于 LD 的一大優點是,一個功能塊的輸出可以流入下一個功能塊或用作反饋,而無需使用中間變量。
此功能使 FBD 非常適合控制連續過程,其中模擬值不斷受到監控并調整輸出以將值保持在一定范圍內。
由于 FBD 與 PID 相似且能夠輕松控制連續過程,因此 FBD 通常用于過程工業。

在此示例中,您可以看到用于監控水箱液位的 FBD 片段。
在這種情況下,來自灌裝閥的模擬輸入被縮放至工程值。工程值被輸入到功能塊中,該功能塊將縮放值的數據類型轉換為整數數據類型。
然后將該值與預定義的設定點進行比較,以設置指示罐液位的標志。

FBD 非常適合連續過程控制,但對于計算罐液位等復雜的算術運算,結構化文本更合適。
結構化文本 (ST)
結構化文本(ST)是一種基于文本的 PLC 編程語言,深受熟悉 Python 等基于文本的編程語言的年輕 PLC 程序員的歡迎。
許多年長的工程師傾向于避免使用結構化文本,因為維護工程師更難理解和調試。
一般來說,ST 對于執行復雜的算術運算和循環數組等數據結構非常強大。
在這段 ST 片段中,我們根據每次掃描 POU 時添加到罐中的體積來計算罐的填充水平。

順序功能圖 (SFC)
順序功能圖(SFC)是一種類似流程圖的編程語言,用于構建流程的狀態機和排序器。
SFC 是一種非常容易設計的語言。您可以為過程支持的每種狀態創建一個塊,對機器處于每種狀態時執行的操作以及從一種狀態轉換到另一種狀態所需的條件進行編程。其他。
正如您可以想象的那樣,SFC 在運行時也很容易監視和調試,因為您可以準確地看到什么狀態是活動的以及必須滿足哪些條件才能轉換到下一個狀態。
SFC 僅適用于定義高級狀態機和定序器。
在大多數平臺中,步驟處于活動狀態時執行的操作都是用 ST 編寫的,許多程序員將調用用另一種編程語言(如 LD 或 FBD)編寫的 POU 來管理步驟處于活動狀態時發生的操作。
在 SFC 的這段代碼中,我們控制一個連續填充和清空水箱的定序器。
當儲罐填充或排空時,操作是打開和關閉閥門,從一個步驟移動到另一步驟的條件取決于儲罐的液位或操作員采取的操作。

指令表(IL)
最后,指令表(IL)是一種過時的編程語言,與匯編語言非常相似。
如果您從事維護工作,您可能會遇到指令列表,但大多數制造商的建議是不要在新項目中使用指令列表。

結束語
在本文中,我解釋了 IEC 61131-3 PLC 編程語言的優點和缺點以及每種編程語言的最佳應用場合。
哪種語言最適合 PLC 編程?在恰當的場合使用合適的編程語言才是正解。