技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于DSP/BIOS的PLC執(zhí)行系統(tǒng)開發(fā)

基于DSP/BIOS的PLC執(zhí)行系統(tǒng)開發(fā)

時間:2018-02-02 10:28:14來源:網(wǎng)絡(luò)轉(zhuǎn)載

導(dǎo)語:?傳統(tǒng)PLC具有硬實時性,正因為如此它才能提供快速、確定而可重復(fù)的響應(yīng)。另一方面,由于軟PLC是基于PC而建立在一定的操作系統(tǒng)上,例如WindowsNT,而這并不是一個硬實時的操作系統(tǒng),這使得以PC為基礎(chǔ)的控制引擎實時性問題成為制約軟PLC發(fā)展的主要因素之一。

目前工控領(lǐng)域中廣泛使用的可編程邏輯控制器(ProgrammableLogicController)大概可以分為兩類:傳統(tǒng)PLC與軟PLC。傳統(tǒng)PLC由于自身存在一些不足,例如封閉的硬件體系結(jié)構(gòu),主要由幾家廠商所壟斷,而軟PLC在開放性及低成本方面潛力巨大,目前歐美等很多西方國家已經(jīng)把軟件PLC作為一個重點對象進行研究開發(fā)。

傳統(tǒng)PLC具有硬實時性,正因為如此它才能提供快速、確定而可重復(fù)的響應(yīng)。另一方面,由于軟PLC是基于PC而建立在一定的操作系統(tǒng)上,例如WindowsNT,而這并不是一個硬實時的操作系統(tǒng),這使得以PC為基礎(chǔ)的控制引擎實時性問題成為制約軟PLC發(fā)展的主要因素之一。

針對軟PLC在實時性方面的不足,本項目采用基于嵌入式處理器的控制方案,軟PLC執(zhí)行系統(tǒng)作為一個任務(wù)在控制器固件內(nèi)。美國TI公司推出的C6000系列數(shù)字信號處理器(DigitalSignalProcessor)具有很高的處理能力,特別是為其TMS320C6000TM、TMS320C5000TM和TMS320C28xTM系列DSP平臺所設(shè)計開發(fā)的一個尺寸可裁剪的實時多任務(wù)操作系統(tǒng)內(nèi)核DSP/BIOS,提供搶占式多線程、硬件抽象、實時分析和配置工具,可實現(xiàn)實時線程調(diào)度與同步、主機與目標DSP間通信或?qū)崟r監(jiān)測。DSP是串行控制的,運算速度快。基于DSP/BIOS實時內(nèi)核的PLC執(zhí)行系統(tǒng),具有相當好的實時性及穩(wěn)定性。下面著重介紹其設(shè)計及實現(xiàn)方法。

1軟PLC的設(shè)計規(guī)劃

1.1軟PLC的架構(gòu)分析

由PLC執(zhí)行系統(tǒng)控制的PLC程序劃分為一級程序和二級程序,它們的執(zhí)行周期不一致。一級程序每8ms執(zhí)行一次,處理響應(yīng)快的短脈沖信號,例如外部的操作面板信號和報警信號,在程序末尾自動給出結(jié)束標記END1。二級程序為一般的PLC指令,每8nms執(zhí)行一次,n為第二級程序的分割數(shù)。在開始執(zhí)行二級程序時,PLC執(zhí)行系統(tǒng)模塊會根據(jù)執(zhí)行程序所需要的時間自動把二級程序分割成n塊,每個8ms只執(zhí)行其中一塊,并在二級程序結(jié)束時自動給出結(jié)束標記END2。

1.2PLC執(zhí)行系統(tǒng)的工作原理

PLC采用循環(huán)掃描方式工作,首先進行系統(tǒng)初始化,然后進入循環(huán)工作過程包括輸入采樣、PLC指令執(zhí)行及輸出刷新幾個階段,其基本流程如圖1所示。

1)系統(tǒng)初始化:在循環(huán)執(zhí)行PLC程序前,首先要進行執(zhí)行系統(tǒng)的初始化,包括參數(shù)的輸入及變量初值的設(shè)置;2)輸入的采樣:每次執(zhí)行PLC程序時,要讀取外部輸入狀態(tài)至緩沖區(qū)中,以備后面程序查詢;3)執(zhí)行用戶PLC程序:執(zhí)行用戶程序,就是CPU從PLC程序的首地址開始按順序逐個執(zhí)行編譯后的PLC指令,過程結(jié)果暫存在相應(yīng)的寄存器內(nèi);4)輸出的刷新:執(zhí)行完用戶程序后,需要把處理后需要輸出的結(jié)果進行外部輸出。由于PLC控制的對象大都是變化緩慢的信號,而PLC每次掃描輸入和邏輯運算的時間很短,本PLC執(zhí)行系統(tǒng)設(shè)定為每執(zhí)行一個循環(huán),就進行一遍輸出的刷新。

