首 頁文檔資料下載資料維修視頻汽修在線平臺
請登錄  |  免費注冊
當前位置:精通維修下載 > 文檔資料 > 電工技術(shù) > 機電工程
基于CAN-Ethernet網(wǎng)關(guān)的人機通信技術(shù)研究及實現(xiàn)
來源:電工技術(shù)  作者:佚名  2017-07-08 08:41:45

    摘要:隨著電控系統(tǒng)的復(fù)雜化,越來越多的設(shè)備信號需接入到更靈活的系統(tǒng)中,但現(xiàn)場很多設(shè)備只有CAN口,為此根據(jù)實際工程需求提供了一種CAN總線設(shè)備轉(zhuǎn)接到以太網(wǎng)的技術(shù)方案,并給出了系統(tǒng)組成部分硬件及軟件的設(shè)計與實現(xiàn)。

    1 控制系統(tǒng)架構(gòu)
    CAN總線由于具有結(jié)構(gòu)簡單、信息幀短、應(yīng)用靈活方便、可靠性強等優(yōu)點,在環(huán)境干擾因素多、突發(fā)性事件頻發(fā)的現(xiàn)場具有不可替代的地位,因此在不同領(lǐng)域內(nèi)得到應(yīng)用和推廣,但也存在無法直接連接網(wǎng)絡(luò)的局限性,不適合遠距離信息傳遞。而以太網(wǎng)可利用網(wǎng)絡(luò)進行遠距離通信,恰好與CAN總線互足,可把設(shè)備控制信息方便、快速地傳送到后臺監(jiān)控或非CAN總線的設(shè)備中,以及時獲知現(xiàn)場設(shè)備的運行狀況,方便上位系統(tǒng)監(jiān)控。基于CAN-Ethernet的控制系統(tǒng)框圖如圖1所示。

    2 CAN-Ethernet網(wǎng)關(guān)
    工程現(xiàn)場需要給設(shè)備配置HMI人機界面,該人機界面支持Modbus TCP通信協(xié)議,但控制器不支持Modbus協(xié)議,所以采用ENC-318 CAN轉(zhuǎn)以太網(wǎng)網(wǎng)關(guān)。該網(wǎng)關(guān)可作為TCP通信從站,配置IP、端口和波特率,支持CAN2.0A、CAN2.0B標準協(xié)議和04、16功能碼。通過配置軟件EC-123配置網(wǎng)關(guān)IP、端口號及CAN端的波特率,擴展幀還是標準幀。
    該網(wǎng)關(guān)數(shù)據(jù)通信原理如圖2所示,CAN幀的數(shù)據(jù)收發(fā)都有對應(yīng)緩存,CAN端和以太網(wǎng)端進行數(shù)據(jù)交互時都是先將數(shù)據(jù)存人緩存,接收方再按兩者之間正確的對應(yīng)格式進行處理。

    3 控制器軟件設(shè)計
    CAN的正常數(shù)據(jù)收發(fā),因為每個控制柜只有一個HMI屏,所以可用CAN幀的ID識別報文,而不占用常規(guī)的8字節(jié)的數(shù)據(jù)區(qū)。 CAN通信協(xié)議采用CAN2. 0A標準幀,通信數(shù)據(jù)格式定義如下:
typedef struct

    UINT3 2 cob id:11;
      UINT32 rtr:1;
    UINT32 len;
    UINT32 hdata;
    UINT32 ldata;
}FpgaCanAppFrame;
    為實現(xiàn)CAN總線與以太網(wǎng)之間的數(shù)據(jù)互通,控制器軟件側(cè)主要設(shè)計了數(shù)據(jù)初始化、CAN收發(fā)數(shù)據(jù)、通信數(shù)據(jù)和應(yīng)用數(shù)據(jù)間交互處理功能塊。其中,數(shù)據(jù)初始化部分完成數(shù)據(jù)的初值顯示;收發(fā)數(shù)據(jù)完成控制器到屏的數(shù)據(jù)上傳顯示和屏到控制器的操控內(nèi)容下發(fā);通信數(shù)據(jù)和應(yīng)用數(shù)據(jù)間交互處理則完成上傳數(shù)據(jù)的準備和下發(fā)數(shù)據(jù)的處理過程,這兩部分內(nèi)容都放在1ms任務(wù)線程中周期執(zhí)行。
    3.1上傳數(shù)據(jù)
    控制器端發(fā)送的數(shù)據(jù)是標準CAN幀格式,對應(yīng)Modbus協(xié)議的04功能碼。其中,III用來區(qū)分具體變量,rtr定義為0表示數(shù)據(jù)幀,因為控制器在做幀數(shù)據(jù)時將8個字節(jié)分成了高低各4個字節(jié)進行數(shù)據(jù)傳輸,所以在與HMI通信變量交互時,分別用的高低4個字節(jié)表示一個變量以提高傳輸效率。通過一個獨立函數(shù)進行需要上傳數(shù)據(jù)的準備,當上傳數(shù)據(jù)準備好后,數(shù)據(jù)會周期性自動地發(fā)送到CAN-Ethernet網(wǎng)關(guān)的CAN端緩沖區(qū)內(nèi)。
    當HMI進行04碼功能查詢時,再通過Modbus協(xié)議形式上傳至HMI,屏端根據(jù)報文內(nèi)容將每個變量解析并由相應(yīng)控件顯示。CAN上傳數(shù)據(jù)流程如圖3所示。

[1] [2]  下一頁

關(guān)鍵詞:

  • 好的評價
      0%(0)
  • 差的評價
      0%(0)

文章評論評論內(nèi)容只代表網(wǎng)友觀點,與本站立場無關(guān)!

   評論摘要(共 0 條,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
頁面執(zhí)行時間:90,873.05000 毫秒
石渠县| 富源县| 盐池县| 高淳县| 定安县| 藁城市| 乌拉特前旗| 莫力| 大安市| 牙克石市| 凭祥市| 休宁县| 卢氏县| 光山县| 米易县| 革吉县| 云阳县| 和林格尔县| 丹江口市| 皮山县| 克东县| 玉山县| 苏州市| 赣州市| 庆城县| 庄河市| 西林县| 北宁市| 贵定县| 敖汉旗| 固始县| 兴山县| 黄梅县| 集安市| 团风县| 辛集市| 临澧县| 徐州市| 神木县| 资中县| 普兰县|