EASYV1.00嵌入式PLC的基本原理(一)

供稿:黄石市科威自控有限公司

  • 关键词:嵌入式,PLC,EASYV1.00嵌入式PLC的基本原理(一),龚云生,黄石市科威自控有限公司,,可编程序控制器,
  • 作者:龚云生
  • 摘要:嵌入式PLC是指在特定的控制装置中实现PLC(Programable Logic Controller)编程语言的解释、执行,使特定装置在自身专用功能基础上具有PLC的基本功能。

一、嵌入式PLC概念

嵌入式PLC是指在特定的控制装置中实现PLC(Programable Logic Controller)编程语言的解释、执行,使特定装置在自身专用功能基础上具有PLC的基本功能。

PLC编程语言(又称梯形图语言)是一种面向工厂自动化工人师傅的语言,具有简洁、直观,面向工艺流程等许多优点。PLC编程语言的出现使控制装置中的硬件管和面向控制流程分离,PLC制造商专注于硬件及硬件管理,工厂自动化人员借助梯形图语言作二次开发,使同一种PLC适用于不同的控制系统中,形成了可编程逻辑控制器(PLC)这种概念级产品。

但控制产品的设计已发展到一个追求个性化、差异化设计的阶段。常规PLC无法进入的市场,面临更多的是个性化、差异化的压力,如成本控制、特殊功能等。出现了工控机(IPC)、单片机嵌入板与更贴近个性化需求的控制产品。IPC在互连、表达、算法等方面优势明显,单片机系统在成本控制上更加灵活。IPC由于加载了操作系统(如NT)其实时性、稳定性难以满足连续控制的苛刻要求。更适合于监控,低层通常用PLC;单片机系统将硬件管理和用户工艺流程控制混在一起,制约了它的标准化,并最终失去成本竞争优势。

嵌入式PLC正是面向IPC和单片机系统开发的,它保留了PLC(借助梯形图语言)硬件管理和工艺控制分离的优势,结合IPC和单片机提供的更个性化、差异化的设计方法,形成一种新的控制器设计理念。当我们在IPC中嵌入PLC的功能时,我们称之为基于PC Base的嵌入式PLC,当我们在单片机中嵌入PLC功能时,我们称它为基于All ON One的嵌入式PLC(片级嵌入PLC)。来特别说明时,嵌入式PLC指片级嵌入式PLC,以下描述以科威公司EASY V1.00嵌入式PLC为例。

二、嵌入式PLC软件架构

 1、总体结构

EASY V1.00嵌入式PLC是一种实时性很强的操作系统软件,总体结构包括三个层面。

①嵌入式PLC内核 它完成实时任务调度,梯形图语言解释、执行、通讯等基本功能,并提供二次开发驱动接口;

②二次开发程序 通过内核提供的外挂任务,使用内核开发各种面向具体对象个性化差异化的驱动程序;

③终端应用程序 指面向工艺流程控制的梯形图语言编程;

EASY V1.00总体结构
EASY V1.00总体结构


对于二次开发人员开发面向个性化对象的驱动程序,必须了解嵌入式PLC内核结构,尤其是驱动接口设计方法,下面分块介绍内核的各块功能。
 2、实时OS
面向小型单片机,一般的实时操作系统无法加载,OS/Ⅱ 占用了过多的资源,EASY V1.00内核根据任务的类别、实时要求、定制了一款专用实时OS,它无文件系统和内存管理两部分。
①硬实时状态下的抢占式并发任务管理
EASY V1.00内核提供2.5ms基准时基,它作为一种不可剥夺的任务循环执行用于各类任务的监控管理。
对于工控应用中的异步事件采用并发式任务管理,通过各类中断抢占任务的挂起、执行,每类异步任务执行前,在2.5ms任务中注册,执行后注销,通过2.5ms时基监控并发任务的流量及阻塞状况并报字到上一级任务调度。
在EASY V1.00中,存在以下异步任务:
*通信数据链络层的字节流
*梯形图语言中的定时器
*二次开发驱动程序中的实时异步任务
并发任务管理是EASY V1.00中最低层的任务管理,达到ms级实时效果,单位时间内(1ms)占用CPU机时峰值为:
   R
T并=∑Niti
   I=0
Ni-1ms内任务的最大执行次数,ti-i任务的一次执行最大时间。

EASY V1.00并发任务实时数据
EASY V1.00并发任务实时数据


T并=10ms+25ms+25ms+50Hs+40Hs+ΔT+∑Njtj
    j=3
R
=150ms+ΔT+∑Njtj
j=3
其中ΔT为驱动异步任务管理时,在2.5ms时基中占用的时间
R
∑Njtj为驱动异步事件任务占用的时间。
j=3
         R
系统阻塞条件为ΔT+∑Njtj>1000Hs-150Hs=750ms
         j=3
②软实时状态下的时间片级间任务调度
PLC梯形图语言以“扫描周期”方式逐条指令解释执行的,2.5ms时基监控最大扫描时间,在规定扫描时间内完成各项任务。
将执行一条梯形图指令及相关任务定义为一个时间片,所有时间片总和为“扫描周期”。
EASY V1.00一个时间片调度的任务如下:
*执行一条梯形图语句
*查询通信报文状态及报文拆装
*查询梯形图函数调用及运行调用函数
*查询用户软实时任务及执行用户任务(用户软中断)
时间片轮间占用CPU机时峰值为
   4
T片=∑MRTK
   k=1
k为4个软实时任务,mk为每个软实时任务的子任务数,Tr为每个软实时任务的执行时间。




T片=3-45ms+t4
t4为用户软中断任务占用时间和。
“扫描周期”指解释、执行所有梯形图指令并执行扫描结束处理所占用的时间,由于这期间有并发任务产生,“扫描周期”应包括并发任务占用时间。

                        R
并发任务占用比X=T并/ 1ms = (150ms+ΔT+∑Njtj)/1000ms =15%-100%
j=3

设用户梯形图含X条指令

T扫=(X.T片+ΔTend)/X

ΔTend为扫描结束处理占用时间。(待续)

发布时间:2005年7月4日 12:02  人气:  
更多内容请访问(黄石市科威自控有限公司
相关链接

我有需求