您当前的位置:五五电子网电子知识plc技术PLC培训资料嵌入式PLC——Embedded Type PLC 详细介绍 正文
嵌入式PLC——Embedded Type PLC 详细介绍

嵌入式PLC——Embedded Type PLC 详细介绍

点击数:7685 次   录入时间:03-04 11:53:18   整理:http://www.55dianzi.com   PLC培训资料
摘 要:本文通过对经典控制器的分析,提出了嵌入式PLC的概念,重点以EASYV1.00嵌入式PLC软件内核结构作基本分析,以引导工控设计人员建立一种新的嵌入式系统设计理念。
关键词: 嵌入式 PLC 内核 CAN总线
Abstract: By the analysis of the classical controller, the conception of embedded PLC is proposed. The emphases is to lead the designers of the controlling engineering to build a new notion of the design of embedded system by the basic analysis of the kernel configuration of the EASYV1.00 embedded PLC software.
Key word:Embeded PLC Kernel CAN bus
1引言:嵌入式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,也就是本文提出的嵌入式PLC。以下描述以8位单片机C8051F040为硬件的以科威公司EASYV1.00版嵌入式PLC软件架构。
       目前,关于专用PLC有软PLC和客制式PLC两种。软PLC指高端嵌入的含通用实时操作系统的PLC软件,客制式PLC是指根据用户需求定向设计的PLC。相关技术在德国、台湾、南韩均有突破,属于嵌入式PLC的范畴。2 嵌入式PLC软件架构
2.1 总体结构
EASY V1.00嵌入式PLC是一种实时性很强的操作系统软件,总体结构包括三个层面,如图1所示。
(1)嵌入式PLC内核 它完成实时任务调度,梯形图语言解释、执行、通讯等基本功能,并提供二次开发驱动接口;
(2)二次开发程序 通过内核提供的外挂任务,使用内核开发各种面向具体对象个性化差异化的驱动程序;
(3)终端应用程序 指面向工艺流程控制的梯形图语言编程;
对于二次开发人员开发面向个性化对象的驱动程序,必须了解嵌入式PLC内核结构,尤其是驱动接口设计方法,下面分块介绍内核的各块功能。

2.2 实时OS
面向小型单片机,一般的实时操作系统无法加载,OS/Ⅱ 占用了过多的资源,EASY V1.00内核根据任务的类别、实时要求、定制了一款专用实时OS,它无文件系统和内存管理两部分。

(1)硬实时状态下的抢占式并发任务管理
EASY V1.00内核提供2.5ms基准时基,它作为一种不可剥夺的任务循环执行用于各类任务的监控管理。
对于工控应用中的异步事件采用并发式任务管理,通过各类中断抢占任务的挂起、执行,每类异步任务执行前,在2.5ms任务中注册,执行后注销,通过2.5ms时基监控并发任务的流量及阻塞状况并报字到上一级任务调度。

(2)EASY V1.00中异步任务
· 通信数据链络层的字节流
· 梯形图语言中的定时器
· 二次开发驱动程序中的实时异步任务
并发任务管理是EASY V1.00中最低层的任务管理,达到ms级实时效果,单位时间内(1ms)占用CPU机时峰值为:
T并=
Ni——1ms内任务的最大执行次数,ti——任务的一次执行最大时间。
EASY V1.00并发任务实时数据见表1、表2。

表1 EASY V1.00并发任务实时数据
任务类别 不可剥夺任务 通信字节流任务 梯形图定时器 驱动并发任务
2.5ms时基 串口0 串口1 CAN
执行次数(N1) 1 1 1 1 1 ND
执行时间(T) 10μs+ΔT 25μs 25μs 50μs 40μs tD

