当前位置: 首页 > article >正文

3. 轴指令(omron 机器自动化控制器)——>MC_GearInPos

机器自动化控制器——第三章 轴指令 17

    • MC_GearInPos
      • 变量
        • ▶输入变量
        • ▶输出变量
        • ▶输入输出变量
      • 功能说明
        • ▶时序图
        • ▶重启运动指令
        • ▶多重启动运动指令
        • ▶异常
      • 示例程序
        • ▶动作示例
        • ▶梯形图
        • ▶结构文本(ST)

MC_GearInPos

  • 设定主轴和从轴间的齿轮比,进行电子齿轮动作。

  • 指定开始同步的主轴及从轴的位置。

指令名称FB/
FUN
图形表现ST表现
MC_GearInPOS位置指定
齿轮动作
FB描述文本MC_GearInPos_instance (
Master :=《参数》 ,
Slave :=《参数》 ,
Execute :=《参数》 ,
RatioNumerator :=《参数》 ,
RatioDenominator :=《参数》 ,
ReferenceType :=《参数》 ,
MasterSyncPosition :=《参数》 ,
SlaveSyncPosition :=《参数》 ,
Velocity :=《参数》 ,
Acceleration :=《参数》 ,
Deceleration :=《参数》 ,
Jerk :=《参数》 ,
BufferMode :=《参数》 ,
StartSync =>《参数》 ,
InSync =>《参数》 ,
Busy =>《参数》 ,
Active =>《参数》 ,
CommandAborted =>《参数》 ,
Error =>《参数》 ,
ErrorID =>《参数》
);

变量

▶输入变量
输入变量名称数据类型有效范围初始值内容
Execute启动BOOLTRUE, FALSEFALSE在上升沿开始指令。
Ratio
Numerator
齿轮比分子DINT*1正数或负数 *110000指定主轴和从轴间的电子齿轮的
分子。
Ratio
Denominator
齿轮比分母UDINT*2正数10000指定主轴和从轴间的电子齿轮的
分母。
Reference
Type*3
位置类型选择_eMC_
REFERENCE_
TYPE
0: _mcCommand
1: _mcFeedback
2: _mcLatestCommand
0 *4指定位置类型。
0:指令位置(最近任务周期*5下的计
算值)
1:反馈位置(同一任务周期 *5下的
取值)
2:指令位置(同一任务周期*5下的计
算值)
MasterSync
Position
主轴同步位置LREAL负数、正数、“0”0指定绝对坐标的主轴同步位置。
单位为[指令单位]。 *6
SlaveSync
Position
从轴同步位置LREAL负数、正数、“0”0指定绝对坐标的从轴同步位置。
单位为[指令单位]。*3
Velocity目标速度LREAL正数0指定目标速度。请务必设定目标速
度。不作设定就执行动作,将发生
异常。
单位为[指令单位/s] 。*3
Acceleration加速度LREAL正数或“0”0指定加速度。
单位为[指令单位/s2]。*3
Deceleration减速度LREAL正数或“0”0指定减速度。
单位为[指令单位/s2]。*3
Jerk
(Reserved)
跃度LREAL00(Reserved)
BufferMode
(Reserved)
缓存
模式选择
_eMC_
BUFFER_
MODE
0: _mcAborting0 *2(Reserved)
  • 1.Ver.1.02以上的CPU单元和Ver.1.03以上的SysmacStudio组合时可使用。上述以下版本进行组合时,数据类型为“UINT”,有效范围为“正数”。
  • 2.Ver.1.02以上的CPU单元和Ver.1.03以上的SysmacStudio组合时可使用。上述以下版本进行组合时,数据类型为“UINT”。
  • 3.使用_mcLatestCommand时,必须在满足以下关系的条件下使用主轴、从轴。Master(主轴)设定的运动控制系统变量的轴号<Slave(从轴)设定的运动控制系统变量的轴号
  • 4.有效范围为枚举体的变量,其实际初始值不是数值,而是枚举元素。
  • 5.任务周期分为原始恒定周期任务的周期和固定周期任务(执行优先度5)的周期。
  • 6.关于指令单位,请参阅“NJ/NX系列CPU单元用户手册运动控制篇(SBCE-363)”或“NY系列工业用平板电脑/工业用台式电脑用户手册运动控制篇(SBCE-379)”的“单位转换设定”。
