【图】西门子plc s7-200执行有限次数扫描的方法

来源:电工天下时间:2015-10-24 07:45:13 作者:老电工手机版>>

一、西门子plc s7-200执行有限次数扫描的方法

在西门子plc s7-200中,可以指定plc对程序执行有限次数扫描(从1次扫描到65,535次扫描),通过指定plc运行的扫描次数,可以监控程序过程变量的改变。第一次扫描时,sm0.1数值为1。

1、执行单次扫描

“单次扫描”使plc从stop转变成run,执行单次扫描,然后再转回stop,因此与第一次相关的状态信息不会消失。操作步骤如下:

1)plc必须位于stop(停止)模式。如果不在stop(停止)模式,将plc转换成停止模式。

2)用菜单“调试”→ “首次扫描”。

2、执行多次扫描

步骤:

1)plc须位于stop(停止)模式。如果在stop(停止)模式,将plc转换成停止模式。

2)用菜单“调试” →“ 多次扫描” →出现“执行扫描”对话框。如图3-23所示。

3)输入所需的扫描次数数值,单击“确定”。

注:
当用户准备好恢复正常程序操作时,请务必将 plc 转回 run(运行)模式(点击工具栏中的“运行” 按钮或选择plc > 运行)。

西门子plc s7-200执行有限次数扫描

二、plc用户程序的循环扫描执行过程三个阶段

plc的扫描周期是如何执行程序的?
 
对用户程序的循环扫描执行过程,可分为输入采样、程序执行、输出刷新三个阶段,如图1所示。

1、输入采样阶段

在输入采样阶段,plcc以扫描方式将所有输入端的输入信号状态(on/off状态)读入到输入映 像寄存器中寄存起来,称为对输入信号的采样。接着转入程序执行阶段,在程序执行期间,即使输入状态变化,输入映像寄存器的内容也不会改变。输入状态的变化只能在下一个工作周期的输入采样阶段才被重新读入。

西门子plc s7-200执行有限次数扫描2

图1  plc程序执行的过程

2、程序执行阶段

在程序执行阶段,plc对程序按顺序进行扫描。如程序用梯形图表示,则总是按先上后下、先左后右的顺序扫描。每扫描到一条指令时所需要的输入状态或其他元素的状态,分别由输入映像寄存器或输出映像寄存器中读入,然后进行相应的逻辑或算术运算,运算结果再存入专用寄存器。若执行程序输出指令时,则将相应的运算结果存入输出映像寄存器。

3、输出刷新阶段

在所有指令执行完毕后,输出映像寄存器中的状态就是欲输出的状态。在输出刷新阶段将其转存到输出锁存电路,再经输出端子输出信号去驱动用户输出设备,这就是plc的实际输出。plc重复地执行上述三个阶段,每重复一次就是一个工作周期(或称扫描周期)。工作周期的长短与程序的长短有关。

由于输入/输出模块滤波器的时间常数,输出继电器的机械滞后以及执行程序时按工作周期进行等原因,会使输入/输出响应出现滞后现象,对一般工业控制设备来说,这种滞后现象是允许的。

但一些设备的某些信号要求做出快速响应,因此,有些plc采用高速响应的输入/输出模块,也有的将顺序程序分为快速响应的高级程序和一般响应速度的低级程序两类。如fanuc-besk plc规定高级程序每8ms扫描一次,而把低级程序自动划分分割段,当开始执行程序时,首先执行高级顺序程序,然后执行低级程序的分割段1,然后又去执行高级程序,再执行低级程序的分割段2,这样每执行完低级程序的一个分割段,都要重新扫描执行一次高级程序,以保证高级程序中信号响应的快速性。

-- 分隔线 ---

plc处于运行方式一扫描方式工作、每扫描一次执行一条指令

plc的运行方式是在一个扫描周期里面(处于run)

1、首先,把所有的输入都进行扫描,扫描结果读入寄存器(在一个周期内,就算输入产生变化,是不管的,当然高速计数是例外的)

2、按照用户程序的先后顺序,把读入的数据执行一遍程序,把新的结果传送到输出寄存器。

3、把输出寄存器的结果对plc的所有输出进行一次刷新。

如此往复。

补充:

不要把plc机器周期和plc扫描周期混淆概念,这是截然不同的两个概念。

扫描周期内包含许多内容,包含上电初始化、cpu自诊断、通讯、外设信息交换、用户程序执行一遍、I/O刷新,这些步骤合起来的时间是一个扫描周期。

运行方式为循环扫描,每一次扫描完毕后会刷新输入和输出。

不是每扫描一次执行一条指令,而是扫描一次,程序中的所有的指令全部执行一遍,一个扫描周期只有0.02s所以执行的速度是相当快的。

