基本指令部分:
脉冲输出指令(PLS)用于在高速输出(Q0.0和Q0.1)上控制脉冲串输出(PTO)和脉宽调制(PWM)功能。
1、PWM波
PWM产生一个占空比变化周期固定的脉冲输出。可以以微秒或者毫秒为单位指定其周期和脉冲宽度:
周期: 10 µs到65,535 µs或 2ms到65,535 ms
脉宽时间:0 µs到65,535µs或 0ms到65,535 ms
注:脉宽≥周期值占空比是100%:连续接通输出。
脉宽=0占空比是0%:连续关闭输出。
周期<2个时间单位将周期缺省地设定为2个时间单位。
1.1有两个方法改变PWM信号波形的特性:
(1)同步更新:如果不要求改变时间基准,则可以使用同步更新。利用同步更新,信号波形特性的变化发生在周期边沿,提供平滑转换。
(2)异步更新:通常,对于PWM操作,脉冲宽度在周期保持不变时变化,所以不要求改变时间基准。但是,如果需要改变PTO/PWM发生器的时间基准,就要使用异步更新。异步更新会造成PTO/PWM功能被瞬时禁止,和PWM信号波形不同步。这会引起被控设备的振动。由于这个原因,建议采用PWM同步更新。选择一个适合于所有周期时间的时间基准。
1.2特点:周期和脉宽都是以时间为单位特别是脉宽不是固定的0-255或者0-512
2、脉冲串操作(PTO)
TO按照给定的脉冲个数和周期输出一串方波(占空比50%)。PTO可以产生单段脉冲串或者多段脉冲串(使用脉冲波形)。可以指定脉冲数和周期(以微秒或毫秒为增加量):
脉冲数目:1到4,294,967,295
周期: 10 µs到65,535 µs或 2ms到65,535 ms。
周期<2个时间单位将周期缺省地设定为2个时间单位
脉冲个数=0将脉冲个数缺省地设定为1个脉冲
PTO功能允许脉冲串“链接”或者“排队”。当当前脉冲串输出完成时,会立即开始输出一个新的脉冲串。这保证了多个输出脉冲串之间的连续性。
2.1 PTO脉冲串的单段管道
在单段管道模式,需要为下一个脉冲串更新特殊寄存器。一旦启动了起始PTO段,就必须按照第二个信号波形的要求改变特殊寄存器,并再次执行PLS指令。第二个脉冲串的属性在管道中一直保持到第一个脉冲串发送完成。在管道中一次只能存储一段脉冲串的属性。当第一个脉冲串发送完成时,接着输出第二个信号波形,此时管道可以用于下一个新的脉冲串。重复这个过程可以再次设定下一个脉冲串的特性。除去以下两种情况之外,脉冲串之间可以作到平滑转换:时间基准发生了变化或者在利用PLS指令捕捉到新脉冲之前,启动的脉冲串已经完成。
特点:可以实现输出多个单端脉冲中间无需停止
2.2 PTO脉冲串的多段管道
在多段管道模式,CPU自动从V存储器区的包络表中读出每个脉冲串的特性。在该模式下,仅使用特殊存储器区的控制字节和状态字节。选择多段操作,必须装入包络表在V存储器中的起始地址偏移量(SMW168或SMW178)。时间基准可以选择微秒或者毫秒,但是,在包络表中的所有周期值必须使用同一个时间基准,而且在包络正在运行时不能改变。执行PLS指令来启动多段操作。
每段记录的长度为8个字节,由16位周期值、16位周期增量值和32位脉冲个数值组成。表中给出了包络表的格式。您可以通过编程的方式使脉冲的周期自动增减。在周期增量处输入一个正值将增加周期;输入一个负值将减少周期;输入0将不改变周期。
2.3计算包络表的值
2.3.1PTO发生器的多段管道功能在许多应用中非常有用,尤其在步进电机控制中。例如:您可以用带有脉冲包络的PTO来控制一台步进电机,来实现一个简单的加速、匀速和减速过程或者一个由最多255段脉冲波形组成的复杂过程,而其中每一段波形都是加速、匀速或者减速操作。图中的示例给出的包络表值要求产生一个输出信号波形包括三段:步进电机加速(第一段);步进电机匀速(第二段)和步进电机减速(第三段)。
对于该实例:启动和最终脉冲频率是2kHz,最大脉冲频率是10 kHz,要求4000个脉冲才能达到期望的电机旋转数。由于包络表中的值是用周期表示的,而不是用频率,需要把给定的频率值转换成周期值。因此,启动(初始)和最终(结束)周期时间是500 µs,相应于最大频率的周期时间是100 µs。在输出包络的加速部分,要求在200个脉冲左右达到最大脉冲频率。也假定包络的减速部分,在400个脉冲完成。
De给定段的周期增量=|ECT--ICT|/Q
其中:End_CTseg =此段的结束周期
Init_CTseg =此段的初始周期
Quantityseg =此段中的脉冲数量
利用这个公式,
分段1(加速):增量周期=--2
分段2(恒速):增量周期=0
分段3(减速):增量周期=1
假定包络表存放在从VB500开始的V存储器区,表给出了产生所要求信号波形的值。该表的值可以在用户程序中用指令放在V存储器中。一种方法是在数据块中定义包络表的值。
段的最后一个脉冲的周期在包络中不直接指定,但必须计算出来(除非周期增量是0)。如果在段之间需要平滑转换,知道段的最后一个脉冲的周期是有用的。计算段的最后一个脉冲周期的公式是:
段的最后一个脉冲的周期时间=ICT+(DEL*(Q--1))
其中:Init_CTseg =该段的初始化周期
Deltaseg=该段的增量周期时间
Quantityseg=该段的脉冲数量
注意:周期增量只能以微秒数或毫秒数指定,周期的修改在每个脉冲上进行
2.3.2、按照下面的公式可以计算完成一个给定波形段的时间长短:
波形段的持续时间=Q*(ICT+((DEL/2)*(Q--1)))
其中:Quantityseg =该段的脉冲数量
ICT=该段的初始化周期时间
DEL=该段的增量周期时间
PTO的特点:每段中的频率变化值都是每个脉冲变化一次,曲线较均匀平滑。可以很好的拟合复杂的曲线。
开环运动控制部分:
1、S7-200提供有开环运动控制的三种方式:
脉宽调制(PWM) --内置于S7-200,用于速度、位置或占空比控制。
脉冲串输出(PTO) --内置于S7-200,用于速度和位置控制。
EM253位控模块--用于速度和位置控制的附加模块。
S7-200提供了两个数字输出(Q0.0和Q0.1),该数字输出可以通过位控向导组态为PWM或PTO的输出。位控向导还可以用于组态EM253位控模块。
当组态一个输出为PWM操作时,输出周期固定,脉宽或脉冲占空比通过您的程序进行控制。脉冲宽度的变化在您程序中可以控制速度或位置。
当组态一个输出为PTO操作时,生成一个50%占空比脉冲串用于步进电机或伺服电机的速度和位置的开环控制。内置PTO功能仅提供了脉冲串输出。您的应用程序必须通过PLC内置I/O或扩展模块提供方向和限位控制。
EM253位控模块提供了带有方向控制、禁止和清除输出的单脉冲输出。另外,专用输入允许将模块组态为包括自动参考点搜索在内的几种操作模式。模块为步进电机或伺服电机的速度和位置开环控制提供了统一的解决方案。
为了简化您应用程序中位控功能的使用,STEP 7--Micro/WIN提供的位控向导可以在几分钟内全部完成PWM、PTO或位控模块的组态。该向导可以生成位控指令,可以用这些指令在应用程序中对速度和位置进行动态控制。对于位控模块,STEP 7--Micro/WIN还提供了一个控制面板,可以控制、监视和测试您的运动操作。
1.1使用PWM (脉宽调制)输出
PWM产生一个占空比变化周期固定的脉冲输出。以指定频率(周期)启动后,PWM持续输出。脉冲宽度根据所需的控制要求进行变化。占空比可以表示为周期的一个百分比或对应于脉冲宽度的一个时间值。脉冲宽度可以从0% (无脉冲,一直为低电平)变化到100% (无脉冲,一直为高电平)。
由于PWM输出可以从0%变化到100%,在很多情况下,它可以提供一个类似于模拟量输出的数字量输出。例如,PWM输出可以用于电机从停止到最大速度的控制,或用于阀从关到全开的位置值控制。
1.2开环位控用于步进电机或伺服电机的基本信息
内置于S7-200 PLC的PTO和EM253位控模块都使用一个脉冲串输出用于步进电机或伺服电机的速度和位置控制。使用PTO或模块用于开环位置控制需要运动控制领域的专业技术。提供基础信息以帮助您使用位控向导为您的应用程序组态PTO或模块、
最大速度和启动/停止速度
向导将提示您应用程序的最大速度(MAX_SPEED)和启动/停止速度(SS_SPEED)。如图
输入加速和减速时间
1.3选择包络的操作模式
您要按照操作模式组态包络。PTO支持相对位置和单一速度的连续转动。而位控模块支持绝对位置、相对位置、单一速度连续转动和以两种速度连续转动
1.4创建包络中的步
一个步是工件运动的一个固定距离,包括加速和减速时间内的距离。PTO每一包络最大允许29个步,而模块的每一包络最大允许4个步。要为每一步指定目标速度和结束位置或
脉冲数目,且每次输入一步。图所示为一步、两步、三步和四步包络。
注意一步包络只有一个匀速段,两步包络有两个匀速段,依次类推。步的数目与包络中匀速段的数目一致
1.5组态PTO输出
1.6通过位控向导创建指令
通过创建五个唯一的指令子程序,位控向导使得控制内置PTO更加容易。每个位控指令都包含前缀“PTOx_”,其中x表示通道编号(x=0时为Q0.0,x=1时为Q0.1
USS_CTRL子程序
PTOx_CTRL子程序(控制)使能和初始化用于步进电机或伺服电机的PTO输出。在您的程序中仅能使用该子程序一次,并保证每个扫描周期该子程序都被执行。一直使用SM0.0作为EN输入的输入。
PTOx_RUN子程序
PTOx_RUN子程序(运行包络)命令PLC在一个指定的包络中执行运动操作,此包络存储在组态/包络表中
PTOx_MAN子程序
PTOx_MAN子程序(手动模式)使PTO输出置为手动模式。这可以使电机在向导中指定的范围(从启动/停止速度到最大速度)内以不同速度启动、停止和运行。如果启用了PTOx_MAN子程序,则不应执行其它任何PTOx_RUN或PTOx_ADV指令。
PTOx_LDPOS指令
PTOx_LDPOS指令(装载位置)改变PTO脉冲计数器的当前位置值为一个新值。您可以使用该指令为任何一个运动命令建立一个新的零位置。
PTOx_ADV子程序
PTOx_ADV子程序停止当前的连续运动包络,并增加向导包络定义中指定的脉冲数。当您在位控向导中指定了至少一个允许PTOx_ADV选项的单速连续转动,则该子程序被创建。
OSx_GOTO指令
指令POSx_GOTO命令位控模块走到指定位置
POSx_RSEEK指令
POSx_RSEEK指令(寻找参考点位置)触发一个参考点寻找操作,使用组态/包络表中的搜寻方式。当位控模块锁定参考点并且运动停止后,位控模块装载参数RP_OFFSET的值作为当前位置并在CLR输出点产生一个50毫秒的脉冲
POSx_LDOFF指令
POSx_LDOFF指令(装载参考点偏移量)建立一个新的零位置,它与参考点位置不在同一处。
OSx_SRATE指令
POSx_SRATE指令(设置速率)命令位控模块改变加速、减速和陡变时间
POSx_DIS指令
指令POSx_DIS可接通或断开位控模块的DIS输出。您可以使用DIS输出来允许或禁止电机控制器。如果您要使用位控模块上的DIS输出,那么,这条指令可以在每一循环周期中调用,或者只在您需要改变DIS输出时调用。
POSx_CLR指令
POSx_CLR指令(触发CLR输出)命令位控模块在CLR输出上生成一个50ms的脉冲。
POSx_CFG指令
POSx_CFG指令(重新装载组态)命令位控模块从组态/包络表指针所指定的地方读取组态块。位控模块将新的组态与现有的组态进行比较并执行所有需要的设置改变或重新计算。
1.5位控模块的特性
位控模块可为您提供单轴、开环位置控制所需要的功能和性能。
提供高速控制,速度从每秒20个脉冲到每秒200,000个脉冲
支持急停(S曲线)或线性的加速、减速功能
提供可组态的测量系统,既可以使用工程单位
(如英寸或厘米)也可以使用脉冲数
提供可组态的螺距误差补偿
支持绝对、相对和手动的位控方式
提供连续操作
提供多达25组的移动包络,每组最多可有4种速度
提供4种不同的参考点寻找模式,每种模式都可对起始的寻找方向和最终的接近方向进行选择
位控模块提供5个数字输入和4个数字输出与您的运动控制应用相连。这些输入输出位于位控模块上。另外还提供了位控模块与一些常用的电机驱动/放大单元的接线图。
组态模块对物理输入的响应
接下来,为LMT+、LMT--、和STP输入选择模块响应。使用下拉框选择:无动作(忽略输入条件),减速至停止(缺省)或立即停止。
输入最大启动和停止速度
为您的应用输入最大速度(MAX_SPEED)和启动/停止速度(SS_SPEED)。S7-200开环运动控制
输入点动参数
接下来,输入JOG_SPEED和JOG_INCREMENT速度值。
JOG_SPEED:JOG_SPEED (电机的点动速度)是JOG命令仍然有效时能够实现的最大速度。
JOG_INCREMENT:瞬时JOG命令移动工具的距离。
输入加速时间
在编辑框中输入加速和减速时间。
输入陡变时间
对于单步运动,输入陡变时间补偿。通过减小运动包络的加速和减速部分的陡变(变化速率)来提供更为平滑的位置控制。参见图。陡变时间补偿也被称为“S曲线包络”。这种补偿同样地作用于加速曲线和减速曲线的开始和结束部分。陡变补偿不能够应用在介于零速和SS_SPEED速度之间的初始段和结束段中。
1.6位控模块所支持的RP寻找模式
1.7选择工作区位置消除螺距误差
-
西门子
+关注
关注
94文章
3039浏览量
115862 -
PWM
+关注
关注
114文章
5186浏览量
213911 -
脉冲
+关注
关注
20文章
889浏览量
95639
原文标题:史上最全的西门子脉冲方式汇总
文章出处:【微信号:GKYXT1508,微信公众号:工控云学堂】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论