▶输出变量
输入变量名称数据类型有效范围初始值内容
Velocity目标速度LREAL正数0指定目标速度。请务必设定目标速
度。不作设定就执行动作,将发生
异常。
单位为[指令单位/s] 。*3
Acceleration加速度LREAL正数或“0”0指定加速度。
单位为[指令单位/s2]。*3
Deceleration减速度LREAL正数或“0”0指定减速度。
单位为[指令单位/s2]。*3
Jerk
(Reserved)
跃度LREAL00(Reserved)
BufferMode
(Reserved)
缓存
模式选择
_eMC_
BUFFER_
MODE
0: _mcAborting0 *2(Reserved)
  • 请参阅“A-1错误代码一览(P.A-2)”。

    ► 输出变量的反映时间

变量变为TRUE的时间变为FALSE的时间
StartSync轴开始移动后• Error变为TRUE时
• CommandAborted变为TRUE时
InSync从轴位置达到SlaveSyncPosition时• Error变为TRUE时
• CommandAborted变为TRUE时
BusyExecute的上升沿• Error变为TRUE时
• CommandAborted变为TRUE时
Active接收指令时• Error变为TRUE时
• CommandAborted变为TRUE时
CommandAborted• 利用其它指令多重启动运动指令(中断),中止本
指令时
• 因发生异常,中止本指令时
• 发生异常过程中,启动本指令时
• 执行MC_Stop指令中,启动本指令时
• 启动MC_GearOut指令时
• Execute为TRUE时,与Execute的FALSE同时
• Execute为FALSE时,1个周期后
Error本指令的启动条件或输入参数中含有异常因素时异常已解除时
▶输入输出变量
输入输出变量名称数据类型有效范围内容
Master主轴_sAXIS_REF指定主轴。 *1
Slave从轴_sAXIS_REF指定从轴。*1
  • 使用注意事项
  • 主轴和从轴指定同一轴时,会发生轻度故障等级的“主轴从轴相同(错误代码:5436 Hex)”的异常。

