SLC500基本指令

更新时间:2023-10-28 13:41:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

罗克韦尔A-B公司不同型号的PLC所支持的指令有差异,但是基本逻辑指令却是大家所共有的(SLC500、ML1000与PLC5的基本指令大致相同)在梯形图中用基本逻辑指令代替继电器-接触器控制的硬件逻辑电路。基本编程指令共分为三类:位指令、计时器指令和计数器指令。

位指令是对数据的单个位进行操作,用于监控数据表中的位状态,如输入位、输出位或者计时器控制字的位等存储器所有空间上的位。在处理器运行时,可以根据其所在梯级的逻辑条件使某位位置位或复位状态。应用程序可以根据需要对一位进行多次访问。但是不推荐多条输出指令用同一个位地址。 1.数据文件的表示格式

在对位指令编程时,会涉及到下列数据文件,其表示格式分别为: 1)输出和输入数据文件(文件O:0和I:1)

这些数据文件表示外部的输出与输入,在文件1中的各位表示外部输入。文件0中的各位表示外部输出。输出和输入的地址格式如表1所示。 表1 格式: O:e.s/b I:e.s/b 说明: O I : e . s / b 输出 输入 元素分隔符 槽号(十进制) 字号 位分隔符 端子号 输入: 0-15输出:0-15 0号槽,即第一个框架中靠近电源的槽,用于处理器模块(CPU)。接下来的槽是I/O槽,槽号从1到30。 如果某槽的输入或输出点数超过16时需要使用字号。范围:0-255(该范围供多字特殊模块使用) 字分隔符。只有如下指明必须用到字号时才要求用字分隔符。 2)状态文件(文件S2:)

状态文件允许用户监控操作系统的工作状况,并可指挥操作系统按要求进行工作。

这些功能均可通过使用状态文件设置相应的控制位,监控硬件和软件故障及其它的状态信息来实现。注意:如果你要向状态文件写入数据,必须首先完全了解状态文件的功能。状态文件地址格式如表2所示:

举例:

S:1/15 元素1,位15。 这是“首次扫描\位,用户可以在程序中使用它初始化指令。 S:3 元素3。 这一元素的低位字节是当前扫描时间。高位字节是看门狗扫描时间。 表2 格式 S:e/b S : e / b 状态文件 元素分隔符 元素号 位分隔符 位号 在元素内的位,范围是0-15 0-32, 状态文件是1字元素,每个元素16位。 说明 3)位文件(B3:)

文件3是位文件,主要用于位(继电器类逻辑)指令,移位寄存器和顺序器指令。可以

通过指定元素号和元素内的位编号(0到 15)来访问位。也可以通过位的顺序编号直接访问位。用户也可以只访问该文件的元素。位地址格式如表3所示:

表3 格式 Bf:e/b 说明 B f : e 位文件 举例 B3:3/14 元素3,位14 文件号。 文件号3是缺省值。 元素分隔符 元素编号 SLC控制器范围:0-255。 1字元B3:252/00 素。每个元素16位。MicroLogix 元素252,位0 1000控制器范围0-511。 B3:9 位分隔符 元素9,位0-15, 位号 在元素内的位。范围是0-15 。 举例 同上 同上 同上 位号 文件内位的序号 B3/62 表示位62 / b 格式 Bf/b 说明 B f / b 4)计时器和计数器文件(T4:和C5:)

赋值给计时器和计数器的地址分别用Tf:e.s/b和Cf:e.s/b表示。计时器和计数器文件的具体含义表4与表5所示:

表4 符号: 说明: T f 计时器文件 举例: T4:0/15或T4:0/EN计时器使能位 文件号。 对SLC500处理器文件号4是缺省值。T4:0/14或T4:0/TT计时器计时位 可以使用9-255之间的文件号增加存储量。对T4:0/13或T4:0/DN计时器完成位 MicroLogix1000控制器,只有文件号4有效。 T4:0.1或T4:0.PRE计时器的预置值 T4:0.2或T4:0.ACC计时器的累加值 元素分隔符 元素号 它是3-字元素。对于SLC500处理器T4:0.1/0或T4:0.PRE/0预置值的位0 范围是0-255。对于MicroLogix1000T4:0.2/0或T4:0.ACC/0累加值的位0 控制器范围是0-39。 字元素 子元素 位分隔符 位 : e . s / b

表5

符号: 说明: C f 计数器文件 举例: : C5:0/15或C5:0/CU加计数使能位 文件号。 SLC500处理器文件号5是缺省值。可C5:0/14或C5:0/CD减计数使能位 以使用9-255之间的文件号增加存储量。对C5:0/13或C5:0/DN完成位 MicroLogix1000控制器,只有文件号5是有效的。 C5:0/12或C5:0/OV溢出位 C5:0/11或C5:0/UN下溢出位 元素分隔符 e 元素号 它是3-字元素。SLC500系列处理器范围是0-255。MicroLogix1000控制器范围是0-31。 . s / b 字元素 子元素 位分隔符 位 C5:0.1或C5:0PRE计数器的预置值 C5:0.2或C5:0.ACC计数器的累加值 C5:0.1/0或C5:0.PRE/0预置值的位0

5)控制文件(R6:)

有些指令使用不同的控制位。控制文件是3-字元素,位移,FIFO,LIFO,和顺序器指令以及ASCII指令ABL,ACB,AHL,ARD,ARL,AWA,和AWT等都用到控制文件,字0是状态字,字1表示储存数据的长度,字2表示位置。书写格式是:Rf:e。如表6所示。 控制文件元素

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 字 EN EU DN EM ER UL IN FD 错误代码 位阵列或文件的长度(LEN) 位指针或位置(POS) 0 1 2 可访问的控制文件位

EN=使能位,EU=卸载使能位, DN=完成位,EM=堆栈空位 , ER=错误位, UL=卸载位(只用于位移指令) , IN=禁止位(对ASCII指令这是运行位[RN位9]), FD=发现位(只用于SQC指令) 可访问的控制文件字

LEN=长度 POS=位置

控制文件地址格式如表7所示 表7

符号 说明: R f 控制文件 文件编号。文件号6是缺省值。 如果需要更多的存储空间,可以使用9-255范围内的文件号。MicroLogix1000控制器范围是0-15。 元素分隔符 元素号 范围:0—255。控制文件是3—字元素,见上图。 举例: R6:2 控制文件6,元素2。 : e 也可以用Rf:e.s/b格式访问控制文件的位和字。(Rf:e格式上面已经说明) 其中. 是字分隔符;s 表示子元素; / 是位分隔符;b 表示位 R6:2/15或R6:2/EN使能位; R6:2/14或R6:2/EU卸载使能位 R6:2/13或R6:2/DN完成位; R6:2/12或R6:2/EM 堆栈空位 R6:2/11或R6:2/ER 错误位; R6:2/10或R6:2/UL 卸载位 R6:2/9 或R6:2/IN 禁止位; R6:2/8或R6:2/FD 发现位 R6:2.1或R6:2.LEN长度值; R6:2.2或R6:2.POS位置值 R6:2.1/0长度值的0位; R6:2.2/0位置值的0位 6)整数文件(N7:)

