大多數控制系統入門級培訓包括可編程邏輯控制器 (PLC) —梯形圖編程、接線輸入和輸出,以及標簽數據庫和各種數據類型。人機界面 (HMI)編程是 PLC 知識之上的一個層次,但了解各種 PLC 中的那些標簽數據庫可以簡化 HMI 設計過程。
在我自己的控制系統設置中,我最喜歡的“實驗”項目之一是找到一個新設備并弄清楚如何將它連接到一個更大的系統中。顯然,這些設備來自各種各樣的供應商,并且都必須協同工作。
大多數常見的觸摸屏HMI 專為此類應用而設計,允許多個系統同時操作并在中央操作員屏幕上顯示數據。
圖 1.多個 PLC 與單個 HMI 聯網
對 HMI 進行編程涉及兩個主要組件。首先,也許是最關鍵的,是理解圖形對象,例如按鈕、數字和文本輸入字段、圖形數據顯示等。遵循此步驟的在線教程通常相當簡單。
另一個步驟是我們可能稱之為“幕后”的步驟,屏幕上的對象實際讀取或操作 PLC 內部的標簽。這可能不是那么簡單,因為每個 PLC 都有不同的標簽數據庫結構。
HMI 數據類型
每個 PLC 都可以訪問主要的“原子”數據類型,但它們的外觀可能不同。
從布爾值或 BOOL 類型開始。這是單個位,通常是內部狀態,可能是定時器或計數器終止位,或輸入/輸出標簽。
離散數據類型只是一個布爾值,不需要控制器進一步尋址。如果這個 bool 被稱為“Temp_Alarm_Status”,它只能是 ON 或 OFF。但是,任何整數也可以描述布爾數據位。在這種情況下,我們不僅必須指定整數的名稱(或內存位置),而且還必須指定整數的哪些位是必需的。
盡管每個整數都可以分解為其組成位,但并非所有整數都應以這種方式使用。考慮這種差異的一種方法是整數是否代表一個值,例如模擬溫度或壓力。如果是這樣,則沒有理由在其布爾組件中使用此整數。但是,如果整數是一串離散的信息位,例如來自網絡連接的數據,或者由許多布爾值組成的 I/O 模塊,那么考慮每個離散位的重要性是有意義的。
圖 2.在 HMI 軟件(左)中定義的名為“Current_Temp”的 32 位 DINT,在 RSLogix 控制器標簽中定義類似(右)
浮點(實數)和字符(字符串)值不能表示為單獨的位。盡管它們在技術上是由 32 位或 8 位構成的,但它們不再將每個位用作單獨的二進制位值,就像在整數中一樣。不會從這些數據類型的布爾值中提取任何有意義的信息。
自然地,這些整數、浮點數和字符串在 HMI 程序中隨處使用,貢獻值。
PLC 通信注意事項
在一篇文章的范圍內,我無法為每個 HMI 環境和每個主題 PLC 提供教程。但是,無論您使用哪種軟件,都有許多類似的注意事項。
第一:通訊協議。HMI 設計有各種各樣的網絡接口——標準是以太網、RS-232 或 RS-485,但通常帶有用于其他幾個的適配器。您必須能夠選擇自己的 PLC 并了解其網絡連接協議。最后,大多數屏幕都限制了同時連接的數量,但它們通常允許不止一個。
目標 PLC 將使用各種方法描述其標簽。標簽(在 PLC 中創建的變量)存儲在編號的寄存器地址中,并且可能是該寄存器中的單個位。一些 PLC 品種要求您知道這個特定的地址編號。
西門子就是一個例子。要指向單個布爾值,您需要指定輸入、輸出或內存,然后是寄存器地址(可能是 15),然后是該寄存器中的位(如 3)。在本例中,布爾值為 M15.3。整數不包括位本身,因此它可能只是 M15。
某些 PLC 可能具有為每個新創建的標簽分配數值的有序方法。它們可能都有一個前綴來表示數據類型。此類結構的一個示例來自Automation Direct Productivity PLC系列,其中第一個創建的布爾值將是 C-000001(C 是布爾值的指示符)。一個 32 位整數可能是 S32-000001 等。
在 Allen Bradley Compact/ControlLogix 體系結構中,結構是按標簽名稱。用戶創建的每個標簽都有一個唯一的名稱,而不是一個數字。這可以簡化流程,只要 PLC 設計者為標簽分配邏輯名稱。圖 2 說明了這種標簽名稱方法的一個示例。
-
plc
+關注
關注
5010文章
13271瀏覽量
463057 -
編程
+關注
關注
88文章
3614瀏覽量
93686 -
HMI
+關注
關注
9文章
587瀏覽量
48539
發布評論請先 登錄
相關推薦
評論