儲能應用中EM-1000作為EMS, 面對眾多CAN接口的設備,CAN接口不夠用怎么辦?PXB-6020輕松幫你搞定!
在儲能應用中,集裝箱式儲能單元通常配備較完備的消防系統(tǒng),包含噴淋頭、空調(diào)、溫度探測器、煙霧探測器、聲光報警器等等傳感器和探頭,如此多的探測器通常需要經(jīng)過消防采集器采集初步處理后,通過CAN接口將結(jié)果上報至BMS或EMS進行進一步的處理。當BMS或EMS的CAN接口數(shù)量不夠時,可采用CAN轉(zhuǎn)入Modbus TCP網(wǎng)絡實現(xiàn)消防采集器與BMS或EMS的快速互聯(lián)互通。
下面通過實際案例模擬如何快速將EM-1000的網(wǎng)口通過PXB-6020轉(zhuǎn)換為CAN接口。接線的拓撲可如下圖所示:
圖中使用USBCAN卡當作前文所述的消防采集器,將數(shù)據(jù)上傳至CAN總線,再由PXB-6020協(xié)議轉(zhuǎn)換器由CAN轉(zhuǎn)入Modbus TCP與EM-1000通訊,實現(xiàn)數(shù)據(jù)的上傳和下發(fā)等動作。
具體操作步驟如下:1. 通過PC連接PXB-6020,PXB-6020采用OPEN端子供電方式,使用AWPX Tools軟件配置工作模式與設備參數(shù)。1.1 配置PXB-6020的Modbus選項為下圖所示。
1.2 配置PXB-6020的CAN選項為下圖所示。
1.3 配置PXB-6020的發(fā)送報文,首先點擊添加按鈕,添加定時1秒發(fā)送幀ID為0x01,幀類型為標準幀的CAN報文,然后點擊添加數(shù)據(jù)按鈕,把Modbus寄存器0x00的數(shù)據(jù)綁定到CAN報文數(shù)據(jù)中。
1.4 配置PXB-6020的接收報文,首先點擊添加按鈕添加CAN報文分析,幀ID為0x01,幀類型為標準幀,然后在添加數(shù)據(jù)按鍵,把CAN報文與Modbus寄存器0x00綁定起來。具體內(nèi)容如下圖所示。1.5 最后,點擊保存配置按鈕,完成PXB-6020的配置。
2. 使用網(wǎng)線將EM-1000的網(wǎng)口與PXB-6020連接起來,再將PXB-6020的CAN接口接入USBCAN卡的CAN接口。連接完成后,給所有設備上電。
3. 配置USBCAN卡的上位機
3.1 打開ZCANPRO上位機,點擊設備管理選項按鈕,然后在彈出的窗口選擇對應的CAN卡,點擊打開設備,最后點擊啟動。
3.2 在彈出來的配置CAN窗口中,與PXB-6020的CAN配置保持一致即可,然后點擊確認。3.3 成功配置ZCANPRO上位機以及PXB-6020后,在ZCANPRO中能看到定時的CAN報文,其數(shù)據(jù)的前2位就是Modbus寄存器0x0的數(shù)據(jù)
4. 在EM-1000中,可使用以下兩個例程寫入或者讀取Modbus寄存器0x0的數(shù)據(jù)4.1 寫入一個隨機數(shù)到Modbus寄存器0x0中
#include #ifndef _MSC_VER#include #endif#include #include #include #include
#include
int main(void){ modbus_t *ctx; int rc; int addr; uint16_t regval;
srand((unsigned)time(NULL));
ctx = modbus_new_tcp("192.168.10.168", 502);
if (modbus_connect(ctx) == -1) { fprintf(stderr, "Connection failed: %s\n", modbus_strerror(errno)); modbus_free(ctx); return -1; }
addr = 0; regval = (uint16_t)rand();
printf("Write 0x%X to register 0\n", regval);
rc = modbus_write_register(ctx, addr, regval); if (rc != 1) { printf("ERROR modbus_write_register (%d)\n", rc); printf("Address = %d, value = %d (0x%X)\n", addr, regval, regval); }
modbus_close(ctx); modbus_free(ctx);
return 0;}
4.2 讀取Modbus寄存器0x0
#include #ifndef _MSC_VER#include #endif#include #include #include #include
#include
int main(void){ modbus_t *ctx; int rc; int addr; uint16_t regval;
ctx = modbus_new_tcp("192.168.10.168", 502);
if (modbus_connect(ctx) == -1) { fprintf(stderr, "Connection failed: %s\n", modbus_strerror(errno)); modbus_free(ctx); return -1; }
addr = 0;
rc = modbus_read_registers(ctx, addr, 1, ?val); if (rc != 1) { printf("ERROR modbus_read_registers (%d)\n", rc); printf("Address = %d\n", addr); }
printf("Read 0x%X frome register 0\n", regval);
modbus_close(ctx); modbus_free(ctx);
return 0;}
5. 使用例程寫入數(shù)據(jù)到Modbus寄存器0x0,在ZCANPRO中,CAN報文的數(shù)據(jù)也會改變。
6. 使用ZCANPRO的發(fā)送數(shù)據(jù)功能,發(fā)送數(shù)據(jù)到PXB-6020中,使用例程讀取Modbus寄存器0x0,寄存器0x0會改為CAN報文中的數(shù)據(jù)。
至此,Modbus TCP與CAN的協(xié)議轉(zhuǎn)換完成,協(xié)議轉(zhuǎn)換如此輕松!
通過以上的示例操作,使用PXB-6020構(gòu)建了一個較簡單的Modbus TCP與CAN的協(xié)議轉(zhuǎn)換方式,輕松實現(xiàn)在EM-1000的CAN接口不足時,通過PXB-6020快速與CAN接口設備通訊的需求。僅需上位機簡單配置就可實現(xiàn)CAN轉(zhuǎn)入Modbus TCP總線,免去了大量的協(xié)議轉(zhuǎn)換開發(fā)工作,極大的減少了系統(tǒng)搭建和項目開發(fā)的時間。
產(chǎn)品介紹:
PXB-6020是廣州致遠電子股份有限公司推出的一款 Modbus與CAN FD協(xié)議轉(zhuǎn)換器。PXB-6020設備有一路 RS485 接口,一路 CAN FD 接口和一路標準 10/100M 以太網(wǎng)接口。其中 Modbus可支持RTU 和TCP 兩種協(xié)議,并可以配置為 Master 或 Slave 兩種模式。CAN FD 波特率最高可支持5Mbps。PXB-6020設備具有靈活的配置功能,可輕松實現(xiàn) Modbus 協(xié)議數(shù)據(jù)到 CAN FD 數(shù)據(jù)間的無縫轉(zhuǎn)換。
EM-1000是廣州致遠電子股份有限公司專為新能源儲能系統(tǒng)設計的一款高性能、多接口工控機,擁有豐富的功能接口,可在儲能系統(tǒng)應用中作為邊緣EMS(能源管理系統(tǒng))總控、通訊管理機、規(guī)約轉(zhuǎn)換器或BAU(電池管理總控)使用。該系列產(chǎn)品集成豐富的外設接口,支持各類BMS、PCS、空調(diào)、電表、屏顯等設備的通訊傳輸,且軟件上支持RT-Linux、Ubuntu等操作系統(tǒng),支持IEC-61850/IEC-104/EtherCAT等專用協(xié)議,可廣泛滿足各類儲能系統(tǒng)的本地能源管理應用需求。
-
CAN
+關(guān)注
關(guān)注
57文章
2836瀏覽量
466227 -
MODBUS
+關(guān)注
關(guān)注
28文章
1950瀏覽量
78650 -
消防系統(tǒng)
+關(guān)注
關(guān)注
1文章
41瀏覽量
10118
發(fā)布評論請先 登錄
相關(guān)推薦
CAN轉(zhuǎn)Modbus TCP工具的應用案例
EM儲能網(wǎng)關(guān) ZWS智慧儲能云應用(9) — 遠程OTA升級

小區(qū)智能安全消防系統(tǒng)具體介紹
儲能PCS的負載設備和工具有哪些?
電力IEC61850轉(zhuǎn)Modbus RTU

簡要分析消防系統(tǒng)在實際中的應用

一款實現(xiàn)PLC擴展CANFD的好工具 — PXB-6020D協(xié)議轉(zhuǎn)換器

CAN轉(zhuǎn)Modbus TCP主站協(xié)議網(wǎng)關(guān)(YC-CAN-TCP)


評論