当前位置:文档之家› AB指令

AB指令

ABS [绝对值]


适用于处理器



SLC 5/03 OS302

SLC 5/04 OS401

SLC 5/05 OS501

MicroLogix 1200 C系列

MicroLogix 1500 C系列

MicroLogix 1400 A系列


指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
该输出指令包括两个参数:源和目标。激活时,将计算源的绝对值,并将结果放在目的中。

源可以是一个字地址、一个整数常量、浮点数据元素或浮点常量。

目的只能是一个字地址或浮点数据元素。

在源和目的参数中,可以使用索引或间接寻址。

整数值可以在[-32768和32767]的范围内。-32768是源值时,目的被设置为-32768,并且溢出位被设置。

当在源中检测到一个无效的(+ 或 -)浮点数时、或者在计算期间发生溢出或下溢条件时,则结果目标被设置为非数字,且溢出位被设置。

ADD [加法]


适用于处理器



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
行条件为真时,本输出指令将源A加到源B上,并将结果存储在目的地址中。源A和源B可以是值,也可以是包含值的地址。 然而,源A和源B不能同时都为常量。

警告!如果目标位接收到一个小于-32,768或者大于+32,767的值(一个需要16位以上来表示的数字),则处理器将设置S:0/1(溢出位)和S:5/0(溢出陷阱位,重大错误 0020)。 在你的程序中监视S:5/0位,以避免这种潜在的危险情况。
如果在使用C系列或者随后的5/02、或5/03、5/04、5/05或MicroLogix处理器,可以通过设置一个状态位以避免这一情况。请参阅以下信息。



32位加法
如果你正使用C系列或随后的5/02、或5/03、5/04、5/05或MicroLogix处理器(能够进行32位的加法和减法),那么你可以在状态文件中设置数学溢出位(S:2/14)。这可使无符号的、被截的、最低有效16位保留在目标中。

如果该位没有被设置,并且发生下溢或溢出情况,则该操作将与B系列5/02处理器相同。目标地址将包含32767(如果结果是正的)或者-32768(如果结果是负的)。


AND [逻辑与操作]
适用于处理器



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
当行条件为真时,该输出指令中的源A和B被逐位进行与操作,并存储在目的中。

源A和源B可以是字地址,也可以是常量。然而,两个源不能同时为常量。根据所使用的处理器类型,可以在本指令中使用索引或间接寻址。

目的必须是一个字地址。

AND真值表

源A
源B
目标

0
0
0

0
1
0

1
0
0

1
1
1

块传输
适用于
处理器



SLC 5/03 OS3

02

SLC 5/04 OS401

SLC 5/05 OS501

(所有C系列)



(所示参数仅作为例子,您的数据将不同于此。)
BTR示例




BTW示例








说明
使用块传输指令,你可以在Allen-Bradley RIO链接上向或从一个远程设备传输最多64个字。当一个远程设备传输数据到SLC时,使用块传输读(BTR)。当SLC处理器向一个远程设备写数据时,使用块传输写(BTW)。RIO B系列扫描仪通过M0和M1文件缓冲器执行块传输。

操作:
当该行变为真时,BTW指令告诉处理器将存储在数据文件中的数据写到指定的机架/组/模块地址中;BTR指令告诉处理器从机架/组/模块地址中读取数据并将其存储到数据文件中。

当从假到真的行转变激活一个BTW或者BTR指令时,正在传输的数据被放入BT缓冲器中。最大的块传输请求是32。处理器按请求顺序运行每个块传输请求。当处理器变为程序模式时,任何块传输都被取消。

当输入指令时,BTR或BTW指令在其控制结构地址(一个3字的控制文件)中写入信息。处理器使用这些值来执行传输。

通过单击该链接,可以获得有关通过RIO扫描仪执行BTR/BTW指令的操作的更完整的说明。

参数:
机架

放入目标I/O模块的I/O底盘的I/O机架编号。



指定在I/O底盘中目标I/O模块的位置的I/O组编号(0-7)。

插槽

组中的插槽编号(0-1)。插槽0是低插槽;插槽1是高插槽。当使用1-或者1/2-插槽寻址时,你应该将0用于该模块。

控制块

存储所有块传输信息的控制结构。控制块地址不应该用于任何其它指令。

数据文件

从其上(写)或向其中(读)复制M文件的数据文件的地址。

缓冲器文件

用于块传输的块传输缓冲器文件。(也就是M0:e.x00,e是插槽编号,x是缓冲器编号。该缓冲器编号的范围是从100到3200。)对于BTR指令,该缓冲器使用M1文件地址M1:1.100到M1:1.3200。(M1:1.0到M1:1.99被保留用于状态字。 )对于BTW指令,该缓冲器使用M0文件地址M0:1.100到M0:1.3200。(M0:1.0到M0:1.99被保留用于状态字。)

请求的字数量

将传输的字的数量。如果你将长度设置为0,则处理器保留64个字用于块传输数据。块传输模块传输它可以处理的最多数量的字。如果你将长度设置为1-64,则处理器传输指定数量的字。

注意:3字控制结构具有下列结构。在块传输之前,字0中的所有状态位都将被清除,控制结构中的字2将被初始化为0。




15
14
13
12
11
10
09
08
07
06
05
04
03
02
01
00

字0
EN
ST
DN
ER

EW
NR
TO
RW
机架

插槽

字1
<请求的字数量>

字2
<传输的字数量>

CLR [清除]
适用于处理器



所有SLC和M

icroLogix处理器
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
行条件为真时,该输出指令将一个字中的所有位设置为0。目标必须是一个字地址。

如果在使用5/02、5/03、5/04、5/05或MicroLogix处理器,则可以将索引地址用于目标参数。如果在使用5/03 OS302、5/04 OS401或5/05处理器,则可以将间接地址 用于目标参数。

执行完该指令,所有算术状态位都被复位。

