“ModuleStates”指令可用來讀取 PROFINET IO 設備或 PROFIBUS DP 從站的模塊狀態(tài)信息。
輸出的布爾值指示所選狀態(tài)適用于的模塊。例如,可以讀取 PROFINET IO 設備中當前禁用的模塊。
此信息的顯示還依賴于要讀取的狀態(tài)信息是否適用于至少一個模塊。
可在循環(huán) OB 以及中斷 OB(例如,OB82 - 診斷中斷)中調用此指令。
LADDR | Input | HW_DEVICE | 站的硬件標識符 |
MODE | Input | UINT | 選擇要讀取的模塊狀態(tài)信息 |
RET_VAL | Return | INT | 指令的狀態(tài) |
STATE | InOut | VARIANT | 模塊狀態(tài)緩沖區(qū) |
參數(shù) LADDR
使用 LADDR 參數(shù)通過站硬件標識符選擇 IO 設備或 DP 從站。
硬件標識符位于:
IO 設備站或 DP 從站屬性的網絡視圖中。
或數(shù)據(jù)類型為 HW_DEVICE(對于 IO 設備)或 HW_DPSLAVE(對于 DP 從站)的所列系統(tǒng)常量的 PLC 變量表中。
參數(shù) MODE
使用 MODE 參數(shù)可讀取狀態(tài)信息。可讀取模塊的下列一條狀態(tài)信息:
1:模塊已組態(tài)
2:模塊故障
3:模塊禁用
4:模塊存在
5:模塊中存在故障。例如:
維護要求或建議
不可訪問
不可用
出現(xiàn)錯誤
參數(shù) STATE
STATE 參數(shù)輸出使用 MODE 參數(shù)選擇的模塊狀態(tài)。
如果使用 MODE 選擇的狀態(tài)適用于某個模塊,那么下列位將設置為“1”:
位 0 = 1:組顯示。至少一個模塊的第 n 位設置為“1”。
位 n = 1:使用 MODE 選擇的狀態(tài)將應用到插槽 n-1(例如:位 3 對應插槽 2)中的模塊。
使用“BOOL”或“Array of BOOL”作為數(shù)據(jù)類型:
如果要只輸出狀態(tài)信息的組顯示位,則可在 STATE 參數(shù)中使用 BOOL 數(shù)據(jù)類型。
要輸出所有模塊的狀態(tài)信息,請使用長度為 128 位的 Array of BOOL。
示例:
在以下示例中,查詢 PROFINET IO 設備的模塊是否存在。該 IO 系統(tǒng)中包含兩個 S7-1500 系列的 CPU。“PLC_14”CPU 將包含程序,其中包括“ModuleStates”指令?!癙LC_13”CPU 將組態(tài)為一個 IO 設備。
在“PLC_14”CPU 中:在全局數(shù)據(jù)塊中創(chuàng)建三個變量和一個“mySTATE”結構(數(shù)據(jù)類型為 Array of BOOL),用于存儲數(shù)據(jù)。
在“PLC_14”CPU 中:在循環(huán) OB 中調用該指令?;ミB該指令的參數(shù),如下所示:
在“PLC_13”CPU 中:使用 CPU 屬性將此 CPU“PLC_13”設為 IO 設備。
IO 系統(tǒng)顯示在網絡視圖中。
在“PLC_14”CPU 中:模塊位于 IO 設備的插槽 1 中。
在“PLC_14”CPU 中:通過參數(shù) LADDR(“myLADDR”)使“ModuleStates”指令了解 IO 設備的硬件標識符。根據(jù)參數(shù) MODE(“myMODE”)的值“4”,在 IO 設備中搜索模塊。
在參數(shù) STATE(“mySTATE”)中,輸出模塊備是否存在(基于參數(shù) MODE )的值。位 0 作為組值,指示模塊存在。位 2 指示插槽 1 中存在模塊。
輸出參數(shù) RET_VAL(“returnValue”)用于指示處理無錯誤。
示例
在一個 IO 設備中包含 4 個模塊,分別位于插槽 1 到 4 中。其中,插槽 2 中的模塊故障。
對于 MODE = 2(故障/無故障)的 IO 設備,執(zhí)行“ModuleStates”指令。
在 STATE 參數(shù)中設置了下列位:
位 0 = 1:至少有一個模塊發(fā)生了故障。
位 1 = 0:插槽編號 0(由 IO 設備使用)
位 2 = 0:插槽編號 1 中的模塊未發(fā)生故障。
位 3 = 1:插槽編號 2 中的模塊發(fā)生了故障。
位 4 = 0:插槽編號 3 中的模塊未發(fā)生故障。
位 5 = 0:插槽編號 4 中的模塊未發(fā)生故障。
位 6 = 0:不相關
位 7 = 0:不相關
-
模塊
+關注
關注
7文章
2725瀏覽量
47609 -
硬件
+關注
關注
11文章
3354瀏覽量
66335 -
Profinet
+關注
關注
6文章
1209瀏覽量
23489
原文標題:博途S7- 1500ModuleStates: 讀取模塊的模塊狀態(tài)信息
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論