CANopen通信硬件接口為CAN總線,然而Modbus通信硬件接口為串口/以太網(wǎng)口;那么問題來了:CANopen主站如何獲取Modbus型傳感器的數(shù)據(jù)呢?讓我們一起來實現(xiàn)。
PXB-6021是ZLG致遠電子推出的一款Modbus to CANopen協(xié)議轉(zhuǎn)換器,具有1路CAN,1路百兆以太網(wǎng)和1路RS485。該產(chǎn)品支持Modbus RTU及Modbus TCP,可以實現(xiàn)Modbus主站到CANopen從站的數(shù)據(jù)轉(zhuǎn)換。PXB-6021最大支持12組TPDO和12組RPDO,同時支持EDS下發(fā)和自定義PDO和Modbus的數(shù)據(jù)映射;具有轉(zhuǎn)換快、設置簡單、使用靈活等特點。接下來我們將使用USBCAN-E-P CANopen主站卡和PXB-6021協(xié)議轉(zhuǎn)換器來實現(xiàn)CANopen主站獲取Modbus設備的數(shù)據(jù)。
? 準備條件
USBCAN-E-P CANopen主站卡和上位機軟件 CANManager for CANopen;
PXB-6021轉(zhuǎn)換器和上位機配置軟件AWPX Tools;
RS485溫濕度變送器;
24V電源適配器;
杜邦線6根,USB線1根,網(wǎng)線1根,終端電阻120歐1個。
??硬件接線
設備接線如圖1所示:
圖1 設備連接圖
PC通過網(wǎng)線連接PXB-6021和USB線連接USBCAN-E-P CANopen主站卡;
PXB-6021的CAN總線的CAN_H和CAN_L分別連接到USBCAN-E-P CANopen主站卡的CAN_H和CAN_L;
PXB-6021的RS485的A、B分別連接到Modbus溫濕度變送器的A、B端子。
??PXB-6021的參數(shù)配置
打開AWPX Tools工具,點擊搜索設備,然后選中PXB-6021設備。
根據(jù)溫濕度傳感器的說明書,溫濕度變送器的波特率為9600,數(shù)據(jù)長度為8,校驗位為0,停止位為1,配置PXB-6021的Modbus參數(shù),如圖2所示:
圖2?設置Modbus參數(shù)
然后再配置PXB-6021的CANopen參數(shù),如圖3所示。
圖3?設置CANopen參數(shù)
根據(jù)溫濕度變送器的介紹,溫度數(shù)據(jù)在保持寄存器0地址,濕度數(shù)據(jù)在1地址,數(shù)據(jù)均擴大了10倍。我們還要對PXB-6021的TPDO參數(shù)以及Modbus和TPDO的映射關(guān)系進行配置,如圖4所示。
圖4?TPDO配置
??CANopen主站設置
USBCAN-E-P CANopen主站卡加載從站EDS,如圖5所示。
圖5?導入EDS
然后點擊CANManager for CANopen軟件的搜索按鈕搜索從站,如圖6所示。
圖6 搜索從站
找到從站,如圖7所示。
圖7?找到從站
??Modbus數(shù)據(jù)獲取
單擊啟動按鈕采集從站數(shù)據(jù),如圖8所示。
圖8?采集數(shù)據(jù)從圖上可知:
- 溫度為0x118,轉(zhuǎn)換十進制為280,由于參數(shù)擴大了10倍,所以當前溫度為28度;濕度為0x294,轉(zhuǎn)換十進制為660,由于參數(shù)擴大了10倍,所以當前濕度為66。