CPT [计算]
适用于处理器



SLC 5/03 OS302

SLC 5/04 OS401

SLC 5/05

MicroLogix 1400 A系列


指令示例





(所示参数仅作为例子,
您的数据将不同于此。)


说明
当对于这一输出指令行条件为真时,本指令的表达式栏中的复制、算术、逻辑或转换操作将被执行,其结果被发送到目的。在源和目的参数中,可以使用索引或间接寻址来表示地址。

计算指令的执行时间比单个算术操作要长,并且使用更多的指令字。

输入参数:
目的是一个地址,指示表达式中所示的复制、算术、逻辑或转换操作的结果将被保存的地点。目的可以是一个字地址或浮点数据元素的地址。

表达式是零行或多行,每行最多28个字符,最多255个字符。在表达式中可以使用的指令包括:+、-、*、l(DIV)、SQR、-(NEG)、NOT、XOR、OR、AND、TOD、FRD、LN、TAN、ABS、DEG、RAD、SIN、COS、ATN、ASN、ACS、LOG以及** (XPY)。CPT指令的执行时间比单个算术操作要长,并且使用更多的指令字。

注意:在表达式操作符中一个地址是否有效,这是由与其相关联的操作符决定的。例如,因为SQR指令允许直接、索引和间接地址,那么,表达式中与SQR操作符相关的任何操作对象,都可以是一个直接、索引或间接地址。

CTD [倒计数]
适用于处理器



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
本输出指令倒数在行中其前面的条件每次由假到真的转变,当累积的值达到预先设置值时,产生一个输出。行转变可能由限位开关或经过探测器的部件所触发。

当行条件再次变为假时,每个计数将被保持。该计数被保持,除非与计数器具有相同地址的RES(复位)指令被激活、或程序中的另一条指令覆盖了该值。

在CTU或CTD指令变为假之后,累积的值被保持,当电源断开时被再存入处理器。同时,计数器的开关状态(完成)、溢出和下溢位被保持。当RES被激活时,累积值和控制位将被复位。

计数器文件采用每元素三个字。

指令位:11 = UN(倒数下溢)位

13 = DN(完成)位

14 = CD (倒数启用)位

CD位始终在进入远程运行或 远程测试

模式之前设置。

输入参数:
输入一个计数器地址、预置值和累计制。预置值是设置DN(完成)位必须达到的点。累计值表示当前的计数状态。

C5:1表示计数器文件编号5、元素编号1。

CTU [顺计数]
适用于处理器



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
本输出指令顺数在行中其前面的条件每次由假到真的转变,当累积的值达到预置值时,产生一个输出。行转变可能由限位开关或经过探测器的部件所触发。

计数器探测由假到真转变的能力取决于输入的信号的速度(频率)。输入信号开和关的历时不能快于扫描时间。

当行条件再次变为假时,每个计数都被保持,允许在超过预置值之外继续计数。这样,就可以将输出建立在预置值上,但继续计数,以便记录存货清单/部件等等。

注意:使用与计数器具有相同地址的RES(复位)指令或程序中的另一条指令,以盖写该值。计数器的开关状态完成、溢出和下溢位被保持。当RES被激活时,累积值和控制位将被复位。



计数器文件采用每元素三个字。

指令位:12 = OV(顺计数溢出)位

 13 = DN(完成)位

15 = CU(顺计数启用)位

CU位始终在进入远程 运行或 远程 测试模式之前设置。

输入参数:
输入一个计数器地址、预置值和累计制。预置值是设置DN(完成)位必须达到的点。累计值表示当前的计数状态。

C5:1表示计数器文件编号5、元素编号1。
DIV [除]
适用于处理器



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
当行条件为真时,该输出指令将源A除以源B,并将结果保存在目的和数学寄存器中。保存在目的中的值被圆整。保存在数学寄存器中的值包括未圆整的商(放在最高有效的字中)以及余数(放在最低有效的字中)。

源A和源B可以是常量值或包含值的地址,不过,源A和源B不能同时为常量。

如果在使用5/02、5/03、5/04、5/05或MicroLogix处理器,对于源或目标参数,可以使用索引地址。如果在使用5/03 OS302、5/04 OS401或5/05处理器,对于源或目标参数,可以使用间接地址 。

如果返回一个大于+32,767的值,将设置一个次错误标志,值32,767被放入目标中。然而,如果使用C系列或随后的5/02或 5/03、5/04、5/05或MicroLogix处理器,并且设置了S:2/14(数学溢出选择位),那么溢出的无符号、被截的、最低有效16位保留在目的中。

如果余数是0.5或更大,则目的将被圆整。未圆整的商被放在数学寄存器的最高有效字中;余数被放在最低有效字中。

EQU [

等于]
适用于处理器



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
当源 A = 源 B时,该输入指令为真。

EQU指令比较用户指定的两个值。如果两个值相等,则允许行连续。行变为真,输出被激活(假定没有其它强制影响行的状态)。

输入参数:
必须为源A输入一个字地址。可以为源B输入一个程序常量或一个字地址。负整数以两者的补码形式存储。

如果在使用5/02、5/03、5/04、5/05或MicroLogix处理器,对于源或目标参数,可以使用索引地址对于源A或源B参数。如果在使用5/03 OS302、5/04 OS401或5/05处理器,对于源或目标参数,可以使用间接地址 对于源A或源B参数。
FRD [从BCD转换为整数]
适用于
处理器



SLC 5/01,固定式





SLC 5/02

SLC 5/03

SLC 5/04

SLC 5/05以及

所有MicroLogix
特别考虑事项



目标只能是数学寄存器。



目标可以是一个字地址或数学寄存器。
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
当行条件为真时,该输出指令将数学寄存器或源中的BCD值转换为一个整数,并将其存储在目标中。

在梯形图程序中操作BCD值之前,您应当将其转换为整数,因为处理器将BCD值当作整数来对待。否则,实际的BCD可能会丢失或失真。

