CAN總線及其在艾默生PLC上的應用 作者: 時間:2013-02-18 來源:網絡 加入技術交流群 掃碼加入和技術大咖面對面交流海量資料庫查詢 收藏 3)數據接收:使用CANRCV指令(參數含義如下)或使用CAN接收中斷功能。我推薦對初使用者采用中斷更方便,具體用法參考下面的例子程序。 筆者根據ECCT集成的CAN總線功能,在紡織機械上的得到了成功的應用,現介紹如下:其CAN系統總體結構圖如下: 此系統的具體工藝不做介紹,這里只介紹CAN通信部分的應用。 程序使用說明如下: 1.首先根據要求在“系統塊”里對CAN通信口進行設置。 2.數據發送部分:對ID為5的地址發送4個字數據“16#1122,16#3344,16#6789,16#1234”需要編寫的程序為如下: 其中要注意的是:1)CANXMT為上升沿執行指令,M1000為指令執行條件,當其出現OFF—>ON的變化時,執行CANXMT指令;2)使用CANXMT指令前先把該賦值的地址寫好;3) 發送數據只取D元件的低8位; 4)網絡上沒有CANID、數據完全相同的CAN幀同時出現;5)ID保留0。6)CAN程序的校驗部分全部由硬件自動完成,用戶程序不需要參與。 3.數據接收部分:此部分以使用中斷方式接收數據為例,分2部分步驟: 1)先在主程序中設置CAN中斷使能. 2)設置中斷程序屬性,把其中斷事件選為48(即CAN接收中斷),然后編寫程序把接收到的數據傳遞到需要的地址.注意ID地址為雙字結構,SD282-290依次為數據的高低字節,把他們傳遞到相應的數據寄存器然后合并就可以得到完整的數據了。 總結:由于CAN協議格式比較簡單,并且相當部分工作由CAN控制芯片硬件完成,所以編寫程序比較簡單,實現起來很容易,此紡織系統采用CAN通信方式后,速度大大提高并且系統更加穩定,受到用戶的肯定。 上一頁 1 2 3 下一頁
評論