S7-200PLC 调试技巧 如何执行有限次数的扫描
PLC的扫描工作方式

PLC的工作原理PLC采用循环扫描的工作方式,在PLC中用户程序按先后顺序存放,CPU从第一条指令开始执行程序,直到遇到结束符后又返回第一条,如此周而复始不断循环。
PLC的扫描过程分为内部处理、通信操作、程序输入处理、程序执行、程序输出几个阶段,全过程扫描一次所需的时间称为扫描周期。
当PLC处于停状态时,只进行内部处理和通信操作服务等内容。
在PLC处于运行状态时,从内部处理、通信操作、程序输入、程序执行、程序输出,一直循环扫描工作。
1.输入处理输入处理也叫输入采样。
2.程序执行根据PLC梯形图程序扫描原则,按先左后右先上后下的步序,逐句扫描,执行程序。
3.输出处理程序执行完毕后,将输出映象寄存器,即器件映象寄存器中的Y寄存器的状态,在输出处理阶段转存到输出锁存器,通过隔离电路,驱动功率放大电路,使输出端子向外界输出控制信号,驱动外部负载。
PLC执行程序的过程分为三个阶段,即输入采样阶段、程序执行阶段、输出刷新阶段,PLC的扫描工作过程如图所示。
(1)输入采样阶段。
在这一阶段中,PLC以扫描方式读入所有输入端子上的输入信号,并将各输入状态存入对应的输入映像寄存器中。
此时,输入映像寄存器被刷断。
在程序执行阶段和输出刷新阶段中,输入映像存储器与外界隔离,其内容保持不变,直至下一个扫描周期的输入扫描阶段,才被重新读入的输入信号刷新。
可见,PLC在执行程序和处理数据时,不直接使用现场当时的输入信号,而使用本次采样时输入到映像区中的数据。
一般来说,输入信号的宽度要大于一个扫描周期,否则可能造成信号的丢失。
(2)程序执行阶段。
在执行用户程序过程中,PLC按照梯形图程序扫描原则,一般来说,PLC按从左至右、从上到下的步骤逐个执行程序。
但遇到程序跳转指令,则根据跳转条件是否满足来决定程序跳转地址。
程序执行过程中,当指令中涉及输入、输出状态时,PLC就从输入映像寄存器中“读入”对应输入端子状态,从输出映像寄存器“读入”对应元件(“软继电器”)的当前状态。
西门子PLC循环计数的操作方法

对于单段PTO操作,您可以使用中断例行程序或子例行程序改变循环时间和脉冲计数。
欲使用单段 PTO操作更改中断例行程序或PTO循环时间和脉冲计数,请遵循下列步骤:1. 设置控制字节(启用PTO/PWM功能、选择PTO操作、选择时基、设置更新循环时间和脉冲计数数值),方法是在SMB67: 16#85(用于微秒)或16#8D (用于毫秒)中载入以下两个数值之一。
2. 在SMW68中,载入新循环时间的一个字尺寸数值。
3. 在SMC72中,载入新脉冲计数的一个双字尺寸数值。
4. 执行PLS指令,使S7-200为PTO/PWM生成器编程。
用更新脉冲计数和脉冲时间波形输出开始之前,西门子PLC必须完成所有进行中的PTO。
5. 退出西门子PLC的中断例行程序或子例行程序。
PTO初始化-多段操作通常,您用一个西门子plc的子例行程序为多段操作的脉冲输出配置和初始化PTO。
您从TPC1561HI的主程序调用初始化子例行程序。
使用首次扫描内存位¨ SM0.1)将PTO使用的输出初始化为0,并调用子例行程序,执行初始化操作。
当您使用“首次扫描”位调用初始化子例行程序从主程序建立对初始化例行程序的调用后,使用以下步骤建立控制逻辑,用于在初始化子例行程序中配置脉冲输出 Q0.0:使用首次扫描内存位(SM0.1)将输出初始化为0,并调用您所需的子例行程序,执行初始化操作。
这样会降低扫描时间执行,并提供结构更严谨的程序。
1. 通过将以下一个数值载入SMB67: 16#A0(选择微秒递增)或16#A8(选择毫秒递增)的方法配置控制字节。
艾驰商城是国内最专业的MRO工业品网购平台,正品现货、优势价格、迅捷配送,是一站式采购的工业品商城!具有 10年工业用品电子商务领域研究,以强大的信息通道建设的优势,以及依托线下贸易交易市场在工业用品行业上游供应链的整合能力,为广大的用户提供了传感器、图尔克传感器、变频器、断路器、继电器、PLC、工控机、仪器仪表、气缸、五金工具、伺服电机、劳保用品等一系列自动化的工控产品。
第六章S7-200PLC功能指令二