如果使用SLC 5/02、5/03、5/04、5/05或MicroLogix处理器,对于源或目标参数,可以使用索引地址。如果在使用5/03 OS302、5/04 OS401或5/05处理器,对于源或目标参数,可以使用间接地址 。

在执行FRD指令之前,请始终提供对所有BCD输入设备的梯形图逻辑过滤。点到点输入过滤器延迟中很微小的差异,也可导致FRD指令因转换非BCD数字而溢出。

警告!如果数学寄存器(S:13 and S:14)被用作源,而且BCD值不超过4位,在执行FRD指令之前一定要清除字S:14。如果没有清除S:14,该字中仍有来自另一数学指令的值,则一个错误的值将被放在目标字中。


GEQ [大于或等于]
适用于处理器



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
该输入指令比较用户指定的两个值。如果存储在源A中的值大于或等于存储在源B中的值,它允许行继续。行将为真,输出将被激活(假定没有其它指令影响行的状态)。如果源A的值小于源B的值,则该指令在逻辑上为假。

输入参数:
必须为源A输入一个字地址。可以为源B输入一个程序常量或一个字地址。带符号的整数以两者的补码形式存储。

如果在使用5/02、5/03、5/04、5/05或MicroLogix处理器,可以使用索引地址。如果在使

用5/03 OS302、5/04 OS401或5/05处理器,对于源或目标参数,可以使用间接地址
GRT [大于]
适用于处理器



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
该输入指令比较用户指定的两个值。如果存储在源A中的值大于存储在源B中的值,它允许行继续。行将为“真”,输出将被激活(假定没有其它指令影响行的状态)。如果源A的值小于或等于源B的值,则该指令在逻辑上为假。

输入参数:
必须为源A输入一个字地址。可以为源B输入一个程序常量或一个字地址。带符号的整数以两者的补码形式存储。

如果在使用5/02、5/03、5/04、5/05或MicroLogix处理器,可以使用索引地址。如果在使用5/03 OS302、5/04 OS401或5/05处理器,对于源或目标参数,可以使用间接地址 。

LEQ [小于或等于]
适用于处理器



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
这一条件输入指令检测一个值(源A)是否小于或等于另一个值(源B)。如果源A的值小于或等于源B的值,则该指令在逻辑上为真。如果源A的值大于源B的值,则该指令在逻辑上为假。

输入参数:
为源A输入一个字地址。为源B输入一个常量或一个字地址。带符号的整数以两者的补码形式存储。


LES [小于]
适用于处理器



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
这一条件输入指令检测一个值(源A)是否小于另一个值(源B)。如果源A的值小于源B的值,则该指令在逻辑上为真。如果源A的值大于或等于源B的值,则该指令在逻辑上为假。

输入参数:
为源A输入一个字地址。为源B输入一个常量或一个字地址。带符号的整数以两者的补码形式存储。

如果在使用5/02、5/03、5/04、5/05或MicroLogix处理器,可以使用索引地址。如果在使用5/03 OS302、5/04 OS401或5/05处理器,对于源或目标参数,可以使用间接地址 对于源参数。

LIM [极限检测]
适用于处理器



SLC 5/02

SLC 5/03

SLC 5/04

SLC 5/05

所有 MicroLogix
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
根据你设置极限的方式,使用LIM指令可以检测值是在指定范围之内还是之外。

输入参数:
根据你对检测参数的定义,下限和上限界参数可以是一个字地址或程序常量。请参见下面。

检测
下限
上限

常量
字地址
字地址

字地址
常量或字地址
常量或字地址


指令的真/假状态:
如果下限的值等于或小于上限,则当检测值在

极限之间或等于任一极限时,该指令为真。如果检测值在极限之外,则该指令为假。

如果下限的值大于上限,则当检测值在极限之间时该指令为假。如果检测值等于任一极限或在极限之外,则该指令为真。

MCR [主控复位]
适用于处理器



所有SLC和MicroLogix处理器
指令示例








警告!MCR指令不是对提供紧急停止功能的硬接线主控继电器的替代。你仍然应当安装一个硬接线主控继电器,以提供紧急I/O电源关闭。

说明
这个输出指令(有时被称作“区域控制”)用于设置你的梯形图程序的区域,所有非保持性的输出可能在相同的时间内同时失效。它是成对使用的,一个MCR定义将要受到影响的梯形图区域的起点,一个MCR定义该区域的终点。

在第一个MCR的行上编写一个输入指令,以控制行逻辑的连续性。当该行变为“假”时,受控区域中所有非保持性的输出都将失效。当该行变为“真”时,所有行都根据其正常的行条件被扫描(对区域控制指令不予处理)。

注意:不要在结束MCR指令之前使用条件逻辑。结束MCR指令必须是行上的唯一指令。

警告!MCR控制的区域必须只包含两条MCR指令,一个定义起点、一个定义终点。任何其它MCR指令、或所编写的跳转到一个MCR区域的JMP指令,可能产生意外的、破坏程序和机器的操作结果。禁止重叠MCR区域!

警告!当编辑一个包含MCR指令的行时,必须同时编辑MCR起点和MCR终点行。

警告!如果你在一个MCR区域中开始定时器或计数器等指令,当该区域被停用时,指令操作就停止了。当被放在一个假的MCR区域内时,TOF定时器将会活动起来。如果必要,请改写区域外的关键操作。

警告!(针对SLC 5/03、5/04和5/05)当联机且你的程序中有未匹配的MCR指令时,END指令将作为第二个无条件MCR指令,第一个MCR指令之后的所有行借助当前的MCR指令状态执行。

如果存在没有同伴的MCR指令,当联机时你可以保存程序。不过,如果你脱机且存在没有同伴的MCR指令,则将会发生错误。

