2. 变量和指令(omron 机器自动化控制器)——1

机器自动化控制器------第二章 变量和指令 1

2-1 变量一览表

MC功能模块使用的变量分为两类。

一类是监视轴等的状态及部分参数设定内容的系统定义变量。MC功能模块使用的系统定义变量被称作运 动控制系统变量。

还有一类是运动控制指令将指令的自变量作为输入接收、将指令的执行状态作为输出的变量。运动控制 指令的输入变量中,有几个是从选项中选择的枚举体变量。

本章节将刊登各种变量的一览表、运动控制指令的输入变量的有效范围、以及枚举体变量的一览表。

► 运动控制系统变量

第1层 第2层 第3层 内容
系统定义变量 运动控制系统变量 MC通用变量 可监控MC功能模块的通用状态。
系统定义变量 运动控制系统变量 轴变量 可监控各轴的状态和部分轴参数的设定内容。
系统定义变量 运动控制系统变量 轴组变量 可监控各轴组的状态和部分轴组参数的设定内容。
  • 关于运动控制系统变量的详情,请参阅 "NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)"。

参考

轴变量和轴组变量均为系统定义变量。

这些变量在用户程序中使用时,使用系统定义变量名称(_MC_AX[], _MC1_AX[ ], _MC2_AX[], _MC_GRP[ ], _MC1_GRP[], _MC2_GRP[])

_在用户程序中使用时,除了上述以外,还可使用通过Sysymac Studio创建的变量名称。 _

_通过Sysmac Studio创建的轴及轴组的变量名称可变更为任意名称。 _

_下图是关于系统定义变量的轴变量名称为 "_MC_AX[0]"的轴在通过Sysmac Studio添加时的轴 变量名称变更为 "MyAxis1"时的例子。

► 运动控制指令的变量

种类 概要
输入变量 指令的自变量
输出变量 指令执行状态的监视
输入输出变量 指令执行对象的指定

参考

• 开头为 "_e"的数据类型表示枚举体。 _

_• 开头为 "_s"的数据类型表示结构体。

关于MC功能模块使用的数据类型,请参阅 "NJ/NX系列 CPU单元 用户手册 运动控制篇 (SBCE-363)"。

MC通用变量

  • MC通用变量是变量名称为_MC_COM、数据类型为_sCOMMON_REF型的结构体变量。 下面对MC通用变量的构成及其要素进行详细说明。
变量名称 数据类型 名称 功能
_MC_COM _sCOMMON_REF MC通用变量
Status _sCOMMON_REF_STA MC通用状态
RunMode BOOL MC运行中 MC功能模块在运行中变为TRUE
TestMode BOOL MC试运行中 通过Sysmac Studio试运行时变为TRUE
CamTableBusy BOOL 凸轮表文件保存执行中/待机中 在执行或等待执行凸轮表文件保存时变为TRUE
GenerateCam Busy *1 BOOL 凸轮表生成执行中 执行凸轮表生成时变为TRUE
PFaultLvl _sMC_REF_EVENT MC通用 部分停止故障
Active BOOL MC通用 部分停止故障发生中 MC通用 发生停止故障时变为TRUE
Code WORD MC通用 部分停止故障代码 MC通用 输出停止故障的代码。 与事件代码的前四位相同的值
MFaultLvl _sMC_REF_EVENT MC通用 轻度故障
Active BOOL MC通用 轻度故障发生中 MC通用 发生轻度故障时变为TRUE
Code WORD MC通用 轻度故障代码 MC通用 输出轻度故障的代码。 与事件代码的前四位相同的值
Obsr _sMC_REF_EVENT MC通用 监视信息
Active BOOL MC通用 监视信息发生中 MC通用 发生监视信息时变为TRUE
Code WORD MC通用 监视信息代码 MC通用 输出监视信息的代码。 与事件代码的前四位相同的值

轴变量

  • 轴变量是系统定义变量的名称为 _MC_AX[0-255]或_MC1_AX[0-255]、_MC2_AX[0-255],数据类型为 _sAXIS_REF 型的结构体型变量。 _
  • _下面以_MC_AX[0-255] 为例对轴变量的构成及其要素进行详细说明。_MC1_AX[0-255]、 _MC2_AX[0-255] 也是如此。
