關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于CAN總線的分布式控制器設計和實現

        基于CAN總線的分布式控制器設計和實現

        作者: 時間:2009-10-26 來源:網絡 收藏
        2 應用層協議

        本文引用地址:http://www.104case.com/article/163511.htm

        為了讓各個模塊之間能協同高效工作,對數據傳輸之間的格式和意義做一個規定,這就是應用層協議。

        2.1 的應用層協議

        控制系統之間需要一定的協議支持,本系統采用一主多從的控制模式,主控模塊作為傳感信號的接受者、處理者和驅動信號的發布者;信號輸入模塊作為信息的采集者和過濾者;而伺服控制模塊和閥驅動模塊作為動作的執行者(如圖4)。

        在信息控制面,主控模塊要向其他控制模塊發送“建立連接”請求,在收到所有模塊的“連接應答”之后才開始工作,否則發出連接錯誤信息,并指出沒有連接的模塊。主控模塊可以通過“數據上報”命令和“數據停止上報”命令打開和關閉主控模塊與信號輸入模塊之間的鏈路。“執行器開始”命令和“執行器停止”命令用于開始或停止驅動器,這里可以指直流電機或者氣動閥。

        2.2 的數據幀結構

        CAN接受一幀最多為8字節,本文規定了應用層協議,如表1。

        源地址是指命令的發起者;數據/命令表示本幀是命令面信息還是數據面信息;功能則表示本幀的作用,比如“建議連接”請求;數據位數表示數據的字節數,最多四位,對于命令幀則忽略該位。

        3 軟件開發平臺

        根據不同機械系統的要求,人員可以選擇不同的硬件組合。為了方便軟件,本采用了筆者開發的CSOS操作系統,該操作系統時間片輪換算法,支持多任務操作,各任務之間的數據通過全局變量傳遞,占用系統資源少、易學、易用,適合本控制系統的要求。

        3.1 的多任務操作

        信息接受任務,包括外部傳感器的信號,或者上的命令信息和數據信息,將信息解包之后獲得有用的數據(如CAN協議幀中的有用信息段)扔向數據通道,提供其他任務調用。

        算法處理任務,從數據通道獲取信息字段,經過計算將結果扔向數據通道。

        信息輸出任務,對算法任務數據結果進行打包向驅動器或者CAN總線發送,用于驅動或者向CAN總線投放數據包。

        LCD顯示任務和鍵盤輸入任務,這兩個任務分別負責數據顯示和鍵盤的輸入。

        伺服電機相關文章:伺服電機工作原理


        pid控制器相關文章:pid控制器原理




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 正定县| 墨竹工卡县| 壶关县| 新余市| 上饶县| 柞水县| 望城县| 镶黄旗| 双牌县| 儋州市| 裕民县| 方山县| 天全县| 正宁县| 永寿县| 巴青县| 尉犁县| 扶风县| 商南县| 班戈县| 鄂州市| 凤阳县| 大洼县| 连南| 青神县| 义乌市| 漳浦县| 迭部县| 马鞍山市| 牙克石市| 长子县| 开封县| 吉木萨尔县| 万宁市| 广灵县| 玉环县| 修水县| 东兰县| 山阳县| 深泽县| 大名县|