根据程序需要使用整数文件地址(可以访问到位级)。整数文件是1字元素,可以访问到

元素和位。整数文件地址格式是Nf:e/b。如表8所示:

表8 符号: N f 说明: 整数文件 举例: N7:2表示整数文文件号。文件号7是缺省值。 如果需要更多的存储空间,件7,元素2。 可以使用9-255范围内的文件号。MicroLogix1000控制N7:2/8表示整数文件7,元素2,器范围是0-104。 位8, 元素分隔符 元素号 范围从0-255。整数文件是1-字元素。每个元素16位。 位分隔符 位号 在元素内的位,范围是0-15 : e / b

2.位指令

1) 检查是否闭合指令(XIC)

XIC指令是一条输入指令,在用户的梯形图程序中使用XIC指令检查某位是否导通(ON)状态。它类似于常开触点,当指令执行时,如果相应位地址是导通状态(1),则指令被赋值为真;如果位地址是断开状态(0),则指令被赋值为假。如果位地址使

用了输入映象表的位,则其状态与相应地址实际状态一致。XIC的指令形式如右图。

在本指令中,若数据表I:1.0/05是导通状态(ON),则指令为真。I:1.0/05是指插入1号槽中输入模块的端子7。

被访问位地址状态 0 1 XIC指令 假 真 在实际应用中,设备的导通或断开可以是: ? 接到输入端的按钮 (地址是I:0/4) ? 接接到输出端指示灯 (地址是O:0/2)

? 计时器控制指示灯的通断(地址是T4:3/DN)……

2) 检查是否断开指令(XIO)

XIO指令是一条输入指令,在用户的梯形图程序中使用XIO指令检查某位是否断开(OFF)。它类似于一常闭触点,当指令执行时,如果位地址是断开状态(0),则指令被赋值为真;如果位地址是导通状态(1),则指令被赋值为假。XIO指令的形式如右图。在本指令中,若数据表I:1.0/05是断开状态(OFF),则指令为真。

被访问位地址状态 0 1 XIO指令 真 假

应用实例中设备的导通或断开包括:

? 电动机过载常闭触点(N.C.)接到输入端(I:0/10) ? 输出端接指示灯 (地址O:0/4)

? 计时器控制灯的通断 (地址T4:3/DN)

3) 输出激励指令(OTE)

OTE指令是一条输出指令,用于控制存储器中的位。如果在用户的梯形图程序中使用了OTE指令,则当梯级条件为真时使其访问位接通。若OTE指令前面的梯级条件位真,则处理器使能OTE指令,在本指令中使接到2号槽,端子5的设备接通,反之,设备不动作。

一条OTE指令如同一个继电器的线圈。但是,OTE 指令由它前面的输入指令控制,而继电器的线圈由硬件触点控制。OTE指令的形式如右图所示。

例如,设备的导通或断开就是一个输出,它接一个指示灯 (地址O:2.0/4)。 当有下列情况时OTE指令被复位:

? 进入或返回到REM运行方式,REM测试方式或电源恢复时。 ? OTE指令被编程在非激活的或为假的主控复位(MCR)区域。

注意 如果某位在子程序内被OTE指令置位,则它将保持置位直到该子程序再次被扫描。

4 )输出锁存指令(OTL)和输出解锁存指令(OTU)

OTL和OTU是保持型输出指令。OTL只能使某位导通,同样OTU只能使某位断开。 这两条指令通常成对使用,它们访问相同的位。

用户程序可以根据需要多次检测由OTL和OTU指令控制的位。

OTL指令使用说明

当赋值给OTL指令的地址对应一个物理输出时,如果该位被置位(导通或使能),则接到输出模块端子的输出设备将被接通。OTL指令的形式如右图所示。

当梯级条件变为假(为真之后)时,该位保持置位且对应的输出设备保持导通状态。

当使能时,锁存指令使控制器接通访问位,然后,该位保持导通(与梯级条件无关),直到被关断(一般被其它梯级的OTU指令关断)。

在该指令中,若梯级条件为真,则处理器使输出映象表O:2.0/05置位,并接通该端子所连接的设备,直到用OUT指令解锁存。

OTU指令使用说明

当赋值给OTU指令的地址对应一个物理输出端时,如果该位是清零状态(断开或禁止),则接到输出模块端子的输出设备不导通。

解锁存指令使控制器关断访问位,然后,该位保持断开(与梯级条件无关),直到被接通(一般被其它梯级的OTL指令接通)。OUT指令的形式如右图所示。含义与OTL指令相对应。

5)一次响应指令(OSR)

OSR指令是一条输入指令,它触发某事件发生一次。当某事件的启动必须以梯级状态从假-到-

真的改变为依据时,可以使用OSR指令。

当OSR指令前的梯级条件从假-到-真转换时, OSR指令将为真一个扫描周期。一次扫描完成后, 即使其前面的梯级条件仍为真,OSR指令也变为假。 只有它前面的梯级条件再次从假-到-真转换时,OSR指令才能再次变为真。

SLC500和SLC5/01处理器允许用户在梯级的每个输出使用一条OSR指令;OSR指令不能在分支内使用。SLC5/02和更高系列处理器及Micrologix 1000控制器允许在梯级的每个输出使用一条OSR指令;也允许在分支内使用OSR指令。

输入参数

分配给OSR指令的地址不是程序中引用的单脉冲地址,它也不表示OSR指令的状态。 该地址使OSR指令记住它前面的梯级状态。

使用的位地址可以是位文件或整数文件。 当OSR指令前的梯级条件为真时(即使OSR指令变为假), 访问位将被置位一个扫描周期;当OSR指令前的梯级条件为假时,访问位将被复位。

注意 该指令用的位地址必须是唯一的。不要把它用在程序的其它任何地方。 编程时OSR指令的地址参数不要使用输入或输出地址。 举例

下列梯级说明了OSR指令的使用。当输入指令由假变真时,OSR指令限制此梯级,使输出为真一个程序扫描周期。然后输出变为假并且一直保持到输入指令再次由假变为真。

3. 计时器指令

计时器对存储器中的计时器文件进行操作,计时器文件是一个3-字元素。 字0是控制器字,字1存储预置值,字2存储累加值。如下表所示:

15 14 13 字0 字1 字2 EN TT DN 预置值 累加值。 内部使用 可访问的位 EN=位15使能位; TT=位14计时器计时位; DN=位13完成位 可访问的字 PRE=预置值; ACC=累加值 被标明“内部使用”的位不可访问。 计时器指令各输入参数的意义: (1)累加值(.ACC)

