加入收藏 在線留言 聯系我們
        關注微信
        手機掃一掃 立刻聯系商家
        全國服務熱線13185520415
        公司新聞
        西門子PROFINET第七講:通信關系
        發布時間: 2024-08-12 16:30 更新時間: 2024-11-22 08:00
        觀看西門子PROFINET第七講:通信關系視頻

        今天我們開始故事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配置一致。


        聯系方式

        • 電  話:13510737515
        • 聯系人:董海波
        • 手  機:13185520415
        • 微  信:13185520415