高欽和,董庭瓊,于傳強
(第二炮兵工程大學,陜西西安710025)
CAN-bus(Controller Area Network)即控制器局域網(wǎng),是一種多主方式的串行通訊總線,作為一種技術先進、可靠性高、功能完善、成本合理的遠程網(wǎng)絡通訊控制方式,已被廣泛應用到各個自動化控制系統(tǒng)中。同時,在傳統(tǒng)的氣動系統(tǒng)中大量的電控換向閥和伺服比例閥是通過大量的管道連線以及接插頭來實現(xiàn)相互間的連接,如果系統(tǒng)中有一個元件發(fā)生故障,往往會引起整個設備的運行不正常甚至引發(fā)設備事故,所以,為解決這一問題,F(xiàn)ESTO 公司自20世紀80年代后期即致力于研究新一代的電氣一體化控制元器件,以大幅度簡化設備中各種接口,最先推出了閥島技術并率先引入現(xiàn)場總線技術,閥島技術和現(xiàn)場總線技術相結合,大大簡化了選型設計和安裝調試過程進而提升了設備的功能和質量。
但是目前真正占領市場的兩個應用層協(xié)議是:DeviceNet 協(xié)議和CANOpen 協(xié)議,這兩個協(xié)議規(guī)范比較復雜,理解和開發(fā)難度比較大,對于機電教學不太合適,為了解決這個問題,提出以周立功公司開發(fā)的CAN 高層協(xié)議—iCAN 協(xié)議來控制FESTO 公司的CPV閥島,構建實驗系統(tǒng),便于機電教學。
系統(tǒng)的硬件部分主要包含周立功公司開發(fā)的PCI9820 通訊接口卡、數(shù)字量模塊iCAN4050、Sys-Link 接線板和FESTO 公司開發(fā)的CPV 閥島,系統(tǒng)的原理是PC 上的主站程序通過調用iCAN 主站函數(shù)庫中的相應函數(shù)從而控制PCI9820,PCI9820 發(fā)送數(shù)據(jù)到CAN 總線上,iCAN 模塊接收到數(shù)據(jù)后控制相應的I/O 口發(fā)出或接收信號,而后通過SysLink 接口控制CPV 閥島或讀取傳感器信號,使執(zhí)行機構按照指令動作,其硬件結構如圖1所示。
圖1 系統(tǒng)硬件結構圖
iCAN4050 功能模塊為數(shù)字量輸入輸出模塊,用來檢測外界狀態(tài),采集數(shù)字量輸入信號,并可以輸出數(shù)字量信號,控制開關。iCAN4050 功能模塊的數(shù)字量輸入和輸出通道并沒有采用隔離設計,具有8 路開關量輸入通道和8 路開關量輸出通道。
PCI-9820 接口卡是一款性能優(yōu)秀的2 通道CAN通訊接口卡,采用32 位PCI 數(shù)據(jù)線,兼容PCI2.2 規(guī)范,即插即用;接口卡的每一路CAN 通道均集成獨立的隔離保護電路。PCI9820 符合CAN2.0A/B 規(guī)范,支持5 Kb/s ~1 Mb/s 之間任意波特率。
閥島技術是由德國FESTO 公司最先發(fā)明和應用的,是將多個閥及相應的氣控信號接口、電控信號接口甚至電子邏輯器件等集成在一起的一種集合體,通常是一個電子氣動單元。CP 閥島又稱緊湊型閥島,分為CPV 型和CPA 型兩種,CPV 型閥島有獨立的接口插座,可根據(jù)需要選擇多針插頭式接口、ASI 型接口、現(xiàn)場總線型接口等接口方式,文中所述系統(tǒng)使用的是多針插頭式接口。
SysLink 專用接口,它將8 個輸出端和8 個輸出端接至接頭,同時配有LED 顯示。SysLink 接口是iCAN 模塊與閥島連接的橋梁,便于操作,提高了接線效率,可以避免以后的重復布線工作。
傳感器采用的是漫射式光電接近開關和磁感應式接近開關兩種,用來檢測執(zhí)行機構和工件是否到位。執(zhí)行機構主要包含1 個扁平氣缸,1 個氣動抓手和1個導向氣缸。
系統(tǒng)軟件部分的設計主要是編寫主站節(jié)點程序。利用VB 編程軟件調用PCI9820 提供的iCAN 主站函數(shù)庫,編寫了簡單的主站程序,程序通過單次發(fā)送數(shù)據(jù)來控制執(zhí)行機構進行單動,有利于學生更好地理解CAN 總線的控制原理。
iCAN 協(xié)議是廣州周立功公司提供了PCI9820 的iCAN 主站函數(shù)庫icandll.dll,iCAN 主站函數(shù)庫隱藏了iCAN 協(xié)議和對CAN 接口卡操作的細節(jié),是標準的C 語言動態(tài)鏈接庫,支持VC、VB 等開發(fā)工具,具有良好的開發(fā)性,其原理如圖2所示。
圖2 iCAN 主站庫原理
在VB 中使用主站函數(shù)庫需要把主站函數(shù)庫中定義的數(shù)據(jù)結構和函數(shù)聲明全部轉換為VB 可識別的形式,而后將VCI 函數(shù)庫拷貝到程序的根目錄下,再進行編程,不然程序將會出現(xiàn)錯誤。系統(tǒng)的程序流程如圖3所示。
圖3 程序流程圖
編寫的主站程序界面如圖4所示,在啟動程序后,首先要選擇主站設備的類型、設備的索引號、CAN 通道、CAN 波特率、主站ID 以及定時循環(huán)周期,而后啟動系統(tǒng),在從站設置中選擇要連接的從站ID,點擊“建立連接”,最后選擇已連接從站ID 和數(shù)據(jù)類型,輸入要發(fā)送的數(shù)據(jù),點擊發(fā)送數(shù)據(jù)即可。在退出程序時,要點擊斷開連接和停止系統(tǒng)。
圖4 程序的界面
系統(tǒng)的實驗主要是設計氣動抓手將一個工件從預定的托盤上抓取,從而驗證所搭建的系統(tǒng)能否正常可靠地工作。按照表1所示連接SysLink 和iCAN4050 的I/O 口,而后給系統(tǒng)上電,啟動PC 上的主站程序,選擇主站設備類型為PCI9820,設備索引號為0,CAN 通道為0,CAN 波特率為500 K,主站ID 為0,定時循環(huán)周期為100 ms。設置好參數(shù)后,點擊啟動按鈕,然后選擇未連接的從站ID 為0,點擊建立連接,此時PC 主站便于從站iCAN4050 模塊都上線了,可以發(fā)送數(shù)據(jù)進行通訊。按照表2 規(guī)定的數(shù)據(jù)指令發(fā)送,便可以控制相應的執(zhí)行機構動作。
表1 接線表
表2 執(zhí)行機構動作對應表
作者在數(shù)據(jù)框中輸入了0xFB,點擊發(fā)送,返回的DI 數(shù)據(jù)為0xFB,與表2 中的數(shù)據(jù)相吻合,實驗系統(tǒng)能夠正常穩(wěn)定的工作,如圖5所示。
圖5 實驗數(shù)據(jù)
iCAN 總線協(xié)議由于其技術的先進性、可靠性和低成本,必將在國內得到越來越廣泛的應用。特別是iCAN 協(xié)議是我國具有完全自主知識產(chǎn)權的現(xiàn)場總線標準,對它的推廣工作是很有意義的。作者將iCAN協(xié)議與閥島技術相結合,構建了實驗系統(tǒng),雖然結構簡單,但對于未來CAN 總線的教學方面有著非常大的啟發(fā)和指導作用。
【1】iCAN 協(xié)議規(guī)范[M].廣州致遠電子有限公司,2007.
【2】李輝,李征.基于iCAN 協(xié)議的分布式機械臂通訊系統(tǒng)研究[J].硅谷,2011(13):11-12.
【3】龔正大,梁全順,曾維明.基于iCAN 協(xié)議分布式超級電容監(jiān)測系統(tǒng)[J].工業(yè)控制計算機,2009,22(2):40-41.
【4】周立功.iCAN 現(xiàn)場總線原理及應用[M].廣州致遠電子有限公司,2007.