累加值是指计时器从最后一次起动经过的时间。当计时器被使能时,不断地更新该值。 (2)预置值(.PRE)

控制器置位完成位之前计时器必须达到的指定值。 当累加值变为大于等于预置值时, 置位完成位。可以用该位控制输出设备。

计时器的预置值和累加值的范围是从0到+32,767。 如果计时器预置值或累加值是负数,则发生运行时间错误。 (3)时间基

时间基确定每个时间间隔持续的时间。对固定式和SLC5/01处理器,设定在0.01秒。

对于SLC5/02和更高系列处理器及MicroLogix1000控制器时间基可在0.01(10ms)秒或1.0秒之间选择。 计时器精度

计时器精度与计时器指令被使能时刻及计时时间完成时刻的时间长度有关。计时不准确的原因是程序扫描时间可能大于计时器的时间基。另外还必须考虑驱动输出设备所需的时间。

当程序扫描时间小于2.5秒时,计时精度是-0.01到+0秒。当程序扫描时间小于1.5秒时,1-秒计时器保持准确。 如果用户的程序超过1.5或2.5秒,重复计时器指令梯级以使梯级在限定的时间内被扫描。

注意 如果跳转(JMP)指令,标号(LBL)指令,跳转到子程序(JSR),或子程序(SBR)指令略过包含一正在计时的计时器指令,计时可能不准确。如果略过持续的时间不足2.5秒, 将没有时间丢失;略过持续时间超过2.5秒,将发生一个不可检测的时间错误。当用子程序时,计时器必须至少执行2.5秒以防止出现时间错误。

1)延时导通计时器指令(TON)

TON指令是一条输出指令,如右图所示,图中各参数的意义如上所述。当计时器所在梯级已经为真一个预置时间间隔后,TON指令使输出接通或断开。当梯级变为真时TON指令以时间基为间隔开始计数。 只要梯级条件

保持为真,计时器每次计算时调整累加值(ACC)直到累加值达到预置值(PRE)。 当梯级条件变为假时,无论计时器累加值是否达到预置值,处理器都将累加值复位为0。 TON指令用到的状态位 状态位: 置位条件: 保持置位直到下列情况发生 梯级条件为假或完成位置位 梯级条件变为假 计时器完成位DN(位13) 累加值大于等于预置值 梯级条件变为假 计时器计时位(位14) 梯级条件为真且累加值小于预置值 计时器使能位EN(位15) 梯级条件为真

如果在处理器操作方式从REM运行或REM测试方式改变到REM编程方式,或用户电源掉电时,计时器指令正在计时但还未达到预置值,则计时器状态位的变化如下所示: ? 计时器使能(EN)位保持置位。 ? 计时器计时(TT)位保持置位。 ? 累加值(ACC)保持不变。

在返回到REM运行方式或REM测试方式时,计时器状态位发生如下变化

梯级条件 如果梯级为真: 结果 .EN位保持置位 .TT位保持置位 ACC值被复位。 EN位复位。 TT位复位 ACC值复位。 如果梯级为假

2) 延时断开计时器指令(TOF)

TOF指令是一条输出指令,如右图所示,当计时器所在梯级为假一个预置时间间隔后,TOF指令使输出接通或断开。 当梯级由真变为假时TOF指令以时间基为单位开始计数。只要梯级条件保持为假,每次扫描计时器增加累加值(ACC)直到达到预置值(PRE)。 当

梯级条件变为真时,无论计时器计时时间是否达到预置值累加值,都被复位。 TOF指令用到的状态位 状态位: 置位条件: 保持置位直到下列情况发生: 梯级条件变为假且累加值大于等于预置值 梯级条件为真或完成位被复位 梯级条件变为假 计时器完成位DN(位13) 梯级条件为真 计时器计时位TT(位14) 梯级条件为假且累加值小于预置值 计时器使能位EN(位15) 梯级条件为真

当处理器操作从REM运行或REM测试方式改变到REM编程方式,或用户电源掉电时,如果延时计时器指令正在计时但还未达到预置值,则计时器状态位的变化如下所示: ? 计时器使能(EN)位保持置位。 ? 计时器计时(TT)位保持置位。 ? 计时器完成(DN)位保持置位。 ? 累加值(ACC)保持不变。

处理器返回到REM运行方式或REM测试方式, 计时器状态位将发生如下变化

梯级条件 如果梯级为真: 结果 TT位复位。 DN位保持置位。 EN位置位。 ACC值被复位。 TT位复位。 DN位复位。 EN位复位。 ACC值设置等于预置值。 如果梯级为假

注意: 复位(RES)指令不能用于TOF指令,因为RES指令总是清零状态位包括累加值。

3)保持计时器指令(RTO)

RTO指令是一条输出指令, 当计时器已经导通一个预置时间间隔后,RTO指令使输出接通或断开。 RTO指令是一条保持指令,当梯级变为真时RTO指令以时间基为单位开始计数。

当下列任何情况发生时,RTO指令保持它的累加值:

? 梯级条件变为假。

? 处理器操作从REM运行或REM测试方式改变到REM编程方式 ? 处理器掉电(如果有后备电池)。 ? 发生错误。

当处理器返回到REM运行或REM测试方式,和/或梯级条件变为真时,计时器继续从保持的累加值开始计时。通过累加值,保持计时器可以测量梯级条件为真的累积时间。 用到的状态位 计时器计时位(位14) 计时器使能位EN 置位条件 梯级条件为真且累加值小于预置值 梯级条件为真 保持置位直到下列情况发生: 相应的RES指令使能 梯级条件为假或完成位置位 梯级条件变为假 计时器完成位DN(位13) 累加值大于等于预置值

注意 在RTO梯级变为假之后要复位保持计时器的累加值和状态位,必须在其它梯级编程一条与其地址相同的复位(RES)指令。

当处理器操作从REM运行或REM测试方式改变到REM编程方式或REM故障方式,或用户电源掉电时,如果保持计时器指令正在计时但还未达到预置值,则计时器状态位的变化如下所示:

? 计时器使能(EN)位保持置位。 ? 计时器计时(TT)位保持置位。 ? 累加值(ACC)保持不变。

处理器返回到REM运行方式或REM测试方式,或电源恢复时, 计时器状态位将发生如下变化

梯级条件 如果梯级为真: 结果 TT位保持置位。 EN位置位。 ACC值保持不变并且恢复增长。 TT位复位。 DN位保持最后状态。 EN位复位。 ACC值保持最后状态。 如果梯级为假

4. 计数器指令

计数器指令对存储器中的计数器文件进行操作,每个计数器文件是一个3-字元素。字0是控制字,它包含指令的状态位。字1是预置值。字2是累加值。 计数器指令的控制字包含如下所示六个状态位,:

15 14 13 12 11 10 09 08 07 - 00 字0 字1 字2 CU CD DN OV UN UA 预置值 累加值。 内部使用

