Somachine视频教程
创建时间:2018-05-22  访问量:2366  6  0

Somachine视频教程

1 任务的概念:
在SoMachine中“任务”指的是交派给M218的工作。SoMachine 设备树中的“ 任务配置” 节点
用于定义一个或多个“任务”以控制应用程序的执行。
2 任务类型:
● 循环
● 自由运行
● 事件
● 外部事件
3 循环任务:是指用户设置一个固定的时间周期,M218按照此时间周期进行执行,如果设置
的时间小于程序执行需要的时间,M218将在运行中报错。循环任务类型的执行方式如下:

第5课:任务的动作

3.1 读取输入:将输入%Ix的状态写入输入存储器,并执行其他系统操作。
3.2 任务处理:处理任务中定义的用户代码(POU 等)。在此操作期间,%Qx 输出存储器变
量会根据应用程序指令进行更新,但不会写入物理输出。
3.3 刷新输出:%Qx 输出存储器变量使用已定义的任何输出强制进行修改,但物理输出的写入
取决于输出类型和所用指令。
有关I/O 行为的详细信息,请参阅控制器状态的详细描述
注意: 扩展I/O 始终由MAST 任务进行物理更新。
3.4. 剩余时间:控制器操作系统执行系统处理和任何其他较低优先级的任务。
注意: 如果为某个循环任务定义的周期过短,则该任务会在写入输出后立即重复,而不会执
行其他较低优先级的任务或任何系统处理。这将会影响所有任务的执行并导致控制器超过系
统看门狗限制,从而导致系统看门狗例外。
注意: 可以使用GetCurrentTaskCycle 和SetCurrentTaskCycle 功能(需要增加
Toolbox_Advance库),通过应用程序获取和设置循环执行任务间隔。

4.自由运行任务
自由运行任务没有固定持续时间。在自由运行模式下,每个任务扫描都在前一个扫描完成时
以及短时间系统处理后开始。每个自由运行任务类型的执行方式如下:

第5课:任务的动作
4.1. 读取输入:将输入%Ix的状态写入输入存储器,并执行其他系统操作。
4.2. 任务处理:处理任务中定义的用户代码(POU 等)。在此操作期间,%Qx 输出存储器变
量会根据应用程序指令进行更新,但不会写入物理输出。
4.3. 刷新输出:%Qx 输出存储器变量使用已定义的任何输出强制进行修改,但物理输出的写入
取决于输出类型和所用指令。
有关I/O 行为的详细信息,请参阅控制器状态的详细描述
注意:扩展I/O 始终由MAST 任务进行物理更新。
4.4. 系统处理:控制器操作系统执行系统处理和任何其他较低优先级的任务。系统处理周期的
长度设置为前3 个操作总持续时间的30% (4 = 30 % * (1 + 2 + 3))。在任何情况下,系统处
理周期都不会少于3 毫秒。
注意:在自由运行模式中,每次任务扫描都在上次扫描完成,以及系统处理(自由运行任务
总持续时间的30%)一段时间后开始。如果由于其他任务中断而使系统处理时间减少,幅度
低于自由运行任务总持续时间的15%且时间超过3秒,则会检测到系统错误。有关详细信
息,请参阅系统看门狗。
建议在有高优先级且耗时的任务运行时,不在多任务应用程序中使用自由运行任务

5.事件任务
此类型的任务由内部事件驱动,即由程序变量启动。除非有更高优先级的任务先于此事件任
务执行,否则事件任务在与触发事件关联的布尔变量的上升沿时启动。在此情况下,事件任
务会根据任务优先级分配的指示启动。
6.外部事件任务
此类型的任务由外部事件驱动,即通过检测到硬件或硬件相关的功能事件启动。除非有更高
优先级的任务先于外部事件任务执行,否则它会在事件发生时启动。在此情况下,外部事件
任务会根据任务优先级分配的指示启动。
7任务数
可为Modicon M218 Logic Controller 定义的最大任务数为:
● 总任务数= 7
● 循环任务数= 3
● 自由运行任务数= 1
● 事件任务数= 2
● 外部事件任务数= 4
注意:自由运行任务、循环任务和事件任务的总数不应大于3。

注意: 请勿删除或更改MAST 任务的名称。如果这么做,SoMachine 会在您尝试生成应用
程序时检测到错误,您将无法将其下载到控制器。