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

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

    • MC_MoveRelative
      • 变量
        • ▶输入变量
        • ▶输出变量
        • ▶输入输出变量
      • 功能说明
        • ▶指令详情
        • ▶时序图
        • ▶重启运动指令
        • ▶多重启动运动指令
        • ▶异常

MC_MoveRelative

  • 指定自指令当前位置起的移动距离,进行定位。
指令名称FB/
FUN
图形表现ST表现
MC_MoveRelative相对值定位FB描述文本MC_MoveRelative_instance ( Axis := 《参数》 , Execute := 《参数》 , Distance := 《参数》 , Velocity := 《参数》 , Acceleration := 《参数》 , Deceleration := 《参数》 , Jerk := 《参数》 , BufferMode := 《参数》 , Done => 《参数》 , Busy => 《参数》 , Active => 《参数》 , CommandAborted => 《参数》 , Error => 《参数》 , ErrorID => 《参数》 );

变量

▶输入变量
输入变量名称数据类型有效范围初始值内容
Execute启动BOOLTRUE, FALSEFALSE在上升沿开始指令。
Distance移动距离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
BufferMode缓存
模式选择
_eMC_
BUFFER_
MODE
0: _mcAborting
1: _mcBuffered
2: _mcBlendingLow
3: _mcBlendingPrevious
4: _mcBlendingNext
5: _mcBlendingHigh
0 *3指定多重启动运动指令时的动作。
0:中断
1:等待
2:以低速合并
3:以前一个速度合并
4:以后一个速度合并
5:以高速合并
  • 1.关于指令单位,请参阅“NJ/NX系列CPU单元用户手册运动控制篇(SBCE-363)”或“NY系列工业用平板电脑/工业用台式电脑用户手册运动控制篇(SBCE-379)”的“单位转换设定”。
  • 2.请务必设定目标速度。不作设定就执行动作,将发生异常。
  • 3.有效范围为枚举体的变量,其实际初始值不是数值,而是枚举元素。
▶输出变量
输出变量名称数据类型有效范围内容
Done完成BOOLTRUE,
FALSE
指令执行完毕时变为TRUE。
Busy执行中BOOLTRUE,
FALSE
接收指令后变为TRUE。
Active控制中BOOLTRUE,
FALSE
控制中变为TRUE。
CommandAborted执行中断BOOLTRUE,
FALSE
指令中止时,变为TRUE。
Error错误BOOLTRUE,
FALSE
发生异常时变为TRUE。
ErrorID错误代码WORD*1发生异常时,输出错误代码。16#0000为正常。
  • 1.请参阅“A-1错误代码一览(P.A-2)”。

    ► 输出变量的反映时间

变量变为TRUE的时间变为FALSE的时间
Done定位完成后• Execute为TRUE时,与Execute的FALSE同时
• Execute为FALSE时,1个周期后
BusyExecute的上升沿• 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[])。

功能说明

  • 指定自指令当前位置起的移动距离,进行定位。
  • 在Execute(启动)的上升沿,开始相对定位的动作。
  • 可在输入变量中指定Velocity(目标速度)、Acceleration(加速度)、Deceleration(减速度)、Jerk(跃度)。
  • 相对定位的动作示例如下所示。
    在这里插入图片描述
  • 将加速度、或减速度指定为“0”并启动后,不作加减速而达到目标速度。
  • 减速度为“0”时的动作示例如下所示。
    在这里插入图片描述
  • 需要平稳加减速时指定Jerk(跃度)。
  • 指定Jerk(跃度)后的动作示例如下所示。
    在这里插入图片描述
  • 关于Jerk(跃度)的详情,请参阅“NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)”或“NY系列 工业用平板电脑/工业用台式电脑 用户手册 运动控制篇(SBCE-379)”。
▶指令详情
  • 计数模式为[旋转模式]时,指定超出轴参数的[环计数器下限设定值]~[环计数器上限设定值]的相对距离范围的Distance(移动距离),可实现环多圈定位。
  • 指令当前位置为“-20”、Distance(移动距离)指定为“300”时的动作示例如下所示。
    在这里插入图片描述
  • 将Distance(移动距离)指定为“0”并启动后,轴不发生移动,但是Done(完成)将变为TRUE。
  • 使用注意事项
  • 定位完成前重启相对值定位时,请注意以下几点。
  • 如果在MC功能模块重启前定位已完成,则表现为常规的指令启动。
  • 常规指令启动时,在以指令启动时的位置为基准的相对位置进行定位。
  • 重启指令时,在以原指令启动时的位置为基准的相对位置进行定位。
    在这里插入图片描述

    ► 到位检查

  • 根据轴参数的[到位宽度]、[到位检查时间]的设定,进行本指令的到位检查。
▶时序图
  • 在启动Execute(启动)的同时,Busy(执行中)变为TRUE。
  • 在下一个周期Active(控制中)变为TRUE。
  • 达到Distance(移动距离)、定位完成时,Done(完成)变为TRUE。
  • 利用其它指令中止本指令时,CommandAborted(执行中断)变为TRUE,Busy(执行中)、Active(控制中)变为FALSE。
    在这里插入图片描述
