- {{item.name}}
运动控制概述
- 0
- 299
S7-1200 G2 CPU 的运动控制功能可通过工艺对象来实现。如图1所示,工艺对象在程序中代表了工艺控制功能的实体对象。
图1. 运动控制工艺对象
工艺对象功能及类型
工艺对象包含了以下功能:
- 提供了工艺对象参数配置的用户界面,并以工艺数据块的方式进行存储。
- 与用户编写的运动控制指令进行数据交互:
- 工艺对象负责对所连接硬件进行控制与状态评估:
S7-1200 G2 支持的工艺对象种类如表1所示。通过组态工艺对象可以实现速度、定位、相对齿轮同步、凸轮同步、运动机构(笛卡尔门户)、测量输入、输出凸轮和凸轮轨迹等运动控制功能。
表1 S7-1200 G2 支持的工艺对象
| 工艺对象 | 对应的 TO |
| 速度轴 | TO_SpeedAxis |
| 定位轴 | TO_PositioningAxis |
| 同步轴 | TO_SynchronousAxis |
| 外部编码器 | TO_ExternalEncoder |
| 输出凸轮 | TO_OutputCam |
| 凸轮轨迹 | TO_CamTrack |
| 测量输入 | TO_MeasuringInput |
| 凸轮 | TO_Cam |
| 运动机构 | TO_Kinematics |
工艺对象采用了类继承的设计方式。这种设计方式使工艺数据的存储和工艺功能的划分在结构上更为清晰。图 2 是 S7-1200 G2 工艺对象之间的类继承关系。
图2. 工艺对象的继承关系
以最左侧的分支为例,最下面的同步轴工艺对象继承了定位轴,速度轴以及基本轴类型 TO_Axis 的所有功能。
类继承体现在数据结构和功能两个方面。如图 3 所示。
图3. 工艺对象数据块数据结构
工艺轴类型
在运动控制中,轴指的是机械系统中可独立控制移动或旋转的对象。每个轴对应一个自由度,而多个轴可以实现速度同步、位置同步, 使负载沿规定的路径在空间运动等。
在S7-1200 G2 运动控制系统中, 轴需要组态为工艺对象 (TO)。如图 4 所示,根据工艺对象之间的派生关系,从 TO_Axis 派生出以下四种轴类型的工艺对象:
- 速度轴工艺对象(TO_SpeedAxis):对轴进行速度控制,不需要考虑轴的位置时使用。
- 定位轴工艺对象(TO_PositioningAxis):对轴进行闭环位置控制,具有速度轴的所有功能,并且可以将轴移动到程序指定的位置。
- 同步轴工艺对象(TO_SynchronousAxis):同步轴建立在定位轴的基础之上,增加了同步运动的功能,即可以作为跟随轴与其它轴进行齿轮同步或者凸轮同步运动。
-外部编码器工艺对象(TO_ExternalEncoder):连接外部编码器,对位置进行检测。
图4. 轴的派生关系
依据继承关系:
- 定位轴工艺对象包含了速度轴工艺对象的所有功能,并扩展了定位功能;
- 同步轴工艺对象包含了定位轴工艺对象的所有功能,并增加了主值设定,可以指定同步轴的引导轴功能。
同步轴工艺对象包含了速度轴和定位轴的所有功能,对应的工艺对象的组态参数也是最全的。
- 外部编码器工艺对象,仅连接了外部编码器,没有连接驱动装置,其组态参数最少。
运动资源
在选型阶段,通常需要知道 CPU 能组态的定位轴的最大数量。这个参数指标可通过 CPU 的最大运动控制资源数和最大扩展运动控制资源数来体现,S7-1200 G2 系列 CPU 的带轴数量参见表2。
表2 S7-1200 G2 带轴数量对比
| CPU 类型 | CPU 1212(F)C | CPU 1214(F)C | CPU 1216 | CPU 1217 |
| 位处理运算时间(ns) | 37 | 37 | 25 | 25 |
| 运动控制资源 | 800 | 800 | 3040 | 6080 |
| 扩展的运动控制资源 | 40 | 40 | 60 | 120 |
| 最大定位轴数量 | 10 | 10 | 16① | 32② |
① 最大速度轴、定位轴、同步轴数量均为 16
② 最大速度轴、定位轴、同步轴数量均为 32
S7-1200 G2 系列 CPU 的运动控制功能可分两个性能等级:
CPU 1212(F)C 和 CPU 1214(F)C 属于全球产品,最大定位轴数量为 10;
CPU 1216 和 CPU 1217 属于中国专供产品,其最大速度轴、定位轴和同步轴数量均被限定为特定值。
根据轴资源数和工艺对象的种类及数量可计算出是否满足 CPU 的组态限制要求。表3列出了不同类型工艺对象所占的资源数。
表3 工艺对象占用的资源数
| 工艺对象类型 | 运动控制资源 | 扩展运动控制资源 |
| TO_SpeedAxis | 40 | - |
| TO_PositioningAxis | 80 | - |
| TO_SynchronousAxis | 160 | - |
| TO ExternalEncoder | 80 | - |
| TO_OutputCam | 20 | - |
| TO_CamTrack | 160 | - |
| TO_MeasuringInput | 40 | - |
| TO_Cam | - | 2 |
| TO_Kinematics | - | 30 |
下面举例来说明资源数的计算方法。
例如:某项目包含 4 个定位轴,2 个同步轴,2 个测量输入,1 个运动机构。分别计算所需的运动控制资源和扩展运动控制资源数量:
运动控制资源数 =4×80+2×160+2×40=720
扩展运动控制资源数 =1×30=30
所需的运动控制资源 720 小于 CPU 1214C 可支持的最大值 800,所需的扩展运动控制资源 30 小于 CPU 1214C 可支持的最大值 40,所以从组态限制的层面,使用 CPU 1214C 可以组态出该项目的所有工艺对象,没有超出 CPU 的组态限制。
注意:
CPU 1216 和 CPU 1217 最大轴数量不按照上述方法计算,而是限制为特定值。
比如对于 CPU 1217 能组态的最大定位轴数量是 32
虽然同步轴所占资源数是定位轴资源数的 2 倍,但其能组态的最大同步轴数量也是 32。
上面仅从组态限制的角度来衡量 CPU 的运动控制能力,除此之外,还需要考虑在特定应用周期下,运动控制所占 CPU 负荷为 35% 时所带的最大定位轴数来衡量 CPU 的带轴能力,也叫典型轴轴数。比如对于 CPU 1214C,在应用周期为 4ms 时,典型轴数量为 4。虽然 CPU 1214C 可以组态的最大定位轴数量为 10 个,但受到 CPU 运算能力的限制,当组态 10 个定位轴时,运动控制功能所占的 CPU 利用率就会过高,CPU 分配给其他程序任务的占比就会变小,导致其他任务的执行时间过长,不能满足控制要求。
所以在选型时需要同时考虑 CPU 工艺对象数量的组态限值和所能带的典型轴数量,通常典型轴数量更为重要。
运行系统介绍
1.用于运动控制的组织块
S7-1200 G2 CPU 支持多种用于运动控制的组织块,这些组织块分为两类:
- 组织块被系统占用,设置了专有技术保护,用户不可修改,比如:MC_Servo 和 MC_Interpolator;
- 开放给用户使用的,可以在里面编写程序,比如:MC_PreServo 和 MC_PostServo。
表4列出了 S7-1200 G2 CPU 支持的运动控制相关组织块。
表4 运动控制相关组织块
| 组织块 | 说明 | 优先级 |
| MC_PreServo [OB67](可选) | 在 MC_Servo 之前调用,支持编写用户程序,通常对编码器反馈的位置信息处理或执行其他需要快速处理的用户程序。 | 与 MC_Servo 相同 |
| MC_Servo [OB91](专有技术保护) | 位置控制器的计算,系统占用,不支持编写用户程序 | 17 到 26 默认值为 25 |
| MC_PostServo [OB95](可选) | 在 MC_Servo 之后立即调用,支持编写用户程序,通常对速度给定或控制字进行自定义处理,例如:对驱动速度给定加入补偿算法或对液压轴的比例阀给定做非线性补偿等。 | 与 MC_Servo 相同 |
| MC_PreInterpolator [OB68](可选) | 在 MC_Interpolator 之前立即调用,支持编写用户程序,在需要对运动控制指令进行 IPO 同步处理时使用,例如:使用测量输入、输出凸轮和凸轮轨迹等运动控制命令进行 IPO 同步处理 | 与 MC_Interpolator 相同 |
| MC_Interpolator [OB92](专有技术保 护 | 评估运动控制指令、生成设定值和监控功能 ,系统占用,不支持编写用户程序。 | 16 到 25 默认值为 24 |
| MC_LookAhead [OB97](专有技术保 护) | 运动系统工艺对象的运动准备在此组织块中进行计算,系统占用,不支持编写用户程序。 | 15 到 16 默认值为 15 |
S7-1200 G2 CPU 根据按优先级顺序处理事件(优先级最高的最先进行处理)。对于优先级相同的事件,CPU 按照“先到先得”的原则进行处理。由于运动控制属于需要优先快速处理的任务,通常运动控制组织块需要设置较高的优先级。
设置优先级时,确保先设置 MC_Servo 的优先级,默认设置为 25。MC_Interpolator 的优先级最少比 MC_Servo 低 1 级,通常默认设置为 24。MC_LookAhead 的优先级必须高于循环中断的优先级,但必须低于 MC_Interpolator 的优先级,默认优先级为 15。
2. 运动控制应用周期设置
在组织块 MC_Servo 的属性中可以设置运动控制的应用周期,该周期决定了位置环计算的时间间隔,系统响应越高,周期值需要设置的越小。通常 4ms 为中等响应的典型值。
图5. 应用周期设置
如图 5 所示,周期设置分为两种:
1) 循环
设定固定的周期,当与驱动装置采用 PROFINET RT 通讯进行连接时采用该方式,此时运动控制的处理过程与总线时钟/发送时钟是异步的,该方式不能实现高动态响应的控制。
2) 同步到总线
应用周期取决于发送时钟和设置的因子倍数。对于 S7-1200 G2 CPU 发送时钟的来源只能来自于 PROFINET IO 系统,即仅支持通过集成 PN 组态 PROFINET IRT 的发送时钟。该方式可以实现高动态响应控制,是推荐的组态方式。当 CPU 负荷偏高,且系统允许增大位置环的计算周期时,可以适当通过增大发送时钟或提高因子来增大应用周期,除此之外应尽量保持较小的发送时钟并设置因子为 1,以实现高动态的响应控制。
对于 S7-1200 G2 CPU,支持的最小发送时钟为 1ms。
运动控制功能执行原理
常规的用户程序在 Main [OB1] 程序中编写,其优先级为最低的 1。CPU 根据组织块的优先级顺序执行,如在执行某组织块 OB 期间发生了更高优先级的事件时,将中断正在运行的 OB,以允许更高优先级的事件 OB 运行,直至更高级别的事件执行完毕后,才会继续执行之前中断的 OB。如果执行可中断 OB 时发生多个事件,CPU 将按照优先级顺序处理这些事件。
图6. 组织块的执行顺序
如图 6 所示,CPU 处理运动控制功能的过程如下:
运动控制 OB 和 Main 在应用周期
1 中相继进行处理。在位置 ① Main 主程序被高优先级的运动控制 OB 打断,开始读取运动控制相关的输入过程映像分区“PIP OB Servo”,然后开始依次执行 MC_PreServo、MC_Servo、MC_PostServo 三个运动控制组织块,这三个运动控制组织块优先级相同,且执行顺序是固定的。S1 为第一个应用周期中 MC_Servo 处理的任务。处理完 MC_PostServo 之后,在 ② 的位置对输出过程映像分区“PIP OB Servo”进行更新,刷新输出给定;
接下来按照优先级依次处理 MC_PreInterpolator 和 MC_Interpolator。这两个组织块的优先级相同,且先执行 MC_PreInterpolator ,再执行 MC_Interpolator
。I1 为第一个应用周期中 MC_Interpolator 需要处理的任务。其处理时间取决于运动控制指令的评估以及在 CPU 上为运动控制配置的所有工艺对象的监控和设定值生成所需的时间。
③ 表示 MC_LookAhead 处理的任务,当系统存在需要进行提前准备的运动学系统任务的时候,在 MC_Interpolator 执行完毕后触发执行 MC_LookAhead。MC_LookAhead 执行时间不超过设定的最大周期负载(在 MC_LookAhead 属性中设置,表示所占应用周期的百分比)。上图示例中,MC_LookAhead 在第一个应用周期未执行完毕(中断),在第二个应用周期继续执行。
只有在处理完所有运动控制组织块后,继续处理 Main ④;在第二个应用周期处理 Main 程序的第 n 个循环 ④ 执行完毕,开始执行第 n+1 个循环 ⑤。
由此可以看出,OB1 执行过程中,被运动控制组织块频繁中断,并且时间被延长。因此,如果在轴数较多或者 PLC 负荷较重的情况下,需要考虑:
1) 增加 OB1 的循环监视时间,以避免因循环超时而停机(在 CPU“属性—>循环”中设置);
2) 降低通信负荷百分比(最低可达 15%);
3) 在 OB91 属性中增加循环因子系数或者延长运动控制的通信周期,可以有效地降低 CPU 的负荷。
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错


西门子官方商城


{{item.nickName}}