1、概述 s7-200有两个 置pto/pwm 发生器,用以建立高速脉冲串(pto)或脉宽调节(pwm) 信号波形。 当组态一个输出为pto 操作时,生成一个50%占空比脉冲串用于步进电机或伺服电机的速度和位置的开环控制。置pto功能提供了脉冲串输出,脉冲周期和数量可由用户控制。但应用程序必须通过plc内置i/o提供方向和限位控制。 为了简化用户应用程序中位控功能的使用,step7--micro/win提供的位控向导可以帮助您在几分钟内全部完成pwm,pto或位控模块的组态。向导可以生成位置指令,用户可以用这些指令在其应用程序中为速度和位置提供动态控制。 2、开环位控用于步进电机或伺服电机的基本信息 借助位控向导组态pto输出时,需要用户提供一些基本信息,逐项介绍如下: ⑴ 大速度 (max_speed)和启动/停止速度 (ss_speed) 图1是这2 个概念的示意图。 max_speed是允许的操作速度的大值,它应在电机力矩能力的范围。驱动负载所需的力矩由摩擦力、惯性以及加速/减速时间决定。 图1 大速度和启动/停止速度示意 ss_speed:该数值应满足电机在低速时驱动负载的能力,如果ss_speed的数值过低,电机和负载在运动的开始和结束时可能会摇摆或颤动。如果ss_speed的数值过高,电机会在启动时丢失脉冲,并且负载在试图停止时会使电机超速。通常,ss_speed值是max_speed 值的5%至15%。 ⑵加速和减速时间 加速时间accel_time:电机从ss_speed速度加速到max_speed速度所需的时间。 减速时间decel_time:电机从max_speed速度减速到ss_speed速度所需要的时间。
图2 加速和减速时间 加速时间和减速时间的缺省设置都是1000毫秒。通常电机可在小于1000毫秒的时间工作。参见图2。这2个值设定时要以毫秒为单位。 注意:电机的加速和失速时间要过测试来确定。开始时,您应输入一个较大的值。逐渐减少这个时间值直至电机开始失速,从而优化您应用中的这些设置。 ⑶移动包络 一个包络是一个预先定义的移动描述,它包括一个或多个速度,影响着从起点到终点的移动。一个包络由多段组成,每段包含一个达到目标速度的加速/减速过程和以目标速度匀速运行的一串固定数量的脉冲。位控向导提供移动包络定义界面,在这里,您可以为您的应用程序定义每一个移动包络。pto支持大100 个包络。 定义一个包络,包括如下几点:①选择操作模式;②为包络的各步定义指标。③为包络定义一个符号名。 ⑴选择包络的操作模式: pto支持相对位置和单一速度的续转动,如图3所示,相对位置模式指的是运动的终点位置是从起点侧开始计算的脉冲数量。单速续转动则不需要提供终点位置,pto一直持续输出脉冲,直至有其他命令发出,例如到达原点要求停发脉冲。
图3 一个包络的操作模式 ⑵包络中的步 一个步是工件运动的一个固定距离,包括加速和减速时间 的距离。pto 每一包络大允许29 个步。 每一步包括目标速度和结束位置或脉冲数目等几个指标。图4所示为一步、两步、三步和四步包络。注意一步包络只有一个常速段,两步包络有两个常速段,依次类推。步的数目与包络中常速段的数目一致。
图4 包络的步数示意 3、使用位控向导编程 step7 v4.0软件的位控向导能自动处理pto脉冲的单段管线和多段管线、脉宽调 制、sm 位置配置和创建包络表。 本节将给出一个在yl-335a 上实现的简单工作任务例子,阐述使用位控向导编程的方法和步骤。表1 是yl-335a上实现步进电机运行所需的运动包络。 表1 步进电机运行的运动包络
1、使用位控向导编程的步骤如下: 1)为s7--200 plc选择选项组态 置pto/pwm操作。 在step7 v4.0软件命令菜单中选择工具→位置控制向导并选择配置s7-200plc内 置pto/pwm操作,如图5所示。
图5 位控向导启动界面 2)单击“下一步”选择“qo.0”,再单击“下一步”选择“线性脉冲输出 pto)”
图5 选择pto或pwm界面 3)单击“下一步”后,在对应的编辑框中输入max_speed 和ss_speed速度值。输入高电机速度“90000”,把电机启动/停止速度设定为“600”。这时,如果单击min_speed值对应的灰色框,可以发现,min_speed值改为600,注意:min_speed值由计算得出。用户不能在此域中输入其他数值。
图6 4)单击“下一步”填写电机加速时间“1500”和电机减速时间 “200” 图7 设定加速和减速时间 5)接下来一步是配置运动包络界面,见图8。 图8 配置运动包络界面 该界面要求设定操作模式、1个步的目标速度、结束位置等步的指标,以及定义这一包络的符号名。(从第0个包络第0步开始) 在操作模式选项中选择相对位置控制,填写包络“0”中数据目标速度“60000”,结束位置“85600”,点击“绘制包络”,如图9所示,注意,这个包络只有1步。包络的符号名按默认定义。这样,第0个包络的设置,即从供料站→加工站的运动包络设置就完成了。现在可以设置下一个包络。 图9 设置第0个包络 点击“新包络”,按上述方法将下表中上3个位置数据输入包络中去。
表中后一行低速回零,是单速连续运行模式,选择这种操作模式后,在所出现的界面中(见图10),写入目标速度“20000”。界面中还有一个包络停止操作选项,是当停止信号输入时再向运动方向按设定的脉冲数走完停止,在本系统不使用。 6)运动包络编写完成单击“确认”,向导会要求为运动包络指定v存储区地址(建议地址为vb75~vb300),默认这一建议,单击“下一步”出现图11,单击“完成”。
图11 生成项目组件提示 2、项目组件 运动包络组态完成后,向导会为所选的配置生成三个项目组件(子程序),分别是:ptox_run子程序(运行包络),ptox_ctrl子程序(控制)和ptox_man子程序(手动模式)子程序。一个由向导产生的子程序就可以在程序中调用如图12所示。 图12 三个项目组件 它们的功能分述如下: ⑴ ptox_run子程序(运行包络):命令 plc执行存储于配置/包络表的特定包络中的运动操作。运行这一子程序的梯形图如图13所示。 图13 运行ptox_run子程序 en位:启用此子程序的使能位。 start参数:包络的执行的启动信号。对于在start参数已开启且pto当前不活动时的每次扫描,此子程序会激活pto。为了确保仅发送一个命令,请使用上升缘以脉冲方式开启start参数。 profile(包络)参数:包含为此运动包络指定的编号或符号名。 abort(终止)参数命令,开启时位控模块停止当前包络并减速至电机停止。 done(完成)参数:当模块完成本子程序时,此参数 on。 error(错误)参数:包含本子程序的结果。 c_profile参数:包含位控模块当前执行的包络。 c_step参数:包含目前正在执行的包络步骤。 ⑵ptox_ctrl子程序:(控制)启用和初始化与步进电机或伺服电机合用的pto输出。请在用户程序中只使用一次,并且请确定在每次扫描时得到执行。即始终使用sm0.0作为en的输入,如图14所示。
图14 运行ptox_ctrl子程序 i_stop(立即停止)输入:开关量输入。当此输入为低时,pto功能会正常工作。当此输入变为高时,pto立即终止脉冲的发出。 d_stop(减速停止)输入:开关量输入。当此输入为低时,pto功能会正常工作。当此输入变为高时,pto会产生将电机减速至停止的脉冲串。“完成”输出:开关量输出。当“完成”位被设置为高时,它表明上一个指令也已执行。 error(错误)参数:包含本子程序的结果。当“完成”位为高时,错误字节会报告无错误或有错误代码的正常完成。如果pto向导的hsc计数器功能已启用,c_pos参数包含用脉冲数目表示的模块;否则此数值始终为零。 ⑶ptox_man子程序(手动模式):将pto输出置于手动模式。这允许电机启动、停止和按不同的速度运行。当ptox_man子程序已启用时,任何其他pto子程序都无法执行。运行这一子程序的梯形图如图15所示。
图15 运行ptox_man子程序 run(运行/停止)参数:命令pto加速至指定速度(speed(速度)参数)。您可以在电机运行中更改speed参数的数值。停用run参数命令pto减速至电机停止。当run已启用时,speed参数确定着速度。速度是一个用每秒脉冲数计算的dint(双整数)值。您可以在电机运行中更改此参数。 error(错误)参数包含本子程序的结果。 如果pto向导的hsc计数器功能已启用,c_pos参数包含用脉冲数目表示的模块;否则此数值始终为零。
注: 脉冲速率是指每秒发多少个脉冲,用来控制电机速度 脉冲数量是指一共发的脉冲个数,用来控制电机行程 脉冲速率x时间=脉冲数量 电机速度x时间=电机行程
|