可访问的位 CU=加计数使能位;CD=减计数使能位; DN=完成位; OV=上溢出位; UN=下溢出位; UA=更新累加值位(只用于固定式控制器的HSC指令) 可访问的字 PRE=预置值; ACC=累加值

不可以访问标明“内部使用”的位。 参数

(1)累加值(.ACC)

累加值是指从计数器最后一次复位到当前已经发生的梯级由假到真变化的次数。 (2)预置值(.PRE)

控制器置位完成位之前计数器必须达到的指定值。当累加值变为大于等于预置值时, 置位完成位。用户可以用完成位控制输出设备。

计数器的预置值和累加值的范围是从-32,768到+32,767,以整数形式存储,如果是负数则以二的补码形式存储。 计数器的工作过程

下图说明计数器是怎样计数的。计数值必须保持在-32768到+32767范围内。如果计数值高于+32767或低于-32768,则处理器置位计数器的上溢出位(OV)或下溢出位(UN)。 用复位(RES)指令可以把计数器的累加值复位到零。

1)加计数指令(CTU)

该指令是一条输出指令,如右图所示,CTU指令计数梯级由假到真变化的次数。梯级变化可能是由程序中发生的事件引起的(内部逻辑或外部现场设备),例如传送的零件经过一个检测器或限位开关动作等。

CTU指令计数其所在梯级由假到真变化的次数,梯级条件由假到真变化一次,累加值加1。计数器检测梯级由假到真变化的能力与进入信号的速率(频率)有关。

注意 进入信号的导通和断开持续时间必须大于扫描时间的2倍(假设导通率是50%)。 当梯级条件再次变为假时累加值保持不变,累加值一直保持直到被一个与计数器指令具有相同地址的复位 (RES)指令复位。

CTU指令变为假后累加值保持不变,而且当处理器掉电后又恢复时累加值也保持不变。同样,计数器的完成位,上溢出位和下溢出位的ON或OFF状态也保持不变。当相应的RES指令使能时,计数器的控制位和累加值都被复位。在进入REM运行方式或测试方式之前CU位一直是置位状态。

CTU指令用到的状态位 状态位: 上溢出位OV(位12) 置位条件 累加值返回到-32768(从+32,767)同时从该值处继续加计数 保持置位直到下列情况发生: 执行与CTU指令具有相同地址的复位RES指令或者用CTD指令使计数值下降到小于等于+32,767

完成位DN(位13) 加计数使能位CU(位15) 累加值大于等于预置值 累加值变为小于预置值 梯级条件为真 梯级条件变为假或与CTU指令具有相同地址的复位RES指令被使能

2) 减计数指令(CTD)

CTD指令是一条输出指令,如右图所示。CTD指令计数梯级由假到真变化的次数。梯级变化可能是由程序中发生的事件引起的,例如传送的零件经过一个检测器或限位开关动作等。

当CTD指令所在梯级条件有一次由假到真的变化时,累加值减1。

当梯级条件再次变为假时累加值保持不变,累加值一直保持直到被一个与计数器指令具有相同地址的复位 (RES)指令复位。 CTD指令用到的状态位 状态位: 置位条件: 保持置位直到下列情况发生: 执行与CTD指令具有相同地址的复位RES指令或者用 CTU指令使计数值增加到大于等于-32,767 累加值变为小于预置值 梯级条件变假或与CTD指令具有相同地址的复位RES指令被使能 减计数下溢出累加值从-32,768返回到位UN(位11) +32767同时从该值处继续减计数 完成位DN(位13) 减计数使能位CD(位14) 累加值大于等于预置值 梯级条件为真

CTD指令变假后累加值保持不变,而且当处理器掉电后又恢复时累加值也保持不变。同样,计数器的完成位,上溢出位和下溢出位的ON或OFF状态也保持不变。当相应的RES指令使能时,计数器的控制位和累加值都被复位。在进入REM运行方式或测试方式之前CD位一直置位。

3)高速计数指令HSC

HSC指令是一条输出指令,如右图所示。高速计数器是由CTU计数器变化而来的。 当梯级逻辑为真时HSC指令被使能,同样,当梯级逻辑为假时HSC指令被禁止。

注意: HSC不计数其所在梯级的变化而是对发生在高速输入端的变化进行计数。用户使能或禁止HSC指令的梯级即使能或禁止计数发生在高速输入端的变化。我们建议把HSC指令放在无条件的梯级内。

发生在高速输入端的每个输入变化都引起HSC累加值的增长。当累加值等于预置值时,完成位置位,累加值被清零,同时将预置值装入HSC指令中,以为告诉输入端的下一次高速变化作准备。

用户的梯形图程序应该查询完成位(C5:0/DN),以确定HSC的状态。一旦完成位已经

被检测到是置位, 在HSC累加值再次达到预置值之前梯形图程序应该清零C5:0/DN位(用解锁存OTU指令),否则溢出位(C5:0/OV)将被置位。

高速计数HSC与CTU和CTD计数器指令不同。 CTU和CTD是软件计数。 HSC是硬件计数,而且其操作与梯形图程序扫描同步进行。 在梯形图程序中,每次检测HSC梯级时HSC的累加值 (C5:0.ACC)都被正常更新。 这意味着HSC硬件累加器的值被传送到HSC软件累加器。该值只能通过OTE指令传送。 累加值更新后HSC指令立刻清零C5:0/UA位。

在计算HSC期间可能发生多次HSC计数,当用全部梯形图程序时,可能会使C5:0.ACC不准确。 考虑到HSC累加值的精确性,当更新累加器位(C5:0/UA)置位时,应使C5:0.ACC立即更新为硬件累加器的状态。

使用RES指令复位地址是C5:0的高速计数器。在下列情况下,HSC指令清零状态位、累加器、并装载预置值: ? 处理器上电

? 进入REM运行方式 ? 复位

高速计数器数据元素

地址C5:0是HSC计数器3-字元素地址。

15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 字0 字1 字2 CU CD DN OV UN UA 预置值 累加值。 不使用 CU=加计数使能位; CD=减计数使能位; DN=完成位;

OV=上溢出位; UN=下溢出位; UA=更新累加值(只用于HSC) ? 字0包含HSC指令的下列状态位:

--位10(UA) 当为真时更新HSC的累加值以反映HSC的最新状态。 --位12(OV)表示是否已经发生一个HSC上溢出。 --位13(DN)表示是否已经达到HSC预置值。 --位15(CU)指示HSC指令的使能/禁止状态。

? 字1包含装入HSC的预置值,即当RES指令执行,完成位被置位时,或者处理器重新

上电时所装入的预置值。有效范围是+1到+32767。 ? 字2包含HSC指令累加值。 每次检测HSC指令并且更新累加值位被用OTE指令置位

时,该字被更新。该累加值是只读的。在指令被检测到,被复位,或进入REM运行方式时,写到累加器的任何值都被当前正计数的高速计数值覆盖。

