在現(xiàn)代工業(yè)自動化中,經(jīng)常會有PLC直接控制CAN/CAN FD接口設(shè)備的需求,但是一般的小型或中型PLC很少有CAN接口,一般標(biāo)配的是RS485接口,那該如何解決呢?
PXB-6020是致遠(yuǎn)電子新推出的一款Modbus to CAN FD協(xié)議轉(zhuǎn)換器,擁有1路CAN FD接口,1路100M以太網(wǎng)接口和1路RS485接口。該產(chǎn)品可支持Modbus RTU及Modbus TCP,既可以當(dāng)Modbus主站,也可以當(dāng)Modbus從站。PXB-6020最大支持128組CAN/CAN FD報(bào)文發(fā)送和128組白名單接收,支持Modbus所有類型的寄存器。同時(shí)還可以自定義方式發(fā)送數(shù)據(jù),具有毫秒級轉(zhuǎn)換和簡單靈活等特點(diǎn),廣泛應(yīng)用于PLC外擴(kuò)CAN/CAN FD等場合。
接下來我們將使用PXB-6020協(xié)議轉(zhuǎn)換器快速實(shí)現(xiàn)西門子S7-200 SMART(以下簡稱:PLC)的Modbus數(shù)據(jù)轉(zhuǎn)換為CAN FD數(shù)據(jù),達(dá)到PLC的RS485接口也可以與CAN FD設(shè)備通信的效果。PLC運(yùn)行為Modbus RTU主站,而PXB-6020協(xié)議轉(zhuǎn)換器運(yùn)行為Modbus RTU從站。
為方便文章說明,PXB-6020的CAN FD接口接入的是一個(gè)USBCANFD-200U(USBCANFD接口卡),用戶可根據(jù)實(shí)際需求接入其他CAN/CAN FD設(shè)備。
?硬件接線
- PXB-6020的CAN FD接口的CAN_H和CAN_L分別連接到USBCANFD-200U的CAN FD接口的CAN_H和CAN_L;
- PXB-6020的RS485接口的A和B分別連接到PLC的RS485接口的A和B;
- PXB-6020和PLC的以太網(wǎng)接口使用以太網(wǎng)線連接電腦;
- 接上PLC、PXB-6020和USBCANFD-200U的電源。
設(shè)備接線示意如圖1所示:
圖1設(shè)備接線示意圖
?PXB-6020參數(shù)配置接下來打開AWPX Tools軟件對PXB-6020進(jìn)行配置。
1. 配置Modbus參數(shù),將PXB-6020的工作模式配置為Modbus RTU從站,如圖2所示。
圖2Modbus參數(shù)設(shè)置2. 配置CAN FD參數(shù),如圖3所示。圖3CANFD參數(shù)配置3. 配置發(fā)送報(bào)文參數(shù),如圖4所示。圖4發(fā)送報(bào)文配置4. 配置接收報(bào)文參數(shù),如圖5所示。圖5接收報(bào)文配置
?PLC配置打開STEP 7-Micro/WIN SMART軟件,使用該軟件對PLC進(jìn)行軟件編程、配置和程序下載。
1. 雙擊頁面左側(cè)的“通信”按鈕,在彈出的通信界面點(diǎn)擊“查找CPU”,查找到對應(yīng)的CPU后點(diǎn)擊“確定”,如圖6所示。
圖6查找CPU
2. 使用頁面左側(cè)的“指令”->“庫”->“Modbus RTU Master(V2.0)”下的“MBUS_CTRL”和“MBUS_MSG”指令使PLC運(yùn)行為Modbus RTU主站,實(shí)現(xiàn)對Modbus RTU從站的讀寫。
3. MBUS_CTRL指令用于初始化主站,必須在每次掃描時(shí)調(diào)用MBUS_CTRL指令,否則Modbus主站協(xié)議不能正常工作。MBUS_MSG指令用于向Modbus從站發(fā)起讀或?qū)懻埱蟆?/p>
4. Modbus RTU Master(V2.0)指令庫需要286字節(jié)的全局V存儲器,所以需要指定該庫可使用的V存儲器量的地址。點(diǎn)擊并右鍵界面左側(cè)的“程序塊”->“庫存儲器...”,會彈出如圖7所示界面。在彈出的界面選擇“建議地址”,再點(diǎn)擊“確定”即可。建議地址不能與參數(shù)“DatePtr”指向的地址有重合。
圖7庫存儲器分配
5. 庫存儲器設(shè)置完成后,使用MBUS_CTRL指令與MBUS_MSG組態(tài)PLC,使其作為Modbus RTU主站并對PXB-6020進(jìn)行讀寫。一個(gè)簡單的讀寫PXB-6020的梯形圖如圖8-10所示,此梯形圖程序僅供參考。
圖8梯形圖1
圖9梯形圖2
圖10梯形圖3
6. 以上梯形圖實(shí)現(xiàn)對Modbus從站保存寄存器的循環(huán)讀寫,讀取Modbus從站保持寄存器0地址一個(gè)字的數(shù)據(jù),并將一個(gè)字?jǐn)?shù)據(jù)數(shù)據(jù)寫入Modbus從站保持寄存器1地址。
?數(shù)據(jù)轉(zhuǎn)換將以上梯形圖下載至PLC后,點(diǎn)擊“啟動程序監(jiān)視”按鈕后,即可在如圖11所示的“狀態(tài)圖表”頁面對Modbus從站進(jìn)行讀寫操作。圖11 讀寫Modbus從站數(shù)據(jù)1. Modbus數(shù)據(jù)轉(zhuǎn)換為CAN FD數(shù)據(jù)
根據(jù)圖4-5的發(fā)送報(bào)文和接收報(bào)文的配置,在“狀態(tài)圖表”里面的VW12地址寫入0x1122,可使PXB-6020發(fā)送如圖12所示的CAN FD標(biāo)準(zhǔn)幀,可在ZCANPRO軟件觀測PXB-6020發(fā)送的CAN FD標(biāo)準(zhǔn)幀。
圖12發(fā)送的CANFD幀2. CAN FD數(shù)據(jù)轉(zhuǎn)換為Modbus數(shù)據(jù)
使用USBCANFD-200U設(shè)備向PXB-6020發(fā)送幀ID為0x02,幀數(shù)據(jù)段為0x8899的CAN FD標(biāo)準(zhǔn)幀,則在“狀態(tài)圖表”里面的VW10地址可讀取到數(shù)據(jù)0x8899,如圖13所示。
圖13讀取Modbus從站數(shù)據(jù)
至此,我們成功實(shí)現(xiàn)了PLC的Modbus數(shù)據(jù)與CAN FD數(shù)據(jù)的雙向轉(zhuǎn)換。
-
plc
+關(guān)注
關(guān)注
5006文章
13107瀏覽量
461450 -
CAN
+關(guān)注
關(guān)注
57文章
2694瀏覽量
463146 -
MODBUS
+關(guān)注
關(guān)注
28文章
1757瀏覽量
76760
發(fā)布評論請先 登錄
相關(guān)推薦
評論