200 子程序的特点 (200子程序临时变量不够用)

200

200 子程序是 PL/I 中的一种子程序,具有以下特点:

  • 入口参数不多,一般不超过 10 个。
  • 局部变量区较小,一般不超过 200 字节。
  • 编译效率高,运行速度快。
  • 主要用于实现一些简单的功能,如计算、数据转换、格式化输入输出等。

200子程序临时变量不够用

在某些情况下,200 子程序的临时变量可能不够用。这是因为:

  • 200 子程序的局部变量区只有200 字节,如果需要存储大量临时变量,可能会导致空间不足。
  • 200 子程序的嵌套层数不能超过 3 层,如果子程序嵌套过多,也会导致临时变量空间不足。

如果遇到 200 子程序临时变量不够用的问题,可以考虑以下解决方案:

  • 使用 AUTOMATIC 变量。 AUTOMATIC 变量是动态分配的,不会占用局部变量区,可以用来存储大量临时变量。
  • 使用 STATIC 变量。 STATIC 变量是静态分配的,在程序执行期间始终存在,可以用来存储临时变量,但要注意避免使用过多的 STATIC 变量,以免占用过多的内存。
  • 将子程序拆分成多个子程序。 如果子程序嵌套过多,可以将子程序拆分成多个子程序,从而减少临时变量空间的占用。

通过采用适当的解决方案,可以解决 200 子程序临时变量不够用的问题,确保子程序的正常运行。

其他特点

除了上述特点外,200 子程序还有以下特点:

  • 可以在其他子程序中调用。
  • 可以返回一个值。
  • 可以具有多个入口点。
  • 可以调用系统服务。

200 子程序是 PL/I 中一种非常有用的子程序类型,可以用来实现各种各样的功能。理解 200 子程序的特点对于编写高效且可靠的 PL/I 程序至关重要。


西门子S7-200 plc子程序反复调用时 子程序中的定时器,计数器对各次调用有没有影响?

1、反复调用子程序,对定时器和计数器是有影响的,定时器会不停的响应最近的一次调用。 计数器的影响是把各次的调用逻辑操作做总的累加或累减。 2、对于200来说定时器和计数器不能做成接口函数,但是可以做成FB类型的实参函数调用。 3、S7—200PLC的定时器为增量型定时器,用于实现时间控制,可以按照工作方式和时间基准(时基)分类,时间基准又称为定时精度和分辩率。 1)工作方式 按照工作方式,定时器可分为通电延时型(TON)、有记忆的通电延时型(TONR)、断电延时型(TOF)3种类型,我们要根据实际需要来选择。 2)时基标准按照时基标准,定时器可分为1ms.10ms.100ms3种类型,不同的时基标准,定时精度.定时范围和定时器的刷新方式不同,我们使用的时候要注意它们之间的区别。 3)定时器工作方式及类型通电延时型(TON) 使能端输入有效时,定时器开始计时,当前值从0开始递增,大于或等于预置值时,定时器输出状态位置1(输出触点有效),当前值的最大值为。 使能端无效时,定时器复位(当前值清零,输出状态位置0)。 有记忆通电延时型(TONR) 使能端(IN)输入有效时,定时器开始计时,当前值递增,当前值大于或等于预置值(PT)值,输出状态位置1。 使能端输入无效时,当前值保持,使能端再次接通有效时,在原记忆值的基础上递增计时。 有记忆通电延时型定时器采用线圈的复位指令(R)进复位操作,当复位线圈有效时,定时器当前值清零,输出状态位置0。 断电延时型(TOF) 使能端(IN)输入有效时,定时器输出状态位立即置1,当前值复位。 使能端断开时,开始计时,当前值从0递增,当前值达到预置值时,定时器状态位复位置0,并停止计时,当前值保持。 4、西门子S7-200PLC的计数器共有255个计数器(不包括高速计数器)可以使用,计数的形式可以分为“加计数”、“减计数”与“加减计数”3类。 1)加计数(CTU) 加计数是通过获取计数输入信号的上升沿进行加法计数的计数方法。 计数输入信号每出现一次上升沿,计数器从0开始加“1”,当计数达到设定值(PV)时,计数器的输出触点接通。 计数达到设定值如果继续输入计数信号,计数值仍然增加,输出触点保持接通状态。 计数器具有清除信号(R)输入,当清除信号为“1”时,现行计被清“0”,设定值写入,输出触点强制断开。 2)减计数(CTD) 减计数是通过获取计数输入信号的上升沿进行减法计数的计数方法。 计数输入信号每出现一次上升沿,计数器从设定值开始减“l”,当现行计数值减到“0”时,计数器的输出触点接通。 计数值为“0”后如果继续输入计数信号,计数值保持“0”,输出触点保持接通状态。 计数器具有清除信号(R)输入,当清除信号为“1”时,设定值被写入并作为现行计数值,输出触点强制断开。 3)加减计数(CTUD) 加减计数具有加计数与减计数两个输入端,通过获取对应计数输入信号的上升沿,进行加法、减法计数。 加减计数的本质与加计数相同,计数输入信号每出现一次上升沿,计数器从0开始加“1”,当计数达到设定值(PV)时,计数器的输出触点接通。 计数达到设定值如果继续输入计数信号,计数值仍然增加,输出触点保持接通状态。 当现行值加到最大值后,如果再输入加计数信号,现行值变为-,再继续进行加计数。 同时,减计数输入信号也起作用,减计数输入每出现一次上升沿,计数器从现行值开始减“1”。 当现行值减到最小值-后,如果再输入减计数信号,现行值变为+,再继续进行减计数。 计数器具有清除信号(R)输入,当清除信号为“l”时,现行计数值被清“0”,设定值写入,输出触点强制断开。

本文原创来源:电气TV网,欢迎收藏本网址,收藏不迷路哦!

相关阅读

添加新评论