新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM和CAN總線的嵌入式PLC設計

        基于ARM和CAN總線的嵌入式PLC設計

        作者: 時間:2012-04-10 來源:網絡 收藏

        本系統軟件部分由下位機控制程序和上位機監控程序兩部分組成。前者主要負責讀取開關量和模擬量的輸入數據,控制開關量輸出,并且負責通過將數據上傳給上位機,以及接收來自上位機的命令;后者則通過人機交互界面來監控嵌入式的狀態。系統需要先完成μC/OS-II操作系統的移植,然后利用μC/OS-II操作系統提供的API函數以及微控制器集成開發工具Keil開發嵌入式系統的控制程序。

        3.1 下位機軟件設計

        系統下位機軟件采用模塊化的設計方法,把整個系統分解為幾個功能相對獨立的比較小的程序模塊,分別對實現各個功能的程序模塊進行設計、編程和調試。根據不同模塊在系統中的作用,嵌入式操作系統應實現多個不同優先級的控制任務。這些任務按照優先級從高到低分別為:接收計算機控制中心命令;采集和處理數據;發送數據到本地控制中心。系統啟動流程圖如圖5所示。

        基于ARM和CAN總線的嵌入式PLC設計

        通信程序主要由三部分組成:初始化、發送數據、接收數據。CAN控制器的初始化流程是:首先將中CAN控制器相關的引腳使能,然后對CAN控制器進行復位操作,設置的通信波特率,最后初始化CAN控制器的工作模式。初始化之后便可以進行數據的發送與接收。CAN數據發送是將采集到的數據打包成符合CAN發送幀格式后,調用CAN發送數據函數進行發送。數據接收程序是從接收緩沖器讀出數據,同時釋放接收緩沖器并對數據做出相應處理,本系統中CAN總線數據接收程序采用中斷法進行控制。數據發送和接收流程圖如圖6、圖7所示。

        基于ARM和CAN總線的嵌入式PLC設計

        3.2 上位機軟件設計

        上位機主要實現CAN總線通信、顯示輸入輸出端口的狀態等功能,可以接收下位機傳輸過來的數據,也可以發送命令控制下位機的輸出。采用VC++6.0開發環境的MFC編程實現上位機界面編程及與嵌入式之間的通信。實現界面如圖8所示。

        基于ARM和CAN總線的嵌入式PLC設計

        本文給出了基于和CAN總線的嵌入式PLC系統的軟硬件設計方法,實現了對12路開入量信號采集;13路開出量輸出信號的控制;8路模擬量的采集。具有LED指示開關量狀態、遠程監控的功能。采用高性能嵌入式微處理器和嵌入式實時操作系統為核心,并使用穩定的工業現場總線,保證了系統的可靠性和實時性,達到了預期的設計要求。


        上一頁 1 2 3 下一頁

        關鍵詞: ARM CAN總線 PLC

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 开封市| 东安县| 甘肃省| 屏东县| 朝阳市| 当阳市| 昌宁县| 老河口市| 三都| 柳河县| 盱眙县| 林芝县| 德昌县| 平潭县| 南投县| 南宁市| 双江| 正阳县| 呼图壁县| 夏邑县| 陇川县| 军事| 元氏县| 东至县| 高要市| 景谷| 大连市| 乐平市| 从化市| 邵阳市| 阳山县| 黄石市| 常宁市| 嵊泗县| 灵石县| 富蕴县| 江安县| 乌兰浩特市| 富锦市| 深水埗区| 定安县|