在局部变量表中赋值时,只需指定局部变量的类 型(TEMP、IN、IN_OUT或OUT)和数据类型,不 用指定存储器地址,程序编辑器按照子程序指令的 调用顺序,将参数值分配给局部变量存储器,起始 地址是L0.0;8个连续位的参数值分配一个字节,从 LX.0到LX.7。
4、在局部变量表中增加新的变量
S7-200的CPU中可响应最多34个中断事件,见下表。
②一至八个连续位参数值被指定给从Lx.0开始 持续至Lx.7的单字节。
③字节、字和双字数值被指定给局部内存,位于 字节边界(LBx、LWx或LDx)位置。在带参数的 “调用子程序”指令中,参数必须与子程序局部变量 表中定义的变量完全匹配。参数顺序必须以输入参数 开始,其次是输入/输出参数,然后是输出参数。
三、建立子程序
在“编辑”菜单中执行命令“插入”→“子程序”;
在程序编辑器视窗中点击鼠标右键,从弹出的菜单中 执行命令“插入”→“子程序”;
新建的子程序,默认的程序名是SBR_n,编号 n从0(0~63)开始按递增顺序生成。用鼠标右键点 击指令树中的子程序的图标,在弹出的菜单中选择 “重新命名”,可以修改它们的名称。注意: CPU226的项目中最多可以创建128个子程序。
二、中断源及中断事件
1、中断源及种类
中断源,即中断事件发出中断请求的来源。S7200PLC具有最多可达34个中断源,每个中断源都分 配一个编号用以识别,称为中断事件号。这些中断 源大致分为三大类:通信中断、输入输出中断和时 基中断。
S7-200中,过程中断分为通信中断和输入输 出中断。通信中断包括通信口0和通信口1产生的中 断;输入输出中断包括外部输入中断、高速计数器 中断和高速脉冲串输出中断。
四、子程序的调用(CALL指令)
PLC的扫描周期

PLC的扫描周期PLC的扫描周期:程序执行一遍的时间,取决于程序的长短及指令的执行时间。
●对于S7-200系列PLC,可以在通过菜单”PLC→信息”获得当前运行的PLC的扫描周期。
也可以通过访问特殊存储区来获知扫描周期。
●最后的周期时间请查看SMW22。
●最后一次从STOP 转换到RUN 的最短运行周期请查看SMW24。
●最长的运行周期请查看SMW26在选型时,PLC的主CPU的指令运算速度是我们经常参考的指标之一。
但是不是CPU的运算速度越快就越好呢?答案是否定的,不仅仅是成本的原因,当然运算速度越快的CPU的价格会越昂贵,更主要的的是过快的运算速度和过少的控制程序会导致过短的程序扫描周期,从而引发系统的不稳定。
比如PLC要读取一个按钮的输入信号,由于机械触点存在的振动,通过示波器我们可以观察到按钮的输入信号波形实际是一串脉冲最后稳定于高电平的波形。
如果CPU的扫描周期超过10毫秒时,系统只能读取到一次高低电平的变化,而如果CPU的扫描周期小于5毫秒时,则系统可能读取到2-3次高低电平的变化,这就会给一些利用单键按钮来控制的系统带来小小的麻烦,最后不得不在程序中为单键按钮信号加上软件延时滤波程序。
相反,CPU的指令运算速度过低及大量的控制程序导致较长的扫描周期,比如达到了100毫秒,那么对于高低电平的时间均短于100毫秒的信号,其变化系统就有可能遗漏了,从而导致系统工作的不可靠。
我们不得不再选用昂贵的带中断输入的模块来解决此类问题。
因此,系统控制程序的扫描周期控制在一个合适的范围之内,也是我们在控制系统选型时需要考虑的问题之一,一般在10-50毫秒之间,性能价格比最优为首选。
我的习惯为无论系统有多简单或多复杂,都把系统控制程序的扫描周期控制在20毫秒左右。
接下来更有趣的工作就是控制程序扫描周期的变化幅度,当你把你的控制程序的扫描周期的变化幅度控制在很小的一个变化范围之内时(比如20毫秒正负2毫秒),你会发现一切都变得那么顺畅,系统工作得是那么的稳定。
西门子s7-200可编程控制器使用技巧

