百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

S7-1200伺服指令运动指令(s71200伺服位置控制实例)

zhezhongyun 2025-07-24 23:21 31 浏览

1.MC_Halt

指令名称:停止轴运行指令

功能:停止所有运动并以组态的减速度停止轴。

使用技巧:常用MC_Halt指令来停止通过MC_MoveVelocity指令触发的轴的运行。

『注意』部分输入/输出管脚没有具体介绍,请用户参考MC_Power指令中的说明。

2.MC_Home

指令名称:回原点指令

功能:使轴归位,设置参考点,用来将轴坐标与实际的物理驱动器位置进行匹配。

使用要点:轴做绝对位置定位前一定要触发MC_Home指令。

『注意』部分输入/输出管脚没有具体介绍,请用户参考MC_Power指令中的说明。

①Position: 位置值

oMode = 1时:对当前轴位置的修正值

oMode = 0,2,3时:轴的绝对位置值

②Mode: 回原点模式值

oMode = 0:绝对式直接回零点,轴的位置值为参数“Position”的值

oMode = 1:相对式直接回零点,轴的位置值等于当前轴位置 + 参数“Position”的值

oMode = 2:被动回零点,轴的位置值为参数“Position”的值

oMode = 3:主动回零点,轴的位置值为参数“Position”的值

下面详细介绍模式0和模式1.

Mode = 0绝对式直接回原点

以下图为例进行说明。该模式下的MC_Home指令触发后轴并不运行,也不会去寻找原点开关。指令执行后的结果是:轴的坐标值更直接新成新的坐标,新的坐标值就是MC_Home指令的“Position”管脚的数值。例子中,“Position”=0.0mm,则轴的当前坐标值也就更新成了0.0mm。该坐标值属于“绝对”坐标值,也就是相当于轴已经建立了绝对坐标系,可以进行绝对运动。

『优点』MC_Home的该模式可以让用户在没有原点开关的情况下,进行绝对运动操作。

Mode = 1相对式直接回原点

与Mode = 0相同,以该模式触发MC_Home指令后轴并不运行,只是更新轴的当前位置值。更新的方式与Mode = 0不同,而是在轴原来坐标值的基础上加上“Position”数值后得到的坐标值作为轴当前位置的新值。如下图所示,指令MC_Home指令后,轴的位置值变成了210mm.,相应的a和c点的坐标位置值也相应更新成新值。

Mode = 2和Mode = 3已在前面介绍过,这里不再赘述。

『注意』用户可以通过对变量 <轴名称>.StatusBits.HomingDone = TRUE与运动控制指令“MC_Home”的输出参数 Done = TRUE进行与运算,来检查轴是否已回原点。

3.MC_MoveAbsolute

指令名称:绝对位置指令

功能:使轴以某一速度进行绝对位置定位。

使用技巧:在使能绝对位置指令之前,轴必须回原点。因此MC_MoveAbsolute指令之前必须有MC_Home指令。

『注意』部分输入/输出管脚没有具体介绍,请用户参考MC_Power指令中的说明。

指令输入端:

①Position:绝对目标位置值。

②Velocity:绝对运动的速度。

4.MC_MoveJog

指令名称:点动指令

功能:在点动模式下以指定的速度连续移动轴。

使用技巧:正向点动和反向点动不能同时触发。

『注意』部分输入/输出管脚没有具体介绍,请用户参考MC_Power指令中的说明。

①JogForward:正向点动,不是用上升沿触发,JogForward为1时,轴运行;JogForward为0时,轴停止。类似于按钮功能,按下按钮,轴就运行,松开按钮,轴停止运行。

②JogBackward:反向电动,使用方法参考JogForward。

『注意』在执行点动指令时,保证JogForward和JogBackward不会同时触发,可以用逻辑进行互锁。

③Velocity:点动速度。

『注意』Velocity数值可以实时修改,实时生效。

5.MC_MoveRelative

指令名称:相对距离指令

功能:使轴以某一速度在轴当前位置的基础上移动一个相对距离。

使用技巧:不需要轴执行回原点命令。

『注意』部分输入/输出管脚没有具体介绍,请用户参考MC_Power指令中的说明。

指令输入端:

①Distance:相对对轴当前位置移动的距离,该值通过正/负数值来表示距离和方向。

②Velocity:相对运动的速度。

6.MC_MoveVelocity

指令名称:速度运行指令

功能:使轴以预设的速度运行

『注意』部分输入/输出管脚没有具体介绍,请用户参考MC_Power指令中的说明。

指令输入端:

①Velocity:轴的速度。

②Direction:方向数值

oDirection = 0:旋转方向取决于参数“Velocity”值的符号

oDirection = 1:正方向旋转,忽略参数“Velocity”值的符号

oDirection = 2:负方向旋转,忽略参数“Velocity”值的符号

③Current:

oCurrent = 0:轴按照参数“Velocity”和“Direction”值运行

oCurrent = 1:轴忽略参数“Velocity”和“Direction”值,轴以当前速度运行。

『注意』可以设定“Velocity”数值为0.0,触发指令后轴会以组态的减速度停止运行。相当于MC_Halt指令。

