机器自动化控制器------第三章 轴指令 3
MC_HomeWithParameter
- 指定原点复位参数,驱动电机,使用极限信号、近原点信号、原点信号确定机械原点。
指令 | 名称 | FB/ FUN | 图形表现 | ST表现 |
---|---|---|---|---|
MC_HomeWith Parameter | 参数指定 原点复位 | FB | MC_HomeWithParameter_instance ( Axis :=《参数》 , HomingParameter :=《参数》 , Execute :=《参数》 , Done =>《参数》 , Busy =>《参数》 , CommandAborted =>《参数》 , Error =>《参数》 , ErrorID =>《参数》 ); |
- 版本相关信息
- Ver.1.03以上的CPU单元和Ver.1.04以上的Sysmac Studio组合时可使用本指令。
变量
输入变量 | 名称 | 数据类型 | 有效范围 | 初始值 | 内容 |
---|---|---|---|---|---|
Execute | 启动 | BOOL | TRUE, FALSE | FALSE | 在上升沿开始指令。 |
▶输入变量
输出变量 | 名称 | 数据类型 | 有效范围 | 内容 |
---|---|---|---|---|
Done | 完成 | BOOL | TRUE, FALSE | 指令执行完毕时变为TRUE。 |
Busy | 执行中 | BOOL | TRUE, FALSE | 接收指令后变为TRUE。 |
CommandAborted | 执行中断 | BOOL | TRUE, FALSE | 指令中止时,变为TRUE。 |
Error | 错误 | BOOL | TRUE, FALSE | 发生异常时变为TRUE。 |
ErrorID | 错误代码 | WORD | *1 | 发生异常时,输出错误代码。16#0000为正常。 |
- 1.请参阅"A-1错误代码一览(P.A-2)"。
► 输出变量的反映时间
变量 | 变为TRUE的时间 | 变为FALSE的时间 |
---|---|---|
Done | 指令完成时 | • Execute为TRUE时,与Execute的FALSE同时 • Execute为FALSE时,1个周期后 |
Busy | Execute的上升沿 | • Done变为TRUE时 • Error变为TRUE时 • CommandAborted变为TRUE时 |
CommandAborted | • 利用其它指令多重启动运动指令(中断),中止本指 令时 • 因发生异常,中止本指令时 • 发生异常过程中,启动本指令时 • 执行MC_Stop指令中,启动本指令时 | • Execute为TRUE时,与Execute的FALSE同时 • Execute为FALSE时,1个周期后 |
Error | 本指令的启动条件或输入参数中含有异常因素时 | 异常已解除时 |
▶输出变量
输入输出变量 | 名称 | 数据类型 | 有效范围 | 内容 |
---|---|---|---|---|
Axis | 轴 | _sAXIS_REF | - | 指定轴。 *1 |
HomingParameter | 原点复位参数 | sHOMING REF | - | 设定原点复位参数。 *2 |
- 1.请使用在SysmacStudio的轴基本设定画面中创建的用户定义变量的轴变量名称(默认"MC_Axis")或系统定义变量的轴变量名称(_MC_AX[],_MC1_AX[],_MC2_AX[])。HomingParameter原点复位参数_sHOMING_REF-设定原点复位参数。
- 2.请定义_sHOMING_REF型的用户定义变量。HomingMode原点复位动作
► _sHOMING_REF
结构要素变量 | 名称 | 数据类型 | 有效范围 | 功能 |
---|---|---|---|---|
HomingMode | 原点复位动作 | eMC HOMING_ MODE | 0: _mcHomeSwTurn HomeSwOff 1: _mcHomeSwTurn HomeSwOn 4:_mcHomeSwOff 5:_mcHomeSwOn 8:_mcLimitInputOff 9:_mcHomeSwTurn HomeMask 11:_mcLimitInputOnly 12:_mcHomeSwTurn HoldingTime 13:_mcNoHomeSw HoldingHomeInput 14:_mcHomePreset | 指定要改写的原点复位动作。 0:指定为附近避让、近原点输入OFF 1:指定为附近避让、近原点输入ON 4:指定为近原点输入OFF 5:指定为近原点输入ON 8:指定为极限输入OFF 9:指定为附近避让、原点输入屏蔽距离 11:仅极限输入 12:指定为附近避让、接触时间 13:指定为无近原点输入、接触原点输入 14:原点预设 |
HomeInput | 原点输入信号 | eMC HOME_ INPUT | 0:_mcZPhase 1:_mcExternalSignal | 选择原点输入信号。 0:使用Z相输入 1:使用外部原点输入*1 |
StartDir | 原点复位开始 方向 | eMC DIRECTION | 0:_mcPositiveDirection 2:_mcNegativeDirection | 设定启动原点复位时的开始方向。 0:正方向 2:负方向 |
HomeDir | 原点检测方向 | eMC DIRECTION | 0:_mcPositiveDirection 2:_mcNegativeDirection | 设定原点复位的原点输入检测方向。 0:正方向 2:负方向 |
PosiLmtMode | 正方向极限输 入时动作 | eMC LIMIT_ REVERSE_ MODE | 0:_mcErrorStop 1:_mcRevImmediateStop 2:_mcRevDeceleration Stop | 设定原点复位中正方向极限输入"ON"时的 停止方法。 0:不反转/轴异常而停止(遵照极限输入停止 方法) 1:反转/立即停止 2:反转/减速停止 |
NegaLmtMode | 负方向极限输 入时动作 | eMC LIMIT_ REVERSE_ MODE | 0:_mcErrorStop 1:_mcRevImmediateStop 2:_mcRevDeceleration Stop | 设定原点复位中负方向极限输入"ON"时的 停止方法。 0:不反转/轴异常而停止(遵照极限输入停止 方法) 1:反转/立即停止 2:反转/减速停止 |
Vel | 原点复位速度 | LREAL | 正数 | 设定原点复位中的速度。 请设定为最高速度以下,并且满足原点复位 接近速度≤原点复位速度。 单位为[指令单位/s]。*2 |
ApproachVel | 原点复位接近 速度 | LREAL | 正数 | 设定近原点输入ON后的速度。 请设定为最高速度以下,并且满足原点复位 接近速度≤原点复位速度。 单位为[指令单位/s]。*2 |
Acc | 原点复位 加速度 | LREAL | 正数或"0" | 指定原点复位时的加速度。 设定为"0"时不加速。 单位为[指令单位/s2]。*2 |
Dec | 原点复位 减速度 | LREAL | 正数或"0" | 指定原点复位时的减速度。 设定为"0"时不减速。 单位为[指令单位/s2]。*2 |
Jerk | 原点复位跃度 | LREAL | 正数或"0" | 指定原点复位时的跃度。 设定为"0"时无跃度。 请在脉冲单位40位以内设定。 单位为[指令单位/s3]。*2 |
Mask | 原点输入屏蔽 距离 | LREAL | 正数或"0" | 对原点复位动作模式指定为附近避让、原点 输入屏蔽距离时原点输入的屏蔽距离进行 设定。 单位为[指令单位]。*2 |
Offset | 原点位置偏置 | LREAL | 负数、正数、"0" | 原点复位完成时,按照设定值预设当前 位置。 在旋转模式下设定时,请确保满足环计数器 下限值≤原点位置偏置<环计数器上限值。 并且,请在脉冲单位40位以内设定。 单位为[指令单位]。*2 |
PushTime | 原点复位接触 时间 | UINT | 0~10,000 | 以毫秒为单位,对原点复位动作模式指定为 附近避让、接触时间时的接触时间进行 设定。 单位为[ms]。 |
Compensation | 原点复位 补偿值 | LREAL | 负数、正数、"0" | 设定原点复位的原点确定后的原点复位补偿 量。 在旋转模式下设定时,请确保满足|原点复 位补偿值|<|环计数器上限值-环计数器 下限值|。并且,请在脉冲单位40位以内 设定。 单位为[指令单位]。*2 |
Compensation Vel | 原点复位补偿 速度 | LREAL | 正数 | 设定原点复位补偿时的速度。 请确保在最高速度以下。 单位为[指令单位/s]。*2 |
- 1.使用欧姆龙制伺服驱动器1S系列及G5系列时可指定。将分配给伺服驱动器的锁定功能1的输入用作外部原点输入。伺服驱动器1S系列及G5系列的初始状态下,将外部锁定输入1分配给锁定功能1。详情请参阅"AC伺服电机/驱动器1S系列EtherCAT通信内置型用户手册(SBCE-377)"、"AC伺服电机/驱动器G5系列EtherCAT通信内置型用户手册(SBCE-365)"及"AC伺服电机/驱动器G5系列EtherCAT通信内置直线电机型用户手册(SBCE-366)"。
- 2.关于指令单位,请参阅"NJ/NX系列CPU单元用户手册运动控制篇(SBCE-363)"或"NY系列工业用平板电脑/工业用台式电脑用户手册运动控制篇(SBCE-379)"的"单位转换设定"。
功能说明
- 对于Axis(轴)指定的轴,在Execute(启动)的上升沿开始原点复位动作。
- 参数指定原点复位指令中使用的各种参数由输入输出变量HomingParameter来设定。
- 执行本指令不会变更轴参数。
- 本指令与MC_Home(原点复位)指令的不同之处仅在于各种参数的设定方法。
- 利用本指令,可由输入输出变量HomingParameter来设定各种参数。
- 利用MC_Home(原点复位)指令,可通过Sysmac Studio的轴参数[原点复位动作]来设定各种参数。
- 关于各种参数的设定方法以外的指令规格,请参阅"MC_Home(P.3-15)"。
- 使用注意事项
- 本指令指定的原点复位参数仅在执行本指令时有效。
- 依次执行本指令、MC_Home(原点复位)指令后,根据轴参数设定的原点复位参数进行动作。
▶原点复位动作与原点复位参数的关系
- 原点复位参数中,根据原点复位动作的设定,存在不使用的参数。
- 不使用的参数并非范围检查和匹配检查的对象。
- 执行本指令时,执行范围检查和匹配检查。
- 对于原点复位动作的设定,是否使用各原点复位参数,如下表所示。
原点复位参数 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
原点复位动作 | 原点输入信号 | 原点复位开始方向 | 原点检测方向 | 正方向极限输入时动作 | 负方向极限输入时动作 | 原点复位速度 | 原点复位接近速度 | 原点复位加速度 | 原点复位减速度 | 原点复位跃度 | 原点输入屏蔽距离 | 原点位置偏置 | 原点复位接触时间 | 原点复位补偿值 | 原点复位补偿速度 |
指定为附近避让、近原点输入OFF | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | × | ○ | × | ○ | ○ |
指定为附近避让、近原点输入ON | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | × | ○ | × | ○ | ○ |
指定为近原点输入OFF | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | × | ○ | × | ○ | ○ |
指定为近原点输入ON | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | × | ○ | × | ○ | ○ |
指定为极限输入OFF | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | × | ○ | × | ○ | ○ |
指定为附近避让、原点输入屏蔽距离 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | × | ○ | ○ |
仅极限输入 | × | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | × | ○ | × | ○ | ○ |
指定为附近避让、接触时间 | × | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | × | ○ | ○ | ○ | ○ |
指定为无近原点输入、接触原点输入 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | × | ○ | × | ○ | ○ |
原点预设 | × | × | × | × | × | × | × | × | × | × | × | ○ | × | × | × |
- (○:使用参数、×:不使用参数)
- 参考
使用NX系列位置接口单元时,无法选择使用接触的原点复位动作模式。
详情请参阅"NX系列 位置接口单元 用户手册(SBCE-374)"。
▶重启运动指令
- 无法重启本指令。
- 重启后,将发生"无法重启运动指令(错误代码:543B Hex)"错误
▶多重启动运动指令
- 多重启动运动指令的详情,请参阅"NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)"或"NY系列 工业用平板电脑/工业用台式电脑 用户手册 运动控制篇(SBCE-379)"
▶错误代码
- 关于指令发生的异常,请参阅"A-1 错误代码一览(P.A-2)"。
MC_Move
- 进行绝对值定位或相对值定位。
指令 | 名称 | FB/ FUN | 图形表现 | ST表现 |
---|---|---|---|---|
MC_Move | 定位 | FB | MC_Move_instance ( Axis :=《参数》 , Execute :=《参数》 , Position :=《参数》 , Velocity :=《参数》 , Acceleration :=《参数》 , Deceleration :=《参数》 , Jerk :=《参数》 , Direction :=《参数》 , BufferMode :=《参数》 , MoveMode :=《参数》 , Done =>《参数》 , Busy =>《参数》 , Active =>《参数》 , CommandAborted =>《参数》 , Error =>《参数》 , ErrorID =>《参数》 ); |
变量
▶输入变量
输入变量 | 名称 | 数据类型 | 有效范围 | 初始值 | 内容 |
---|---|---|---|---|---|
Execute | 启动 | BOOL | TRUE, FALSE | FALSE | 在上升沿开始指令 |
Position | 目标位置 | LREAL | 负数、正数、"0" | 0 | 对移动方法选择指定绝对定位时, 指定绝对坐标的目标位置。 对移动方法选择指定相对定位时, 指定相对位置。 单位为[指令单位]。 *1 |
Velocity | 目标速度 | LREAL | 正数 | 0 | 指定目标速度。*2 单位为[指令单位/s] 。*1 |
Acceleration | 加速度 | LREAL | 正数或"0" | 0 | 指定加速度。 单位为[指令单位/s2]。*1 |
Deceleration | 减速度 | LREAL | 正数或"0" | 0 | 指定减速度。 单位为[指令单位/s2]。*1 |
Jerk | 跃度 | LREAL | 正数或"0" | 0 | 指定跃度。 单位为[指令单位/s3]。*1 |
Direction | 方向选择 | _eMC_DIRECTION | 0: _mcPositiveDirection 1: _mcShortestWay 2: _mcNegativeDirection 3: _mcCurrentDirection 4: _mcNoDirection | 0 *3 | MoveMode为[0:绝对值定位] *4, 计数模式为[旋转模式]时,指定旋 转方向。 0:指定为正方向 1:指定为附近 2:指定为负方向 3:指定为当前方向 4:无方向指定 |
BufferMode | 缓存模式选择 | eMC_BUFFER MODE | 0: _mcAborting 1: _mcBuffered 2: _mcBlendingLow 3: _mcBlendingPrevious 4: _mcBlendingNext 5: _mcBlendingHigh | 0 *3 | 指定多重启动运动指令时的动作。 0:中断 1:等待 2:以低速合并 3:以前一个速度合并 4:以后一个速度合并 5:以高速合并 |
MoveMode | 移动方法选择 | eMC_MOVE MODE | 0: _mcAbsolute 1: _mcRelative | 0 *3 | 选择移动方法。 0:绝对值定位 1:相对值定位 |
- 1.关于指令单位,请参阅"NJ/NX系列CPU单元用户手册运动控制篇(SBCE-363)"或"NY系列工业用平板电脑/工业用台式电脑用户手册运动控制篇(SBCE-379)"的"单位转换设定"。
- 2.请务必设定目标速度。不作设定就执行动作,将超出目标速度设定范围(错误代码:5422Hex)。
- 3.有效范围为枚举体的变量,其实际初始值不是数值,而是枚举元素。
- 4.MoveMode为[1:相对值定位]时,以Position的符号确定移动方向。
▶输出变量
输出变量 | 名称 | 数据类型 | 有效范围 | 内容 |
---|---|---|---|---|
Done | 完成 | BOOL | TRUE, FALSE | 指令执行完毕时变为TRUE。 |
Busy | 执行中 | BOOL | TRUE, FALSE | 接收指令后变为TRUE。 |
Active | 控制中 | BOOL | TRUE, FALSE | 控制中变为TRUE。 |
CommandAborted | 执行中断 | BOOL | TRUE, FALSE | 指令中止时,变为TRUE。 |
Error | 错误 | BOOL | TRUE, FALSE | 发生异常时变为TRUE。 |
ErrorID | 错误代码 | WORD | *1 | 发生异常时,输出错误代码。16#0000为正常。 |
-
- 请参阅 "A-1 错误代码一览(P.A-2)"
► 输出变量的反映时间
变量 | 变为TRUE的时间 | 变为FALSE的时间 |
---|---|---|
Done | 定位完成后 | • Execute为TRUE时,与Execute的FALSE同时 • Execute为FALSE时,1个周期后 |
Busy | Execute的上升沿 | • Done变为TRUE时 • Error变为TRUE时 • CommandAborted变为TRUE时 |
Active | 开始指令后 | • Done变为TRUE时 • Error变为TRUE时 • CommandAborted变为TRUE时 |
CommandAborted | • 利用其它指令多重启动运动指令(中断),中止本 指令时 • 因发生异常,中止本指令时 • 发生异常过程中,启动本指令时 • 执行MC_Stop指令中,启动本指令时 | • Execute为TRUE时,与Execute的FALSE同时 • Execute为FALSE时,1个周期后 |
Error | 本指令的启动条件或输入参数中含有异常因素时 | 异常已解除时 |
▶输入输出变量
输入输出变量 | 名称 | 数据类型 | 有效范围 | 内容 |
---|---|---|---|---|
Axis | 轴 | _sAXIS_REF | - | 指定轴。 *1 |
- 1.请使用在SysmacStudio的轴基本设定画面中创建的用户定义变量的轴变量名称(默认"MC_Axis")或系统定义变量的轴变量名称(_MC_AX[],_MC1_AX[],_MC2_AX[])。
功能说明
- 可进行绝对值定位或相对值定位。
- 对MoveMode(移动方法选择)指定"绝对值定位"时,产生与MC_MoveAbsolute(绝对值定位)指令相同的动作。
- 同样,指定"相对值定位"时,产生与MC_MoveRelative(相对值定位)指令相同的动作。
- 作为相对值定位指令动作时,不使用Direction(方向选择)。
- 详情请参阅"MC_MoveAbsolute(P.3-47)"或"MC_MoveRelative(P.3-73)"。
▶指令详情
- 下面对本指令详细说明。
- 使用注意事项
- 进行绝对值定位时,请在轴参数的[环计数器上限设定值]、以及[环计数器下限设定值]的范围内指定目标位置。
- 不在[环计数器上限设定值]和[环计数器下限设定值]的范围内指定目标位置时,将发生"超出目标位置设定范围(错误代码:5478Hex)"错误。
► 到位检查
- 根据轴参数的[到位宽度]、[到位检查时间]的设定,进行本指令的到位检查。
▶重启运动指令
- 在定位动作中变更输入变量,再次将Execute(启动)设为TRUE,可变更本指令的动作。
- 重启运动指令可变更的输入变量有Position(目标位置)、Velocity(目标速度)、Acceleration(加速度)、Deceleration(减速度)。
- 重启运动指令的详情,请参阅"NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)"或"NY系列 工业用平板电脑/工业用台式电脑 用户手册 运动控制篇(SBCE-379)"。
▶多重启动运动指令
- 多重启动运动指令的详情,请参阅"NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)"或"NY系列 工业用平板电脑/工业用台式电脑 用户手册 运动控制篇(SBCE-379)"。
► 其它指令执行中的本指令启动
- 对当前正在执行的指令启动本指令,可切换或缓存到本指令。
- 各轴可缓存到1个。
- 多重启动时的本指令的动作由BufferMode(缓存模式选择)指定。
缓存模式选择 | 说明 | |
---|---|---|
中断 | 立即中止当前正在执行的指令,切换为本指令。 轴的动作方向因指令切换而反转时,根据轴参数中的"反转时动作"进行反转。 | |
等待 | 当前正在执行的指令正常完成后,已缓存的本指令自动启动。 | |
合并 以低速合并 以前一个速度合 并 以后一个速度合 并 以高速合并 | 以当前正在执行的指令到达目标位置时的速度(中继速度)为启动速度,连续使已缓存的本 指令动作。变更当前正在执行的指令的动作,确保以中继速度到达目标位置。中继速度的 指定方法分为如下4种。 | |
以低速合并 | 当前正在执行的目标速度与已缓存的目标速度中,以速度较低者为中继速度。 | |
以前一个速度合 并 | 以当前正在执行的目标速度为中继速度。 | |
以后一个速度合 并 | 以已缓存的本指令的目标速度为中继速度。 | |
以高速合并 | 当前正在执行的目标速度与已缓存的目标速度中,以速度较高者为中继速度。 |
- 关于BufferMode(缓存模式选择),请参阅"NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)"或"NY系列 工业用平板电脑/工业用台式电脑 用户手册 运动控制篇(SBCE-379)"。
► 本指令执行中的其它指令启动
- 对本指令进行多重启动运动指令时,可选择中断、等待、合并。
▶异常
► 发生异常时的时序图
- 在执行本指令中发生异常时,Error(错误)变为TRUE,轴停止动作。
- 可查看ErrorID(错误代码)的输出值,了解发生异常的原因。
► 错误代码
- 关于指令发生的异常,请参阅"A-1 错误代码一览(P.A-2)"。