三菱FX系列可编程控制器及指令系统(8)

2018-11-21 15:23

1)源操作数可取所有数据类型,目标操作数可取KnY、KnM、KnS、T、C、D、V和Z.,要注意Z只有16位乘法时能用,32位不可用。

2)16位运算占7程序步,32位运算为13程序步。

3)32位乘法运算中,如用位元件作目标,则只能得到乘积的低32位,高32位将丢失,这种情况下应先将数据移入字元件再运算;除法运算中将位元件指定为[D.],则无法得到余数,除数为0时发生运算错误。

4)积、商和余数的最高位为符号位。

(5)加1和减1指令 加1指令(D) INC (P)的编号为FNC24;减1指令 (D) DEC (P)的编号为FNC25。INC和DEC指令分别是当条件满足则将指定元件的内容加1或减1。如图3-46所示,当X0为ON时,(D10)+1→(D10);当X1为ON时,(D11)+1→(D11)。若指令是连续指令,则每个扫描周期均作一次加1或减1运算。

图3-46 加1和减1指令的使用

使用加1和减1指令时应注意:

1)指令的操作数可为KnY、KnM、KnS、T、C、D、V、Z;。 2)当进行16位操作时为3个程序步,32位操作时为5个程序步。

3)在INC运算时,如数据为16位,则由+32767再加1变为-32768,但标志不置位;同样,32位运算由+2147483647再加1就变为-2147483648时,标志也不置位。

4)在DEC运算时,16位运算-32768减1变为+32767,且标志不置位;32位运算由-2147483648减1变为=2147483647,标志也不置位。

2.逻辑辑运算类指令

(1)逻辑与指令WAND (D)WAND(P)指令的编号为FNC26。是将两个源操作数按位进行与操作,结果送指定元件。

(2)逻辑或指令WOR (D) WOR (P)指令的编号为FNC27。它是对二个源操作数按位进行或运算,结果送指定元件。如图4-48所示,当X1有效时,(D10)∨(D12)→(D14)

(3)逻辑异或指令WXOR (D) WXOR (P)指令的编号为FNC28。它是对源操作数位进行逻辑异或运算。

(4)求补指令NEG (D) NEG (P)指令的编号为FNC29。其功能是将[D.]指定的元件内容的各位先取反再加1,将其结果再存入原来的元件中。 WAND、WOR、WXOR和NEG指令的使用如图3-47所示。

图3-47 逻辑运算指令的使用

使用逻辑运算指令时应该注意:

1)WAND、WOR和WXOR指令的[S1.]和[S2.]均可取所有的数据类型,而目标操作数可取KnY、KnM、KnS、T、C、D、V和Z。

2)NEG指令只有目标操作数,其可取KnY、KnM、KnS、T、C、D、V和Z。 3)WAND、WOR、WXOR指令16位运算占7个程序步,32位为13个程序步,而NEG分别占3步和5步。

(四)循环与移位类指令(FNC30~FNC39) 1.循环移位指令

右、左循环移位指令(D)ROR(P)和(D)ROL(P)编号分别为FNC30和FNC31。执行这两条指令时,各位数据向右(或向左)循环移动n位,最后一次移出来的那一位同时存入进位标志M8022中,如图3-48所示。

图3-48 右、左循环移位指令的使用

2.带进位的循环移位指令

带进位的循环右、左移位指令(D) RCR(P)和(D) RCL(P)编号分别为FNC32和FNC33。执行这两条指令时,各位数据连同进位(M8022)向右(或向左)循环移动n位,如图3-49所示。

图3-49 带进位右、左循环移位指令的使用

使用ROR/ROL/RCR/RCL指令时应该注意:

1)目标操作数可取KnY,KnM,KnS,T,C,D,V和Z,目标元件中指定位元件的组合只有在K4(16位)和K8(32位指令)时有效。

2)16位指令占5个程序步,32位指令占9个程序步。 3)用连续指令执行时,循环移位操作每个周期执行一次。 3.位右移和位左移指令

位右、左移指令SFTR(P)和SFTL(P)的编号分别为FNC34和FNC35。它们使位元件中的状态成组地向右(或向左)移动。n1指定位元件的长度,n2指定移位位数,n1和n2的关系及范围因机型不同而有差异,一般为n2≤n1≤1024。位右移指令使用如图3-50所示。

图3-50 位右移指令的使用

使用位右移和位左移指令时应注意:

1)源操作数可取X、Y、M、S,目标操作数可取Y、M、S。 2)只有16位操作,占9个程序步。 4.字右移和字左移指令

字右移和字左移指令WSFR(P)和WSFL(P)指令编号分别为FNC36和FNC37。字右移和字左移指令以字为单位,其工作的过程与位移位相似,是将n1个字右移或左移n2个字。

使用字右移和字左移指令时应注意:

1)源操作数可取KnX、KnY、KnM、KnS、T、C和D,目标操作数可取KnY、KnM、KnS、T、C和D。

2)字移位指令只有16位操作,占用9个程序步. 3)n1和n2的关系为n2≤n1≤512。 5.先入先出写入和读出指令

先入先出写入指令和先入先出写入读出指令SFWR(P)和SFRD(P)的编号分别为FNC38和FNC39。

