S7-200_PLC高速脉冲指令
[整理]s7-200高速计数器详细解说
![[整理]s7-200高速计数器详细解说](https://img.taocdn.com/s3/m/087bfb7ab14e852459fb575d.png)
[整理]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(高速计数器的输入端高速计数器的输入端不像普通输入端那样有用户定义,而是由系统指定的输入点输入信号,每个高速计数器对它所支持的脉冲输入端,方向控制,复位和启动都有专用的输入点,通过比较或中断完成预定的操作。
高速计数及脉冲输出指令

计数方向控制位:0(减计数); 1(增计数)
向HSC中写入计数方向: 0(不更新);1(更新计数方向)
向HSC中写入预置值: 0(不更新);1(更新预置值)
向HSC中写入新的当前值: 0(不更新);1(更新当前值)
HSC允许: 0(禁止HSC);1(允许HSC)
预置值
SMD42 SMD52 SMD62 SMD142 SMD152 SMD162
高速计数及脉冲输出指令
v高速计数器状态位
高速计数器状态字节,其中某些位指出了当前计数方向、当前值与预置 值是否相等、当前值是否大于预置值的状态。可以通过监视高速计数器的 状态位产生相应中断,完成重要操作。但要注意,状态位只有在执行高速 计数器终端程序时才有效。
(2) 在初始化子程序中,对相应高速计数器的控制字节写入希望的控制 字。如要使用HSC1,则对SMB47写入16#F8(2#11111000),表示允许高速 计数器运行,允许写入新的当前值,允许写入新的预置值,可以改变计数 器方向,置计数器的计数方向为增,置启动和复位输入为高电平有效。
(3) 执行HDEF指令,根据所选计数器号和运行模式将高速计数器号与 具体运行模式进行连接。
HSC 高速计数器指令,根据高速计数器特殊存储器位的设置, 按照HDEF指令指定的工作模式,控制高速计数器的工作。
高速计数及脉冲输出指令
高速计数器设置过程
为更好地理解和使用高速计数器,下面给出高速计数器的一般设置过 程。
(1) 使用初始化脉冲触点SM0.1调用高速计数器初始化操作子程序。这 个结构可以使系统在后续的扫描过程中不再调用这个子程序,从而减少了 扫描时间,且程序更加结构化。
I0.0 计数 计数 计数 计数
S7-200脉冲

概述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高速脉冲输出应用前面学习了高速计数器的内容,紧接着我们就来学习一下高速脉冲输出的内容,高速脉冲输出一般是用在运动控制里面,用来控制步进或伺服,高速脉冲输出也是比较重要的一部分,我们必须得掌握好它。
在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-PLC-基本指令

梯形图
操作数
无 无
NOT
NOP N
改变能流输入的状态
空操作
无
N=0~255
正负跳变指令、取反指令、空操作指令的几点规定
1. 正跳变指令(EU)检测到每一次正跳变(触点的输入信号 由0到1),或负跳变指令(ED)检测到每一次负跳变(触点的 输入信号由1到0),让能流接通一个扫描周期。对于正跳变指令 ,一旦发现有正跳变发生(由0到1),该栈顶值被置为1,否则 置0。对于负跳变指令,一旦发现有负跳变发生(由1到0),该 栈顶值被置为1,否则置0。 2. 取反指令(NOT)将它左边电路的逻辑运算结果取反,运算 结果为1,则变为0,为0则变为1。 3. 空操作指令(NOP)不影响程序的执行。
新值同时写到物理输出点和对 应的输出映像寄存器中 bit: Q N的取值范围为 :1~128
RI bit,N
=I bit
说明: “I”表示立即,当指令执行时,新值会同时被写到物理输出点和对 应的输出过程映象寄存器。这一点不同于非立即指令,只把新值写入 过程映像寄存器。
② 立即触点指令 语句表 LDI bit AI bit 功能 常开立即触点与左侧母线相连接 常开立即触点与其他程序段相串联 梯形图 操作数
特殊存储区的简单应用
案例1.
当报警信号I0.0接通时,报警指示灯Q0.1闪烁
例3扩展
特殊存储区,具有闪烁功 能
案例2.
在自动控制系统中,按下启动按钮I0.1,启动指示灯Q0.0输出,为了防止操 作员误动作,因此停止时需两个按钮I0.3及I0.2都按下,系统才能停止,启动 灯灭。
案例3.
水位低报警信号I0.1,故障指示灯Q0.1在有检测到故障时保持闪烁 直到按下复位按钮I0.2,指示灯灭。
SLC的功能指令

复位有效电平控制位;0(高电平有 效),1(低电平有效) 启动有效电平控制位;0(高电平有 效),1(低电平有效) 正交计数器计数速率选择,0(4X),1(1X)
计数方向控制位;0(减计数),1(增计数)
SM37.4 SM37.5 SM37.6 SM37.7
向HSC中写入计数方向;0(不更新),1(更 新计数方向)
返回目录
1.高速脉冲输出指令的格式
PLS Q STL指令
2.高速脉冲的输出方式 高速脉冲输出可分为:
高速脉冲串输出(PTO):提供方波输出,用户控制脉冲周期和脉冲数 宽度可调脉冲输出(PWM):提供连续、占空比可调的脉冲输出,用户 控制脉冲周期和脉冲宽度
返回目录
3.输出端子的连接 每个CPU有两个PTO/PWM发生器产生高速脉冲串和脉冲宽度可调
当前值大于预置值状 态位;0(小于等 于);1(大于)
指出了当前计数方向 当前值与预置值是否相等 当前值是否大于预置值的状态
可以通过监视高速计数器的状态位产生相应中断,完成重要操作。 返回目录
5. 高速计数器设置过程 为更好地理解和使用高速计数器,下面给出高速计数器的一般设置过
程。 (1)使用初始化脉冲触点SM0.1调用高速计数器初始化操作子程序。(这个 结构可以使系统在后续的扫描过程中不再调用这个子程序,从而减少了 扫描时间,且程序更加结构化)。
返回目录
2 指令功能 (1) 定义高速计数器指令(HDEF):
“HSC”端口指定高速计数器编号(0~5), “MODE”端口指定工作模式(0~11,各高速计 数器至多有12种工作模式)。EN端口执行条件 存在时,HDEF指令为指定的高速计数器选定一 种工作模式。在一个程序中,每一个高速计数器 只能使用一次HDEF指令。
S7-200系列PLC编程器的高速计数器使用示例

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.高速计数功能。
西门子S7-200 PLC高速脉冲输出向导使用方法

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个值设定时要以毫秒为单位。
注意:电机的加速和失速时间要过测试来确定。