7.MC_Power

指令名称:启动/禁用轴。

功能:使能轴或禁用轴。

使用要点:在程序里一直调用,并且在其他运动控制指令之前调用并使能。

输入端:

①EN:该输入端是MC_Power指令的使能端,不是轴的使能端。

MC_Power 指令必须在程序里一直调用,并保证MC_Power指令在其他Motion Control指令的前面调用。

②Axis:轴名称

可以有几种方式输入轴名称:

a. 用鼠标直接从Portal软件左侧项目树中拖拽轴的工艺对象,如下图所示:

b. 用键盘输入字符,则Portal软件会自动显示出可以添加的轴对象,如下图所示:

c. 用拷贝的方式把轴的名称拷贝到指令上,如下图所示:

d. 还可以用鼠标双击“Aixs”,系统会出现右边带可选按钮的白色长条框,这时用鼠标点击“选择按钮”,就会出现下图中的列表。

③Enable:轴使能端

oEnable = 0: 根据StopMode设置的模式来停止当前轴的运行;

oEnable = 1:如果组态了轴的驱动信号,则Enable=1时将接通驱动器的电源。

④StopMode:轴停止模式

oStopMode=2:带有加速度变化率控制的紧急停止:如果用户组态了加速度变化率,则轴在减速时会把加速度变化率考虑在内,减速曲线变得平滑,如下图所示。

输出端
⑤ENO:使能输出
⑥Status:轴的使能状态
⑦Busy:标记MC_Power指令是否处于活动状态
⑧Error:标记MC_Power指令是否产生错误
⑨ErrorID:当MC_Power指令产生错误时,用ErrorID表示错误号。
⑩ErrorInfo:当MC_Power指令产生错误时,用ErrorInfo表示错误信息 。

结合ErrorID和ErrorInfo数值,查看手册或是Portal 软件的帮助信息中的说明,来得到错误原因。

8.MC_ReadParam

指令名称:读参数指令

功能:可在用户程序中读取轴工艺对象和命令表对象中的变量。

『注意』部分输入/输出管脚没有具体介绍,请用户参考MC_Power指令中的说明。

指令输入端:
①Enable:可以一直使能读取指令 。
该例子读取的是轴的实际位置值,读到的数值放在“Value”中。


下面列出了常用的轴工艺对象中部分参数:

1. 轴的位置和速度变量

o<轴名称>.Position:轴的位置设定值

o<轴名称>.ActualPosition:轴的实际位置

o<轴名称>.Velocity:轴的速度设定值

o<轴名称>.ActualVelocity:轴的实际速度

2. 回原点变量

o<轴名称>.Homing.AutoReversal:主动归位期间激活硬限位开关处的自动反向

o<轴名称>.Homing.ApproachDirection:主动归位期间的逼近方向和归位方向

o<轴名称>.Homing.ApproachVelocity:主动归位期间轴的逼近速度

o<轴名称>
.Homing.ReferencingVelocity:主动归位期间轴的归位速度

3. 单位变量

o<轴名称>.Units.LengthUnit:参数的已组态测量单位

4.机械变量

o<轴名称>.Mechanics.LeadScrew:每转的距离

5.轴StatusPositioning变量

o<轴名称>
.StatusPositioning.Distance:轴距目标位置的当前距离

o<轴名称>
.StatusPositioning.TargetPosition:轴的目标位置

6.轴的DynamicDefaults变量

o<轴名称>
.DynamicDefaults.Acceleration:轴的加速度

o<轴名称>
.DynamicDefaults.Deceleration:轴的减速度

o<轴名称>
.DynamicDefaults.EmergencyDeceleration:轴的急停减速度

o<轴名称>.DynamicDefaults.Jerk:轴加速斜坡和减速斜坡期间的冲击

7.PositionLimitesSW变量

o<轴名称>.PositionLimitsSW.Active:软限位开关激活

o<轴名称>
.PositionLimitsSW.MinPosition:软限位开关下限位

o<轴名称>
.PositionLimitsSW.MaxPosition:软限位开关上限位

8.PositionLimitesHW变量

o<轴名称>.PositionLimitsHW.Active:硬限位开关激活

o<轴名称>.
PositionLimitsHW.MinSwitchLevel:选择到达下限硬限位开关时 CPU 输入端存在的信号电平

o<轴名称>.
PositionLimitsHW.MinSwitchAddress:下限硬限位开关的符号输入地址(内部参数)

o<轴名称>
.PositionLimitsHW.MaxSwitchLevel:选择到达上限硬限位开关时 CPU 输入端存在的信号电平

o<轴名称>
.PositionLimitsHW.MaxSwitchAddress:上限硬限位开关的输入地址(内部参数)

9.MC_Reset

指令名称:确认故障

功能:用来确认“伴随轴停止出现的运行错误”和“组态错误”。

使用要点:Execute用上升沿触发。

『注意』部分输入/输出管脚没有具体介绍,请用户参考MC_Power指令中的说明。