功能说明

  • 通过Slave(从轴)指定动作对象轴,指定RatioNumerator(齿轮比分子)、RatioDenominator(齿轮比分母) 、ReferenceType(位置类型选择) 、Acceleration(加速度) 、Deceleration(减速度),进行齿轮动作。
  • 可对Master(主轴)指定指令位置和反馈位置、最新的指令位置。
    在这里插入图片描述
  • 开始动作后,Slave(从轴)通过追赶动作,与Master(主轴)同步进行加减速动作。
  • 从轴到达从轴同步位置之前称为Catching phase(追赶中)、到达后称为InGear phase(齿轮同步中)。
  • 任何区间均与主轴的位置同步。
  • 输入变量的Velocity(目标速度)即为Catching phase(追赶中)时的目标速度。
  • 从轴沿开始动作时主轴的相同方向进行动作。
  • 开始动作时,如果主轴速度为“0”,会发生异常。
  • 此外,主轴正方向动作,且SlaveSyncPosition(从轴同步位置)比启动时的从轴位置小时,从轴进行反转动作。
  • 同样,主轴负方向动作,且SlaveSyncPosition(从轴同步位置)比启动时的从轴位置大时,从轴也进行反转动作。
  • 主轴速度不同周期变化较大时,从轴的速度也不固定。
    在这里插入图片描述
  • 齿轮比为正数时,Slave(从轴)沿Master(主轴)的同方向移动。
    在这里插入图片描述
  • 使用注意事项
  • Ver.1.09以下的CPU单元使用本指令时,请勿对Master(主轴)执行MC_SetPosition(当前位置变更)指令。
  • 对Master(主轴)执行MC_SetPosition(当前位置变更)指令时,可能出现Slave(从轴)急速跟踪的情况,非常危险。
  • 要对Master(主轴)使用MC_SetPosition(当前位置变更)指令时,请解除Master(主轴)和Slave(从轴)的关系后执行该指令。
  • MC功能模块通过以下3种速度,对利用Acceleration(加速度)和Deceleration(减速度)直线加减速的速度曲线进行计算。
  • 以启动指令时的Slave(从轴)的速度为初速度 以启动指令时的Master(主轴)的速度乘以齿轮比得到的速度为终速度 以Velocity(目标速度)为目标速度追赶中的移动量较短时,可能达不到目标速度。
    在这里插入图片描述
  • 在MasterSyncPosition(主轴同步位置)、SlaveSyncPosition(从轴同步位置),为使Slave(从轴)追上Master(主轴),Velocity(目标速度)必须满足下列条件。
    在这里插入图片描述
  • 作为主轴速度使用的信息,因位置类型ReferenceType的设定而异。
  • 在MasterSyncPosition(主轴同步位置)、SlaveSyncPosition(从轴同步位置),Slave(从轴)追不上Master(主轴)时,会发生“位置指定齿轮动作目标速度不足(错误代码:5447 Hex)”的错误。
  • 计数模式为旋转模式时,根据CPU单元的版本,存在如下差异。
  • Ver.1.10以上版本的CPU单元时主轴计数模式为旋转模式时,可指定超出环计数器上下限设定值范围的MasterSyncPosition(主轴同步位置)。
  • 此时,主轴当前位置和主轴同步位置的关系与通过MC_MoveAbsolute(绝对值定位)指令在Direction(方向选择)中指定“无方向指定”时相同。
  • MC_MoveAbsolute(绝对值定位)指令请参阅“MC_MoveAbsolute(P.3-47)”。
  • 同样,从轴计数模式为旋转模式时,可指定超出环计数器上下限设定值范围的SlaveSyncPosition(从轴同步位置)。
  • Ver.1.09以下版本的CPU单元时计数模式为旋转模式时,请确保在环计数器1周以内开始同步动作。
  • 使用注意事项
  • 有关对于主轴的注意事项,请参阅“同步控制的主轴及辅轴的注意事项(P.1-6)”。

    ► ReferenceType(位置类型选择)

  • 可从下列选项中选择位置的类型。
  • _mcCommand:指令位置(最近任务周期下的计算值)对当前周期,使用之前任务周期时计算的主轴指令位置。
  • 在计算从轴指令位置之前的固定周期任务中,使用计算的主轴指令位置。
  • _mcFeedback:同一任务周期下的取值使用同一任务周期时获取的主轴反馈位置。
  • _mcLatestCommand:指令位置(同一任务周期下的计算值)使用同一任务周期时计算的主轴指令位置。
  • 也可通过_mcCommand使用最新信息。
  • 但是,设定时必须保证主轴编号比从轴编号小。
  • 否则,本指令的Error(错误)将变为TRUE。
  • ErrorID(错误代码)输出“主轴/从轴 轴号非升序(错误代码:5438 Hex)”。
  • 使用注意事项
  • 这里的任务周期分为原始恒定周期任务的周期和固定周期任务(执行优先度5)的周期。
  • 同样,固定周期任务表示原始恒定周期任务或固定周期任务(执行优先度5)。
  • 参考
  • 相比选择之前任务周期时的计算值,选择同一任务周期时计算的指令位置时,同步精度更高。
  • 但是必须使用主轴、从轴,确保“Master(主轴)设定的运动控制系统变量的轴号 < Slave(从轴)设定的运动控制系统变量的轴号”。

    ► 轴种类与位置类型的关系

  • 可监控的轴种类和要监控的位置类型的关系如下所示。
轴种类ReferenceType
_mcCommand、或
_mcLatestCommand
_mcFeedback
伺服轴
编码器轴× *1
虚拟伺服轴
虚拟编码器轴× *1
  • 1.启动指令时,发生 “超过位置类型选择范围(错误代码:5430 Hex)”错误。
▶时序图
  • 在Execute(启动)的上升沿,开始电子齿轮动作。
  • 在启动Execute(启动)的同时,Busy(执行中)变为TRUE。
  • 开始动作后,Active(控制中)和StartSync(跟踪中)变为TRUE,Slave(从轴)开始齿轮动作。
  • 到达MasterSyncPosition(主轴同步位置)、SlaveSyncPosition(从轴同步位置)时,InSync(同步中)变为TRUE。
  • 利用其它指令中断本指令时,CommandAborted(执行中断)变为TRUE,Busy(执行中)、Active(控制中)、StartSync(跟踪中)、InSync(同步中)变为FALSE。
    在这里插入图片描述
  • 利用其它指令中断本指令的情形如下所示。
    在这里插入图片描述
  • 根据SlaveSyncPosition的设定不同,可能达不到目标速度。
  • 该时的示例如下所示。
    在这里插入图片描述
  • 此外,在达到InSync phase之前,也跟踪主轴位置。
  • 该时的示例如下所示。
    在这里插入图片描述
  • 可在输入变量中指定Acceleration(加速度)、Deceleration(减速度)。
  • 电子齿轮的动作示例如下所示。
    在这里插入图片描述