MOV [移动]
适用于处理器



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
当该指令之前的行条件为真时,MOV指令在每次扫描时将源的一个拷贝移动到目标。原来的值在其源位置保持完整不变。

如果在使用5/02、5/03、5/04、5/05或MicroLogix处理器,对于源或目标参数,可以使用索引地址。如果在使用5/03 OS302、5/04 OS401或5/05处理器,对于源或目标参数,可以使用间接地址 。

源是要移动的数据的地址。源可以是一个常量。

目标 - 指出数据将被移动到的地址。



注意:如果你希望移动数据的一个字而不影响数学标志,可以使用长度为1个字的Copy (COP)指令,而不是使用MOV指令。

MUL [乘法]
适用于处理器



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
使用MUL指令,可以将一个值(源A)乘以另一个值(源B),并将结果放在目标中。源A和源B可以是常量值或包含值的地址,不过,源A和源B不能同时为常量。

如果在使用5/02、5/03、5/04、5/05或MicroLogix处理器,对于源或目标参数,可以使用索引地址。如果在使用5/03 OS302、5/04 OS401或5/05处理器,对于源或目标参数,可以使用间接地址 。

如果返回一个大于+32,767的值,将设置一个次错误标志,值32,767被放入目标中。如果你在使用C系列或随后的5/02或 5/03、5/04、5/05或MicroLogix处理器,并且设置了S:2/14(数学溢出选择位),那么溢出值的无符号、被截的、最低有效16位将保留在目标中。

数学寄存器包含乘法操作的32位有符号整数结果。该结果在溢出时是有效的。

MVM [屏蔽移动]
适用于处理器



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
当行条件为真时,MVM指令将数据从源位置移动到一个目标位置,允许目标数据的一部分被另一个字所屏蔽。源地址的数据通过该屏蔽传递到目标地址。只要行保持为真,该指令在每次扫描时都移动相同的数据。

如果在使用5/02、5/03、5/04、5/05或MicroLogix处理器,对于源或目标参数,可以使用索引地址对于源、屏蔽或目标参数。如果在使用5/03 OS302、5/04 OS401或5/05处理器,对于源或目标参数,可以使用间接地址 对于源、屏蔽或目标参数。

输入参数:
源是要移动的数据的地址。

屏蔽 - 是该指令通过其移动数据的屏蔽的地址。屏蔽也可以是一个十六进制的值。你可以输入一个二进制、十进制或十六进制的值。RSLogix 500Micro将进行任何必要的转换,并显示十六进制的值。点击这里,查看一个说明如何使用十六进制、二进制或十进制的值输入掩码值的示例。

目的 - 是该指令移动数据达到的地址。

屏蔽的作用就象是目标的一个过滤器。掩码中的字符形式确定了哪些位将从该源传递到目标中、哪些位将被屏蔽。掩码中只有被设置(1)的位才将数据传递到目标中。

例如:
如果在移动之前,目标包含 0000000000000000

源字中的位值是 - 1111000011110000

屏蔽地址中的位设置是 - 0000000011111111

移动之后,目标将包含 - 0000000011110000

请注意,在本例中,屏蔽中的被复位的位没有将数据传递到

目标。屏蔽中只有被设置为(1)的位才传递源数据。

NEG [求反]
适用于处理器



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
当行条件为真时,NEG指令将更改源的符号,并将其放在目标中。源和目标参数必须是字地址。

如果在使用5/02、5/03、5/04、5/05或MicroLogix处理器,对于源或目标参数,可以使用索引字地址。如果在使用5/03 OS302、5/04 OS401或5/05处理器,对于源或目标参数,可以使用间接地址 。

NEQ [不相等]
适用于处理器



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
使用NEQ指令可以测试两个值是否不相等。如果源A和源B不相等,则该指令在逻辑上为真。如果两个值相等,则该指令在逻辑上为假。

输入参数:
源A必须是一个字地址。

源B可以是一个字地址或程序常量。

如果在使用5/02、5/03、5/04、5/05或MicroLogix处理器,对于源或目标参数,可以使用索引字地址对于源A和源B参数。如果在使用5/03 OS302、5/04 OS401或5/05处理器,对于源或目标参数,可以使用间接地址 对于源A或源B参数。

带符号的整数以两者的补码形式存储。

NOT [逻辑非操作]
适用于处理器



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
当行条件为真时,NOT指令的源被按位取非,并保存在目标中。

源和目标必须是字地址。

如果在使用5/02、5/03、5/04、5/05或MicroLogix处理器,对于源或目标参数,可以使用索引地址。如果在使用5/03 OS302、5/04 OS401或5/05处理器,对于源或目标参数,可以使用间接地址 。


NOT真值表

目标

0
1

1
0

ONS [单触发]
适用于处理器



MicroLogix 1200

MicroLogix 1500

MicroLogix 1400





点击此处了解一些特殊的考虑事项在梯形图逻辑中编写单触发时。
指令示例





(所示参数仅作为例子,您的数据将不同于此。)




说明
ONS指令是一个输入指令,对于一个程序扫描,在行上ONS指令之前的条件从假到真的转变时,它使行为真。

使用ONS指令,可以启动由按钮触发的事件,如从指轮开关拨值、或冻结快速显示的LED值。

你必须为该位输入一个位地址。使用一个二进制文件或者整数文件地址。

注意:在预扫描过程中,位地址被设置,以便在程序扫描开始时禁止假触发
OR [或操作]
适用于处理器



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
当行条件为真

时,OR指令的源A和B被逐位进行或操作,并存储在目标中。源A和源B可以是字地址,也可以是常量。然而,两个源不能同时为常量。对于任何一个源参数,你可以输入一个常量或一个字地址。目标必须是一个字地址。

如果在使用5/02、5/03、5/04、5/05或MicroLogix处理器,对于源或目标参数,可以使用索引地址。 如果在使用5/03 OS302、5/04 OS401或5/05处理器,对于源或目标参数,可以使用间接地址 。