输入端
①EN:该输入端是MC_Reset指令的使能端。
②Axis:轴名称。
③Execute:MC_Reset指令的启动位,用上升沿触发。
④Restart

oRestart = 0:用来确认错误。

oRestart = 1:将轴的组态从装载存储器下载到工作存储器(只有在禁用轴的时候才能执行该命令)。

输出端:除了Done指令,其他输出管脚同MC_Power指令,这里不再赘述。
⑥Done:表示轴的错误已确认。

10.MC_WriteParam

指令名称:写参数指令

功能:可在用户程序中写入或是更改轴工艺对象和命令表对象中的变量。

『注意』部分输入/输出管脚没有具体介绍,请用户参考MC_Power指令中的说明。

①参数类型:与“Parameter”数据类型一致
②Parameter:输入需要修改的轴的工艺对象的参数,数据类型为VARIANT指针。
③Value:根据“Parameter”数据类型,输入新参数值所在的变量地址。

上图以回原点方向为例,“Parameter”管脚输入:<轴名称>.Homing.ApproachDirection,由于该轴的名称为“轴_1”,所以例子中的地址就是:“轴_1“.Homing.ApproachDirection。该变量是Bool类型的变量,因此在“Value”管脚中输入一个Bool类型的变量地址,同时指令的参数类型也是Bool。

相关推荐

Opinion丨Struggle Against U.S. Mind colonization in the Global South

Editor'snote:Thismonth,XinhuaNewsAgency'sThinkTankreleasedareporttitled"Colonizationof...

爱可可AI论文推介(2020.11.4)_爱可可女装旗舰店

LG-机器学习CV-计算机视觉CL-计算与语言AS-音频与语音RO-机器人(*表示值得重点关注)1、[LG]*CombiningLabelPropagationan...

何新:罗马伪史考英文版序言_罗马史学

2019-10-2514:48:27何新:罗马伪史考序言(英文译本)HeXin:PreambleofResearchonPseudo-historyofRome1Afewyear...

XPeng Stock Rises Over 4% after Q2 Revenue and EV Margin Set Records

TMTPOST--TheAmericandepositaryreceipts(ADRs)ofXPengInc.rosearound4.2%onTuesdayaftert...

英汉世界语部首(八)_英文部首字典

本节讲八个部首,分别是:弓gōng【ECWLrad】bow廾gǒng【ECWLrad】twen广guǎng【ECWLrad】vast己jǐ【ECWLrad】self已yǐ...

一课译词:划水_划水是什么地方的方言

[Photo/SIPA]懒惰是人类的天性,因此才总有人会在工作时“划水”。“划水【huáshuǐ】”,本意是指“用胳膊划的动作(makestrokeswithone’sarms)”,延伸为“...

首测!GPT-4o做Code Review可行吗?

编辑|言征出品|51CTO技术栈(微信号:blog51cto)近日,OpenAI一记重拳,推出了GPT-4o(“o”表示“omni”),将语音识别和对话方面的优势展示的淋漓尽致。几乎可以肯定,...

C++|漫谈STL细节及内部原理_c++ stl详解

1988年,AlexanderStepanov开始进入惠普的PaloAlto实验室工作,在随后的4年中,他从事的是有关磁盘驱动器方面的工作。直到1992年,由于参加并主持了实验室主任BillWo...

C++ inline关键字深度解析:不止于优化的头文件定义许可

在C++开发中,几乎每个程序员都用过inline关键字,但多数人只停留在“内联优化”的表层理解。事实上,inline的真正威力在于它打破了C++的单一定义规则(ODR)限制,成为头文件中安全定义函数的...

实用 | 10分钟教你搭建一个嵌入式web服务器

之前分享的文章中提到了几种可以在嵌入式中使用的web服务器。嵌入式web服务器就是把web服务器移植到嵌入式系统的服务器。它仍然是基于http文本协议进行通信的,具有标准的接口形式,对客户端...

中间语言格式_中间格式文本是什么

在通常情况下,编译器会将目标语言转换成某种中间语言格式,而不是直接将源代码转换成二进制机器指令,不少c语言编译器,都会将代码编译成汇编语言,然后再通过汇编语言编译器将汇编代码转换成目标机器可执行的二进...

一线开发大牛带你深度解析探讨模板解释器,解释器的生成

解释器生成解释器的机器代码片段都是在TemplateInterpreterGenerator::generate_all()中生成的,下面将分小节详细展示该函数的具体细节,以及解释器某个组件的机器代码...

干货,Web开发和前端开发逆天工具大全

微信ID:WEB_wysj(点击关注)◎◎◎◎◎◎◎◎◎一┳═┻︻▄(点击页底“阅读原文”前往下载)●●●逆天工具CDN资源库国内Bootstrap中文网开源项目免费CDN服务36...

移动端rem+vw适配_移动端web页面适配方案

rem:rem是相对单位,设置根元素html的font-size,比如给html设置字体大小为100px,1rem=100px;rem缺点:1.和根元素font-size值强耦合,系统字...

从零搭建 React 开发 H5 模板_react html5

项目创建创建项目文件夹mkdir react-democd react-demonpm init -y依赖安装yarn add rea...