前言:
此刻小伙伴们对“c语言绝对定位 会不会影响代码的运行速度”大约比较重视,我们都需要分析一些“c语言绝对定位 会不会影响代码的运行速度”的相关资讯。那么小编也在网络上搜集了一些对于“c语言绝对定位 会不会影响代码的运行速度””的相关内容,希望朋友们能喜欢,姐妹们快快来了解一下吧!PTO运动控制使用指令命令编写程序
1、轴使能
2、归位,模式选择Mode=0或者Mode=1,
选择Mode=3时,回原点的DI通道,要勾选上升沿检测,否则不会执行回零功能。
3、点动控制方式,正转,反转,速度控制
速度Velocity值范围:启动/停止速度 ≤ Velocity ≤ 最大速度。
超过这个范围值,轴不会转运。
速度
4、绝对定位控制
绝对定位控制下一次给定Postion值大于当前值,轴正转;下一次给定Postion值小于当前值,轴反转;方向Direction参数在PTO控制方式中无效,仅在数模控制方式中有效。也就是下一个目标值不能等于当前值,否则轴不转转动。
速度Velocity值范围:启动/停止速度(mm/s) ≤ Velocity ≤ 最大速度(mm/s),
单位是mm/s,超过这个范围值,轴不会转运。
可以在轴组态的参数视图查找相关参数 。在组态--动态--常规,可以查看:最大转速=9600脉冲/秒,启动/停止速度=600脉冲/秒,如何转换成速度值?
在扩展参数---机械参数中,设置每转(圈)需要1600个脉冲,最大转速是96000脉冲/s,则96000/1600=60圈/s,每圈4mm,最大转速60*4=240mm/s。
在扩展参数---机械参数中,设置每转(圈)需要1600个脉冲,启动停止速度是400脉冲/s,则400/1600=0.25圈/s,每圈4mm,最大转速0.25*4=1.0mm/s,则4秒转1圈,前进4mm。可以把启动停止速度参数设置更小,这样转发速就更慢。例如启动停止速度=100脉冲/s,100/1600*4mm=0.25mm/s,也就是每秒前进0.25mm,则16秒转1圈,前进4mm。
在组态--动态--常规,可以查看:加速度=48.0mm/s,减速度=48.0 mm/s,加速时间=5.0S,减整时间=5.0S。根据需要勾选激活加加速度限值。
速度值Velocity不要设定太大。
5、相对定位控制
相对定位控制改变方向只能通过Distance值的正负符号来改变轴转动的方向。因为是相当定位,不改变Distance值的正负符号时,轴可以朝同一个方向转运。Distance值的大小决定轴转运的距离,符号决定轴转运的方向。
速度Velocity值范围:启动/停止速度 ≤ Velocity ≤ 最大速度。
超过这个范围值,轴不会转运。
可以在轴组态的参数视图查找相关参数 。在组态--动态--常规,可以查看:最大转速=25000脉冲/秒,启动/停止速度=1000脉冲/秒,如何转换成速度值?
在组态--动态--常规,可以查看:加速度=48.0mm/s,减速度=48.0 mm/s,加速时间=5.0S,减整时间=5.0S。根据需要勾选激活加加速度限值。
速度值Velocity不要设定太大。
6、速度指令,以用户指定的速度和方向,转动轴
只有轴停止状态下,才能改变速度和方向,轴转运时修改速度和方向无效。
需要停止轴转运时,使用MC_POWER命令。
7、暂停轴转运
8、细分、精度、电流
分辨率越大速度越慢,精度高
电流越大,刚性越强,越容易烧坏
刚性越强震动越大,越不容易丢步
根据电机电流选
S7-1200运动控制之PTO控制方式常问问题
描述
1. 绝对定位和相对定位区别?
答:相对定位是指在轴当前位置的基础上正方向或负方向移动一段距离;绝对定位指的是当轴建立了绝对坐标系后,轴的每个位置都有固定的坐标,无论轴的当前位置值是多少,当轴指令了绝对运行指令后相同的坐标值,轴最终都定位到同一个位置。
2. 如何设置MC_MoveRelative方向运行?
答:将MC_MoveRelative指令中的“Distance”设置成负值就可以让轴向负方向运行了。如下图所示。
3. 为什么有时用户在监控程序的时候看不到指令的完成位Done的为1?
答:带有Execute管脚的指令,例如MC_MoveRelative等指令的Done和Execute之间有下图中描述的关系:
如上图所示,如果"Execute"在命令执行完成之前设置为 FALSE,则"Done"的值仅在一个执行周期内为 TRUE。因此,如果用户用|P|指令触发带有“Execute”管脚的指令,则该指令的“Done”只在一个扫描周期内为1,因此在监控程序时看不到Done位为1。用户可以通过在程序中添加指令用Done置位一个位来判断,如下图所示,用MC_MoveRelative为例进行说明。
4. 回原点已完成信号什么时候会丢失?
答:最常见的就是S7-1200 CPU重新上电后,回原点已完成信号会丢失,用户需要重新启动MC_Home指令。
• 通过"MC_Power"运动控制指令禁用轴
• 在自动模式和手动控制之间切换,也就是用户使用控制面板和程序切换时会丢失回原点已完成信号
• 在启动主动回原点时。 在成功完成回原点操作之后,轴回原点将再次可用。
• CPU 重新启动后(RUN-STOP -> STOP-RUN),包括CPU断上电。
5. 什么时候需要执行回原点命令?
答:用户需要使用MC_MoveAbsolute指令之前执行回原点指令。
6. 如果实际没有原点开关和限位开关,可以使用绝对定位指令MC_MoveAbsolute吗?
答:可以,用MC_Home指令的Mode=0和Mode=1方式,让轴完成绝对坐标定位。然后就可以调用MC_MoveAbsolute指令进行绝对运动了。MC_Home指令的Mode 0 和Mode 1在MC_Home指令部分有详细说明。
7. 用户在实际执行回原点指令时,轴遇到原点开关没有变化,直到运行到硬件限位开关停止报错?
答:首先要测试原点开关是否起作用,也就是说当轴碰到原点开关时,原点开关的DI点的指示灯是否点亮。
可能的原因如下:
①寻找原点开关的速度过快,可以减小“逼近速度”和“参考速度”
②原点开关有效时间过短,可以设置DI点滤波时间,例如上图原点开关是I0.4,则在“设备视图”中减小I0.4的滤波时间,默认情况下DI的滤波时间是6.4millisec,用户根据DI点有效时间选择合适的滤波时间。
8. 为什么轴在执行主动回原点命令时,初始方向没有找到原点,当需要碰到限位开关掉头继续寻找原点开关时并没有掉头,而是直接报错停止轴,报错原因是由于轴碰到了限位开关?
答:有几种可能:
①用户没有使能“允许硬件限位开关处自动反转”的选项。
②增大组态的加速度/减速度,因为轴在主动回原点期间到达硬件限位开关,轴将以组态的减速度减速(不是以紧急减速度),然后反向运行寻找原点开关。
③增大硬件限位开关和机械停止块间的距离。如下图所示,正常情况下,轴按照下图的方式掉头寻找原点开关:
如果硬件限位开关和机械停止块间的过近,无论如何增大“减速度”,仍旧不能正常掉头,如下图所示:
则需要增大硬件限位开关和机械停止块间的距离,为上图中D。
9. S7-1200 CPU上电后轴的位置是多少?
答:S7-1200 CPU每次上电后轴的位置都是0,不会保留断电前的位置值。
S7-1200运动控制指令-MC_Home (回原点)教程
S7-1200运动控制指令-MC_Home (回原点)西门子S7-1200系列PLC
MC_Home
指令名称:回原点指令
功能:使轴归位,设置参考点,用来将轴坐标与实际的物理驱动器位置进行匹配。
使用要点:轴做绝对位置定位前一定要触发MC_Home指令。
『注意』部分输入/输出管脚没有具体介绍,请用户参考MC_Power指令中的说明。
①Position: 位置值
Mode = 1时:对当前轴位置的修正值Mode = 0,2,3时:轴的绝对位置值
②Mode: 回原点模式值
Mode = 0:绝对式直接回零点,轴的位置值为参数“Position”的值Mode = 1:相对式直接回零点,轴的位置值等于当前轴位置 + 参数“Position”的值Mode = 2:被动回零点,轴的位置值为参数“Position”的值Mode = 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进行与运算,来检查轴是否已回原点。
选择Mode=3时,回原点的DI通道,要勾选上升沿检测,否则不会执行回零功能。
MC_Home:使轴归位,设置参考点(V6 及以上版本)
说明
使用“MC_Home”运动控制指令可将轴坐标与实际物理驱动器位置匹配。轴的绝对定位需要回原点。可执行以下类型的回原点:
主动回原点(Mode = 3)自动执行回原点步骤。
被动回原点(Mode = 2)被动回原点期间,运动控制指令“MC_Home”不会执行任何回原点运动。用户需通过其它运动控制指令,执行这一步骤中所需的行进移动。检测到回原点开关时,轴即回原点。
直接绝对回原点(Mode = 0)将当前的轴位置设置为参数“Position”的值。
直接相对回原点(Mode = 1)将当前轴位置的偏移值设置为参数“Position”的值。
绝对编码器相对调节 (Mode = 6)将当前轴位置的偏移值设置为参数“Position”的值。
绝对编码器绝对调节 (Mode = 7)将当前的轴位置设置为参数“Position”的值。
Mode 6 和 7 仅用于带模拟驱动接口的驱动器和 PROFIdrive 驱动器。
标签: #c语言绝对定位 会不会影响代码的运行速度