OR真值表
源A
源B
目标

0
0
0

0
1
1

1
0
1

1
1
1
OSF [单触发下降]
适用于处理器



MicroLogix 1200

MicroLogix 1500

MicroLogix 1400





点击此处了解一些特殊的考虑事项在梯形图逻辑中编写单触发时。
指令示例



(所示参数仅作为例子,您的数据将不同于此。)


说明
OSF是一个条件输出指令,触发某个事件发生一次。在根据状态从真到假的变化基础上(而不是结果的行状态)必须启动某一事件时,可使用OSF。

你必须为OSF存储位输入一个位地址。使用一个二进制文件或者整数文件地址。这是记着前次扫描的行状态的位地址。你所使用的位地址必须是唯一。禁止在程序中的其它地方使用它。

输出位必须是数据文件类型O、I、B、T、C、R、N或L。这是在从真到假的行状态时设置的位地址。该输出位是为一个程序扫描而设置的。

操作:
只要行为真,输出位就被复位(0),存储位就被设置(1)。

当OSF指令之前的行条件从真变为假时,为一次程序扫描,输出位被设置(1);存储位被复位(0)。如果OSF之前的行条件从假变为真,则OSF指令再次变为真。

在一个活动的MCR区域中执行时,存储位和输出位都被复位(0)。

OSR [单触发上升]
适用于处理器



所有SLC和MicroLogix 1000处理器

(单击此处了解 MicroLogix 1200和1500处理器)
指令示例





(所示参数仅作为例子,您的数据将不同于此。)




说明
点击此处了解一些特殊的考虑事项在梯形图逻辑中编写单触发时。

OSR是一个条件输入指令,触发某个事件发生一次。当一个事件必须在行从假到真的状态变化的基础上(如由一个按钮触发)启动时,使用OSR。使用OSR的一个例子是冻结快速显示的LED值。

将OSR放在行上,紧在输出指令之前。然后引用该输出作为你程序中的单触发。你提供给OSR输入指令的地址,是保留行的前一状态的地方。

你必须为OSR输入一个位地址。使用一个二进制文件或者整数文件地址。你所使用的位地址必须是唯一。禁止在程序中的其它地方使用它。

分配给OSR指令的地址不是你的程序引用的单触发地址,它也不指示OSR指令的

状态。该地址允许OSR指令记住其前一个行状态。

警告!当使用固定式或SLC 5/01控制器时,请不要在行中的OSR指令之后放置输入条件。否则,可能会发生意外的操作。

SLC 5/02、5/03、5/04、5/05和MicroLogix控制器允许你在一个行中每个输出使用一个OSR指令。

对于固定式和SLC 5/01处理器,每个行你只能使用一个OSR,无论输出的数量是多少。当使用固定式和5/01控制器时,OSR不能在分支内发生。

操作:
当OSR指令之前的行条件从假变为真时,OSR指令为真,进行一次扫描。当一次扫描完成之后,即使OSR之前的行条件仍然为真,OSR指令也变为假。如果OSR之前的行条件从假变为真,则OSF指令再次变为真。

OTE [输出激励]
适用于处理器



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
当达到行连续性(行为真)时,该指令设置指定的位。在正常的运行条件下,如果被设置的位对应于一个输出设备,则当行为真时,该输出设备将被通电。

如果在使用5/02、5/03、5/04、5/05或MicroLogix处理器,对于源或目标参数,可以使用索引地址。如果在使用5/03 OS302、5/04 OS401或5/05处理器,可以使用间接地址。

输出地址被指定到位级别。

警告!不要将一个输出地址用于你的逻辑程序中的多个地方。始终要完全明白输出线圈所代表的负载。

寻址帮助:
在一个输出地址中,如O:4/03:

"O"表明输出映射表

"4"代表插槽4(十进制)

"03"代表第3位

注意:插槽0为处理器而保留。

OTL [输出闩锁]
适用于处理器



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
该指令的功能大部分与OTE相同,不同之处在于,一旦用OTL设置了一个位,它就被闩锁了。一旦一个OTL位已经被设置为"on"(内存中的1),即便行条件变为假,它也将保持"on"。必须用OTU指令复位该位。

在你的逻辑程序中,闩锁与开闩指令必须被赋予相同的地址。输出地址被指定到位级别。

警告!如果出现了一个错误条件,暂停了处理,物理输出将被关闭。但是,一旦错误条件被清除,控制器将以其数据表值所确定的状态中的OTL继续运行。

注意:万一断电,如果在断电时OTL位被设置,则OTL控制的任何输出设备将在来电时通电。

寻址帮助:
在一个输出地址中,如O:12/03:

"O"表明输出映射表

"12"代表插槽12(十进制)

"03"代表第3位

注意:"12"代表插槽12(插槽0为处理器而保留)。这可能是13个插槽的机架(0-12)中的最后一个可用的插槽,或者,如果互连了两个具有7个插槽

的机架,它可能是2号机架中的第6个插槽。
OTU [输出开闩]
适用于处理器



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
使用该输出指令,可以解开(复位)一个被闩锁(设置)的位(是由OTL指令所设置的)。OTU地址必须与最初设置该位的OTL地址相同。

警告!如果出现了一个使处理暂停的错误条件,物理输出将被关闭。但是,一旦错误条件被清除,控制器将以其数据表值所确定的状态中的OTL继续运行。

注意:万一断电,如果在断电时OTL位被设置,则OTL控制的任何输出设备将在来电时通电。

寻址帮助:
在一个输出地址中,如O:4/03:

"O"表明输出映射表

"4"代表插槽4(十进制)

"03"代表第3位

注意:插槽0为处理器而保留。

输出地址被指定到位级别。

PID [比例/积分/微商] 闭合循环控制
适用于处理器



SLC 5/02

SLC 5/03

