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

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

如何將心率傳感器連接到Avnet MT3620套件

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

如何將按鈕連接到Arduino板

評(píng)論