表2 EASY V1.00并发任务实时数据
任务类别 梯形图 通讯 函数调用 用户软中断
任务个数 1 3 1 m4
任务时间 1-20μs 1-10μs 1-5μs t4
T片=3-45μs+t4
t4为用户软中断任务占用时间和。
“扫描周期”指解释、执行所有梯形图指令并执行扫描结束处理所占用的时间,由于这期间有并发任务产生,“扫描周期”应包括并发任务占用时间。
并发任务占用比:
X=T并/ 1ms = (150μs+ΔT+ )/1000μs =15%-100%
设用户梯形图含M条指令
T扫=(M•T片+ΔTend)/X
ΔTend为扫描结束处理占用时间。
2.3 内存管理
ESAYV1.00的运行数据空间包括64K外部RAM+256字节CPURAM,将其分解为系统占用区、PLC资源区、用户嵌入数据区三部分。
(1)系统占用区
系统占用区是EASYV1.00运行时,进行数据缓存、状态保持、系
统堆栈等不对PLC及用户开设的域区。这部分数据区的初始化运行中的监视都由实时OS管理,PLC及用户嵌入程序不得非法侵入。
(2)PLC资源区
梯形图语言管理的数据区包括位区、字区两部分。通常以元件形式体现。
·输入继电器X:X0-X177 128点位型
·输出继电器Y:Y0-Y177 128点位型
·中间继电器M:M0-M1535 1536点位型
·专用中间继电器M8000-M8255 256点位型
·状态继电器S:S0-S999 1000点位型
·时间继电器T:T0-T255 256点位型+字型
·计数器C:C0-C255 256点位型+字型
·通用数据寄存器D:D0-D7999 8000个字型
·专用数据寄存器D:D8000-D8255 256个字节
所有PLC资源是梯形图运行时进行数据存取的区域,是终端应用层可视化区域,用户嵌入的驱动程序,可使用对应元件的绝对地址进行存取,实现了嵌入程序与PLC梯形图之间的数据交换。
(3)用户嵌入数据区
当用户以EASYV1.00内核设计各种嵌入系统时,需针对具体硬件做必要的驱动程序,该部分程序的私有数据存放于用户嵌入数据区,公有数据存放于PLC的资源区,用户嵌入数据区分配如下:
CPU内部:位区(bitRAM):20H-23H 4bytes
字节区(DRAM):58H-67H 16bytes
外部数据存取器:字节区(XRAM):3600H-3FFFH 2560bytes
2.4 梯形图语言
EASYV1.00梯形图语言是一种解释性语言,每一条梯形图语句对应一个固定的函数调用,逐句扫描直至END为一个扫描周期,EASYV1.00支持86条梯形图指令。
(1)基本指令(27条)
助记符 名称 助记符 名称
LD 读取常开点 LDF 读取下降沿
LDI 读取常闭点 ANDP 串接上升沿
AND 串入常开点 ANDF 串接下降沿
ANDI 串入常闭点 ORP 并接上升沿
OR 并入常开点 ORF 并接下降沿
ORI 并入常闭点 INV 运算触点取反
ANB 电路块串联 MPS 运算触点压栈
ORB 电路块并联 MRD 读出压栈触点
OUT 线圈输出 MPP 弹出压栈触点
SET 线圈输出保持 MC 主控
RST 清除线圈输出 MCR 主控结束
PLS 上升沿输出脉冲 NOP 空操作
PLF 下降沿输出脉冲 END 程序结束
LDP 读取上升沿

(2)步进顺控指令(2条)
助记符 名称 助记符 名称
STL 步进梯形图开始 RET 步进梯形图结束
注:步序状态转移只能用SET,当用OUT时视作普通继电器。

(3)功能指令(56条)
助记符 名称 助记符 名称
程序流程 CJ 条件跳转 浮点数运算 ECMP 2进制浮点数比较
CALL 子程序调用 EZCP 2进制浮点数区域比较
SRET 子程序返回 EBCD 2进制浮点数转10进制浮点数
FEND 主程序结束 EBIN 10进制浮点数转2进制浮点数
FOR 循环范围开始 EADD 2进制浮点数加法
NEXT 循环范围结束 ESUB 2进制浮点数减法
传送与比较 CMP 比较 EMUL 2进制浮点数乘法
ZCP 区域比较 EDIV 2进制浮点数除法
MOV 传送 ESQR 2进制浮点数开方
CML 取反传送 INT 2进制浮点数转BIN整数
BCD BCD转换 FLT BIN整数转2进制浮点数
BIN BIN转换 接点运算 LD= 读取“等于比较节点”
四则逻辑运算 ADD BIN加法 LD> 读取“大于比较节点”
SUB BIN减法 LD< 读取“小于比较节点”
MUL BIN乘法 LD<> 读取“不等于比较节点”
DIV BIN除法 LD≦ 读取“小于等于比较节点”
INC BIN加1 LD≧ 读取“大于等于比较节点”
DEC BIN减1 AND= 串联“等于比较节点”
WAND 逻辑字与 AND> 串联“大于比较节点”
WOR 逻辑字或 AND< 串联“小于比较节点”
WXOR 逻辑字异或 AND<> 串联“不等于比较节点”
NEG 求补码 AND≦ 串联“小于等于比较节点”
SQR BIN开方 AND≧ 串联“大于等于比较节点”
循环与移位 ROR 循环右移 OR= 并联“等于比较节点”
ROL 循环左移 OR> 并联“大于比较节点”
RCR 带进位循环右移 OR< 并联“小于比较节点”
RCL 带进位循环左移 OR<> 并联“不等于比较节点”
OR≦ 并联“小于等于比较节点”
OR≧ 并联“大于等于比较节点”

(4)专家指令(1条)

[1] [2]  下一页


本文关键字:嵌入式  PLC培训资料plc技术 - PLC培训资料