前沿理论与策略区域治理随着生产技术的不断发展进步,可编程控制器在生产中广泛应用,并大大促进了工业自动化的进步。
一、S7-200的主要功能(一)指令执行速度高S7-200的CPU执行每条二进制命令的时间仅为0.8μs,因此,可大大缩短程序的扫描和执行时间。
(二)丰富的指令集S7-200几乎包括了一般计算机所具有的各种基本操作指令。
例如,变量赋值、数据存储、计数、装载、传输、比较、移位、循环、求补及子程序的调用等。
(三)内置计数器S7-200的CPU模板上具有硬构成的计数器。
(四)灵活的中断功能(五)输入与输出的直接查询与赋值。
(六)严格的口令保护S7-200系统具有a、自由存放,b、只可读取,c、完全保护等三级不同的口令保护级别。
(七)友好的调试和故障诊断功能。
(八)输入或输出的强制功能。
(九)通讯功能集成在S7-200中的点对点接口(PPI)可用普通的双绞线作波特率高达9.6Kbit/s 的数据通讯,用RS485接口实现的高速用户可编程接口,可使用专用的位通讯协议(如ASCⅡ协议)作波特率高达38.4Kbit/s 的高速通讯,并可按点调整。
三、S7-200的程序结构(一)线性程序设计当程序中有多个任务需要控制时,设计方法是根据主程序(OB1)中的项目需要编写这些任务。
下面我们举一个例子来说明,假设一个控制项目有四个需求控制的任务分别为A,B,C和D.然后线性程序设计在一个主程序中。
我们根据要求编写这四个控制程序。
这种方法相对容易,而尺寸较小的程序会有很好的效果,并且会更容易阅读,而那些更复杂并且拥有更多分支的程序将无法工作。
(二)分块程序设计该方法可以比上述方法更好地处理复杂的程序问题。
它将整个项目划分为许多小而简单的控制任务。
这些小而简单的控制任务也是子程序块。
最终,主程序以调用形式整合这些子程序,从而形成一个完整而复杂的大程序。
当控制项目越复杂,分支越多时,程序设计控制任务的应用越方便灵活。
s7-200高速计数器使用技巧

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用于直接驱动调速系统或运动控制系统的输出,控制主逆变回路。
S7-200PLC的功能指令和运算指令

