西门子S7 | 您所在的位置:网站首页 › plc运动控制经典例程 › 西门子S7 |
常用运动控制指令
1.AXISx_CTRL: 功能:启用和初始化运动轴,方法是自动命令运动轴每次CPU更改为RUN模式时加载组态/包络表。
▲ 图1 需要注意的是,在您的项目中只对每条运动轴使用此子例程一次,并确保程序会在每次扫描时调用此子例程。使用SM0.0(始终开启)作为EN参数的输入。 MOD_EN:参数必须开启,才能启用其它运动控制子例程向运动轴发送命令。如果MOD_EN参数关闭,运动轴会中止所有正在进行的命令; Done:参数会在运动轴完成任何一个子例程时开启;Error:参数存储该子程序运行时的错误代码;C_Pos:参数表示运动轴的当前位置。根据测量单位,该值是脉冲数 (DINT)或工程单位数(REAL); C_Speed:参数提供运动轴的当前速度。如果您针对脉冲组态运动轴的测量系统,C_Speed是一个DINT数值,其中包含脉冲数/每秒。如果您针对工程单位组态测量系统,C_Speed是一个REAL数值,其中包含选择的工程单位数/每秒(REAL)。 C_Dir:参数表示电机的当前方向:信号状态0= 正向;信号状态1= 反向; 2、AXISx_DIS 功能:运动轴的DIS输出打开或关闭。这允许您将DIS输出用于禁用或启用电机控制器。
▲ 图2 EN位打开以启用子例程时,DIS_ON参数控制运动轴的DIS输出。 注意: 如果您在运动轴中使用DIS输出,可以在每次扫描时调用该子例程,或者仅在您需要更改DIS输出值时进行调用。若实际DIS连接了电机驱动器的DIS输入,如果不使能则可能导致电机不运转。 3、AXISx_MAN: 功能,是将运动轴置为手动模式;这允许电机按不同的速度运行,或沿正方向或负方向慢进。
▲ 图3 RUN参数会命令运动轴加速至指定的速度(Speed参数)和方向(Dir参数)。用户可以在电机运行时更改 Speed参数,但Dir参数必须保持为常数。禁用 RUN参数会命令运动轴减速,直至电机停止; JOG_P(点动正向旋转)或JOG_N(点动反向旋转)参数会命令运动轴正向或反向点动。如果JOG_P或JOG_N参数保持启用的时间短于0.5秒,则运动轴将通过脉冲指示移动JOG_INCREMENT中指定的距离。如果JOG_P或JOG_N参数保持启用的时间为0.5秒或更长,则运动轴将开始加速至指定的JOG_SPEED; Speed 参数决定启用RUN时的速度。如果用户针对脉冲组态运动轴的测量系统,则速度为DINT值(脉冲数/每秒)。如果您针对工程单位组态运动轴的测量系统,则速度为REAL值(单位数/每秒)。 4、AXISx_RSEEK: 功能:使用组态/包络表中的搜索方法启动参考点搜索操作。当运动轴找到参考点且移动停止时,运动轴将RP_OFFSET参数值载入当前位置。
▲ 图4 RP_OFFSET的默认值为0。可使用运动控制向导、运动控制面板或AXISx_LDOFF(加载偏移量)子例程来更改RP_OFFSET值; EN 位开启会启用此子例程。确保EN位保持开启,直至Done位指示子例程执行已经完成; START 参数开启将向运动轴发出RSEEK命令。对于在START参数开启且运动轴当前不繁忙时执行的每次扫描,该子例程向运动轴发送一个RSEEK命令。为了确保仅发送了一个命令,请使用边沿检测元素用脉冲方式开启START参数。 5、AXISx_GOTO:
▲ 图5 START参数开启会向运动轴发出GOTO命令。对于在 START参数开启且运动轴当前不繁忙时执行的每次扫描,该子例程向运动轴发送一个GOTO命令。为了确保仅发送了一个GOTO命令,请使用边沿检测元素用脉冲方式开启START参数; Pos参数包含一个数值,指示要移动的位置(绝对移动)或要移动的距离(相对移动)。根据所选的测量单位,该值是脉冲数 (DINT)或工程单位数(REAL); Speed 参数确定该移动的最高速度。根据所选的测量单位,该值是脉冲数/每秒(DINT)或工程单位数/每秒(REAL);Mode参数选择移动的类型: 0:绝对位置 1:相对位置 2:单速连续正向旋转 3:单速连续反向旋转Abort 参数启动会命令运动轴停止当前包络并减速,直至电机停止。 注意: 若Mode参数设置为0,则必须首先使用AXISx_RSEEK或AXISx_LDPOS指令建立零位置。 6、AXISx_RUN: 功能:命令运动轴按照存储在组态/包络表的特定包络执行运动操作。
▲ 图6 START参数开启将向运动轴发出RUN命令。对于在 START参数开启且运动轴当前不繁忙时执行的每次扫描,该子例程向运动轴发送一个RUN命令。为了确保仅发送了一个命令,请使用边沿检测元素用脉冲方式开启START参数; Profile参数包含运动包络的编号或符号名称。“Profile”输入必须介于0- 31。否则子例程将返回错误; Abort参数会命令运动轴停止当前包络并减速,直至电机停止; C_Profile参数包含运动轴当前执行的包络; C_Step参数包含目前正在执行的包络步。 7、AXISx_LDOFF: 功能:建立一个与参考点处于不同位置的新的零位置。
▲ 图7 开启START参数将向运动轴发出LDOFF命令。对于在 START参数开启且运动轴当前不繁忙时执行的每次扫描,该子例程向运动轴发送一个LDOFF命令。为了确保仅发送了一个命令,请使用边沿检测元素用脉冲方式开启START参数。 注意: 在执行该子例程之前,您必须首先确定参考点的位置。您还必须将机器移至起始位置。当子例程发送 LDOFF命令时,运动轴计算起始位置(当前位置)与参考点位置之间的偏移量。运动轴然后将算出的偏移量存储到 RP_OFFSET参数并将当前位置设为0。这将起始位置建立为零位置。 如果电机失去对位置的追踪(例如断电或手动更换电机的位置),您可以使用AXISx_RSEEK子例程自动重新建立零位置。 8、AXISx_LDPOS: 功能:将运动轴中的当前位置值更改为新值。用户还可以使用本子例程为任何绝对移动命令建立一个新的零位置。
▲ 图8 START参数开启将向运动轴发出LDPOS命令。对于在 START参数开启且运动轴当前不繁忙时执行的每次扫描,该子例程向运动轴发送一个LDPOS命令。为了确保仅发送了一个命令,请使用边沿检测元素用脉冲方式开启START参数; New_Pos参数提供新值,用于取代运动轴报告和用于绝对移动的当前位置值。根据测量单位,该值是脉冲数 (DINT)或工程单位数(REAL)。 |
CopyRight 2018-2019 实验室设备网 版权所有 |