1.3DSP/BIOS的線程調(diào)度

文中的PLC執(zhí)行系統(tǒng)的開發(fā)均在TI公司提供的集成開發(fā)環(huán)境CCS(CodeComposerStudio)中進行,CCS不僅集成了常規(guī)的開發(fā)工具,如源程序編輯器、代碼生成工具及調(diào)試環(huán)境,還提供DSP/BIOS開發(fā)工具。DSP/BIOS是一個精簡的實時操作系統(tǒng)內(nèi)核,具有實時操作系統(tǒng)功能。它提供搶占式多線程,支持多種不同優(yōu)先級,每種線程都有不同的執(zhí)行和搶占特性,分別是硬件中斷(HWI)包括時鐘函數(shù)(CLK)、軟件中斷(SWI)包括周期函數(shù)(PRD)、任務(wù)線程(TSK)、后臺線程(IDL)。線程類型的選取原則:HW1只用來處理對時間要求苛刻的關(guān)鍵任務(wù);SWI用來處理相對獨立的函數(shù),如果算法要求比較復(fù)雜則使用TSK。TSK提供了很多任務(wù)通信和同步的手段,并且擁有自己獨立的堆棧,因此比SWI更靈活。IDL用于執(zhí)行與時間無關(guān)的非關(guān)鍵任務(wù)。

在DSP/BIOS線程調(diào)度中,硬件中斷與軟件中斷的高優(yōu)先級線程可以暫停運行中的低優(yōu)先級任務(wù),而高優(yōu)先級的任務(wù)線程必須用特定的API才能搶占當前運行的低優(yōu)先級任務(wù)線程,且只有任務(wù)線程才能暫停狀態(tài)?;赑LC執(zhí)行是一個循環(huán)執(zhí)行過程,且與其它運動線程有復(fù)雜的通訊交互,本執(zhí)行系統(tǒng)將其建立為一任務(wù)線程,由DSP/BIOS實時操作系統(tǒng)進行調(diào)度。2PLC執(zhí)行系統(tǒng)的具體實現(xiàn)

2.1數(shù)據(jù)結(jié)構(gòu)定

1)PLC指令代碼數(shù)據(jù)結(jié)構(gòu)的定義。PLC用戶程序在系統(tǒng)內(nèi)部以一定的二進制格式存放,采用如下指令開辟一個a字節(jié)的內(nèi)存區(qū)存放編譯后的PLC指令代碼,內(nèi)存區(qū)大小a根據(jù)實際情況設(shè)定。

long*plc_pt;

plc_pt=(long*)malloc(a);

2)PLC執(zhí)行指令結(jié)構(gòu)體的定義。PLC指令代碼主要包含內(nèi)容為指令類型及變量地址,定義如下PLC執(zhí)行指令結(jié)構(gòu)體:

structplc_code_type//PLC執(zhí)行指令結(jié)構(gòu)體

