您现在的位置是:首页 > PLC技术 > PLC技术

施耐德Unity Pro的多任务内存结构

来源:艾特贸易2017-06-04

简介Modicon PLC 系统的 Unity 平台所支持的多任务主要包括: ● 1 个主任务,被分成 ST 、 IL 、 LD 、 FBD 、 SFC 语言 编写的程序段; ● 1 个快速任务; ● 0 ~ 4 个辅助任务; ● 1 个或多个事件

    Modicon PLC系统的Unity平台所支持的多任务主要包括:    1个主任务,被分成STILLDFBDSFC语言    编写的程序段;    1个快速任务;    04个辅助任务;    1个或多个事件触发任务,每个任务只包含1个程序段。    主任务(MAST)仍然是应用程序的基础,每个任务的优先级是固定的。如图3-22所示。
多任务内存结构图
    3-22    多任务内存结构图    这些任务彼此相互独立,并行方式执行, PLCCPU安排执行过程中的优先级。    发生了一个事件,或快速任务扫描开始后,如果有较低优先级的任务正在执行,则这个任务被挂起。系统执行事件触发式任务或快速任务。较高优先级的任务执行完毕后,系统会自动找到中断点,继续执行前面所中断的任务。    (1)主任务(MAST)    主任务是应用程序的主要任务,用于执行主程序,以系统方式启动,其执行方式既可以是周期性的,又可以是循环式的。它是必需的,以默认的方式创建。    主任务( MAST)由代码段和子程序组成。主任务的每一个代码段都可以用LDFBDILST或者SFC语言编写。子程序可以用LDFBDILST编写,并可在任务代码段中调用。注意:虽然用SFC语言编写的代码段的数量不受限制,但SFC语言编写的代码只能用在主任务中。    用户可以选择循环式(默认选择)或者周期式( 1255ms)方式来执行主任务。    主任务可以通过位和系统字来用程序进行控制;主任务常用的位和系统字如表3-15所示。    3-15    主任务常用的位和系统字
主任务常用的位和系统字
    主任务操作周期如图3-23所示。
主任务操作周期示意图
    3-23    主任务操作周期示意图    主任务各阶段的任务如下:    ●获取输入阶段:将与任务相关联的离散量模块和专用模    块的输入数据状态写到内存中,用户通过强制赋值操作    来修改该状态数值;    ●程序处理阶段:执行编写的应用程序;    ●更新输出阶段:根据应用程序所执行的结果,把输出位    或字写到与任务相关联的离散量模块和专用的模块中。    用户通过强制赋值的操作来修改输出的数值。    (2)快速任务(FAST)    快速任务( FAST)由代码段和子程序组成,用于持续时间较短的、周期性的处理任务。快速任务的代码段和子程序都可以用LDFBDIL或者ST语言编写,而不能使用SFC语言编写代码。子程序可在任务代码段中调用。    快速任务执行方式是周期式的,其优先级比主任务高。快速任务的周期是由系统用户配置确定的,其数值范围为1255ms。但是,执行程序的时间必须尽可能的短,以避免低优先级任务溢出。快速任务通过位和系统字来用程序进行控制,其常用的位和系统字如表3-16所示。    3-16    快速任务常用的位和系统字
快速任务常用的位和系统字
    (3)辅助任务(AUX)    辅助任务主要用于执行较慢类型的处理操作任务,其优先级最低,例如测量、过程控制、HMI、应用诊断操作等。在Quantum 140 CPU6系列和Premium TSX P575系列PLC上最多可编写4个辅助任务( AUXOAUX3)    辅助任务( AUX)由代码段和子程序组成。其代码段和子程序都可采用LDFBDIL或者ST语言编写,但不能使用SFC语言编写,最多可以编写64个子程序,这些子程序由任务代码段调用。    辅助任务执行方式是周期式的,其周期固定在10ms2.55s之间。该辅助任务通过位和系统字来用程序进行控制,如表3-17所示。    3-17    通过位和系统字控制的辅助任务
通过位和系统字控制的辅助任务
    (4)事件触发任务    与上述几种任务不同,事件触发任务与周期不相关联。执行事件触发任务是由下列事件异步触发,可缩短应用程序的响应时间:    EVTi:来自输入/输出模块,例如计数器阈值越限、离散输入的状态改变等;    TIMERi:来自事件计时器。    这些处理任务的优先级高于任何其他任务。所以事件触发任务适用于那些需要极短的事件响应时间的处理任务。    事件触发任务是单代码段,它只含有一个无条件的代码段。它采用LDFBDILST语言编写的。事件处理任务是异步执行的。在出现了某个事件后,系统会重新安排应用程序到输入/输出通道。    事件处理任务通过位和系统字来用程序进行控制,如表3-18所示。    3-18    通过位和系统字控制的事件处理任务
通过位和系统字控制的事件处理任务
    例如,在多个任务处理的顺序执行中,主任务为循环执行模式;快速任务采取周期执行模式,且周期为20ms;以及事件处理,如图3-24所示。
模式执行举例
    3-24    模式执行举例    系统为任务分配I/O通道:    ●每个主任务、快速任务、事件触发任务读(在循环开始时)写(在循环结束时)分配给输入/输出。默认情况下,这些IO通道分配给主任务;    ●对于Quantum平台,远程输入/输出(RIO)只分配给主任务,且可为每个站点分配对应的程序段。而分布式输入/输出( DIO)都分配给主任务,不分配到这个主任务的单个程序段;    ●对于事件触发任务,不仅可以分配与事件相关的I/O通道,还可以分配其他的I/O通道;    ●对于Quantum平台,以I/O模块为单位分配通道;而对于Premium平台,则以I/O模块的通道为单位分配通道。