变量名称 数据类型 名称 功能
_MC_AX[0-255] _sAXIS_REF 轴变量
Status _sAXIS_REF_STA 轴状态
Ready BOOL 轴启动准备完成 轴启动准备就绪并在停止中的状态下变为TRUE。 _MC_AX[*].Status.Standstill表示与 "TRUE:停止中"的状态相同。
Disabled BOOL 轴无效 在轴由于伺服OFF而停止的状态下变为TRUE。以下轴状态是排他性的,任意一个单独变为TRUE Disabled/ Standstill/ Discrete/ Continuous/ Synchronized/ Homing/ Stopping/ ErrorStop/Coordinated
Standstill BOOL 停止中 在轴由于伺服ON而停止的状态下变为TRUE。
Discrete BOOL 定位动作中 在向目标位置执行定位控制时变为TRUE。 也包括定位动作中将超调值设定为 "0"而使速度为 "0"的状态。
Continuous BOOL 连续动作中 没有目标位置连续动作时变为TRUE。 速度控制和转矩控制时变为此状态。 也包括将目标速度设为 "0"而使速度为 "0" 的状态、以及连续动作中将超调值设定为 "0" 而使速度为 "0"的状态。
Synchronized BOOL 同步动作中 执行同步控制时变为TRUE。 也包括同步控制指令切换后的同步等待状态
Homing BOOL 原点复位中 通过MC_Home指令或MC_HomeWithParameter指 令执行原点复位时变为TRUE
Stopping BOOL 减速停止中 在通过MC_Stop指令、MC_TouchProbe指令停止 轴动作之前的状态下变为TRUE。 也包括通过MC_Stop指令停止轴动作后Execute变为TRUE时。 在减速停止中的状态下不能启动轴动作指令 (CommandAborted = TRUE)
ErrorStop BOOL 错误减速停止中 执行MC_ImmediateStop指令或正在发生轻度故障 (_MC_AX[*].MFaultLvl.Active为 "TRUE:正在发 生轴轻度故障")时,轴停止前和停止后的状态。 在该状态下不能启动轴动作指令(CommandAborted = TRUE)。
Coordinated BOOL 多轴协调动作中 在通过多轴协调指令使轴组有效的状态下变为TRUE
Details _sAXIS_REF_DET 轴控制状态 *1
Idle BOOL 停止中 除了到位等待,在未进行指令值运算时变为 TRUE。 *2 Idle与InPosWaiting相互排斥,不会同时变为 TRUE。
InPosWaiting BOOL 到位等待 到位等待时变为TRUE。 通过到位检查执行定位执行到位检查的状态
Homed BOOL 原点确定 在原点确定状态时变为TRUE *3 TRUE:原点确定 FALSE:原点未确定
InHome BOOL 原点停止 在原点位置的范围内时变为TRUE。 以下是AND条件 • 原点确定状态 • 反馈当前位置以原点为中心进入 "原点位置 范围"时 在指令状态下轴动作过程中通过原点位置时也会 变为TRUE。
VelLimit *4 BOOL 指令速度饱和 同步控制中,指 速度以最高速度进行限制时变 为TRUE。
Dir sAXIS_REF_DIR 指令方向状态 *5
Posi BOOL 正方向指令中 指令指定为正方向时变为TRUE。
Nega BOOL 负方向指令中 指令指定为负方向时变为TRUE。
DrvStatus _sAXIS_REF_STA_DRV 伺服驱动器状态 *6
ServoOn BOOL 伺服ON 伺服电机通电时变为TRUE
Ready BOOL 伺服待机 伺服待机状态时变为TRUE
MainPower BOOL 主电路电源 伺服驱动器的主电路电源通电时变为TRUE
P_OT BOOL 正方向极限输入 正方向极限输入有效时变为TRUE
N_OT BOOL 负方向极限输入 负方向极限输入有效时变为TRUE
HomeSw BOOL 近原点输入 近原点输入有效时变为TRUE
Home BOOL 原点输入 启用原点输入时变为TRUE。 *7
ImdStop BOOL 即停输入 即停输入有效时变为TRUE
Latch1 BOOL 外部锁定输入1 锁定输入1有效时变为TRUE
Latch2 BOOL 外部锁定输入2 锁定输入2有效时变为TRUE
DrvAlarm BOOL 驱动器错误输入 发生驱动器错误时变为TRUE
DrvWarning BOOL 驱动器警告输入 发生驱动器警告时变为TRUE
ILA BOOL 驱动器内部功能 限制中 通过伺服驱动器的限制功能进行实际限制时变为 TRUE。 *8
CSP BOOL 周期同步位置(CSP) 模式中 伺服驱动器的伺服ON,在CSP模式下变为 TRUE。 *9
CSV BOOL 周期同步速度(CSV) 模式中 伺服驱动器侧伺服ON、进入CSV模式时变为 TRUE *9
CST BOOL 周期同步转矩(CST) 模式中 伺服驱动器侧伺服ON、进入CST模式时变为 TRUE *9
Cmd sAXIS_REF_CMD DATA 轴指令值
Pos LREAL 指令当前位置 输出指令位置的当前值。(单位:指令单位) 伺服OFF或非位置控制模式时,输出反馈当前位 置。*10
Vel LREAL 指令当前速度 输出指令速度的当前值。(单位:指令单位/s) 正方向移动时附带正号、负方向移动时附带负 号。 根据指令当前位置之差算出的速度。伺服OFF或 非位置控制模式时,根据反馈当前位置计算出的 速度。
AccDec LREAL 指令当前加减速度 输出指令加减速度的当前值。 (单位:指令单位/s2 ) 根据指令当前速度之差算出的加减速度。加速时 附带正号,减速时附带负号。 执行中的指令的加减速度为 "0"时变为 "0"。
Jerk LREAL 指令当前跃度 输出指令跃度的当前值。(指令单位/s3 ) 加减速度的绝对值增大时附带正号,减小时附带 负号。 执行中的指令的加减速度或指令跃度为 "0"时 变为 "0"
Trq LREAL 指令当前转矩 输出指令转矩的当前值。(单位:%) 正方向移动时附带正号、负方向移动时附带负 号。 非转矩控制模式时,输出与反馈当前转矩相同的 值。
Act sAXIS_REF_ACT DATA 轴当前值
Pos LREAL 反馈当前位置 输出反馈位置的当前值(单位:指令单位)*10
Vel LREAL 反馈当前速度 输出反馈速度的当前值。(单位:指令单位/s) 正方向移动时附带正号、负方向移动时附带负 号。
Trq LREAL 反馈当前转矩 输出反馈转矩的当前值。(单位:%) 正方向移动时附带正号、负方向移动时附带负 号。
TimeStamp*11 ULINT 时间戳 输出轴当前位置的更新时刻。运行变化时刻获取 功能的轴有效。 (单位:ns)
MFaultLvl _sMC_REF_EVENT 轴 轻度故障
Active WORD 轴 轻度故障代码 输出轴轻度故障的代码。 与事件代码的前四位相同的值
Obsr _sMC_REF_EVENT 轴 监视信息
Active BOOL 轴 监视信息发生中 发生轴监视信息时变为TRUE
WORD BOOL 轴 监视信息代码 输出轴监视信息的代码。 与事件代码的前四位相同的值
Cfg _sAXIS_REF_CFG 轴基本设定 *12
AxNo UINT 轴号 表示轴的逻辑编号。 参考_sAXIS_REF时是为识别轴号而进行参考
AxEnable AxEnable 轴使用 表示是否使用轴 0:_mcNoneAxis (未创建轴) 1:_mcUnusedAxis (未使用轴) 2:_mcUsedAxis(使用轴)
AxType _eMC_AXIS_TYPE 轴种类 表示轴种类。 虚拟轴不需要输入输出接线 0:_mcServo(伺服轴) 1:_mcEncdr(编码器轴) 2:_mcVirServo(虚拟伺服轴) 3:_mcVirEncdr(虚拟编码器轴)
NodeAddress UINT 节点地址 表示EtherCAT的从站地址。*13 16#FFFF表示无
ExecID *14 UINT 执行ID 表示各任务的执行ID。 0:未分配任务(未创建轴) 1:分配至原始恒定周期任务 2:分配至固定周期任务(执行优先度5)
Scale _sAXIS_REF_SCALE 单位转换 *15
Num UDINT 电机转1圈的脉冲数 表示指令位置电机转1圈的脉冲数。 根据电子齿轮比将指令值转换为脉冲量
Den LREAL 电机转1圈的移动量 表示指令位置电机转1圈的工件移动量。 *16
Units BOOL _eMC_UNITS
Units BOOL 显示单位 表示指令位置的显示单位 0:_mcPls(pulse) 1:_mcMm(mm) 2:_mcUm(μm) 3:_mcNm(nm) 4:_mcDeg(degree) 5:_mcInch(inch)
CountMode *14 CountMode *14 计数模式 表示计数模式。 0:_mcCountModeLinear(线性模式) 1:_mcCountModeRotary(旋转模式)
MaxPos *14 LREAL 当前位置上限值 表示当前位置显示的上限值。 *17
MinPos *14 LREAL 当前位置下限值 表示当前位置显示的下限值。 *18
    1. 表示指令的控制状态。
    2. 以速度 "0"动作、偏差计数器复位、同步控制中以及多轴协调动作中也属于正在运算的状态。
    3. 即使为TRUE,以下情况仍需重新确定原点。 变更位置计数设定或单位转换设定时。 在伺服驱动器侧发生异常或进行操作导致丢失绝对位置信息时。例如,编码器电缆断线或绝对值编码器数据清零等。
    4. VelLimit请仅用于同步控制中的从轴。
    5. 表示指令指定的移动方向。
    6. 表示驱动器等的状态。
    7. 通过Sysmac Studio的[轴基本设置]画面中的[高级设置]设定为[数字输入]的[编码器Z相检测]的信号的状态。使用其他公司 生产的驱动器可能无法将此信号映射至PDO。请确认所连接的驱动器的手册。
    8. 表示映射至PDO的 "状态字(6041Hex)"的位11(启用内部限制功能)的状态。变为TRUE的条件取决于伺服驱动器的规格。 请参阅所连接的伺服驱动器的使用手册。欧姆龙制伺服驱动器1S系列及G5系列为转矩限制/速度限制/驱动禁止输入/软件 限制的其中之一。
    9. 根据映射到PDO的 "操作模式显示(6061Hex)"的值进行显示。CSP、CSV、CST变为TRUE的条件取决于伺服驱动器的规 格。请参阅所连接的伺服驱动器的使用手册。 如 "操作模式显示(6061Hex)"未映射至PDO,不同版本CPU单元的显示如下所示。 对于Ver.1.09 以下版本的CPU 单元,始终为 FALSE。 对于Ver.1.10以上版本的CPU单元,如映射至PDO的 "状态字(6041Hex)"的状态为Operation Enabled,则为TRUE。
    10. 如分配给轴的EtherCAT从站或NX 单元与CPU单元之间尚未确立过程数据通信,不同版本CPU单元的显示如下所示。 对于Ver.1.09以下版本的CPU单元,轴变量的反馈当前位置及指令当前位置为 "0"或下限值。下限值的条件是计数模式 为旋转模式时位置范围中不含 "0"。 对于Ver.1.10以上版本的CPU单元,轴变量的反馈当前位置及指令当前位置为尚未确立过程数据通信前的反馈当前位置。
    11. Ver.1.06以上的CPU单元和Ver.1.07以上的Sysmac Studio组合时可使用。
    12. 表示轴基本设定内容。
    13. 对于NX系列位置接口单元,表示安装了位置接口单元的EtherCAT耦合器单元的节点地址。
    14. Ver.1.10以上的CPU单元和Ver.1.12以上的Sysmac Studio组合时可使用。
    15. 表示电子齿轮比的设定值。
    16. Ver.1.11以上版本的CPU单元新增的单位转换设定中,减速机使用设定为 "使用"时,该参数无效。确认反之有效的参 数 "工件侧1圈的移动量"、"工件侧齿轮比"、"电机侧齿轮比"的值时,请使用MC_ReadAxisParameter(轴参数读取) 指令。
    17. 计数模式为线性模式时,表示溢出前的位置。为旋转模式时,表示环计数器上限值。
    18. 计数模式为线性模式时,表示下溢前的位置。为旋转模式时,表示环计数器下限值。
