首页 理论教育 执行系统配置的优化方案:简化操作、提高效率

执行系统配置的优化方案:简化操作、提高效率

时间:2023-07-02 理论教育 版权反馈
【摘要】:图10-4 执行系统任务配置界面在任务配置的左侧可以看到执行等级树,在每个执行等级下有分配的任务和程序的列表。由于是循环执行,因此执行时起始顺序是不确定的。

执行系统配置的优化方案:简化操作、提高效率

1.分配程序到相应的执行等级

用户的程序必须分配到执行等级和任务中才能执行。可以分配用MCC、ST或者LAD/FBD编写的程序到一个或多个任务中,也可在一个任务中分配多个程序。分配的程序按照列表中的顺序依次执行,此顺序可以在SCOUT软件中指定。后面的程序必须在前面的程序结束后才能执行。可以将一个程序分配到几个任务中,此时它们在不同任务中独立运行。

分配一个程序到执行系统中,也就定义了该程序的执行优先级、执行模式(是顺序执行还是循环执行)以及程序变量初始化。分配一个程序到一个或多个任务时应注意以下事项:

1)被分配的程序必须被编译过且没有错误

2)在下载程序之前进行分配;

3)当一个程序在执行时,有可能被另外一个任务调用。这时系统不能保证数据的一致性;

4)当分配了一个程序到任务后,即使重新编译程序也会保持分配状态。

在SCOUT项目浏览界面中选择“EXECUTION SYSTEM”打开任务配置界面,如图10-4所示。

978-7-111-43580-8-Chapter10-4.jpg

图10-4 执行系统任务配置界面

在任务配置的左侧可以看到执行等级树,在每个执行等级下有分配的任务和程序的列表。为任务分配程序的步骤如下:

1)选择要分配程序的任务;

2)选择“Program assignment”选项卡,在左侧的窗口会列出所有可分配的程序;

3)在左侧的窗口选择要分配的程序;

4)单击978-7-111-43580-8-Chapter10-5.jpg按钮,选定的程序出现在右边的窗口中;

5)在右侧窗口中选中相应的任务,按上下按钮可以调整程序的运行顺序;

6)还可以在“Task configuration”标签中进行更多的设置,例如,程序出错的处理方式、周期任务的看门狗时间、MotionTasks的启动模式等。

全部设置完成后,可以在线项目后下载到目标系统中。

2.设置系统循环时钟

在SIMOTION硬件配置中,如某个通信接口被设置成了等时同步DP/PN模式,则时钟周期的设置被用做总线时钟周期。DP/PN的通信、伺服以及插补周期均与总线时钟周期同步。如果想要等时同步地访问IO变量,必须进行此设置。支持等时同步的驱动设备有:SIMODRIVE 611U,MASTERDRIVES MC,SINAMICS。SIMOTION也可以连接不支持等时同步模式的驱动,例如MICROMASTER MM4和MASTERDRIVES VC。如果未设置等时同步模式,也可以设置基本的系统时钟,伺服和插补周期与基本的时钟同步。

(1)系统时钟周期

一旦选择了时钟周期的源,就可以定义各个同步的周期时间,它们是基本时钟周期的倍数。SIMOTION中有下述时钟周期:

1)Bus data cycle:总线时钟周期。

2)Servo cycle clock:输入输出在此周期内被刷新,包括轴的位置控制以及集中式IO或分布式IO的处理。伺服时钟周期可以设置为总线时钟周期的整数倍。

3)Interpolator cycle clock(IPO cycle clock):轴运动是在IPO时钟周期内被计算。IPO-SynchronousTask也是在此周期内执行。IPO周期与伺服周期的比率可以设置成1∶1到1∶6。

4)Interpolator cycle clock2(IPO_2 cycle clock)/T3(DCC)cycle clock:IPO_2时钟周期可以运行低优先级的轴。此外,IPOSynchronousTask_2和PWM Task(TControl)也在此周期内执行,IPO_2与IPO时钟周期的比率可以设置成1∶2到1∶64。

(2)系统时钟周期的设置

系统时钟周期的设置步骤如下:

