當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于AR嘞CAN總線的嵌入式PLC設(shè)計

摘要:為實現(xiàn)PLC低成本,個性化的社會需求,提出一種嵌入式PLC設(shè)計方案,重點討論了系統(tǒng)的總體構(gòu)成以及軟、硬件設(shè)計方法。系統(tǒng)采用ARM作為主控芯片,以CAN總線作為主要通信接口,結(jié)合嵌入式實時操作系統(tǒng),保證了系統(tǒng)的可靠性和實時性。實驗結(jié)果表明,該系統(tǒng)運(yùn)行穩(wěn)定,通信可靠,能夠滿足基本的工業(yè)應(yīng)用需求。
關(guān)鍵詞:可編程邏輯控制器;ARM;嵌入式系統(tǒng);CAN總線

0 前言
    可編程邏輯控制器(PLC),一種數(shù)字運(yùn)算操作的電子系統(tǒng),專為在工業(yè)環(huán)境應(yīng)用而設(shè)計。它采用一類可編程的存儲器,用于其內(nèi)部存儲程序,執(zhí)行邏輯運(yùn)算、順序控制、定時、計數(shù)與算術(shù)操作等面向用戶的指令,并通過數(shù)字或模擬輸入/輸出控制各種類型的機(jī)械或生產(chǎn)過
程,是工業(yè)控制的核心部分。隨著工業(yè)技術(shù)的發(fā)展以及規(guī)模的不斷擴(kuò)大,傳統(tǒng)的PLC面臨著IO點數(shù)增多、通訊功能需要增強(qiáng)等諸多方面的挑戰(zhàn),已無法滿足個性化、差異化的需求。
    現(xiàn)有的設(shè)計主要有工控機(jī)、單片機(jī)板等。工控機(jī)在互連、表達(dá)、算法等方面優(yōu)勢明顯,但其實時性、穩(wěn)定性難以滿足連續(xù)控制的苛刻要求,通常用于監(jiān)控。單片機(jī)系統(tǒng)在成本控制上更加靈活,可是沒有操作系統(tǒng)使其只能應(yīng)用于低端場合。具有嵌入式操作系統(tǒng)的PLC將能結(jié)合兩者的優(yōu)點,成為PLC領(lǐng)域的主要研究方向。本文介紹以嵌入式芯片STM32和CAN總線相結(jié)合的方式進(jìn)行嵌入式PLC設(shè)計,并采用μC/OS-II實時操作系統(tǒng),利用其開放性、模塊化和可擴(kuò)展性的系統(tǒng)結(jié)構(gòu)特性來達(dá)到高實時要求的PLC控制,在保證實時性的同時,實現(xiàn)多點位、復(fù)雜功能的PLC系統(tǒng)控制目標(biāo)。

1 系統(tǒng)總體設(shè)計
    系統(tǒng)總體設(shè)計框圖如圖1所示。本設(shè)計采用ST公司生產(chǎn)STM32F103RCT6作為系統(tǒng)的主處理器。STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應(yīng)用專門設(shè)計的ARM Cortex-M3內(nèi)核,它集成了兩個CAN控制器,并為每個CAN控制器分配了256字節(jié)的SRAM,每個CAN控制器有3個發(fā)送郵箱和兩個接收FIFO。它主要負(fù)責(zé)采集、處理開關(guān)量和模擬量輸入,控制開關(guān)量輸出,同時通過CAN總線完成與上位機(jī)的通信。


    開關(guān)量的輸入,為了減少外部開關(guān)對系統(tǒng)的干擾,首先在輸入端用光電耦合器隔離,再由IO口分別讀取12路通道的輸入,讀取的開關(guān)量可以存儲在ARM的存儲器內(nèi)。ARM對開關(guān)量數(shù)據(jù)進(jìn)行處理,一方面通過CAN總線將數(shù)據(jù)傳輸?shù)缴衔粰C(jī);另一方面將開關(guān)狀態(tài)由LED實時顯示輸入開關(guān)量狀態(tài)。對于13路的開關(guān)量輸出,ARM通過CAN總線得到上位機(jī)傳來的開關(guān)量輸出數(shù)據(jù),并且將數(shù)據(jù)進(jìn)行處理,一方面通過控制繼電器的鎖存器將數(shù)據(jù)鎖存,完成對繼電器的開關(guān)控制;另一方面將開關(guān)狀態(tài)由LED實時顯示輸出開關(guān)量狀態(tài)。模擬量的采樣則通過信號放大調(diào)理電路及相應(yīng)的控制電路,然后對其進(jìn)行A/D轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)字量讀入PLC系統(tǒng)的輸入映像緩沖區(qū),從而完成對模擬量的采集。

