1.系統概述
在很多應用中,我們需要獲取現場總線模塊的數據,并參與控制,比如:溫度信號、濕度信號、高度信號等等。我們現在可以采用組態軟件利用現場總線傳輸,來采集現場的信號。為我們獲取應用現場的信號提供了方便快捷的解決方案。
2.CANOpen設備分析
2.1.CANOpen設備模型
CANOpen 設備模型外部連接CANBus 系統合過程I/O,采集現場數據,通過CAN 總線系統,向高層傳送。設備模型(圖3)內部可以被分為3 部分:
● 通信接口(Communication)部分:
提供在總線上收發通信對象的服務。不同CANOpen 設備間的通信都是
通過交換通信對象完成的。
● 對象字典(Object Directory)部分:
對象字典描述了設備的功能性。它以特定的方式描述了通信對象(應用數據和配置數據),從而實現了設備的功能性描述。這些對象通過一個16 位的索引和一個附加的8 位子索引來訪問。對象字典位于CAN 總線
設備通信部分和應用部分之間,向應用程序提供接口,應用程序對對象字典進行操作就可以實現CANOpen 通信。
● 應用(Application)部分:
應用部分由用戶編寫,包括功能部分和通信部分。通信部分通過對對象字典進行操作實現CANopen 通信,而功能部分由用戶根據應用要求實現。比如CAN 控制器,應用程序部分則為過程控制或數據處理邏輯,
需要用戶編寫。
圖3[1] CANOpen 設備模型
2.2.CANOpen設備應用分析
CANOpen 設備的應用可以有下面2 個層面:
●操作應用層面:現場操作人員、現場設備檢查人員等關注;
●系統設置層面:系統集成技術人員、設備維護和改造人員等關注。
從操作應用層面看,技術人員主要是通過已經形成的生產線,依靠CANOpen系統完成既定的生產工作,也就是通過采集的信號的內容展示和分析結果,關注的是通過設備完成的生產操作。也就是,操作人員關注通過正確的操作方法,順利完成生產任務。這個層面的用戶是人機界面系統的最終使用者。工業人機界面
系統的設計必須考慮這個層面應用的需求。
從系統設置層面看,技術人員要對現場設備進行裝配、設置,甚至編程。技術人員可以根據設備的說明文檔,依據現場工程的需求,進行裝配和設置。一般來說,每種設備都有測試或者配置軟件,尤其邏輯控制設備,都配置編程軟件,比如PLC,CANOpen 設備也是如此!首先,這些軟件都已經非常成熟,然后,編程通訊往往有很多不開放的技術,所以,我們必須借助于設備廠商提供的軟件。這個層面的技術人員工作,往往是針對確定的I/O 部分,依照明確的工藝需求,進行設備組態、系統集成等工作,關注系統集成部分,也就是根據操作應用層面的具體需求進行系統集成。
對于人機界面的組態,我們主要是考慮操作應用層面的需求,也就是關注I/O狀態、控制有關的參數設置、運行結果的記錄等。這些為基于HMI 的現場總線控制平臺的協議通訊模式的實現提供了依據。
HMI 組態關注的對象
NMT(Network ManagemenT)網絡管理服務:提供網絡管理(如初始化、啟動和停止節點,偵測失效節點)服務。這種服務是采用主從通訊模式(所以只有一個NMT 主節點)來實現的。上位機HMI 系統通過NMT 對象,管理網絡,啟動或停止CANOpen 節點。
過程數據對象用于在CANOpen 節點間傳送過程數據,如I/O 模塊的I/O 狀態的讀取和設定、模擬量采集和模擬量輸出等等。
Node 節點-->HMI 平臺(TPDO:發送過程數據對象)
Node 節點<--HMI 平臺(RPDO:接收過程數據對象)
系統配置關注對象
服務數據對象(SDO:Server Data Object)服務用于讀寫節點的對象字典(Object Dictionary)用來在設備之間傳輸大的低優先級數據,典型的是用來配置CANopen 網絡上的設備。
部分管理報文:
預定義報文或者特殊功能對象,比如修改節點ID,重新設置通訊波特率等。
2.3.CANOpen標識符
為了減小簡單網絡的組態工作量,CANopen 定義了強制性的缺省標識符(CAN-ID)分配表。這些標志符在預操作狀態下可用,通過動態分配還可修改他們。CANopen 設備必須向它所支持的通訊對象的提供相應的標識符。
缺省ID 分配表是基于11 位CAN-ID,包含一個4 位的功能碼部分和一個7位的節點ID(Node-ID)部分。如圖4 所示。
Node-ID:對應CANOpen 設備,由系統集成商定義,例如通過設備上的撥碼開關設置。Node-ID 范圍是1~127(0 不允許被使用)。
Function Code:確定CAN 幀的類型,比如:PDO 和SDO:對應CANOpen設備的寄存器。在CANOpen 設備中,常用的PDO 為0x180+Node-ID。其中0x180就是指Functon Code。SDO 是用來在設備之間傳輸大的低優先級數據的服務數據對象,典型的功能是配置CANopen 網絡上的設備。
PDO 用來傳輸8 字節或更少數據,沒有其它協議預設定(意味著數據內容已預先定義)。比如:某傾角傳感器上傳的為7 個字符,因此它有8 個PDO 數據需要傳到現場總線上。標識符的格式為TPDO=0X180+NODE_ID,因此發送的PDO 可以表示為表3.1 的描述。
I/O 節點- 監控終端 | |||||||
COB-ID | 0 字節 | 1 字節 | 2 字節 | 3 字節 | 4 字節 | 5 字節 | 6 字節 |
416(0x1A0) |
CANOpen 設備上傳的I/O 數據 |
||||||
23 | 0 | FD | FF | 1D | 88 | 32 | |
COB-ID: 0x1A0=0X180+0X20 |
表3.1 CANOpen 設備的PDO
3.組態軟件通訊分析
3.1.PC-based的CAN總線接入
組態軟件建立在數據庫系統之上,實時數據庫通過驅動接口采集總線系統中PLC、智能儀表和其他設備的信息,詳細架構請見圖1。
組態軟件與硬件設備組成的CAN 總線系統,詳細組成請見圖2。
圖2 CAN 總線系統3.2.HMI和CANOpen系統中位置
簡單系統:HMI + CANOpen 從站模塊
復雜系統:HMI 系統+CANOpen 主站模塊+CANOpen 從站模塊+診斷和配置節點
HMI 主要處于CANOpen 系統監視和存儲、分析等
4.組態軟件CAN驅動分析
4.1.組態軟件CAN驅動特殊性分析
用于人機交互部分:
應用組態層保證數據發送成功。
驅動層保證成功。
用于監視部分:
采集的實時性保障;
采集的完整性保<