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