如何延时与输入信号相关联的输出信号?

使用说明:
下表描述了一些将与输入信号相关联的输出信号延时输出的例子。

应用和样例程序
1

下载文件“DeadTime.zip”中包含功能块FB 115,该功能块将输入信号延时后在其输出端输出。下列输入、输出和静态变量包含在FB 115中:n

  • 输入变量
    INV: REAL类型,用于输入信号
    N_SMP: INT类型,用于倍率器
    COM_RST: BOOL类型,用于重启动n
  • 输出变量
    OUTV: REAL类型,用于输出信号n
  • 静态变量
    STORE: ARRAY [0..19] OF REAL类型的数据存储区

FB 115在循环中断OB 35中被调用,所以按照固定的时间间隔处理该程序,该时间间隔独立于循环程序的处理时间。在每个时间间隔中,输入信号被缓存在静态变量“STORE”中。通过“N_SMP”参数,可以定义数据存储区的数目,以便在每个时间间隔中将信号从一个数据存储区被传送到下一个存储区。一旦到达定义的最后一个存储区,信号即被复制到输出变量“OUTV”中。最多可以定义20个数据存储区(ARRAY [0..19])。在数据存储区之间传送所花费的各个时间间隔就是对输入延时的时间。

如何延时与输入信号相关联的输出信号?
图01n

示例:
输入变量“INV”的信号在出现在输出参数“OUTV”中之前将在FB 115中延时1秒。OB 35中设定的时基缺省值为100ms。本例中输入变量“N_SMP”中的倍率值为10。n

  • DeadTime = "N_SMP" * 时间间隔(OB35) = 10 * 100ms = 1000ms = 1s.

下载:
所附的下载文件中包含一个STEP 7项目,其中包含上述功能块。将“DeadTime.zip”文件复制到一个独立的文件夹中并打开,该STEP 7 V5.3项目及相关的所有子文件夹将自动解压缩。您可以使用SIMATIC Manager打开并处理解压缩出来的项目。FB 115包含很多德语和英语版的技术性注释内容。n

如何延时与输入信号相关联的输出信号? DeadTime.zip ( 52 KB )

2

下载文件“S_Delay.zip”中包含功能块FB 100,它将其32个输入端的信号延时后在32个输出端输出。FB 100中包含下列变量:n

  • 输入变量
    X0 ... X31: BOOL类型,用于32个数字输入信号
    tv_TIMER: TIMER 类型,用于输入定时器,如T1
    tv_LAST: S5TIME类型,用于定义延时时间n
  • 输出变量
    Y0 ... Y31: BOOL类型,用于32个输出信号n
  • 静态变量
    HSP: BOOL类型,用于控制定时器以便执行下一个输出n
  • 临时变量
    SLZ: INT类型,用于循环跳转指令LOOP的计数器

所有32个输出均可通过一个定时器开启延时,最小延时时间是10ms。可选择任何数量的输入和输出。n

功能:
第一号输入直接转接至第一号输出。时间延时到期后,所有其它输入依次转接到其输出端。如果所有的输入均同时置位,则所有的输出(Y0 ... Y31)按照其延时时间依次收到其输出信号。n

图02显示了一个例子,其中5个输入信号同时置位。输出端Y1至Y4依次延时收到了它们的输出信号。该例子可用于一次性延时接通大量依次延迟的输入信号。n

如何延时与输入信号相关联的输出信号?
图02n

下载:
所附的下载文件中包含一个STEP 7项目,其中包含上述功能块。将“S_Delay.zip”文件复制到一个独立的文件夹中并打开,该STEP 7 V5.3项目及相关的所有子文件夹将自动解压缩。可以使用SIMATIC Manager打开并处理解压缩出来的项目。n

如何延时与输入信号相关联的输出信号? S_Delay.zip ( 33 KB )

3

下载文件“StepZero.ZIP”中包含FC 100功能,当延时到某一指定时刻时,输入信号被传送到输出端。FC 100中包含下列输入和输出变量:n

  • 输入变量
    Tcurrent: TIME类型,用于确定运行时间
    Tzero: TIME类型,用于定义输出的时间点
    INV: REAL类型,用于输入信号n
  • 输出变量
    OUTV: REAL类型,用于输出信号

该功能计算运行时间并按照下列条件控制输出延时:n

  1. Tcurrent < Tzero: OUTV = 0.0n
  2. Tcurrent = Tzero: OUTV = INFn
  3. Tcurrent > Tzero: OUTV = INF

FC 100中的程序应用举例:
在OB 1中,“TIME_OF_DAY”数据格式为“DATE_AND_TIME”数据格式的一部分,使用IEC功能FC 8从临时变量“OB1_DATE_TIME”中读出。这个确定的日时间值(如:T#10h22m48s474ms)被传送至“Tcurrent”参数。“Tzero”参数的时间值(如:T#11h10m)可以任意选择。在本例中,“OUTV”变量的输出信号一直为零,直到输入变量“Tcurrent”到达时间点11:10。从该时刻起输出信号与输入信号相同。
如何延时与输入信号相关联的输出信号?
图03n

下载:
所附的下载文件中包含一个STEP 7项目,其中包含上述功能块。将“StepZero.zip”文件复制到一个独立的文件夹中并打开,该STEP 7 V5.3项目及相关的所有子文件夹将自动解压缩。您可以使用SIMATIC Manager打开并处理解压缩出来的项目。FC 100中包含很多德语和英语版的技术性注释内容。n

如何延时与输入信号相关联的输出信号? StepZero.zip ( 34 KB )

n

下载文件的不同之处:
下表列出了下载文件“DeadTime”、“S_Delay”、和“StepZero”之间的不同之处。

下载文件: DeadTime S_Delay StepZero
应用: 延时REAL信号 延时BOOL信号 延时REAL信号
输入信号数量: 1 32 3
输出信号数量: 1 32 1
输入和输出数据类型: REAL BOOL REAL、TIME
执行时间延时: 利用循环中断OB,如OB 35 利用接通延时(SE),如T1 OB 1、(OB 35)

可运行性和测试环境:
样例程序可用于SIMATIC S7-300、S7-400、C7的所有CPU类型以及WinAC。下表列出了创建该条目并测试所述功能所用的组件。

测试环境 版本
PC平台 Intel(R) Pentium(R) M Processor 1.73 GHz, 1.49 GB RAM
PC操作系统 MS Windows XP Professional SP2
STEP 7 V5.3 SP3
选件包 S7-PLCSIM V5.3 SP1

注意:
有些情况需要更多的定时器,定时器个数的限制与CPU类型有关,可以使用SFB4(TON)替代S5-Time数据类型的定时器,与之相比SFB可以很容易处理毫秒时间值(没有时基),可以设定更长的定时时间。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc338014.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论