S7-200_PLC高速脉冲指令
- 格式:pdf
- 大小:8.42 MB
- 文档页数:44
[整理]s7-200高速计数器详细解说s7-200高速计数器详细解说1.高速计数器指令普通计数器受CPU扫描速度的影响,是按照顺序扫描的方式进行工作。
在没个扫描周期中,对计数脉冲只能进行一次累加;对于脉冲信号的频率比PLC的扫描频率高时,如果仍采用普通计数器进行累加,必然会丢失很对输入脉冲信号。
在PLC 中,对比扫描频率高的输入信号的计数可也使用高速计数器指令来实现。
在S7-200的CPU22X中,高速计数器数量及其地址编号表如下CPU类型 CPU221 CPU222 CPU224 CPU226 高速计数器数量 4 6 高速计数器编号 HC0,HC3~HC5 HC0~HC51(高速计数器指令高速计数器的指令包括:定义高速计数器指令HDEF 和执行高速计数指令HSC,如表HDEF HSC(1) 定义高速计数器指令HDEFHDE指令功能是为某个要使用的高速计数器选定一种工作模式。
每个高速计数器在使用前,都要用HDEF指令来定义工作模式,并且只能用一次。
它有两个输入端:HSC为要使用的高速计数器编号,数据类型为字节型,数据范围为0~5的常数,分别对应HC0~HC5;MOCE为高速计数的工作模式,数据类型为字节型,数据范围为0~11的常数,分别对应12种工作模式。
当准许输入使能EN有效时,为指定的高速计数器HSC 定义工作模式MODE。
(2)执行高速计数指令HSCHSC指令功能功能是根据与高速计数器相关的特殊继电器确定在控制方式和工作状态,使高速计数器的设置生效,按照指令的工作模式的工作模式执行计数操作。
它有一个数据输入端N:N为高速计数器的编号,数据类型的字型,数据范围为0~5的常数,分别对应高速计数器HC0~HC5.当准许输入EN使能有效时,启动N号高速计数器工作。
2(高速计数器的输入端高速计数器的输入端不像普通输入端那样有用户定义,而是由系统指定的输入点输入信号,每个高速计数器对它所支持的脉冲输入端,方向控制,复位和启动都有专用的输入点,通过比较或中断完成预定的操作。
概述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•周期:10μs(100K)到65535μs或者2ms到65535ms。
图1200系列的PLC的最大脉冲输出频率除CPU224XP 以外均为20kHz。
CPU224XP可达100kHz。
如表1所示:表12 MAP库的应用2.1 MAP库的基本描述现在,200系列PLC 本体PTO 提供了应用库MAP SERV Q0.0 和MAP SERV Q0.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).•如果一个限位开关被运动物件触碰,则该运动物件会减速停止,因此,限位开关的安置位置应当留出足够的裕量ΔSmin 以避免物件滑出轨道尽头。
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的。
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=选择PWMSM67.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.高速计数功能。
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个值设定时要以毫秒为单位。
注意:电机的加速和失速时间要过测试来确定。
s7-200高速计数器详细解说一、高速计数器普通计数器是通过两次扫描中输入端子的电平变化实现计数的,可以用普通的寄存器通过加1指令实现。
特点是受扫描的影响,只能用于低频脉冲计数。
高速脉冲使用PLC内部的高速计数器,各种PLC都内置高速计数器。
S7-200 CPU具有集成的、硬件高速计数器。
CPU221和CPU222可以使用4个30kHz单相高速计数器或2个20kHz的两相高速计数器,而CPU224和CPU226可以使用6个30kHz单相高速计数器或4个20kHz的两相高速计数器。
高速计数器的主要功能就是对主机实际转速反馈进行测量,这是电子调速器的一项重要功能,因为主机实际转速反馈测量的准确与否直接关系到保证主机转速稳定,保证主机运行的安全。
重点介绍了S7-200 PLC高速计数器。
在开发研制中发现,采用S7-200 PLC高速计数器可以非常准确地对电动机实际转速反馈进行测量,而且硬件实现非常简单,价格也比较低,具有很大的应用价值。
(一)概述普通计数器是通过两次扫描输入端子电平变化来进行计数的,因此其端子输入脉冲的频率必须必扫描频率低得多。
对于高速脉冲而言,这种方法会出现丢失脉冲导致计数错误。
S7-200内置了高速计数器HSC,其工作情况类似于单片机中的计数器。
起动后不受扫描周期的影响,由硬件自动计数,当满足一定条件时发出中断申请。
其最高技术频率高达30KHz。
S7-200的计数器最多可以设置12种不同的工作模式,用于实现高速运动的精确控制。
S7-200还设有高速脉冲输出,输出频率可以高达20KHz。
用于PTO(脉冲串输出,输出一个频率可调,占空比50%的脉冲。
)和PWM(脉宽调制脉冲)。
PTO用于带有位置控制功能的步进电机控制或者伺服电机驱动器控制,通过输出脉冲的个数作为位置给定值的输入,以实现定位控制功能。
通过改变脉冲的输出频率,可以改变运动的速度。
PWM用于直接驱动调速系统或运动控制系统的输出,控制主逆变回路。
1、主程序先正转,等到正转完了就中断,中断中接通个辅助触点(M0.X),当M.0X闭合,住程序中的反转开始运做。
这样子就OK了。
2、用PTO指令让Q0.0 OR Q0.1高速脉冲,另一个点如Q0.2做方向信号,就可以控制正反转了,速度快慢就要控制输出脉冲周期了,周期越短速度越快,如果你速度很快的话请考虑缓慢加速,不然它是启动不了的,如果方向也变的快的话就要还做一个缓慢减速,不然它振动会蛮厉害,而且也会失步。
3、程NETWORK 1 // 用于单段脉冲串操作的主程序(PTO)// 首次扫描时,将映像寄存器位设为低// 并调用子程序0LD SM0.1R Q0.0 1CALL SBR_0NETWORK 1 // 子程序0开始LD SM0.0MOVB 16#8D SMB67 // 设置控制字节:// - 选择PTO操作// - 选择单段操作// - 选择毫秒增加// - 设置脉冲计数和周期数值// - 启用PTO功能MOVW +500 SMW68 // 将周期设为500毫秒。
MOVD +4 SMD72 // 将脉冲计数设为4次脉冲。
ATCH INT_0 19 // 将中断例行程序0定义为// 处理PTO完成中断的中断。
ENI // 全局中断启用PLS 0 // 激活PTO操作,PLS0 =》Q0.0MOVB 16#89 SMB67 // 预载控制字节,用于随后的// 周期改动。
NETWORK 1 // 中断0开始// 如果当前周期为500毫秒:// 将周期设为1000毫秒,并生成4次脉冲LDW= SMW68 +500MOVW +1000 SMW68PLS 0CRETINETWORK 2// 如果当前周期为1000毫秒:// 将周期设为500毫秒,并生成4次脉冲LDW= SMW68 +1000MOVW +500 SMW68PLS 0序注释艾驰商城是国内最专业的MRO工业品网购平台,正品现货、优势价格、迅捷配送,是一站式采购的工业品商城!具有10年工业用品电子商务领域研究,以强大的信息通道建设的优势,以及依托线下贸易交易市场在工业用品行业上游供应链的整合能力,为广大的用户提供了传感器、图尔克传感器、变频器、断路器、继电器、PLC、工控机、仪器仪表、气缸、五金工具、伺服电机、劳保用品等一系列自动化的工控产品。
S7—200的高速脉冲输出在需要对负载进行高精度控制时,如对步进电机的控制,需要对步进电机提供一系列的脉冲,高速脉需求而开发的。
1.1高速脉冲输出---输出端子的确定S7—200只有输出继电器Q0.0和Q0。
1具有高速脉冲输出功能,不用高速脉冲时,作普通的1.2高速脉冲输出的形式高速脉冲输出有两种的形式:高速脉冲序列(或称高速脉冲串)输出PTO脉冲宽度调制输出PWM可通过特殊继电器来定义输出的形式1.3高速脉冲输出相关寄存器每个高速脉冲发生器对应一定数量特殊标志寄存器,这些寄存器包括控制字节寄存器、状态字用以控制高速脉冲的输出形式、反映输出状态和参数值。
1。
4编程中的脉冲输出指令PLS指令功能:EN有效,检测各相关寄存器的状态,激活由控制字节定义的高速脉冲输出操作。
Q取0或1图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 PLC指令学习S7-200系列的基本逻辑指令S7-200系列的基本逻辑指令与FX系列和CPM1A系列基本逻辑指令大体相似,编程和梯形图表达方式也相差不多,这里列表表示S7-200系列的基本逻辑指令(见表)。
表S7-200系列的基本逻辑指令S7-200系列PLC的比较指令在SIEMENS S7-200的编程软件STEP-7中,有专门的比较指令:IN1与IN2比较,比较的数据类型可以是B、I(W)、D、R,即字节、字整数、双字整数和实数;还可以有其他的比较式:>、<、≥、≤、<>等等。
当满足比较等式,则该触点闭合。
与LMODSOFT指令对照:在LMODSOFT中,没有直接的数的比较指令,但SUB指令可以通过其执行减法功能后的三个输出端的状态实现整数的比较功能。
若与LMODSOFT 中的SUB指令对应,则在STEP-7中应有三个比较指令: >、=、< 来分别对应SUB 指令的三个输出;若还要对应≥、≤、或<>,则根据SUB指令三个输出端的不同组合,均可找到对应的比较指令。
比如:①(30007)>(40030)②(30007)=(40030)③ (30007)<(40030)①+②(30007)≥②+③(30007)≤(40030)①+③(30007)<>(40030)S7-200系列PLC的定时器指令类型、编号及分辨率TON——接通延时TONR——有记忆接通延时TOF——断开延时3种分辨率(时基):1ms、10ms、100ms——分别对应不同的定时器号定时器6个要素:指令格式(时基、编号等)预置值——PT使能——IN 复位——3种定时器不同当前值——Txxx 定时器状态(位)——可由触点显示定时值=时基×预置值PT。
由于定时器的计时间隔与程序的扫描周期并不同步,定时器可能在其时基(1ms、10ms、100ms)内任何时间启动,所以,未避免计时时间丢失,一般要求设置PT预置值必须大于最小需要的时间间隔。
经典讲解S7-200PLC的PWM输出向导,请查收S7-200 SMART CPU 提供脉冲宽度调制功能(PWM),使用向导或特殊寄存器(SM)控制CPU集成的高速输出点,最多可实现三路PWM输出,三个输出点分别为Q0.0、Q0.1和Q0.3。
PWM是指占空比可变、周期固定的脉冲。
PWM输出以指定频率(循环时间)启动之后将连续运行。
脉宽则根据所需要的控制要求而变化。
占空比可表示为周期的百分比或对应于脉冲宽度的时间值。
一、如何使用向导组态设置PWM除了直接使用设置特殊寄存器发送PWM,还可以使用软件中提供的向导。
下面使用个具体的例子来说明如何使用向导设置PWM。
假设发送的脉冲周期为100ms,脉冲宽度为50ms,使用Q0.0发送PWM。
具体组态步骤如下所述。
1、首先,在“工具”菜单功能区选择PWM,弹出向导组态界面,然后激活PWM0。
S7-200 SMART总共支持3个PWM输出。
2、选择脉冲的时基为毫秒或者微秒。
3、时基组态完毕,单击“生成”按钮(Generate),会生成一个名为PWM0_RUN 子程序,在项目树的调用子程序文件夹中可以找到此子程序。
4、调用生成的程序块调用PWM0_RUN,设置Cycle(周期)=100,Pulse(脉冲宽度,注:Pulse中文直译为脉冲的意思,但此处需翻译为脉宽,Pulse Width)=50,触发M0.0后,Q0.0就会输出周期为100ms、占空比为50%的连续方波。
二、使用SM特殊寄存器设置PWMPWM功能除了使用PWM向导配置以外,还可以使用特殊寄存器进行配置,特殊寄存器每个位的定义都不同,用户可以对照特殊寄存器的定义表,分别设置每个位,最后组成控制字节,由程序写入。
下面用一个具体的例子来说明,如何通过设置特殊寄存器来发送PWM。
假如需要发送的脉冲周期为100ms,脉宽为30ms,发送脉冲的输出点为Q0.0。
①使用M0.0上升沿触发,将控制字16#8B送入SMB67,16#8B 对应的功能为:使能Q0.0的PWM功能,使能更新脉冲周期、脉冲宽度,使用1ms时基。
最专业的PLC知识讲解:PLC高速脉冲输出指令基本指令和顺序控制指令是PLC最常用的指令,为了适应现代工业自动控制需要,PLC制造商开始逐步为PLC增加很多功能指令,功能指令使PLC具有强大的数据运算和特殊处理功能,从而大大扩展了PLC的使用范围。
S7-200 PLC 内部有两个高速脉冲发生器,通过设置可让它们产生占空比为50%、周期可调的方波脉冲(即PTO脉冲),或者产生占空比及周期均可调节的脉宽调制脉冲(即PWM脉冲)。
占空比是指高电平时间与周期时间的比值。
PTO脉冲和PWM脉冲如图1所示。
图1 PTO脉冲和PWM脉冲说明在使用脉冲发生器功能时,其产生的脉冲从Q0.0和Q0.1端子输出,当指定一个发生器输出端为Q0.0时,另一个发生器的输出端自动为Q0.1,若不使用脉冲发生器,这两个端子恢复普通端子功能。
要使用高速脉冲发生器功能,PLC应选择晶体管输出型,以满足高速输出要求。
一、指令说明高速脉冲输出指令说明如下:二、高速脉冲输出的控制字节、参数设置和状态位要让高速脉冲发生器产生合符要求的脉冲,须对其进行有关控制及参数设置,另外,通过读取其工作状态可触发需要的操作。
1.控制字节高速脉冲发生器的控制采用一个SM 控制字节(8位),用来设置脉冲输出类型(PTO或PWM)、脉冲时间单位等内容。
高速脉冲发生器的控制字节说明见表5-14,例如当SM67.6=0时,让Q0.0端子输出PTO脉冲;当SM77.3=1时,让Q0.1端子输出时间单位为ms的脉冲。
表1 速脉冲发生器的控制字节2.参数设置高速脉冲发生器采用SM存储器来设置脉冲的有关参数。
脉冲参数设置存储器说明见表2,例如SM67.3=1,SMW68=25,则将脉冲周期设为25ms。
表2 脉冲参数设置存储器3. 状态位高速脉冲发生器的状态采用SM位来显示,通过读取状态位信息可触发需要的操作。
高速脉冲发生器的状态位说明见表3,例如SM66.7=1表示Q0.0端子脉冲输出完成。