西门子s7-200 plc局部变量参数与功能详解

来源:电工天下时间:2015-12-18 15:54:35 作者:老电工手机版>>

一、西门子s7-200 plc局部变量参数

IN   调用POU提供的输入参数。
OUT   返回调用POU的输出参数。
IN_OUT  数值由调用POU提供的参数,由子程序修改,然后返回调用POU。
TEMPORARY临时保存在局部数据堆栈中的临时变量。一旦POU完全执行,临时变量数值则无法再用。在两次P0U执行之间,临时变量不保持其数值。

局部变量是分配给每个子程序的临时存贮区。

西门子s7-200 plc局部变量参数

当子程序被调用时,系统分配局部变量区给子程序;子程序执行完成后,该局部变量区被释放。释放时其中存贮的值也同时丢失,不能再下一扫描周期再被子程序使用。

局部变量区的大小为64个字节,其中最后4个字节被系统所占用,实际可供子程序使用的为60个字节。

由于局部变量区的数据不能带到上一扫描周期,因此只能用于存迪程序运算中的中间值,可以减少对全局变量区的占用。

由于局部变量区在子程序被调用时才被分配,且分配时并不对数据区进行初始化,所以其初始值是不确定的。

因此,在程序中用到这些存贮区的值的指令前,必须有对该存贮区地址的赋值操作,否则可能会出现错误的执行结果。

尤其在子程序中存在大量的跳转指令时,很容易出现漏掉对局部变量赋值的情况,要格外注意。

每个子程序调用的输入/输出参数的最大限制是16,如果您尝试下载的程序超过此一限制,IN和out加起来共16个超过16个就会出错,本人做一个程序的时候发现了这个问题,在这里提醒各位同行。

1、子程序或者中断程序不能访问分配给主程序的局部存储器。子程序不能访问分配给主程序、中断程序或者其他子程序的局部存储器。同样的,中断程序也不能访问分配给主程序或子程序的局部存储器。

2、有关局部变量:S7-200有64个字节的局部存储器,其中60个可以用作临时存储器或者给子程序传递参数。

如果用梯形图或功能方块图编程,STEP7--Micro/WIN保留这些局部存储器的最后四个字节。

局部存储器和变量存储器很相似,但只有一处区别。变量存储器是全局有效的,而局部存储器只在局部有效。全局是指同一个存储器可以被任何程序存取(包括主程序、子程序和中断中断程序程序)。

局部是指存储器区和特定的程序相关联。S7--200给主程序分配64个局部存储器;给每一级子程序嵌套分配64个字节局部存储器;同样给中断程序分配64个字节局部存储器。
子程序或者中断程序不能访问分配给主程序的局部存储器。子程序不能访问分配给主程序、中断程序或者其他子程序的局部存储器。

同样,中断程序也不能访问分配给主程序或子程序的局部存储器。S7--200 plc根据需要分配局部存储器。

当主程序执行时,分配给子程序或中断程序的局部存储器是不存在的。当发生中断或者调用一个子程序时,需要分配局部存储器。

新的局部存储器地址可能会覆盖另一个子程序或中断程序的局部存储器地址。

局部存储器在分配时PLC不进行初始化,初值可能是任意的。当在子程序调用中传递参数时,在被调用子程序的局部存储器中,由CPU替换其被传递的参数的值。局部存储器在参数传递过程中不传递值,在分配时不被初始化,可能包含任意数值。

3、CPU226的项目中最多可以创建128个子程序,其他CUP可以创建64个子程序。子程序可以嵌套调用,即在子程序中调用别的子程序,一共可以嵌套8层。在中断程序中调用的子程序不能再调用别的子程序。不禁止递归调用(子程序调用自己),但是应慎重使用递归调用。

4、子程序中的定时器:停止调用子程序时,线圈在子程序内的位元件的ON/OFF状态保持不变。如果在停止调用时子程序中的定时器正在定时,100ms定时器将停止定时,当前值保持不变,重新调用时继续定时;但是1ms定时器和10ms定时器将继续定时,定时时间到时,它们的定时器位变为1状态,并且可以在子程序之外起作用。

如何输入第一个局部变量赋值欲在局部变量表中赋值,请遵循以下步骤:

1.确保正确的POU在程序编辑器窗口中显示,如有必要,点击所需的POU标记。(因为每个POU都有自己的局部变量表,您需要确保对正确的POU赋值。)

2.如果局部变量表处于隐藏状态,下拉水平分裂条,显示局部变量表。

3.为需要定义的变量选择具有正确说明类型的行,在"名称"域中为该变量键入一个名称。

(如果您在OB1或中断例行程序中赋值,局部变量表只包含TEMP变量。如果您在子程序中赋值,局部变量表包含IN、IN_OUT、OUT和TEMP变量。)您不需要在局部变量表中的变量名前加井号。井号只用在程序代码中的局部变量前。

注释:

*  局部变量名最多可包含23个字母数字字符和下划号,也可包含扩展字符(ASCII 128至 ASCII 255)。第一个字符只能是字母或扩展字符。将关键字用作符号名属于非法,名称的第一个字符是数字,或名称包含非字母数字字符或扩展字符集中的字符也属于非法。

**  局部变量表变量名被下载并存储于CPU内存中,使用较长的变量名可能减少用于存储程序的内存空间。

4.在"数据类型"域中点击鼠标指针,并使用列表框为局部变量选择适当的数据类型。

注释:

当将局部变量指定为子程序的参数时,您必须保证为局部变量指定的数据类型不与子程序调用中使用的操作数发生冲突。为"名称"和"数据类型"域提供数值后,程序编辑器会自动为局部变量指定L内存地址。

如何在局部变量表中输入附加赋值?

对于OB1和中断例行程序,局部变量表显示一组已被预先定义为TEMP变量的行。在OB1或中断例行程序中,只能使用这种说明类型。

欲在表中增加更多行,只需点击最后一行中的一个单元格,然后使用ENTER键移过该行并向下移动,即自动生成一个新行。

对于子程序,局部变量表显示按照以下顺序预先定义说明类型的一组行:IN、IN_OUT、OUT和TEMP。您不能改变该顺序。

局部变量在该表中的顺序必须符合当您为子程序调用指令进行操作数赋值时对应的操作数顺序。

如果希望增加附加局部变量,必须用鼠标右键点击现有行,并使用弹出菜单插入与点击行类型相同的另一局部变量。

选择插入(Insert)> 行(Row),在所选行的上方插入新行,或选择插入(Insert)> 行下方(Below Row),在所选行下方插入新行。

相关文章
  • 西门子step7功能块定时器参数说明图解

    西门子step7功能块定时器参数说明图解

    西门子step7功能块定时器参数说明,西门子step7的iec定时器的三种类型,接通延时定时器ton,记忆接通延时定时器tonr,断开延时定时器tof,西门子step7提供了10种定时器指令。

    时间:2020-04-23 10:49:53

  • 西门子STEP 7-Micro/WIN 32编程软件软硬件安装与参数设置

    西门子STEP 7-Micro/WIN 32编程软件软硬件安装与参数设置

    西门子STEP 7-Micro/WIN 32编程软件软硬件安装与参数设置,STEP 7-Micro/WIN 32编程软件在一张光盘上,用户可按以下步骤安装,安装完软件并且设置连接好硬件之后,可以设置默认参数等。

    时间:2020-03-10 10:13:37

  • 影响SFC chart状态转换的参数分析

    影响SFC chart状态转换的参数分析

    影响SFC chart状态转换的参数分析,这些参数包括SELFRESET、CYCLEXEX、SELFCOMP、 RUNHold等,这些参数决定了SFC chart状态转换,顺控程序的处理方式等。

    时间:2019-12-21 08:33:28

  • WinCC变量线性变换的步骤

    WinCC变量线性变换

    有关WinCC变量线性变换的步骤,分为创建项目,建立过程变量,配置线性变换及组态画面,检查测试效果等,可以通过 WinCC 的线性变换来处理,WinCC 线性变换的操作步骤,供大家学习。

    时间:2015-12-13 09:12:25

  • 西门子PCS7中DB块变量自动上传的方法图解

    西门子PCS7中DB块变量自动上传

    西门子PCS7中DB块变量自动上传的方法,分为四个步骤,插入一个全局数据块,在数据块中定义数据结构和格式,定义数据块的属性等,针对自定义的DB块同样也可以通过设置相关属性自动上传的OS中。

    时间:2015-12-13 07:01:28

  • PLC变量控制屏幕跳转的方法举例

    PLC变量控制屏幕跳转

    有关PLC变量控制屏幕跳转的方法,在plc程序中,一个变量从0变为1,控制某一个屏幕跳出,在程序中给画面编号变量赋值对应的画面号,不了解的朋友参考下。

    时间:2015-12-12 21:35:21

  • 【图】西门子Step7变量表的使用方法

    西门子Step7变量表

    西门子step7变量表的使用方法,西门子在Step 7中提供了变量表这个功能,可以对整个项目中任意变量建立表格进行观察,介绍了变量的监控,变量的修改,对I/O点位进行强制的操作方法。

    时间:2015-12-03 02:35:34

  • 西门子step7中IN、OUT与IN-OUT参数的ANY指针地址用法

    西门子step7 ANY指针地址用法

    西门子step7中将IN、OUT和IN-OUT参数的ANY指针地址参数载入地址寄存器AR1,当将ANY指针载入到地址寄存器AR1和AR2时,必须注意在FB与FC情况下的不同处理方法。

    时间:2015-12-02 12:39:22

Copyright © 2015 - 2022 dgjs123.com All Rights Reserved

电工天下 版权所有