今天我們開始故事07,而上一個故事06,似乎是很遙遠的事情,因為時間精力甚至內容都用于1847撰稿了,一直不知道如何繼續這個系列話題,正好Zui近在測試PROFINET啟動過程,因為有些概念與GSD文件關聯,這才發現GSD文件的強大,所以從GSD概念作為出發點,給大家稍稍總結一下這些關聯的知識點,希望大家從GSD的角度再從重新刷新對PROFINET的認識。
PROFINET系統啟動過程是基于UDP/IP進行交互的PNIO-CM協議,其中CM(Context-Management)表示上下關系管理,為系統啟動的核心協議,且可以歸納到RT_Class_UDP實時等級,完整的過程為:
Connect幀(57,133):建立一個AR和對應的CR。
Write幀(120,183): 參數化所有組態的子模塊。
DControl幀(190,239):控制器參數化結束。
CControl幀(248,255):IO設備的參數化結束。
控制器或監視器使用“Connect幀”建立連接,并傳輸建立AR和必要的CR所需的所有數據。其中包含了參數化數據以及順序、過程數據通信以及啟動的監視時間以及循環的I/O數據的傳輸頻率等等。
在“Connect.req”成功后,設備中的循環狀態機啟動,這是因為利用其監視通信關系。這意味著即使系統啟動仍未完成,不過IO設備“28:63:36:76:5e:41”已經開始向控制器“28:63:36:8f:8a:fe”傳遞過程數據(從序號58開始)。當Connect.res,則控制器開始向IO設備發送循環IO數據。然而,各個子槽的沒有通過Wirte幀被參數化,所以模塊名稱為“Unknown”,實時通信的協議標記為PNIO_PS(Problem Status),表示實時通信尚未建立。
此TIA Portal項目中的ET200SP的硬件組態中的每個Slot: 0~3中的module與上述報文中的Slot: 0x0~0x3號對應,而每個槽的子槽Sublot:0x1為過程數據(輸入或輸出)的實際接口,接口模塊的通信接口X1和兩個端口(X1P1/X1P2)的Sublot號分別為0x8000,0x8001,0x8002。
如果在“Connect.req”(序號73)期間發生錯誤,例如,期望的子模塊在設備中不存在(拔去2號槽的DO模塊),則設備將該狀態放在隨后的“Connect.res”中(序號110)。使用Bany重新捕捉此情形下的系統啟動報文,報文中的“ModuleDiffBlock”提示“Slot 0x2”不存在“no module”。
控制器隨后使用“Write幀”來參數化已組態的子模塊,對組態子槽所對應的各子模塊進行參數化??刂破骺梢苑謩e寫入各個Subslot,或者如果接口模塊支持多重寫(GSD文件中Supports Multiple Write=Yes),則同時一次多重寫入“”MultipleWrite“多個模塊。報文中表示ET200SP的接口模塊支持多重寫,與GSD文件的參數所對應。
根據ET200SP的IO模塊的組態,例如8x24VDC DI并未組態QI和MSI功能,那么參數化該DI過程數據接口的子模塊的參數為GSD文件中“Inputs”和“Potential group”條目下定義的參數,通過此“Write幀”寫入該相應的子模塊。多重寫在報文中對應順序Seq: 3,Slot: 0x1/0x1對應的參數Index: 0x 0080,User specified data: 26 byte,與GSD文件中的Inputs (Index:128 – Length:26 Byte) 相對應。同樣另外一組參數在Seq: 4寫入Index: 0x 00f3,User specified data: 4 byte與GSD文件中的Potential group (Index:243 – Length:4 Byte) 相對應。
這些參數實際上就是按照硬件組態或者工藝要求組態IO模塊的參數,按照8x24VDC DI模塊為例,諸如:斷線診斷,上升沿硬件中斷等參數。
上述DI 8x24VDC模塊的“Inputs”這些參數對應GSD文件中的Inputs (Index:128 – Length:26 Byte),具體參數配置長度為26bytes,前(第0和第1個字節)兩個字節0x00,0x03為固定值,從偏移的第2個字節之后的3個字節表示通道Channel 0的參數,一個通道參數占用3個字節,那么這8個通道的參數占用24(26-2)字節。Wireshark報文中的通道0的3個字節參數設置為00 8f 00,在GSD文件中這三個字節的偏移的Bit的數值即對應了硬件組態的參數設置,例如:Channel 0 activated的偏移地址3.7的數值為1,即第三個字節(10001111)Zui高位為1表示Channel 0通道激活,與上面的8DI模塊硬件組態的Channel 0配置一致。
- 一次西門子PLC設備的改造經歷——干擾處理篇 2024-11-22
- 一次西門子PLC設備的改造經歷——過程篇 2024-11-22
- 分享幾個新手工程師常遇到的,Profinet通訊診斷報警常見的錯誤及解決方法 2024-11-22
- 巧用示波器快速判斷西門子6SE70裝置報F026的故障點 2024-11-22
- 西門子PROFINET第六講:帶寬2 2024-11-22
- 西門子觸摸屏Smart Line 700 IE V3與第三方溫濕度變送器通訊 2024-11-22
- 西門子PROFINET第三講:協議 2024-11-22
- 西門子Logo!”微分”功能及使用注意事項 2024-11-22
- 如何甄別西門子變頻器S120裝置F30021和F07410故障的異同點 2024-11-22
- 西門子PROFINET第二講:抓包 2024-11-22
- 更換西門子CPU后為什么會出問題-2 2024-11-22
- 更換西門子CPU后為什么會出問題-1 2024-11-22
- 怎樣連接串口模塊的RS485/RS422接口? 2024-11-22
- 西門子PLC S7-200 SMART選型指南之產品訂貨信息 2024-11-22
- 西門子PLC S7-200 SMART選型指南之電源需求 2024-11-22
聯系方式
- 電 話:13510737515
- 聯系人:董海波
- 手 機:13185520415
- 微 信:13185520415