▶ 轴组变量
  • 轴组变量是系统定义变量的名称为_MC_GRP[0-63]或_MC1_GRP[0-63]、_MC2_GRP[0-63],数据类型为 _sGROUP_REF型的结构体变量。 _
  • _下面以_MC_GRP[0-63]为例对轴组变量的构成及其要素进行详细说明。_MC1_GRP[0-63]、_MC2_GRP [0-63]也是如此。
  • 功能说明中以_MC_AX[]为例对轴变量进行了说明,_MC1_AX[]、_MC2_AX[*]也是如此。
变量名称 数据类型 名称 功能
_MC_GRP[0-63] _sGROUP_REF 轴组变量
Status _sGROUP_REF_STA 轴组变量
Ready BOOL 启动准备完成 轴组停止、启动准备已经完成时变为TRUE。 以下AND条件即启动准备完成的条件 • 构成轴未执行MC_Stop指令。 • _MC_GRP[*].Status.Standby(停止中)变为TRUE • 构成轴为伺服ON状态 • 构成轴的_MC_AX[*].Details.Homed(原点确定)为TRUE
Disabled BOOL 不启用轴组 因禁用轴组而停止时变为TRUE。 以下轴组状态是排他性的,任意一个单独变为 TRUE。 Disable/ Standby/ Moving/ Stopping/ ErrorStop
Standby BOOL 停止中 轴组动作指令停止时变为TRUE。 与构成轴组的轴的伺服ON/OFF状态无关
Moving BOOL 动作中 在向目标位置执行轴组动作指令时变为TRUE。 也包括到位等待的状态、以及因超调而使速度 为 "0"的状态。
Stopping BOOL 减速停止中 在通过MC_GroupStop指令停止轴组动作之前的 状态下变为TRUE。 也包括通过MC_GroupStop指令停止轴动作后 Execute变为TRUE时。 在该状态下不能启动轴组动作指令 (CommandAborted = TRUE)
ErrorStop BOOL 错误减速停止中 通过MC_GroupImmediateStop指令、或者在发生 轴组轻度故障时 (_MC_GRP[*].MFaultLvl.Active=TRUE),轴组停 止之前、以及停止后变为TRUE。在此状态下 不能启动轴组动作指令(CommandAborted = TRUE)。
Details _sGROUP_REF_DET 轴组控制状态 *1
Idle Idle 停止中 除了到位等待,在未进行指令值运算时变为 TRUE。*2 Idle与InPosWaiting相互排斥,不会同时变为 TRUE。
InPosWaiting BOOL 到位等待 任意一个构成轴到位等待时变为TRUE。 通过到位检查执行定位执行到位检查的状态
Cmd sGROUP_REF_CMD DATA 轴组指令值
Vel LREAL 指令插补速度 输出指令插补速度的当前值。 根据插补指令当前位置之差算出的插补速度。 正方向移动时附带正号、负方向移动时附带 负号。 轴组无效时变为 "0"
AccDec LREAL 指令插补加减速度 输出指令插补加减速度的当前值。 根据指令插补速度之差算出的插补加减速度。 加速时附带正号,减速时附带负号。 禁用轴组或正在执行的轴组动作指令的指令加 减速度指定为 "0"时变为 "0"。
MFaultLvl sMC_REF_EVENT 轴组轻度故障
轴组轻度故障 BOOL 轴组轻度故障发生中 轴组发生轻度故障时变为TRUE
Code UINT 轴组轻度故障代码 输出轴组轻度故障的代码。 与事件代码的前四位相同的值
Obsr _sMC_REF_EVENT 轴组监视信息
Active BOOL 轴组监视信息发生中 发生轴组监视信息时变为TRUE
Code WORD 轴组监视信息代码 输出轴组监控信息的代码。 与事件代码的前四位相同的值
Cfg sGROUP_REF_CFG 轴组基本设定
GrpNo UINT 轴组编号 表示轴组的逻辑编号。 参考_sGROUP_REF时是为识别轴组编号而进 行参考
GrpEnable _eMC_GROUP_USE 轴组使用 表示是否使用轴组。 0:_mcNoneGroup (未创建轴组) 1:_mcUnusedGroup (未使用轴组) 2:_mcUsedGroup (使用轴组)
ExecID *3 UINT 执行ID 表示各分配任务的执行ID。 0:未分配任务(未创建组) 1:分配至原始恒定周期任务 2:分配至固定周期任务(执行优先度5)
Kinematics _sGROUP_REF_KIM 运动学转换设定 *4
GrpType _eMC_GROUP_TYPE 轴构成 表示多轴协调控制中的轴构成。 0:_mcXY(2轴) 1:_mcXYZ(3轴) 2:_mcXYZU(4轴)
Axis[0] UINT 构成轴选择(轴A0) 表示向轴A0分配的轴号
Axis[2] UINT 构成轴选择(轴A1) 表示向轴A1分配的轴号
Axis[0] UINT 构成轴选择(轴A2) 表示向轴A2分配的轴号
Axis[3] UINT 构成轴选择(轴A3) 表示向轴A3分配的轴号
  • 1.表示指令的控制状态。
  • 2.以速度"0"动作也属于正在运算的状态。
  • 3.Ver.1.10以上的CPU单元和Ver.1.12以上的SysmacStudio组合时可使用。
  • 4.表示轴组的运动学转换定义。

运动控制指令的输入变量

  • 以下是运动控制指令的输入变量一览表、有效范围一览表以及枚举体的有效范围一览表。