SLC 5/04

SLC 5/05











MicroLogix 1200,1400和1500(一个特殊的PID文件替换了旧的整数文件控制块。
指令示例







(所示参数仅作为例子,
您的数据将不同于此。)


说明
该输出指令用于控制物理属性,如加工循环的温度、压力、液位或流速。

PID指令通常控制一个闭合的循环,使用来自模拟输入模块的输入并为模拟输出模块提供输出以有效地在期望的调整点上保持加工变量。

PID方程通过向执行机构发送输出信号来控制过程。调整点和加工变量输入之间的误差越大,输出信号就越大,反之亦然。一个附加值(前馈或偏差)可以被田加到控制输出上,作为一个补偿。PID计算的结果(控制变量)将把您在控制的加工变量推向调整点。

PID指令可以在定时模式或STI模式中操作。在定时模式中,该指令以用户可选的速率定时更新其输出。在STI模式中,该指令应当被放在一个STI中断子程序中。然后,在每次STI子程序被扫描时,它就更新其输出。STI时间间隔和PID循环更新率必须相同,以便该方程正确执行。

输入参数:
PID文件 - (仅MicroLogix 1200,1400 和 1500)指定一个PID文件。如果您在您的数据文件中还没有定义PD文件类型,将会为您创建一个该文件类型。该文件的长度固定为23个字。该PD文件取代了旧的整数文件控制块。

控制块长度 - (不适用于MicroLogix 1200,1400或1500)指定一个整数文件,例如N7:0。该文件的长度固定为23个字。

过程变量PV - 存储过程输入值的元素地址。该地址可以是存储输入A/D值的模拟输入字的位置。如果您选择预先将您的输入值缩放到0-16383范围内,您也可以输入一个整数地址。

控制变

量CV - 存储PID输出的元素地址。该输出值的范围从0到16383,16383是100%的"ON"值。这通常是一个整数地址,因此您可以将PID输出范围缩放到您的应用所要求的特定模拟范围。

设置画面 - 双击指令上的设置画面,可弹出一个画面,提示您必须输入其它参数以全面编写PID指令。

单击以下链接了解有关PID指令的更多信息

RES [复位]
处理器



所有SLC和MicroLogix处理器

(单击此处了解MicroLogix高速计数器复位)
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
RES指令用于复位定时器和计数器。当行中RES前的条件为真时,RES将复位定时器或计数器的累加值和控制位。确保复位指令所控制的定时器或计数器与复位指令具有相同的地址。例如,如果您的RTO地址是T4:1,那么您的RES地址必须也是T4:1。

当复位一个计数器时,如果RES指令被激活,并且计数器行被激活,则CU或CD位将被复位。

如果计数器预置值是负的,则RES指令将累加值设置为0。这将使倒计数或者顺计数指令设置完成位。

警告!不要使用RES指令复位TOF指令。RES总会清除状态位和累加值。这可能导致不可预测的机器操作或者人身伤害。

RTO [延迟时具有保持性的定时器]
适用于处理器



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,
您的数据将不同于此。)


说明
RTO的作用与TON是相同的,只不过一旦RTO开始计时,即使该行变为假、发生故障、模式从远程运行或远程测试变为远程编程、或掉电,它也将保持其时间计数。当行连续性返回(行再次变为真)时,RTO从丢失行连续性时所保持的累加时间开始计时。通过保持其累加值,保持定时器测量行条件为真期间的累加周期。

指令位:13 = DN(完成)

14 = TT(定时器计时位)

15 = EN(启用位)

如果在执行该指令时,预置值或者累加值是负的,将产生一个重大故障。

注意:通过RES指令可以复位该累加值。当与RTO具有相同地址的RES指令被激活时,该累加值和控制位被复位。

重要:在定时器计时期间,如果JMP、LBL、JSR或SBR指令跳过包含定时器指令的行,则计时可能会不准确。

寻址帮助:
输入一个计时器地址、时基、预置值和ACCUM(累加)值。定时器文件每个元素使用3个字:一个用于指令位(控制字)、一个用于预置值、一个用于累加器。

T4:1表示定时器文件编号4、元素编号1。
SBR [子程序]
适用于处理器



所有SLC和MicroLogix处理器
指令示例






使用子程序可以存储在你的应用程序中必须从多个点上执行的程序逻辑的重复部分。子程序可以节约

内存,因为你只将其编写一次。

特别是如果你的应用调用被嵌套的或者相当长的子程序,使用立即输入和/或输出指令(IIM, IOM)更新子程序中的关键I/O。否则,直到控制器到达主程序的末尾(执行了所有子程序之后)时才会更新I/O。

警告!子程序中所控制的输出将保持其上次的状态,直到该子程序被再次执行。

说明
SBR指令是被作为子程序文件中的第一条指令而放入的,它标识该文件。这就是被用于JSR指令中识别该程序应该跳转到的目标的文件编号。

该指令没有控制位。它总被计算为真。该指令必须被编写为子程序第一行的第一条指令。使用该指令是可选的,但推荐使用。
SCL [缩放数据]
适用于处理器



SLC 5/02

SLC 5/03

SLC 5/04

SLC 5/05

所有 MicroLogix
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
使用该指令,可以缩放来自你的模拟模块的数据,并将其调整到过程变量或另一模拟模块所规定的极限中。例如,使用SCL将一个4-20 mA输入信号转换为一个PID过程变量。或者使用SCL缩放一个模拟输入以便控制一个模拟输出。

当行条件为真时,该指令将源乘以指定的比率。圆整的结果被添加到偏移值中,并放入目标中。

对于源或目标参数,可以使用索引或间接地址。

在计算线性关系时使用的方程式:

缩放值 =(输入值 x 比率) + 偏移值

比率 =(缩放的最大值 - 缩放的最小值)/(输入的最大值 - 输入的最小值)

偏移值 = 缩放的最小值 - (输入的最小值x比率)



