S7-1200 作為 IO 控制器進行分布式 IO 裝置的通信診斷功能
本部分使用 CPU 1214C V4.4 和 ET200SP 的 PN 通信為例進行說明(DP通信同樣适用)。
硬體:
- CPU 1214C DC/DC/DC,V4.4,一台
- ET200SP 分布式 IO 站,PN 接口,兩套
軟體:
- TIA Portal V16
1. 使用 TIA Portal 建立項目
使用 TIA Portal 建立一個新項目,正确配置,下載下傳後,進入網絡視圖,所有站點狀态正常。如圖 1 所示。
圖 1 網絡視圖
注意:分布式 IO 為 PN 子站時,可在“網絡概覽”中可以檢視分布式 IO 的裝置編号。
2. 使用 DeviceStates 指令對分布式 IO 子站進行診斷
2.1 建立全局資料塊,用于存儲狀态資料
在全局資料塊中建立資料類型為 Array of BOOL 數組,共計1024個元素,如圖 2 所示。
『注意』對于DP主站系統,相關的診斷功能與PROFINET系統類似。隻是需要使用DP系統相容的變量,例如建立128個元素的 Array of BOOL 數組,用于存儲DP站的狀态,類似情況下文不再贅述。
圖 2 建立全局資料塊
2.2 程式設計
在 OB1 中調用 DeviceStates 指令,輕按兩下 LADDR 引腳,選擇需要診斷的 IO 系統,如圖 3 所示。
圖 3 調用 DeviceStates 指令
本例中選擇PN IO系統硬體辨別符,并将 MODE 設定為2,STATE 填寫上述定義的全局資料塊數組。如圖 4 所示。
圖 4 填寫相應的引腳
表 1 DeviceStates 指令引腳說明
參數 LADDR | 使用 LADDR 參數通過硬體辨別符選擇 PROFINET IO 或 DP 主站系統。 硬體辨別符位于:
|
參數 MODE | 使用 MODE 參數可讀取狀态資訊。 可讀取整個 PROFINET IO 或 DP 主站系統的下列一條狀态資訊:
|
參數 STATE | 通過 STATE 參數,輸出由 MODE 參數選擇的 IO 裝置/DP 從站的狀态。 如果使用 MODE 選擇的狀态适用于 IO 裝置/DP 從站,則在 STATE 參數中将下列位設定為“1”:
|
2.3 測試
将程式下載下傳到 PLC 中。
監控全局資料塊 devicestate。如圖 5 所示。
圖 5 IO 系統正常
當 IO device_2 故障時(掉電或網線拔除導緻丢站),state[2]=1。如圖 6 所示。
圖 6 IO device_2 故障
當 IO device_1 和 IO device_2 故障時(掉電或網線拔除導緻丢站),state[1]=1 和 state[2]=1。如圖 7 所示。
圖 7 IO device_1 和 IO device_2 故障
3. 使用 ModuleStates 指令對分布式 IO 子子產品進行診斷
3.1 建立全局資料塊,用于存儲狀态資料
在全局資料塊中建立資料類型為 Array of BOOL 數組,共計128個元素。 如圖 8 所示。
圖 8 建立全局資料塊
3.2 程式設計
在 OB1 中調用 ModuleStates 指令,輕按兩下 LADDR 引腳,選擇需要診斷的分布式 IO 站。如圖 9 所示。
圖 9 調用 ModuleStates 指令
本例中選擇PN IO裝置硬體辨別符,并将 MODE 設定為2,STATE 填寫上述定義的全局資料塊數組。如圖 10 所示。
圖 10 填寫相應的引腳
表 2 ModuleStates指令引腳說明
參數 LADDR | 使用 LADDR 參數通過站硬體辨別符選擇 IO 裝置或 DP 從站。 硬體辨別符位于:
|
參數 MODE | 使用 MODE 參數可讀取狀态資訊。 可讀取子產品的下列一條狀态資訊:
|
參數 STATE | STATE 參數輸出使用 MODE 參數選擇的子產品狀态。 如果使用 MODE 選擇的狀态适用于某個子產品,那麼下列位将設定為“1”:
|
3.3 測試
将程式下載下傳到 PLC 中。
監控全局資料塊 modulestate。如圖 11 所示。
圖 11 分布式 IO 站所有子子產品正常
當 IO device_1 站插槽編号1的子子產品故障時(損壞或被拔除),state[2]=1。如圖 12 所示。
圖 12 插槽編号1子子產品故障
S7-1200 做為智能裝置進行與 IO 控制器的通信診斷功能
本部分使用 CPU 1215FC V4.4 (智能裝置)和 CPU 1217C V4.5 (IO 控制器)PN 通信為例進行說明
硬體:
- CPU 1217C DC/DC/DC,V4.5,一台
- CPU 1215FC DC/DC/DC,V4.4,一台
軟體:
- TIA Portal V17
1. 組态配置
1.1 組态概覽
CPU 1215FC 做為智能裝置,連接配接到 IO 控制器 CPU 1217C,如圖 13 所示。
圖 13 組态概覽
1.2 智能裝置配置
本示例中,CPU 1215FC 配置了兩個傳輸區,如圖 14 所示。
圖 14 智能裝置設定
2. 編寫PLC程式,調用診斷塊
2.1 指令位置
可以使用 ModuleStates 指令,确認智能裝置的連接配接狀态,功能塊位于“擴充指令-診斷”中,如圖 15 所示。
圖 15 ModuleStates 指令位置
2.2 建立用于接收狀态的 DB 變量
資料類型為 Bool 數組 (Array[0..127] of Bool) ,如圖 16 所示:
圖 16 用于接收狀态的 DB 變量
2.3 調用 ModuleStates 指令
指令在OB1中調用,其中 LADDR 使用的系統常數,如圖 17 所示。
圖 17 硬體辨別符
程式中,STATE 使用圖 16 建立的數組,MODE 設定為 2,調用如圖 18 所示。
圖 18 調用指令
指令管腳說明參見表 2。
3. 診斷
當智能裝置與 IO 控制器網絡斷開以後,如圖 19 所示。
圖 19 斷開網絡
從智能裝置的接收狀态 DB 中讀取到狀态位 0 以及狀态位 2 均為"TRUE",說明與 IO 控制器的通信中斷,如圖 20 所示。
圖 20 讀取到的狀态
注:以上文章來自西門子官網,本人因組态需要找了好久親試好用,分享下吧。