输入变量 名称 数据类型 有效范围 初始值 内容
Execute 启动 BOOL TRUE, FALSE FALSE 在上升沿开始指令。 在Execute的上升沿时,导入其他输入 变量。 想要更新输入值时,先变更输入值,然后 再度启动Execute。 指令执行完成后也是Execute变为TRUE时 输出变量有效。 此后,在Execute的下降沿,Error和ErrorID 以外的输出变量无效。 指令执行完成前Execute变为FALSE时,输 出变量至少在1个周期内有效
Enable 有效 BOOL TRUE, FALSE FALSE 变为TRUE时指令的功能生效,变为FALSE 时无效。 Enable为TRUE时,其他输入变量按周期 导入。 将Enable变为FALSE时,Error和ErrorID以 外的输出变量无效
Positive Enable 正方向有效 BOOL TRUE, FALSE FALSE • MC_MoveJog指令 设为TRUE,则开始正方向移动。设为 FALSE,则结束移动。MC_MoveJog指令 的Velocity、Acceleration、Deceleration导 入PositiveEnable的上升沿时的值 • MC_SetTorqueLimit指令 变为TRUE时正方向的转矩限制有效。 变为FALSE时正方向的转矩限制无效。
Negative Enable 负方向有效 BOOL TRUE, FALSE FALSE • MC_MoveJog指令 设为TRUE,则开始负方向移动。设为 FALSE,则结束移动。MC_MoveJog指令 的Velocity、Acceleration、Deceleration导 入NegativeEnable的上升沿时的值 • MC_SetTorqueLimit指令 变为TRUE时负方向的转矩限制有效。 变为FALSE时负方向的转矩限制无效。
BufferMode 缓存模式选择 eMC BUFFER_MODE 0: _mcAborting 1: _mcBuffered 2: _mcBlendingLow 3: _mcBlendingPrevious 4: _mcBlendingNext 5: _mcBlendingHigh 0 *1 指定多重启动运动控制指令时的动作。 0:中断 1:缓存 2:以低速合并 3:以前一个速度合并 4:以后一个速度合并 5:以高速合并
Velocity 目标速度 LREAL 正数 *2 0 指定目标速度。 *3
Acceleration 加速度 LREAL 正数或"0" 0 指定加速度。 *4
Deceleration 减速度 LREAL 正数或"0" 0 指定减速度 *4
Jerk 跃度 LREAL 正数或"0" 0 指定跃度。 *5
Distance 移动距离 LREAL 负数、正数、"0" 0 指定自指令当前位置起的移动距离。
Distance 移动距离 ARRAY [0..3] OF LREAL 负数、正数、"0" 0 指定直线插补的目标位置。 *6
Position 目标位置 LREAL 负数、正数、"0" 0 指定绝对坐标的目标位置 *6
Position 目标位置 ARRAY [0..3] OF LREAL 负数、正数、"0" 0 指定直线插补的目标位置 *6
速度超调值 LREAL 0~500 100
AccFactor (Reserved) 加减速度超调值 LREAL 0~500 100 (Reserved)
JerkFactor (Reserved) 跃度超调值 LREAL 0~500 100 (Reserved)
Reference Type *7 位置类型选择 eMC REFERENCE_ TYPE 0: _mcCommand 1: _mcFeedback 2: _mcLatestCommand 0 *1 指定主轴的输入信息。 0:指令位置(最近任务周期*8下的计算值) 1:反馈位置(同一任务周期 *8下的取值) 2:指令位置(同一任务周期*8下的计算值)
Feed Distance 标准距离 LREAL 负数、正数、"0" 0 指定中断输入后的移动距离
FeedVelocity 标准速度 LREAL 正数 0 指定中断输入后的移动目标速度
ErrorDetect 错误检测选择 BOOL TRUE, FALSE FALSE 无中断输入时,指定是否执行异常检测。 TRUE:执行异常检测 FALSE:不执行异常检测
Periodic 重复模式 BOOL TRUE, FALSE FALSE 指定是反复执行指定的凸轮表,还是只执 行1次。 TRUE:重复 FALSE:不重复
StartMode 起始位置方式 指定 eMC START_MODE 0: _mcAbsolutePosition 1: _mcRelativePosition 0 *1 指定MasterStartDistance(主轴跟踪距离)使用 的坐标系。 0:绝对位置 1:相对位置
StartPosition 凸轮表起始位置 LREAL 负数、正数、"0" 0 利用主轴的绝对位置指定凸轮表的起点 (相位=0)。
MasterStart Distance 主轴跟踪距离 LREAL 负数、正数、"0" 0 指定从轴开始凸轮动作时主轴的位置。 StartMode(起始位置方式指定)指定为[绝对 定位]时,指定主轴的绝对位置。指定为相 对定位时,指定自StartPosition(凸轮表起始 位置)起的相对量。
Master Scaling 主轴系数 LREAL 正值(>0.0) 1.0 以指定的比例放大/缩小主轴的相位
SlaveScaling 从轴系数 LREAL 正值(>0.0) 1.0 以指定的比例放大/缩小从轴的位移
MasterOffset 主轴偏移 LREAL 负数、正数、"0" 0 以指定的偏移值移动主轴的相位
SlaveOffset 从轴偏移 LREAL 负数、正数、"0" 0 以指定的偏移值移动从轴的位移
Cam Transition (Reserved) 凸轮过渡指定 eMC_CAM TRANSITION 0: _mcCTNone 0 *1 (Reserved)
OutMode (Reserved) 同步解除模式 选择 eMC_OUT MODE 0: _mcStop 0 *1 (Reserved)
Direction 方向选择 eMC DIRECTION 0: _mcPositiveDirection 1: _mcShortestWay 2: _mcNegativeDirection 3: _mcCurrentDirection 4: _mcNoDirection 4/0 *1 指定动作的方向 0:指定为正方向 1:指定为附近 2:指定为负方向 3:指定为当前方向 4:无方向指定
Continuous (Reserved) 持续方法选择 BOOL TRUE, FALSE FALSE (Reserved)
Ratio Numerator 齿轮比分子 DINT*9 正数或负数 *9 10000 指定主轴和从轴间的电子齿轮的分子
Ratio Denominator 齿轮比分母 UDINT*10 正数 10000 指定主轴和从轴间的电子齿轮的分母
MasterSync Position 主轴同步位置 LREAL 负数、正数、"0" 0 指定绝对坐标的主轴同步位置。
SlaveSync Position 从轴同步位置 LREAL 负数、正数、"0" 0 指定绝对坐标的从轴同步位置。
Slave Distance 从轴移动距离 LREAL 负数、正数、"0" 0 指定从轴的移动距离
MasterDistance 主轴移动距离 LREAL 正数或"0" 0 指定主轴的移动距离
Master DistanceIn ACC 主轴加速移动 距离 LREAL 正数或"0" 0 指定从轴加速时主轴的移动距离
Master DistanceIn DEC 主轴减速移动 距离 LREAL 正数或"0" 0 指定从轴减速时主轴的移动距离
LinkOption 同步开始条件 选择 eMC LINKOPTION 0: _mcCommandExecution 1: _mcTriggerDetection 2: _mcMasterReach 0 *1 指定从轴与主轴同步的条件 0:启动时 1:检测到触发时 2:主轴到达主轴跟踪距离时
Combine Mode 加减法运算方法 选择 eMC_COMBINE MODE 0: _mcAddAxes 1: _mcSubAxes 0 *1 指定合成方法 0:加法 1:减法
Ratio Numerator Master (Reserved) 主轴齿轮比分子 DINT *9 正数或负数 *9 10000 指定主轴和从轴间的电子齿轮的分子
Ratio DenominatorMa ster (Reserved) 主轴齿轮比分母 UDINT *10 正数 10000 指定主轴和从轴间的电子齿轮的分母
Ratio Numerator Auxiliary (Reserved) 辅轴齿轮比分子 DINT *9 正数或负数 *9 10000 指定辅轴和从轴间的电子齿轮的分子
Ratio DenominatorAu xiliary (Reserved) 辅轴齿轮比分母 UDINT *10 正数 10000 指定辅轴和从轴间的电子齿轮的分母
Reference TypeMaster 主轴位置类型 选择 eMC REFERENCE_ TYPE 1: _mcFeedback 2: _mcLatestCommand 2 *1 指定主轴的位置类型 1:反馈位置(同一任务周期 *8下的取值) 2:指令位置(同一任务周期 *8下的计算值)
Reference Type Auxiliary 辅轴位置类型 选择 eMC REFERENCE_ TYPE 1: _mcFeedback 2: _mcLatestCommand 2 *1 指定辅轴的位置类型 1:反馈位置(同一任务周期 *8下的取值) 2:指令位置(同一任务周期 *8下的计算值)
PhaseShift 相位补偿量 LREAL 负数、正数、"0" 0 指定主轴的相位补偿量 *6
Torque 目标转矩 LREAL 0~1000.0 300.0 以0.1%为单位指定向伺服驱动器输出的目 标转矩。 以额定转矩为100%时的比率进行指定。单 位为"%"
TorqueRamp 转矩斜度 LREAL 正数或"0" 0 指定从当前转矩到输出目标转矩为止的转 矩变化率。 单位为"%/s"
Positive Value 正方向转矩 限制值 LREAL 0.1 ~ 1000.0、 或"0.0" 300.0 以0.1%为单位指定正方向的转矩限制值。 输入值超过轴参数的[正方向转矩限制上限 值]时,使用[正方向转矩限制上限值]。 指定为"0"及"负数"时作为"0" 动作。
Negative Value 负方向转矩 限制值 LREAL 0.1 ~ 1000.0、 或"0.0" 300.0 以0.1%为单位指定负方向的转矩限制值。 输入值超过轴参数的[负方向转矩限制上限 值]时,使用[负方向转矩限制上限值]。 指定为"0"及"负数"时作为"0" 动作。
WindowOnly 窗口有效 BOOL TRUE, FALSE FALSE 指定窗口掩码有效/无效
FirstPosition 起始位置 LREAL 负数、正数、"0" 0 指定起始位置。
LastPosition 终止位置 LREAL 负数、正数、"0" 0 指定终止位置。
StopMode 停止方法选择 eMC_STOP MODE 1: _mcImmediateStop 2: _mcImmediateStop FEReset 3: _mcFreeRunStop 4: _mcNonStop 4 *1 指定停止方法 1:立即停止 2:立即停止,并进行偏差计数器复位 3:立即停止,并变为伺服OFF 4:不停止
Relative (Reserved) 相对位置选择 BOOL TRUE, FALSE FALSE (Reserved)
Execution Mode (Reserved) 执行模式选择 eMC EXECUTION_ MODE 0: _mcImmediately 0 *1
Permitted Deviation 轴间偏差容许值 LREAL 正数或"0" 0 指定可容许的主轴及从轴的位置偏差最大 值
CmdPos Mode 指令当前位置 计数选择 eMC_CMDPOS MODE 0: _mcCount 0 *1 0:使用反馈当前位置更新指令当前位置。 原点确定状态保持不变
CoordSystem 坐标系 eMC_COORD SYSTEM 0: _mcACS 0 *1 指定坐标系 0:轴坐标系(ACS)
Transition Mode 过渡模式 (切换模式) eMC TRANSITION_ MODE 0: _mcTMNone 10: _mcTMCornerSuperimposed 0 *1 指定动作的路径 0:过渡无效 10:附加角
MoveMode 移动方法选择 eMC_MOVE MODE 0: _mcAbsolute 1: _mcRelative 0 *1 选择移动方法 0:绝对值定位 1:相对值定位
CircAxes 圆弧轴指定 ARRAY [0,1] OF UINT 0~3 0 指定进行圆弧插补的轴 0:轴A0 1:轴A1 2:轴A2 3:轴A3
CircMode 圆弧插补模式 eMC_CIRC MODE 0: _mcBorder 1: _mcCenter 2: _mcRadius 0 *1 指定圆弧插补的方法 0:通过点指定 1:中心点指定 2:半径指定
AuxPoint 辅助点 ARRAY [0,1] OF LREAL 负数、正数、"0" 0 指定通过点位置/中心位置/半径
EndPoint 终点 ARRAY [0,1] OF LREAL 负数、正数、"0" 0 指定目标位置。
PathChoice 路径选择 eMC_CIRC PATHCHOICE 0: _mcCW 1: _mcCCW 0 *1 指定路径方向 0:CW 1:CCW
Parameter Number 参数编号 eMC PARAMETER_ NUMBER 0: _mcChkVel 1: _mcChkAcc 2: _mcChkDec 3: _mcPosiChkTrq 4: _mcNegaChkTrq 5: _mcFELmt 6: _mcChkFELmt 7: _mcSwLmtMode 8: _mcPosiSwLmt 9: _mcNegaSwLmt 10:_mcInPosTime 11:_mcInPosRange*11 12:_mcStartVel*12 0 *1 指定写入目标位置的参数 0:速度警告值/插补速度警告值 1:加速度警告值/插补加速度警告值 2:减速度警告值/插补减速度警告值 3:正方向转矩警告值 4:负方向转矩警告值 5:位置偏差超过值 6:位置偏差警告值 7:软件限制功能 8:正方向软件限制 9:负方向软件限制 10:到位检查时间 11:到位宽度 12:启动速度
HomingMode *13 原点复位动作 eMC_HOMING MODE 0:_mcHomeSwTurnHome SwOff 1:_mcHomeSwTurnHome SwOn 4:_mcHomeSwOff 5:_mcHomeSwOn 8:_mcLimitInputOff 9:_mcHomeSwTurnHome Mask 11:_mcLimitInputOnly 12:_mcHomeSwTurn HoldingTime 13:_mcNoHomeSwHolding HomeInput 14:_mcHomePreset 0 *1 指定要改写的[原点复位动作]。 0:指定为附近避让、近原点输入OFF 1:指定为附近避让、近原点输入ON 4:指定为近原点输入OFF 5:指定为近原点输入ON 8:指定为极限输入OFF 9:指定为附近避让、原点输入屏蔽距离 11:仅极限输入 12:指定为附近避让、接触时间 13:指定为无近原点输入、接触原点输入 14:原点预设
AxisUse*14 轴使用 _eMC_AXIS_USE 1:_mcUnusedAxis 2:_mcUsedAxis 1 *1 指定使用轴或未使用轴。 1:未使用轴 2:使用轴
EnableMask*15 轨段有效 WORD 16#0000~FFFF 0 按轨段指定有效或无效。最多16个轨段 中,第0位的值指定轨段编号0的有效或无 效,第15位的值指定轨段编号15的有效或 无效。 0:无效、1:有效
ValueSource (Reserved) 输入信息 _sMC_SOURCE (Reserved)
TimeStamp *15 时间戳 ULINT 正数、"0" 0 指定需计算位置的时间戳。 指定以时间戳方式对应的数字输入单元和 编码器输入单元内的时刻为基准的时间 戳。单位为[ns]。
ExecID *16 执行ID UINT 2 2 指定变量同步指定对象的ID。 2: 固定周期任务(执行优先度5)
OffsetPosition 位置偏置 LREAL 负数、正数、"0" 0 指定在指令当前位置叠加的位置偏置 *6
  • 1.有效范围为枚举体的变量,其实际初始值不是数值,而是枚举元素。
  • 2.也有MC_MoveJog指令及MC_MoveVelocity指令等可以设定为"0"的指令。
  • 3.以指令单位/s表示。指令单位有[mm]、[μm]、[nm]、[degree]、[inch]或[pulse]。
  • 4.以指令单位/s表示。
  • 5.以指令单位/s表示。
  • 6.以指令单位表示。
  • 7.使用_mcLatestCommand时,必须在满足以下关系的条件下使用主轴、从轴。Master(主轴)设定的运动控制系统变量的轴号<Slave(从轴)设定的运动控制系统变量的轴号
  • 8.任务周期分为原始恒定周期任务的周期和固定周期任务(执行优先度5)的周期。
  • 9.Ver.1.02以上的CPU单元和Ver.1.03以上的SysmacStudio组合时可使用。上述以下版本进行组合时,数据类型为"UINT",有效范围为"正数"。
  • 10.Ver.1.02以上的CPU单元和Ver.1.03以上的SysmacStudio组合时可使用。上述以下版本进行组合时,数据类型为"UINT"。
  • 11.Ver.1.01以上的CPU单元和Ver.1.02以上的SysmacStudio组合时可使用。
  • 12.Ver.1.10以上的CPU单元和Ver.1.12以上的SysmacStudio组合时可使用。
  • 13.Ver.1.03以上的CPU单元和Ver.1.04以上的SysmacStudio组合时可使用。
  • 14.Ver.1.04以上的CPU单元和Ver.1.05以上的SysmacStudio组合时可使用。
  • 15.Ver.1.06以上的CPU单元和Ver.1.07以上的SysmacStudio组合时可使用。
  • 16.NX1P2CPU单元及NJ系列CPU单元中没有。

