声明:CODESYS平台使用版本 CODESYS V3.5 SP20 Patch 4
使用PLC为微秒 VMX500 伺服为微秒GSD700 ETHERCAT版
如若有总结/理解错误烦请留言指正 谢谢。
关于CODESYS创建实轴、虚轴以及参数设置问题:
1.配置总线
1)总线任务下勾选自动重启从站选项
2)原本程序中使用通过MAC选择网络,但是发现每次给不同PLC进行传程序时对应总线都需要重新配置否则无法正常链接,选择通过名称选择网络目前未发现问题
2.创建实轴
在ETHERCAT主站右击添加设备-添加对应从站-在从站下右击添加402轴
需要注意:
1)添加从站需要与实际伺服型号等完全对应,例如:微秒有GSD700、GSD600、GSD620系列伺服,不同伺服对应不同XML文件,如果软件中配置GSD600系列而实际伺服链接的是GSD620,则此处通讯也会出现问题。
2)在调试设备过程中发现ETHERCAT总线一直通讯不上,查看总线日志,发现日志报错网络适配器未打开。该问题通过1、通过管理员打开CODESYS软件2、正确配置从站信息解决
3.对从站进行参数编辑
1)勾选专家设置
2)对专家过程数据中输入输出映射内容根据需要进行配置,专家过程数据与过程数据中的配置同步,只需设置一项
3)启动参数中对设备启动时自动设置参数进行设置,例如启动自动输入原点回归模式、操作模式等
4)ETHERCATIO映射 对各个PDO数据进行单独映射设置,可根据需要进行配置 需要注意的是右下角总是更新变量处默认选择启动2(总是在总线周期任务中),此处未对该选项进行测试,但是对于另外两种选项使用父设备设置、使能1(若未在任何任务中使用则使用总线周期任务)。"使用父设备设置"配置为该选项时,在设备运行时,使用软件监视发现左侧总线以及总站均显示正常但是伺服无法使能。使用"使能1"该选项则全部正常。经测试,启动2和使能1都可进行使用,但是使用父设备设置无法使伺服使能。
5)日志和状态 可以对总线状态进行查看
4.对轴进行参数设置
1)对轴进行重命名:可两次点击轴名称后进入编辑名称状态(与windows编辑文件名称类似) 也可右击重构-重命名
2)SOFTMOTION驱动:通用设置: (由DEEPSEEK查询得,个人认为概念应该没问题)
关于模数和有限:
在 CODESYS 的轴配置(通常是 AXIS_REF
结构体或运动控制功能块的参数)中,“模数”(Modulo)和“有限”(Limited)是两种不同的 位置范围处理模式,主要用于定义轴在达到其设定的位置范围边界时的行为。它们之间的核心区别如下:
-
有限 (Limited) 模式:
-
概念: 将轴的位置范围视为一条有起点和终点的直线段。轴只能在设定的最小位置 (
SoftLimitMin
) 和最大位置 (SoftLimitMax
) 之间运动。 -
边界行为:
-
当轴指令位置试图超过
SoftLimitMax
时,轴会被限制在SoftLimitMax
处(或触发停止/错误,取决于配置)。 -
当轴指令位置试图低于
SoftLimitMin
时,轴会被限制在SoftLimitMin
处(或触发停止/错误)。
-
-
位置值: 位置值
nActPosition
严格限制在[SoftLimitMin, SoftLimitMax]
区间内。不会自动跳变。 -
位置反馈: 反馈位置
nActPosition
也反映实际的、有限范围内的位置。 -
应用场景: 绝大多数直线运动的应用场景,如:
-
直线滑台
-
传送带(有限长度)
-
需要严格物理位置限制以防止碰撞的场合。
-
-
图示: 想象一条有起点和终点的尺子。
-
-
模数 (Modulo) 模式:
-
概念: 将轴的位置范围视为一个圆环。轴的位置是循环的。当位置达到范围上限时,下一个位置“环绕”到范围下限(反之亦然)。范围大小由
ModuloRange
定义(例如 360.0 表示一圈)。 -
边界行为:
-
当轴指令位置超过
ModuloRange
时,其有效位置会自动减去ModuloRange
,相当于回到起点(0度/0mm模数位置)继续增加。 -
当轴指令位置低于 0 时,其有效位置会自动加上
ModuloRange
,相当于跳到终点(360度/一圈位置)继续减少。 -
注意: 物理轴本身可能一直在朝一个方向旋转(例如连续转圈),但控制系统内部计算的“位置”只在
[0, ModuloRange)
范围内变化。
-
-
位置值: 指令位置
nCmdPosition
和反馈位置nActPosition
通常被归一化到[0, ModuloRange)
区间内(或[-ModuloRange/2, ModuloRange/2)
,具体取决于实现和配置)。nPosition
的值会不断累加(可能非常大),但nActPosition
显示的是模数范围内的等效位置。 -
位置反馈: 反馈位置
nActPosition
被计算为物理编码器或反馈设备读数的模运算值(物理位置 % ModuloRange
)。 -
应用场景: 无限连续旋转或角度循环的应用场景,如:
-
旋转工作台(分度转盘)
-
旋转主轴(如车床主轴)
-
角度定位(0-360度)
-
需要无限连续旋转但需要知道“圈内位置”的场合。
-
-
图示: 想象一个钟表盘,指针可以一直顺时针或逆时针转无数圈,但它的“位置”总是在 0-12 小时(或 0-360度)之间循环表示。
-
核心区别总结表:
特性 | 有限 (Limited) 模式 | 模数 (Modulo) 模式 |
---|---|---|
位置范围 | 直线段:[SoftLimitMin, SoftLimitMax] |
圆环:[0, ModuloRange) (或等效范围) |
边界行为 | 硬性限制,无法超越边界 | 循环环绕:超越上限→回到下限;超越下限→跳到上限 |
位置值 | 严格在设定范围内 (nActPosition 在 [Min, Max] ) |
nActPosition 在 [0, ModuloRange) 内循环显示 |
物理运动 | 运动被限制在物理范围内 | 物理运动可以无限连续旋转 |
关键参数 | SoftLimitMin , SoftLimitMax |
ModuloRange |
典型应用 | 直线滑台、有限行程气缸、有物理限位的轴 | 旋转工作台、主轴、角度定位、无限旋转的输送辊 |
选择哪个?
-
如果你的轴进行的是直线运动,并且有明确的物理起点和终点,需要防止超程碰撞,请使用有限 (Limited) 模式。这是最常用的模式。
-
如果你的轴进行的是旋转运动,需要无限连续旋转,或者位置概念本身是循环的(如角度),并且你关心的是循环内的相对位置而非绝对圈数,请使用模数 (Modulo) 模式。
重要提示:
-
回零 (Homing): 在模数模式下,回零操作通常是为了确定一个参考点(如 0 度位置),而不是确定一个绝对的物理原点(因为物理位置是循环的)。回零后,控制系统会将当前位置映射到模数范围的起点(通常是 0)。有限模式下的回零则建立绝对的物理坐标系。
-
位置反馈: 在模数模式下,
nActPosition
显示的是模数范围内的位置。实际的累加位置(包含圈数)可能需要从其他状态字或通过计算获得。 -
CODESYS 实现: 具体的配置选项名称(如
ModuloRange
,SoftLimitMin
,SoftLimitMax
)以及它们是否启用 (bEnableSoftLimit
,bEnableModulo
),可能因使用的 CODESYS 运动控制库(如 CODESYS SoftMotion, 3S 的 MC2, 第三方驱动库如 Elmo, Beckhoff TwinCAT 集成等)而略有差异,但核心概念是一致的。务必查阅你所使用的具体库的文档。
经过测试:
1.模数模式:设置好模数后,软件内监视位置在模数内循环,模数可以根据需要进行设置。
2.有限模式:激活有限模式、软件限位正负限位,当前位置只能在位置运行在限位内,超过限位无论设置运行位置为多少都停止运行并轴报警,运行模块报错SMC_AXIS_NOT_READY_FOR_MOTION。可通过MC_RESET进行报警复位。
关于速率斜坡类型:
- 梯形斜坡 (Trapezoidal / Linear Ramp - 最常见)
-
-
特征:
-
加速度恒定: 在加速段和减速段,加速度 (
Acceleration
) 保持为一个常数值。 -
加加速度无限大: 在加速/减速的起点和终点,加速度瞬间跳变到目标值或瞬间归零,这意味着理论上的加加速度 (
Jerk = da/dt
) 为无穷大(在实际系统中,受物理限制,会表现为一个非常陡峭但有限的斜率)。 -
速度曲线: 速度随时间线性增加(加速段)或线性减少(减速段),形成速度曲线的“斜坡”部分。当速度达到目标速度后,保持恒定(匀速段)。整体速度曲线呈梯形(如果运动距离足够长)。
-
-
参数配置: 主要需要设置
Acceleration
和Deceleration
(有时可分开设置正负向)。 -
优点:
-
计算简单,易于理解和实现。
-
运动时间可预测性强。
-
对于大多数通用应用已经足够。
-
-
缺点:
-
机械冲击大: 由于加速度在开始和结束时刻的突变,会产生较大的瞬时力 (
F = m*a
) 和冲击 (Jerk
),容易引起机械振动、噪音和磨损,尤其对大型、刚性不足或精密设备不利。 -
平滑性差: 速度变化不够平滑。
-
-
适用场景: 对运动平滑性要求不高、负载惯量小、结构刚性强、成本敏感的应用,如一些简单的输送带、低精度定位等。
-
- S形斜坡 (S-Curve / Sinusoidal Ramp)
-
特征:
-
加速度线性变化: 在加速段的开始和结束部分,加速度 (
Acceleration
) 是线性变化的(斜坡)。 -
加加速度恒定: 在加速/减速段内部的大部分区域,加加速度 (
Jerk
) 保持为一个有限的常数值(非零)。这使得加速度曲线呈梯形(有斜坡和平顶),速度曲线呈S形(平滑过渡)。 -
平滑过渡: 速度、加速度的变化都是连续的、平滑的,没有突变。
-
-
参数配置: 除了
Acceleration
和Deceleration
,必须设置Jerk
(加加速度) 参数。Jerk
值控制着加速度变化的快慢,从而影响 S 形斜坡的“陡峭”程度。 -
优点:
-
大幅减少机械冲击和振动: 加速度的平滑变化显著降低了启停和速度变化时的瞬时力变化率 (
dF/dt
),保护机械结构,降低噪音。 -
运动更平滑: 速度变化连续且光滑,提高运动品质。
-
提高精度: 减少振动有助于提高定位精度,尤其在需要平稳加减速的场合(如 CNC 加工)。
-
-
缺点:
-
计算稍复杂。
-
相同加速度/减速度下,运动时间略长于梯形斜坡: 因为有一部分时间花在了加速度的“斜坡”上。目标速度越高,加速距离越短,S形相对于梯形的减速时间优势越不明显。
-
-
适用场景: 绝大多数对运动平滑性、精度、减少振动有要求的应用。 这是目前工业自动化中的主流和推荐选择。例如:机器人、CNC机床、精密定位平台、印刷机械、贴片机、有易碎或精密工件的传送系统等。
-
3.多项式斜坡 (Polynomial Ramp - 较不常用)
-
-
特征: 使用高阶多项式(如 3 次、5 次或 7 次)来定义位置、速度或加速度随时间的变化轨迹。
-
可以设计出非常平滑的曲线(高阶导数连续)。
-
通常用于需要极高阶平滑性或特定轨迹约束(如起始/结束点的位置、速度、加速度甚至加加速度都为零)的场景。
-
-
参数配置: 配置通常更复杂,可能需要直接定义多项式的系数或通过约束条件求解。
-
优点:
-
理论上可实现最高级别的平滑性。
-
灵活性高: 可以精确满足起点和终点的各种状态约束。
-
-
缺点:
-
计算非常复杂,实时性要求高。
-
参数配置和理解难度大。
-
实际性能增益相对于精心调谐的 S 形/Jerk 限制型斜坡可能有限,且计算负担重。
-
-
适用场景: 特定研究领域、对运动平滑性有极致要求的特殊应用(如某些仿生机器人、精密光学扫描)、或者当运动轨迹本身就需要是多项式时。在通用工业自动化中较少使用。
-
3)SOFTMOTION驱动:缩放/映射
分别是电机增量(每转对应脉冲数/分辨率)<=>电机转
电机转<=>减速机转
减速机装<=>应用单元(最终机械侧)
注意:应用单元单位为U/S 单位为秒
电机转速Vrpm = (速度值 / 应用单元值 ) * 60。例如:应用单元的值为
360, 而电机的目标速度为 1000rpm,则速度值为 60000。
轴控制常用功能块简单说明
1)SMC3_ReinitDrive:轴初始化指令
(当轴状态异常时可通过此指令对单个轴进行复位使用。个人使用方式:发现PLC在RUN-STOP-RUN切换时,轴无法自动启动,通过该指令对对应轴进行复位)
1.输入输出变量
输入输出变量 | 数据类型 | 初始值 | 说明 |
AXIS | AXIS_REF_SM3 | - | 输入对应的轴,代表是对哪个轴进行操作 |
2.输入变量
输入变量 | 数据类型 | 初始值 | 说明 |
bExecute | BOOL | False | 用上升沿信号来触发执行动作 |
bVirtual | BOOL | False |
True:将轴设置为虚轴 |
3.输出变量
输出变量 | 数据类型 | 初始值 | 说明 |
Done | BOOL | False | True:指令已执行完成 |
Busy | BOOL | False | True:指令正在执行中 |
Error | BOOL | False | True:出现错误 |
ErrorID | SMC_ERROR | 出错代码,见SMC_ERROR 说明 |
4.功能说明
该功能可以对轴进行虚轴和实轴的切换,同时对轴重新初始化
5.注意事项
在使用SMC_ChangeGearingRatio 功能和修改轴配置参数后必须用SMC3_ReinitDrive 指令初始化后才生效
2)MC_Power:轴使能指令
1.输入输出变量
输入输出变量 | 数据类型 | 初始值 | 说明 |
AXIS | AXIS_REF_SM3 | - | 输入对应的轴,代表是对哪个轴进行操作 |
2.输入变量
输入变量 | 数据类型 | 初始值 | 说明 |
Enable | BOOL | FALSE |
功能块运行开关: |
bRegulatorOn | BOOL | FALSE |
轴使能开关: |
BDriveStart | BOOL | FALSE |
快速停止机制: |
3.输出变量
输出变量 | 数据类型 | 初始值 | 说明 |
Done | BOOL | False | True:指令已执行完成 |
Busy | BOOL | False | True:指令正在执行中 |
Error | BOOL | False | True:出现错误 |
ErrorID | SMC_ERROR | 出错代码,见SMC_ERROR 说明 |
4. 功能说明
MC_Power 是用于控制轴使能的功能块。
当Enable 信号为True 时,其他输入信号才会被功能块处理。
当功能块被调用后,若bRegulatorOn 为False,功能块将设置对应轴的轴状态nAxisState 为Power_Off,Power_Off 状态下的伺服是不允许运动的。
当功能块被调用后,若bRegulatorOn 和bDriveStart 都为True,而对应的轴没有错误时,功能块将设置nAxisState 为Standtill,Standtill 状态下才允许伺服运动;若对应的轴有错误时,将输出对应的错误状态。
当功能块被调用后,若bRegulatorOn 和bDriveStart 都为True,但Status 信号在一定时间之后依然是False 状态,此时Error 信号将会变成True,一般是因为硬件问题才会出现这样的情况。
轴在正常运行中,若断开使能,nAxisState 会被设为ErrorStop 状态。
5.注意事项
断使能前,要注意输入信号的操作顺序,不要同时将三个输入信号同时设为False,否则会出现使能断不了的情况。
应保证Enable 信号为True 的情况下,用另外两个信号进行使能控制。
建议将Enable 信号一直设为True。
原则上一个轴只能设置一个MC_Power 功能块。
3)MC_HALT:轴暂停
1.输入输出变量
输入输出变量 | 数据类型 | 初始值 | 说明 |
AXIS | AXIS_REF_SM3 | - | 输入对应的轴,代表是对哪个轴进行操作 |
2.输入变量
输入变量 | 数据类型 | 初始值 | 说明 |
Execute | BOOL | FALSE | 用上升沿信号来触发执行动作 |
Deceleration | LREAL | 0 | 停止减速度,单位为u/s² |
Jerk | LREAL | 0 | 加加速度,单位为u/s³ |
3.输出变量
输出变量 | 数据类型 | 初始值 | 说明 |
Done | BOOL | False | True:指令已执行完成 |
Busy | BOOL | False | True:指令正在执行中 |
Error | BOOL | False | True:出现错误 |
ErrorID | SMC_ERROR | 出错代码,见SMC_ERROR 说明 |
4.功能说明
MC_Halt 用于停止一个轴的运行。
当Execute 信号上升沿触发时,轴将按照设定的减速度停止,此时BUSY 信号为True,运行状态为Discrete_Motion,当速度到达零速后,Busy 信号为False,而Done 信号为True,同时轴状态nAxisState 会切到Standtill 状态。
5.注意事项
与MC_Stop 不同的是,MC_Halt 在执行中可以被其他功能块指令中断,此时CommandAborted 为True。
注意停止减速速度和加加速度来控制停止速度。
4)MC_MoveVelocity:速度控制指令
1.输入输出变量
输入输出变量 | 数据类型 | 初始值 | 说明 |
AXIS | AXIS_REF_SM3 | - | 输入对应的轴,代表是对哪个轴进行操作 |
2.输入变量
输入变量 | 数据类型 | 初始值 | 说明 |
Execute | BOOL | FALSE | 用上升沿信号来触发执行动作 |
Velocity | LREAL |
0 |
速度,单位为u/s |
Acceleration | LREAL | 0 | 加速度,单位为u/s² |
Deceleration | LREAL | 0 | 减速度,单位为u/s² |
Jerk | LREAL | 0 | 加加速度,单位为u/s³ |
Direction | MC_Direction | shortest |
方向设定 |
3.输出变量
输出变量 | 数据类型 | 初始值 | 说明 |
InVelocity | BOOL | False | True:已到达设定速度 |
Busy | BOOL | False | True:指令正在执行中 |
CommandAborted | BOOL | False | True:指令被中断 |
Error | BOOL | False | True:出现错误 |
ErrorID | SMC_ERROR | 出错代码,见SMC_ERROR 说明 |
.4.功能说明
MC_MoveVelocity 功能可以控制轴以设定速度一直运转下去当Execute 信号上升沿触发时,轴将按照设定的速度、加减速度、加加速度、方向进行运动,此时Busy 信号为True,当速度到达Velocity 时,InVelocity 信号为
True,若在运动中指令被中断,CommandAborted 信号为True,若在运动中出现了错误,Error 信号为True,同时给出对应的错误代码ErrorID
5.注意事项
1、线性轴只有negative 和positive 方向选项
2、该功能块也可以在CSP 位置模式下调用
3、速度模式下调用时,需要先用SMC_SetControllerMode 功能块切换到速度模式,同时需要配置速度相关的PDO 对象
4、更改速度值后,速度不会立即生效,需要重新触发Execute 上升沿
5、Execute 信号为False 时不能停止该运动,停止该运动需要用MC_Stop 指令
5)MC_MoveAbsolute:绝对定位指令
1.输入输出变量
输入输出变量 | 数据类型 | 初始值 | 说明 |
AXIS | AXIS_REF_SM3 | - | 输入对应的轴,代表是对哪个轴进行操作 |
输入输出变量 | 数据类型 | 初始值 | 说明 |
Execute | BOOL | False | 用上升沿信号来触发执行动作 |
Position | LREAL | 0 | 绝对位置,单位为u |
Velocity | LREAL | 0 | 速度,单位为u/s |
Acceleration | LREAL | 0 | 加速度,单位为u/s² |
Deceleration | LREAL | 0 | 减速度,单位为u/s² |
Jerk | LREAL | 0 | 加加速度,单位为u/s³ |
Direction | MC_Direction | shortest |
方向设定 |
3.输出变量
输出变量 | 数据类型 | 初始值 | 说明 |
Done | BOOL | False | True:指令已执行完成 |
Busy | BOOL | False | True:指令正在执行中 |
CommandAborted | BOOL | False | True:指令被中断 |
Error | BOOL | False | True:出现错误 |
ErrorID | SMC_ERROR | 出错代码,见SMC_ERROR 说明 |
4.功能说明
MC_MoveAbsolute 用于控制轴进行绝对定位运动,Position 输入参数为绝对位置当Execute 信号上升沿触发时,轴将按照设定的速度、加减速度、加加速度、方向进行绝对定位运动,此时Busy 信号为True,当移动位置到达Position 后,此时Busy 信号为False , 同时Done 信号为True , 若在运动中指令被中断,CommandAborted 信号为True,若在运动中出现了错误,Error 信号为True,同时给出对应的错误代码ErrorID
5.注意事项
线性轴只有negative 和positive 方向选项
6)MC_MoveSuperImposed:位置速度叠加指令
1.输入输出变量
输入输出变量 | 数据类型 | 初始值 | 说明 |
AXIS | AXIS_REF_SM3 | - | 输入对应的轴,代表是对哪个轴进行操作 |
2.输入变量
输入变量 | 数据类型 | 初始值 | 说明 |
Execute | BOOL | False | 用上升沿信号来触发执行动作 |
Distance | LREAL | 0 | 叠加距离,单位为u |
VelocityDiff | LREAL | 0 | 叠加速度,单位为u/s |
Acceleration | LREAL | 0 | 加速度,单位为u/s² |
Deceleration | LREAL | 0 | 减速度,单位为u/s² |
Jerk | LREAL | 0 | 加加速度,单位为u/s³ |
3.输出变量
输出变量 |
数据类型 | 初始值 | 说明 |
Done | BOOL | False | True:指令已执行完成 |
Busy | BOOL | False | True:指令正在执行中 |
CommandAborted | BOOL | False | True:指令被中断 |
Error | BOOL | False | True:出现错误 |
ErrorID | SMC_ERROR | 出错代码,见SMC_ERROR 说明 |
4.功能说明
MC_MoveSuperImposed 功能可在原运动的基础上叠加一段位置与速度,而对原运动不产生任何影响
当Execute 信号上升沿触发时,轴将在原运动的速度上叠加VelocityDiff 的速度值,此时Busy 信号为True,当指令发送完Distance 数据后停止,此时Busy 信号为False,同时Done 信号为True,若在运动中指令被中断,CommandAborted 信号为True,若在运动中出现了错误,Error 信号为True,同时给出对应的错误代码ErrorID
5.注意事项
1、跟MC_MoveAdditive 的区别,MC_MoveAddtive 是重置速度、叠加位置,而MC_MoveSuperImposed 是同时叠加速度和位置; MC_MoveAddtive 只能在Discrete_Motion 和Continuous_Motion 运动状态下调用,MC_MoveSuperImposed 可以在Discrete_Motion、Continuous_Motion、Synchronized_Motion 运动状态下调用
2、跟MC_Phasing 的区别,MC_MoveSuperImposed 是叠加从轴,MC_Phasing 是叠加主轴
3、在Standtill 状态下,MC_MoveSuperImposed 类似于MC_MoveRelative 功能
7)MC_MoveAdditive:位置叠加指令
1.输入输出变量
输入输出变量 | 数据类型 | 初始值 | 说明 |
AXIS | AXIS_REF_SM3 | - | 输入对应的轴,代表是对哪个轴进行操作 |
2.输入变量
输入变量 | 数据类型 | 初始值 | 说明 |
Execute | BOOL | False | 用上升沿信号来触发执行动作 |
Distance | LREAL | 0 | 叠加距离,单位为u |
VelocityDiff | LREAL | 0 | 速度,单位为u/s |
Acceleration | LREAL | 0 | 加速度,单位为u/s² |
Deceleration | LREAL | 0 | 减速度,单位为u/s² |
Jerk | LREAL | 0 | 加加速度,单位为u/s³ |
3.输出变量
输出变量 |
数据类型 | 初始值 | 说明 |
Done | BOOL | False | True:指令已执行完成 |
Busy | BOOL | False | True:指令正在执行中 |
CommandAborted | BOOL | False | True:指令被中断 |
Error | BOOL | False | True:出现错误 |
ErrorID | SMC_ERROR | 出错代码,见SMC_ERROR 说明 |
4.功能说明
MC_MoveAddtive 功能用于重置速度,同时在原来的目标位置上叠加一段距离的应用场合当Execute 信号上升沿触发时,轴将改变原运动速度为所设定的速度,此时Busy信号为True,当移动量到达原目标位置+Distance 位置后停止,此时Busy 信号为False,同时Done 信号为True,若在运动中指令被中断,CommandAborted 信号为True,若在运动中出现了错误,Error 信号为True,同时给出对应的错误代码ErrorID。
5.注意事项
1、当MC_MoveAddtive 执行时,原速度将重置,最终位置=原运动目标位置+Distance 位置
2、如果Distance 为0,则只改变原速度
3、只能在Discrete_Motion 和Continuous_Motion 的运动状态下才可调用该功能块
4、在Standtill 状态下,MC_MoveAddtive 类似于MC_MoveRelative 功能
5、跟MC_MoveSuperImposed 的区别,MC_MoveAddtive 是重置速度、叠加位置,而MC_MoveSuperImposed 是同时叠加速度和位置;MC_MoveAddtive 只能在Discrete_Motion 和Continuous_Motion 运动状态下调用,MC_MoveSuperImposed可以在Discrete_Motion、Continuous_Motion、Synchronized_Motion 运动状态下调用
6、MC_JOG无法通过该指令进行只更改速度设置
后续使用电子凸轮等再补充