▶重启运动指令
  • 无法重启本指令。
  • 重启后,将发生“无法重启运动指令(错误代码:543B Hex)”错误。
▶多重启动运动指令
  • 包含异常停止中、减速停止中的主轴轴指令状态下,不影响本指令的执行。
  • 多重启动运动指令的详情,请参阅“NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)”或“NY系列 工业用平板电脑/工业用台式电脑 用户手册 运动控制篇(SBCE-379)”。

    ► 本指令执行中的其它指令启动

  • 多重启动时的本指令的动作由BufferMode(缓存模式选择)指定。
缓存模式选择说明
中断立即中止当前正在执行的指令,切换为本指令。 轴的动作方向因指令切换而反转时,根据轴参数中的 “反转时动作”进行反转。
  • 关于BufferMode(缓存模式选择),请参阅“NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)”或“NY系列 工业用平板电脑/工业用台式电脑 用户手册 运动控制篇(SBCE-379)”。
  • 使用注意事项
  • 以BufferMode(缓存模式选择)的“0:中断”以外的方式启动其它指令时,其它指令会发生异常。
▶异常
  • 启动本指令发生异常时,Error(错误)变为TRUE。
  • 可查看ErrorID(错误代码)的输出值,了解发生异常的原因。

    ► 发生异常时的时序图
在这里插入图片描述

  • 同步控制中,不受主轴的异常状态的影响。
  • 主轴的异常状态解除,正常动作时,从轴继续进行电子齿轮动作。
  • 启动本指令时以及执行本指令中,从轴发生异常时,不会对主轴产生影响。

    ► 错误代码

  • 关于指令发生的异常,请参阅“A-1 错误代码一览(P.A-2)”。

示例程序

  • 下面,对以主轴同步位置为Pos1、从轴同步位置为Pos2进行动作的示例程序进行说明。

    ► 轴参数的设定

      轴种类

轴种类
轴1伺服轴(主轴)
轴2伺服轴(从轴)

      计数器模式

计数器模式
轴1旋转模式
轴2旋转模式

      环计数器

上限值下限值
轴13600
轴23600

      坐标单位选择

坐标单位
轴1degree
轴2degree
▶动作示例

在这里插入图片描述

    ► 动作模式

在这里插入图片描述

1 主轴的开始

  • 主轴(轴1)是实际上的伺服轴,控制速度进行动作。

2 主轴达到目标速度

  • 主轴的指令速度达到目标速度时,主轴的InVelocity(达到目标速度)变为TRUE。

3 从轴的启动

  • 主轴的InVelocity(达到目标速度)变为TRUE后,相对主轴的反馈位置,从轴(轴2)以齿轮比1:2进行齿轮动作。
  • 同步位置主轴为Pos1、从轴为Pos2。
▶梯形图

    ► 主要变量

名称数据类型初始值注释
MC_Axis000_sAXIS_REF是主轴轴1的轴变量。
MC_Axis000.Details.HomedBOOLFALSE轴1为原点确定状态时变为TRUE。
MC_Axis000.MFaultLvl.ActiveBOOLFALSE轴1发生轻度故障等级的异常时变为TRUE。
MC_Axis001_sAXIS_REF是从轴轴2的轴变量。
MC_Axis001.Details.HomedBOOLFALSE轴2为原点确定状态时变为TRUE。
MC_Axis001.MFaultLvl.ActiveBOOLFALSE轴2发生轻度故障等级的异常时变为TRUE。
Pwr1_StatusBOOLFALSE分配给MC_Power的实例PWR1的输出变量Status的
变量。进入伺服ON状态时,该变量变为TRUE。
Pwr2_StatusBOOLFALSE分配给MC_Power的实例PWR2的输出变量Status的
变量。进入伺服ON状态时,该变量变为TRUE。
Hm1_DBOOLFALSE分配给MC_Home的实例HM1的输出Done的变量。
Hm2_DBOOLFALSE分配给MC_Home的实例HM2的输出Done的变量。
Vel_InVelBOOLFALSE分配给MC_MoveVelocity的实例VEL的输出
InVelocity的变量。达到目标速度时,该变量变为
TRUE。
Pos1LREAL是表示主轴同步位置的变量。
Pos2LREAL是表示从轴同步位置的变量。
StartPgBOOLFALSE如果该变量为TRUE,EtherCAT的过程数据通信已
建立,则进入伺服ON状态。

    ► 时序图

在这里插入图片描述

    ► 示例程序
在这里插入图片描述
在这里插入图片描述

▶结构文本(ST)

    ► 主要变量

名称数据类型初始值注释
MC_Axis000_sAXIS_REF是主轴轴1的轴变量。
MC_Axis000.Details.HomedBOOLFALSE轴1为原点确定状态时变为TRUE。
MC_Axis000.MFaultLvl.ActiveBOOLFALSE轴1发生轻度故障等级的异常时变为TRUE。
MC_Axis001_sAXIS_REF是从轴轴2的轴变量。
MC_Axis001.Details.HomedBOOLFALSE轴2为原点确定状态时变为TRUE。
MC_Axis001.MFaultLvl.ActiveBOOLFALSE轴2发生轻度故障等级的异常时变为TRUE。
Pwr1_StatusBOOLFALSE分配给MC_Power的实例PWR1的输出变量Status的
变量。进入伺服ON状态时,该变量变为TRUE。
Pwr2_StatusBOOLFALSE分配给MC_Power的实例PWR2的输出变量Status的
变量。进入伺服ON状态时,该变量变为TRUE。
Hm1_DBOOLFALSE分配给MC_Home的实例HM1的输出Done的变量。
Hm2_DBOOLFALSE分配给MC_Home的实例HM2的输出Done的变量。
Vel_InVelBOOLFALSE分配给MC_MoveVelocity的实例VEL的输出
InVelocity的变量。达到目标速度时,该变量变为
TRUE。
Pos1LREAL是表示主轴同步位置的变量。
Pos2LREAL是表示从轴同步位置的变量。
StartPgBOOLFALSE如果该变量为TRUE,EtherCAT的过程数据通信已
建立,则进入伺服ON状态。
Gearinpos_ExBOOLFALSE该变量由FALSE→TRUE时,启动MC_GearInPos的
实例GEARIN1。
Vel_ExBOOLFALSE该变量由FALSE→TRUE时,启动MC_MoveVelocity
的实例VEL。
InitFlagBOOLFALSE表示输入参数设定完成。
FALSE时,设定输入参数。输入参数设定完成后,
变为TRUE。

    ► 时序图
在这里插入图片描述


http://www.kler.cn/a/610246.html

相关文章:

  • Open CASCADE学习|根据给定的点集拟合一条B样条曲线
  • MATLAB导入Excel数据
  • 【论文精读-图像恢复】 All-In-One Image Restoration for Unknown Corruption
  • Kotlin 协程官方文档知识汇总(二)
  • MySQL 和 Redis 数据一致性解决方案
  • 字节码生成技术
  • springboot启动事件CommandLineRunner使用
  • HarmonyOS Next~鸿蒙应用框架开发实战:Ability Kit与Accessibility Kit深度解析
  • BFS专项练习 —— 蓝桥杯刷题
  • SICAR 标准 KUKA 机器人标准功能块说明手册
  • Linux操作系统7- 线程同步与互斥7(RingQueue环形队列生产者消费者模型改进)
  • 瑞数信息《BOTS自动化威胁报告》正式发布
  • mybatis笔记(下)
  • LLVM学习-DragonEgg工具
  • 3D编辑器:开启虚拟世界的创意大门
  • 基于python+django的商城网站-电子商城管理系统源码+运行
  • 什么是数据密集型,什么是计算密集型,以及这两者有什么关联和区别
  • CPP从入门到入土之类和对象Ⅲ
  • 英伟达与通用汽车深化合作,澳特证券am broker助力科技投资
  • STM32 - 在机器人、自动化领域,LL库相比HAL优势明显