怎樣編程實現(xiàn)對PROFINET子站的診斷?
怎樣編程實現(xiàn)對PROFINET子站的診斷?
founderchip
原創(chuàng)工業(yè)智能控制領(lǐng)域(PLC、單片機(jī)、嵌入式、機(jī)器人、通信)的技術(shù)及經(jīng)驗分享。
前幾天讀書群中有小伙伴提出一個實際項目的客戶需求:在HMI屏幕上顯示當(dāng)前系統(tǒng)的子站狀態(tài),比如哪些站點已經(jīng)組態(tài)?哪些站點在報錯?這涉及到如何對PROFINET子站進(jìn)行診斷。今天這篇文章,我給出一種解決方案。
在西門子S7-1200/1500硬件條件下,我們可以使用診斷指令“DeviceStates”來實現(xiàn)對子站的診斷功能,具體方法如下:
在博途指令列表的“擴(kuò)展指令”→“診斷”中找到DeviceStates指令,其基本語法如下:
DeviceStates(LADDR:=_hw_iosystem_in_,
MODE:=_uint_in_,
STATE:=_variant_inout_)
指令中各參數(shù)含義如下表所示:
| 名稱 | 類別 | 數(shù)據(jù)類型 | 說明 |
|---|---|---|---|
| LADDR | 輸入 | HW_IOSYSTEM | PROFINET IO硬件標(biāo)識符 |
| MODE | 輸入 | UInt | 要讀取的狀態(tài)信息類別 |
| STATE | 輸入/輸出 | Variant | 狀態(tài)緩存區(qū) |
參數(shù)MODE有如下幾種取值:
1=已經(jīng)組態(tài)的I/O設(shè)備;
2=出現(xiàn)故障的I/O設(shè)備;
3=被禁用的I/O設(shè)備;
4=存在的I/O設(shè)備或者說找到的I/O設(shè)備;
5=出問題的I/O設(shè)備,比如不可用,不可訪問的;
STATE是布爾型數(shù)組,其第0個元素表示組的狀態(tài),若其值=1,則表示數(shù)組中至少有一個數(shù)據(jù)滿足查詢要求;從1個元素開始,表示相應(yīng)編號的子站是否滿足查詢要求,1=滿足,0=不滿足。
回到文章開頭的問題,我們使用DeviceStates來查詢?nèi)N狀態(tài):已經(jīng)組態(tài)的子站(MODE=1)、成功找到的子站(MODE=4)及出現(xiàn)故障的子站(MODE=2),將指令執(zhí)行的結(jié)果存放到全局?jǐn)?shù)據(jù)塊中。
為了方便,新建用戶自定義數(shù)據(jù)類型:typeNetDiagnostic,它是布爾型數(shù)組,如下圖所示:
新建全局?jǐn)?shù)據(jù)塊NetDiagnosticDB,其元素IODeviceState是有三個元素的數(shù)組,其數(shù)據(jù)類型為用戶自定義類型typeNetDiagnostic,如下圖所示:
新建函數(shù)塊FB5009_NetDiagnostic,其參數(shù)如下:
代碼如下:
在主程序中調(diào)用該函數(shù)塊,并對參數(shù)進(jìn)行賦值,代碼如下:
說明:參數(shù)“270”是當(dāng)前組態(tài)的PROFINET的硬件標(biāo)識符。
編譯下載程序運行,在線查看運行結(jié)果。
在我的當(dāng)前系統(tǒng)中組態(tài)了三個子站,站號分別是11,13和16,如下圖所示:
已經(jīng)成功找到的站點也是11,13和16 ,如下圖所示:
出故障/在報錯的站點是11,如下圖所示:
這樣就可以通過觸摸屏(HMI)向外展現(xiàn)站點的診斷信息,可以通過動畫演示,讓人一目了然的看到所有站點的狀態(tài)。
好了,關(guān)于PROFINET子站的診斷就先介紹到這里。我的書《西門子S7-1200/1500 PLC SCL語言編程 ——從入門到精通》的第11.5.3節(jié)也對這個指令有詳細(xì)的介紹,還配有相關(guān)的視頻。如果你感興趣的話,可以看看下面的鏈接:
如果你已經(jīng)購買了這本書,想加入讀書群,可以私信我。
你喜歡,就好
微信掃一掃贊賞作者
贊賞
發(fā)送給作者
人贊賞
長按二維碼向我轉(zhuǎn)賬
你喜歡,就好
受蘋果公司新規(guī)定影響,微信 iOS 版的贊賞功能被關(guān)閉,可通過二維碼轉(zhuǎn)賬支持公眾號。
-
2023年各省最新電價一覽!8省中午執(zhí)行谷段電價! 2023-01-03
-
PPT導(dǎo)出高分辨率圖片的四種方法 2022-09-22
-
2023年最新!國家電網(wǎng)27家省級電力公司負(fù)責(zé)人大盤點 2023-03-14
-
全國消防救援總隊主官及簡歷(2023.2) 2023-02-10
-
盤點 l 中國石油大慶油田現(xiàn)任領(lǐng)導(dǎo)班子 2023-02-28
-
我們的前輩!歷屆全國工程勘察設(shè)計大師完整名單! 2022-11-18
-
關(guān)于某送變電公司“4·22”人身死亡事故的快報 2022-04-26
