理论教育 系统任务划分实现与优化

系统任务划分实现与优化

时间:2023-06-17 理论教育 版权反馈
【摘要】:Soft-PLC多任务控制系统中,任务就是完成各个功能的程序模块。每个扫描周期内最基本的PLC系统需要完成几个任务,包括:PLC内部工作单元的调度、监控;PLC与外部设备间的通信;用户程序所完成的工作。图4-9 Soft-PLC系统多任务划分模型任务按照是否循环执行可分为周期和非周期任务。整个Soft-PLC系统任务划分如图4-9所示。

系统任务划分实现与优化

Soft-PLC多任务控制系统中,任务就是完成各个功能的程序模块。各程序模块的具体实现是在功能类实例化对象中初始化创建的线程函数,或者是功能类实例化对象中提供的方法函数。

PLC系统采用循环扫描工作方式完成用户设定的逻辑控制、运动控制及过程控制等。每个扫描周期内最基本的PLC系统需要完成几个任务,包括:PLC内部工作单元的调度、监控;PLC与外部设备间的通信;用户程序所完成的工作。各个任务的基本工作状态如图4-8所示(如无特别说明,下文中各方块所表达的意义与此处相同)。

978-7-111-42574-8-Chapter04-11.jpg

图4-8 Soft-PLC基本工作状态

通信功能对象创建一个负责与外部设备以指定格式会话的任务;I/O接口功能模块定义一个读I/O状态到输入数据寄存器,以及将输出数据寄存器中的I/O状态写到输出口的任务;系统管理功能相应有个负责调度其他任务执行的任务;应用程序执行功能对应一个从指令内存中首指令地址开始,顺序执行各个指令对应的指令函数的任务。(www.daowen.com)

另外,从用户程序的角度出发,Soft-PLC提供给用户两个不同等级的任务:基于循环扫描执行程序的任务;基于时间周期执行程序的任务。用户可以将要实现的逻辑控制、运动控制及过程控制程序段按照不同的实时要求,分别交给两个具有不同任务等级的任务完成。

978-7-111-42574-8-Chapter04-12.jpg

图4-9 Soft-PLC系统多任务划分模型

任务按照是否循环执行可分为周期和非周期任务。非周期任务包括程序指令集存储任务和数据存储任务,因为在不考虑Soft-PLC在线修改的情况下,这些任务只是在运行某个用户程序的起始阶段完成将用户程序、系统数据写入内存的工作,以及结束阶段完成对内存的释放工作。周期任务就是指在每个循环周期内都被调用的任务,包括通信任务、人机通信任务、输入采集任务、执行用户程序任务、输出任务以及系统调度任务。其中执行用户程序任务又分两个不同等级的任务,即基于循环扫描和基于时间周期(定时执行)的任务。整个Soft-PLC系统任务划分如图4-9所示。Soft-PLC最基本的多任务执行流程如图4-10所示,这里没有考虑基于时间周期任务的执行。因为该任务只是在PLC周期扫描阶段,定时地被唤醒并由操作系统中断基于循环扫描任务,继而执行自己内部的操作后进入等待下一个周期的状态,基于循环扫描任务重新占据CPU资源并继续自己的循环流程。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