嵌入式PLC——Embedded Type PLC
摘要:本文通過對(duì)經(jīng)典控制器的分析,提出了嵌入式PLC的概念,重點(diǎn)以EASYV1.00嵌入式PLC軟件內(nèi)核結(jié)構(gòu)作基本分析,以引導(dǎo)工控設(shè)計(jì)人員建立一種新的嵌入式系統(tǒng)設(shè)計(jì)理念诉鸯。
1引言:嵌入式PLC概念
嵌入式PLC是指在特定的控制裝置中實(shí)現(xiàn)PLC(ProgramableLogicController)梯形圖編程語言的解釋蜕青、執(zhí)行,使特定裝置在自身專用功能基礎(chǔ)上具有PLC的基本功能瘟栖。
梯形圖是一種面向工廠自動(dòng)化工程師的圖形化PLC編程語言。梯形圖具有簡(jiǎn)潔蜡豹、直觀,面向工藝流程等許多優(yōu)點(diǎn)蛙陆。PLC編程語言的出現(xiàn)使控制裝置中的硬件管和面向控制流程分離,PLC制造商專注于硬件及硬件管理,工廠自動(dòng)化人員借助梯形圖語言作二次開發(fā),使同一種PLC適用于不同的控制系統(tǒng)中,形成了可編程邏輯控制器(PLC)這種平臺(tái)級(jí)產(chǎn)品。
但控制產(chǎn)品的設(shè)計(jì)已發(fā)展到一個(gè)追求個(gè)性化、差異化設(shè)計(jì)的階段藤习。常規(guī)PLC無法進(jìn)入的市場(chǎng),通常面臨更多的是個(gè)性化乌心、差異化的壓力导劝。如成本控制第粟、特殊功能等。出現(xiàn)了工控機(jī)(IPC)齐皂、單片機(jī)协颅、嵌入板等更貼近個(gè)性化需求的控制產(chǎn)品。IPC在
互連仅汰、表達(dá)簇娩、算法等方面優(yōu)勢(shì)明顯,單片機(jī)系統(tǒng)在成本控制上更加靈活。IPC由于加載了操作系統(tǒng)(如NT)其實(shí)時(shí)性蝉站、穩(wěn)定性難以滿足連續(xù)控制的苛刻要求,通常用于監(jiān)控货裳。低層通常用PLC。單片機(jī)系統(tǒng)將硬件管理和用戶工藝流程控制混在一起,制約了它的標(biāo)準(zhǔn)化,并最終失去成本競(jìng)爭(zhēng)優(yōu)勢(shì)捧颅。
嵌入式PLC正是面向IPC和單片機(jī)系統(tǒng)開發(fā)的,它保留了PLC(借助梯形圖語言)硬件管理和工藝控制分離的優(yōu)勢(shì),結(jié)合IPC和單片機(jī)提供的更個(gè)性化景图、差異化的設(shè)計(jì)方法,形成一種新的控制器設(shè)計(jì)理念。當(dāng)我們?cè)贗PC中嵌入PLC的功能時(shí),我們稱之為基于PCBase的嵌入式PLC,當(dāng)我們?cè)趩纹瑱C(jī)中嵌入PLC功能時(shí),我們稱它為基于AllONOne的嵌入式PLC(片級(jí)嵌入PLC)碉哑。未特別說明時(shí),嵌入式PLC指片級(jí)嵌入式PLC,也就是本文提出的嵌入式PLC挚币。以下描述以8位單片機(jī)C8051F040為硬件的以科威公司EASYV1.00版嵌入式PLC軟件架構(gòu)。
目前,關(guān)于專用PLC有軟PLC和客制式PLC兩種扣典。軟PLC指高端嵌入的含通用實(shí)時(shí)操作系統(tǒng)的PLC軟件,客制式PLC是指根據(jù)用戶需求定向設(shè)計(jì)的PLC妆毕。相關(guān)技術(shù)在德國、臺(tái)灣贮尖、南韓均有突破,屬于嵌入式PLC的范疇笛粘。
2嵌入式PLC軟件架構(gòu)
2.1總體結(jié)構(gòu)
EASYV1.00嵌入式PLC是一種實(shí)時(shí)性很強(qiáng)的操作系統(tǒng)軟件,總體結(jié)構(gòu)包括三個(gè)層面,如圖1所示。
(1)嵌入式PLC內(nèi)核它完成實(shí)時(shí)任務(wù)調(diào)度,梯形圖語言解釋湿硝、執(zhí)行闰蛔、通訊等基本功能,并提供二次開發(fā)驅(qū)動(dòng)接口;
(2)二次開發(fā)程序通過內(nèi)核提供的外掛任務(wù),使用內(nèi)核開發(fā)各種面向具體對(duì)象個(gè)性化差異化的驅(qū)動(dòng)程序图柏;
(3)終端應(yīng)用程序指面向工藝流程控制的梯形圖語言編程序六;
對(duì)于二次開發(fā)人員開發(fā)面向個(gè)性化對(duì)象的驅(qū)動(dòng)程序,必須了解嵌入式PLC內(nèi)核結(jié)構(gòu),尤其是驅(qū)動(dòng)接口設(shè)計(jì)方法,下面分塊介紹內(nèi)核的各塊功能。
2.2實(shí)時(shí)OS
面向小型單片機(jī),一般的實(shí)時(shí)操作系統(tǒng)無法加載,OS/Ⅱ占用了過多的資源,EASYV1.00內(nèi)核根據(jù)任務(wù)的類別蚤吹、實(shí)時(shí)要求拒吧、定制了一款專用實(shí)時(shí)OS,它無文件系統(tǒng)和內(nèi)存管理兩部分。
(1)硬實(shí)時(shí)狀態(tài)下的搶占式并發(fā)任務(wù)管理
EASYV1.00內(nèi)核提供2.5ms基準(zhǔn)時(shí)基,它作為一種不可剝奪的任務(wù)循環(huán)執(zhí)行用于各類任務(wù)的監(jiān)控管理泡募。
對(duì)于工控應(yīng)用中的異步事件采用并發(fā)式任務(wù)管理,通過各類中斷搶占任務(wù)的掛起描蹦、執(zhí)行,每類異步任務(wù)執(zhí)行前,在2.5ms任務(wù)中注冊(cè),執(zhí)行后注銷,通過2.5ms時(shí)基監(jiān)控并發(fā)任務(wù)的流量及阻塞狀況并報(bào)字到上一級(jí)任務(wù)調(diào)度。
(2)EASYV1.00中異步任務(wù)
通信數(shù)據(jù)鏈絡(luò)層的字節(jié)流
梯形圖語言中的定時(shí)器
二次開發(fā)驅(qū)動(dòng)程序中的實(shí)時(shí)異步任務(wù)
并發(fā)任務(wù)管理是EASYV1.00中最低層的任務(wù)管理,達(dá)到ms級(jí)實(shí)時(shí)效果,單位時(shí)間內(nèi)(1ms)占用CPU機(jī)時(shí)峰值為:
T并=Ni*ti
Ni——1ms內(nèi)任務(wù)的最大執(zhí)行次數(shù),ti——任務(wù)的一次執(zhí)行最大時(shí)間。
EASYV1.00并發(fā)任務(wù)實(shí)時(shí)數(shù)據(jù)見表1仆阶、表2筝踢。
表1EASYV1.00并發(fā)任務(wù)實(shí)時(shí)數(shù)據(jù)
任務(wù)類別不可剝奪任務(wù)通信字節(jié)流任務(wù)
梯形圖定時(shí)器驅(qū)動(dòng)并發(fā)任務(wù)
2.5ms時(shí)基串口0串口1CAN
執(zhí)行次數(shù)(N1)11111ND
執(zhí)行時(shí)間(T)10μs+ΔT25μs25μs50μs40μstD
表2EASYV1.00并發(fā)任務(wù)實(shí)時(shí)數(shù)據(jù)
任務(wù)類別梯形圖通訊函數(shù)調(diào)用用戶軟中斷
任務(wù)個(gè)數(shù)131m4
任務(wù)時(shí)間1-20μs1-10μs1-5μst4
T片=3-45μs+t4
t4為用戶軟中斷任務(wù)占用時(shí)間和。
“掃描周期”指解釋驯祖、執(zhí)行所有梯形圖指令并執(zhí)行掃描結(jié)束處理所占用的時(shí)間,由于這期間有并發(fā)任務(wù)產(chǎn)生,“掃描周期”應(yīng)包括并發(fā)任務(wù)占用時(shí)間彰碑。
并發(fā)任務(wù)占用比:
X=T并/1ms=(150μs+ΔT+)/1000μs=15%-100%
設(shè)用戶梯形圖含M條指令
T掃=(M?T片+ΔTend)/X
ΔTend為掃描結(jié)
束處理占用時(shí)間。
2.3內(nèi)存管理
ESAYV1.00的運(yùn)行數(shù)據(jù)空間包括64K外部RAM+256字節(jié)CPURAM,將其分解為系統(tǒng)占用區(qū)彪御、PLC資源區(qū)详般、用戶嵌入數(shù)據(jù)區(qū)三部分。
(1)系統(tǒng)占用區(qū)
系統(tǒng)占用區(qū)是EASYV1.00運(yùn)行時(shí),進(jìn)行數(shù)據(jù)緩存筋顽、狀態(tài)保持玷利、系
統(tǒng)堆棧等不對(duì)PLC及用戶開設(shè)的域區(qū)。這部分?jǐn)?shù)據(jù)區(qū)的初始化運(yùn)行中的監(jiān)視都由實(shí)時(shí)OS管理,PLC及用戶嵌入程序不得非法侵入评疗。
(2)PLC資源區(qū)
梯形圖語言管理的數(shù)據(jù)區(qū)包括位區(qū)测砂、字區(qū)兩部分。通常以元件形式體現(xiàn)百匆。
輸入繼電器X:X0-X177128點(diǎn)位型
輸出繼電器Y:Y0-Y177128點(diǎn)位型
中間繼電器M:M0-M15351536點(diǎn)位型
專用中間繼電器M8000-M8255256點(diǎn)位型
狀態(tài)繼電器S:S0-S9991000點(diǎn)位型
時(shí)間繼電器T:T0-T255256點(diǎn)位型+字型
計(jì)數(shù)器C:C0-C255256點(diǎn)位型+字型
通用數(shù)據(jù)寄存器D:D0-D79998000個(gè)字型
專用數(shù)據(jù)寄存器D:D8000-D8255256個(gè)字節(jié)
所有PLC資源是梯形圖運(yùn)行時(shí)進(jìn)行數(shù)據(jù)存取的區(qū)域,是終端應(yīng)用層可視化區(qū)域,用戶嵌入的驅(qū)動(dòng)程序,可使用對(duì)應(yīng)元件的絕對(duì)地址進(jìn)行存取,實(shí)現(xiàn)了嵌入程序與PLC梯形圖之間的數(shù)據(jù)交換砌些。
(3)用戶嵌入數(shù)據(jù)區(qū)
當(dāng)用戶以EASYV1.00內(nèi)核設(shè)計(jì)各種嵌入系統(tǒng)時(shí),需針對(duì)具體硬件做必要的驅(qū)動(dòng)程序,該部分程序的私有數(shù)據(jù)存放于用戶嵌入數(shù)據(jù)區(qū),公有數(shù)據(jù)存放于PLC的資源區(qū),用戶嵌入數(shù)據(jù)區(qū)分配如下:
CPU內(nèi)部:位區(qū)(bitRAM):20H-23H4bytes
字節(jié)區(qū)(DRAM):58H-67H16bytes
外部數(shù)據(jù)存取器:字節(jié)區(qū)(XRAM):3600H-3FFFH2560bytes
2.4梯形圖語言
EASYV1.00梯形圖語言是一種解釋性語言,每一條梯形圖語句對(duì)應(yīng)一個(gè)固定的函數(shù)調(diào)用,逐句掃描直至END為一個(gè)掃描周期,EASYV1.00支持86條梯形圖指令。
(1)基本指令(27條)
助記符名稱助記符名稱
LD讀取常開點(diǎn)LDF讀取下降沿
LDI讀取常閉點(diǎn)ANDP串接上升沿
AND串入常開點(diǎn)ANDF串接下降沿
ANDI串入常閉點(diǎn)ORP并接上升沿
OR并入常開點(diǎn)ORF并接下降沿
ORI并入常閉點(diǎn)INV運(yùn)算觸點(diǎn)取反
ANB電路塊串聯(lián)MPS運(yùn)算觸點(diǎn)壓棧
ORB電路塊并聯(lián)MRD讀出壓棧觸點(diǎn)
OUT線圈輸出MPP彈出壓棧觸點(diǎn)
SET線圈輸出保持MC主控
RST清除線圈輸出MCR主控結(jié)束
PLS上升沿輸出脈沖NOP空操作
PLF下降沿輸出脈沖END程序結(jié)束
LDP讀取上升沿
(2)步進(jìn)順控指令(2條)
助記符名稱助記符名稱
STL步進(jìn)梯形圖開始
RET步進(jìn)梯形圖結(jié)束
注:步序狀態(tài)轉(zhuǎn)移只能用SET,當(dāng)用OUT時(shí)視作普通繼電器胧华。
(3)功能指令(56條)
助記符名稱助記符名稱
程序流程CJ條件跳轉(zhuǎn)浮點(diǎn)數(shù)運(yùn)算ECMP2進(jìn)制浮點(diǎn)數(shù)比較
CALL子程序調(diào)用EZCP2進(jìn)制浮點(diǎn)數(shù)區(qū)域比較
SRET子程序返回EBCD2進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)10進(jìn)制浮點(diǎn)數(shù)
FEND主程序結(jié)束EBIN10進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)2進(jìn)制浮點(diǎn)數(shù)
FOR循環(huán)范圍開始EADD2進(jìn)制浮點(diǎn)數(shù)加法
NEXT循環(huán)范圍結(jié)束ESUB2進(jìn)制浮點(diǎn)數(shù)減法
傳送與比較CMP比較EMUL2進(jìn)制浮點(diǎn)數(shù)乘法
ZCP區(qū)域比較EDIV2進(jìn)制浮點(diǎn)數(shù)除法
MOV傳送ESQR2進(jìn)制浮點(diǎn)數(shù)開方
CML取反傳送INT2進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)BIN整數(shù)
BCDBCD轉(zhuǎn)換FLTBIN整數(shù)轉(zhuǎn)2進(jìn)制浮點(diǎn)數(shù)
BINBIN轉(zhuǎn)換接點(diǎn)運(yùn)算LD=讀取“等于比較節(jié)點(diǎn)”
四則邏輯運(yùn)算ADDBIN加法LD>讀取“大于比較節(jié)點(diǎn)”
SUBBIN減法LD<讀取“小于比較節(jié)點(diǎn)”
MULBIN乘法LD<>讀取“不等于比較節(jié)點(diǎn)”
DIVBIN除法LD≦讀取“小于等于比較節(jié)點(diǎn)”
INCBIN加1LD≧讀取“大于等于比較節(jié)點(diǎn)”
DECBIN減1AND=串聯(lián)“等于比較節(jié)點(diǎn)”
WAND邏輯字與AND>串聯(lián)“大于比較節(jié)點(diǎn)”
WOR邏輯字或AND<串聯(lián)“小于比較節(jié)點(diǎn)”
WXOR邏輯字異或AND<>串聯(lián)“不等于比較節(jié)點(diǎn)”
NEG求補(bǔ)碼AND≦串聯(lián)“小于等于比較節(jié)點(diǎn)”
SQRBIN開方AND≧串聯(lián)“大于等于比較節(jié)點(diǎn)”
循環(huán)與移位ROR循環(huán)右移OR=并聯(lián)“等于比較節(jié)點(diǎn)”
ROL循環(huán)左移OR>并聯(lián)“大于比較節(jié)點(diǎn)”
RCR帶進(jìn)位循環(huán)右移OR<并聯(lián)“小于比較節(jié)點(diǎn)”
RCL帶進(jìn)位循環(huán)左移OR<>并聯(lián)“不等于比較節(jié)點(diǎn)”
OR≦并聯(lián)“小于等于比較節(jié)點(diǎn)”
OR≧并聯(lián)“大于等于比較節(jié)點(diǎn)”
(4)專家指令(1條)
助記符名稱
PID專家算法
2.5EASYV1.00通信
EASYV1.00內(nèi)核包括串口0寄症、串口1、CANbus三個(gè)通信接口,每個(gè)接口均定制了相應(yīng)的通信協(xié)議,適用于不同的應(yīng)用場(chǎng)合矩动。
(1)串口0
l用戶嵌入程序下載
在編程狀態(tài)下,通過串口0下載用戶嵌入程序.
嵌入程序下載軟件為科威公司軟件Downhex.
l梯形圖下載
在設(shè)置狀態(tài)下,通過串口0下載梯形圖程序.
下載工具軟件為科威公司軟件EasyWin或三菱公司軟件FXGP_WIN-C.
l梯形圖程序監(jiān)控
在運(yùn)行狀態(tài)下,通過串口0連接人機(jī)界面(如HITECH,EVIEW,DELTA,三菱等)和計(jì)算機(jī),對(duì)梯形圖程序和控制參數(shù)進(jìn)行監(jiān)控.
(2)串口1
l下載CAN網(wǎng)絡(luò)配置內(nèi)容
在設(shè)置(SET)狀態(tài)下,下載CAN網(wǎng)絡(luò)配置內(nèi)容.
編輯下載CAN網(wǎng)絡(luò)配置軟件為科威公司軟件CANSET.
lRS485網(wǎng)絡(luò)連接端口
在運(yùn)行(RUN)狀態(tài)下,作為RS485主從式網(wǎng)絡(luò)的數(shù)據(jù)交換接口.
該接口網(wǎng)絡(luò)通信協(xié)議由內(nèi)核自動(dòng)加載,遵循該協(xié)議的子節(jié)點(diǎn)可自動(dòng)連入該網(wǎng)絡(luò).如運(yùn)動(dòng)控制器的擴(kuò)展鍵盤連接.
(3)CANbus通信
EASYV1.00內(nèi)核含CANbus現(xiàn)場(chǎng)
總線通信協(xié)議,在CAN2.0B基礎(chǔ)上,加載了專用的主從式結(jié)構(gòu)的高層協(xié)議,借助梯形圖語言,對(duì)CANbus占用的PLC資源進(jìn)行管理(CANbus文件寄存器)即可實(shí)現(xiàn)CANbus互連有巧。
2.6函數(shù)調(diào)用
EASYV1.00系統(tǒng)提供嵌入驅(qū)動(dòng)程序函數(shù)調(diào)用,為嵌入程序設(shè)計(jì)系統(tǒng)提供了EASYCORE.LIB函數(shù)庫,用戶在嵌入時(shí),只要包含該文件(includeEASYCORE.LIB)即可調(diào)用系統(tǒng)提供的各類應(yīng)用函數(shù),如整數(shù)、浮點(diǎn)數(shù)運(yùn)算,數(shù)據(jù)變換等函數(shù)悲没。
2.7用戶中斷系統(tǒng)
EASYV1.00運(yùn)行在C8051F040CPU上時(shí),給用戶提供了13種中斷,如事件中斷篮迎、SPI、IIC示姿、A/D甜橱、D/A、比較源快、捕獲等乞微。
系統(tǒng)中斷入口地址重定向?yàn)镋000H開始的區(qū)域
ADR=ADR0+E000H
ADR0---F040中斷入口地址
3結(jié)束語
嵌入式PLC提出了一種以過程控制語言(梯形圖語言)核心的新型嵌入系統(tǒng)設(shè)計(jì)理念。既可以作為PLC產(chǎn)品的開發(fā)平臺(tái),也可以
作為常規(guī)單片機(jī)系統(tǒng)的設(shè)計(jì)炫瘤。以嵌入式PLC方式進(jìn)行控制器設(shè)計(jì)提高了開發(fā)速度,更適應(yīng)貼近客戶需求的個(gè)性化蝉徒、差異化設(shè)計(jì)要求。面對(duì)工控市場(chǎng)日益細(xì)分的完備體系,嵌入式PLC在DCS枷配、IPC认寓、PLC檬桅、單片機(jī)的交叉市場(chǎng)中具有廣闊的應(yīng)用前景。
聲明:本網(wǎng)站所收集的部分公開資料來源于互聯(lián)網(wǎng)奉量,轉(zhuǎn)載的目的在于傳遞更多信息及用于網(wǎng)絡(luò)分享芹寓,并不代表本站贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),也不構(gòu)成任何其他建議笼糙。本站部分作品是由網(wǎng)友自主投稿和發(fā)布妓唬、編輯整理上傳,對(duì)此類作品本站僅提供交流平臺(tái)雄炕,不為其版權(quán)負(fù)責(zé)沈条。如果您發(fā)現(xiàn)網(wǎng)站上所用視頻需忿、圖片诅炉、文字如涉及作品版權(quán)問題,請(qǐng)第一時(shí)間告知屋厘,我們將根據(jù)您提供的證明材料確認(rèn)版權(quán)并按國家標(biāo)準(zhǔn)支付稿酬或立即刪除內(nèi)容涕烧,以保證您的權(quán)益!聯(lián)系電話:010-58612588 或 Email:editor@mmsonline.com.cn汗洒。
- 暫無反饋
編輯推薦
- 2025新年特刊:打造新質(zhì)生產(chǎn)力,智啟未來新篇章
- 定義制造業(yè)未來的數(shù)控加工中心技術(shù)專題
- 航空航天及交通領(lǐng)域先進(jìn)制造技術(shù)應(yīng)用專題
- 解碼消費(fèi)電子產(chǎn)品生產(chǎn)的數(shù)字化之路技術(shù)專題
- 精密智能機(jī)床棺玫,助力制造升級(jí)技術(shù)專題
- 汽車輕量化驅(qū)動(dòng)下的零部件加工應(yīng)用專題
- 高性能銑刀實(shí)現(xiàn)高精加工生產(chǎn)技術(shù)專題
- 航空航天發(fā)動(dòng)機(jī)解決方案專題
- 高效齒輪加工生產(chǎn)技術(shù)方案專題
- 金屬加工液的性能不止?jié)櫥夹g(shù)應(yīng)用專題