首页 理论教育 基本指令:S7-200 CPU 的计时器和计数器指令使用说明

基本指令:S7-200 CPU 的计时器和计数器指令使用说明

时间:2023-06-29 理论教育 版权反馈
【摘要】:S7-200 CPU 支持在程序中合计使用 1024 条边缘检测器指令。TON指令在使能输入 IN 接通时开始计时。表4-2定时器编号和分辨率参数9.计数器指令CTU加计数器指令。达到最大值32,767 时,计数器停止计数。CTD减计数器指令。

基本指令:S7-200 CPU 的计时器和计数器指令使用说明

1.触点指令

为常开触点,为常闭触点。

在该立即指令执行时,该指令获取物理输入值,但不更新过程映像寄存器。立即触点不会等待 PLC 扫描周期进行更新,而是会立即更新。

物理输入点(位)状态为 1 时,常开立即触点闭合(接通)。

物理输入点(位)状态为 0 时,常闭立即触点闭合(接通)。

2.输出操作指令

为输出线圈。

当能流流进线圈时,线圈所对应的操作数置1。

3.置位操作指令

为置位指令。

置位 (S) 指令用于置位(接通)从指定地址(位)开始的一组位 (N)。可以置位 1 至 255 个位。

4.复位操作指令

为复位指令。

复位 (R) 指令用于复位(断开)从指定地址(位)开始的一组位 (N)。可以复位 1 至 255 个位。

如果复位指令指定定时器位(T 地址)或计数器位(C 地址),则该指令将对定时器或计数器位进行复位并清零定时器或计数器的当前值。

5.置位优先触发器

SR(置位优先触发器)。

SR(置位优先触发器)是一种置位优先锁存器。如果置位 (S1) 和复位 (R)信号均为真,则输出 (OUT) 为真。

6.复位优先触发器

RS(复位优先触发器)。

RS(复位优先触发器)是一种复位优先锁存器。如果置位 (S) 和复位 (R1)信号均为真,则输出 (OUT) 为假。

7.正负跃变指令

正跳变触点指令(上升沿),负跳变触点指令(下降沿)指令。

正跳变触点指令(上升沿)允许能量在每次断开到接通转换后流动一个扫描周期。负跳变触点指令(下降沿)允许能量在每次接通到断开转换后流动一个扫描周期。S7-200 CPU 支持在程序中合计(上升和下降)使用 1024 条边缘检测器指令。

8.定时器指令

TON接通延时定时器用于测定单独的时间间隔。

TON 指令在使能输入 IN 接通时开始计时。当前值等于或大于预设时间时,定时器位置为接通。

使能输入置为断开时,清除 TON 定时器的当前值。

达到预设时间后,TON 定时器继续定时,直到达到最大值32,767 时才停止定时。

TONR保持型接通演示定时器,用于积累多个定时时间间隔的时间值。

TONR 指令在使能输入 IN 接通时开始计时。当前值等于或大于预设时间时,定时器位置为接通。

使能输入置为断开时,保持 TONR 定时器的当前值。输入 IN 置为接通时,可以使用 TONR 定时器累积时间。使用复位指令 (R) 可清除 TONR 的当前值。

达到预设时间后,TONR 定时器继续定时,直到达到最大值32,767 时才停止定时。

TOF断开延时定时器,用于在OFF(或FALSE)条件之后延长一定时间间隔,例如冷却电机的延时。

TOF 指令用于使输出在输入断开后延迟固定的时间再断开。当使能输入接通时,定时器位立即接通,当前值设置为 0。当输入断开时,计时开始,直到当前时间等于预设时间时停止计时。

达到预设值时,定时器位断开,当前值停止递增;但是,如果在 TOF 达到预设值之前使能输入再次接通,则定时器位保持接通。

要使 TOF 定时器开始定时断开延时时间间隔,使能输入必须进行接通-断开转换。

如果 TOF 定时器在 SCR 区域中,并且 SCR 区域处于未激活状态,则当前值设置为 0,定时器位断开且当前值不递增。(www.xing528.com)

定时器编号和分辨率选项参数如表4-2所示。

表4-2 定时器编号和分辨率参数

9.计数器指令

CTU加计数器指令。

每次加计数 CU 输入从 OFF 转换为 ON 时,CTU加计数指令就会从当前值开始加计数。当前值Cxxx 大于或等于预设值PV 时,计数器位 Cxxx 接通。当复位输入 R 接通或对 Cxxx 地址执行复位指令时,当前计数值会复位。达到最大值32,767 时,计数器停止计数。

CTD减计数器指令。

