1、(1)16bit和32bit功能指令可处置16位(bit)的数据和32(bit)位数据.功能指令中附有符号(D)表示处置32位(bit)数据.如(D)MOV, FNC(D)12,FNC12(D).处置32bit数据时, 用元件号相邻的两个元件组成元件对.元件对的元件号用奇数,偶数都可.但为幸免错误,元件对的首元件建议统一用偶数编号.32bit计数器(C200C255)不能用作16bit指令的操作数.(2)持续执行/脉冲执行助记符后附有(P)符号表示脉冲执行,没有(P)符号的表示持续执行. (P)和(D)可同时利用,如(D)MOV(P)表示32bit数据传送,脉冲执行. 例如以下图:图中仅在X0
2、由OFF变成ON时执行D10到D12间的数据传(只传送一次),不需要每一个扫描周期都执行.当X1为ON时在每一个扫描周期都被重复执行D20数据到D22的传送.当X0,X1为OFF时上述两个传送都不执行.在利用PLC编程时,若是在程序中的数据不随时转变,而且转变是可控的,如此的数据传送就可用脉冲方式.例如,INC指令含义是加1.若是每一个运行周期都执行一次加1,其运行结果将无法确信.用持续方式时要专门注意.这些指令用!号表示. 有些指令,例如XCH,INC,DEC等 位元件和字元件 只处置ON/OFF状态的元件,例如X,Y,M,和S,称为位元件.其它处置数字数据的元件,例如T,C和D,称为字元件
3、.而位元件组合起来也可处置数字数据.位元件的字能够由Kn加首元件号来表示.位元件每4bit为一组合成单元,KnM0中的n是组数.16bit数据操作时为K1数据操作时为K1K8.例如,K2M0即表示由M0M7组成2个4bit组.当一个16bit的数据传送到K1M0,K2M0或K3M0(利用MOV指令)时,只传送相应的低位(bit)数据.较高位的数据不传送.32bit数据传送时也一样.例如 1M15 M14 M13 M12 M11 M10 M9 M8 M7 M6 M5 M4 M3 M2 M1 M0传送后D0寄放器的数据如下:假设X1为ON时用持续传送的方式传送M0M7组成的8位二进制数到D0数据寄
4、放器.传送前的M0M15组成的16bit数如下: 由于数据高8位没有在指令中概念而不能传送,16位(bit)数据的符号位(最高位)为0,现在只能处置正数. 由上述例子可知,在作16位(bit)数据操作,而参与操作的元件由K1,K2,K3来指按时,高位(不足部份)均作0.这就意味着只能处置正数(符号位为0).在作32bit数据操作,参与操作的元件由K1K7来指按时也一样. 变址寄放器(V,Z)变址寄放器在传送,比较指令中来修改操作对象的元件号. 其操作方式与一般数据寄放器一样.操作元件包括,KnX,KnY,KnM,KnS,T,C,D,V,Z.其中KnY,KnM,KnS,T,C,D,V,Z可加入变
5、址寄放器.对32bit指令,V作高16bit,Z作低指令顶用到变址寄放器时只需指定Z,这是Z就代表了V和Z.如上图所示:X0为ON时,K10(十进制数10)送到为ON时,K20(十进制数20)送到Z.当X2为ON时所作的加法(D5V)+(D15Z)(D40Z)(D15)+(D35)(D60). M8000是内部特殊寄放器(常ON),即无条件将十进制常数0(K 0)送入V,现在(V),(Z)的数据为0和20.当X3为ON时执行(D)ADD指令,作32bit数据加法(D0)+(D2)(D 4Z)确实是(D1,D0)+(D3,D2)(D25,D24) 程序流程操纵指令: CJ FNC00(P)(16
6、)条件转移操作元件:指针P0P127(许诺变址修改)P63即END,无需再标注程序步数: CJ 和 CJ (P)3步标号P1步 梯形图功能:用于跳过顺序程序中的某一部份,如此能够减少扫描时刻,并使双线圈操作成为可能.若是X0为ON那么跳到标记P8处继续执行. CALL FNC01(P)(16)转子程序 指针P0P127(许诺变址修改)CALL和CALL(P)3步标号P1步嵌 套:5级用于特定条件下执行某个子程序,可减少程序重复.若是X0为ON那么挪用P10为标记的子程序执行.在执行子程序时也可挪用子程序,可嵌套5级. SRET FNC02 子程 序返无1步与CALL指令对应的子程序终止返回CA
7、LL指令后的程序顺序执行. 中断效劳程序的终止标记.在程序执行到IRET指令后表示该中断效劳终止.该指令后的程序许诺中断,直到DI指令显现. IRET FNC03中断返回 操作元件: EI FNC04许诺中断 该指令后的程序许诺中断,直到DI指令显现. 该指令后的程序不可中断,直到EI指令显现. DI FNC05禁止中断断返回 执行到FEND时进行输出处置,输入处置,警戒时钟刷新后回到第0步. FEND FNC06主程序终止假设扫描周期超过100ms,PLC将停止运行.现在,应将WDT指令插入到适合的位置刷新警戒时钟,使程序执行到END. WDT FNC07 (P)警戒时钟 FOR-NEXT间
8、的程序重复执行n次后,NEXT指令后的程序才被执行.利用CJ指令可跳出循环体.FOR-NEXT间还可利用FOR-NEXT指令.循环指令最多许诺5级嵌套. FOR FNC08(16)循环区起点 3步 NEXT FNC09循环区终点1步 梯形图 :同上与FOR配对利用 传送和比较 将S1与S2比较,结果由D决定的M0开始的三个内部寄放器输出,可驱动各类动作. CMP FNC10(P)(16/32)比较操作元件CMP和CMP(P)7步(D)CMP和(D)CMP(P)13步功能将S 与S1 S2的区间比较,结果有D指定的M3始的三个寄放器输出.当S小于该区间时M3为ON,S在该区间时M4为ON,S大于
9、该区间时M5为ON ZCP FNC11(P)(16/32)区间比较 ZCP和ZCP(P)9步(D)ZCP和(D)ZCP(P)17步操作元件 传送和比较梯形图表达 X0=ON时, K100(D10)X0=OFF时指令不执行 MOV FN12(P)(16/32)传送MOV和MOV(P)5步(D)MOV和(D)MOV(P)9步指定的源数据传送到D指定的目标寄放器.X0=ON时,将(D0)取反(K1 Y0)若是X0=OFF时,指令不执行 CML FNC14(P)(16/32)取反传送 CML和CML(P)5步(D)CML和(D)CML(P)9步将源数据取反并传送到目标.(K1 Y0)指以Y0为首元件的
10、4个元件组成的一个字节(4bit).梯形图表达:源数据BCD码右起第4位(m1=4)开始的2位(m2=2)移到目标的第3位转换为二进制,其中第1,4位不受移位指令的阻碍. SMOV FNC13(P) (16)位移传送程序步数: SMOV和SMOV(P)11步将源数据(二进制)转换为BCD码,然后将BCD码移位传送,然后将目标中的码值超过9999时犯错. 当X0=ON时,将寄放器(D5,D6,D7)数据传送到3目标(D10,D11,D12) BMOV FNC15(P) (16)块传送 程序步数: BMOV和BMOV(P)7步从源操作数指定的元件开始的n个数据组成的数据块传送到目标.一旦传送,传送
11、一组数据.将K0传送到D0D9 FMOV FNC16(P) (16)多点 传送 FMOV和FMOV(P)7步相同数据送到多个目标.将源元件中的数据传送到指定目标开始的n个元件中. 互换前:(D10)=110,(D11)=100互换后:(D10)= 100,(D11)= 110 XCH FNC17(P)(16/32)()互换 XCH和XCH(P)5步(D)XCH和(D)XCH(P)9步互换目标元件中的数据. 将(D12)中的数据转换成BCD码送到Y0开始的两个(4bit)字节(Y0Y7)中 BCD FNC18(P)(16/32)二进制转换成BCD码 BCD和BCD(P)5步(D)BCD和(D)B
12、CD(P)9步将源元件中的二进制数转换成BCD码送到目标元件中. 将X0开始的两个(4bit)字节(X0X7)中的BCD码数据转换成二进制数送到(D13)中. BIN FNC19(P)(16/32)BIN变换 BIN和BIN(P)5步(D)BIN和(D)BIN(P)9步 将源元件中的BCD码转换成二进制数送到目标元件中. 四那么运算及逻辑运算当X0=ON时,执行(D10)+(D12) (D14)结果为0时, M8020置1; ADD FNC20(P) (16/32) 加法 ADD和ADD(P)7步(D)ADD和(D)ADD(P)13步标 志:M8020(零标志);M8021(借位);M8022
13、(进位)指定源元件中的二进制数相加,结果送到指定的目标符号为(0为正,1为负).运算为代数运算. 结果大于32767(16bit) 或47(32bit)时进位标志M8021置1;结果小于-32767(16bit)或-47 (32bit)时借位标志M8022置1.当X0=ON,执行 (D10)-(D12)D14)当X1=ON一次,执行一次 (D1,D0)-1(D1,D0) SUB FNC21(P) (16/32)BIN减法 程序步数: SUB和SUB(P)7步(D)SUB和(D)SUB(P)13步指定源元件中的二进制数相减,结果送到指定的目标元件.其余同ADD指令. 当X0=ON时执行16bit
14、运算 (D0)(D2) (D5,D4)当X1=ON时执行32bit运算(D1,D0)(D3,D2)(D7,D6, D5,D4) MUL FN22(P) (16/32)BIN乘法 MUL和MUL(P)7步(D)MUL和(D)MUL(P)13步两个源数据的乘积以32bit形式送到指定目标.低16bit在指定目标,高16bit在下一个元件中. 当X0=ON时执行16bit运算(D0)(D2) (D4)(D5)当X1=ON时,执行32bit运算(D1,D0)(D3,D2)(D5,D4)(D7,D6) DIV FNC23(P) (16/32)BIN除法 DIV和DIV(P)7步(D)DIV和(D)DIV
15、(P)13步V和Z不能用于目标地址. 用S1指定的被除数除以用S2指定的除数,商和余数送到D指定的目标及以后的几个持续元件. 当X0由OFF变ON时,执行 (D10)+1(D10) INC FNC24(P) (16/32)加1 INC,INC(P),3步(D)INC,(D)INC(P) 13步输入条件由OFF变ON时,执行D指定的目标数据增加1 当X1由OFF变ON时,执行(D10)-1(D10) DEC FNC25(P) (16/32)减1 DEC和DEC(P)3步(D)DEC和(D)DEC(P)13步 输入条件由OFF变ON时,执行D指定的目标数据减少1 (D10)(D12)(D14) A
16、ND FNC26(P) (16/32) 逻辑与 16bit操作 7步32bit操作 13步以bit为单位的逻辑与运算.将S1S2指定的源数据进行逻辑运算后结果存入D的目标单元(D10)(D12)(D14) OR FNC27(P)(16/32)逻辑或或的目标单元.(D10) (D12)(D14) XOR FNC28(P)(16/32)逻辑异指定的源数据进行逻辑异或(D10)+1(D10) NEG FNC29(P)(16/32)求补 NEG和NEG(P)3步(D)NEG和(D)NEG(P)5步将D指定数据的每一名都取反,然后该数加1,结际是绝对值不变的变号操作. 循环移位与移位 每次X0由OFFO
17、N时各bit数据向右旋转bit,最后一次从最高位移出的状态存于进位标志M8022中. ROR FNC30(P) (16/32)右循环 ROR,ROR(P) )5步指定的数据右移n决定的位数,最低位移出的状态存于进位标志M8022每次X0由OFFON时各bit数据向右旋转bit,最低位移出的进位标志M8022同时参与移位. RCR FNC32(P) (16/32) 带进位右循环移位 5步本指令使D指定的(16/32bit)数据连同进位标志一路向右循环移位n决定的位数. 每次X10由OFFON时,D内各位数据连同S内4位数据向右移动4bit X0X3组成的4bit数据从高端移入而(M0 M3)4位
18、溢出. SFTR FNC34(P) (16/32)位元件状态右移位 9步本指令使bit元件中的状态向右移位,由n1指定bit元件的长度,n2指定移位数. 操作元件(其中n2n11024)每次X10由OFFON时,D10D25 16字数据连同S内D0D3 4字数据向右移动4bit D0D3从高端移入而(D10D13)从低端移出. WSFR FNC36(P) (16/32) 元件状态(字)右移 WSFR,WSFR(P)9步本指令使字元件中的状态向右移位,由n1指定字元件长度,n2指定移位字数.操作元件(其中n2n1 512)当X0由OFFON时,D0中的数据写入D2,而D1内的数据变成1(指针).
19、 D0数据改变后X0再由OFFON时,DO中的数据写入D3,D1中的数据变成2.依此类推.直到D1内数据为n-1上述指令再也不执行 SFWR FNC38(P)(16/32) 先入先出FIFO写入 SFWR,SFWR(P)7步M8022(进位) WSFR,本指令是FIFO(先入先S指定的数据写入D的第二位开始的长度为n指定的寄放器内,D指定的第一不执行本操作. 操作元件(其中2n 512)每次X1由OFFON时,D2内的数据读入D20,同时指针(D1)减1,从用该指令,那么每次执行数据向右移1字.直到D1为0,再也不执行该指令. SFRD FNC39(P)(16/32) 先入先出FIFO读出 S
20、FRD,SFRD(P)7步M8020进位)本指令是FIFO(先入先出)控制数据读出指令.将S指定的第二个寄放器开始的长度为n数据读到D指定的寄放器内,S指时不执行本操作. 数据处置 PLC送电运行时M500M599,C235C255成批复位注:D1D2指定同一元件,D1号D2号 ZRST FNC40(P) (16)区间复位 ZRST,ZRST(P)7步 用于一批元件的同时复位.如操纵程序的初始化处置等. 当X4=ON时,X3,X2,X1组成的二进制数等于几,就将M10M17对应的M置1.假设D指定目标是T,C,或D,应使n4. DECO FNC41(P)(16/32)解码 DECO,DECO(P)7步指定的源元件和n指定的个数,组成二进制数等于几,就将D指定的目标开始的8个寄放器中的对应位置的寄放器置1. 操作元件(其中n=18)当X5=ON时,M10M17对应的M为1.就将该位对应的二进制数送到D12,D11,D10组成的寄放器组内.假设S指定目标是T,C,D,V或Z,应使n的源中为1的不止一处时,那么只有最高位的1有效.假设指定源中所有bit均为0,那么出错. ENCO FN42(P) (16)编码 ENCO, ENCO(P)7步指定的源元件开始的8个寄放器中为1的位,以二进制数输出到D指定的目标和n指定的个数组
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1