输入变量的有效范围

  • 下面对运动控制指令的输入变量的有效范围进行说明。各指令的有效范围请参阅各指令的说明。

►►►►BOOL型输入变量

    • FALSE以外的均视为TRUE。因此,不会发生范围外异常。

►►►►枚举(ENUM)体输入变量

    • 有效范围外作为异常处理。

►►►►有效范围记载为"全范围" "正数" "负数" 的输入变量

    • 设定了各输入变量的有效范围和范围外数值时的动作如下表所示。
输入变量 名称 有效范围 最大值范围外 最小值范围外 (0除外)
Velocity 速度 0或者 (-1≤且≤-"最高速度")、 (1≤且≤-"最高速度") *1 正数时:"最高速度" 负数时:-"最高速度" 为固定值 *2 正数时:1pulse/s 负数时:-1pulse/s 为固定值*2
Acceleration 加速度 0或者 (0.004≤且≤"最大加速度") *3 固定为最大加速度。 但,加速时间短于 *4125μs 时,固定为125μs。 正数时:固定为 0.004pulse/s2。 但,加速时间*4超过250s 时,固定为250s。 负数时会发生异常。
Deceleration 减速度 0或者 (0.004≤且≤"最大减速度") *5 固定为最大减速度。 但,减速时间 *4短于125μs 时,固定为125μs。 正数时:固定为 0.004pulse/s2。 但,减速时间*4超过250s 时,固定为250s。 负数时会发生异常。
Jerk 跃度 0或者 (0.000016≤且 25,600,000,000,000,000 pulse/s3) 固定为 25,600,000,000,000,000 pulse/s3。 但,加速跃度适用时间 *6 或减速跃度适用时间 *6短于 125μs时,均固定为125μs 固定为0.000016 pulse/s3。 但,加速跃度适用时间*6或 减速跃度适用时间 *6超过 250s时,均固定为250s。 负数时会发生异常。
Distance 移动距离 (0xFFFFFF0000000001)≤且 ≤(0x000000FFFFFFFFFF) 会发生异常。 无最小值范围外。
Position 指令位置 (0xFFFFFF8000000000)≤且 <(0x0000007FFFFFFFFF+1)*7 会发生异常。 无最小值范围外。
VelFactor 超调值 0、或 0.01≤且≤500.00*8 超过500.00%时固定 为500.00 小于0.01%时固定为0.01%
Velocity 插补速度 0.000 000 000 1≤且≤"最高插补速 度" *9 固定为"最高插补速度"。 固定为0.000 000 000 1 pulse/s
Acceleration 插补 加速度 0或者 (0.000 000 000 000 4≤且≤"最大插 补加速度") *10 固定为 "最大插补加速度"。 但,插补加速时间短于 *11125μs时,固定为125μs 正数时:固定为0.000 000 000 000 4 pulse/s2。但,插补加 速时间*11超过250s时,固 定为250s。 负数时会发生异常。
Deceleration 插补 减速度 0或者 (0.000 000 000 000 000 04≤且 ≤"最大插补减速度") *12 固定为"最大插补减速 度"。 但,插补减速时间 *11短于 125μs时,固定为125μs。 正数时:固定为0.000 000 000 000 4 pulse/s2。但,插补减 速时间*11超过250s时,固 定为250s。 负数时会发生异常。
Jerk 插补跃度 0或者 (0.000 000 000 000 001 6≤ 且 ≤ 51,200,000,000,000,000 pulse/s3) 固定为 51,200,000,000,000,000 pulse/s3。 但,插补加速跃度适用时间 *13或插补减速跃度适用时 间 *13短于125μs时,均固 定为125μs。 固定为0.000 000 000 000 001 6 pulse/s3。 但,插补加速跃度适用时间 *13或插补减速跃度适用时间 *13超过250s时,均固定为 250s。 负数时会发生异常
  • 1.Ver.1.01以上的CPU单元和Ver.1.02以上的SysmacStudio组合时可指定。
  • 2.Ver.1.10以上的CPU单元和Ver.1.12以上的SysmacStudio组合时可指定。
  • 3.使用_mcLatestCommand时,必须在满足以下关系的条件下使用主轴、从轴。Master(主轴)设定的运动控制系统变量的轴号<Slave(从轴)设定的运动控制系统变量的轴号
  • 4.任务周期分为原始恒定周期任务的周期和固定周期任务(执行优先度5)的周期。
  • 5.Ver.1.03以上的CPU单元和Ver.1.04以上的SysmacStudio组合时可指定。
  • 6.Ver.1.08以上的CPU单元和Ver.1.09以上的SysmacStudio组合时可指定。
  • 7.Ver.1.10以上的CPU单元,无法将合并切换为等待。详情请参阅"NJ/NX系列CPU单元用户手册运动控制篇(SBCE-363)"。
  • 8.Ver.1.10以上的CPU单元,合并动作时不会异常停止。详情请参阅"NJ/NX系列CPU单元用户手册运动控制篇(SBCE-363)"。