每次 CD减计数输入从 OFF 转换为 ON 时,CTD减计数指令就会从计数器的当前值开始减计数。当前值Cxxx 等于 0 时,计数器位 Cxxx 打开。LD 装载输入接通时,计数器复位计数器位 Cxxx 并用预设值PV 装载当前值。达到零后,计数器停止,计数器位 Cxxx 接通。

CTUD加减计数器指令。

每次 CU减计数输入从 OFF 转换为 ON 时,CTUD加/减计数指令就会加计数,每次 CD减计数输入从 OFF 转换为 ON 时,该指令就会减计数。计数器的当前值Cxxx 保持当前计数值。每次执行计数器指令时,都会将 PV 预设值与当前值进行比较。

达到最大值32,767 时,加计数输入处的下一上升沿导致当前计数值变为最小值-32,768。达到最小值-32,768 时,减计数输入处的下一上升沿导致当前计数值变为最大值32,767。

当前值Cxxx 大于或等于 PV 预设值时,计数器位 Cxxx 接通。否则,计数器位关断。当 R 复位输入接通或对 Cxxx 地址执行复位指令时,计数器复位。

由于每个计数器有一个当前值,因此请勿将同一计数器编号分配给多个计数器。(编号相同的加计数器、加/减计数器和减计数器会访问相同的当前值。)

使用复位指令复位计数器时,计数器位会复位,并且计数器当前值会设为零。计数器编号可同时用于表示该计数器的当前值和计数器位。

10.比较操作指令

比较指令可以对两个数据类型相同的数值进行比较。您可以比较字节、整数、双整数和实数

对于 LAD 和 FBD:比较结果为 TRUE 时,比较指令将接通触点(LAD 程序段能流)或输出(FBD 逻辑流)。

对于 STL:比较结果为 TRUE 时,比较指令可装载 1、将 1 与逻辑栈顶中的值进行“与”运算或者“或”运算。

六种比较类型如表4-3所示:

表4-3 比较指令的比较类型

11.子程序指令

NET_EXE子程序调用指令,NET_EXE 子程序基于在 GET/PUT 向导中输入的输入和输出来执行 GET/PUT 函数。

为简化应用程序中 GET/PUT 控制的使用,STEP 7-Micro/WIN SMART 提供了GET/PUT 向导来组态 GET/PUT 操作。

NET_EXE 子程序用于初始化 GET/PUT 操作的执行。要启用程序内部的网络通信,需要在 MAIN 程序块中置入一条调用命令来执行子程序 (NET_EXE)。在每个扫描周期使用 SM0.0 调用该子程序。针对每个网络操作创建的数据处理子程序可在适当的时间自动调用。

NET_EXE 子程序将依次执行已组态的 GET 和 PUT 操作。执行全部已组态的操作后,子程序将触发循环输出,表示完成一个循环。

如果其中一台远程设备不可用(未连接或断电),NET_EXE 将等待设备响应,等待时间最长为 100 毫秒。如果远程设备无响应,CPU 将在操作状态字节中设置激活位并继续下一操作。

NET_EXE 的最短循环时间为 50 毫秒,这样可为网络上的其他设备预留时间访问 CPU。

12.循环指令

FOR-NEXT循环指令,FOR指令执行 FOR 和 NEXT 指令之间的指令。需要分配索引值或当前循环计数 INDX、起始循环计数 INIT 和结束循环计数 FINAL。NEXT指令会标记 FOR 循环程序段的结束。

使用 FOR 和 NEXT 指令可在重复执行分配计数的循环中执行程序段。每条FOR 指令需要一条 NEXT 指令。将 FOR-NEXT 循环置于最大嵌套深度为八层的FOR-NEXT 循环内。

如果启用 FOR-NEXT 循环,则完成迭代操作之前会持续执行循环,除非在循环内部更改 FINAL 值。在 FOR-NEXT 循环处于循环过程时可更改值。再次启用循环时,会将 INIT 值复制到 INDX 值(当前循环编号)。

例如,假定 INIT 值为 1,FINAL 值为 10,则 FOR 指令和 NEXT 指令之间的指令将执行 10 次,INDX 值递增: 1,2,3,...10.

如果 INIT 值大于 FINAL 值,则不执行循环。每次执行完 FOR 指令和 NEXT指令之间的指令后,INDX 值递增,并将结果与最终值进行比较。如果 INDX 大于最终值,则循环执行终止。

对于 STL,如果程序进入 FOR-NEXT 循环时逻辑堆栈的栈顶值为 1,则在程序退出 FOR-NEXT 循环时逻辑堆栈的栈顶值将为 1。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