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

AN5027_如何將PDM數(shù)字麥克風(fēng)連接到STM32單片機(jī)

如何將DHT11連接到Arduino并提供示例代碼

如何將Arduino以太網(wǎng)連接到物聯(lián)網(wǎng)云

如何將按鈕連接到Arduino板

評論