拓撲診斷
2.1.1 TIA 博途拓撲視圖
TIA 博途的拓撲視圖,可以通過組態期望的連接關系來為 PLC 提供拓撲檢查的功能。實際的網絡連接關系和組態的拓撲不一致,雖然不會影響通信的結果,但是 PLC 會產生響應的報警信息。
如下圖的例子,S7-1500 控制器連接了兩個分布式 I/O,設備名稱分別為 “io device_1” 的ET200MP和 “io device_2” 的ET200SP, “io device_2” 的P1接口應該連接到交換機的P3 口,如果連接錯誤了,PROFINET 雖然正常,但是通過 TIA 博途拓撲視圖在線和在線診斷功能,我們可以看到 ET200 SP 和交換機都產生了報警。
借助 TIA 博途的在線診斷,我們可以知道拓撲連接錯誤的故障,ET200SP 站點連接在了錯誤的接口上。但是在實際工程中,獲得的診斷信息也有幾點不足:
1) 診斷是借助 TIA 博途軟件,PLC 程序不能直接獲得狀態
2) 除了知道拓撲連接錯了,程序中能不能知道 ET200SP 當前連接到交換機的哪個接口呢?
為了實現這兩點要求,我們接下來看看 PLC 程序上該如何處理。
2.1.2 MAC 地址表
以太網數據在2層轉發,依靠的是設備的 MAC 地址,MAC 地址和設備端口的對應關系就是我們常說的 MAC 地址表,交換機轉發數據就是依靠MAC 地址表。如下圖,通過檢查交換機的 MAC 地址表,我們可以知道了設備名 “io device_2” 的設備按照設計應該連接在交換機 P3 口,但是此時錯誤的出現在了 P6 口上。
因此,如果在 PLC 程序中能夠獲得交換機的 MAC 地址表信息,就可以知道哪個設備接錯了,而且還可以知道實際接到了哪個接口上。借助 SNMP 的程序塊,CPU 可以獲得所有這些信息,只需要知道查詢 MAC 地址表的OID 即可。
2.1.3 SIMATIC PLC SNMP 獲得拓撲連接信息
交換機等網絡設備的 MAC地址表,已經在通用的 MIB-2 規范中定義了,其中 MAC 地址對應的端口號的根 OID 為1.3.6.1.2.1.17.7.1.2.2.1.2。
如果需要查詢具體的 MAC 地址對應的端口號,需要在 OID 的Zui后增加需要查詢設備 VLAN 和 MAC 地址 (如下圖,紅色的 “1”表示查詢的交換機的 VLAN1;藍色部分表示需要查詢的設備 MAC 地址。注意,OID 中的MAC地址需要將實際 MAC 地址轉換為十進制數,例如上面列出的 io device_2,MAC地址:28-63-36-8b-da-7d→40.99.54.139.218.125),因此Zui終的 OID 如下。
“io device_1” MAC地址端口 OID:1.3.6.1.2.1.17.7.1.2.2.1.2.1.40.99.54.139.218.125
“io device_2” MAC地址端口 OID:1.3.6.1.2.1.17.7.1.2.2.1.2.1.0.27.27.33.9.205
程序上,我們分別調用兩個“LSNMP_GET” 指令,來查詢交換機的 MAC 地址表,分別讀取兩個分布式設備的 MAC 地址連接在交換機的哪個端口。返回的數據會存儲在 “varBinding” 定義好的 DB 中。
通過在狀態表中監控獲得的數據,可以看到 io device_1 連接在交換機的P2 口,和拓撲組態一致;io device_2 連接在交換機的 P6 口,因此和組態的拓撲不一致。這樣,通過程序的處理,我們不僅很容易知道哪個設備連錯了,而且這個設備當前連接在哪里也能夠知道了。
在實際工程中,我們也對程序塊做了重新的封裝,方便Zui終的應用,如下圖,我們簡單的輸入交換機的 IP 地址和需要查詢的設備的 MAC 地址,這個 MAC 地址在交換機的哪個端口就可以一目了然看到了。
2.1.4 SIMATIC PLC SNMP 批量處理
按照我們上面的介紹,如果我們需要查詢的設備 MAC 比較多,就需要調用大量的 “LSNMP_GET “ 指令,那有沒有辦法通過一個指令就獲得交換機的所有 MAC 地址表信息呢?
SIMATIC PLC SNMP 的指令塊還提供了批處理的指令 “LSNMP_GetBulk” ,通過這個指令可以一鍵讀取一定范圍的 OID,如下圖,我們輸入 MAC 地址表的根 OID,“maxRepetitions” 表示查詢從根 OID 開始的數量(我們這里讀取5條,注意讀取的數量不能超過當前交換機 MAC 地址表的Zui大條目數)
輸出的結果保存在 “varBindings” 定義的數據塊類型中,如下圖,通過OID 字符串的后六個字節,可以知道是哪個設備的 MAC 地址,程序上我們做一下簡單的梳理,整個交換機的 MAC 地址表都可以存儲在 PLC 的 DB 中了。
- 【暢學技術】西門子工業常用軟件訂貨號信息鏈接匯總(2024.03更新) 2024-12-05
- 西門子PLC中的三種報警方式 2024-12-05
- 一文讀懂S120功能圖--SINAMICS S120功能圖閱讀指南 2024-12-05
- PLC自動步程序的7種編程方法 2024-12-05
- 淺談IO映射(附西門子幾種常用的IO映射方法) 2024-12-05
- 談談PLC程序中的報警程序作用和設計 2024-12-05
- 西門子PLC IO/DB信號映射FC塊封裝和分享 2024-12-05
- 西門子PLC程序設計摘錄-編程規則 2024-12-05
- PLC標準化編程的技術架構的思考與分享 2024-12-05
- 伺服基礎介紹 2024-12-05
- 博圖中的定時器你真的會用嗎?關于西門子PLC編程軟件TIA中使用IEC定時器的陷阱 2024-12-05
- SIMATIC S7-1500 PLC數據類型之系統數據類型介紹 2024-12-05
- SIMATIC S7-1500 PLC 控制系統的硬件組成之負載電源與系統電源介紹 2024-12-05
- 西門子S7-1200 PLC與KTP700觸摸屏創建配方設置實例 2024-12-05
- 西門子S7-1200PLC的HSC高速計數器應用實例 2024-12-05
聯系方式
- 電 話:13922889745
- 經理:向小姐
- 手 機:18475208684
- 微 信:18475208684