2 系統(tǒng)硬件設(shè)計
2.1 開關(guān)量輸入輸出模塊
    開關(guān)量輸入電路的功能是接收工業(yè)現(xiàn)場各種開關(guān)量信號的輸入,并將其轉(zhuǎn)換成符合CPU要求的標(biāo)準(zhǔn)邏輯電平。為提高控制器的抗干擾能力,在開關(guān)量輸入信號和處理器STM32之間使用光電耦器件TLP521隔離,當(dāng)開關(guān)量輸入信號受到干擾時,只要其共模電壓低于光耦的最大隔離電壓,就不會對處理器正常工作造成任何影響。
    開關(guān)量輸入電路如圖2所示。其中X1為輸入端,P1為微控制器端口,LED0為輸入點的狀態(tài)指示燈,TLP521為光電耦合器,它實現(xiàn)現(xiàn)場與PLC的CPU電氣隔離,提高抗干擾性。

[!--empirenews.page--]
    開關(guān)量輸出電路是嵌入式PLC與外部連接的輸出通道,PLC通過它向外部現(xiàn)場執(zhí)行部件輸出相應(yīng)的控制信號。開關(guān)量輸出通常有晶體管輸出和繼電器輸出兩種形式。本設(shè)計中,開關(guān)量輸出電路采用了13路繼電器輸出,器件選用松樂SRD-24VDC-SL-C,繼電器輸出電路可用于直流負(fù)載,也可用于交流負(fù)載,它特別適合于對動作時間和工作頻率要求不高的場合。其電路圖如圖3所示。D1為穩(wěn)壓二極管1N4148,因為直流繼電器的線圈在斷開時會產(chǎn)生反向電動勢,這時需要在繼電器兩極并接一個1N4148來進(jìn)行快速放電。


2.2 模擬量輸入模塊
    模擬量輸入電路的主要功能是把現(xiàn)場測量到的模擬量信號轉(zhuǎn)變成PLC可以處理的數(shù)字量信號。A/D轉(zhuǎn)換器是模擬量輸入電路的主要器件,STM32微控制器內(nèi)部含有8路10位A/D轉(zhuǎn)換器,配合信號調(diào)理電路以及相應(yīng)的控制電路,可以完成模擬量的采樣和轉(zhuǎn)換。轉(zhuǎn)換后的數(shù)字量由CPU讀入PLC系統(tǒng)的輸入映像緩沖區(qū),從而完成對模擬量的采集。
    本設(shè)計中,模擬量輸入電路有8路4~20mA電流輸入。4~20mA直流信號制是國際電工委員會(IEC)制定的過程控制系統(tǒng)用模擬信號標(biāo)準(zhǔn)。在工業(yè)現(xiàn)場,如果采集的信號經(jīng)調(diào)理后是電壓信號并且進(jìn)行長線傳輸,會產(chǎn)生以下問題:第一,由于傳輸?shù)男盘柺请妷盒盘?,傳輸線會很容易受到噪聲的干擾;第二,傳輸線的分布電阻會產(chǎn)生電壓降。為了解決上述問題和避開相關(guān)噪聲的影響,工業(yè)現(xiàn)場大量采用電流來傳輸信號。