输入参数:
对于下列参数,值必须在-32768和+32767之间。

源 - 必须是一个字地址。

率 - (或者斜率)是你输入的、被10000所除的正值或者负值。它可以是一个程序常量或者一个字地址。

偏移 - 可以是一个程序常量或者一个字地址。

目的 - 是操作结果的地址。

注意:如果源乘以比率、除以10000的结果大于32767,则SCL指令将溢出,引起错误0020(小的错误位),并将32767放入目标中。这不会顾及当前偏移值的多少。如果发生这种错误,在当前扫描结束之前用你的梯形图程序复位S:5/0位,否则将会公布一个重大错误。
SCP [带参数缩放]
适用于处理器



SLC 5/03 OS302

SLC 5/04 OS401

SLC 5/05

MicroLogix 1200

MicroLogix 1500

MicroLogix 1400 A系列


指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
该输出指令包括6个参数。参数可以是整数、长型、浮点(仅SLC 5/03、5/04和5/05支持浮点;MicroLogix 1200、1400和1500处理器支持浮点)或者直接的数据值或包含值的地址。在输入最小值和最大值以及缩放

的最小值和最大值之间创建一个线性关系,输入值被缩放到由该线性关系所确定的范围中。缩放的结果被返回到输出参数所指出的地址。

可以使用索引寻址(仅适用于SLC)或间接寻址。

当使用MicroLogix 1200,1400或1500控制器时,数据文件类型MG (消息) 和PID可用于间接地址参数。

输入参数:
输入 - 输入一个将被缩放的值。它可以是一个字地址或者浮点数据元素的地址。

输入最小值 - 为输入输入一个最小值(范围的下限)。该值可以是一个字地址、一个长型(双字)地址、一个整数常量、浮点数据元素或浮点常量。

输入最大值 - 为输入输入一个最大值(范围的上限)。该值可以是一个字地址、一个长型(双字)地址、一个整数常量、浮点数据元素或浮点常量。

整定最小值 - 输入一个最小缩放值,表示你希望将输入缩放到的范围的下限。缩放关系是线性的。该值可以是一个字地址、一个长型(双字)地址、一个整数常量、浮点数据元素或浮点常量。

整定最大值 - 输入一个最大缩放值,表示你希望将输入缩放到的范围的上限。缩放关系是线性的。该值可以是一个字地址、一个长型(双字)地址、一个整数常量、浮点数据元素或浮点常量。

输出 - 为执行该指令之后返回的缩放值输入一个地址。该值可以是一个字地址,一个长型(双字)地址或者浮点数据元素的地址。如果在以上参数中遇到任何一个浮点文件类型或者浮点常量,则整个指令将被作为浮点处理,所有的直接整数数据值被转换为直接浮点数据值。

注意:输入最小值、输入最大值、缩放最小值以及缩放最大值用于确定斜率和偏移值。输入值可以在指定的输入极限之外,不需要排序。例如,缩放的输出值没有必要被夹在缩放的最小值和最大值之间。

值校验:
无效的浮点输入值将返回非数字,并且溢出位将被设置。

如果缩放的输出最小值等于缩放的输出最大值,则缩放的输出值被强制为缩放的输出最小值。

如果输入值、输入最小值以及输入最大值都是相等的,则该输出被强制为缩放的输出最小值。

如果输入最小值大于输入最大值,则控制器将用一个负斜率来缩放这些值。

如果缩放的最小值大于缩放的最大值,则控制器将用一个负斜率来缩放这些值。
SUB [减法]
适用于处理器



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
当行条件为真时,SUB输出指令从源A中减去源B,并将结果存储在目标中。源A和源B可以是值,也可以是包含值的地址。 然而,源A和源B不能同时都为常量。

如果

在使用5/02、5/03、5/04、5/05或MicroLogix处理器,对于源或目标参数,可以使用索引地址。如果在使用5/03 OS302、5/04 OS401或5/05 OS500处理器,对于源或目标参数,可以使用间接地址 。

警告!如果目标位接收到一个小于-32,768或者大于+32,767的值(一个需要16位以上来表示的数字),则处理器将设置S:0/1(溢出位)和S:5/0(溢出陷阱位,重大错误 0020)。在你的程序中监视S:5/0位,以避免这种潜在的危险情况。

如果在使用C系列或者随后的5/02、或5/03、5/04、5/05或MicroLogix处理器,可以通过设置一个状态位以避免这一情况。请参见下面。

32位减法:
如果你正使用C系列或随后的5/02、或5/03、5/04、5/05或MicroLogix处理器(能够进行32位的加法和减法),那么你可以在状态文件中设置数学溢出位(S:2/14)。这可使无符号的、被截的、最低有效16位保留在目标中。

如果该位没有被设置,并且出现下溢或溢出的情况,则该操作将与B系列处理器相同。目标地址将包含32767(如果结果是正的)或者-32768(如果结果是负的)。

TOD [转换为BCD]
适用于
处理器



SLC 5/01,固定式



SLC 5/02

SLC 5/03

SLC 5/04

SLC 5/05以及

所有MicroLogix
特别考虑事项



目标只能是数学寄存器。



目标可以是一个字地址或数学寄存器。
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
当行条件为真时,该输出指令将一个16位的整数源值转换为BCD,并将其存储在数学寄存器或者目标中。

如果你输入的整数值是负的,则符号将被省略,转换的进行如同该数字是正的。(换句话说,该数字的绝对值被用于转换。

如果在使用5/02、5/03、5/04、5/05或MicroLogix处理器,对于源或目标参数,可以使用索引地址。如果在使用5/03 OS302、5/04 OS401或5/05 OS500处理器,对于源或目标参数,可以使用间接地址 。

警告!如果数学寄存器(S:13和S:14)被作为目标,则可能的最大BCD值是32767。对于大于9999的BCD值,溢出位将被设置,小错误位也将被设置。如果发生此种情况,使用你的梯形图逻辑在扫描结束之前解开S:5/0,以避免重大错误0020。

TOF [定时器关闭延迟]
适用于处理器:



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,
您的数据将不同于此。)