{

unsignedcharcode_type;//指令類型

unsignedshortptaddr;//變量地址

:28px;background-color:rgb(255,255,255);">};

由此,在初始化時定義一個pk_code_type類型的指針直接指向PLC指令代碼區(qū).在進行PLC指令解析時,可直接移動該指針進行指令解析并輸出。

2.2PLC指令解析

PLC執(zhí)行系統(tǒng)的一個關(guān)鍵問題在于PLC指令的解析,利用DSP的C語言,建立相應(yīng)的PLC指令的執(zhí)行函數(shù)庫。PLC用戶程序可看成由多段執(zhí)行塊組成,每個執(zhí)行塊包括條件指令及執(zhí)行指令。下面分為條件指令解析及執(zhí)行指令解析來進行描述。

2.2.1條件指令解析

首先定義一個變量來保存條件指令解析結(jié)果,以便在解析執(zhí)行指令時根據(jù)此條件指令解析結(jié)果進行執(zhí)行指令處理。

例如常開觸點(LD)可以用如下函數(shù)實現(xiàn):

voidplcLD(plc_code_type&pc)

//pc表示當前指令在用戶程序中的指針位置

{if(1==pc->pt_addr)//指令獲取的地址為1

{

plc_result&=0x01;//閉合狀態(tài)置位

}

}

2.2.2執(zhí)行指令解析

執(zhí)行指令則根據(jù)當前執(zhí)行塊條件指令結(jié)果來判斷對元件地址進行相應(yīng)處理。例如置位指令(SET)可以用如下函數(shù)實現(xiàn):

voidplcSET(plc_code_type&pc)

{if(plc_result&1)

//判斷條件指令,閉合,有輸出

{

pc->pt_addr|=0xff;//對應(yīng)地址置位

}

}

這樣,逐個對PLC執(zhí)行塊進行解析,輸入和輸出單元的刷新同樣利用函數(shù)來實現(xiàn),最后通過輸出口送出控制量,實現(xiàn)對用戶PLC程序的執(zhí)行控制。

ground-color:rgb(255,255,255);">2.3PLC執(zhí)行系統(tǒng)運行流程

首先在DSP/BIOS配置工具下的Scheduling項目中建立一個任務(wù)線程,比如為PLC_Deal_Task,并對該任務(wù)函數(shù)的優(yōu)先級及其它相關(guān)內(nèi)容進行設(shè)置,則可直接在PLC_Deal_Task線程中進行PLC指令解析處理,并實現(xiàn)PLC的循環(huán)掃描功能。

總體設(shè)計思想如下:設(shè)定一級程序的執(zhí)行周期為m個指令計數(shù)執(zhí)行一次,m與掃描周期有關(guān)。在進入二級循環(huán)后,首先判斷指令計數(shù)是否大于m,未到m,則進入執(zhí)行二級程序。如果條件滿足,跳出循環(huán),1周期完成,具體調(diào)度流程如圖2所示。

3測試分析及應(yīng)用

3.1軟PLC執(zhí)行系統(tǒng)的測試分析

根據(jù)上述設(shè)計方法構(gòu)建出PLC執(zhí)行系統(tǒng),設(shè)計實際應(yīng)用的PLC程序并在試驗機上進行測試,觀察設(shè)備的邏輯動作及執(zhí)行系統(tǒng)性能情況。CCS提供了一系列可視化工具對運行系統(tǒng)的性能進行測試,“CPU負荷圖”用于分析CPU的利用率,“任務(wù)執(zhí)行圖”可以檢測出系統(tǒng)是否符合實時性要求?,F(xiàn)根據(jù)微鉆刃面檢測機的工藝過程設(shè)計了其PLC程序,下載到本軟PLC執(zhí)行系統(tǒng)中運行,通過CCS監(jiān)測工具監(jiān)測其運行性能。圖3是CPU負荷圖,負荷峰值在25%左右,變化平穩(wěn);圖4是任務(wù)執(zhí)行圖,圖中左邊欄最下面的Assertions項目用于指示某個實時性要求沒有達到,或是偵測到某個無效狀態(tài),如果Assertions項目沒有出現(xiàn)小方塊則表示對應(yīng)線程的調(diào)度滿足實時性要求。另外,經(jīng)上機調(diào)試,設(shè)備整體運行邏輯也完全按照程序要求運行。此實驗表明,基于DSP/BIOS的軟PLC執(zhí)行系統(tǒng)能夠滿足實時控制的要求且工作穩(wěn)定。

3.2軟PLC執(zhí)行系統(tǒng)的應(yīng)用

傳統(tǒng)PLC的一個缺點是硬件體系結(jié)構(gòu)相對封閉,并且成本高,例如日本三菱PLCFX2N系列控制器本身未集成運動軸控制功能,每增加一個運動軸的控制均需額外擴展脈沖發(fā)生器單元(PulseGeneratintUnit,PGU),如果在多軸設(shè)備上應(yīng)用可能會造成成本過高并且靈活不夠。本課題組開發(fā)的運動控制器IPMC8188可獨立控制8軸,軟PLC執(zhí)行系統(tǒng)作為一個任務(wù)運行在該控制器的固件中。對比傳統(tǒng)PLC,有穩(wěn)定強大的PLC功能的運動控制器可降低控制系統(tǒng)構(gòu)建的復(fù)雜程度,提高控制效率及開發(fā)效率。圖5所示為內(nèi)嵌軟PLC執(zhí)行系統(tǒng)的IMPC8188運動控制器,目前,該型運動控制器已在全自動刃面檢測機、自動貼片機及全自動微鉆磨尖機等自動化設(shè)備上使用并穩(wěn)定運行。

4結(jié)束語

基于嵌入式處理器的軟PLC執(zhí)行系統(tǒng)能有效的彌補軟PLC在實時性及穩(wěn)定性方面的不足,并且由于自帶操作系統(tǒng),有可靠地數(shù)據(jù)存儲和自恢復(fù)功能。文中論述的基于DSP/BIOS的PLC執(zhí)行系統(tǒng)的設(shè)計,與運動控制相結(jié)合,在小中型自動化設(shè)備方面應(yīng)用廣泛,另外在實現(xiàn)大規(guī)模系統(tǒng)的綜合性自動控制方面也有很大的發(fā)展?jié)摿Α?/p>

標簽:

點贊

分享到:

上一篇:機器視覺在ADAS系統(tǒng)中的應(yīng)用

下一篇:機器視覺設(shè)計開發(fā)的流程有哪些

中國傳動網(wǎng)版權(quán)與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號