2.3 CAN總線接口電路
    CAN總線是一種支持分布式實時控制的串行通信網(wǎng)絡(luò),采用對通信數(shù)據(jù)進(jìn)行編碼的方式,使得CAN總線上的節(jié)點數(shù)量理論上幾乎不受限制。然而實際上,CAN總線上的節(jié)點數(shù)量不宜超過100個。每一個嵌入式PLC通過CAN總線實現(xiàn)與上位機(jī)的通信,傳輸距離可達(dá)10km,通信速率高、可靠性高、抗干擾能力強(qiáng)。由于STM32F103X內(nèi)部已集成CAN總線控制器,因此只需要外接CAN收發(fā)器即可,使得電路更加簡潔而且成本更低,同時可靠性得以提高。CAN收發(fā)器采用TI公司的SN65HVD230供電電壓為3.3V的CAN總線收發(fā)器,該收發(fā)器采用差分收發(fā)方式,最高速率可達(dá)1Mb/s,具有高抗電磁干擾、CAN總線保護(hù)、斜率控制等特點,電氣連接簡單,使用方便,完全滿足工業(yè)級產(chǎn)品的技術(shù)要求。通信接口電路如圖4所示。



3 系統(tǒng)軟件設(shè)計
    由于嵌入式PLC在工業(yè)控制方面的實時性和穩(wěn)定性要求,選用μC/OS-II操作系統(tǒng)來管理任務(wù)調(diào)度。μC/OS-II是一個專為嵌入式應(yīng)用設(shè)計,基于優(yōu)先級調(diào)度的搶占式實時操作系統(tǒng)內(nèi)核,它包含了任務(wù)調(diào)度、任務(wù)管理、時間管理、任務(wù)間通信與同步等功能。各任務(wù)之間通過信號量、郵箱和消息隊列實現(xiàn)相互間的數(shù)據(jù)交換和同步。
    本系統(tǒng)軟件部分由下位機(jī)控制程序和上位機(jī)監(jiān)控程序兩部分組成。前者主要負(fù)責(zé)讀取開關(guān)量和模擬量的輸入數(shù)據(jù),控制開關(guān)量輸出,并且負(fù)責(zé)通過CAN總線將數(shù)據(jù)上傳給上位機(jī),以及接收來自上位機(jī)的命令;后者則通過人機(jī)交互界面來監(jiān)控嵌入式PLC的狀態(tài)。系統(tǒng)需要先完成μC/OS-II操作系統(tǒng)的移植,然后利用μC/OS-II操作系統(tǒng)提供的API函數(shù)以及ARM微控制器集成開發(fā)工具Keil開發(fā)嵌入式PLC系統(tǒng)的控制程序。[!--empirenews.page--]
3.1下位機(jī)軟件設(shè)計
    系統(tǒng)下位機(jī)軟件采用模塊化的設(shè)計方法,把整個系統(tǒng)分解為幾個功能相對獨立的比較小的程序模塊,分別對實現(xiàn)各個功能的程序模塊進(jìn)行設(shè)計、編程和調(diào)試。根據(jù)不同模塊在系統(tǒng)中的作用,嵌入式操作系統(tǒng)應(yīng)實現(xiàn)多個不同優(yōu)先級的控制任務(wù)。這些任務(wù)按照優(yōu)先級從高到低分別為:接收計算機(jī)控制中心命令;采集和處理數(shù)據(jù);發(fā)送數(shù)據(jù)到本地控制中心。系統(tǒng)啟動流程圖如圖5所示。


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


3.2 上位機(jī)軟件設(shè)計
    上位機(jī)主要實現(xiàn)CAN總線通信、顯示輸入輸出端口的狀態(tài)等功能,可以接收下位機(jī)傳輸過來的數(shù)據(jù),也可以發(fā)送命令控制下位機(jī)的輸出。采用VC++6.0開發(fā)環(huán)境的MFC編程實現(xiàn)上位機(jī)界面編程及與嵌入式PLC之間的通信。實現(xiàn)界面如圖8所示。


    本文給出了基于ARM和CAN總線的嵌入式PLC系統(tǒng)的軟硬件設(shè)計方法,實現(xiàn)了對12路開入量信號采集;13路開出量輸出信號的控制;8路模擬量的采集。具有LED指示開關(guān)量狀態(tài)、遠(yuǎn)程監(jiān)控的功能。采用高性能嵌入式微處理器和嵌入式實時操作系統(tǒng)為核心,并使用穩(wěn)定的工業(yè)現(xiàn)場總線,保證了系統(tǒng)的可靠性和實時性,達(dá)到了預(yù)期的設(shè)計要求。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