数据处理指令包含批复位指令、编码、译码指令及平均值计算指令等。其中批复位指令可用于数据区的初始化,编、译码指令可用于字元件中某个置1位的位码的编译。
1.区间复位指令ZRST
区间复位指令(Zone Reset,ZRST)将D1~D2指定的元件号范围内的同类元件成批复位。
(1)指令格式
指令编号及助记符:FNC40 ZRST(P)[D1·][D2·]。
●[D1·]为起始元件号。
●[D2·]为结束字元件号。
●如果D1的元件号大于D2的元件号,则只有D1指定的元件被复位。
●单个位元件和字元件可以用RST指令复位。
具体使用说明如表5-2所示。
表5-2 区间复位指令ZRST使用说明
(2)指令用法
ZRST指令使用方法如图5-55所示。
【实例5-19】ZRST指令应用
●当M8002由OFF→ON时,执行区间复位指令。
●位元件M500~M599成批复位,字元件C235~C255成批复位,状态元件S0~S127成批复位。
●虽然ZRST指令是16位指令,D1和D2也可以指定32位计数器。
图5-55 区间复位指令ZRST使用方法
2.解码与编码指令
解码和编码指令用于数据的解码和编码操作。
(1)指令格式
指令编号及助记符:解码指令FNC41 DECO(P)[S·][D·]n;编码指令FNC42 ENCO(P)[S·][D·]n。
●[S·]为源操作数。
●[D·]为目的操作数。
●n为目的字元件个数。
●解码(译码)指令DECO(Decode)的位源操作可以取X、Y、M和S,位目的操作数可以取Y、M和S。
●字源操作数可以取K、H、T、C、D、V和Z,字目的操作数可以取T、C和D,n=1~8,只有16位运算。
●编码指令ENCO(Encode)只有16位运算。
(2)使用方法(www.daowen.com)
使用方法如图5-56所示。
【实例5-20】解码与编码指令应用
图5-56 解码与编码指令使用说明
a)解码指令 b)编码指令
图5-56a中:X002~X000组成的3位(n=3)二进制数为011,相当于十进制数3,由目的操作数M7~M0组成的8位二进制数的第3位(M0为第0位)M3被置1,其余各位为0。如果源数据全0,则M0置1。
图5-56b中:n=3,编码指令将源元件M7~M0中为“1”的M3的位数3编码为二进制数011,并送到目的元件D10的低3位。
3.求置ON位总和与ON位判别指令
位元件的值为1时称为ON,求置ON位总和指令SUM统计源操作数中为ON的位的个数,并将它送入目的操作数。使用方法如图5-57所示。
【实例5-21】求置ON位总和与ON位判别指令应用
●当X000为ON时,将D0中置1的总和存入目的元件D2中,若D0为0,则0标志M8020动作。
●当X003为ON时,判别D10中第15位,若为1,则M0为ON,反之为OFF。
●X000变为OFF时,M0状态不变化。
4.平均值指令
平均值指令MEAN是将S中指定的n个源操作数据的平均值存入目的操作数D中,舍去余数。使用方法如图5-58所示。
当X000闭合时,进行平均值计算。如:n超出元件规定地址号范围时,n值自动减小。n在1~64以外时,会发生错误。
图5-57 求置ON位总和与ON位判别指令使用方法
图5-58 平均值指令MEAN使用方法
5.报警器置位复位指令
报警器置位指令ANS的源操作数为T0~T199,目的操作数为S900~S999,n=1~32 767(定时器以100ms为单位设定)。报警器复位指令(Annunciator Reset,ANR)无操作数。使用方法如图5-59所示。
【实例5-22】报警器置位复位指令应用实例
图5-59 报警器置位复位指令使用方法
●M8000的常开触点一直接通,使M8049的线圈通电,特殊数据寄存器D8049的监视功能有效,D8049用来存放S900~S999中处于活动状态且元件号最小的状态继电器的元件号。
●Y000变为ON后,100ms定时器T0开始定时,如果X000在10s内未动作(n=100),则S900变为ON。
●X003为ON后,100ms定时器T1开始定时,如果在20s内X004未动作,S901将会动作。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。