4) 复位指令(RES)

RES指令也是一条输出指令,如右图所示。该指令用于复位计时器或计数器。当RES指令使能时,它复位与其具有相同地址的延时导通计时器指令(TON)、保持计时器指令(RTO)、加计数指令(CTU)、减计数指令(CTD)及控制文件的位置值和相应位。RES指令的应用如下表所示: 对于下列文件使用RES指令: 计时器(不用适用于TOF指令) 控制文件 处理器复位下列位: ACC值到0;DN、TT、EN位 POS值到0;EN、EU、DN、EM、ER、UL、IN和FD位到最后状态 计数器 ACC值到0;OV、UN、DN、CU、及CD位。 当复位计数器时,如果RES指令被使能,同时计数器梯级也使能,则CU或CD位也将被复位。

如果计数器的预置值是负值,RES指令将累加值设置为零。然后通过减计数或加计数指令使完成位置位。

注意 因为RES指令复位累加值,完成位,计时位,使能位,所以不要用RES指令复位TOF指令使用的计时器地址。否则,可能发生不可预知的机器操作或人员伤害。

附录二 SLC500其它编程指令 一、比较与计算指令 1. 比较指令

比较指令都是输入指令,将两个值的比较结果作为逻辑梯级是否连续的条件。例如LES指令(如图所示)比较一个值(源A)是否小于另一个值(源B)。如果源A的值小于源B的值,指令逻辑为真。 如果源A的值大于或等于源B的值,指令逻辑为假。其中源A的参数必须是地址,源B即可以是立即数也可以是地址。下表给出了SLC500所用比较指令的助记符和和各指令的含义。 指令助记符 EQU NEQ LES LEQ GRT GEQ MEQ LIM 名称: 等于 不等于 小于 小于等于 大于 大于等于 相等屏蔽比较 极限比较 意义: 比较两个值是否相等。 比较两个值是否不相等 比较一个值是否小于另一个值 比较一个值是否小于或等于另一个值 比较一个值是否大于另一个值 比较一个值是否大于或等于另一个值 比较两个值的一部分是否相等。通过屏蔽字使源地址中的16位数据与参考地址中的16位数据进行比较。 比较一个值是否在另两个值的范围内。

2. 计算指令

计算指令都是输出指令,执行指定的算术运算,大多数计算指令都是对二个输入值,进行计算,计算结果存放到一个分配的存储单元(目的地址)。例如,加和减指令都是取一对输入值,使他们进行加或减运算,运算结果存放到指定的目的地址内。如果运算结果超过允许值,就置位状态文件中的上溢出或下溢出位。下面是应用计算指令的通用信息。 输入参数

? 源(Source) 是数值的地址,算术,逻辑,或者传送操作的执行都要输入该参数。它可

以是字地址或程序常数。一条指令有二个源操作数,程序不接受两个操作数都是常数。 ? 目的(Destination)是运算结果的地址。有符号整数以二的补码形式存储而且对源和目的

参数都适用。

当用SLC5/03(OS301或更高),SLC5/04或SLC5/05处理器时,支持浮点数和字符串值(指定为字级)。

变址字地址的使用

可以选择用变址寻址字地址为指令参数指定字地址(固定式和SLC5/01处理器除外)。变址地址的标记是在逻辑地址的文件类型指示符的前面加#字符。在状态文件S:24内存入变址寻址的偏移值.所有使用变址地址的指令都使用同样的字(S:24)存储偏移值.处理器在基址加偏移值处开始操作.可以在每次变址地址操作前在梯形图逻辑内修改偏移值.例如:如果基地址是N7:10,S:24内的偏移值是10,则指令实际对N7:20地址进行操作。

间接字地址的使用

当用SLC5/03(OS302),SLC5/04(OS401)或SLC5/05处理器时,可以选择用间接的字-级和位-级地址为指令指定字地址。如在多个批操作中顺序排列的批文件使用间接寻址方式,可以是梯形图程序简单并节省内存空间,例如,在完成每个操作时,让计数器的累加值调出下一个批文件,可以用N[C5:0.ACC ]来调出N10、N11、N12、……等连续的批文件。 算术状态位的更新

计算指令影响算术状态位,可以在控制器状态文件的字0,位0-3找到算术状态位。在计算指令执行后, 状态文件的算术状态位可能会被更新: 状态位: S:0/0 进位(C) S:0/1 溢出(V) S:0/2 零(Z) S:0/3 符号(S) 控制器: 如果发生进位置位该位,否则清零。 表明计算指令的实际结果不适合选定的目的地址 表明在算术,传送,或逻辑指令执行后出现0值。 表明在算术,传送,或逻辑指令执行后出现负值(小于0)。

溢出中断位,S:5/0

次要错误位(S:5/0) 当检测到算术溢出或除数是零时被置位。如果在执行END语句或暂停(TND)指令,或者I/O刷新(REF)指令时,该位被置位,会出现可恢复的主要错误代码0020。

在可能会有算术溢出或除数是零的应用程序中,使用一条地址是S:5/0的解锁存(OTU)指令可以避免CPU故障。这一梯级必须是在溢出点和END,TND,或者REF语句之间。

算术寄存器的变化,S:13 和 S:14

状态字S:13包含MUL和DDV指令32-位值的低位有效字。它包含DIV和DDV指令的余数。 对于从BCD(FRD) 转换和转换到BCD(TOD)指令,它也包含前四位BCD数字。

状态字S:14包含MUL和DDV指令32-位值的高位有效字。它包含DIV和DDV指令的不整除的商数。 对于(TOD)和(FRD)指令它也包含高位有效数字(数字5)

浮点数数据文件(F8:)

