S7-1200與分佈式IO設備的診斷功能

S7-1200 CPU V2.1 開始支持分佈式 IO 設備的診斷功能,可使用 DeviceStates 和 ModuleStates 指令對分佈式 IO 設備的站狀態和子模塊進行診斷。本文使用 1214C V4.0 CPU 和 ET200SP 的 PN 通信為例進行說明(DP通信同樣適用)。

硬件:

  1. CPU 1214C DC/DC/DC,V4.0,一臺
  2. ET200SP 分佈式 IO 站,PN 接口,兩套

軟件:

  1. TIA Portal V13 SP1 UPD2

使用 TIA Portal 創建項目

使用 TIA Portal 創建一個新項目,正確配置,下載後,進入網絡視圖,所有站點狀態正常。如圖 1 所示。

S7-1200與分佈式IO設備的診斷功能

圖 1 網絡視圖

注意:分佈式 IO 為 PN 子站時,可在“網絡概覽”中可以查看分佈式 IO 的設備編號。

1 使用 DeviceStates 指令對分佈式 IO 子站進行診斷

1-1 創建全局數據塊,用於存儲狀態數據

在全局數據塊中創建數據類型為 Array of BOOL 數組,共計1024個元素。 如圖 2 所示。

S7-1200與分佈式IO設備的診斷功能

圖 2 創建全局數據塊

1-2 編程

在 OB1 中調用 DeviceStates 指令,雙擊 LADDR 引腳,選擇需要診斷的 IO 系統。如圖 3 所示。

S7-1200與分佈式IO設備的診斷功能

圖 3 調用 DeviceStates 指令

本例中將 MODE 設置為2,STATE 填寫上述定義的全局數據塊數組。如圖 4 所示。

S7-1200與分佈式IO設備的診斷功能

圖 4 填寫相應的引腳

指令引腳說明:

參數 LADDR使用 LADDR 參數通過硬件標識符選擇 PROFINET IO 或 DP 主站系統。

硬件標識符位於:

  • PROFINET IO 或 DP 主站系統屬性的網絡視圖中。
  • 或數據類型為 HW_IOSYSTEM 的所列系統常量的 PLC 變量表中。

參數 MODE使用 MODE 參數可讀取狀態信息。 可讀取整個 PROFINET IO 或 DP 主站系統的下列一條狀態信息:

  • 1: IO 設備/DP 從站已組態
  • 2: IO 設備/DP 從站故障
  • 3: IO 設備/DP 從站已禁用
  • 4: IO 設備/DP 從站存在
  • 5: 出現問題的 IO 設備/DP 從站。

參數 STATE通過 STATE 參數,輸出由 MODE 參數選擇的 IO 設備/DP 從站的狀態。

如果使用 MODE 選擇的狀態適用於 IO 設備/DP 從站,則在 STATE 參數中將下列位設置為“1”:

  • 位 0 = 1: 組顯示。 至少有一個 IO 設備/DP 從站的第 n 位設置為“1”。
  • 位 n = 1:通過 MODE 選擇的狀態將應用到 IO 設備/DP 從站。
  • 對於 PROFINET IO 系統,第 n 位對應於相應 IO 設備的設備編號(請參見設備視圖和網絡視圖中的 PROFINET 接口屬性)。
  • 對於 PROFINET DP 系統,第 n 位對應於 DP 從站的 PROFIBUS 地址(請參見設備視圖和網絡視圖中的 DP 從站屬性)。
  • 使用“BOOL”或“Array of BOOL”作為數據類型:
  • 要僅輸出狀態信息的組顯示位,可在 STATE 參數中使用 BOOL 數據類型。
  • 要輸出所有 IO 設備/DP 從站的狀態信息,請使用下列長度的 Array of BOOL:
  • 對於 PROFINET IO 系統:1024 位
  • 對於 DP 主站系統:128 位

1-3 測試

將程序下載到 PLC 中。

監控全局數據塊 devicestate。如圖 5 所示。

S7-1200與分佈式IO設備的診斷功能

圖 5 IO 系統正常

當 IO device_2 故障時(掉電或網線拔除導致丟站),state[2]=1。如圖 6 所示。

S7-1200與分佈式IO設備的診斷功能

圖 6 IO device_2 故障

當 IO device_1 和 IO device_2 故障時(掉電或網線拔除導致丟站),state[1]=1 和 state[2]=1。如圖 7 所示。

S7-1200與分佈式IO設備的診斷功能

圖 7 IO device_1 和 IO device_2 故障

2 使用 ModuleStates 指令對分佈式 IO 子模塊進行診斷

2-1 創建全局數據塊,用於存儲狀態數據

在全局數據塊中創建數據類型為 Array of BOOL 數組,共計128個元素。 如圖 8 所示。

S7-1200與分佈式IO設備的診斷功能

圖 8 創建全局數據塊

2-2 編程

在 OB1 中調用 ModuleStates 指令,雙擊 LADDR 引腳,選擇需要診斷的分佈式 IO 站。如圖 9 所示。

S7-1200與分佈式IO設備的診斷功能

圖 9 調用 ModuleStates 指令

本例中將 MODE 設置為2,STATE 填寫上述定義的全局數據塊數組。如圖 10 所示。

S7-1200與分佈式IO設備的診斷功能

圖 10 填寫相應的引腳

指令引腳說明:

參數 LADDR使用 LADDR 參數通過站硬件標識符選擇 IO 設備或 DP 從站。

硬件標識符位於:

  • IO 設備站或 DP 從站屬性的網絡視圖中。
  • 或數據類型為 HW_DEVICE(對於 IO 設備)或 HW_DPSLAVE(對於 DP 從站)的所列系統常量的 PLC 變量表中。

參數 MODE使用 MODE 參數可讀取狀態信息。 可讀取模塊的下列一條狀態信息:

  • 1: 模塊已組態
  • 2: 模塊故障
  • 3: 模塊禁用
  • 4: 模塊存在
  • 5: 模塊中存在故障。

參數 STATESTATE 參數輸出使用 MODE 參數選擇的模塊狀態。

如果使用 MODE 選擇的狀態適用於某個模塊,那麼下列位將設置為“1”:

  • 位 0 = 1: 組顯示。 至少一個模塊的第 n 位設置為“1”。
  • 位 n = 1:使用 MODE 選擇的狀態將應用到插槽 n-1(例如:位 3 對應插槽 2)中的模塊。

使用“BOOL”或“Array of BOOL”作為數據類型:

  • 要僅輸出狀態信息的組顯示位,可在 STATE 參數中使用 BOOL 數據類型。
  • 要輸出所有模塊的狀態信息,請使用長度為 128 位的 Array of BOOL。

1-3 測試

將程序下載到 PLC 中。

監控全局數據塊 modulestate。如圖 11 所示。

S7-1200與分佈式IO設備的診斷功能

圖 11 分佈式 IO 站所有子模塊正常

當 IO device_1 站插槽編號1的子模塊故障時(損壞或被拔除),state[2]=1。如圖 12 所示。

S7-1200與分佈式IO設備的診斷功能

圖 12 插槽編號1子模塊故障


分享到:


相關文章: