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

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

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

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

MC_GearIn

  • 设定主轴和从轴间的齿轮比,进行齿轮动作。
指令名称FB/
FUN
图形表现ST表现
MC_GearIn齿轮动作开始FB描述文本MC_GearIn_instance (
Master :=《参数》 ,
Slave :=《参数》 ,
Execute :=《参数》 ,
RatioNumerator :=《参数》 ,
RatioDenominator :=《参数》 ,
ReferenceType :=《参数》 ,
Acceleration :=《参数》 ,
Deceleration :=《参数》 ,
Jerk :=《参数》 ,
BufferMode :=《参数》 ,
InGear =>《参数》 ,
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下的计算值)
Acceleration加速度LREAL正数、或“0”0指定加速度。
单位为[指令单位/s2] *6
Deceleration减速度LREAL正数、或“0”0指定减速度。
单位为[指令单位/s2] *3
Jerk
(Reserved)
跃度LREAL00(Reserved)
BufferMode缓存
模式选择
_eMC_
BUFFER_
MODE
0: _mcAborting
1: _mcBuffered
0 *2指定多重启动运动指令时的动作。
0:中断
1:等待
  • 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)”的“单位转换设定”。

▶输出变量
输出变量名称数据类型有效范围内容
InGear齿轮比到达BOOLTRUE,
FALSE
从轴达到目标速度时变为TRUE。
Busy执行中BOOLTRUE,
FALSE
接收指令后变为TRUE。
Active控制中BOOLTRUE,
FALSE
控制中变为TRUE。
CommandAborted执行中断BOOLTRUE,
FALSE
指令中止时,变为TRUE。
Error错误BOOLTRUE,
FALSE
发生异常时变为TRUE。
ErrorID错误代码WORD*发生异常时,输出错误代码。16#0000为正常。
  • 请参阅“A-1错误代码一览(P.A-2)”。

    ► 输出变量的反映时间

变量变为TRUE的时间变为FALSE的时间
InGear以下关系成立时
• 加速中:从轴速度≥主轴速度×齿轮比
• 减速中:从轴速度≤主轴速度×齿轮比
• 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
  • 1.请使用在Sysmac Studio的轴基本设定画面中创建的用户定义变量的轴变量名称(默认 “MC_Axis***”)或系统定义变量的 轴变量名称(_MC_AX[], _MC1_AX[], _MC2_AX[*])。
  • 使用注意事项
  • 主轴和从轴指定同一轴时,会发生轻度故障等级的“主轴从轴相同(错误代码:5436 Hex)”的异常。

功能说明

  • 通过Slave(从轴) 指定动作对象轴,指定RatioNumerator(齿轮比分子)、RatioDenominator( 齿轮比分母) 、ReferenceType(位置类型选择) 、Acceleration(加速度) 、Deceleration(减速度),进行齿轮动作。
  • 可对Master(主轴)指定指令位置和反馈位置、最新的指令位置。
    在这里插入图片描述
  • 开始动作后,Slave(从轴)以Master(主轴)速度乘以齿轮比得到的速度为目标速度,进行加减速动作。
  • 达到目标速度之前称为Catching phase(追赶中)、达到后称为InGear phase(齿轮同步中)。
  • 齿轮比为正数时,Slave(从轴)沿Master(主轴)的同方向移动。
    在这里插入图片描述
  • 齿轮比为负数时,Slave(从轴)沿Master(主轴)的反方向移动。
    在这里插入图片描述
  • 在Execute(启动)的上升沿,开始电子齿轮动作。
  • 使用注意事项
  • Ver.1.09以下的CPU单元使用本指令时,请勿对Master(主轴)执行MC_SetPosition(当前位置变更)指令。
  • 对Master(主轴)执行MC_SetPosition(当前位置变更)指令时,可能出现Slave(从轴)急速跟踪的情况,非常危险。
  • 要对Master(主轴)使用MC_SetPosition(当前位置变更)指令时,请解除Master(主轴)和Slave(从轴)的关系后执行该指令。
  • 有关对于主轴的注意事项,请参阅“同步控制的主轴及辅轴的注意事项(P.1-6)”。

    ► ReferenceType(位置类型选择)

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

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

  • 可监控的轴种类和要监控的位置类型的关系如下所示。
轴种类ReferenceType
_mcCommand、或
_mcLatestCommand
_mcFeedback
伺服轴
编码器轴× *1
虚拟伺服轴
虚拟编码器轴× *1
  • 1.启动指令时,发生“超过位置类型选择范围(错误代码:5430Hex)”错误。
  • ○虚拟伺服轴○○虚拟编码器轴×○
▶时序图
  • 在启动Execute(启动)的同时,Busy(执行中)变为TRUE。
  • 在下一个周期Active(控制中)变为TRUE。
  • 达到目标速度时,InGear(达到齿轮比)变为TRUE。
  • 利用其它指令中断本指令时,CommandAborted(执行中断)变为TRUE,Busy(执行中)、Active(控制中)、InGear(达到齿轮比)变为FALSE。
  • 要中途结束电子齿轮动作,可使用MC_GearOut(齿轮动作解除)指令、或MC_Stop(强制停止)指令。
    在这里插入图片描述
  • 可在输入变量中指定Acceleration(加速度)、Deceleration(减速度)。
    在这里插入图片描述
  • 将Acceleration(加速度)或Deceleration(减速度)指定为“0”并启动时,不作加减速而达到目标速度。
    在这里插入图片描述
▶重启运动指令
  • 在定位动作中变更输入变量,再次将Execute(启动)设为TRUE,可变更本指令的动作。
  • 重启运动指令可变更的输入变量为,RatioNumerator(齿轮比分子)、RatioDenominator(齿轮比分母)、Acceleration(加速度)、Deceleration(减速度)。
  • 重启运动指令的详情,请参阅“NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)”或“NY系列 工业用平板电脑/工业用台式电脑 用户手册 运动控制篇(SBCE-379)”。
  • 作为参考,通过Catching phase(追赶中)重启,变更Acceleration(加速度)时的时序图如下所示。
    在这里插入图片描述
  • 通过InGear phase(齿轮同步中)重启,变更RatioNumerator(齿轮比分子)、RatioDenominator(齿轮比分母)时的时序图如下所示。
  • 动作与Acceleration(加速度)和Deceleration(减速度)均设为“0”时相同。
    在这里插入图片描述
▶多重启动运动指令
  • 多重启动运动指令的详情,请参阅“NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)”或“NY系列 工业用平板电脑/工业用台式电脑 用户手册 运动控制篇(SBCE-379)”。

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

  • 对当前正在执行的指令启动本指令,可切换或缓存到本指令。
  • 各轴可缓存到1个。
  • 多重启动指令时的本指令的动作由BufferMode(缓存模式选择)指定。
缓存模式选择说明
中断立即中止当前正在执行的指令,切换为本指令。
轴的动作方向因指令切换而反转时,根据轴参数中的“反转时动作”进行反转。
等待当前正在执行的指令正常完成后,已缓存的本指令自动启动。
  • 关于BufferMode(缓存模式选择),请参阅“NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)”或“NY系列 工业用平板电脑/工业用台式电脑 用户手册 运动控制篇(SBCE-379)”。

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

  • 可对从轴以中断方式执行指令的多重启动。
  • 此时,中止齿轮动作,开始多重启动的动作。
  • 无法以非中断方式多重启动指令。
▶异常
  • 在执行本指令中发生异常时,Error(错误)变为TRUE,轴停止动作。
  • 可查看ErrorID(错误代码)的输出值,了解发生异常的原因。
    在这里插入图片描述
  • 参考
  • 同步控制中,不受主轴的异常状态的影响。
  • 主轴的异常状态解除,正常动作时,从轴继续进行电子齿轮动作。
  • 启动本指令时以及执行本指令中,从轴发生异常时,不会对主轴产生影响。

    ► 错误代码

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

示例程序

  • 下面,对与齿轮比成正比动作的示例程序进行说明。
  • 参考
  • 作为保留(Reserved)处理的输入变量只能指定为初始值。
  • 本例中,不指定参数。
▶参数设定
  • 该示例程序中使用的最少的必要设定如下所示。

    ► 轴参数的设定

      轴种类

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

      计数器模式

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

      环计数器

上限值下限值
轴13600
轴23600
轴33600

      坐标单位选择

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

在这里插入图片描述

1 主轴的开始

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

2 从轴的启动

  • 主轴的反馈速度达到目标速度后,相对主轴的反馈位置,从轴(轴2)以齿轮比1:2进行齿轮动作,从轴(轴3)以齿轮比2:3进行齿轮动作。

3 从轴的停止

  • 主轴的反馈位置(MC_Axis000.Act.Pos)达到1000.0以上时,解除轴2的齿轮动作,以减速度DecRate使轴2减速停止。
  • 此时,轴3继续进行齿轮动作。
▶梯形图

    ► 主要变量

名称数据类型初始值注释
MC_Axis000_sAXIS_REF是主轴轴1的轴变量。
MC_Axis000.Act.PosLREAL表示轴1的反馈当前位置。
MC_Axis001_sAXIS_REF是从轴轴2的轴变量。
MC_Axis002_sAXIS_REF是从轴轴3的轴变量。
Pwr1_StatusBOOLFALSE分配给MC_Power的实例PWR1的输出变量Status的
变量。进入伺服ON状态时,该变量变为TRUE。
Pwr2_StatusBOOLFALSE分配给MC_Power的实例PWR2的输出变量Status的
变量。进入伺服ON状态时,该变量变为TRUE。
Pwr3_StatusBOOLFALSE分配给MC_Power的实例PWR3的输出变量Status的
变量。进入伺服ON状态时,该变量变为TRUE。
StartPgBOOLFALSE如果该变量为TRUE,EtherCAT的过程数据通信已
建立,则进入伺服ON状态。
Vel_InVelBOOLFALSE分配给MC_MoveVelocity的实例VEL的输出
InVelocity的变量。达到目标速度时,该变量变为
TRUE。
Gearin1_ActBOOLFALSE分配给MC_GearIn的实例GEARIN1的输出Active的
变量。GEARIN1变为控制中时,该变量变为
TRUE。
Gearout_ExBOOLFALSE该变量由FALSE→TRUE时,启动MC_GearOut的实
例GEAROUT。

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

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

    ► 内联ST的内容

IF (Gearin1_Act=TRUE) AND (MC_Axis000.Act.Pos>=LREAL#1000.0) THEN
	Gearout_Ex := TRUE;
END_IF
▶结构文本(ST)

    ► 主要变量

名称数据类型初始值注释
MC_Axis000_sAXIS_REF是主轴轴1的轴变量。
MC_Axis000.Act.PosLREAL表示轴1的反馈当前位置。
MC_Axis001_sAXIS_REF是从轴轴2的轴变量。
MC_Axis002_sAXIS_REF是从轴轴3的轴变量。
Pwr1_StatusBOOLFALSE分配给MC_Power的实例PWR1的输出变量Status的
变量。进入伺服ON状态时,该变量变为TRUE。
Pwr2_StatusBOOLFALSE分配给MC_Power的实例PWR2的输出变量Status的
变量。进入伺服ON状态时,该变量变为TRUE。
Pwr3_StatusBOOLFALSE分配给MC_Power的实例PWR3的输出变量Status的
变量。进入伺服ON状态时,该变量变为TRUE。
StartPgBOOLFALSE如果该变量为TRUE,EtherCAT的过程数据通信已
建立,则进入伺服ON状态。
Vel_InVelBOOLFALSE分配给MC_MoveVelocity的实例VEL的输出
InVelocity的变量。达到目标速度时,该变量变为
TRUE。
Gearin1_ActBOOLFALSE分配给MC_GearIn的实例GEARIN1的输出Active的
变量。GEARIN1变为控制中时,该变量变为
TRUE。
Gearout_ExBOOLFALSE该变量由FALSE→TRUE时,启动MC_GearOut的实
例GEAROUT。
Vel_ExBOOLFALSE该变量由FALSE→TRUE时,启动MC_MoveVelocity
的实例VEL。
Gearin1_ExBOOLFALSE该变量由FALSE→TRUE时,启动MC_GearIn的实
例GEARIN1。
Gearin2_ExBOOLFALSE该变量由FALSE→TRUE时,启动MC_GearIn的实
例GEARIN2。
InitFlagBOOLFALSE表示输入参数设定完成。
FALSE时,设定输入参数。输入参数设定完成后,
变为TRUE。

    ► 时序图

在这里插入图片描述


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

相关文章:

  • 开启TCP-SYNcookie保护缓解网络洪水攻击,增强服务器运行的稳定性。将 TMOUT=300 添加到 /etc/profile 文件提高安全
  • centos 7 LVM管理命令
  • 预编译能否 100%防 sql 注入?
  • 图书管理系统系统-Java、SpringBoot、Vue和MySQL开发的图书馆管理系统
  • 《Matplotlib三维可视化工业实践——从分子模拟到流体力学》
  • 高效团队开发的工具与方法 引言
  • AJAX(Asynchronous JavaScript and XML)详解与应用
  • 安装 pgsql 将gis数据入库
  • Unity脚本编程:C#脚本中的常用组件详解
  • AI搜索的终极预测:从技术颠覆到生态重构
  • 【多学科稳定EI会议大合集】计算机应用、通信信号、电气能源工程、社科经管教育、光学光电、遥感测绘、生物医学等多学科征稿!
  • Python + Chrome 爬虫:如何抓取 AJAX 动态加载数据?
  • AIDD-人工智能药物设计-深度学习驱动的酶动力学参数预测模型CataPro助力高效酶挖掘与改造
  • 使用Python爬虫按图搜索1688商品(拍立淘)
  • 架构思维:如何设计一个支持海量数据存储的高扩展性架构_数据分片、存储、复制与一致性的原理性问题
  • Unity3D 动态遮挡剔除(Occlusion Culling)
  • 3个版本的Unity项目的异同
  • DeepSeek助力文案,智能音箱如何改变你的生活?
  • 有额外限制的 bellman_ford 算法
  • 【django】1-1 django构建web程序的基础知识