▶重启运动指令
  • 在定位动作中变更输入变量,再次将Execute(启动)设为TRUE,可变更本指令的动作。
  • 重启运动指令可变更的输入变量有Distance(移动距离)、Velocity(目标速度)、Acceleration(加速度)、Deceleration(减速度)。
  • 重启时的Distance(移动距离)的起点,并非重启时的指令当前位置,而是最初启动本指令的指令当前位置。
  • 在变更Distance(移动距离)和Velocity(目标速度)的同时两次重启运动指令时的动作示例如下所示。
    在这里插入图片描述
  • 使用注意事项
  • 即使需要变更Distance(移动距离)以外的输入参数时,也必须在Distance(移动距离)中代入与原指令相同的数值,然后重启指令。
  • 例如,如果将Distance(移动距离)的值变更为“0”并重启指令,则将初次启动时的Distance(移动距离)设为“0”并重启指令。
  • 因此返回到原来的开始位置。
  • 如下图所示。
    在这里插入图片描述
  • 重启运动指令的详情,请参阅“NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)”或“NY系列 工业用平板电脑/工业用台式电脑 用户手册 运动控制篇(SBCE-379)”。
▶多重启动运动指令
  • 多重启动运动指令的详情,请参阅“NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)”或“NY系列 工业用平板电脑/工业用台式电脑 用户手册 运动控制篇(SBCE-379)”。

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

  • 对当前正在执行的指令启动本指令,可切换或缓存到本指令。
  • 各轴可缓存到1个。
  • 多重启动运动指令时的Distance(移动距离)的起点为,启动本指令,Active(控制中)变为TRUE时的指令当前位置。
  • 多重启动时的本指令的动作由BufferMode(缓存模式选择)指定。
缓存模式选择说明
中断立即中止当前正在执行的指令,切换为本指令。
轴的动作方向因指令切换而反转时,根据轴参数中的“反转时动作”进行反转。
等待当前正在执行的指令正常完成后,已缓存的本指令自动启动。
合并
以低速合并
以前一个速度合

以后一个速度合

以高速合并
以当前正在执行的指令到达目标位置时的速度(中继速度)为启动速度,连续使已缓存的本
指令动作。变更当前正在执行的指令的动作,确保以中继速度到达目标位置。中继速度的
指定方法分为如下4种。
当前正在执行的目标速度与已缓存的目标速度中,以速度较低者为中继速度。
以当前正在执行的目标速度为中继速度。
以已缓存的本指令的目标速度为中继速度。
当前正在执行的目标速度与已缓存的目标速度中,以速度较高者为中继速度。
  • 关于BufferMode(缓存模式选择),请参阅“NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)”或“NY系列 工业用平板电脑/工业用台式电脑 用户手册 运动控制篇(SBCE-379)”。

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

  • 对本指令进行多重启动运动指令时,可选择中断、等待、合并
▶异常
  • 在执行本指令中发生异常时,Error(错误)变为TRUE,轴停止动作。
  • 可查看ErrorID(错误代码)的输出值,了解发生异常的原因。

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

    ► 错误代码

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/880785.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初始C语言(五)

前言 本文章就代表C语言介绍以及了解正式完成,后续进行具体分析和详细解析学习。知识根深蒂固才可以应付后来的学习,地基要打好,后续才会轻松。 十四、结构体 结构体是C语言中最最重要的知识点,使得C语言有能力描述复杂的类型。 …

使用fastapi搭建ChatGPT对话后台

使用fastapi搭建ChatGPT对话后台 参考资料:使用fastapi搭建ChatGPT对话后台 效果:在本地构建网页达成类似chatgpt的对话效果,一个字一个字的返回生成结果 ChatGPT初步调用 import os import fastapi import dotenv from httpx import AsyncC…

JVM(HotSpot):字符串常量池(StringTable)

文章目录 一、内存结构图二、案例讲解三、总结 一、内存结构图 JDK1.6 JDK1.8 我们发现,StringTable移入了Heap里面。所以,应该想到,StringTable将受到GC管理。 其实,1.6中,在方法区中的时候,也是受GC管…

从底层理解为什么常量区中的代码不能被修改?