这一文件类型对SLC5/03(OS301或更高),SLC5/04或SLC5/05处理器有效。浮点数文件是2-字元素,而且只能寻址到元素级。 浮点数地址格式Ff:e,具体意义如下表: 格式 说明: F f : 浮点数文件 文件编号。文件号8是缺省值。如果需要增加存储量,可以使用9-255范围内的文件号。 元素分隔符 举例: F8:2 浮点数文件8,元素2。 F10:36 浮点数文件10 (文件10被用户定义为浮点数文件),元素36。 e 元素号 元素号范围是0-255。它是2-字元素。单精度的32位数。 SLC500系列处理器的计算指令如下表所示: 指令助记符: ADD SUB MUL DIV DDV CLR SQR SCP SCL ABS CPT SWP ASN ACS ATN COS LN LOG SIN TAN XPY 名称: 意义: 加 减 乘 除 双除 清零 平方根 参数整定 数据整定 绝对值 计算 交换 反正弦 反余弦 反正切 余弦 自然对数 以10为底的对数 正弦 正切 X的Y次幂 源地址A的值与源地址B的值相加并把结果存放到目的地址内。 源地址A的值减去源地址B的值并把结果存放到目的地址内。 源地址A的值与源地址B的值相乘并把结果存放到目的地址内。 源地址B的值除源地址A的值并把结果存放到目的地址和算术寄存器内。 源地址的值除算术寄存器内的常数并把结果存放到目的地址和算术寄存器内。 一个字的所有位设置为零。 计算源地址的平方根整数并把结果存放到目的地址内。 产生一个整定输出值,输入与整定值之间有线性关系。 用指定的比率乘源的值,再加上一个偏移值,并把结果存放到目的地址内。 计算源值的绝对值并把结果存放到目的地址内。 计算一个表达式的值并把结果存放到目的地址内。 使位,整数,ASCII码,或字符串文件的指定字数的低位和高位字节进行交换。 求取一个数的反正弦值并把结果存放到目的地址内。 求取一个数的反余弦值并把结果存放到目的地址内。 求取一个数的反正切值并把结果存放到目的地址内。 求取一个数的余弦值并把结果存放到目的地址内。 求取源值的自然对数值并把结果存放到目的地址内。 求取源地址的值以10为底的对数值结果存放到目的地址内。 求取一个数的正弦值并把结果存放到目的地址内。 求取一个数的正切值并把结果存放到目的地址内。 计算一个值的指数函数值并把结果存放到目的地址内。 二、数据处理指令

数据处理指令在控制器内处理数据(转换数据格式或数据传送),执行逻辑操作。 助记符 名称 TOD 整数转换成BCD码 FRD BCD码转换成整数 用途 将整数源值转换为BCD码格式存放到目的地址内。 将BCD码格式的源值转换为整数存放到目的地址内。 转换弧度(源)为度,结果存放到目的地址内。 DEG 弧 度转换为度

RAD 度 转换为弧度 DCD 4 - 1译码器 转换度(源)为弧度,结果存放到目的地址内。 译码一个4位的值(0到15),对应16-位目的地址的相应的位。 编码一个16-位的源值到一个4-位数值。从低位到高位搜索源值,寻找第一个置位位。相应位的位置(值)作为整数写到目的地址内。 COP指令从源文件拷贝数据到目的文件。 FLL指令把源值装入目的文件的每个位置。 传送源值到目的地址中。 传送源数被选择的部分到目的地址。 执行一个按位逻辑与操作 执行一个按位逻辑或操作 执行一个按位逻辑异或操作 执行一个按位逻辑非操作 改变源值的符号存放到目的地址内。 在每次梯级由假到真转换时FFL指令把一个字装入FIFO堆栈。FFU指令在每次梯级由假到真转换时从堆栈中卸出一个字。先装入的字先被卸出。 在每次梯级由假到真转换时LFL指令把一个字装入LIFO堆栈。LFU指令在每次梯级由假到真转换时从堆栈中卸出一个字。后装入的字先被卸出。 ENC 1 - 4编码器 COP FLL MVM AND OR NOT FFL FFU LFL FFU 复制文件 填充文件 屏蔽传送 逻辑与 逻辑或 逻辑非 FIFO装入 FIFO卸出 LFL装入 FFU卸出 MOV 传送 XOR 逻辑异或 NEG 取反

FIFO 与LIFO指令详细说明

输出指令 FFL和FFU指令是成对使用的。FFL指令把字装入用户-创建的称作FIFO堆栈的文件内。FFU指令把字按与他们进入时相同的顺序从FIFO堆栈卸出。 输入参数

当编程该指令时输入下列参数:

? 源(Source) 将变为堆栈内下一个值的字地址或常数(-32,768到32,767)。 ? 目的(Destination) 存储从堆栈卸出的值的字地址。 指令: FIFO的FFU LIFO的LFU 卸出值从: 首字 输入的最后一个字 ? FIFO/LIFO 是堆栈的地址。它必须是变址字地址,可以是位,输入,输出,或者整数文件。成对使用的FFL和FFU指令要使用相同的FIFO地址;成对使用的LFL和LFU指令要使用相同的LIFO地址。

? 长度(Length) 指定堆栈中的最多字数。对SLC处理器该值是128个字;对MicroLogix1000

控制器是105个字。可以通过助记符(LEN)寻址长度值。

? 位置(Position) 是指令装载数据进入堆栈时的下一个可用的位置。每次装入或卸出操作

