WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
一、嵌入式PLC概念WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
嵌入式PLC是指在特定的控制装置中实现PLC(Programable Logic Controller)编程语言的解释、执行,使特定装置在自身专用功能基础上具有PLC的基本功能。WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
PLC编程语言(又称梯形图语言)是一种面向工厂自动化工人师傅的语言,具有简洁、直观,面向工艺流程等许多优点。PLC编程语言的出现使控制装置中的硬件管和面向控制流程分离,PLC制造商专注于硬件及硬件管理,工厂自动化人员借助梯形图语言作二次开发,使同一种PLC适用于不同的控制系统中,形成了可编程逻辑控制器(PLC)这种概念级产品。P.L.C.技.术.网——可编程控制器技术门户
——可——编——程——控-制-器-技——术——门——户
但控制产品的设计已发展到一个追求个性化、差异化设计的阶段。常规PLC无法进入的市场,面临更多的是个性化、差异化的压力,如成本控制、特殊功能等。出现了工控机(IPC)、单片机嵌入板与更贴近个性化需求的控制产品。IPC在互连、表达、算法等方面优势明显,单片机系统在成本控制上更加灵活。IPC由于加载了操作系统(如NT)其实时性、稳定性难以满足连续控制的苛刻要求。更适合于监控,低层通常用PLC;单片机系统将硬件管理和用户工艺流程控制混在一起,制约了它的标准化,并最终失去成本竞争优势。WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
嵌入式PLC正是面向IPC和单片机系统开发的,它保留了PLC(借助梯形图语言)硬件管理和工艺控制分离的优势,结合IPC和单片机提供的更个性化、差异化的设计方法,形成一种新的控制器设计理念。当我们在IPC中嵌入PLC的功能时,我们称之为基于PC Base的嵌入式PLC,当我们在单片机中嵌入PLC功能时,我们称它为基于All ON One的嵌入式PLC(片级嵌入PLC)。来特别说明时,嵌入式PLC指片级嵌入式PLC,以下描述以科威公司EASY V1.00嵌入式PLC为例。WWW_P※LCJS_COM-PLC-)技.术_网
WWW_PLC※JS_COM-PmLC-技.术_网
二、嵌入式PLC软件架构WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
WW.W_PLC※JS_C,OM-PL,C-技.术_网
1、总体结构W1WW_P4LCJS_COM-PLC-技.术_网
WWW_P※LCJS_CO※M-PLC-技-.术_网
EASY V1.00嵌入式PLC是一种实时性很强的操作系统软件,总体结构包括三个层面。WWcW_PLCJS_COM-PLC-技.术_网
WWW_P※LCJS_CO※M-PLC-技-.术_网
①嵌入式PLC内核 它完成实时任务调度,梯形图语言解释、执行、通讯等基本功能,并提供二次开发驱动接口;W1WW_P4LCJS_COM-PLC-技.术_网
WWW_P※LCJS_COM-PLC-)技.术_网
②二次开发程序 通过内核提供的外挂任务,使用内核开发各种面向具体对象个性化差异化的驱动程序;plcjs.技.术_网
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
③终端应用程序 指面向工艺流程控制的梯形图语言编程 WWW_P※LCJS_CO※M-PLC-技-.术_网
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
EASY V1.00总体结构P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
P.L.C.技.术.网——可编程控制器技术门户
对于二次开发人员开发面向个性化对象的驱动程序,必须了解嵌入式PLC内核结构,尤其是驱动接口设计方法,下面分块介绍内核的各块功能。WWW_PL※CJS_COM-PLC-技.术_网
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
2、实时OSWW.W_PLC※JS_C,OM-PL,C-技.术_网
WWcW_PLCJS_COM-PLC-技.术_网
面向小型单片机,一般的实时操作系统无法加载,OS/Ⅱ 占用了过多的资源,EASY V1.00内核根据任务的类别、实时要求、定制了一款专用实时OS,它无文件系统和内存管理两部分。WWW_PLC※JS_COM-PmLC-技.术_网
WWW_P※LCJS_COM-PLC-)技.术_网
①硬实时状态下的抢占式并发任务管理WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
EASY V1.00内核提供2.5ms基准时基,它作为一种不可剥夺的任务循环执行用于各类任务的监控管理。WWW_PLC※JS_COM-PmLC-技.术_网
WWW_PLC※JS_COM-PmLC-技.术_网
对于工控应用中的异步事件采用并发式任务管理,通过各类中断抢占任务的挂起、执行,每类异步任务执行前,在2.5ms任务中注册,执行后注销,通过2.5ms时基监控并发任务的流量及阻塞状况并报字到上一级任务调度。WWW_PLCJS@_COM%-PLC-技.术_网
WWW_PLCJS_COM-PLC-技.术_网
在EASY V1.00中,存在以下异步任务:WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
WWW.PLCJS.COM——可编程控制器技术门户
*通信数据链络层的字节流W1WW_P4LCJS_COM-PLC-技.术_网
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
*梯形图语言中的定时器WW.W_PLCJS_COM-PLC-技.术_网
WWW_P※LCJS_COM-PLC-)技.术_网
*二次开发驱动程序中的实时异步任务W1WW_P4LCJS_COM-PLC-技.术_网
WW.W_PLC※JS_C,OM-PL,C-技.术_网
并发任务管理是EASY V1.00中最低层的任务管理,达到ms级实时效果,单位时间内(1ms)占用CPU机时峰值为WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
plcjs.技.术_网
plcjs.技.术_网
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
——可——编——程——控-制-器-技——术——门——户
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
RWWW_PLCJS_COM-PLC-技.术_网
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
T并=∑NitiWWcW_PLCJS_COM-PLC-技.术_网
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
I=0WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
P.L.C.技.术.网——可编程控制器技术门户
Ni-1ms内任务的最大执行次数,ti-i任务的一次执行最大时间。plcjs.技.术_网
——可——编——程——控-制-器-技——术——门——户 任务类别WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
|
WWcW_PLCJS_COM-PLC-技.术_网 不可剥夺任务WWW_PLCJS_COM-PLC-技.术_网
|
WWW_P※LCJS_COM-PLC-)技.术_网 通信节流任务WW.W_PLC※JS_C,OM-PL,C-技.术_网
|
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) 梯形图定时器P.L.C.技.术.网——可编程控制器技术门户
|
WWW_PL※CJS_COM-PLC-技.术_网 驱动并发任务WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
|
P.L.C.技.术.网——可编程控制器技术门户 2.5ms时基WW.W_PLC※JS_C,OM-PL,C-技.术_网
|
W1WW_P4LCJS_COM-PLC-技.术_网 串口0WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
|
——可——编——程——控-制-器-技——术——门——户 串口1WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
|
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) CAN——可——编——程——控-制-器-技——术——门——户
|
WWW_P※LCJS_COM-PLC-)技.术_网 WWW_PLCJS@_COM%-PLC-技.术_网
|
plcjs.技.术_网 WWW_PLCJS_COM-PLC-技.术_网
|
plcjs.技.术_网 执行次数(N1)WWW_P※LCJS_CO※M-PLC-技-.术_网
|
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) 1WWW_PL※CJS_COM-PLC-技.术_网
|
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户) 1plcjs.技.术_网
|
P.L.C.技.术.网——可编程控制器技术门户 1WWW_PLC※JS_COM-PmLC-技.术_网
|
WW.W_PLC※JS_C,OM-PL,C-技.术_网 1WWW_PLCJS_COM-PLC-技.术_网
|
——可——编——程——控-制-器-技——术——门——户 1WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
|
W1WW_P4LCJS_COM-PLC-技.术_网 NDWWW_PL※CJS_COM-PLC-技.术_网
|
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) 执行时间(T)WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
|
WW.W_PLCJS_COM-PLC-技.术_网 10us+ΔTWWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
|
WWW_PL※CJS_COM-PLC-技.术_网 25msWWW_P※LCJS_COM-PLC-)技.术_网
|
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户 25msWWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
|
W1WW_P4LCJS_COM-PLC-技.术_网 50msWWW_PLCJS@_COM%-PLC-技.术_网
|
WWW.PLCJS.COM——可编程控制器技术门户 40msWWW_PLCJS@_COM%-PLC-技.术_网
|
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) tDWWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
|
WWW_P※LCJS_COM-PLC-)技.术_网
EASY V1.00并发任务实时数据WW.W_PLCJS_COM-PLC-技.术_网
R
WWW_PL※CJS_COM-PLC-技.术_网
T并=10ms+25ms+25ms+50Hs+40Hs+ΔT+∑NjtjWWW_PL※CJS_COM-PLC-技.术_网
WWW_PL※CJS_COM-PLC-技.术_网
j=3W1WW_P4LCJS_COM-PLC-技.术_网
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
RP_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
WWW.PLCJS.COM——可编程控制器技术门户
=150ms+ΔT+∑NjtjWWW_P※LCJS_CO※M-PLC-技-.术_网
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
j=3P.L.C.技.术.网——可编程控制器技术门户
WW.W_PLC※JS_C,OM-PL,C-技.术_网
其中ΔT为驱动异步任务管理时,在2.5ms时基中占用的时间 WWW_PL※CJS_COM-PLC-技.术_网
WWcW_PLCJS_COM-PLC-技.术_网
RWW.W_PLC※JS_C,OM-PL,C-技.术_网
WWW_PLCJS_COM-PLC-技.术_网
∑Njtj为驱动异步事件任务占用的时间。P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
j=3WWW_P※LCJS_COM-PLC-)技.术_网
WW.W_PLCJS_COM-PLC-技.术_网
RWW.W_PLC※JS_C,OM-PL,C-技.术_网
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
系统阻塞条件为ΔT+∑Njtj>1000Hs-150Hs=750msWW.W_PLCJS_COM-PLC-技.术_网
WWW_PLC※JS_COM-PmLC-技.术_网
j=3WWW_P※LCJS_COM-PLC-)技.术_网
WWW_PLCJS@_COM%-PLC-技.术_网
②软实时状态下的时间片级间任务调度WWW.PLCJS.COM——可编程控制器技术门户
WWcW_PLCJS_COM-PLC-技.术_网
PLC梯形图语言以“扫描周期”方式逐条指令解释执行的,2.5ms时基监控最大扫描时间,在规定扫描时间内完成各项任务。WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
将执行一条梯形图指令及相关任务定义为一个时间片,所有时间片总和为“扫描周期”。W1WW_P4LCJS_COM-PLC-技.术_网
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
EASY V1.00一个时间片调度的任务如下:WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
WWcW_PLCJS_COM-PLC-技.术_网
*执行一条梯形图语句WWW_P※LCJS_CO※M-PLC-技-.术_网
WWW_PL※CJS_COM-PLC-技.术_网
*查询通信报文状态及报文拆装WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
WWW.PLCJS.COM——可编程控制器技术门户
*查询梯形图函数调用及运行调用函数WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
WWW.PLCJS.COM——可编程控制器技术门户
*查询用户软实时任务及执行用户任务(用户软中断)WWcW_PLCJS_COM-PLC-技.术_网
WW.W_PLC※JS_C,OM-PL,C-技.术_网
时间片轮间占用CPU机时峰值为WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
WWW_PLC※JS_COM-PmLC-技.术_网
4WWW_P※LCJS_CO※M-PLC-技-.术_网
WWcW_PLCJS_COM-PLC-技.术_网
T片=∑MRTKWWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
WWW_P※LCJS_CO※M-PLC-技-.术_网
k=1WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
k为4个软实时任务,mk为每个软实时任务的子任务数,Tr为每个软实时任务的执行时间。WW.W_PLCJS_COM-PLC-技.术_网
WWW_PLCJS@_COM%-PLC-技.术_网 任务类别WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
|
WWW_PLCJS_COM-PLC-技.术_网 梯形图WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
|
WWW_PLC※JS_COM-PmLC-技.术_网 通讯WW.W_PLCJS_COM-PLC-技.术_网
|
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户) 函数调用WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
|
W1WW_P4LCJS_COM-PLC-技.术_网 用户软中断WWW_P※LCJS_COM-PLC-)技.术_网
|
P.L.C.技.术.网——可编程控制器技术门户 任务个数——可——编——程——控-制-器-技——术——门——户
|
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户) 1WWW_PLCJS@_COM%-PLC-技.术_网
|
WWcW_PLCJS_COM-PLC-技.术_网 3WWcW_PLCJS_COM-PLC-技.术_网
|
WWcW_PLCJS_COM-PLC-技.术_网 1WWW_PLCJS@_COM%-PLC-技.术_网
|
WW.W_PLCJS_COM-PLC-技.术_网 m4WWW_PLC※JS_COM-PmLC-技.术_网
|
W1WW_P4LCJS_COM-PLC-技.术_网 任务时间WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
|
WWW_PLC※JS_COM-PmLC-技.术_网 1-20msWWW_PLC※JS_COM-PmLC-技.术_网
|
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户) 1-10msWWcW_PLCJS_COM-PLC-技.术_网
|
W1WW_P4LCJS_COM-PLC-技.术_网 1-5msWWW_PLC※JS_COM-PmLC-技.术_网
|
WWW_P※LCJS_CO※M-PLC-技-.术_网 t4WWW_PL※CJS_COM-PLC-技.术_网
|
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
T片=3-45ms+t4WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
WWW_P※LCJS_COM-PLC-)技.术_网
t4为用户软中断任务占用时间和。WWW_PLC※JS_COM-PmLC-技.术_网
WWW_PLCJS_COM-PLC-技.术_网
“扫描周期”指解释、执行所有梯形图指令并执行扫描结束处理所占用的时间,由于这期间有并发任务产生,“扫描周期”应包括并发任务占用时间。WWW_PLCJS@_COM%-PLC-技.术_网
WWW_PL※CJS_COM-PLC-技.术_网
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
RWWW_PLCJS@_COM%-PLC-技.术_网
W1WW_P4LCJS_COM-PLC-技.术_网
T并 150ms+ΔT+∑NjtjWW.W_PLCJS_COM-PLC-技.术_网