▶ 枚举体一览表
  • 以下是运动控制指令的输入变量使用的ENUM体变量一览表。

  • 枚举体输入变量不是通过数值设定,而是通过枚举元素进行设定。

数据类型 有效范围 内容 适应指令的变量 (变量名称)
eMC_BUFFER MODE 0: _mcAborting 1: _mcBuffered 2: _mcBlendingLow 3: _mcBlendingPrevious 4: _mcBlendingNext 5: _mcBlendingHigh 指定多重启动运动控制指令时的动作 0:中断 1:缓存 2:以低速合并 3:以前一个速度合并 4:以后一个速度合并 5:以高速合并 BufferMode (缓存模式选择)
eMC_CIRC MODE 0: _mcBorder 1: _mcCenter 2: _mcRadius 指定圆弧插补的方法 0:通过点指定 1:中心点指定 2:半径指定 CircMode (圆弧插补模式)
eMC_CAM TRANSITION 0: _mcCTNone 指定凸轮重启时从轴指令值的输出 方法 0:无限制/修正 CamTransition (凸轮过渡指定)
eMC_CIRC PATHCHOICE 0: _mcCW 1: _mcCCW 指定路径方向 0:CW 1:CCW PathChoice (路径选择)
eMC_COMBINE MODE 0: _mcAddAxes 1: _mcSubAxes 指定合成方法 0:加法 1:减法 CombineMode (加减法运算方法选择)
eMC_COORD SYSTEM 0: _mcACS 指定坐标系 0:轴坐标系(ACS) CoordSystem (坐标系)
eMC DIRECTION 0: _mcPositiveDirection 1: _mcShortestWay 2: _mcNegativeDirection 3: _mcCurrentDirection 4: _mcNoDirection 指定各种动作的方向 0:指定为正方向 1:指定为附近 2:指定为负方向 3:指定为当前方向 4:无方向指定 Direction (方向选择)
eMC EXECUTION_ MODE 0: _mcImmediately (Reserved) ExecutionMode (执行模式选择)
eMC LINKOPTION 0: _mcCommandExecution 1: _mcTriggerDetection 2: _mcMasterReach 指定从轴与主轴同步的条件 0:指令开始时 1:检测到触发时 2:主轴到达主轴跟踪距离时 LinkOption (同步开始条件选择)
eMC_MOVE MODE 0: _mcAbsolute 1: _mcRelative 2: _mcVelocity 选择移动方法 0:绝对值定位 1:相对值定位 2:速度控制 MoveMode (移动方法选择)
_eMC _OUT_MODE 0: _mcStop 指定解除同步控制指令的模式 0:减速停止 OutMode (同步解除模式选择) (Reserved)
eMC PARAMETER_ NUMBER 0: _mcChkVel 1: _mcChkAcc 2: _mcChkDec 3: _mcPosiChkTrq 4: _mcNegaChkTrq 5: _mcFELmt 6: _mcChkFELmt 7: _mcSwLmtMode 8: _mcPosiSwLmt 9: _mcNegaSwLmt 10: _mcInPosTime 11: _mcInPosRange*1 12: _mcStartVel*2 指定写入目标位置的参数 0:速度警告值/插补速度警告值 1:加速度警告值/插补加速度警告值 2:减速度警告值/插补减速度警告值 3:正方向转矩警告值 4:负方向转矩警告值 5:位置偏差超过值 6:位置偏差警告值 7:软件限制功能 8:正方向软件限制 9:负方向软件限制 10:到位检查时间 11:到位宽度 12:启动速度 ParameterNumber (参数编号)
eMC SWLMT_MODE 0: _mcNonSwLmt 1: _mcCmdDecelerationStop 2: _mcCmdImmediateStop 3: _mcActDecelerationStop 4: _mcActImmediateStop 指定软件限制功能有效/无效以及停止 方法 0:软件限制功能无效 1:有效,对指令位置执行减速停止 2:有效,对指令位置执行立即停止 3:有效,对反馈位置执行减速停止 4:有效,对反馈位置执行立即停止 SettingValue (设定值)
eMC REFERENCE_ TYPE *3 0: _mcCommand 1: _mcFeedback 2: _mcLatestCommand 指定位置类型 0:指令位置(最近任务周期*4下的计算 值) 1:反馈位置(同一任务周期 *4下的取 值) 2:指令位置(同一任务周期*4下的计算 值) ReferenceType (位置类型选择) ReferenceTypeMaster (主轴位置类型选择) ReferenceTypeAuxiliary (辅轴位置类型选择)
eMC START_MODE 0: _mcAbsolutePosition 1: _mcRelativePosition 指定MasterStartDistance(主轴跟踪距离) 使用的坐标系。 0:绝对位置 1:相对位置 StartMode (起始位置方式指定)
eMC_STOP MODE 0: _mcDeccelerationStop 1: _mcImmediateStop 2: _mcImmediateStopFEReset 3: _mcFreeRunStop 4: _mcNonStop 指定停止方法 0:减速停止指令值 1:立即停止 2:立即停止,并进行偏差计数器复位 3:伺服OFF 4:不停止 StopMode (停止方法选择)
eMC_TRIGGER LATCH_ID 0: _mcLatch1 1: _mcLatch2 指定使用2个锁定功能中的哪一个。 0:锁定功能1 1:锁定功能2 LatchID (锁定ID)
eMC CMDPOS_MODE 0: _mcCount 0:使用反馈当前位置更新指令当前 位置 原点确定状态保持不变 CmdPosMode (指令当前位置计数选择)
eMC TRANSITION_ MODE 0: _mcTMNone 10: _mcTMCornerSuperimposed 指定动作的路径 0:过渡无效 10:附加角 TransitionMode (过渡模式(切换模式))
eMC_TRIGGER MODE 0: _mcDrive 1: _mcController 指定触发模式 0:驱动器模式 1:控制器模式 Mode(模式)
eMC_TRIGGER INPUT_DRIVE 0: _mcEncoderMark 1: _mcEXT 指定驱动器模式时的触发信号 0:Z相 1:外部输入 InputDrive (驱动触发输入信号)
eMC_HOMING MODE *5 0:_mcHomeSwTurnHomeSwOff 1:_mcHomeSwTurnHomeSwOn 4:_mcHomeSwOff 5:_mcHomeSwOn 8:_mcLimitInputOff 9:_mcHomeSwTurnHomeMask 11:_mcLimitInputOnly 12:_mcHomeSwTurnHoldingTime 13:_mcNoHomeSwHoldingHomeInput 14:_mcHomePreset 指定要改写的[原点复位动作] 0:指定为附近避让、近原点输入OFF 1:指定为附近避让、近原点输入ON 4:指定为近原点输入OFF 5:指定为近原点输入ON 8:指定为极限输入OFF 9:指定为附近避让、原点输入屏蔽距 离 11:仅极限输入 12:指定为附近避让、接触时间 13:指定为无近原点输入、接触原点 输入 14:原点预设
eMC_HOME INPUT *5 0:_mcZPhase 1:_mcExternalSignal 选择原点输入信号 0:使用Z相输入 1:使用外部原点输入
eMC_LIMIT REVERSE_MODE *5 0:_mcErrorStop 1:_mcRevImmediateStop 2:_mcRevDecelerationStop 设定原点复位中极限输入"ON"时的 停止方法 0:不反转/轴异常而停止(遵照极限输 入停止方法) 1:反转/立即停止 2:反转/减速停止
eMC_CAM CURVE *6 0: _mcConstantLine 1: _mcStraightLine 2: _mcParabolic 3: _mcModifiedConstantVel 4: _mcModifiedTrapezoid 5: _mcModifiedSine 6: _mcCycloidal 7: _mcTrapecloid 8: _mcReverseTrapecloid 9: _mcSimpleHarmonic 10: _mcDoubleHarmonic 11: _mcReverseDoubleHarmonic 12: _mcNC2Curve 13: _mcPolynomic3 14: _mcPolynomic5 指定到节点为止的凸轮曲线的形状。 0:直线(位移保持) 1:直线 2:等加速度 3:变形等速度 4:变形梯形 5:变形正弦 6:摆线 7:Trapecloid 8:逆Trapecloid 9:单弦 10:复弦 11:逆复弦 12:NC2曲线 13:3次曲线 14:5次曲线 Curve (曲线形状)
eMC ACCDECOVER *6 0: _mcAccDecOverBuffer 1: _mcAccDecOverRapid 2: _mcAccDecOverErrorStop 在轴的加减速控制中,优先向目标位 置停止后,产生减速超限。指定超过 最大加减速度时的动作。 0:提高加减速度(将合并切换为等待)*7 1:提高加减速度 2:异常停止*8
eMC REVERSE_MODE *6 0: _mcReverseModeDecelerationStop 1: _mcReverseModeImmediateStop 指定多重启动指令时、重启指令时、 中断标准定位时的反转时动作。 0:减速停止 1:立即停止
eMC COUNT_MODE *6 0: _mcCountModeLinear 1: _mcCountModeRotary 设定位置的计数模式。 0:线性模式(有限长) 1:旋转模式(无限长)
_eMC_UNITS *6 0: _mcPls 1: _mcMm 2: _mcUm 3: _mcNm 4: _mcDeg 5: _mcInch 设定指令位置的单位。 0: pulse 1: mm 2: mm 3: nm 4: degree 5: inch
  • 1.Ver.1.01以上的CPU单元和Ver.1.02以上的SysmacStudio组合时可指定。
  • 2.Ver.1.10以上的CPU单元和Ver.1.12以上的SysmacStudio组合时可指定。
  • 3.使用_mcLatestCommand时,必须在满足以下关系的条件下使用主轴、从轴。Master(主轴)设定的运动控制系统变量的轴号<Slave(从轴)设定的运动控制系统变量的轴号
  • 4.任务周期分为原始恒定周期任务的周期和固定周期任务(执行优先度5)的周期。
  • 5.Ver.1.03以上的CPU单元和Ver.1.04以上的SysmacStudio组合时可指定。
  • 6.Ver.1.08以上的CPU单元和Ver.1.09以上的SysmacStudio组合时可指定。
  • 7.Ver.1.10以上的CPU单元,无法将合并切换为等待。详情请参阅"NJ/NX系列CPU单元用户手册运动控制篇(SBCE-363)"。
  • 8.Ver.1.10以上的CPU单元,合并动作时不会异常停止。详情请参阅"NJ/NX系列CPU单元用户手册运动控制篇(SBCE-363)"。

