在线观看免费黄色网址,一区二区视频,亚洲国产综合网,欧美VA免费高清在线观看

基于LPC2294處理器的嵌入式PLC的設計

來源:網絡

點擊:1963

A+ A-

所屬頻道:新聞中心

關鍵詞:LPC2294 處理器 嵌入式PLC

      四十多年來,PLC已成為實現工業控制的中堅力量。它的功能不斷完善,應用領域不斷擴大,對于工業控制技術的進步與社會發展所發揮的作用無可估量。PLC以它的高可靠性和易操作性,主導了工控行業數十年。PLC雖然有著它固有的優勢,但面對客戶需求的不斷變化,PLC要想生存,就必須突破傳統模式,積極求新求變以適應新的市場發展。而具有低成本優勢的嵌入式PLC,正好能夠滿足這一需求。所謂嵌入式PLC是指采用SoC嵌入式片上系統芯片和嵌入式實時操作系統實現PLC功能,并能用IEC61131-3的標準編程語言編程的PLC.隨著高性能的ARM嵌入式微處理器的發展,筆者設計了新一代微型嵌入式PLC.本文介紹了嵌入式PLC的體系結構,包含其硬件設計和軟件設計方案。

    1 嵌入式PLC的硬件結構設計

      1.1 微控制器芯片的選取

      CPU是PLC的核心,它能夠識別用戶按照特定的格式輸入的各種指令,并按照指令的規定,根據當前的現場I/O信號的狀態,發出相應的控制指令,完成預定的控制任務。本設計選用的是Philips公司生產的LPC2294微控制器。LPC2294是一款基于32位ARM7TDMI-S,并支持實時仿真和跟蹤的CPU芯片,它帶有256kB嵌入的高速Flash存儲器,16kB片內SRAM.LPC2294采用144腳封裝、具有極低的功耗以及多達112個通用I/O口,9個邊沿或電平觸發的外部中斷引腳,最大為60MHz的工作晶振,多個32位定時器,PWM單元,實時時鐘和看門狗,轉換時間低至2.44μs的8通道10位ADC、4路高級CAN接口,另外具有2路UART(16C550),高速I2C(400kbit/s)及2路SPI總線。LPC2294豐富的硬件資源和完善的功能使這款微控制器特別適用于汽車、工業控制應用以及醫療系統和容錯維護總線等場合。

      1.2 硬件系統的整體結構

      本系統以ARM芯片LPC2294為CPU,設計為14路PNP型輸入、10路繼電器輸出的基本模式。硬件總體結構包括:

      電源及復位模塊、ARM微控制器、Flash存儲器擴展模塊、開關量輸入輸出模塊、模擬量輸入輸出模塊、RS485接口及CAN接口通信模塊等。系統的結構如圖1所示。

      1.2.1開關量輸入輸出接口電路

      圖2所示為一路開關量輸入圖。此部分電路前端為R、C組成的一階濾波電路,防止外部干擾信號進入系統中。輸入端外接的輸入控制開關信號(直流24V)通過輸入點10.0經限流電阻輸入到光電耦合器(PC816)的輸入端,M為輸入點10.0~10.7的公共輸入端。因P0.23口被設置為輸入模式且口線內部無上拉電阻,所以需要外接上拉電阻,防止口線懸空。當10.0輸入端為24V時,光電耦合器中的光敏二極管導通,光敏晶體管輸出端被拉為低電平,指示該路輸入狀態的LED被點亮,P0.23被置為低電平。當CPU訪問該路信號時,將該輸入點對應的輸入過程映像寄存器的值置為1.10.0輸入端為0V時,P0.23為高電平,當CPU訪問該路信號時,則將該輸入點對應的輸入過程映像寄存器的值置為0.其余各個輸入點所對應的電路及工作原理均相同。

      圖3所示為繼電器輸出模塊圖,圖中并聯在繼電器線圈兩端的二極管這里起續流作用。該模塊的工作原理如下:當內部輸出過程映像寄存器為1時,LPC2294端口P1.16輸出0,光敏晶體管導通,繼電器線圈得電,輸出點接通;反之當內部輸出過程映像寄存器為0時,端口P1.16輸出1,繼電器線圈失電,輸出點斷開。

      需要注意的是,當LPC2294的GPIO口初上電時,其輸出端口(如本圖中的P1.16)的電壓不穩定,這樣易導致外部繼電器誤動作而引起外部設備工作不穩定。為此,我們設計了圖4電路用來提高繼電器輸出的穩定性。

      這是一個由NE555定時器組成的單穩態電路,其中VCC5.0D端接圖3中光電耦合器的集電極。其工作原理為:系統上電初始,2、6管腳電平不能突變,保持為低電平。分析NE555的內部電路可知,此時輸出端3管腳輸出高電平,電路開始對R、C電路進行充電,隨著時間的推移,管腳2、6的電平不斷升高,當升至23VCC時,輸出端3管腳將翻轉至低電平,使三極管導通,VCC5.0D輸出5V.這樣,系統上電后經過一段時間,I/O口的電平穩定下來之后,光電耦合器才得電開始工作。暫穩態的持續時間tW取決于外接電阻R和電容C的大小。tW等于電容電壓在充電過程中從0上升到23VCC所需要的時間,即

    公式

      1.2.2模擬量輸入電路設計

      先通過電阻R66,將現場傳感器輸出的電流信號轉換為0~5V電壓信號進行采集??紤]到抗干擾及對微處理器電路的保護,在轉換電路的輸出端加了線性光耦HCNR201.硬件電路如圖5所示。

      1.2.3串行通訊接口電路設計

      為了能與其它工業控制產品兼容,我們設計時采用了RS-485接口標準。為了將TTL電平轉換成RS485電平,選用了SP485E收發器。SP485E芯片的數據傳輸速率可高達10Mbps,其最大的特點是在為發送器輸出和接收器輸入管腳提供了ESD保護電路。接口電路如圖6所示。

    2 嵌入式PLC的軟件系統設計

      嵌入式PLC的軟件分為運行系統軟件和開發系統軟件兩部分。運行系統負責對整個系統的管理和對用戶程序的編譯執行,并保存所有的數據,完成與外界通訊。開發系統面對用戶,完成對PLC程序的編輯和轉換。

      2.1 PLC運行系統軟件

      該系統負責為應用程序分配內存,把該應用程序加載到分配好的內存里,然后開始執行該程序的指令。如果該程序要求位于底層的操作系統提供服務,該運行系統還必須負責處理有關的服務請求。該運行系統是基于嵌入式操作系統μC/OS-II來開發的,選用嵌入式操作系統提高了軟件系統的抗干擾性,系統的可靠性及應用軟件的開發效率,縮短了開發周期。μC/OS-II的移植的主要工作是修改與ARM處理器相關部分的代碼,它們集中在3個文件中。

     ?、貽S_CPU.H文件該文件包含了用#define定義的與處理器相關的常量、宏和類型定義。文件中這些數據類型的定義如下:

      typedefunsignedcharBOOLEAN;

      typedefunsignedcharINT8U;

      typedefsignedcharINT8S;

      typedefunsignedshortINT16U;

      typedefsignedshortINT16S;

      typedefunsignedintINT32U;

      typedefsignedintINT32S;

      typedeffloatFP32;

      typedefdoubleFP64;

      typedefunsignedintOS_STK;

      與ARM7體系結構相關的一些定義如下:

      #defineOS_CRITICAL_METHOD2

      __swi(0×00)voidOS_TASK_SW(void);

      __swi(0×01)void_OSStartHighRdy(void);

      __swi(0×02)voidOS_ENTER_CRITICAL(void);

      __swi(0×03)voidOS_EXIT_CRITICAL(void);_

      _swi(0×40)void*GetOSFunctionAddr(intIndex);

      __swi(0×41)void*GetUsrFunctionAddr(intIndex);

      __swi(0×42)voidOSISRBegin(void);

      __swi(0×43)intOSISRNeedSwap(void);

      __swi(0×80)voidChangeToSYSMode(void);

      __swi(0×81)voidChangeToUSRMode(void);

      __swi(0×82)voidTaskIsARM(INT8Uprio);

      __swi(0×83)voidTaskIsTHUMB(INT8Uprio);

      /*上述函數需在移植文件OS_CPU.H中將其聲明。

      */#defineOS_STK_GROWTH1

      此代碼段中的OS_ENTER_CRITICAL()函數和OS_EXIT_CRITICAL()函數實現打開和關閉處理器的功能。 ?、贠S_CPU_C.C文件該文件中的任務棧結構初始化函數OSTaskStkInit(),必須根據移植時統一定義的任務堆棧結構進行初始化。另外還有9個系統規定的鉤子函數必須聲明,但可以不包含任何代碼,這些鉤子函數在本移植中全為空函數。

     ?、跲S_CPU_A.S文件的移植共包括4個函數:多任務啟動函數中調用的OSStartHighRdy()、任務切換函數OSCtxSw()、中斷任務切換函數OSIntCtxSw()、時鐘節拍服務函數OSTickISR()。

      至此整個μC/OS-II內核移植完成。以后的用戶程序都是在這個基礎上進行的擴充。

      2.2 PLC開發系統軟件

      該系統的主要任務是讓用戶編寫PLC程序,所以還需要設計與該系統相對應的編程平臺。編程平臺的設計主要包括編程界面的設計、編輯器的設計、轉換模塊的設計、編譯器的設計和通信模塊的設計等。軟件系統結構圖如圖7所示。

      用戶在編程平臺里編寫PLC程序。這里借用FX系列PLC的編程軟件SWOPC-FXGP/WIN-C作為編程平臺,編程語言可以使用梯形圖和指令表。然后通過轉換程序把編譯后的目標文件轉化成C語言。轉換程序其實就是一個解釋系統,通過逐條翻譯編程軟件的指令表,生成和處理器指令系統無關的用戶指令。使用這樣的方式作為上位機編程平臺,節省了工作量。

    3 系統測試

      將所設計的PLC軟件系統植入基于LPC2294的嵌入式開發平臺,與PLC輸入輸出硬件接口板連接,構成14輸入10輸出的PLC系統。在上層開發系統中編寫相應的PLC梯形圖,編譯后加載到嵌入式PLC的運行系統中。梯形圖如圖8所示。

    圖8 梯形圖

      按下開關0,相應的LED0被點亮,延時4秒后LED1被點亮。按下開關1,相應的LED2被點亮,同時LED0被熄滅。

      由以上的測試效果可以看出原型機的測試結果與理論分析結果相同,所設計的PLC控制系統硬件、軟件及μCOS-II操作系統的移植達到了期望的控制效果,達到了設計要求。

    4 結束語

      本文針對目前普通PLC存在的一些不足,提出了一種基于LPC2294的嵌入式PLC設計方案。該嵌入式PLC的硬件、軟件、通信等各方面的功能設計靈活,易于剪裁,更貼近各種檔次的機電設備的要求。該PLC完全基于嵌入式系統的技術基礎,拿來就可以用,且SOC芯片、嵌入式操作系統、符合IEC61131-3編程語言標準編程環境等在市場上很容易找到,因此該嵌入式PLC在我國市場的使用和推廣前景十分可觀。

     

     

    (審核編輯: 智匯李)

    聲明:除特別說明之外,新聞內容及圖片均來自網絡及各大主流媒體。版權歸原作者所有。如認為內容侵權,請聯系我們刪除。

    newjeans是高层内斗的牺牲品吗| 王文也男友求婚成功| 缅甸男子求助中国救援队探测出生命 | 李现又去公园打鸟了河南一枯井发现近百名烈士遗骸 | 站姐愚人节团建预告| 4月1日含义是81192| 美国又有一架飞机坠毁| 男子赠妻子闺蜜7万被判全额返还加利息 | 男子肝癌晚期只打一针获新生| 檀健次 帕拉丁河南一枯井发现近百名烈士遗骸| 12306回应有人光脚踩座椅怎么办 WTT仁川冠军赛首轮赛程 | 微博游戏动漫展| BLACKPINK未公开的物料| 胡锡进说美国PUA了日本| by2十六年后再穿出道战衣金秀贤记者会直播| 王艳发了赤脚鬼| 站姐愚人节团建预告| 吴柳芳发博过三月三| 雷军摄影夜校迎来首批毕业生| 缅甸地震已致2056人死亡| 疑似沈月亚洲最美面孔脱敏训练| 李现的微博逐渐奇怪 | 陈昊宇陈丽君四公帮唱| 王艳发了赤脚鬼| 李昀锐好标准的体育生下楼梯| 2025中国网络媒体论坛| 国家标准住宅项目规范发布| 中国咖啡98%来自云南| 陈昊宇陈丽君四公帮唱| 横店变竖店了| 10元盒饭姐喊话浪费顾客一辈子别来| 甲亢哥针灸正骨后已老实| 金秀贤记者会最起鸡皮疙瘩的一句话| 河南一枯井发现近百名烈士遗骸 | 4人入室抢婴案妈妈索赔600多万| 马吟吟被宋妍霏迷成胚胎了| 张檬称月子要坐满100天| 白敬亭 宋轶| 智能见真章安全有底线| 乘风2025最新排名| BLACKPINK未公开的物料 |