数据处理指令及功能介绍分析

工业控制

1196人已加入

描述

数据处理指令含批复位指令、编、译码指令及平均值计算等指令。其中批复位指令可用于数据区的初始化,编、译码指令可用于字元件中某一置 1 位的位码的编译。现择要介绍如下。

(1) 区间复位指令

该指令的助记符、指令代码、操作数范围、程序步如表所示。

区间复位指令的要素表

指令名称 助记符 指令代码位数 操作数范围 程序步
D1 ( . ) D2 ( . )
区间复位 ZRST
ZRST(P)
FNC40 ◥
(16)
T 、 M 、 S 、 T 、 C 、 D (D1 ≤ D2) ZRST 、 ZRSTP…5 步
           

区间复位指令也称为成批复位指令,使用如图所示。当 M8022 由 OFF → ON 时,区间复位指令执行。位元件 M500~M599 成批复位、字元件 C235~C255 成批复位、状态元件 S0~S127 成批复位。

目标操作数 [D1] 和 [D2] 指定的元件应为同类元件, [D1] 指定的元件号应小于等于 [D2] 指定的元件号。若 [D1] 的元件号大于 [D] 的元件号,则只有 [D1] 指定的元件被复位。

该指令为 16 位处理,但是可在 [D1][D2] 中指定 32 位计数器。不过不能混合指定,即不能在 [D1] 中指定 16 位计数器,在 [D2] 中指定 32 位计数器。

数据处理指令

图 8-23 ZRST 区间复位指令使用说明

(2) 解码指令

该指令的助记符、指令代码、操作数范围、程序步如表所示。

解码指令的要素表

指令名称 助记符 指令代码位数 操作数范围 程序步
S ( . ) D ( . ) n
解码 DECO
DECO(P)
FNC38 ◥
(16)
K 、 H
X 、 Y 、 M 、 S
T 、 C 、 D 、 V 、 Z
Y 、 M 、 S
T 、 C 、 D 、
K 、 H
1≤n≤ 8
DECO 、 DECOP…7 步

( a )当 [D] 是位元件时 , 以源 [S] 为首地址的 n 位连续的位元件所表示的十进制码值为 Q , DECO 指令把以 [D] 为首地址目标元件的第 Q 位 ( 不含目标元件位本身 ) 置 1 ,其他位置 0 。说明如图所示 , 源数据 Q=20+21=3, 因此从 M10 开始的第 3 位 M13 为 1 。当源数据 Q 为 0, 则第 0 位 ( 即 M10) 为 1 。

数据处理指令

若 n=0 时,程序不执行; n=0~8 以外时,出现运算错误。若 n=8 时, [D] 位数为 28=256 。驱动输入 OFF 时,不执行指令,上一次解码输出置 1 的位保持不变。

若指令是连续执行型,则在各个扫描周期都执行,必须注意。

( b )当 [D] 是字元件时,以源 [S] 所指定字元件的低 n 位所表示的十进制码 Q , DECO 指令把以 [D] 所指定目标字元件的第 Q 位(不含最低位)置 1 ,其他位置 0 。说明如图 8-24 ( b )所示,源数据 Q=20+21=3 ,因此 D1 的第 3 位为 1 。当源数据为 0 时,第 0 位为 1 。

若 n=0 时,程序不执行; n=0~4 以外时,出现运算错误。若 n=4 时, [D] 位数为 24=16 。驱动输入 OFF 时,不执行指令,上一次解码输出置 1 的位保持不变。

DECO 指令应用如图所示,根据 D0 所存储的数值,将 M 组合元件的同一地址号接通。在 D0 中存储 0~15 的数值。取 n=K4 ,则与 D0 ( 0~15 )的数值对应, M0~M15 有相应 1 点接通。

数据处理指令

n 在 K1~K8 间变化,则可以与 0~255 的数值对应。但是为此解码所需的目标的软元件范围被占用,务必要注意,不要一其他控制重复使用。

(3) 编码指令

该指令的助记符、指令代码、操作数范围、程序步如表所示。

编码指令的要素表

指令名称 助记符 指令代码位数 操作数范围 程序步
S ( . ) D ( . ) n
编码 ENCO
ENCO(P)
FNC42 ◥
(16)
X 、 Y 、 M 、 S
T 、 C 、 D 、 V 、 Z
T 、 C 、 V 、 Z 、 D 、 K 、 H
1≤n≤ 8
ENCO 、 ENCOP…7 步

( a )当 [S] 是位元件时,以源 [S] 为首地址、长度为 2n 的位元件中,最高置 1 的位置被存放到目标 [D] 所指定的元件中去, [D] 中数值的分为由 n 确定。说明如图 8-26 ( a )所示,源元件的长度为 2n=23=8 位 M10~M17 ,其最高置 1 位是 M13 即第 3 位。将“ 3 ”位置数(二进制)存放到 D10 的低 3 位中。

当源数的第一个(即第 0 位)位元件为 1 ,则 [D] 中存放 0 。当源数中无 1 ,出现运算错误。

若 n=0 时,程序不执行; n=1~8 以外时,出现运算错误。若 n=8 时, [S] 位数为 28=256 。驱动输入 OFF 时,不执行指令,上一次编码输出保持不变。

数据处理指令

若指令是连续执行型,则在各个扫描周期都执行,必须注意。

( b )当 [S] 是字元件时,在其可读长度为 2n 位中,最高置 1 的位被存放到目标 [D] 所指定的元件中去, [D] 中的数值的范围由 n 确定。说明如图 8-26 ( b )所示,源字元件的可读长度为 2n=23=8 位,其最高置 1 位是第 3 位。将“ 3 ”位置数(二进制)存放到 D1 的低 3 位中。

当源数的第一个(即第 0 位)位元件为 1 ,则 [D] 中存放 0 。当源数中无 1 ,出现运算错误。

若 n=0 时,程序不执行; n=1~4 以外时,出现运算错误。若 n=4 时, [S] 位数为 24=16 。驱动输入 OFF 时,不执行指令,上一次编码输出保持不变。

若指令是连续执行型,则在各个扫描周期都执行,必须注意。

编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分