s7200脉冲设置
- 格式:docx
- 大小:120.38 KB
- 文档页数:4
S7200步进伺服控制
1.步进电机,伺服电机由脉冲进行控制。
2.脉冲转成角度或者距离。
采用西门子标准程序。
后附件西门子标准程序。
3.输入,输出定义
4.各个块的功能
5.使能得信号
6.起停加速时间
7.把电机最高速度比如:3000/分种,单位转换成脉冲/秒。
在转换成毫米/秒
8.把运行速度(匀速)从毫米,从毫米/单位,转换成脉冲/秒,1秒种设定行走多远
9.此参数自动完成计算,无需修改。
10.限位根据设置限位
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.I0.6启动程序,I0.5停止程序,Q0.2改变方向人,Q0.1当前接线反向。
21.开始调试:
22.第一次走到20毫米
23.第二次走到30毫米
24.第三次走到45毫米
25.第四次走到60毫米
26.第五次走到100毫米
27.第六次走到80毫米,这时间就会反向走
有时间大家加我的QQ,一起讨论QQ303074848
2013年11月24日。
S7-200高速脉冲输出应用前面学习了高速计数器的内容,紧接着我们就来学习一下高速脉冲输出的内容,高速脉冲输出一般是用在运动控制里面,用来控制步进或伺服,高速脉冲输出也是比较重要的一部分,我们必须得掌握好它。
在S7-200中有两个PTO/PWM高速脉冲发生器,可以产生高速脉冲串(PTO)或脉宽调制信号波形(PWM)。
在S7-200中有脉冲输出指令PLS,它用来控制在高速脉冲输出(Q0.0和Q0.1)中提供的高速脉冲串输出(PTO)和脉宽调制(PWM)功能。
PTO/PWM与数字量输出过程映像区共用输出点Q0.0和Q0.1,当在Q0.0或Q0.1上激活了PTO/PWM功能时,是会禁止普通输出点功能的,这时Q0.0或Q0.1的输出波形是不受过程映像区状态、输出点强制值或者立即输出指令的影响的,我们使用状态表或趋势图是监控不了的。
要做高速脉冲输出,我们应该选用24VDC晶体管输出的CPU,而不能选用继电器输出的CPU,这是我们要注意的。
高速脉冲输出一般是用在运动控制里面,用来控制步进或伺服。
利用高速脉冲输出实现运动控制,除了有PTO、PWM,还有EM253定位模块,这三种方式都可以实现运动控制,不过要注意的是PTO和PWM可以使用脉冲输出指令PLS和向导来实现,而且PTO方式的甚至还可以使用运动控制库指令来实现,而使用EM253定位模块的话就只能通过向导来实现,而不能使用PLS指令或运动控制库指令。
我们先看一下脉冲串操作PTO,PTO是按照给定的脉冲个数和周期输出一串方波(占空比50%)。
在使用时,我们要设定其脉冲个数和周期,我们要注意的是设定是周期数应该是偶数,如果设定的周期数为奇数的话,是会引起占空比失真的。
而脉宽调制PWM,它是产生一个占空比变化周期固定的脉冲输出的,我们可以设定其周期和脉宽,我们要注意的是当设定的脉宽等于周期时,输出是一直为ON的,当设定的脉宽等于0时,输出是断开的。
一般来说,使用脉冲串PTO会比较多,所以后面学习时也是重点学习脉冲串PTO的。
s7200本体PTO向导脉冲输出功能⼀、S7-200PLC⾼速脉冲输出功能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个值设定时要以毫秒为单位。
S7200高数计数器使用方法S7-200 CPU具有集成的、硬件高速计数器。
CPU221和CPU222可以使用4个30kHz单相高速计数器或2个20kHz的两相高速计数器,而CPU224和CPU226可以使用6个30kHz单相高速计数器或4个20kHz的两相高速计数器。
S7-200的新一代产品CPU224 XP支持更高的计数速度。
高速计数器可以被配置为12种模式中的任意一种,但并不是所有计数器都能使用每一种模式。
在正交模式下,你可以选择一倍速或者四倍速计数速率。
对于操作模式相同的计数器,其计数功能是相同的。
计数器共有四种基本类型:带有内部方向控制的单相计数器,带有外部方向控制的单相计数器,带有两个时钟输入的双相计数器和A/B相正交计数器。
表1. 高速计数器的模式及输入点:模式 描述 输入点 备注 HSCO I0.0 I0.1 I0.2(1)HSC1 I0.6 I0.7 I1.0I1.1(2)HSC2 I1.2 I1.3 I1.4I1.5(2)HSC3 I0.1 (1)HSC4 I0.3 I0.4 I0.5HSC5 I0.4带有内部方向控制的单相计数器 时钟1 时钟 复位2 时钟 复位启动3带有外部方向控制的单相计数器 时钟 方向4 时钟 方向 复位5 时钟 方向 复位启动6带有增减计数时钟的双相计数器 增时钟减时钟7 增时钟减时钟复位8 增时钟减时钟复位启动9A/B相正交计数器 时钟A时钟B10 时钟A时钟B复位11 时钟A时钟B复位启动12 只有 HSC0 和 HSC3 支持模式 12。
HSC0 计数高速脉冲输出 Q0.0;HSC3 计数高速计数脉冲输出 Q0.1。
(1) 支持模式 12。
•高速计数器的实际输入要根据用户选择的高速计数器号和模式来确定,如上表。
例:如果你选择了HSC0的模式1,则你的外部高速计数输入点应接在I0.0,外部复位点应接在I0.2。
•如果用户使用了多个高速计数器,则被某一高速计数器占用了的输入点,其它高速计数器不能再使用。
S7-200的高速脉冲输出在需要对负载进行高精度控制时,如对步进电机的控制,需要对步进电机提供一系列的脉冲,高速种需求而开发的。
1.1高速脉冲输出---输出端子的确定S7-200只有输出继电器Q0.0和Q0.1具有高速脉冲输出功能,不用高速脉冲时,作普通的数字1.2高速脉冲输出的形式高速脉冲输出有两种的形式:高速脉冲序列(或称高速脉冲串)输出PTO脉冲宽度调制输出PWM可通过特殊继电器来定义输出的形式1.3高速脉冲输出相关寄存器每个高速脉冲发生器对应一定数量特殊标志寄存器,这些寄存器包括控制字节寄存器、状态字用以控制高速脉冲的输出形式、反映输出状态和参数值。
1.4编程中的脉冲输出指令PLS指令功能:EN有效,检测各相关寄存器的状态,激活由控制字节定义的高速脉冲输出操作。
Q取0或图1.4‑12PWM简介及编程运用PWM(Pulse WidthModulation脉冲调制)宽度可调脉冲输出PWM功能提供带变量占空比的固定周期输出。
可以微秒或毫秒为时间基准指定周期和脉宽。
2.1S7-200的PWMS7-200有两台PWM发生器,建立高速脉冲串或脉宽调节信号信号波形。
一台发生器指定给数字指定给数字输出点Q0.1。
一个指定的特殊内存(SM)位置为每台发生器存储以下数据:一个控制字值(一个不带符号的32位值)和一个周期和脉宽值(一个不带符号的16位值)。
PWM功能在Q0.0或Q0.1位置现用时,PWM发生器控制输出,并禁止输出点的正常使用。
输出信号态、点强迫数值、执行立即输出指令的影响。
如图2.1‑1图2.1‑12.2 PWM周期和脉冲宽度脉冲宽度为16为无符号数,脉冲宽度增量单位为us或ms。
范围0~65535,占空比为0~100%。
当输出将连续接通。
为0时,输出一直被关断。
如表1表1周期和脉冲宽度脉宽时间/周期反应脉宽时间 >=周期值占空比为100%:输出连续运行。
脉宽时间 = 0占空比为0%:输出关闭。
说明:S7-200 提供了利用高速计数器计数脉冲串的选项。
使用附件 "Frequency" library, 脉冲串的频率从计数器信号中计算出来,例如,相关的转化之后,从计数器信号中可以确定电机的速度。
1. 定义一个高速计数器来获取脉冲串频率首先,使用STEP 7 Micro/WIN Instruction Wizard 必须用一个高速脉冲计数器来计算外部脉冲。
表格01 列出了S7-200 可以提供的高速计数器,输入使用和最大的可测量频率。
表格01程序:1、通过“工具”菜单打开STEP 7 Micro/WIN 中的Instruction Wizard 菜单。
2、通过“工具”菜单打开STEP 7 Micro/WIN 中的Instruction Wizard 菜单。
3、将模式设置到“0”进行单相的上下计算,选择一个计数器(比如“HC4”)。
请参照表01选择高速计数器4、设置子程序,计数器预调整,计数器值和计数方位。
点击“Next”。
5、在下面的窗口中,还是预设置,不要给“Interrupt on Current Value equal Preset Value (CV = PV)”设置复选标记。
6、点击“完成”按钮关闭Instructions Wizard 。
表格022. 创建程序代码1、在操作块的网络1 中使用比特SM0.1 初始值来调用Instructions Wizard 为高速计数器产生的初始区组。
2、在网络2 中使用下表中的相同名字,从库中循环调用SM0.0“频率”块。
通过“Active”输入来使能功能块(如果未使能,那么“Hz”输出参数值为“0”)。
将 Instructions Wizard 选择的计数器填入“Counter”地址。
使用任意的双字地址(格式: REAL)填入到输入输出参数“Hz”上,用来以赫兹为单位显示测量出的频率值。
通过Data Log 功能,可以使“Trigger”根据频率特性输出一个脉冲信号。
S7-200 PLC脉冲输出MAP库文件的使用1概述S7--200提供了三种方式的开环运动控制:•脉宽调制(PWM)--内置于S7--200,用于速度、位置或占空比控制。
•脉冲串输出(PTO)--内置于S7--200,用于速度和位置控制。
•EM253位控模块-用于速度和位置控制的附加模块。
S7—200的内置脉冲串输出提供了两个数字输出通道(Q0.0和Q0.1),该数字输出可以通过位控向导组态为PWM或PTO的输出。
当组态一个输出为PTO操作时,生成一个50%占空比脉冲串用于步进电机或伺服电机的速度和位置的开环控制。
内置PTO功能仅提供了脉冲串输出。
您的应用程序必须通过PLC内置I/O或扩展模块提供方向和限位控制。
PTO按照给定的脉冲个数和周期输出一串方波(占空比50%),如图1。
PTO 可以产生单段脉冲串或者多段脉冲串(使用脉冲包络)。
可以指定脉冲数和周期(以微秒或毫秒为增加量):•脉冲个数:1 到4,294,967,295•周期:10RS(100K)至U 65535As 或者2ms 至U 65535ms。
图1200系列的PLC的最大脉冲输出频率除CPU224XP以外均为20kHz°CPU224XP 可达100kHz。
如表1所示:2 MAP库的应用2.1MAP库的基本描述现在,200系列PLC本体PTO 提供了应用库MAP SERV Q0.0和MAP SERVQ0.1,分别用于Q0.0和Q0.1的脉冲串输出。
如图2所示:图2注:这两个库可同时应用于同一项目。
各个块的功能如表2所示:表2总体描述该功能块可驱动线性轴。
为了很好的应用该库,需要在运动轨迹上添加三个限位开关,如图3:一个参考点接近开关(home),用于定义绝对位置C_Pos的零点。
•两个边界限位开关,一个是正向限位开关(Fwd_Limit), 一个是反向限位开关(Rev_Limit)。
C_Pos的计数值格式为・绝对位置DINT ,所以其计数范围为(-2.147.483.648 to+2.147.483.647).ASmin以避免物件滑出轨道尽头。
s7200如何将采集的模拟量转换成脉冲量输
出
s7200如何将采集的模拟量转换成脉冲量输出
需求是将采集到得模拟量转换成脉冲量(连续线性的关系)控制伺服电机
问题补充:
由于是控制伺服电机针对模拟量的大小变化还需控制伺服电机的正反转即实时比较实时正转或反转
最佳答案
脉冲个数固定为10个或者50个一次。
然后不断的变化脉冲的周期。
让脉冲发完一段再一段。
脉冲周期就用线性转换把模拟量转成周期值。
至于如何发脉冲,请参考论坛里的s7-200如何实现发送无限脉冲?。
至于如何线性转换,论坛里有。
搜索“线性转换”。
s7-200高速脉冲计数器及PTO 和PWM高速脉冲计数器高速计数器专用输入高速计数器使用的输入有些高速计数器和边缘中断的输入点赋值存在某些重叠。
同一个输入不能用于两种不同的功能;但是高速计数器当前模式未使用的任何输入均可用于其他目的。
例如,如果在模式2中使用HSC0,模式2使用I0.0和I0.2,那么I0.1可用于边缘中断或用于HSC3。
如果所用的HSC0模式不使用输入I0.1,那么该输入可用于HSC3或边缘中断。
与此相似,如果所选的HSC0模式不使用I0.2,那么该输入可用于边缘中断;如果所选HSC4模式不使用I0.4,那么该输入可用于HSC5。
请注意HSC0的所有模式均使用I0.0,HSC4的所有模式均使用I0.3,因此当使用这些计数器时,这些输入点绝不会用于其他用途。
HSC说明〔中断描述〕输入点模式HSC0HSC1HSC2HSC3HSC4HSC5具有内部方向控制的单相计数器时钟1 时钟复位2 时钟复位启动3具有外部方向控制的单相计数器时钟方向4 时钟方向复位5 时钟方向复位启动6具有两个时钟输入的双向计数器增计数脉冲减计数脉冲7 增计数脉冲减计数脉冲复位8 增计数脉冲减计数脉冲复位启动9A/B相正交计数器时钟脉冲A时钟脉冲B10 时钟脉冲A时钟脉冲B复位11 时钟脉冲A时钟脉冲B复位启动12 仅HSC0和HSC3支持模式12。
HSC0计数输出的脉冲数。
HSC3计数输出的脉冲数。
四台计数器有三个控制位,用于配置复原和起始输入的激活状态并选择1x或4x计数模式〔仅限正交计数器〕。
这些控制位位于各自计数器的控制字节内,只在执行HDEF指令时才使用。
执行HDEF指令之前,必须将这些控制位设为所需的状态,否那么计数器采用所选计数器模式的默认配置。
复原输入和起始输入的默认设置为现用水平高,正交计数速率为4x〔或4乘以输入时钟频率〕。
一旦执行了HDEF 指令,就不能再改变计数器设置,除非首先将CPU设为STOP〔停止〕模式。
S7-200系列PLC编程器的使用示例
Siemens编程器S7-200系列用在中小型设备上的自动系统的控制单元,适用于各行各业,各种场合中的检测,监测及控制。
在这里,和大家一起来讨论S7-200几个使用方面的情况。
1.步进,伺服脉冲定位控制。
在设备的控制系统中,有关运动控制是很重要的,下面我们来看一看西门子S7-200系列PLC怎样来实现这
个功能。
首先,确定使用哪个端口来发脉冲,如采用Q0.0发脉冲,则它的控制字为SMB67,脉冲同期为SMW68,脉
冲个数存放在SMD72中,
下面是控制字节的说明:
Q0.0 Q0.1 控制字节说明
SM67.0 SM77.0 PTO/PWM更新周期值0=不更新,1=更新周期值
SM67.1 SM77.1 PWM更新脉冲宽度值0=不更新,1=脉冲宽度值
SM67.2 SM77.2 PTO更新脉冲数0=不更新,1=更新脉冲数
SM67.3 SM77.3 PTO/PWM时间基准选择0=1微秒值,1=1毫秒值
SM67.4 SM77.4 PWM更新方法0=异步更新,1=同步更新
SM67.5 SM77.5 PTO操作0=单段操作,1=多段操作
SM67.6 SM77.6 PTO/PWM模式选择0=选择PTO,1=选择PWM
SM67.7 SM77.7 PTO/PWM允许0=禁止PTO/PWM,1=允许
这样根据以上表格,我们得出Q0.0控制字:SMB67为:10000101,采用PTO输出,微妙级周期,发脉冲的周期(也就是频率)与脉冲个数都要重新输入。
10000101转化为16进制为85,有了控制字以后,我们来写这一段程序:
根据上面这段程序,我们知道了控制字的使用,同时也知道步进电机的脉冲周期与冲个数的存放位置(对Q0.0来说是SMW68与SMD72)。
当然,VW100与VD102内的数据不同的话,步进电机的转速和转动圈数就不一样。
还有一点需要说明得是:M0.0导通---PLC捕捉到上升沿发动脉冲输出后,想停止的话,只须改变端口脉冲的控制字,再启动PLS即可,程序如下:
2.高速计数功能。
西门子S7-200系列PLC具有高速计数的功能;举一例子来谈谈高速计数的用途,我们采用普通电机来带动丝杆转动,我们想控制转动距离,怎么来解决这个问题?那么我们可在电机另一头与一编码器联接,电机转一圈,编码器也随之转一圈,同时根据规格发出不同的脉冲数。
当然,这些脉冲数的频率比较高,PLC不能用普通的上升沿计数来取得这些脉冲,只能通过高速计数功能了。
启动高速计数功能,也要具有控制字
HSCO HSC1 描述
SM37.0 SM47.0 复位有效电平控制位0=高电平有效,1=低电平有效
SM37.1 SM47.1 启动有效电平控制位于0=高电平有效,1=低电平有效
SM37.2 SM47.2 正交计数器速率选择0=4X计数率,1=1X计数率
SM37.3 SM47.3 计数方向控制位0=减计数,1=正计数
SM37.4 SM47.4 向HSC中写入计数方向0=不更新,1=更新计数方向
SM37.5 SM47.5 向HSC中写入预置值0=不更新,1=更新预置值
SM37.6 SM47.6 向HSC中写入当前值0=不更新,1=更新当前值
SM37.7 SM47.7 HSC允许0=禁止HSC,1=允许HSC
参照上面的表格,我们选择HSC1高速计数器,控制字为SMB47,现在我们启动高速计数器HSC1,选择为增计数,更新计数方向,重新设置值,更新当前值:这样的话,HSC1的启动控制高为:11111000转化为16进制为
F8,将启动计数器时当前值存放在SMD48中,将预存置放在SMD52中,具体的程序如下:
同样的,如果计数器在工作状态下想停止计数器,也必须改变它的控制字后,启动HSC具体程序如下:
3PID回路控制功能。
西门子S7-200系列PLC的PID控制相当的简单,可以通过micro/win软件的一个向导程序,按照提示,一步一步执行您所要求PID控制的属性即可,在这里谈一谈PID这三个参数的具体意义:P为增益项,P越大,响应起就快,在调节流量阀时:设定流量为50%,当目前流量接近50%,刚超过,如果P值很大的话,那么流量阀会马上会关闭,而不会控制在某一区域。
这就是增益项太大引起。
在调节的过程中应该先将P值调节比较适当了,再去调节I 值,它为积分项,是在控制器回路中控制对当前值与设定值相等的偏差范围。
D为微分项,主要作用是避免给定值的微分作用而引起的跳变。
在现场的PID参数的调整过程中,针对西门子S7-200型PLC我的建议是在不同的控制阶段,采用不同的PID参
数组,具体而言就是当目前距离设定值差距较大时,采用P值较大的一套PID参数,如果当前值快接近设定值范围时,采用P值较小的一套PID参数。