0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

DeviceStates讀取IO系統(tǒng)的模塊狀態(tài)信息

機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 來源:機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 2023-05-16 09:24 ? 次閱讀

例如:

#RetValue_konfiguriert := DeviceStates(LADDR := "Local~PROFINET_IO-System", MODE := 1, STATE := #State_konfiguriert);

#RetValue_stoerung := DeviceStates(LADDR := "Local~PROFINET_IO-System", MODE := 2, STATE := #State_stoerung);

#RetValue_deaktiviert := DeviceStates(LADDR := "Local~PROFINET_IO-System", MODE := 3, STATE := "DB_ARG".State_deaktiviert);

#RetValue_vorhanden := DeviceStates(LADDR := "Local~PROFINET_IO-System", MODE := 4, STATE := #State_vorhanden);

#RetValue_wartung := DeviceStates(LAD:= "Local~PROFINET_IO-System", MODE := 5, STATE := #State_wartung);

指令“DeviceStates”用于查詢 IO 系統(tǒng)中所有模塊的特定狀態(tài)信息,即:

PROFINET IO 系統(tǒng)中所有 IO 設(shè)備的狀態(tài)信息

或 DP 主站系統(tǒng)中所有 DP 從站的狀態(tài)信息

輸出的布爾值指示所選狀態(tài)適用于的模塊。例如,讀取當(dāng)前 PROFINET IO 系統(tǒng)中禁用的 IO 設(shè)備。

此信息的顯示還依賴于要讀取的狀態(tài)信息是否適用于至少一個(gè) IO 設(shè)備或 DP 從站。可在循環(huán) OB 以及中斷 OB(例如,OB82 - 診斷中斷)中調(diào)用此指令。

LADDR Input HW_IOSYSTEM PROFINET IO 或 DP 主站系統(tǒng)的硬件標(biāo)識(shí)符
MODE Input UINT 選擇要讀取的狀態(tài)信息
RET_VAL Return INT 指令的狀態(tài)
STATE InOut VARIANT IO 設(shè)備或 DP 從站的狀態(tài)緩沖區(qū)

參數(shù) LADDR

使用 LADDR 參數(shù)通過硬件標(biāo)識(shí)符選擇 PROFINET IO 或 DP 主站系統(tǒng)。

6770da40-f36b-11ed-90ce-dac502259ad0.png

硬件標(biāo)識(shí)符位于:

PROFINET IO 或 DP 主站系統(tǒng)屬性的網(wǎng)絡(luò)視圖中。

或數(shù)據(jù)類型為 HW_IOSYSTEM 的所列系統(tǒng)常量的 PLC 變量表中。

參數(shù) MODE

使用 MODE 參數(shù)可讀取狀態(tài)信息??勺x取整個(gè) PROFINET IO 或 DP 主站系統(tǒng)的下列一條狀態(tài)信息:

1:IO 設(shè)備/DP 從站已組態(tài)

2:IO 設(shè)備/DP 從站故障

3:IO 設(shè)備/DP 從站已禁用

4:IO 設(shè)備/DP 從站存在

5:出現(xiàn)問題的 IO 設(shè)備/DP 從站。例如:

維護(hù)要求或建議

不可訪問

不可用

出現(xiàn)錯(cuò)誤

參數(shù) STATE

通過 STATE 參數(shù),輸出由 MODE 參數(shù)選擇的 IO 設(shè)備/DP 從站的狀態(tài)。

如果使用 MODE 選擇的狀態(tài)適用于 IO 設(shè)備/DP 從站,則在 STATE 參數(shù)中將下列位設(shè)置為“1”:

位 0 = 1:組顯示。至少有一個(gè) IO 設(shè)備/DP 從站的第 n 位設(shè)置為“1”。

位 n = 1:通過 MODE 選擇的狀態(tài)將應(yīng)用到 IO 設(shè)備/DP 從站。