运动控制指令的输出变量

  • 以下是运动控制指令的输出变量一览表。
输出变量 名称 数据类型 有效范围 内容
Done 完成 BOOL TRUE, FALSE 指令执行完毕时变为TRUE。 此时,输出变量Active、Error、CommandAborted为 FALSE。 指令完成时,输入变量Execute为FALSE时,Done至少 在一个周期内为TRUE。 Execute为TRUE时,Done则在Execute变为FALSE之前保 持TRUE状态。
Busy 执行中 BOOL TRUE, FALSE 接收指令后变为TRUE
Active 控制中 BOOL TRUE, FALSE 控制中变为TRUE。 所谓控制中,是指该指令对轴及轴组进行实际控制的 时候。此时,输出变量Done、Error、CommandAborted 变为FALSE。
Enabled 有效 BOOL TRUE, FALSE 控制中变为TRUE。
CommandAborted 执行中断 BOOL TRUE, FALSE 无法启动指令、或执行中发生中断时变为TRUE。 对象轴或轴组发生异常时无法启动指令。同样,减速 停止中也无法启动指令。 启动了其他指令、或发生本指令以外的异常时,指令 中断。 此时,输出变量Done、Active、Error变为FALSE。输入 变量Execute为FALSE时发生中断时,CommandAborted 至少在一个周期内为TRUE。 Execute或Enable为TRUE时,CommandAborted则在 Execute或Enable变为FALSE之前保持TRUE状态
Error 错误 BOOL TRUE, FALSE 因输入变量错误或指令处理而发生异常时变为TRUE *1
ErrorID 错误代码 WORD *2 发生异常时,输出错误代码。 16#0000表示正常
Failure 非法结束 BOOL TRUE, FALSE 指令未正常执行时变为TRUE
Status 可运行 BOOL TRUE, FALSE 进入可运行状态时变为TRUE
EndOfProfile 凸轮周期完成 BOOL TRUE, FALSE 执行凸轮表终点后变为TRUE
Index 索引 UINT 正数或 "0" 输出凸轮数据的索引编号
StartSync 跟踪中 BOOL TRUE, FALSE 开始为同步进行加减速动作时变为TRUE
RecordedPosition 锁定位置 LREAL 负数、正 数、"0" 输出锁定的位置 *3
Invalid 轴间偏差超调 BOOL TRUE, FALSE 超过轴间偏差容许值时变为TRUE
DeviatedValue 轴间偏差值 LREAL 负数、正 数、"0" 输出指定的主轴和从轴的差异量 *3
EndPointIndex 终点索引 UINT 正数或 "0" 输出凸轮表的终点索引
MaxDataNumber 最大凸轮 数据数 UINT 正数 输出最大凸轮数据数
InVelocity 达到目标速度 BOOL TRUE, FALSE 达到目标速度后变为TRUE
InSync 同步中 BOOL TRUE, FALSE 与主轴同步时、或者从轴到达从轴同步位置时变为 TRUE
InGear 齿轮比到达 BOOL TRUE, FALSE 从轴达到目标速度时变为TRUE
InCombination 加减运算中 BOOL TRUE, FALSE 加减运算时变为TRUE
InCam 凸轮动作中 BOOL TRUE, FALSE 执行凸轮表起点后变为TRUE
InTorque 目标转矩到达 BOOL TRUE, FALSE 达到目标转矩时变为TRUE
InFeed 标准传送中 BOOL TRUE, FALSE 接受锁定输入后进行标准传送时变为TRUE
InZone 区域内 BOOL TRUE, FALSE 轴位置在区域范围内时变为TRUE
Valid*4 有效 BOOL TRUE, FALSE 控制中变为TRUE
Command Position*4 指令当前位置 ARRAY [0..3] OF LREAL 负数、正 数、"0" 输出指令位置的当前值*3
ActualPosition*4 反馈当前位置 ARRAY [0..3] OF LREAL 负数、正 数、"0" 输出反馈位置的当前值*3
InPosition*4 到位 BOOL TRUE, FALSE 所有构成轴的反馈当前位置进入目标位置的到位宽度 内时变为TRUE
InOperation*5 动作中 BOOL TRUE, FALSE 指令动作中变为TRUE。
CalcPosition*5 计算位置 LREAL 负数、正 数、"0" 输出指定的时间戳的位置。*3
ErrorParameterCode*6 参数详情代码 WORD *7 有些错误代码存在附属信息。如果存在该信息,则输 出异常参数的详情代码。
ErrorNodePointIndex* 节点元素编号 UINT *7 有些错误代码存在附属信息。如果存在该信息,则输 出异常节点的元素编号。
OutputtedOffset Position*8 位置偏置输出 值 LREAL 负数、正 数、"0" 输出在指令当前位置叠加的位置偏置。 Active为TRUE时更新值。 CommandAborted或Error为TRUE时,停止更新并保持 值。
  • 1.Error(错误)在执行MC_Reset(轴错误复位)指令、MC_GroupReset(轴组错误复位)指令、ResetMCError(所有错误复位)指令之前不会被清零。此规格与PLCopen不同。PLCopen中,在Execute(启动)的下降沿变为FALSE。此外,在Error为TRUE时,不启动运动控制指令。解除异常后,即使Execute为TRUE,由于不是上升沿,因此也不启动指令。Enable型运动控制指令在Enable(有效)为TRUE时启动。
  • 2.与事件代码的前四位数字相同。详情请参阅"A-1错误代码一览(P.A-2)"。
  • 3.以指令单位表示。指令单位有[mm]、[μm]、[nm]、[degree]、[inch]或[pulse]。
  • 4.Ver.1.01以上的CPU单元和Ver.1.02以上的SysmacStudio组合时可使用。
  • 5.Ver.1.06以上的CPU单元和Ver.1.07以上的SysmacStudio组合时可使用。
  • 6.Ver.1.08以上的CPU单元和Ver.1.09以上的SysmacStudio组合时可指定。
  • 7.详情请参阅"A-1错误代码一览(P.A-2)"。
  • 8.Ver.1.10以上的CPU单元和Ver.1.12以上的SysmacStudio组合时可使用。
  • 参考
  • 运行模式变更后想要浏览运动控制指令的输出变量时,请分配输出参数属性为保持属性的变量。
  • 浏览分配的输出参数,便可以查看变更运行模式前的输出变量。