SMB76
状态字节,在PTO方式下,跟踪 脉冲串的输出状态
SMB67
SMB77
控制字节,控制PTO/PWM脉 冲输出的基本功能
PTO/PWM的周期值,字型, SMW68 SMW78 范围:2~65535,16位无符号
数
Q0.0的 Q0.1的 寄存器 寄存器
名称及功能描述
SMW70
SMW80
PWM的脉宽值,字型,范围0 ~65535,16位无符号数
● 1个 16位的脉宽值(SMW70、 SMW80)
● 1个 32位的脉冲数量(SMD72、 SMD82) 对于多段 PTO,还有
● 1个 8位的段字节(SMW166、
这些参数存放在系统指定的特殊标志寄存器中
表7-17 相关寄存器功能表
Q0.0的 Q0.1的 寄存器 寄存器
名称及功能描述
SMB66
S7-200PLC 的复杂功能指令
§7-12 高速脉冲输出指令
1. 高速脉冲输出的几个概念 1) 高速脉冲输出的形式
● 高速脉冲串输出 PTO :
( Pulse Train Output )
输出指定数量,占空比为50% 的方波脉冲串 。
● 宽度可调脉冲输出 PWM :
( Pulse Width Modulation )
●单段PTO:定义一个脉冲串,输出一个脉冲 串 (特性参数通过特殊寄存器分别定义) 。
●多段PTO:集中定义多个脉冲串,按顺序输 出多个脉冲串(特性参数通过包络表集中定义) 。
▲单段PTO 实现的方法
用指定的特殊标志寄存器定义脉冲串特性参 数(每次定义一个脉冲串)。一个脉冲串输出 完成后,产生中断。在中断服务程序中再为下 一个脉冲串更新参数,输出下一个脉冲串。
西门子s7-200编程软件的使用方法

第6章 编程软件
2. 功能块图监视图6.2 Nhomakorabea 功能块图监视
第6章 编程软件
3. 语句表监视
图6.25 语句表监视
返回本节
第6章 编程软件
THANK YOU VERY MUCH !
本章到此结束, 谢谢您的光临!
结 束 返回本章首页
操作步骤 ( 1 ) 选 择 菜 单 Debug|Program Edit in RUN (2)屏幕弹出警告信息 (3)在运行模式进行下载 (4)退出运行模式编辑
返回本节
第6章 编程软件
6.4.4 程序监视
1. 梯形图监视 2. 功能块图监视 3. 语句表监视
第6章 编程软件
1. 梯形图监视
图6.23 梯形图监视
图6.20 标题和注释对话框
返回本节
第6章 编程软件
6.4 调试及运行监控
6.4.1 选择扫描次数 6.4.2 状态图表监控 6.4.3 运行模式下编辑 6.4.4 程序监视
返回本章首页
第6章 编程软件
6.4.1 选择扫描次数
1. 多次扫描 方法:将PLC置于STOP模式。 使用菜单命令Debug|Multiple Scans来指定 执行的扫描次数,然后单击OK按钮进行监视。 如图6.21所示。 2. 初次扫描 将 PLC 置 于 STOP 模 式 。 然 后 使 用 菜 单 命 令 Debug|First Scan进行。
图6.6 设置脉冲捕捉
第6章 编程软件
4. 输出表配置
图6.7 设置输出表(复制)
返回本节
第6章 编程软件
6.3 编程
6.3.1 程序来源 6.3.2 编辑程序
返回本章首页
第6章 编程软件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S7-200PLC 调试技巧如何执行有限次数的扫描
用户可以指定PLC 对程序执行有限次数扫描(从1次扫描到65,535次扫描)。
通过选择PLC 运行的扫描次数,用户可以在程序改变过程变量时对其进行监控。
第一次扫描时,SM0.1 数值为1(打开)。
执行单次扫描:
1.PLC 必须位于STOP(停止)模式。
如果不是已经位于STOP(停止)模式,将PLC转换成停止模式。
2.从菜单条选择调试> 首次扫描。
执行多次扫描:
1.PLC 须位于STOP(停止)模式。
如果不是已经位于STOP(停止)模式,将PLC转换成停止模式。
2.要执行多次扫描,从菜单条选择调试> 多次扫描。
出现“执行扫描”对话栏。
3.输入所需的扫描次数数值,点击“确定”,确认用户的选择并取消对话框。
注:
当用户准备好恢复正常程序操作时,请务必将PLC 转回RUN(运行)模式(点击工具栏中的“运行” 按钮或选择PLC > 运行)。