對(duì)于 PROFINET IO 系統(tǒng),第 n 位對(duì)應(yīng)于相應(yīng) IO 設(shè)備的設(shè)備編號(hào)(請(qǐng)參見設(shè)備視圖和網(wǎng)絡(luò)視圖中的 PROFINET 接口屬性)。

對(duì)于 PROFINET DP 系統(tǒng),第 n 位對(duì)應(yīng)于 DP 從站的 PROFIBUS 地址(請(qǐng)參見設(shè)備視圖和網(wǎng)絡(luò)視圖中的 DP 從站屬性)。

使用“BOOL”或“Array of BOOL”作為數(shù)據(jù)類型:

要僅輸出狀態(tài)信息的組顯示位,可在 STATE 參數(shù)中使用 BOOL 數(shù)據(jù)類型。

要輸出所有 IO 設(shè)備/DP 從站的狀態(tài)信息,請(qǐng)使用下列長度的 Array of BOOL:

對(duì)于 PROFINET IO 系統(tǒng):1024 位

對(duì)于 DP 主站系統(tǒng):128 位

示例 - 讀取 PROFINET IO 主站系統(tǒng)中是否存在 IO 設(shè)備

在以下示例中,將在 IO 系統(tǒng)中查詢是否存在 IO 設(shè)備。該 IO 系統(tǒng)中包含兩個(gè) S7-1500 系列的 CPU?!癙LC_14”CPU 將包含程序,其中包括“DeviceStates”指令?!癙LC_13”CPU 將組態(tài)為一個(gè) IO 設(shè)備。

在“PLC_14”CPU 中:在全局?jǐn)?shù)據(jù)塊中創(chuàng)建三個(gè)變量和一個(gè)“mySTATE”結(jié)構(gòu)(數(shù)據(jù)類型為 Array of BOOL),用于存儲(chǔ)數(shù)據(jù)。

67c85112-f36b-11ed-90ce-dac502259ad0.png

在“PLC_14”CPU 中:在循環(huán) OB 中調(diào)用該指令?;ミB該指令的參數(shù),如下所示:

6827f090-f36b-11ed-90ce-dac502259ad0.png ?
在“PLC_13”CPU 中:使用 CPU 屬性將此 CPU“PLC_13”設(shè)為 IO 設(shè)備。IO 設(shè)備接收設(shè)備編號(hào) 1。

6869e7a2-f36b-11ed-90ce-dac502259ad0.png ?
IO 系統(tǒng)顯示在網(wǎng)絡(luò)視圖中。

68c35986-f36b-11ed-90ce-dac502259ad0.png

在“PLC_14”CPU 中:通過參數(shù) LADDR(“myLADDR”)使“DeviceStates”指令了解 IO 系統(tǒng)的硬件標(biāo)識(shí)符。

根據(jù)參數(shù) MODE(“myMODE”)的值“4”,在 IO 系統(tǒng)中搜索 IO 設(shè)備。

在參數(shù) STATE(“mySTATE”)中,輸出 IO 設(shè)備是否存在(基于參數(shù) MODE 的值)。位 0 作為組值,指示 IO 設(shè)備存在。位 1 指示存在設(shè)備編號(hào)為 1 的 IO 設(shè)備。

輸出參數(shù) RET_VAL(“returnValue”)用于指示處理無錯(cuò)誤。

68c35986-f36b-11ed-90ce-dac502259ad0.png

示例 - 讀取 PROFINET IO 主站系統(tǒng)中發(fā)生故障的站

在一個(gè) PROFINET IO 系統(tǒng)中,包含設(shè)備編號(hào)為 1、2、3 和 4 的 4 個(gè) IO 設(shè)備。其中,編號(hào)為 2 的 IO 設(shè)備故障。

對(duì)于 MODE = 2(故障/無故障)的 PROFINET IO 系統(tǒng),執(zhí)行“DeviceStates”指令。

在 STATE 參數(shù)中設(shè)置了下列位:

