PLC技术资料
    嵌入式PLC——Embedded Type PLC
    发布者:用户投稿  发布时间:2008/5/5 10:56:55
    摘要:本文通过对经典控制器的分析,提出了嵌入式PLC的概念,重点以EASYV1.00嵌入式PLC软件内核结构作基本分析,以引导工控设计人员建立一种新的嵌入式系统设计理念。

       1引言:嵌入式PLC概念

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

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

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

        嵌入式PLC正是面向IPC和单片机系统开发的,它保留了PLC(借助梯形图语言)硬件管理和工艺控制分离的优势,结合IPC和单片机提供的更个性化、差异化的设计方法,形成一种新的控制器设计理念。当我们在IPC中嵌入PLC的功能时,我们称之为基于PCBase的嵌入式PLC,当我们在单片机中嵌入PLC功能时,我们称它为基于AllONOne的嵌入式PLC(片级嵌入PLC)。未特别说明时,嵌入式PLC指片级嵌入式PLC,也就是本文提出的嵌入式PLC。以下描述以8位单片机C8051F040为硬件的以科威公司EASYV1.00版嵌入式PLC软件架构。

        目前,关于专用PLC有软PLC和客制式PLC两种。软PLC指高端嵌入的含通用实时操作系统的PLC软件,客制式PLC是指根据用户需求定向设计的PLC。相关技术在德国、台湾、南韩均有突破,属于嵌入式PLC的范畴。

        2嵌入式PLC软件架构

        2.1总体结构

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

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

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

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

        对于二次开发人员开发面向个性化对象的驱动程序,必须了解嵌入式PLC内核结构,尤其是驱动接口设计方法,下面分块介绍内核的各块功能。

        2.2实时OS

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

        (1)硬实时状态下的抢占式并发任务管理

        EASYV1.00内核提供2.5ms基准时基,它作为一种不可剥夺的任务循环执行用于各类任务的监控管理。

        对于工控应用中的异步事件采用并发式任务管理,通过各类中断抢占任务的挂起、执行,每类异步任务执行前,在2.5ms任务中注册,执行后注销,通过2.5ms时基监控并发任务的流量及阻塞状况并报字到上一级任务调度。

        (2)EASYV1.00中异步任务

        ?通信数据链络层的字节流

        ?梯形图语言中的定时器

        ?二次开发驱动程序中的实时异步任务

        并发任务管理是EASYV1.00中最低层的任务管理,达到ms级实时效果,单位时间内(1ms)占用CPU机时峰值为:

        T并=

        Ni——1ms内任务的最大执行次数,ti——任务的一次执行最大时间。

        EASYV1.00并发任务实时数据见表1、表2。

        表1EASYV1.00并发任务实时数据

        任务类别不可剥夺任务通信字节流任务梯形图定时器驱动并发任务

        2.5ms时基串口0串口1CAN

        执行次数(N1)11111ND

        执行时间(T)10μs+ΔT25μs25μs50μs40μstD

        表2EASYV1.00并发任务实时数据

        任务类别梯形图通讯函数调用用户软中断

        任务个数131m4

        任务时间1-20μs1-10μs1-5μst4

        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-X177128点位型

        ?输出继电器Y:Y0-Y177128点位型

        ?中间继电器M:M0-M15351536点位型

        ?专用中间继电器M8000-M8255256点位型

        ?状态继电器S:S0-S9991000点位型

        ?时间继电器T:T0-T255256点位型+字型

        ?计数器C:C0-C255256点位型+字型

        ?通用数据寄存器D:D0-D79998000个字型

        ?专用数据寄存器D:D8000-D8255256个字节

        所有PLC资源是梯形图运行时进行数据存取的区域,是终端应用层可视化区域,用户嵌入的驱动程序,可使用对应元件的绝对地址进行存取,实现了嵌入程序与PLC梯形图之间的数据交换。

        (3)用户嵌入数据区

        当用户以EASYV1.00内核设计各种嵌入系统时,需针对具体硬件做必要的驱动程序,该部分程序的私有数据存放于用户嵌入数据区,公有数据存放于PLC的资源区,用户嵌入数据区分配如下:

        CPU内部:位区(bitRAM):20H-23H4bytes

        字节区(DRAM):58H-67H16bytes

        外部数据存取器:字节区(XRAM):3600H-3FFFH2560bytes

        2.4梯形图语言

    摘要:本文通过对经典控制器的分析,提出了嵌入式PLC的概念,重点以EASYV1.00嵌入式PLC软件内核结构作基本分析,以引导工控设计人员建立一种新的嵌入式系统设计理念。

       1引言:嵌入式PLC概念

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

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

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

        嵌入式PLC正是面向IPC和单片机系统开发的,它保留了PLC(借助梯形图语言)硬件管理和工艺控制分离的优势,结合IPC和单片机提供的更个性化、差异化的设计方法,形成一种新的控制器设计理念。当我们在IPC中嵌入PLC的功能时,我们称之为基于PCBase的嵌入式PLC,当我们在单片机中嵌入PLC功能时,我们称它为基于AllONOne的嵌入式PLC(片级嵌入PLC)。未特别说明时,嵌入式PLC指片级嵌入式PLC,也就是本文提出的嵌入式PLC。以下描述以8位单片机C8051F040为硬件的以科威公司EASYV1.00版嵌入式PLC软件架构。

        目前,关于专用PLC有软PLC和客制式PLC两种。软PLC指高端嵌入的含通用实时操作系统的PLC软件,客制式PLC是指根据用户需求定向设计的PLC。相关技术在德国、台湾、南韩均有突破,属于嵌入式PLC的范畴。

        2嵌入式PLC软件架构

        2.1总体结构

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

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

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

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

        对于二次开发人员开发面向个性化对象的驱动程序,必须了解嵌入式PLC内核结构,尤其是驱动接口设计方法,下面分块介绍内核的各块功能。

        2.2实时OS

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

        (1)硬实时状态下的抢占式并发任务管理

        EASYV1.00内核提供2.5ms基准时基,它作为一种不可剥夺的任务循环执行用于各类任务的监控管理。

        对于工控应用中的异步事件采用并发式任务管理,通过各类中断抢占任务的挂起、执行,每类异步任务执行前,在2.5ms任务中注册,执行后注销,通过2.5ms时基监控并发任务的流量及阻塞状况并报字到上一级任务调度。

        (2)EASYV1.00中异步任务

        ?通信数据链络层的字节流

        ?梯形图语言中的定时器

        ?二次开发驱动程序中的实时异步任务

        并发任务管理是EASYV1.00中最低层的任务管理,达到ms级实时效果,单位时间内(1ms)占用CPU机时峰值为:

        T并=

        Ni——1ms内任务的最大执行次数,ti——任务的一次执行最大时间。

        EASYV1.00并发任务实时数据见表1、表2。

        表1EASYV1.00并发任务实时数据

        任务类别不可剥夺任务通信字节流任务梯形图定时器驱动并发任务

        2.5ms时基串口0串口1CAN

        执行次数(N1)11111ND

        执行时间(T)10μs+ΔT25μs25μs50μs40μstD

        表2EASYV1.00并发任务实时数据

        任务类别梯形图通讯函数调用用户软中断

        任务个数131m4

        任务时间1-20μs1-10μs1-5μst4

        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-X177128点位型

        ?输出继电器Y:Y0-Y177128点位型

        ?中间继电器M:M0-M15351536点位型

        ?专用中间继电器M8000-M8255256点位型

        ?状态继电器S:S0-S9991000点位型

        ?时间继电器T:T0-T255256点位型+字型

        ?计数器C:C0-C255256点位型+字型

        ?通用数据寄存器D:D0-D79998000个字型

        ?专用数据寄存器D:D8000-D8255256个字节

        所有PLC资源是梯形图运行时进行数据存取的区域,是终端应用层可视化区域,用户嵌入的驱动程序,可使用对应元件的绝对地址进行存取,实现了嵌入程序与PLC梯形图之间的数据交换。

        (3)用户嵌入数据区

        当用户以EASYV1.00内核设计各种嵌入系统时,需针对具体硬件做必要的驱动程序,该部分程序的私有数据存放于用户嵌入数据区,公有数据存放于PLC的资源区,用户嵌入数据区分配如下:

        CPU内部:位区(bitRAM):20H-23H4bytes

        字节区(DRAM):58H-67H16bytes

        外部数据存取器:字节区(XRAM):3600H-3FFFH2560bytes

        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条件跳转浮点数运算ECMP2进制浮点数比较

        CALL子程序调用EZCP2进制浮点数区域比较

        SRET子程序返回EBCD2进制浮点数转10进制浮点数

        FEND主程序结束EBIN10进制浮点数转2进制浮点数

        FOR循环范围开始EADD2进制浮点数加法

        NEXT循环范围结束ESUB2进制浮点数减法

        传送与比较CMP比较EMUL2进制浮点数乘法

        ZCP区域比较EDIV2进制浮点数除法

        MOV传送ESQR2进制浮点数开方

        CML取反传送INT2进制浮点数转BIN整数

        BCDBCD转换FLTBIN整数转2进制浮点数

        BINBIN转换接点运算LD=读取“等于比较节点”

        四则逻辑运算ADDBIN加法LD>读取“大于比较节点”

        SUBBIN减法LD<读取“小于比较节点”

        MULBIN乘法LD<>读取“不等于比较节点”

        DIVBIN除法LD≦读取“小于等于比较节点”

        INCBIN加1LD≧读取“大于等于比较节点”

        DECBIN减1AND=串联“等于比较节点”

        WAND逻辑字与AND>串联“大于比较节点”

        WOR逻辑字或AND<串联“小于比较节点”

        WXOR逻辑字异或AND<>串联“不等于比较节点”

        NEG求补码AND≦串联“小于等于比较节点”

        SQRBIN开方AND≧串联“大于等于比较节点”

        循环与移位ROR循环右移OR=并联“等于比较节点”

        ROL循环左移OR>并联“大于比较节点”

        RCR带进位循环右移OR<并联“小于比较节点”

        RCL带进位循环左移OR<>并联“不等于比较节点”

        OR≦并联“小于等于比较节点”

        OR≧并联“大于等于比较节点”

        (4)专家指令(1条)

        助记符名称

        PID专家算法

        2.5EASYV1.00通信

        EASYV1.00内核包括串口0、串口1、CANbus三个通信接口,每个接口均定制了相应的通信协议,适用于不同的应用场合。

        (1)串口0

        l用户嵌入程序下载

        在编程状态下,通过串口0下载用户嵌入程序.

        嵌入程序下载软件为科威公司软件Downhex.

        l梯形图下载

        在设置状态下,通过串口0下载梯形图程序.

        下载工具软件为科威公司软件EasyWin或三菱公司软件FXGP_WIN-C.

        l梯形图程序监控

        在运行状态下,通过串口0连接人机界面(如HITECH,EVIEW,DELTA,三菱等)和计算机,对梯形图程序和控制参数进行监控.

        (2)串口1

        l下载CAN网络配置内容

        在设置(SET)状态下,下载CAN网络配置内容.

        编辑下载CAN网络配置软件为科威公司软件CANSET.

        lRS485网络连接端口

        在运行(RUN)状态下,作为RS485主从式网络的数据交换接口.

        该接口网络通信协议由内核自动加载,遵循该协议的子节点可自动连入该网络.如运动控制器的扩展键盘连接.

        (3)CANbus通信

        EASYV1.00内核含CANbus现场总线通信协议,在CAN2.0B基础上,加载了专用的主从式结构的高层协议,借助梯形图语言,对CANbus占用的PLC资源进行管理(CANbus文件寄存器)即可实现CANbus互连。

        2.6函数调用

        EASYV1.00系统提供嵌入驱动程序函数调用,为嵌入程序设计系统提供了EASYCORE.LIB函数库,用户在嵌入时,只要包含该文件(includeEASYCORE.LIB)即可调用系统提供的各类应用函数,如整数、浮点数运算,数据变换等函数。

        2.7用户中断系统

        EASYV1.00运行在C8051F040CPU上时,给用户提供了13种中断,如事件中断、SPI、IIC、A/D、D/A、比较、捕获等。

        系统中断入口地址重定向为E000H开始的区域

        ADR=ADR0+E000H

        ADR0---F040中断入口地址

        3结束语

        嵌入式PLC提出了一种以过程控制语言(梯形图语言)核心的新型嵌入系统设计理念。既可以作为PLC产品的开发平台,也可以作为常规单片机系统的设计。以嵌入式PLC方式进行控制器设计提高了开发速度,更适应贴近客户需求的个性化、差异化设计要求。面对工控市场日益细分的完备体系,嵌入式PLC在DCS、IPC、PLC、单片机的交叉市场中具有广阔的应用前景。

        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空操作

    摘要:本文通过对经典控制器的分析,提出了嵌入式PLC的概念,重点以EASYV1.00嵌入式PLC软件内核结构作基本分析,以引导工控设计人员建立一种新的嵌入式系统设计理念。

       1引言:嵌入式PLC概念

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

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

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

        嵌入式PLC正是面向IPC和单片机系统开发的,它保留了PLC(借助梯形图语言)硬件管理和工艺控制分离的优势,结合IPC和单片机提供的更个性化、差异化的设计方法,形成一种新的控制器设计理念。当我们在IPC中嵌入PLC的功能时,我们称之为基于PCBase的嵌入式PLC,当我们在单片机中嵌入PLC功能时,我们称它为基于AllONOne的嵌入式PLC(片级嵌入PLC)。未特别说明时,嵌入式PLC指片级嵌入式PLC,也就是本文提出的嵌入式PLC。以下描述以8位单片机C8051F040为硬件的以科威公司EASYV1.00版嵌入式PLC软件架构。

        目前,关于专用PLC有软PLC和客制式PLC两种。软PLC指高端嵌入的含通用实时操作系统的PLC软件,客制式PLC是指根据用户需求定向设计的PLC。相关技术在德国、台湾、南韩均有突破,属于嵌入式PLC的范畴。

        2嵌入式PLC软件架构

        2.1总体结构

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

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

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

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

        对于二次开发人员开发面向个性化对象的驱动程序,必须了解嵌入式PLC内核结构,尤其是驱动接口设计方法,下面分块介绍内核的各块功能。

        2.2实时OS

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

        (1)硬实时状态下的抢占式并发任务管理

        EASYV1.00内核提供2.5ms基准时基,它作为一种不可剥夺的任务循环执行用于各类任务的监控管理。

        对于工控应用中的异步事件采用并发式任务管理,通过各类中断抢占任务的挂起、执行,每类异步任务执行前,在2.5ms任务中注册,执行后注销,通过2.5ms时基监控并发任务的流量及阻塞状况并报字到上一级任务调度。

        (2)EASYV1.00中异步任务

        ?通信数据链络层的字节流

        ?梯形图语言中的定时器

        ?二次开发驱动程序中的实时异步任务

        并发任务管理是EASYV1.00中最低层的任务管理,达到ms级实时效果,单位时间内(1ms)占用CPU机时峰值为:

        T并=

        Ni——1ms内任务的最大执行次数,ti——任务的一次执行最大时间。

        EASYV1.00并发任务实时数据见表1、表2。

        表1EASYV1.00并发任务实时数据

        任务类别不可剥夺任务通信字节流任务梯形图定时器驱动并发任务

        2.5ms时基串口0串口1CAN

        执行次数(N1)11111ND

        执行时间(T)10μs+ΔT25μs25μs50μs40μstD

        表2EASYV1.00并发任务实时数据

        任务类别梯形图通讯函数调用用户软中断

        任务个数131m4

        任务时间1-20μs1-10μs1-5μst4

        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-X177128点位型

        ?输出继电器Y:Y0-Y177128点位型

        ?中间继电器M:M0-M15351536点位型

        ?专用中间继电器M8000-M8255256点位型

        ?状态继电器S:S0-S9991000点位型

        ?时间继电器T:T0-T255256点位型+字型

        ?计数器C:C0-C255256点位型+字型

        ?通用数据寄存器D:D0-D79998000个字型

        ?专用数据寄存器D:D8000-D8255256个字节

        所有PLC资源是梯形图运行时进行数据存取的区域,是终端应用层可视化区域,用户嵌入的驱动程序,可使用对应元件的绝对地址进行存取,实现了嵌入程序与PLC梯形图之间的数据交换。

        (3)用户嵌入数据区

        当用户以EASYV1.00内核设计各种嵌入系统时,需针对具体硬件做必要的驱动程序,该部分程序的私有数据存放于用户嵌入数据区,公有数据存放于PLC的资源区,用户嵌入数据区分配如下:

        CPU内部:位区(bitRAM):20H-23H4bytes

        字节区(DRAM):58H-67H16bytes

        外部数据存取器:字节区(XRAM):3600H-3FFFH2560bytes

        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条件跳转浮点数运算ECMP2进制浮点数比较

        CALL子程序调用EZCP2进制浮点数区域比较

        SRET子程序返回EBCD2进制浮点数转10进制浮点数

        FEND主程序结束EBIN10进制浮点数转2进制浮点数

        FOR循环范围开始EADD2进制浮点数加法

        NEXT循环范围结束ESUB2进制浮点数减法

        传送与比较CMP比较EMUL2进制浮点数乘法

        ZCP区域比较EDIV2进制浮点数除法

        MOV传送ESQR2进制浮点数开方

        CML取反传送INT2进制浮点数转BIN整数

        BCDBCD转换FLTBIN整数转2进制浮点数

        BINBIN转换接点运算LD=读取“等于比较节点”

        四则逻辑运算ADDBIN加法LD>读取“大于比较节点”

        SUBBIN减法LD<读取“小于比较节点”

        MULBIN乘法LD<>读取“不等于比较节点”

        DIVBIN除法LD≦读取“小于等于比较节点”

        INCBIN加1LD≧读取“大于等于比较节点”

        DECBIN减1AND=串联“等于比较节点”

        WAND逻辑字与AND>串联“大于比较节点”

        WOR逻辑字或AND<串联“小于比较节点”

        WXOR逻辑字异或AND<>串联“不等于比较节点”

        NEG求补码AND≦串联“小于等于比较节点”

        SQRBIN开方AND≧串联“大于等于比较节点”

        循环与移位ROR循环右移OR=并联“等于比较节点”

        ROL循环左移OR>并联“大于比较节点”

        RCR带进位循环右移OR<并联“小于比较节点”

        RCL带进位循环左移OR<>并联“不等于比较节点”

        OR≦并联“小于等于比较节点”

        OR≧并联“大于等于比较节点”

        (4)专家指令(1条)

        助记符名称

        PID专家算法

        2.5EASYV1.00通信

        EASYV1.00内核包括串口0、串口1、CANbus三个通信接口,每个接口均定制了相应的通信协议,适用于不同的应用场合。

        (1)串口0

        l用户嵌入程序下载

        在编程状态下,通过串口0下载用户嵌入程序.

        嵌入程序下载软件为科威公司软件Downhex.

        l梯形图下载

        在设置状态下,通过串口0下载梯形图程序.

        下载工具软件为科威公司软件EasyWin或三菱公司软件FXGP_WIN-C.

        l梯形图程序监控

        在运行状态下,通过串口0连接人机界面(如HITECH,EVIEW,DELTA,三菱等)和计算机,对梯形图程序和控制参数进行监控.

        (2)串口1

        l下载CAN网络配置内容

        在设置(SET)状态下,下载CAN网络配置内容.

        编辑下载CAN网络配置软件为科威公司软件CANSET.

        lRS485网络连接端口

        在运行(RUN)状态下,作为RS485主从式网络的数据交换接口.

        该接口网络通信协议由内核自动加载,遵循该协议的子节点可自动连入该网络.如运动控制器的扩展键盘连接.

        (3)CANbus通信

        EASYV1.00内核含CANbus现场总线通信协议,在CAN2.0B基础上,加载了专用的主从式结构的高层协议,借助梯形图语言,对CANbus占用的PLC资源进行管理(CANbus文件寄存器)即可实现CANbus互连。

        2.6函数调用

        EASYV1.00系统提供嵌入驱动程序函数调用,为嵌入程序设计系统提供了EASYCORE.LIB函数库,用户在嵌入时,只要包含该文件(includeEASYCORE.LIB)即可调用系统提供的各类应用函数,如整数、浮点数运算,数据变换等函数。

        2.7用户中断系统

        EASYV1.00运行在C8051F040CPU上时,给用户提供了13种中断,如事件中断、SPI、IIC、A/D、D/A、比较、捕获等。

        系统中断入口地址重定向为E000H开始的区域

        ADR=ADR0+E000H

        ADR0---F040中断入口地址

        3结束语

        嵌入式PLC提出了一种以过程控制语言(梯形图语言)核心的新型嵌入系统设计理念。既可以作为PLC产品的开发平台,也可以作为常规单片机系统的设计。以嵌入式PLC方式进行控制器设计提高了开发速度,更适应贴近客户需求的个性化、差异化设计要求。面对工控市场日益细分的完备体系,嵌入式PLC在DCS、IPC、PLC、单片机的交叉市场中具有广阔的应用前景。

        PLF下降沿输出脉冲END程序结束

        LDP读取上升沿

        (2)步进顺控指令(2条)

        助记符名称助记符名称

        STL步进梯形图开始RET步进梯形图结束

        注:步序状态转移只能用SET,当用OUT时视作普通继电器。

        (3)功能指令(56条)

        助记符名称助记符名称

        程序流程CJ条件跳转浮点数运算ECMP2进制浮点数比较

        CALL子程序调用EZCP2进制浮点数区域比较

        SRET子程序返回EBCD2进制浮点数转10进制浮点数

        FEND主程序结束EBIN10进制浮点数转2进制浮点数

        FOR循环范围开始EADD2进制浮点数加法

        NEXT循环范围结束ESUB2进制浮点数减法

        传送与比较CMP比较EMUL2进制浮点数乘法

        ZCP区域比较EDIV2进制浮点数除法

        MOV传送ESQR2进制浮点数开方

        CML取反传送INT2进制浮点数转BIN整数

        BCDBCD转换FLTBIN整数转2进制浮点数

        BINBIN转换接点运算LD=读取“等于比较节点”

        四则逻辑运算ADDBIN加法LD>读取“大于比较节点”

        SUBBIN减法LD<读取“小于比较节点”

        MULBIN乘法LD<>读取“不等于比较节点”

        DIVBIN除法LD≦读取“小于等于比较节点”

        INCBIN加1LD≧读取“大于等于比较节点”

        DECBIN减1AND=串联“等于比较节点”

        WAND逻辑字与AND>串联“大于比较节点”

        WOR逻辑字或AND<串联“小于比较节点”

        WXOR逻辑字异或AND<>串联“不等于比较节点”

        NEG求补码AND≦串联“小于等于比较节点”

        SQRBIN开方AND≧串联“大于等于比较节点”

        循环与移位ROR循环右移OR=并联“等于比较节点”

        ROL循环左移OR>并联“大于比较节点”

        RCR带进位循环右移OR<并联“小于比较节点”

        RCL带进位循环左移OR<>并联“不等于比较节点”

        OR≦并联“小于等于比较节点”

        OR≧并联“大于等于比较节点”

        (4)专家指令(1条)

        助记符名称

        PID专家算法

        2.5EASYV1.00通信

        EASYV1.00内核包括串口0、串口1、CANbus三个通信接口,每个接口均定制了相应的通信协议,适用于不同的应用场合。

        (1)串口0

        l用户嵌入程序下载

        在编程状态下,通过串口0下载用户嵌入程序.

        嵌入程序下载软件为科威公司软件Downhex.

        l梯形图下载

        在设置状态下,通过串口0下载梯形图程序.

        下载工具软件为科威公司软件EasyWin或三菱公司软件FXGP_WIN-C.

        l梯形图程序监控

        在运行状态下,通过串口0连接人机界面(如HITECH,EVIEW,DELTA,三菱等)和计算机,对梯形图程序和控制参数进行监控.

        (2)串口1

        l下载CAN网络配置内容

        在设置(SET)状态下,下载CAN网络配置内容.

        编辑下载CAN网络配置软件为科威公司软件CANSET.

        lRS485网络连接端口

        在运行(RUN)状态下,作为RS485主从式网络的数据交换接口.

        该接口网络通信协议由内核自动加载,遵循该协议的子节点可自动连入该网络.如运动控制器的扩展键盘连接.

        (3)CANbus通信

        EASYV1.00内核含CANbus现场总线通信协议,在CAN2.0B基础上,加载了专用的主从式结构的高层协议,借助梯形图语言,对CANbus占用的PLC资源进行管理(CANbus文件寄存器)即可实现CANbus互连。

        2.6函数调用

        EASYV1.00系统提供嵌入驱动程序函数调用,为嵌入程序设计系统提供了EASYCORE.LIB函数库,用户在嵌入时,只要包含该文件(includeEASYCORE.LIB)即可调用系统提供的各类应用函数,如整数、浮点数运算,数据变换等函数。

        2.7用户中断系统

        EASYV1.00运行在C8051F040CPU上时,给用户提供了13种中断,如事件中断、SPI、IIC、A/D、D/A、比较、捕获等。

        系统中断入口地址重定向为E000H开始的区域

        ADR=ADR0+E000H

        ADR0---F040中断入口地址

        3结束语

        嵌入式PLC提出了一种以过程控制语言(梯形图语言)核心的新型嵌入系统设计理念。既可以作为PLC产品的开发平台,也可以作为常规单片机系统的设计。以嵌入式PLC方式进行控制器设计提高了开发速度,更适应贴近客户需求的个性化、差异化设计要求。面对工控市场日益细分的完备体系,嵌入式PLC在DCS、IPC、PLC、单片机的交叉市场中具有广阔的应用前景。

    版权声明PLC信息网转载作品均注明出处,本网未注明出处和转载的,是出于传递更多信息之目的,并不意味 着赞同其观点或证实其内容的真实性。如转载作品侵犯作者署名权,或有其他诸如版权、肖像权、知识产权等方面的伤害,并非本网故意为之,在接到相关权利人通知后将立即加以更正。联系电话:0571-87774297。
0571-87774297