之后该值都会改变。可以通过助记符 ((POS)寻址位置值。

? 控制(Control) 是控制文件的地址。状态位,堆栈长度,位置值存储在该元素中。不要

把该控制文件地址用于其它任何指令。

可以通过助记符寻址控制结构的状态位。这些状态位包括: —堆栈空位EM(位12) 如果被处理器置位表明堆栈是空的。

—完成位DN(位13)如果被处理器置位表明堆栈是满的。这时禁止把数据装入堆栈。 —FFU/LFU使能位EU(位14) FFU/LFU指令所在梯级的梯级条件由假到真转换时置位该位;由真到假转换时复位该位。

—FFL/LFL使能位EN(位15) FFL/LFL指令所在梯级的梯级条件由假到真转换时置位该位;由真到假转换时复位该位。

对变址寄存器的影响S:24

当FFL/FFU指令或LFL/LFU指令所在梯级条件发生由假到真转换时,在S:24内的当前值被位置值覆盖。对于FFL/LFL指令,确定的位置值在指令进入时被存放在S:24内。对于FFU/LFU指令,确定的位置值在指令退出时被存放在S:24内。

当DN位被置位时, FFL/LFL指令所在梯级条件由假到真的转换不改变位置值或变址寄存器值。当EM位被置位时, FFU/LFU指令所在梯级条件由假到真的转换不改变位置值或变址寄存器值。

已经编程的FFL-FFU指令对的例子参数如下所示:

FFU指令从堆栈#N7:12的位置0卸出数据

在FIFO堆栈内有34个字,起始字存储在N7:12内, 最后一字存储在N7:45内

FFL指令把数据装入堆栈#N7:12的下一个有效位置,在这里是位置9

FFL指令操作:

当梯级条件由假到真转换时,FFL使能位(EN)被置位。这样把源N7:10内的数值装入由位置参数指定的位置号9,然后位置值增加。

每次梯级条件由假到真转换时,FFL指令都装载一个元素,直到栈满为止(34个元素)。然后处理器置位完成位(DN),禁止源值再装入堆栈。

FFU指令操作:

当梯级条件由假到真转换时,FFU使能位(EU)被置位。这样把在堆栈位置0的元素数值卸出到目的地址N7:11。在堆栈内的全部数据向位置零的方向移动一个元素,然后位置值减少。

每次梯级条件由假到真的转换FFU指令卸出一个元素,直到栈空为止。然后处理器置位堆栈空位(EM)。

已经编程的LFL和LFU指令对的例子参数如下所示:

LFU指令从堆栈#N7:12的位置8卸出数据

LFL指令把数据装入堆栈#N7:12的下一个有效位置,在这里是位置9。

在FIFO堆栈内有34个字,起始字存储在N7:12内, 最后一字存储在N7:45内

LFL指令操作:

当梯级条件由假到真转换时,LFL使能位(EN)被置位。这样把源N7:10内的数值装入由位置参数指定的位置号9,然后位置值增加。

每次梯级条件由假到真的转换LFL指令都装载一个元素,直到栈满为止(34个元素)。然后处理器置位完成位(DN),禁止源值再装入堆栈。 LFU指令操作:

当梯级条件由假到真转换时,LFU使能位(EU)被置位。这样把装入堆栈的最后元素(现位置值减1)内的数值卸出到目的地址N7:11。然后位置值减少。

每次梯级条件由假到真转换LFU指令卸出一个元素,直到栈空为止。然后处理器置位堆栈空位(EM)

三、程序流程指令

程序流程指令控制用户程序执行的顺序。这些指令可以改变处理器扫描梯形图程序的顺序。典型应用于缩短扫描时间以创建一个更有效的程序,以及梯形图程序的故障检测。 助记符 名称: 指令说明: 向前或向后跳转到指定的标号。两条指令成对使用可以跳转到梯形图程序的某一部分,向前跳转到标号直到需要的程序,这样略过程序段,从而节省程序扫描时间。向后跳转使控制器重复地执行程序段,所以向后跳转的次数不要太多。 JMP跳转 LBL 标号 JSR 跳转到子程序 JSR,SBR,和RET指令的使用可以使控制器执行一个在梯形图程SBR 子程序标志 序内的独立的子程序文件然后返回到JSR指令的下一条指令。可以RET 从子程序返回 用一个子程序存储应用中很多点必须执行的程序逻辑的循环部分。这样只需对子程序编程一次,可节省存储器空间。 注意 在子程序内的输出控制保持他们的最后状态。 MCR 主控程序复位 成对使用MCR指令创建一程序区域在此区域内关断所有非-保持的输出。梯级在MCR区域内仍然被扫描,但是由于非-保持输出状态为假减少了程序扫描时间。 输出指令,当这一指令所在的梯级为真时,使处理器停止扫描程序TND 暂停 文件的其余部分,更新I/O,并从梯级0恢复执行程序扫描。 使用该指令进行程序调试,或有条件地省略当前程序文件或子程序的其余部分。 SUS 中止 输出指令,当该指令执行时,它使处理器进入挂起模式并且在状态文件的字7(S:7) 存储挂起ID。所有的输出被停止使能。 在程序调试和系统故障检测时用这一指令获得或查明具体条件。 输出指令,允许在正常输入扫描之前更新数据。当IIM指令被使能时,程序扫描被中断。指定I/O槽的数据通过屏蔽传送到输入数据文件,使该数据在梯形图程序的IIM指令的下一条指令开始有效。 输出指令,当IOM指令被使能时,程序扫描被中断。通过屏蔽传送数据到指定的I/O槽,然后恢复程序扫描。 输出指令,中断程序扫描去执行I/O扫描和通讯服务部分。 IIM 通过屏蔽立即输入 IOM 通过屏蔽立即输出 REF 刷新

四、特殊应用指令

特殊应用指令使用户通过用单个或成对指令执行共用的复杂操作,简化用户的梯形图程序。 助记符 BSL BSR SQO SQC SQL 名称: 位左移 位右移 顺序器输出 顺序器比较 顺序器装入 用途 装入数据的位进入位队列,数据在整个队列移动,卸出队列中数据的最后一位。BSL向左移动数据,BSR向右移动数据。 通过屏蔽传送16位数据到映象表地址,控制机器顺序操作。 按照操作顺序手动步进控制机器获取参考条件。 1.位移指令有关的通用信息 输入参数

当对位移指令编程时输入下列参数:

? 文件(File) 是指要处理的位队列的地址。用户必须在

位队列地址中使用文件指示符(#)。

? 控制(Control) 是指存储指令的状态字节和队列尺寸

(位的数量)的控制元素。注意控制地址不能被任何其它指令使用。

控制元素结构如下所示。 字0 字1 字2 15 13 11 10 00 EN DN ER UL 位队列的尺寸(位的数量) 保留 不使用 可以通过直接寻址助记符来访问控制元素的状态位。它们包括:

—卸载位UL(位10) 存储每次指令被使能时从队列取出的位的状态。 —错误位ER(位11), 当置位时,表明指令检测到一个错误,例如长度或位置值输入一个负数。当该位置位时,应避免使用输出位。

—完成位DN(位13), 当置位时,表明位队列已经移动了一个位置。 —使能位EN(位15) 在梯级由假到真转换时置位该位表明指令被使能。

2.与顺序器指令有关的通用信息。

顺序器指令包括SQO与SQC两条指令: 指令 SQO SQC 顺序器文件存储 用于控制输出的数据 用于监控输入的参考数据 1)对变址寄存器S:24的影响

当顺序器指令为真时,变址寄存器S:24的现有值被覆盖。变址寄存器的值将等于指令的位置值。

2)应用要求多于16 - 位时

当用户的应用程序要求多于16 - 位时,使用并行多路顺序器指令。

2.顺序器输出指令(SQO) 与 顺序器比较指令(SQC)

这两条指令是输出指令用来传送16 - 位数据到字地址用于控制机器的顺序操作。

输入参数

当编程该指令时输入下列参数:

1)文件 (File) 是指顺序器文件的地址。用户必须在这一地址使用文件指示符(#)。

顺序器文件数据的使用如下所示:

2) 屏蔽(Mask)(SQO,SQC) 是一个十六进制数码或屏

蔽字地址,或文件指令通过它传送数据。置位屏蔽位可以通过数据,复位屏蔽位屏蔽数据。如果要根据实际需要更改屏蔽,可使用屏蔽字或文件。

如果屏蔽是一个文件,它的长度应等于顺序器文件的长度。这两个文件自动跟踪。

3) 源(Source) 是指输入字或文件的地址,SQC指令从该地址获取数据与顺序器文件比

较。

4) 目的(Destination)是输出字或文件的地址,SQO从顺序器文件传送数据到该地址。

注意:可以把顺序器指令的屏蔽,源,或者目的参数编址为一个字或文件。如果编址为文件(使用文件指示符#),指令自动地通过源,屏蔽,或者目的参数的文件一步一步的传送数据。

5) 控制结构Control(SQO,SQC) 是指存储指令的状态字节的控制结构, 顺序器文件的长度,

和在文件内的即时位置的内存控制区。在其他任何指令中不能使用该控制地址。 控制元素结构如下所示: 字0 字1 字2 15 13 11 10 00 EN DN ER FD 顺序器文件的长度 位置

控制结构包括的状态位及意义如下:

—发现位(Found Bit)FD(位08)—只用于SQC指令。当源地址所有非 - 屏蔽的状态位与