位 0 = 1:至少有一個(gè) IO 設(shè)備發(fā)生了故障。

位 1 = 0:設(shè)備編號(hào)為 1 的 IO 設(shè)備未發(fā)生故障。

位 2 = 1:設(shè)備編號(hào)為 2 的 IO 設(shè)備發(fā)生了故障。

位 3 = 0:設(shè)備編號(hào)為 3 的 IO 設(shè)備未發(fā)生故障。

位 4 = 0:設(shè)備編號(hào)為 4 的 IO 設(shè)備未發(fā)生故障。

位 5 = 0:不相關(guān)

位 6 = 0:不相關(guān)






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • plc
    plc
    +關(guān)注

    關(guān)注

    5011

    文章

    13299

    瀏覽量

    463434
  • Profinet
    +關(guān)注

    關(guān)注

    6

    文章

    1183

    瀏覽量

    23412

原文標(biāo)題:VASS06使用的新系統(tǒng)函數(shù):DeviceStates: 讀取 IO 系統(tǒng)的模塊狀態(tài)信息

文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STC的IO高阻模式讀取外部狀態(tài)是否和準(zhǔn)雙向IO一樣要先鎖存為1?

    STC的IO的高阻,的讀取外部狀態(tài)是否和準(zhǔn)雙向IO一樣要先鎖存為1?還是說即使高阻鎖存為0也可以讀取外部
    發(fā)表于 05-21 04:35

    怎樣通過ipmitool檢查電源模塊狀態(tài)

    1、通過ipmitool檢查電源模塊狀態(tài) :2、通過ipmitool獲取服務(wù)器各元件溫度信息 : 3、檢查電源模塊狀態(tài) :檢查電源模塊狀態(tài)/4、...
    發(fā)表于 12-27 06:21

    如何對(duì)GPIO IO口的狀態(tài)進(jìn)行讀取

    如何對(duì)GPIO IO口的狀態(tài)進(jìn)行讀取呢?有什么方法嗎?
    發(fā)表于 01-25 07:16

    機(jī)車狀態(tài)管理信息系統(tǒng)

    基于 PC-104模塊而開發(fā)的機(jī)車狀態(tài)管理信息系統(tǒng),可以在機(jī)車運(yùn)行過程中將各種狀態(tài)信息記錄下來,并在機(jī)車運(yùn)行結(jié)束后對(duì)此數(shù)據(jù)進(jìn)行轉(zhuǎn)儲(chǔ)、處理和分
    發(fā)表于 04-07 09:47 ?19次下載

    車載信息娛樂系統(tǒng)IO端口和電子模塊的電路保護(hù)注意事項(xiàng)

    車載信息娛樂系統(tǒng)IO端口和電子模塊的電路保護(hù)注意事項(xiàng)
    發(fā)表于 01-24 16:54 ?13次下載

    西門子S7-1500與分布式IO設(shè)備的診斷

    西門子S7-1500 CPU IO 設(shè)備的診斷功能(與1200完全相同),可使用 DeviceStates 和 ModuleStates 指令對(duì)分布式 IO 設(shè)備的站狀態(tài)和子
    發(fā)表于 02-11 17:27 ?1.1w次閱讀
    西門子S7-1500與分布式<b class='flag-5'>IO</b>設(shè)備的診斷

    使用DeviceStates指令對(duì)分布式IO子站進(jìn)行診斷

    S7-1200 CPU V2.1 開始支持分布式 IO 設(shè)備的診斷功能,可使用 DeviceStates 和 ModuleStates 指令對(duì)分布式 IO 設(shè)備的站狀態(tài)和子
    的頭像 發(fā)表于 03-23 10:15 ?1.5w次閱讀
    使用<b class='flag-5'>DeviceStates</b>指令對(duì)分布式<b class='flag-5'>IO</b>子站進(jìn)行診斷

    單片機(jī)檢測(cè)IO口高電平、低電平、懸空三種狀態(tài)

    單片機(jī)檢測(cè)IO口高電平、低電平、懸空三種狀態(tài)。步驟1:設(shè)置IO口為輸入上拉模式,讀取IO狀態(tài),
    發(fā)表于 12-23 19:16 ?42次下載
    單片機(jī)檢測(cè)<b class='flag-5'>IO</b>口高電平、低電平、懸空三種<b class='flag-5'>狀態(tài)</b>。

    使用ipmitool命令檢測(cè)電源模塊狀態(tài)

    1、通過ipmitool檢查電源模塊狀態(tài) :https://mp.weixin.qq.com/s/Z1g79Q1aMhOT9Xm9fvIkjg2、通過ipmitool獲取服務(wù)器各元件溫度信息
    發(fā)表于 01-05 14:25 ?2次下載
    使用ipmitool命令檢測(cè)電源<b class='flag-5'>模塊狀態(tài)</b>

    使用1200-GetStationInfo讀取PROFINET IO設(shè)備的IP地址

    GetStationInfo”指令讀取位于本地 IO 系統(tǒng)中 PROFINET IO 設(shè)備或下級(jí) IO
    的頭像 發(fā)表于 01-29 14:44 ?5964次閱讀

    TIA 讀取IO系統(tǒng)模塊狀態(tài)信息

    多個(gè)設(shè)備通信中,查詢系統(tǒng)中所有模塊的特定狀態(tài)信息。是否通信正常,故障時(shí)報(bào)警停機(jī),設(shè)備網(wǎng)絡(luò)視圖如下。
    的頭像 發(fā)表于 02-05 10:38 ?3437次閱讀

    PROFINET IO 設(shè)備讀取模塊狀態(tài)信息

    “ModuleStates”指令可用來讀取 PROFINET IO 設(shè)備或 PROFIBUS DP 從站的模塊狀態(tài)信息。
    的頭像 發(fā)表于 05-19 14:19 ?3905次閱讀
    PROFINET <b class='flag-5'>IO</b> 設(shè)備<b class='flag-5'>讀取</b><b class='flag-5'>模塊</b>的<b class='flag-5'>狀態(tài)</b><b class='flag-5'>信息</b>

    如何讀取 ET 200SP PROFINET IO 設(shè)備的站名稱

    “Get_Name”指令讀取 PROFINET IO 設(shè)備、PROFIBUS 從站或 AS-i slave 的名稱。設(shè)備名稱將顯示在網(wǎng)絡(luò)視圖和 IO 設(shè)備的屬性中。 1.STEP 7 會(huì)在插入指令
    的頭像 發(fā)表于 08-08 10:11 ?2020次閱讀
    如何<b class='flag-5'>讀取</b> ET 200SP PROFINET <b class='flag-5'>IO</b> 設(shè)備的站名稱

    程序中如何讀取安全F-IO模塊進(jìn)入鈍化狀態(tài)呢?

    在編譯硬件組態(tài)時(shí),安全系統(tǒng)會(huì)為每個(gè)F-IO模塊自動(dòng)創(chuàng)建一個(gè)F-IO DB。
    的頭像 發(fā)表于 10-17 10:05 ?925次閱讀
    程序中如何<b class='flag-5'>讀取</b>安全F-<b class='flag-5'>IO</b><b class='flag-5'>模塊</b>進(jìn)入鈍化<b class='flag-5'>狀態(tài)</b>呢?

    單片機(jī)io一般包含哪幾種狀態(tài)

    ) : 當(dāng)IO口處于輸入狀態(tài)時(shí),它可以接收外部信號(hào),并將這些信號(hào)傳遞給單片機(jī)的內(nèi)部電路進(jìn)行處理。這種狀態(tài)下,IO口主要用于讀取外部傳感器信號(hào)
    的頭像 發(fā)表于 09-14 14:35 ?707次閱讀