CANopen是一種架構(gòu)在控制局域網(wǎng)絡(luò)(Controller Area Network, CAN)上的高層通信協(xié)議,包括通信子協(xié)議及設(shè)備子協(xié)議,常在嵌入式系統(tǒng)中使用,也是工業(yè)控制常用到的一種現(xiàn)場總線。
當(dāng)使用不是基于PROFIBUS或PROFINET的網(wǎng)絡(luò)化現(xiàn)場總線設(shè)備擴(kuò)展SIMATIC自動化系統(tǒng)時,無縫集成到SIMATIC可以顯著提高生產(chǎn)效率。
CK-LR08-C01低頻RFID讀寫器集成CANopen通訊協(xié)議,通過第三方CM CANopen通訊模塊連接到西門子PLC,在對現(xiàn)場設(shè)備升級置換時可無縫連接至下位機(jī),還可同時搭載多臺RFID讀寫器。
RFID連接PLC需要對CANopen網(wǎng)絡(luò)進(jìn)行組態(tài),可通過CM CANopen Configuration Studio軟件完成。
硬件型號:
PLC:西門子S7-1200 1211C AC/DC/RLY
通信模塊:HMS CM CANopen (021620-B)
讀寫器: CK-LR08-C01
軟件型號:
編程組態(tài)軟件:TIA Portal V14 SP1
CM CANopen Configuration Studio軟件版本:2.1
PLC固件版本:V4.2
CANopen Eds版本:CK-LR08-C01
一、配置CANopen通訊模塊
打開CM CANopen Configuration Studio軟件,首先將CK-LR08-C01的EDS參數(shù)文件導(dǎo)入組態(tài)軟件CM CANopen Configuration Studio。
EDS文件是用來描述從站參數(shù)的文本文件,EDS文件的作用就是給主站配置軟件,讓配置的過程變得簡單,我司針對RFID讀寫器開發(fā)了完善的EDS文件,購買時附送。
在Tools中選擇Manage Catalog打開Device Catalog Managemen,點(diǎn)擊Import a device打開文件選擇窗口,選擇好目標(biāo)EDS文件雙擊載入。
此時可以在界面下方的Error List欄內(nèi)看到是0Errors 0Warnings,這就代表EDS文件成功載入,從站參數(shù)成功導(dǎo)入。
新建一個工程文件,選擇保存路徑、主站設(shè)備(CANopen Manager Device)為S7-1200 CM CANopen,然后點(diǎn)擊OK保存。
在下方的Other Profiles欄內(nèi)將讀寫器型號拖動至上方的Project Explorer內(nèi),在彈出的Add New Device項(xiàng)目欄內(nèi)填入設(shè)備名稱(Logical Name)、從站ID(Node-ID,默認(rèn)選擇2),將Group選擇為Slaves從站然后點(diǎn)擊完成。
軟件界面上半部分NMT欄目:
Bit0:勾選表示設(shè)定該設(shè)備為主站
下方Slave欄目:
Bit0:勾選表示設(shè)定該設(shè)備為從站
Bit1:勾選表示當(dāng)網(wǎng)絡(luò)啟動(設(shè)備上電)或者設(shè)備從錯誤控制事件中恢復(fù)正常時,主站會對該設(shè)備寫入配置并啟動該設(shè)備進(jìn)入運(yùn)行狀態(tài)
Bit7:勾選表示該設(shè)備在進(jìn)行配置前恢復(fù)出廠設(shè)置
我們將下方的Bit7取消勾選
打開Error Conttrol Configuration界面,將主從站的心跳報(bào)文時間(Producer Time)設(shè)定為500ms,再設(shè)定主站從站的心跳報(bào)文超時時間(Consumer Time)設(shè)定為750ms。
打開Application objects界面,選擇要通過PDO傳送的參數(shù)對象,將選項(xiàng)全部勾選。
打開Process Image選項(xiàng)卡 >> 點(diǎn)擊“Add new group”圖標(biāo) >> 以小寫的英文字母分別命名創(chuàng)建的Group。
選中同一Node-ID下的所有對象 >> 在Group下拉列表中(圖中標(biāo)識2)選擇分配給該Node-ID的組名 >> 點(diǎn)擊“Assign group to selected objects”(圖中標(biāo)識3)圖標(biāo)完成分組。
在軟件界面的右側(cè)找到PDO Parameters Node-ID,設(shè)置RPDO和TPDO的參數(shù) >> 將Enabled和Lock PDO都勾選 >> Transmission Type(傳輸類型)選項(xiàng)都選擇Event-driven >> 對于TPDO還需要設(shè)置最小發(fā)送間隔,Inhibit Time設(shè)置為50dec,Event Timer設(shè)置為500dec。
參數(shù)設(shè)置成功之后點(diǎn)擊“計(jì)算配置”等待計(jì)算完成,點(diǎn)擊“生成配置”生成配置文件并保存至用戶文件夾。
點(diǎn)擊下載,在彈出的Download界面選擇CM CANopen USB,Download File選擇剛才生成的配置文件,點(diǎn)擊Download等待程序運(yùn)行完成。
二、西門子PLC例程
打開博圖TIA V14編程軟件,加載PLC例程,雙擊“設(shè)備與網(wǎng)絡(luò)”,設(shè)置CANopen通訊模塊的通信格式。
在屬性>>常規(guī)中選擇“CANopen接口”,操作模式選擇“CANopen Mnager”,波特率設(shè)置“1000”,數(shù)據(jù)大小設(shè)置“32”。
設(shè)置完成就可以查看程序了,程序已經(jīng)做好了封裝,主程序main內(nèi)調(diào)用“LR08 Read”和“LR08 Write”程序塊進(jìn)行讀寫操作即可。
在“LR08 Read”塊中主要調(diào)用“RDREC”指令,其中ID為硬件標(biāo)識符,INDEX為PDO數(shù)據(jù)緩沖區(qū)索引,MLEN為CANopen輸入數(shù)據(jù)大小(bytes),RECORD為讀取的數(shù)據(jù)存放的地址域。“LR08 Write”塊中主要調(diào)用“WRREC”指令,完成寫命令。
讀寫器數(shù)據(jù)將會保存到DB數(shù)據(jù)塊“LR08”的“Read Data”和“Write Data”,方便用戶調(diào)用。
希望本文能夠幫助到使用CANopen通訊模塊的客戶,解決客戶對產(chǎn)品的不熟悉導(dǎo)致的問題,如需了解更多CANopen和RFID信息的應(yīng)用與問題解決方案請關(guān)注微信公眾號(晨控智能)或者登陸晨控智能技術(shù)查詢,晨控智能期待您的咨詢與合作。