对应的参考字匹配时,FD位被置位。每次梯级条件为真SQC指令执行时访问该位。

—错误位(Error Bit)ER(位11) 如果处理器检测到负数位置值,或者负数或零的长度值,该位被置位。如果在END或TND指令执行之前该位不被清零,结果将导致主要错误发生。 —完成位(Done Bit)DN(位13) 顺序器文件的最后一个字被处理完后,SQO或SQC指令置位该位。在梯级变假后的下一次梯级条件由假到真转换时,复位该位。

—使能(Enable)EN(位15) 梯级条件由假到真转换时该位被置位,表明SQO或SQC指令被使能。

6) 长度(Length)是指顺序器文件从位置1开始移步的数量。可以输入的最大值是255字 (当用MicroLogix1000控制器时是104字)。起动位置是位置0。每次循环完成时指令复位(返回)该值到位置1。

赋值给顺序器文件的地址是步零。顺序器指令使用长度值+1数据表文件字作为指令中的每个参考文件。如果编址成文件,此规则也适用于源,屏蔽,/或目的参数。 长度值超过程序文件的末尾,会导致一个执行时间错误发生。

注意 如果用梯形图程序改变长度值,请确定改变的值是有效值。

7)位置(Position)是指从/到指令传送的数据的顺序器文件字或移步位置。

位置值指针超过程序文件的末尾会导致执行时间主要错误发生。如果用梯形图程序改变位置值,请确认改变的值是有效值。

应用注意: 可以使用复位(RES)指令去复位一个顺序器。全部控制位(除FD)将被复位为零。位置值也将被设置到零。用控制寄存器的地址 (列如,R6:0)作为RES指令的地址。

3.SQO指令使用说明

这一输出指令移步整个顺序器文件,它的位被设置用于控制不同的输出设备。

当梯级由假到真转换时,指令转向顺序器文件的下一步(字)。其存储的数据通过屏蔽传送到指令指定的目的地址。如果梯级保持为真,在每次扫描时,当前数据被写到对应的目的字内。

当顺序器文件的最后一个字被传送后完成位被置位。在下一次梯级条件由假到真转换时,指令复位位置值到第一步。

如果在启动时位置值等于零,当处理器从编程方式向运行方式转换时,指令根据第一次扫描时梯级条件是真或假执行下列操作:

? 如果梯级条件为真,指令传送步零的值。

? 如果梯级条件为假,指令等待第一次梯级条件由假到真转换并且传送步1的值。

当屏蔽的位复位时屏蔽数据,置位时通过数据。如果不置位屏蔽位,这一指令将不改变目的字的值。屏蔽参数可以是固定的也可以是变量。如果用户为了改变每步的屏蔽值,,可以输入一个元素地址或文件地址,它将是变量。下图展示了SQO指令的工作情况

4.SQC指令使用说明

当源字的所有非 - 屏蔽位的状态与对应的参考字匹配时,指令置位控制器字的发现位(FD)。否则,发现位(FD)被清零。

当屏蔽位被复位时屏蔽数据,置位时通过数据。

屏蔽参数可以是固定值或变量。 如果用户输入十六进制数码,它是固定的。 如果为了改变每步的屏蔽值可以输入一个元素地址或文件地址,它将是变量。

当梯级由假到真转换时,指令转向顺序器文件的下一步(字)。其存储的数据通过屏蔽与对应的源数据进行相等的比较,然后传送到指令指定的目的地址。如果源数据等于参考数据, 在SQC的控制计数器的FD位被置位。梯级为真时,每次扫描当前数据都与源数据进行比较。

SQC指令可以应用于机器的故障诊断。下图说明了SQC指令的工作过程。

第三节 顺序器装入指令(SQL)

该指令是一条输出指令,它顺序器操作的每一步存入顺序器装入文件的一个16-位数据。这一数据的源可以是I/O或存储器字地址,文件地址,或者程序常数。 1. 输入参数

当编程该指令时输入下列参数:

1) 文件 (File) 是指顺序器文件的地址。必须在这一地址使用文件指示符(#)。 2) 源(Source) 可以是一个字地址,文件地址,或程序常数(- 32768到32767)。

如果源是一个文件地址,文件长度等于顺序器装入文件的长度。这两个文件将自动移步每个位置值。

3) 长度(Length)是指顺序器装入文件(如果源是文件地址,也包括源)从位置1开始的移

步数量。可以输入的最大值是255字 (用MicroLogix1000控制器时是104字)。启动位置是位置0。每次循环完成时,指令复位(返回)该值到位置1。

赋值给顺序器文件的位置地址是步零。对指令中参考的每个文件,顺序器指令使用长度

值+1的数据字。如果编址成文件,此规则也适用于源参数。

如果长度值超过程序文件的末尾将引起一个运行时间主要错误发生。 注意 如果想用梯形图程序改变长度值,请确定改变的值是有效值。 4) 位置(Position)是指顺序器文件内数据传送的字或步的位置。 位置值指针超过程序文件的末尾会发生执行时间主要错误。

5) 控制结构(Control) 是控制文件地址,顺序器文件的状态位,长度值,和位置值都存

储在这一元素内。在其他任何指令中不能使用控制地址。 控制元素结构如下所示: 字0 字1 字2 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 EN DN ER 长度 位置

控制结构包括下列状态位:

——错误位(Error Bit)ER(位11) 如果处理器检测到负数位置值,或者负数或零的长度值,该位被置位。

对于SLC处理器如果在END或TND指令执行之前该位不被清零,结果将导致主要错误发生。

对于MicroLogix1000控制器,当ER位被置位时次要错误位(S5:2)也被置位。两个位都必须清零。

——完成位(Done Bit)DN(位13) 指令处理完顺序器装入文件的最后一个字后被置位。在梯级变假后的下一次梯级条件由假到真转换时复位该位。

——使能位(Enable Bit)EN(位15) SQL指令所在梯级条件由假到真转换时该位被置位,由真到假转换时该位被复位。

SQL指令的操作

如下图所示SQL指令的参数已经设计完毕。输入字I:1.0是源。在该字内的数据通过顺序器装入指令装入整数文件#N7:30内。

当梯级条件由假到真变化时,SQL指令使能位(EN)被置位。控制元素R6:4增加到顺序器文件的下个位置,并且装入源I:1.0的数据进入这一位置。如果梯级条件保持为真,每次扫描SQL指令继续装入当前数据进入这一位置。当梯级条件变为假时,使能位(EN)被复位。

每次梯级条件由假到真变化时指令装入数据进入新的文件单元。步4完成后,完成位(DN)被置位。在位置4之后的下一次梯级条件由假到真变化,操作循环回到位置1。

如果源是一个文件地址例如#N7:40,文件#N7:40和#N7:30,则两者的长度都是5(0—4)并且将始终一起跟踪位置值的每一步。

本文来源:https://www.bwwdw.com/article/0we2.html

Top