-- 分隔线 ---

PLC扫描周期

请教:对于S7-200的PLC,编写的程序扫描周期只有5ms,但是由于外围模拟量设备的需求,能不能把S7-200的PLC的扫描周期强制性的设置为10ms?(也就是1秒钟内进行100循环扫描)如果可以,该如何设置?如果不能强行设置,当需要1秒钟采集100次该模拟量数据(每个扫描周期采集一次),应该怎么处理?

答案:

1、如何获取S7-200的扫描周期
工具栏里---PLC---信息---里面就有程序扫描周期,或者直接监控smb22,smb22就是程序扫描周期。

2、扫描周期不能设置。但可以编制一个10ms中断程序。
S7-200有四个定时中断定时器,两个特殊寄存器(SMB34/SMB35)和两个定时器( T32/T96)中断。中断定时计时精确,可以用来执行模拟量定时采样等任务。
定时中断(SMB34/SMB35)最长定时为255ms。

3、实例:
见下述文档《中断程序应用举例》中有实例:
http://wenku.baidu.com/view/0572c4235901020207409cb6.html

见《s7-200中断处理方法》其中有一个建立100MS调用一次的中断例子:
http://wenku.baidu.com/view/8cb061a8d1f34693daef3e64.html

不能设置,扫描周期与程序容量关系密切,通过改动程序可以使扫描周期大大降低。
有一些程序段是不需要每一次都调用的,可以加一个调用条件。这样,这些没调用到的程序,PLC不会扫描,也就缩短了少秒时间。

有些项目中,需要对模拟量输入做程序滤波处理,滤波程序常用的就是多次采样,取平均值(象上面那种就是采样100次)。这样的程序在动态测量上用的较多,例如产品是否漏包装,用称重传感器做皮带称,包装物从皮带上不停止地通过,采样100次,取平均值。

相关文章
  • 西门子s7-200系列plc顺序控制指令的功能详解

    西门子s7-200系列plc顺序控制指令的功能详解

    西门子s7-200系列plc顺序控制指令的功能,每一个scr程序段一般有三种功能,驱动处理,指定转移条件和目标,转移源自动复位功能,顺序控制指令的应用说明。

    时间:2022-09-20 19:49:31

  • 西门子s7-200系列plc定时中断指令编程入门

    西门子s7-200系列plc定时中断指令编程入门

    西门子s7-200系列plc定时中断指令编程入门,

    时间:2022-02-05 08:11:01

  • 西门子S7-200系列PLC中断指令第二部分

    西门子S7-200系列PLC中断指令第二部分

    西门子S7-200系列PLC中断指令第二部分,先来复习下中断指令的三要素:激活中断(1次即可);中断事件连接中断程序;开放中断。以上提到的三要素,要求必须包含在中断指令的主程序中。

    时间:2022-02-05 06:42:51

  • 西门子S7-200系列PLC中断指令第一部分

    西门子S7-200系列PLC中断指令第一部分

    西门子S7-200系列PLC中断指令第一部分,中断跟扫描周期无关,响应快,只要中断事件发生才会去执行程序,可以节省时间,避免等待和浪费时间。

    时间:2022-02-05 06:38:11

  • 西门子S7-200 Plc之比较指令入门教程

    西门子S7-200 Plc之比较指令入门教程

    西门子S7-200 Plc之比较指令入门教程,本节来学习下西门子s7-200“比较指令”的知识,下面是比较指令的常见类型:常见操作数,针对B\I\DI\R做下简单的解释。

    时间:2021-10-23 07:16:16

  • 西门子s7-200同一数据源不同时间的比较方法

    西门子s7-200同一数据源不同时间的比较方法

    西门子s7-200同一数据源不同时间的比较方法,问题:s7-200同一数据源不同时间怎么比较?同一个地址在不同的时间下获取的数值,然后把这些数值进行比较。

    时间:2021-10-23 07:06:27

  • 西门子S7-200中BCD码入门教程

    西门子S7-200中BCD码入门教程

    有关西门子s7-200的入门教程,BCD码是什么,其数据格式是什么样的,在s7-200编程中进程转换时,BCD码应该怎么操作,下面一起来学习下。

    时间:2021-10-23 06:56:47

  • 西门子s7-200有符号数和无符号数的区别

    西门子s7-200有符号数和无符号数的区别

    有关西门子s7-200的入门教程,介绍了s7-200中数的类型,一是有符号数,二是无符号数,那么西门子s7-200有符号数和无符号数的区别有哪些,下面一起来学习下。

    时间:2021-10-23 06:52:27

推荐文章

Copyright © 2015 - 2022 dgjs123.com All Rights Reserved

电工天下 版权所有