1)通过菜单“Target system”→“Expert”→“Set system cycle clocks…”,或者用鼠标右键单击“EXECUTION SYSTEM”选择“Expert”→“Set system cycle clocks”打开设置页面,如图10-5所示。

978-7-111-43580-8-Chapter10-6.jpg

图10-5 系统时钟周期的设置

2)如果没有设置等时同步模式,则可以指定基本的总线时间。

3)设置各个时钟之间的比例关系。

4)如果使用了T Control则需对T Control系统任务以及时钟周期进行设置,如图10-6所示。

(3)给TO(工艺对象)分配系统时钟周期

可以分配TO的计算周期来改变TO的优先级、优化系统的性能。一般情况下,可以分配低优先级的工艺对象到IPO2,例如外部编码器。也可以分配快速输出或快速测量输入到IPO或Servo时钟周期,可以设置的时钟周期见表10-1。(www.xing528.com)

978-7-111-43580-8-Chapter10-7.jpg

图10-6 系统时钟设置

表10-1 工艺对象可以分配的系统时钟周期

978-7-111-43580-8-Chapter10-8.jpg

(4)任务运行时间

可以用任务运行时间来检查系统的性能是否可以满足要求。在设备的变量Taskruntime和effectiveTaskruntime中可以查看任务的运行时间。Taskruntime是指任务运行的时间(不包括中断的时间),effectiveTaskruntime显示实际执行等级的执行时间,也就是从执行等级开始到最后的任务结束所需的时间,如图10-7所示。

978-7-111-43580-8-Chapter10-9.jpg

图10-7 任务的运行时间(IPO2:IPO1=2:)

Servo—伺服循环周期IS1_IPOSynchronousTask IS2—IPOSynchronousTask_2 IPO1—IPOTask IPO2_IPOTask2

系统运行时可能会发生超时或溢出。也可以用SCOUT的诊断功能来监控程序的运行。

3.自由执行任务的时间分配

除了高优先级的用户和系统任务外剩余的时间是留给MotionTask和BackgroundTask的,在自由执行任务级别自由地顺序执行这些任务。由于是循环执行,因此执行时起始顺序是不确定的。在此循环中一个任务可以在指定的时间内连续执行,然后转到下一个任务,如果任务执行结束就会直接转到下一个任务,如图10-8所示。可以通过设置来决定MotionTask和BackgroundTask在自由执行任务级别中执行时间的分配。

978-7-111-43580-8-Chapter10-10.jpg

图10-8 自由时间分配

自由执行任务等级的时间分配步骤如下:

1)在任务分配窗口中选择“MotionTask”或“BackgroundTask”,选择任务配置标签。

2)单击时间分配按钮Time allocation,如图10-9所示。

978-7-111-43580-8-Chapter10-11.jpg

图10-9 设置时间分配

3)在打开的窗口中用滑动条设置BackgroundTask的时间分配,单击“OK”按钮确定,如图10-10所示。

978-7-111-43580-8-Chapter10-12.jpg

图10-10 时间分配滑动设置

下面通过两个例子来说明自由执行等级时间的设置。

【例1】如果设置BackgroundTask的运行时间为1个伺服周期,如图10-11所示。在此设置下,BackgroundTask执行一个伺服周期,然后运行所有的MotionTask,但每个Motion-Task最多运行两个伺服周期。然后BackgroundTask再执行一个伺服周期。

在有两个MotionTask的情况下,自由执行等级的执行情况见表10-2。

978-7-111-43580-8-Chapter10-13.jpg

图10-11 为BackgroundTask分配时间片

表10-2 自由执行等级的执行情况

978-7-111-43580-8-Chapter10-14.jpg

【例2】如果设置BackgroundTask的运行时间为20个伺服周期如图10-12所示。在此设置下,BackgroundTask执行20个伺服周期,然后运行所有的MotionTask,但每个Motion-Task最多运行两个伺服周期。然后BackgroundTask再执行20个伺服周期。

978-7-111-43580-8-Chapter10-15.jpg

图10-12 为BackgroundTask分配时间片

在有两个MotionTask的情况下,自由执行等级的执行情况见表10-3。

表10-3 自由执行等级的执行情况

978-7-111-43580-8-Chapter10-16.jpg

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

我要反馈