目录 前言:一、了解虚拟地址二、页表映射三、常量区不能被修改的原理四、常量区不可修改的意义 前言: 平时我们在编写代码时都会用到或遇到所谓的常量区或者不可修改的代码,比如说用双引号包起来字符串(“Hello World”&#xff…

微服务SpringSession解析部署使用全流程

目录 1、SpringSession简介 2、实现session共享的三种方式 1、修改Tomcat配置文件 2、Nginx负载均衡策略 3、redis统一存储 0、准备工作 1、本地服务添加依赖 2、修改本地服务配置文件 3、添加application.properties文件 4、添加nacos - redis配置 5、修改本地项目…

Egress Gateway 是一个重要的组件,用于管理从服务网格内部到外部服务的流量

在 Istio 服务网格中,Egress Gateway 是一个重要的组件,用于管理从服务网格内部到外部服务的流量。Egress Gateway 充当了一个边界路由器的角色,处理所有从网格内部发出的请求到非网格服务的流量。它可以帮助解决服务网格内外部服务通信的问题…

Linux启动mysql报错

甲方公司意外停电,所有服务器重启后,发现部署在Linux上的mysql数据库启动失败.再加上老员工离职,新接手项目,对Linux系统了解不多,解决起来用时较多,特此记录。 1.启动及报错 1.1 启动语句1 启动语句1&a…

【Rockchip系列】官方函数:drm_buf_alloc

drm_buf_alloc 函数 功能 分配一个DRM(Direct Rendering Manager)缓冲区。 语法 void* drm_buf_alloc(int width, int height, int bpp, int* fd, int* handle, size_t* size, int flags);参数 width: 缓冲区宽度(像素)heigh…

全站最详细的Python环境配置步骤

1、官网下载IDE JetBrains下载 2、IDE下载、安装步骤 这里展示的是如何在Windows上下载、安装Pycharm工具,Linux的步骤类似。 2.1、选择开发者工具 选择开发者工具 2.2、选择Pycharm 选择Pycharm 2.3、选择下载 选择下载 2.4、选择社区版 一般而言&#xff…

基于SpringBoot+Vue的留守儿童爱心网站系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

MyBatis的注入问题

对之前文章的补充:MyBatis中的#{}与${}注入问题----原文链接 前言: MyBatis是一个流行的Java持久层框架,用于将对象与数据库中的数据进行映射。然而,如果不当使用,MyBatis也可能受到诸如SQL注入这类的安全问题的影响。…

解决VRM格式模型在Unity中运行出现头发乱飞等问题

1、问题 通过VRoidStudio制作导出的vrm格式的模型,放在unity中使用时,一运行就会出现头发乱飞,没有自然下垂的问题 2、解决方法 将模型下的secondary中的所有VRM Spring Bone脚本中的Drag Force改为1,Hit Radius改为0 修改后…

JAVA笔记 | 实际上用到的策略模式(可直接套用)

自己开发中用到了策略模式,这样写不一定是最好的,但是满足了业务场景跟使用要求,做个笔记,下次有用到可以快速复习跟套用 假设使用场景:有几只宠物,猫跟狗等,要求他们做各种动作,比如…

828华为云征文 | 华为云Flexus云服务器X实例搭建Zabbix网络设备监视系统(Ubuntu服务器运维)

前言 Flexus X实例内嵌智能应用调优算法,性能强悍,基础模式GeekBench单核及多核跑分可达同规格独享型实例的1.6倍,性能模式更是超越多系列旗舰型云主机,为企业业务提供强劲动力。 💼 Flexus X Zabbix:打造…

【C#】DllImport的使用

DllImport 是 C# 中用于从非托管 DLL(动态链接库)中导入函数的一个特性。这个特性允许你在 .NET 应用程序中调用由其他语言编写的函数,如 C 或 C。使用 DllImport 可以让你重用现有的非托管代码,而不需要重新实现这些功能。 下面…

PWM驱动LED呼吸灯

背景知识:TIM输出比较-CSDN博客 stm32f10x_tim.h函数 // *** OC是Output Compare输出比较函数 void TIM_OC1Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct); void TIM_OC2Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct); void TI…

苹果盛宴:iPhone 16系列领衔,智能穿戴新潮流来袭

在科技界备受瞩目的苹果秋季发布会上,众多新品悉数亮相,从全新的Apple Watch系列到AirPods系列,再到备受期待的iPhone 16系列,每一款产品都以其独特的创新和卓越的性能,再次定义了智能设备的高标准。 本文将带您领略这…

实验5 预备实验2-配置单个的路由器

配置单个的路由器 一、实验目的 此次试验目的是了解思科网络设备的配置基本特点及IOS命令基本操作方法。这些是配置思科设备的重要前提。 二、实验内容及结果 1、实验环境搭建 添加一个模块化的路由器,单击Packet Tracer 5.3的工作区中刚添加的路由器,…

Go实现RabbitMQ消息模式

【目标】 go实现RabbitMQ简单模式和work工作模式 go实现RabbitMQ 消息持久化和手动应答 go实现RabbitMQ 发布订阅模式 go使用MQ实现评论后排行榜更新 1. go实现简单模式 编写路由实现生产消息 实现生产消息 MQ消息执行为命令行执行,所以创建命令行执行函数mai…

【React】react项目中的redux使用

1. store目录结构设计 2. react组件中使用store中的数据——useSelector 3. react组件中修改store中的数据——useDispatch 4. 示例 react-basic\src\store\moduels\counterStore.js import { createSlice } from reduxjs/toolkitconst counterStore createSlice({name: cou…