先入先出写入指令SFWR的使用如图3-51所示, 当X0由OFF变为ON时,SFWR执行, D0中的数据写入D2,而D1变成指针,其值为1(D1必须先清0);当X0再次由OFF变为ON时,D0中的数据写入D3,D1变为2,依次类推,D0中的数据依次写入数据寄存器。D0中的数据从右边的D2顺序存入,源数据写入的次数放在D1中,当D1中的数达到n-1后不再执行上述操作,同时进位标志M8022置1。

图3-51 先入先出写入指令的使用

先入先出读出指令SFRD的使用如图3-70所示,当X0由OFF变为ON时,D2中的数据送到D20,同时指针D1的值减1,D3~D9的数据向右移一个字,数据总是从D2读出,指针D1为0时,不再执行上述操作且M8020置1。

图3-52 先入先出读出指令的使用

使用SFWR和SFRD指令时应注意:

1)目标操作数可取KnY、KnM、KnS、T、C和D,源操数可取所有的数据类型。 2)指令只有16位运算,占7个程序步。

(五)数据处理指令(FNC40~FNC49) 1.区间复位指令

区间复位指令ZRST(P)的编号为FNC40。它是将指定范围内的同类元件成批复位。如图3-53所示,当M8002由OFF→ON时,位元件M500~M599成批复位,字元件C235~C255也成批复位。

图3-53 区间复位指令的使用

使用区间复位指令时应注意:

1)[D1.]和[D2.]可取Y、M、S、T、C、D,且应为同类元件,同时[D1]的元件号应小于[D2]指定的元件号,若[D1]的元件号大于[D2]元件号,则只有[D1]指定元件被复位。

2)ZRST指令只有16位处理,占5个程序步,但[D1.][D2.]也可以指定32位计数器。 2.译码和编码指令

(1)译码指令DECO DECO(P) 指令的编号为FNC41。如图3-54所示,n=3 则表示[S.]源操作数为3位,即为X0、X1、X2。其状态为二进制数,当值为011时相当于十进制3,则由目标操作数M7~M0组成的8位二进制数的第三位M3被置1,其余各位为0。如果为000则M0被置1。用译码指令可通过[D.]中的数值来控制元件的ON/OFF。

图3-54 译码指令的使用

使用译码指令时应注意:

1)位源操作数可取X、T、M和S,位目标操作数可取Y、M和S,字源操作数可取K,H,T,C,D,V和Z,字目标操作数可取T,C和D。

2)若[D.]指定的目标元件是字元件T、C、D,则n≦4;若是位元件Y、M、S,则n=1~8。译码指令为16位指令,占7个程序步。

(2)编码指令ENCO ENCO(P)指令的编号为FNC42。如图3-55所示,当X1有效时执行编码指令,将[S.]中最高位的1(M3)所在位数(4)放入目标元件D10中,即把011放入D10的低3位。

图3-55 编码指令的使用

使用编码指令时应注意:

1)源操作数是字元件时,可以是T、C、D、V和Z;源操作数是位元件,可以是X、Y、M和S。目标元件可取T、C、D、V和Z。编码指令为16位指令,占7个程序步。

2)操作数为字元件时应使用n≦4,为位元件时则n=1~8,n=0时不作处理。 3)若指定源操作数中有多个1,则只有最高位的1有效。 3. ON位数统计和ON位判别指令

(1)ON位数统计指令SUM (D)SUM(P)指令的编号为FNC43。该指令是用来统计指定元件中1的个数。如图3-56所示,当X0有效时执行SUM指令,将源操作数D0中1的个数送入目标操作数[D2中,若D0中没有1,则零标志M8020将置1。

图3-56 ON位数统计和ON位判别指令的使用

使用SUM指令时应注意:

1)源操作数可取所有数据类型,目标操作数可取KnY,KnM,KnS,T,C,D,V和Z。 2)16位运算时占5个程序步,32位运算则占9个程序步。

(2)ON位判别指令BON (D)BON(P)指令的编号为FNC44。它的功能是检测指定元件中的指定位是否为1。如图3-56所示,当X1为有效时,执行BON指令,由K4决定检测的是源操作数D10的第4位,当检测结果为1时,则目标操作数M0=1,否则M0=0。

使用BON指令时应注意:

1)源操作数可取所有数据类型,目标操作数可取Y、M和S。

2)进行16位运算,占7程序步,n=0~15;32位运算时则占13个程序步,n=0~31。 4.平均值指令

平均值指令(D)MEAN(P)的编号为FNC45。其作用是将n个源数据的平均值送到指定目标(余数省略),若程序中指定的n值超出1~64的范围将会出错。

5.报警器置位与复位指令

报警器置位指令ANS(P)和报警器复位指令ANR(P)的编号分别为FNC46 和FNC47。如图3-57所示,若X0和X1同时为ON时超过1S,则S900置1;当X0或X1变为OFF,虽定时器复位,但S900仍保持1不变;若在1S内X0或X1再次变为OFF则定时器复位。当X2接通时,则将S900~S999之间被置1的报警器复位。若有多于1个的报警器被置1,则元件号最低的那个报警器被复位。

图3-57 报警器置位与复位指令的使用

使用报警器置位与复位指令时应注意:


三菱FX系列可编程控制器及指令系统(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:丰富农民群众文化生活的调研报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: