EASYV1.00嵌入式PLC的基本原理(一)
一、嵌入式PLC概念
本文引用地址:http://butianyuan.cn/article/201808/388038.htm嵌入式PLC是指在特定的控制裝置中實現(xiàn)PLC(Programable Logic Controller)編程語言的解釋、執(zhí)行,使特定裝置在自身專用功能基礎(chǔ)上具有PLC的基本功能。
PLC編程語言(又稱梯形圖語言)是一種面向工廠自動化工人師傅的語言,具有簡潔、直觀,面向工藝流程等許多優(yōu)點。PLC編程語言的出現(xiàn)使控制裝置中的硬件管和面向控制流程分離,PLC制造商專注于硬件及硬件管理,工廠自動化人員借助梯形圖語言作二次開發(fā),使同一種PLC適用于不同的控制系統(tǒng)中,形成了可編程邏輯控制器(PLC)這種概念級產(chǎn)品。
但控制產(chǎn)品的設(shè)計已發(fā)展到一個追求個性化、差異化設(shè)計的階段。常規(guī)PLC無法進入的市場,面臨更多的是個性化、差異化的壓力,如成本控制、特殊功能等。出現(xiàn)了工控機(IPC)、單片機嵌入板與更貼近個性化需求的控制產(chǎn)品。IPC在互連、表達、算法等方面優(yōu)勢明顯,單片機系統(tǒng)在成本控制上更加靈活。IPC由于加載了操作系統(tǒng)(如NT)其實時性、穩(wěn)定性難以滿足連續(xù)控制的苛刻要求。更適合于監(jiān)控,低層通常用PLC;單片機系統(tǒng)將硬件管理和用戶工藝流程控制混在一起,制約了它的標(biāo)準(zhǔn)化,并最終失去成本競爭優(yōu)勢。
嵌入式PLC正是面向IPC和單片機系統(tǒng)開發(fā)的,它保留了PLC(借助梯形圖語言)硬件管理和工藝控制分離的優(yōu)勢,結(jié)合IPC和單片機提供的更個性化、差異化的設(shè)計方法,形成一種新的控制器設(shè)計理念。當(dāng)我們在IPC中嵌入PLC的功能時,我們稱之為基于PC Base的嵌入式PLC,當(dāng)我們在單片機中嵌入PLC功能時,我們稱它為基于All ON One的嵌入式PLC(片級嵌入PLC)。來特別說明時,嵌入式PLC指片級嵌入式PLC,以下描述以科威公司EASY V1.00嵌入式PLC為例。
二、嵌入式PLC軟件架構(gòu)
1、總體結(jié)構(gòu)
EASY V1.00嵌入式PLC是一種實時性很強的操作系統(tǒng)軟件,總體結(jié)構(gòu)包括三個層面。
①嵌入式PLC內(nèi)核 它完成實時任務(wù)調(diào)度,梯形圖語言解釋、執(zhí)行、通訊等基本功能,并提供二次開發(fā)驅(qū)動接口;
②二次開發(fā)程序 通過內(nèi)核提供的外掛任務(wù),使用內(nèi)核開發(fā)各種面向具體對象個性化差異化的驅(qū)動程序;
③終端應(yīng)用程序 指面向工藝流程控制的梯形圖語言編程;
EASY V1.00總體結(jié)構(gòu)
對于二次開發(fā)人員開發(fā)面向個性化對象的驅(qū)動程序,必須了解嵌入式PLC內(nèi)核結(jié)構(gòu),尤其是驅(qū)動接口設(shè)計方法,下面分塊介紹內(nèi)核的各塊功能。
2、實時OS
面向小型單片機,一般的實時操作系統(tǒng)無法加載,OS/Ⅱ 占用了過多的資源,EASY V1.00內(nèi)核根據(jù)任務(wù)的類別、實時要求、定制了一款專用實時OS,它無文件系統(tǒng)和內(nèi)存管理兩部分。
①硬實時狀態(tài)下的搶占式并發(fā)任務(wù)管理
EASY V1.00內(nèi)核提供2.5ms基準(zhǔn)時基,它作為一種不可剝奪的任務(wù)循環(huán)執(zhí)行用于各類任務(wù)的監(jiān)控管理。
對于工控應(yīng)用中的異步事件采用并發(fā)式任務(wù)管理,通過各類中斷搶占任務(wù)的掛起、執(zhí)行,每類異步任務(wù)執(zhí)行前,在2.5ms任務(wù)中注冊,執(zhí)行后注銷,通過2.5ms時基監(jiān)控并發(fā)任務(wù)的流量及阻塞狀況并報字到上一級任務(wù)調(diào)度。
在EASY V1.00中,存在以下異步任務(wù):
*通信數(shù)據(jù)鏈絡(luò)層的字節(jié)流
*梯形圖語言中的定時器
*二次開發(fā)驅(qū)動程序中的實時異步任務(wù)
并發(fā)任務(wù)管理是EASY V1.00中最低層的任務(wù)管理,達到ms級實時效果,單位時間內(nèi)(1ms)占用CPU機時峰值為:
R
T并=∑Niti
I=0
Ni-1ms內(nèi)任務(wù)的最大執(zhí)行次數(shù),ti-i任務(wù)的一次執(zhí)行最大時間。
EASY V1.00并發(fā)任務(wù)實時數(shù)據(jù)
T片=3-45ms+t4
t4為用戶軟中斷任務(wù)占用時間和。
“掃描周期”指解釋、執(zhí)行所有梯形圖指令并執(zhí)行掃描結(jié)束處理所占用的時間,由于這期間有并發(fā)任務(wù)產(chǎn)生,“掃描周期”應(yīng)包括并發(fā)任務(wù)占用時間。
R
并發(fā)任務(wù)占用比X=T并/ 1ms = (150ms+ΔT+∑Njtj)/1000ms =15%-100%
j=3
設(shè)用戶梯形圖含X條指令
T掃=(X.T片+ΔTend)/X
評論