S7-1200 作為 IO 控制器進行分布式 IO 設備的通信診斷功能
本部分使用 CPU 1214C V4.4 和 ET200SP 的 PN 通信為例進行說明(DP通信同樣適用)。
硬件:
軟件:
-
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 從站的狀態。
使用“BOOL”或“Array of BOOL”作為數據類型:
|
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 參數選擇的模塊狀態。
使用“BOOL”或“Array of BOOL”作為數據類型:
|
3.3 測試
將程序下載到 PLC 中。
監控全局數據塊 modulestate。如圖 11 所示。
圖 11 分布式 IO 站所有子模塊正常
當 IO device_1 站插槽編號1的子模塊故障時(損壞或被拔除),state[2]=1。如圖 12 所示。
圖 12 插槽編號1子模塊故障
-
控制器
+關注
關注
112文章
16448瀏覽量
179483 -
cpu
+關注
關注
68文章
10905瀏覽量
213034 -
S7-1200
+關注
關注
11文章
331瀏覽量
18074
原文標題:S7-1200 作為 IO 控制器進行分布式 IO 設備的通信診斷功能
文章出處:【微信號:cqspkjrobot,微信公眾號:重慶機器人】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論