S7-1200伺服指令运动指令(s71200伺服位置控制实例)
zhezhongyun 2025-07-24 23:21 47 浏览
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。
相关推荐
- Python入门学习记录之一:变量_python怎么用变量
-
写这个,主要是对自己学习python知识的一个总结,也是加深自己的印象。变量(英文:variable),也叫标识符。在python中,变量的命名规则有以下三点:>变量名只能包含字母、数字和下划线...
- python变量命名规则——来自小白的总结
-
python是一个动态编译类编程语言,所以程序在运行前不需要如C语言的先行编译动作,因此也只有在程序运行过程中才能发现程序的问题。基于此,python的变量就有一定的命名规范。python作为当前热门...
- Python入门学习教程:第 2 章 变量与数据类型
-
2.1什么是变量?在编程中,变量就像一个存放数据的容器,它可以存储各种信息,并且这些信息可以被读取和修改。想象一下,变量就如同我们生活中的盒子,你可以把东西放进去,也可以随时拿出来看看,甚至可以换成...
- 绘制学术论文中的“三线表”具体指导
-
在科研过程中,大家用到最多的可能就是“三线表”。“三线表”,一般主要由三条横线构成,当然在变量名栏里也可以拆分单元格,出现更多的线。更重要的是,“三线表”也是一种数据记录规范,以“三线表”形式记录的数...
- Python基础语法知识--变量和数据类型
-
学习Python中的变量和数据类型至关重要,因为它们构成了Python编程的基石。以下是帮助您了解Python中的变量和数据类型的分步指南:1.变量:变量在Python中用于存储数据值。它们充...
- 一文搞懂 Python 中的所有标点符号
-
反引号`无任何作用。传说Python3中它被移除是因为和单引号字符'太相似。波浪号~(按位取反符号)~被称为取反或补码运算符。它放在我们想要取反的对象前面。如果放在一个整数n...
- Python变量类型和运算符_python中变量的含义
-
别再被小名词坑哭了:Python新手常犯的那些隐蔽错误,我用同事的真实bug拆给你看我记得有一次和同事张姐一起追查一个看似随机崩溃的脚本,最后发现罪魁祸首竟然是她把变量命名成了list。说实话...
- 从零开始:深入剖析 Spring Boot3 中配置文件的加载顺序
-
在当今的互联网软件开发领域,SpringBoot无疑是最为热门和广泛应用的框架之一。它以其强大的功能、便捷的开发体验,极大地提升了开发效率,成为众多开发者构建Web应用程序的首选。而在Spr...
- Python中下划线 ‘_’ 的用法,你知道几种
-
Python中下划线()是一个有特殊含义和用途的符号,它可以用来表示以下几种情况:1在解释器中,下划线(_)表示上一个表达式的值,可以用来进行快速计算或测试。例如:>>>2+...
- 解锁Shell编程:变量_shell $变量
-
引言:开启Shell编程大门Shell作为用户与Linux内核之间的桥梁,为我们提供了强大的命令行交互方式。它不仅能执行简单的文件操作、进程管理,还能通过编写脚本实现复杂的自动化任务。无论是...
- 一文学会Python的变量命名规则!_python的变量命名有哪些要求
-
目录1.变量的命名原则3.内置函数尽量不要做变量4.删除变量和垃圾回收机制5.结语1.变量的命名原则①由英文字母、_(下划线)、或中文开头②变量名称只能由英文字母、数字、下画线或中文字所组成。③英文字...
- 更可靠的Rust-语法篇-区分语句/表达式,略览if/loop/while/for
-
src/main.rs://函数定义fnadd(a:i32,b:i32)->i32{a+b//末尾表达式}fnmain(){leta:i3...
- C++第五课:变量的命名规则_c++中变量的命名规则
-
变量的命名不是想怎么起就怎么起的,而是有一套固定的规则的。具体规则:1.名字要合法:变量名必须是由字母、数字或下划线组成。例如:a,a1,a_1。2.开头不能是数字。例如:可以a1,但不能起1a。3....
- Rust编程-核心篇-不安全编程_rust安全性
-
Unsafe的必要性Rust的所有权系统和类型系统为我们提供了强大的安全保障,但在某些情况下,我们需要突破这些限制来:与C代码交互实现底层系统编程优化性能关键代码实现某些编译器无法验证的安全操作Rus...
- 探秘 Python 内存管理:背后的神奇机制
-
在编程的世界里,内存管理就如同幕后的精密操控者,确保程序的高效运行。Python作为一种广泛使用的编程语言,其内存管理机制既巧妙又复杂,为开发者们提供了便利的同时,也展现了强大的底层控制能力。一、P...
- 一周热门
- 最近发表
- 标签列表
-
- HTML 教程 (33)
- HTML 简介 (35)
- HTML 实例/测验 (32)
- HTML 测验 (32)
- JavaScript 和 HTML DOM 参考手册 (32)
- HTML 拓展阅读 (30)
- HTML文本框样式 (31)
- HTML滚动条样式 (34)
- HTML5 浏览器支持 (33)
- HTML5 新元素 (33)
- HTML5 WebSocket (30)
- HTML5 代码规范 (32)
- HTML5 标签 (717)
- HTML5 标签 (已废弃) (75)
- HTML5电子书 (32)
- HTML5开发工具 (34)
- HTML5小游戏源码 (34)
- HTML5模板下载 (30)
- HTTP 状态消息 (33)
- HTTP 方法:GET 对比 POST (33)
- 键盘快捷键 (35)
- 标签 (226)
- opacity 属性 (32)
- transition 属性 (33)
- 1-1. 变量声明 (31)