说明
使用TOF指令,可以在其行关闭了预置时间间隔之后打开或关闭一个输出。当该行发生一个从真到假的转换时,TOF指令开始计数时基间隔。只要行条件保持为假,定时器将根据每次扫描的时基增大其累加值(ACC),直到它到达预置值(PRE)。当行条件变为真时,不管定时器是

否已超时,该累加值将被复位。

TOF定时器在未激活的MCR对中计时。

状态位:

13 = DN
(完成位)
当行条件为真时被设置;保持此状态直到行条件变为假并且累加值大于或者等于预置值。

14 = TT
(定时器计时位)
当行条件为假并且累加值小于预置值时被设置;保持此状态直到行条件变为真或者完成位被复位。

15 = EN
(启用位)
当行条件为真时设置;保持此状态直到行条件变为假。




当处理器操作从远程运行或远程测试模式变为远程编程模式时、或者如果在TOF计时期间但还没有达到其预置值时用户电源丢失,EN、TT和DN位保持被设置,累加值(ACCUM)保持不变。

返回到远程运行或者远程测试模式时,可能发生以下情况:

如该行为真:
TT位被复位

DN位保持被设置

EN位被设置

ACC值被复位

如该行为假:
TT位被复位

DN位被复位

EN位被复位

ACC值被设置为预置值




警告!复位(RES)指令不能与TOF指令一起使用,因为RES总会清除状态位和累加值。(参见复位指令。)

寻址帮助:
输入一个计时器地址、时基、预置值和ACCUM(累加)值。定时器文件每个元素使用3个字:一个用于指令位(控制字)、一个用于预置值、一个用于累加器。

T4:1表示定时器文件编号4、元素编号1。

TON [定时器打开延迟]
适用于处理器:



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,
您的数据将不同于此。)


说明
请使用TON指令,可以在定时器打开了预置时间间隔之后打开或关闭一个输出。当其行变为“真”时,该输出指令开始计时(以1秒或百分之一秒的时间为间隔)。它等待特定的时间量(如预置中所设置的)、记录已发生的累加时间间隔(ACCUM),当ACCUM(累加的)时间等于预置时间时设置DN(完成)位。

只要行条件保持为真,每次计算时定时器都将调整其累加值(ACC),直到到达预置值(PRE)。当行条件变为假时,不管定时器是否已超时,该累加值将被复位。

指令位:

13 = DN(完成)

14 = TT(定时器计时位)

15 = EN(启用位)

如果在TON计时期间但还没有到达其预置值时电源丢失,则EN和TT位将保持被设置,累加值(ACCUM)保持不变。如果处理器从REM Run或REM Test模式变为REM Program模式,也是这样。

如果当TON指令在一个真行上执行时累加器或者预置为负,则会产生一个重大故障(0034)。

注意:如果在计时过程中该行变为“假”(丢失逻辑连续性),则累加值将被复位,DN、EN和TT位都被复位,不管该定时器是否已经达到预置值。

警告!在定时器计时期间,如

果JMP、LBL、JSR或SBR指令跳过包含定时器指令的行,则计时可能会不准确。

寻址帮助:
输入一个计时器地址、时基、预置值和ACCUM(累加)值。定时器文件每个元素使用3个字:一个用于指令位(控制字)、一个用于预置值、一个用于累加器。

T4:1表示定时器文件编号4、元素编号1。
XIC [检查是否关闭]
适用于处理器:



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
该指令(也被称为”常开”)的作用如同一个输入或存储位。

如果相应的存储器位为”1”(打开),则该指令将允许行连续性,输入将被激励。

注意:其它因素可能影响行连续性。

如果相应的存储器位为”0”(关闭),则该指令将不允许行连续性(假定它为常开状态),该行上的输出将被断开(其它因素可能影响行连续性)。

如果用作一个输入位,则它的状态应该对应于由相同地址联系到输入映射表的实际输入设备的状态。

寻址帮助:
示例:I:12/03

在示例地址中,”I”表示输入映射表;”12”表示插槽12(十进制);斜线”/”之后的”03”表示位3。

注意:插槽0为处理器而保留。

输入地址被指定到位级别。

XIO [检查是否打开]
适用于处理器:



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
该指令(也被称为”常关”)的作用如同一个输入或存储位。

如果相应的存储器位为”1”(打开),则该指令将不允许行连续性,该行上的输出将被断开。(注意: 其它因素可能影响行连续性。)

如果相应的存储器位为”0”(关闭),则该指令将采取其正常状态,并允许行连续性,该行上的输出将被激励。(同样,其它因素可能影响行连续性。)

如果用作一个输入位,则它的状态应该对应于由相同地址联系到输入映射表的实际输入设备的状态。

寻址帮助:
示例:I:12/03

在示例地址中,”I”表示输入映射表;”12”表示插槽12(十进制);斜线”/”之后的”03”表示位3。

注意:插槽0为处理器而保留。

输入地址被指定到位级别。
XOR [异或操作]
适用于处理器



所有SLC和MicroLogix处理器
指令示例





(所示参数仅作为例子,您的数据将不同于此。)


说明
当行条件为真时,XOR指令的源A和B被逐位进行异或操作,并存储在目标中。源A和源B可以是字地址,也可以是常量。然而,两个源不能同时为常量。浮点值必须在(-102943.7, +102943.7)范围中。

在源

和目的参数中,可以使用索引或间接寻址。

XOR真值表
源A
源B
目标

0
0
0

0
1
1

1
0
1

1
1
0
















相关主题





















相关主题

使用数学指令

寻址帮助



相关主题
文本预览
相关文档 最新文档