新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > CANopen協議在現場總線網絡中的應用

        CANopen協議在現場總線網絡中的應用

        作者: 時間:2009-03-31 來源:網絡 收藏
        通過服務數據對象 SDO 可以訪問一個設備的。為了使通訊得到確認,一個 SDO 需要兩個帶有不同標識符的 CAN 數據幀,通過 SDO ,在兩個設備問可以建立點對點的通信,被訪問的設備是 SDO 通訊的服務器,一個設備可以支持多個 SDO 對象,但是,至少有一個 SDO 在一個設備中被支持。
        (3) 特殊功能對象提供了特定同步,時間戳和緊急報文傳輸。
        (4) 管理 (NMT) 提供了初始化,錯誤控制和設備狀態控制服務。
        網絡中,需要一個節點履行 NMT 的 Master( 主節點 ) 功能。其他節點作為 NMT的 Slave( 從節點 ) 。 NMT 提供了以下功能:模塊控制服務 ( 初始化參加網絡通訊的從點 ) ;錯誤控制服務 ( 管理節點和網絡通訊的狀態 ) ;配置控制服務 ( 上傳和下載網絡的配置據 ) 。
        (5) 層設置服務 (LSS) 用來配置 CAN 通訊參數和設備參數。
        使用 協議定義的 LSS 報文實現對 CAN 網絡的配置,包括節點 ID ,通訊波特率,儀器的產品號、序列號等。 LSS 報文在 協議通訊中是可選的,可以在節點初始化時直接指定節點 ID ,通訊速率等參數,它的使用可以提高系統靈活性。
        3 通信網絡的 CANopen 協議實現
        3.1 自調勻整系統通信網絡結構
        本并條機自調勻整系統由鍵盤顯示控制器、 控制器、 A 孔伺服電機控制器、 B 孔伺服電機控制器、 PLC 邏輯控制器和 PC 機監控組成,各節點在 CAN 的基礎上采用 CANopen 協議實現通訊,完成系統預定義的功能。圖 2 所示為 A 孔開環式并條機自調勻整原理圖。

        3.2 硬件部分

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

        控制器部分為整個系統的核心,負責對整個通信網絡進行信息采集、數據運算、工作控制。下面主要說明 控制器的 CANopen 協議實現。

        采用集成 CAN 模塊的 TMS 320F 2810 DSP 實現,它有多達 32 個郵箱,占用 512 B RAM ,都可以配置為發送或接收郵箱,且都有一個可編程的接收屏蔽寄存器。這樣就使數據傳輸更加方便靈活、信息量大大增加。圖 3 為 DSP 控制器 CAN 總線部分驅動電路圖,分別選用 TMS320F 2810 的 64 引腳 CANTXA 和 65 引腳 CANRXA 作為 CAN 總線的發送和接收引腳。采用 ADuM1100 高速數字隔離器替代傳統的光電耦合器。采用 MCP2551 作為高速 CAN 收發器,具有差分發射和接收能力,可將許多節點與同一網絡相連接。

        3.3 軟件部分

        根據 CANopen 協議軟件框架,分別設置了 NMT 報文、 SYNC 報文、 SDO 報文、 PDO 報文和 Heartbeat 報文,并針對 DSP 控制器從節點的性質及其與各節點之間的關系,設置了各報文的 COB - ID ,見表 3 。

        在系統中鍵盤顯示控制器為主節點,通過液晶顯示監控各從節點信息,主節點通過檢測 4 個從節點發送的周期性心跳報文 (Heartbeat) 來判斷各個從節點的工作狀態。圖 4 為 DSP 控制器從節點的 CANopen 協議通訊流程:在系統上電后,首先向主節點發送 Boot-up 報文,通知主節點進入 Pre-operational 狀態,等待主節點的 SDO 報文訪問,在完成對象字典的配置后,等待接收主節點的 NMT 報文進入 Operational 狀態,開始 PDO 報文的發送及接收,完成信息數據的交換,實現分布式網絡控制。

        4 測試結果



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 铜山县| 博乐市| 鄂托克旗| 横峰县| 荔波县| 桑日县| 老河口市| 山丹县| 田阳县| 丰台区| 石门县| 社会| 朔州市| 屏南县| 铜梁县| 平塘县| 壤塘县| 成安县| 九台市| 吉水县| 崇义县| 临西县| 广南县| 广汉市| 凌海市| 金寨县| 中超| 田林县| 宁安市| 延长县| 钟山县| 栾城县| 昌都县| 白城市| 武冈市| 怀仁县| 伊金霍洛旗| 精河县| 洮南市| 望奎县| 从化市|