运动控制指令的输入输出变量

  • 以下是运动控制指令的输入输出变量一览表。
输入输出变量 名称 数据类型 有效范围 内容
Axis _sAXIS_REF 指定轴
AxesGroup 轴组 _sGROUP_REF 指定轴组
Auxiliary 辅轴 _sAXIS_REF 指定辅轴
Master 主轴 _sAXIS_REF 指定主轴
Slave 从轴 _sAXIS_REF 指定从轴
CamTable 凸轮表 ARRAY[0..N] OF _sMC_CAM_REF 将凸轮数据结构体_sMC_CAM_REF型的数组变量 作为凸轮表指定。 *1
TriggerInput 触发输入条件 _sTRIGGER_REF 设定触发条件
TriggerVariable 触发变量 BOOL TRUE, FALSE 在触发条件下指定控制器模式时,指定触发的输 入变量
Target 写入对象 _sAXIS_REF 或 _sGROUP_REF 指定作为写入对象的轴或者轴组
SettingValue 设定值 视指定的变量类型 而定 指定写入的值。 有效范围根据通过ParameterNumber(参数编号)指 定的运动控制参数而定。 *2 初始值为"0"
Axes*3 轴组构成轴 ARRAY[0.0.3] OF UINT 指定改写后的构成轴的轴号
Homing Parameter *4 原点复位参数 _sHOMING_REF 设定原点复位参数。
Switches*5 开关 ARRAY[0..255] OF sCAMSWITCH REF 将开关结构体_sCAMSWITCH_REF型的数组变量 指定为开关的ON/OFF模式数据。 数组元素编号表示开关编号。
Outputs*5 输出信号 ARRAY[0..15] OF _sOUTPUT_REF 将输出信号_sOUTPUT_REF型的数组变量指定为 基于开关的ON/OFF模式数据计算出的数字输出 的ON/OFF时刻的输出对象。数组元素编号表示 轨段编号。 通过将该数组变量指定为NX_AryDOutTimeStamp 指令的输入输出变量,将实际的数字输出设为 ON/OFF。
TrackOptions*5 轨段选项 ARRAY[0..15] OF _sTRACK_REF 将轨段选项结构体_sTRACK_REF型的数组变量 指定为开关的动作条件。数组元素编号表示轨段 编号。
CamProperty*6 凸轮属性 _sMC_CAM_PROP ERTY 指定凸轮属性结构体_sMC_CAM_PROPERTY型 的变量。 请指定通过_sMC_CAM_PROPERTY型的用户定 义变量或Sysmac Studio的凸轮编辑器创建的凸轮 属性变量。
CamNodes*6 凸轮节点 ARRAY[0..N] OF _sMC_CAM_NODE 指定凸轮节点结构体_sMC_CAM_NODE型的数组 变量。 请指定通过_sMC_CAM_NODE型的用户定义变量 或*7Sysmac studio的凸轮编辑器创建的凸轮节点 变量。
AxisParameter*6 轴参数 _sAXIS_PARAM 改写时指定轴参数。 读取时,将_sAXIS_PARAM型的变量指定为已读 取的轴参数的保存位置。
  • 1.数组元素[N]通过SysmacStudio自动设定。请指定通过SysmacStudio的凸轮编辑器创建的凸轮数据变量。
  • 2.关于变量的数据类型,请参阅"参数的数据类型和有效范围(P.5-14)"。
  • 3.Ver.1.01以上的CPU单元和Ver.1.02以上的SysmacStudio组合时可指定。
  • 4.Ver.1.03以上的CPU单元和Ver.1.04以上的SysmacStudio组合时可指定。
  • 5.Ver.1.06以上的CPU单元和Ver.1.07以上的SysmacStudio组合时可指定。
  • 6.Ver.1.08以上的CPU单元和Ver.1.09以上的SysmacStudio组合时可指定。
  • 7.创建用户定义变量时,请确保数组变量的元素开始编号为0,数组元素[N]为358以下。
相关推荐
只会copy的搬运工20 分钟前
Jenkins 持续集成部署——Jenkins实战与运维(1)
运维·ci/cd·jenkins
娶不到胡一菲的汪大东35 分钟前
Ubuntu概述
linux·运维·ubuntu
阿里嘎多学长1 小时前
docker怎么部署高斯数据库
运维·数据库·docker·容器
Yuan_o_1 小时前
Linux 基本使用和程序部署
java·linux·运维·服务器·数据库·后端
灯火不休➴1 小时前
[Xshell] Xshell的下载安装使用、连接linux、 上传文件到linux系统-详解(附下载链接)
linux·运维·服务器
小峰编程1 小时前
独一无二,万字详谈——Linux之文件管理
linux·运维·服务器·云原生·云计算·ai原生
张国荣家的弟弟1 小时前
【Yonghong 企业日常问题04】永洪BI可视化工具Linux部署全攻略(部署详解版)
linux·运维·github
娶不到胡一菲的汪大东1 小时前
Linux的VIM基本操作
linux·运维·服务器
G_whang2 小时前
windos 安装docker
运维·docker·容器
上学的小垃圾3 小时前
MPLS基础以及静态LSP的配置
运维·网络·算法