2. 变量和指令(omron 机器自动化控制器)——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_REFMC通用变量
Status_sCOMMON_REF_STAMC通用状态
RunModeBOOLMC运行中MC功能模块在运行中变为TRUE
TestModeBOOLMC试运行中通过Sysmac Studio试运行时变为TRUE
CamTableBusyBOOL凸轮表文件保存执行中/待机中在执行或等待执行凸轮表文件保存时变为TRUE
GenerateCam Busy *1BOOL凸轮表生成执行中执行凸轮表生成时变为TRUE
PFaultLvl_sMC_REF_EVENTMC通用 部分停止故障
ActiveBOOLMC通用 部分停止故障发生中MC通用 发生停止故障时变为TRUE
CodeWORDMC通用 部分停止故障代码MC通用 输出停止故障的代码。
与事件代码的前四位相同的值
MFaultLvl_sMC_REF_EVENT MC通用 轻度故障
ActiveBOOLMC通用 轻度故障发生中MC通用 发生轻度故障时变为TRUE
CodeWORDMC通用 轻度故障代码MC通用 输出轻度故障的代码。
与事件代码的前四位相同的值
Obsr_sMC_REF_EVENTMC通用 监视信息
ActiveBOOLMC通用 监视信息发生中MC通用 发生监视信息时变为TRUE
CodeWORDMC通用 监视信息代码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轴状态
ReadyBOOL轴启动准备完成轴启动准备就绪并在停止中的状态下变为TRUE。
_MC_AX[*].Status.Standstill表示与 “TRUE:停止中”的状态相同。
DisabledBOOL轴无效在轴由于伺服OFF而停止的状态下变为TRUE。以下轴状态是排他性的,任意一个单独变为TRUE
Disabled/ Standstill/ Discrete/ Continuous/ Synchronized/ Homing/ Stopping/ ErrorStop/Coordinated
StandstillBOOL停止中在轴由于伺服ON而停止的状态下变为TRUE。
DiscreteBOOL定位动作中在向目标位置执行定位控制时变为TRUE。
也包括定位动作中将超调值设定为 “0”而使速度为 “0”的状态。
ContinuousBOOL连续动作中没有目标位置连续动作时变为TRUE。
速度控制和转矩控制时变为此状态。
也包括将目标速度设为 “0”而使速度为 “0”
的状态、以及连续动作中将超调值设定为 “0”
而使速度为 “0”的状态。
SynchronizedBOOL同步动作中执行同步控制时变为TRUE。
也包括同步控制指令切换后的同步等待状态
HomingBOOL原点复位中通过MC_Home指令或MC_HomeWithParameter指
令执行原点复位时变为TRUE
StoppingBOOL减速停止中在通过MC_Stop指令、MC_TouchProbe指令停止
轴动作之前的状态下变为TRUE。
也包括通过MC_Stop指令停止轴动作后Execute变为TRUE时。
在减速停止中的状态下不能启动轴动作指令 (CommandAborted = TRUE)
ErrorStopBOOL错误减速停止中执行MC_ImmediateStop指令或正在发生轻度故障
(_MC_AX[*].MFaultLvl.Active为 “TRUE:正在发
生轴轻度故障”)时,轴停止前和停止后的状态。
在该状态下不能启动轴动作指令(CommandAborted = TRUE)。
CoordinatedBOOL多轴协调动作中在通过多轴协调指令使轴组有效的状态下变为TRUE
Details_sAXIS_REF_DET轴控制状态 *1
IdleBOOL停止中除了到位等待,在未进行指令值运算时变为 TRUE。 *2 Idle与InPosWaiting相互排斥,不会同时变为 TRUE。
InPosWaitingBOOL到位等待到位等待时变为TRUE。 通过到位检查执行定位执行到位检查的状态
HomedBOOL原点确定在原点确定状态时变为TRUE *3 TRUE:原点确定 FALSE:原点未确定
InHomeBOOL原点停止在原点位置的范围内时变为TRUE。 以下是AND条件 • 原点确定状态 • 反馈当前位置以原点为中心进入 “原点位置 范围”时 在指令状态下轴动作过程中通过原点位置时也会 变为TRUE。
VelLimit *4BOOL指令速度饱和同步控制中,指 速度以最高速度进行限制时变 为TRUE。
DirsAXIS_REF_DIR指令方向状态 *5
PosiBOOL正方向指令中指令指定为正方向时变为TRUE。
NegaBOOL负方向指令中指令指定为负方向时变为TRUE。
DrvStatus_sAXIS_REF_STA_DRV伺服驱动器状态 *6
ServoOnBOOL伺服ON伺服电机通电时变为TRUE
ReadyBOOL伺服待机伺服待机状态时变为TRUE
MainPowerBOOL主电路电源伺服驱动器的主电路电源通电时变为TRUE
P_OTBOOL正方向极限输入正方向极限输入有效时变为TRUE
N_OTBOOL负方向极限输入负方向极限输入有效时变为TRUE
HomeSwBOOL近原点输入近原点输入有效时变为TRUE
HomeBOOL原点输入启用原点输入时变为TRUE。 *7
ImdStopBOOL即停输入即停输入有效时变为TRUE
Latch1BOOL外部锁定输入1锁定输入1有效时变为TRUE
Latch2BOOL外部锁定输入2锁定输入2有效时变为TRUE
DrvAlarmBOOL驱动器错误输入发生驱动器错误时变为TRUE
DrvWarningBOOL驱动器警告输入发生驱动器警告时变为TRUE
ILABOOL驱动器内部功能 限制中通过伺服驱动器的限制功能进行实际限制时变为 TRUE。 *8
CSPBOOL周期同步位置(CSP) 模式中伺服驱动器的伺服ON,在CSP模式下变为 TRUE。 *9
CSVBOOL周期同步速度(CSV) 模式中伺服驱动器侧伺服ON、进入CSV模式时变为 TRUE *9
CSTBOOL周期同步转矩(CST) 模式中伺服驱动器侧伺服ON、进入CST模式时变为 TRUE *9
Cmd_sAXIS_REF_CMD_ DATA轴指令值
PosLREAL指令当前位置输出指令位置的当前值。(单位:指令单位) 伺服OFF或非位置控制模式时,输出反馈当前位 置。*10
VelLREAL指令当前速度输出指令速度的当前值。(单位:指令单位/s) 正方向移动时附带正号、负方向移动时附带负 号。 根据指令当前位置之差算出的速度。伺服OFF或 非位置控制模式时,根据反馈当前位置计算出的 速度。
AccDecLREAL指令当前加减速度输出指令加减速度的当前值。 (单位:指令单位/s2 ) 根据指令当前速度之差算出的加减速度。加速时 附带正号,减速时附带负号。 执行中的指令的加减速度为 “0”时变为 “0”。
JerkLREAL指令当前跃度输出指令跃度的当前值。(指令单位/s3 ) 加减速度的绝对值增大时附带正号,减小时附带 负号。 执行中的指令的加减速度或指令跃度为 “0”时 变为 “0”
TrqLREAL指令当前转矩输出指令转矩的当前值。(单位:%) 正方向移动时附带正号、负方向移动时附带负 号。 非转矩控制模式时,输出与反馈当前转矩相同的 值。
Act_sAXIS_REF_ACT_ DATA轴当前值
PosLREAL反馈当前位置输出反馈位置的当前值(单位:指令单位)*10
VelLREAL反馈当前速度输出反馈速度的当前值。(单位:指令单位/s) 正方向移动时附带正号、负方向移动时附带负 号。
TrqLREAL反馈当前转矩输出反馈转矩的当前值。(单位:%) 正方向移动时附带正号、负方向移动时附带负 号。
TimeStamp*11ULINT时间戳输出轴当前位置的更新时刻。运行变化时刻获取 功能的轴有效。 (单位:ns)
MFaultLvl_sMC_REF_EVENT轴 轻度故障
ActiveWORD轴 轻度故障代码 输出轴轻度故障的代码。 与事件代码的前四位相同的值
Obsr_sMC_REF_EVENT轴 监视信息
ActiveBOOL轴 监视信息发生中发生轴监视信息时变为TRUE
WORDBOOL轴 监视信息代码 输出轴监视信息的代码。 与事件代码的前四位相同的值
Cfg_sAXIS_REF_CFG轴基本设定 *12
AxNoUINT轴号表示轴的逻辑编号。 参考_sAXIS_REF时是为识别轴号而进行参考
AxEnableAxEnable轴使用表示是否使用轴 0:_mcNoneAxis (未创建轴) 1:_mcUnusedAxis (未使用轴) 2:_mcUsedAxis(使用轴)
AxType _eMC_AXIS_TYPE轴种类表示轴种类。 虚拟轴不需要输入输出接线 0:_mcServo(伺服轴) 1:_mcEncdr(编码器轴) 2:_mcVirServo(虚拟伺服轴) 3:_mcVirEncdr(虚拟编码器轴)
NodeAddressUINT节点地址表示EtherCAT的从站地址。*13 16#FFFF表示无
ExecID *14UINT执行ID表示各任务的执行ID。 0:未分配任务(未创建轴) 1:分配至原始恒定周期任务 2:分配至固定周期任务(执行优先度5)
Scale_sAXIS_REF_SCALE单位转换 *15
NumUDINT电机转1圈的脉冲数 表示指令位置电机转1圈的脉冲数。 根据电子齿轮比将指令值转换为脉冲量
DenLREAL电机转1圈的移动量表示指令位置电机转1圈的工件移动量。 *16
UnitsBOOL_eMC_UNITS
UnitsBOOL显示单位表示指令位置的显示单位 0:_mcPls(pulse) 1:_mcMm(mm) 2:_mcUm(μm) 3:_mcNm(nm) 4:_mcDeg(degree) 5:_mcInch(inch)
CountMode *14CountMode *14计数模式表示计数模式。 0:_mcCountModeLinear(线性模式) 1:_mcCountModeRotary(旋转模式)
MaxPos *14LREAL当前位置上限值表示当前位置显示的上限值。 *17
MinPos *14LREAL当前位置下限值表示当前位置显示的下限值。 *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轴组变量
ReadyBOOL启动准备完成轴组停止、启动准备已经完成时变为TRUE。 以下AND条件即启动准备完成的条件 • 构成轴未执行MC_Stop指令。 • _MC_GRP[*].Status.Standby(停止中)变为TRUE • 构成轴为伺服ON状态 • 构成轴的_MC_AX[*].Details.Homed(原点确定)为TRUE
DisabledBOOL不启用轴组因禁用轴组而停止时变为TRUE。
以下轴组状态是排他性的,任意一个单独变为 TRUE。
Disable/ Standby/ Moving/ Stopping/ ErrorStop
StandbyBOOL停止中轴组动作指令停止时变为TRUE。
与构成轴组的轴的伺服ON/OFF状态无关
MovingBOOL动作中在向目标位置执行轴组动作指令时变为TRUE。
也包括到位等待的状态、以及因超调而使速度 为 “0”的状态。
StoppingBOOL减速停止中在通过MC_GroupStop指令停止轴组动作之前的 状态下变为TRUE。
也包括通过MC_GroupStop指令停止轴动作后
Execute变为TRUE时。
在该状态下不能启动轴组动作指令
(CommandAborted = TRUE)
ErrorStopBOOL错误减速停止中通过MC_GroupImmediateStop指令、或者在发生
轴组轻度故障时 (_MC_GRP[*].MFaultLvl.Active=TRUE),轴组停
止之前、以及停止后变为TRUE。在此状态下
不能启动轴组动作指令(CommandAborted = TRUE)。
Details_sGROUP_REF_DET轴组控制状态 *1
IdleIdle停止中除了到位等待,在未进行指令值运算时变为 TRUE。*2
Idle与InPosWaiting相互排斥,不会同时变为 TRUE。
InPosWaitingBOOL到位等待任意一个构成轴到位等待时变为TRUE。
通过到位检查执行定位执行到位检查的状态
Cmd_sGROUP_REF_CMD_ DATA轴组指令值
VelLREAL指令插补速度输出指令插补速度的当前值。
根据插补指令当前位置之差算出的插补速度。
正方向移动时附带正号、负方向移动时附带 负号。
轴组无效时变为 “0”
AccDecLREAL指令插补加减速度 输出指令插补加减速度的当前值。
根据指令插补速度之差算出的插补加减速度。
加速时附带正号,减速时附带负号。
禁用轴组或正在执行的轴组动作指令的指令加
减速度指定为 “0”时变为 “0”。
MFaultLvlsMC_REF_EVENT轴组轻度故障
轴组轻度故障BOOL轴组轻度故障发生中轴组发生轻度故障时变为TRUE
CodeUINT轴组轻度故障代码 输出轴组轻度故障的代码。
与事件代码的前四位相同的值
Obsr_sMC_REF_EVENT轴组监视信息
ActiveBOOL轴组监视信息发生中发生轴组监视信息时变为TRUE
CodeWORD轴组监视信息代码 输出轴组监控信息的代码。
与事件代码的前四位相同的值
CfgsGROUP_REF_CFG轴组基本设定
GrpNoUINT轴组编号表示轴组的逻辑编号。
参考_sGROUP_REF时是为识别轴组编号而进 行参考
GrpEnable_eMC_GROUP_USE轴组使用表示是否使用轴组。
0:_mcNoneGroup (未创建轴组)
1:_mcUnusedGroup (未使用轴组)
2:_mcUsedGroup (使用轴组)
ExecID *3UINT执行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启动BOOLTRUE, FALSEFALSE在上升沿开始指令。
在Execute的上升沿时,导入其他输入
变量。
想要更新输入值时,先变更输入值,然后
再度启动Execute。
指令执行完成后也是Execute变为TRUE时
输出变量有效。
此后,在Execute的下降沿,Error和ErrorID
以外的输出变量无效。
指令执行完成前Execute变为FALSE时,输
出变量至少在1个周期内有效
Enable有效BOOLTRUE, FALSEFALSE变为TRUE时指令的功能生效,变为FALSE
时无效。
Enable为TRUE时,其他输入变量按周期
导入。
将Enable变为FALSE时,Error和ErrorID以
外的输出变量无效
Positive
Enable
正方向有效BOOLTRUE, FALSEFALSE• MC_MoveJog指令
设为TRUE,则开始正方向移动。设为
FALSE,则结束移动。MC_MoveJog指令
的Velocity、Acceleration、Deceleration导
入PositiveEnable的上升沿时的值
• MC_SetTorqueLimit指令
变为TRUE时正方向的转矩限制有效。
变为FALSE时正方向的转矩限制无效。
Negative
Enable
负方向有效BOOLTRUE, FALSEFALSE• 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正数 *20指定目标速度。 *3
Acceleration加速度LREAL正数或“0”0指定加速度。 *4
Deceleration减速度LREAL正数或“0”0指定减速度 *4
Jerk跃度LREAL正数或“0”0指定跃度。 *5
Distance移动距离LREAL负数、正数、“0”0指定自指令当前位置起的移动距离。
ARRAY [0..3] OF
LREAL
负数、正数、“0”0指定直线插补的目标位置。 *6
Position目标位置LREAL负数、正数、“0”0指定绝对坐标的目标位置 *6
ARRAY [0..3] OF
LREAL
负数、正数、“0”0指定直线插补的目标位置 *6
速度超调值LREAL0~500100
AccFactor
(Reserved)
加减速度超调值LREAL0~500100(Reserved)
JerkFactor
(Reserved)
跃度超调值LREAL0~500100(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错误检测选择BOOLTRUE, FALSEFALSE无中断输入时,指定是否执行异常检测。
TRUE:执行异常检测
FALSE:不执行异常检测
Periodic重复模式BOOLTRUE, FALSEFALSE指定是反复执行指定的凸轮表,还是只执
行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: _mcCTNone0 *1(Reserved)
OutMode
(Reserved)
同步解除模式
选择
_eMC_OUT_
MODE
0: _mcStop0 *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)
持续方法选择BOOLTRUE, FALSEFALSE(Reserved)
Ratio
Numerator
齿轮比分子DINT*9正数或负数 *910000指定主轴和从轴间的电子齿轮的分子
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正数或负数 *910000指定主轴和从轴间的电子齿轮的分子
Ratio
DenominatorMa
ster
(Reserved)
主轴齿轮比分母UDINT *10正数10000指定主轴和从轴间的电子齿轮的分母
Ratio
Numerator
Auxiliary
(Reserved)
辅轴齿轮比分子DINT *9正数或负数 *910000指定辅轴和从轴间的电子齿轮的分子
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目标转矩LREAL0~1000.0300.0以0.1%为单位指定向伺服驱动器输出的目
标转矩。
以额定转矩为100%时的比率进行指定。单
位为“%”
TorqueRamp转矩斜度LREAL正数或“0”0指定从当前转矩到输出目标转矩为止的转
矩变化率。
单位为“%/s”
Positive
Value
正方向转矩
限制值
LREAL0.1 ~ 1000.0、
或“0.0”
300.0以0.1%为单位指定正方向的转矩限制值。
输入值超过轴参数的[正方向转矩限制上限
值]时,使用[正方向转矩限制上限值]。
指定为“0”及“负数”时作为“0”
动作。
Negative
Value
负方向转矩
限制值
LREAL0.1 ~ 1000.0、
或“0.0”
300.0以0.1%为单位指定负方向的转矩限制值。
输入值超过轴参数的[负方向转矩限制上限
值]时,使用[负方向转矩限制上限值]。
指定为“0”及“负数”时作为“0”
动作。
WindowOnly窗口有效BOOLTRUE, FALSEFALSE指定窗口掩码有效/无效
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)
相对位置选择BOOLTRUE, FALSEFALSE(Reserved)
Execution
Mode
(Reserved)
执行模式选择_eMC_
EXECUTION_
MODE
0: _mcImmediately0 *1
Permitted
Deviation
轴间偏差容许值LREAL正数或“0”0指定可容许的主轴及从轴的位置偏差最大
CmdPos
Mode
指令当前位置
计数选择
_eMC_CMDPOS_
MODE
0: _mcCount0 *10:使用反馈当前位置更新指令当前位置。
原点确定状态保持不变
CoordSystem坐标系_eMC_COORD_
SYSTEM
0: _mcACS0 *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~30指定进行圆弧插补的轴
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_USE1:_mcUnusedAxis
2:_mcUsedAxis
1 *1指定使用轴或未使用轴。
1:未使用轴
2:使用轴
EnableMask*15轨段有效WORD16#0000~FFFF0按轨段指定有效或无效。最多16个轨段
中,第0位的值指定轨段编号0的有效或无
效,第15位的值指定轨段编号15的有效或
无效。
0:无效、1:有效
ValueSource
(Reserved)
输入信息_sMC_SOURCE(Reserved)
TimeStamp *15时间戳ULINT正数、“0”0指定需计算位置的时间戳。
指定以时间戳方式对应的数字输入单元和
编码器输入单元内的时刻为基准的时间
戳。单位为[ns]。
ExecID *16执行IDUINT22指定变量同步指定对象的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_MODE0: _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: _mcCount0:使用反馈当前位置更新指令当前
位置
原点确定状态保持不变
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 *60: _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完成BOOLTRUE,
FALSE
指令执行完毕时变为TRUE。
此时,输出变量Active、Error、CommandAborted为
FALSE。
指令完成时,输入变量Execute为FALSE时,Done至少
在一个周期内为TRUE。
Execute为TRUE时,Done则在Execute变为FALSE之前保
持TRUE状态。
Busy执行中BOOLTRUE,
FALSE
接收指令后变为TRUE
Active控制中BOOLTRUE,
FALSE
控制中变为TRUE。
所谓控制中,是指该指令对轴及轴组进行实际控制的
时候。此时,输出变量Done、Error、CommandAborted
变为FALSE。
Enabled有效BOOLTRUE,
FALSE
控制中变为TRUE。
CommandAborted执行中断BOOLTRUE,
FALSE
无法启动指令、或执行中发生中断时变为TRUE。
对象轴或轴组发生异常时无法启动指令。同样,减速
停止中也无法启动指令。
启动了其他指令、或发生本指令以外的异常时,指令
中断。
此时,输出变量Done、Active、Error变为FALSE。输入
变量Execute为FALSE时发生中断时,CommandAborted
至少在一个周期内为TRUE。
Execute或Enable为TRUE时,CommandAborted则在
Execute或Enable变为FALSE之前保持TRUE状态
Error错误BOOLTRUE,
FALSE
因输入变量错误或指令处理而发生异常时变为TRUE *1
ErrorID错误代码WORD*2发生异常时,输出错误代码。
16#0000表示正常
Failure非法结束BOOLTRUE,
FALSE
指令未正常执行时变为TRUE
Status可运行BOOLTRUE,
FALSE
进入可运行状态时变为TRUE
EndOfProfile凸轮周期完成BOOLTRUE,
FALSE
执行凸轮表终点后变为TRUE
Index索引UINT正数或
“0”
输出凸轮数据的索引编号
StartSync跟踪中BOOLTRUE,
FALSE
开始为同步进行加减速动作时变为TRUE
RecordedPosition锁定位置LREAL负数、正
数、“0”
输出锁定的位置 *3
Invalid轴间偏差超调BOOLTRUE,
FALSE
超过轴间偏差容许值时变为TRUE
DeviatedValue轴间偏差值LREAL负数、正
数、“0”
输出指定的主轴和从轴的差异量 *3
EndPointIndex终点索引UINT正数或
“0”
输出凸轮表的终点索引
MaxDataNumber最大凸轮
数据数
UINT正数输出最大凸轮数据数
InVelocity达到目标速度BOOLTRUE,
FALSE
达到目标速度后变为TRUE
InSync同步中BOOLTRUE,
FALSE
与主轴同步时、或者从轴到达从轴同步位置时变为
TRUE
InGear齿轮比到达BOOLTRUE,
FALSE
从轴达到目标速度时变为TRUE
InCombination加减运算中BOOLTRUE,
FALSE
加减运算时变为TRUE
InCam凸轮动作中BOOLTRUE,
FALSE
执行凸轮表起点后变为TRUE
InTorque目标转矩到达BOOLTRUE,
FALSE
达到目标转矩时变为TRUE
InFeed标准传送中BOOLTRUE,
FALSE
接受锁定输入后进行标准传送时变为TRUE
InZone区域内BOOLTRUE,
FALSE
轴位置在区域范围内时变为TRUE
Valid*4有效BOOLTRUE,
FALSE
控制中变为TRUE
Command
Position*4
指令当前位置ARRAY [0..3]
OF LREAL
负数、正
数、“0”
输出指令位置的当前值*3
ActualPosition*4反馈当前位置ARRAY [0..3]
OF LREAL
负数、正
数、“0”
输出反馈位置的当前值*3
InPosition*4到位BOOLTRUE,
FALSE
所有构成轴的反馈当前位置进入目标位置的到位宽度
内时变为TRUE
InOperation*5动作中BOOLTRUE,
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触发变量BOOLTRUE,
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以下。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一半不眠次日si记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值