1 引言
測量設備在日常生活生產中應用非常廣泛,例如常見的溫度濕度計、電表、汽車儀表等。工業生產現場的控制系統中,控制終端根據各種自動化測量設備測量出的數據對各種現場設備進行相應的控制,這就需要測量設備具有總線通信接口,以連接到控制網絡中。CAN總線是測量設備行業中流行且應用成熟的通信方式,基于CAN總線應用層的CANopen協議對測量設備做出了“設備級”的規范(CiA DS404)。
本期文章將以壓力測量儀為例介紹如何利用XGate-COP10模塊設計測量設備的CANopen從站接口。
2 XGate-COP10簡介
XGate-COP10是一款CANopen從站協議轉換模塊,內部集成了CANopen從站協議棧,遵循CiA DS301 V4.02進行設計,其內部集成了網絡管理(NMT)、服務數據(SDO)、過程數據(PDO)、錯誤管理等功能。同時也遵循了DS303-3指示燈以及DS305層設置(LSS)等相關協議,使模塊功能更強大。所有的功能均通過CiA提供的一致性測試軟件的測試,保證了與其他CANopen設備良好的兼容性。
XGate-COP10為DIP24封裝,擁有較小的占位面積(6 cm2),非常容易集成到用戶設備中,其外觀如圖1所示。
3 壓力測量儀CANopen接口硬件設計
XGate-COP10硬件設計框圖如圖2所示。
壓力測量儀控制板MCU與XGate-COP10通過串口(TTL電平)進行連接。用戶可以使用MCU的一個I/O口連接到XGate-COP10的復位引腳(/RST)實現對模塊的復位控制。MCU只需預留1路串口,1個I/O口即可。由于XGate-COP10內部未集成CAN收發器,推薦使用帶隔離的CAN收發器模塊CTM8251T。XGate-COP10采用的是標準的CANopen協議,可以通過外接DIP開關來設置設備的節點地址和波特率,并通過外接LED指示燈來指示當前模塊的CANopen狀態。
4 壓力測量儀參數資源分配
對于實時數據,XGate-COP10有96 B輸入和96 B輸出存儲區供用戶使用,這些存儲區可以用于壓力測量儀與其他CANopen設備之間交換各項實時參數。
對于非實時數據,XGate-COP10提供了直接訪問對象字典的串口命令,用戶可以通過該命令對模塊的對象字典進行讀寫,實現壓力測量儀控制板MCU對CANopen網絡非實時參數的訪問。
這樣,CANopen主站設備或其他從站設備與壓力測量儀之間的通信就變得十分方便。
(1)資源分配
壓力測量儀相關參數在XGate-COP10存儲區的分配情況如表1所示,用戶只需要把壓力傳感器測量出的壓力值、超壓或欠壓告警信息寫入到XGate-COP10對應的數據輸入存儲區,XGate-COP10就會按照CANopen協議的定義對數據進行解析處理并通過TPDO發送到CAN總線上。
(2)實時數據傳輸配置
XGate-COP10中PDO數據可映射到數據存儲區的任意輸入輸出數據存儲區,其數據映射示例如表2所示。
5 壓力測量儀控制板MCU對XGate-COP10的操作
XGate-COP10提供了一個串口與壓力測量儀控制板MCU進行連接。為了方便用戶快速可靠地實現模塊與MCU通信,廣州致遠電子有限公司提供了XGate-COP10串口協議的驅動源碼。用戶可將實時更新的數據寫入輸入緩沖區,XGate-COP10自動發送至主站或者是其他從站設備。用戶程序軟件操作流程示例如圖3所示。
6 結語
經過以上步驟,快速地實現了壓力測量儀的CANopen接口,并能與其他CANopen設備進行通信。XGate-COP10的出現,使開發者不再為開發CANopen協議棧而苦惱,大大縮短了開發周期。相信在XGate-COP10的幫助下,用戶能獲得更大的成功。
廣州致遠電子有限公司提供各種接口的CANopen接口卡、CANopen終端設備(包括數據采集,電機控制等)、CANopen分析儀、網關及網橋、OPC服務器以及基于CANopen協議的整套組網方案及應用開發。