天天看點

S7-1200 Profinet 的診斷功能,診斷PN子產品組态情況

作者:wulu0514

S7-1200 作為 IO 控制器進行分布式 IO 裝置的通信診斷功能

本部分使用 CPU 1214C V4.4 和 ET200SP 的 PN 通信為例進行說明(DP通信同樣适用)。

硬體:

  1. CPU 1214C DC/DC/DC,V4.4,一台
  2. ET200SP 分布式 IO 站,PN 接口,兩套

軟體:

  1. TIA Portal V16

1. 使用 TIA Portal 建立項目

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

S7-1200 Profinet 的診斷功能,診斷PN子產品組态情況

圖 1 網絡視圖

注意:分布式 IO 為 PN 子站時,可在“網絡概覽”中可以檢視分布式 IO 的裝置編号。

2. 使用 DeviceStates 指令對分布式 IO 子站進行診斷

2.1 建立全局資料塊,用于存儲狀态資料

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

『注意』對于DP主站系統,相關的診斷功能與PROFINET系統類似。隻是需要使用DP系統相容的變量,例如建立128個元素的 Array of BOOL 數組,用于存儲DP站的狀态,類似情況下文不再贅述。

S7-1200 Profinet 的診斷功能,診斷PN子產品組态情況

圖 2 建立全局資料塊

2.2 程式設計

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

S7-1200 Profinet 的診斷功能,診斷PN子產品組态情況

圖 3 調用 DeviceStates 指令

本例中選擇PN IO系統硬體辨別符,并将 MODE 設定為2,STATE 填寫上述定義的全局資料塊數組。如圖 4 所示。

S7-1200 Profinet 的診斷功能,診斷PN子產品組态情況

圖 4 填寫相應的引腳

表 1 DeviceStates 指令引腳說明

參數 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 位

2.3 測試

将程式下載下傳到 PLC 中。

監控全局資料塊 devicestate。如圖 5 所示。

S7-1200 Profinet 的診斷功能,診斷PN子產品組态情況

圖 5 IO 系統正常

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

S7-1200 Profinet 的診斷功能,診斷PN子產品組态情況

圖 6 IO device_2 故障

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

S7-1200 Profinet 的診斷功能,診斷PN子產品組态情況

圖 7 IO device_1 和 IO device_2 故障

3. 使用 ModuleStates 指令對分布式 IO 子子產品進行診斷

3.1 建立全局資料塊,用于存儲狀态資料

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

S7-1200 Profinet 的診斷功能,診斷PN子產品組态情況

圖 8 建立全局資料塊

3.2 程式設計

在 OB1 中調用 ModuleStates 指令,輕按兩下 LADDR 引腳,選擇需要診斷的分布式 IO 站。如圖 9 所示。

S7-1200 Profinet 的診斷功能,診斷PN子產品組态情況

圖 9 調用 ModuleStates 指令

本例中選擇PN IO裝置硬體辨別符,并将 MODE 設定為2,STATE 填寫上述定義的全局資料塊數組。如圖 10 所示。

S7-1200 Profinet 的診斷功能,診斷PN子產品組态情況

圖 10 填寫相應的引腳

表 2 ModuleStates指令引腳說明

參數 LADDR

使用 LADDR 參數通過站硬體辨別符選擇 IO 裝置或 DP 從站。

硬體辨別符位于:

  • IO 裝置站或 DP 從站屬性的網絡視圖中。
  • 或資料類型為 HW_DEVICE(對于 IO 裝置)或 HW_DPSLAVE(對于 DP 從站)的所列系統常量的 PLC 變量表中。
參數 MODE 使用 MODE 參數可讀取狀态資訊。 可讀取子產品的下列一條狀态資訊:
  • 1: 子產品已組态
  • 2: 子產品故障
  • 3: 子產品禁用
  • 4: 子產品存在
  • 5: 子產品中存在故障。
參數 STATE

STATE 參數輸出使用 MODE 參數選擇的子產品狀态。

如果使用 MODE 選擇的狀态适用于某個子產品,那麼下列位将設定為“1”:

  • 位 0 = 1: 組顯示。 至少一個子產品的第 n 位設定為“1”。
  • 位 n = 1:使用 MODE 選擇的狀态将應用到插槽 n-1(例如:位 3 對應插槽 2)中的子產品。
使用“BOOL”或“Array of BOOL”作為資料類型:
  • 要僅輸出狀态資訊的組顯示位,可在 STATE 參數中使用 BOOL 資料類型。
  • 要輸出所有子產品的狀态資訊,請使用長度為 128 位的 Array of BOOL。

3.3 測試

将程式下載下傳到 PLC 中。

監控全局資料塊 modulestate。如圖 11 所示。

S7-1200 Profinet 的診斷功能,診斷PN子產品組态情況

圖 11 分布式 IO 站所有子子產品正常

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

S7-1200 Profinet 的診斷功能,診斷PN子產品組态情況

圖 12 插槽編号1子子產品故障

S7-1200 做為智能裝置進行與 IO 控制器的通信診斷功能

本部分使用 CPU 1215FC V4.4 (智能裝置)和 CPU 1217C V4.5 (IO 控制器)PN 通信為例進行說明

硬體:

  1. CPU 1217C DC/DC/DC,V4.5,一台
  2. CPU 1215FC DC/DC/DC,V4.4,一台

軟體:

  1. TIA Portal V17

1. 組态配置

1.1 組态概覽

CPU 1215FC 做為智能裝置,連接配接到 IO 控制器 CPU 1217C,如圖 13 所示。

S7-1200 Profinet 的診斷功能,診斷PN子產品組态情況

圖 13 組态概覽

1.2 智能裝置配置

本示例中,CPU 1215FC 配置了兩個傳輸區,如圖 14 所示。

S7-1200 Profinet 的診斷功能,診斷PN子產品組态情況

圖 14 智能裝置設定

2. 編寫PLC程式,調用診斷塊

2.1 指令位置

可以使用 ModuleStates 指令,确認智能裝置的連接配接狀态,功能塊位于“擴充指令-診斷”中,如圖 15 所示。

S7-1200 Profinet 的診斷功能,診斷PN子產品組态情況

圖 15 ModuleStates 指令位置

2.2 建立用于接收狀态的 DB 變量

資料類型為 Bool 數組 (Array[0..127] of Bool) ,如圖 16 所示:

S7-1200 Profinet 的診斷功能,診斷PN子產品組态情況

圖 16 用于接收狀态的 DB 變量

2.3 調用 ModuleStates 指令

指令在OB1中調用,其中 LADDR 使用的系統常數,如圖 17 所示。

S7-1200 Profinet 的診斷功能,診斷PN子產品組态情況

圖 17 硬體辨別符

程式中,STATE 使用圖 16 建立的數組,MODE 設定為 2,調用如圖 18 所示。

S7-1200 Profinet 的診斷功能,診斷PN子產品組态情況

圖 18 調用指令

指令管腳說明參見表 2。

3. 診斷

當智能裝置與 IO 控制器網絡斷開以後,如圖 19 所示。

S7-1200 Profinet 的診斷功能,診斷PN子產品組态情況

圖 19 斷開網絡

從智能裝置的接收狀态 DB 中讀取到狀态位 0 以及狀态位 2 均為"TRUE",說明與 IO 控制器的通信中斷,如圖 20 所示。

S7-1200 Profinet 的診斷功能,診斷PN子產品組态情況

圖 20 讀取到的狀态

注:以上文章來自西門子官網,本人因組态需要找了好久親試好用,分享下吧。

繼續閱讀