S7-200有两个内置PTO/PWM发生器,用以建立高速脉冲串(PTO)或脉宽调节(PWM)信号波形。一个发生器指定给数字输出点Q0.0,另一个发生器指定给数字输出点Q0.1。
当组态一个输出为PTO操作时,生成一个50%占空比脉冲串用于步进电机或伺服电机的速度和位置的开环控制。内置PTO功能提供了脉冲串输出,脉冲周期和数量可由用户控制。但应用程序必须通过PLC内置I/O提供方向和限位控制。
为了简化用户应用程序中位控功能的使用,STEP7-Micro/WIN提供的位控向导可以帮助用户在很短的时间内全部完成PWM、PTO或位控模块的组态。向导可以生成位置指令,用户可以用这些指令在其应用程序中为速度和位置提供动态控制。
1.开环位控用于步进电机或伺服电机的基本信息
借助位控向导组态PTO输出时,需要用户提供一些基本信息,下面进行逐项介绍。
1)最大速度(MAX_SPEED)和启动/停止速度(SS_SPEED)
图7-25是这两个概念的示意。
图7-25 最大速度和启动/停止速度
MAX_SPEED是允许的操作速度的最大值,它应在电机力矩能力的范围内。驱动负载所需的力矩由摩擦力、惯性以及加速/减速时间决定。
SS_SPEED的数值应满足电机在低速时驱动负载的能力,如果SS_SPEED的数值过低,电机和负载在运动的开始和结束时可能会摇摆或颤动。如果SS_SPEED的数值过高,电机会在启动时丢失脉冲,并且负载在试图停止时会使电机超速。通常,SS_SPEED值是MAX_SPEED值的5%~15%。
2)加速时间和减速时间
加速时间ACCEL_TIME:电机从SS_SPEED速度加速到MAX_SPEED速度所需的时间。
减速时间DECEL_TIME:电机从MAX_SPEED速度减速到SS_SPEED速度所需要的时间。
加速时间和减速时间的缺省设置都是1000毫秒。通常,电机可在小于1000毫秒的时间内工作,如图7-26所示。这两个值设定时要以毫秒为单位。
图7-26 加速时间和减速时间
电机的加速和失速时间通常要经过测试来确定。开始时,应输入一个较大的值。逐渐减少这个时间值直至电机开始失速,从而优化应用中的这些设置。
3)移动包络
一个包络是一个预先定义的移动描述,它包括一个或多个速度,影响着从起点到终点的移动。一个包络由多段组成,每段包含一个达到目标速度的加速/减速过程和以目标速度匀速运行的一串固定数量的脉冲。
位控向导提供移动包络定义界面,应用程序所需的每一个移动包络均可在这里定义。PTO支持最大100个包络。
定义一个包络,包括如下几点:第一,选择操作模式;第二,为包络的各步定义指标;第三,为包络定义一个符号名。
(1)选择包络的操作模式:PTO支持相对位置和单一速度的连续转动两种模式,如图7-27所示,相对位置模式指的是运动的终点位置是从起点侧开始计算的脉冲数量。单速连续转动则不需要提供终点位置,PTO一直持续输出脉冲,直至有其他命令发出,例如到达原点要求停发脉冲。
图7-27 一个包络的操作模式
(2)包络中的步。一个步是工件运动的一个固定距离,包括加速和减速时间内的距离。PTO每一包络最大允许29个步。
每一步包括目标速度和结束位置或脉冲数目等几个指标。图7-28为一步、两步、三步和四步包络。注意一步包络只有一个常速段,两步包络有两个常速段,依次类推。步的数目与包络中常速段的数目一致。
2.使用位控向导编程步骤
STEP7V4.0软件的位控向导能自动处理PTO脉冲的单段管线和多段管线、脉宽调制、SM位置配置和创建包络表。
下面给出一个简单工作任务例子,阐述使用位控向导编程的方法和步骤。表7-6是这个例子中实现伺服电机运行所需的运动包络。
图7-28 包络的步数
表7-6 伺服电机运行的运动包络
1)为S7-200PLC选择选项组态内置PTO操作
在STEP7V4.0软件命令菜单中选择“工具→位置控制向导”,即开始引导位置控制配置。在向导弹出的第一个界面,选择配置S7-200PLC内置PTO/PWM操作。在第2个界面中选择“Q0.0”作脉冲输出。接下来的第3个界面如图7-29所示,请选择“线性脉冲输出(PTO)”,并点选使用高速计数器HSCO(模式12)对PTO生成的脉冲自动计数的功能。单击“下一步”开始组态内置PTO操作。
图7-29 组态内置PTO操作选择界面
(1)接下来的两个界面,要求设定电机速度参数,包括前面所述的最高电机速度MAX_SPEED和电机启动/停止速度SS_SPEED,以及加速时间ACCEL_TIME和减速时间DECEL_TIME。
请在对应的编辑框中输入这些数值。例如,输入最高电机速度“90000”,把电机启动/停止速度设定为“600”,加速时间ACCEL_TIME和减速时间DECEL_TIME分别为1000(ms)和200(ms)。完成给位控向导提供基本信息的工作。单击“下一步”,开始配置运动包络界面。
(2)图7-30是配置运动包络的界面。该界面要求设定操作模式、1个步的目标速度、结束位置等步的指标,以及定义这一包络的符号名(从第0个包络第0步开始)。
图7-30 配置运动包络界面
在操作模式选项中选择相对位置控制,填写包络“0”中数据目标速度“60000”,结束位置“85600”,单击“绘制包络”,如图7-31所示,注意,这个包络只有1步。
包络的符号名按默认定义(Profile0_0)。这样,第0个包络的设置,即从供料站→加工站的运动包络设置就完成了。现在可以设置下一个包络,单击“新包络”,按上述方法将表7-7中上3个位置数据输入包络中去。
表7-7 包络表的位置数据
(续表)
图7-31 设置第0个包络
表7-7中最后一行低速回零,是单速连续运行模式,选择这种操作模式后,在所出现的界面中(见图7-32),写入目标速度“20000”。界面中还有一个包络停止操作选项,是当停止信号输入时再向运动方向按设定的脉冲数走完停止,在本系统不使用。
图7-32 设置第4个包络(www.xing528.com)
(3)运动包络编写完成单击“确认”,向导会要求为运动包络指定V存储区地址(建议地址为VB75~VB300),可默认这一建议,也可自行键入一个合适的地址。图7-33是指定V存储区首地址为VB400时的界面,向导会自动计算地址的范围。
图7-33 为运动包络指定V存储区地址
(4)单击“下一步”出现图7-34,单击“完成”。
图7-34 生成项目组件提示
2)使用位控向导生成的项目组件
运动包络组态完成后,向导会为所选的配置生成四个项目组件(子程序),分别为PTOx_CTRL子程序(控制)、PTOx_RUN子程序(运行包络),PTOx_LDPOS指令(装载位置)和PTOx_MAN子程序(手动模式)子程序。一个由向导产生的子程序就可以在程序中调用,如图7-35所示。
图7-35 四个项目组件
(1)PTOx_CTRL子程序(控制):启用和初始化PTO输出。请在用户程序中只使用一次,并且请确定在每次扫描时得到执行。即始终使用SM0.0作为EN的输入,如图7-36所示。
图7-36 运行PTOx_CTRL子程序
①输入参数:
●I_STOP(立即停止)输入(BOOL型):当此输入为低时,PTO功能会正常工作。当此输入变为高时,PTO立即终止脉冲的发出。
●D_STOP(减速停止)输入(BOOL型):当此输入为低时,PTO功能会正常工作。当此输入变为高时,PTO会产生将电机减速至停止的脉冲串。
②输出参数:
●Done(“完成”)输出(BOOL型):当“完成”位被设置为高时,它表明上一个指令也已执行。
●Error(错误)参数(BYTE型):包含本子程序的结果。当“完成”位为高时,错误字节会报告无错误或有错误代码的正常完成。
●C_Pos(DWORD型):如果PTO向导的HSC计数器功能已启用,此参数包含以脉冲数表示的模块当前位置。否则,当前位置将一直为0。
(2)PTOx_RUN子程序(运行包络):命令PLC执行存储于配置/包络表的指定包络运动操作。运行这一子程序的梯形图如图7-37所示。
图7-37 运行PTOx_RUN子程序
①输入参数:
●EN位:子程序的使能位。在“完成”(Done)位发出子程序执行已经完成的信号前,应使EN位保持开启。
●START参数(BOOL型):包络的执行的启动信号。对于在START参数已开启,且PTO当前不活动时的每次扫描,此子程序会激活PTO。为了确保仅发送一个命令,一般用上升沿以脉冲方式开启START参数。
●Abort(终止)命令(BOOL型):命令为ON时位控模块停止当前包络,并减速至电机停止。
●Profile(包络)(BYTE型):输入为此运动包络指定的编号或符号名。
②输出参数:
●Done(完成)(BOOL型):本子程序执行完成时,输出ON。
●Error(错误)(BYTE型):输出本子程序执行的结果的错误信息,无错误时输出0。
●C_Profile(BYTE型):输出位控模块当前执行的包络。
●C_Step(BYTE型):输出目前正在执行的包络步骤。
●C_Pos(DINT型):如果PTO向导的HSC计数器功能已启用,则此参数包含以脉冲数作为模块的当前位置。否则,当前位置将一直为0。
(3)PTOx_LDPOS指令(装载位置):改变PTO脉冲计数器的当前位置值为一个新值。可用该指令为任何一个运动命令建立一个新的零位置。图7-38是一个使用PTO0_LDPOS指令实现返回原点完成后清零功能的梯形图。
①输入参数:
●EN位:子程序的使能位。在“完成”(Done)位发出子程序执行已经完成的信号前,应使EN位保持开启。
图7-38 用PTO0_LDPOS指令实现返回原点后清零
●START(BOOL型):装载启动。接通此参数,以装载一个新的位置值到PTO脉冲计数器。在每一循环周期,只要START参数接通且PTO当前不忙,该指令装载一个新的位置给PTO脉冲计数器。若要保证该命令只发一次,使用边沿检测指令以脉冲触发START参数接通。
●New_Pos参数(DINT型):输入一个新的值替代C_Pos报告的当前位置值。位置值用脉冲数表示。
②输出参数:
●Done(完成)(BOOL型):模块完成该指令时,参数DoneON。
●Error(错误)(BYTE型):输出本子程序执行的结果的错误信息。无错误时输出0。
●C_Pos(DINT型):此参数包含以脉冲数作为模块的当前位置。
(4)PTOx_MAN子程序(手动模式):将PTO输出置于手动模式。执行这一子程序允许电机启动、停止和按不同的速度运行。但当PTOx_MAN子程序已启用时,除PTOx-CTRL外任何其他PTO子程序都无法执行。运行这一子程序的梯形图如图7-39所示。
图7-39 运行PTOx_MAN子程序
①RUN(运行/停止)参数:命令PTO加速至指定速度(Speed参数)。从而允许在电机运行中更改Speed参数的数值。停用RUN参数命令PTO减速至电机停止。
当RUN已启用时,Speed参数确定着速度。速度是一个用每秒脉冲数计算的DINT(双整数)值。可以在电机运行中更改此参数。
②Error(错误)参数:输出本子程序的执行结果的错误信息,见错误时输出0。
如果PTO向导的HSC计数器功能已启用,C_Pos参数包含用脉冲数目表示的模块;否则此数值始终为零。
由上述四个子程序的梯形图可以看出,为了调用这些子程序。编程时应预置一个数据存储区,用的存储子程序执行时间参数,存储区所存储的信息,可根据程序的需要调用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。