三菱PLC-应用指令-PPT优质PPT.ppt
《三菱PLC-应用指令-PPT优质PPT.ppt》由会员分享,可在线阅读,更多相关《三菱PLC-应用指令-PPT优质PPT.ppt(66页珍藏版)》请在冰豆网上搜索。
位元件的组合位元件组合表示数据:
4个位元件一组,代表4位BCD码,也表示1位十进制数;
用KnMm表示,K为十进制,n为十进制位数,也是位元件的组数,M为位元件,m为位元件的首地址,一般用0结尾的元件。
如K2X0对应:
X0X7;
K3X0对应:
X0X13;
K4X0对应:
X0X17,二、数据格式,数据长度16位:
参与运算的数据默认为16位二进制数据32位:
32位数据时在操作码前面加D(Double),三、数据长度及执行方式,执行方式连续执行方式:
每个扫描周期都重复执行一次脉冲执行方式:
只在信号OFFON时执行一次,在指令后加P(Pulse)。
变址:
改变操作数的地址变址寄存器的作用:
存放改变地址的数据实际地址=当前地址+变址数据32位运算时V和Z组合使用,V为高16位,Z为低16位。
V=(8),Z=(4),(D8)(D14),四、变址寄存器V、Z,五、常用特殊辅助继电器,功能指令执行结果的标志M8020:
零标志M8021:
借位标志M8022:
进位标志M8029:
执行完毕标志M8064:
参数出错标志M8065:
语法出错标志M8066:
电路出错标志M8067:
运算出错标志,第二节程序流控制,一、条件跳转指令FNC00CJ二、子程序指令FNC01CALLFNC02SRET三、中断指令FNC03IRETFNC04EIFNC05DI四、主程序结束指令FNC06FEND五、警戒时钟定时器指令FNC07WDT六、循环指令FNC08FORFNC09NEXT,一、条件跳转指令FNC00CJ,操作数:
指针P0P127,末指针为END所在步梯形图,指令表步序操作码操作数0LDX101CJP04。
10LDX1111CJP0。
20P021LDX1222OUTY1,说明CJ指令跳过部分程序,可以缩短程序的运算周期。
如果积算型定时器和计数器的RST指令在跳转程序之内,即使跳转程序生效,RST指令仍然有效。
该指令可以连续和脉冲执行方式。
被跳过去的程序中各元件的状态为Y、M、S保持跳转前状态不变。
普通计数器停止计数并保持当前值,高速计数器继续计数。
未工作的定时器不动作,已动作的定时器保持当前值。
T192T199跳转时仍然计时。
在一个程序中一个标号只能出现一次功能指令在跳转时不执行,但PLSY,PLSR,PWM指令除外。
二、子程序指令,子程序调用FNC01CALL操作数:
指针P0P62子程序返回FND02SRET无操作数说明子程序应该在主程序结束之后编程。
CJ指令的指针与CALL的指针不能重复。
主程序允许嵌套,嵌套级别最多为5级。
子程序只能用T192T199和T246T249作定时器。
梯形图,三、中断指令,中断返回FNC03IRET开中断FNC04EI关中断FNC05DI均无操作数梯形图,说明在执行某个中断子程序时,禁止其它中断请求。
中断程序允许嵌套,嵌套级别为2级。
中断指针共有15个:
输入中断6个,定时器中断3个,计数器中断6个。
中断程序用T192T199和T246T249作定时器。
中断的优先级别多个中断信号不同时产生时,按先后顺序中断。
多个中断信号同时产生时,按指针大小中断。
(2)用于中断的指针,例:
I000I101,中断指针应放在FEND指令之后。
X0X5,
(2)中断指针,注意:
1)当M8050M8058为ON时,禁止执行相应I0I8的中断,M8059为ON时则禁止所有计数器中断;
3)无需中断禁止时,可只用EI指令,不必用DI指令;
4)执行一个中断服务程序时,如果在中断服务程序中有EI和DI,可实现二级中断嵌套,否则禁止其它中断。
例子6-3,从X0的上升沿开始,用定时器中断使D0的值每隔10ms加1,在100s内由0线性增大到10000,大于100s时D0值保持不变。
EI/允许中断LDPX0/X0的上升沿ANIM8002/禁止X0在第一个扫描周期自动出现的上升沿起作用RSTM8056FENDI610/每隔10ms中断1次INCD0LD=K10000D0/100S到SETM8056SETY0IRETEND,例子6-5测量X0的上升沿和X2的上升沿之间的时间。
EI/允许中断FENDI001/X0的上升沿中断LDIM8000RSTT246/解除对T246的复位LDM8000RSTY0/复位测量结束标志RSTD0/清楚测量结果OUTT246K32767/启动1ms定时器T246IRETI201/X2上升沿中断LDK0T246/如果T246当前值不为0MOVT246D0SETY0LDIY0OUTT246K1/停止定时LDM8000RSTT246IRETEND,中断实例,无操作数梯形图,四、主程序结束指令FNC06FEND,说明与END指令的功能一样,执行到该指令时程序返回到0步。
中断服务子程序和子程序应该写在FEND之后,并且用IRET和SRET返回。
如果多次使用FEND指令,在最后的FEND和END之间编写子程序或中断子程序,五监视定时器指令,监视定时器指令WDT(P)监视定时器缺省值为200ms(可用D8000来设定),警戒定时器是一个专用定时器,其设定值存放在特殊的数据寄存器D8000中,并以ms为计时单位。
当PLC一上电,则对警戒定时器进行初始化,将K100(设定值为100ms)装入D8000中,每个扫描周期结束时,马上刷新警戒定时器的当前值,使PLC能正常运行。
当扫描周期大于100ms时,即超过了警戒定时器的设定值,警戒定时器的逻辑线圈被接通,CPU立即停止执行用户程序,同时切断全部输出,并且报警显示。
五、警戒定时器指令FNC07WDT,循环开始FNC08FOR操作数S:
K,H、KnX、KnY、KnM、KnS、T、C、D、V,Z循环结束FNC09NEXT无操作数说明n为循环次数,其范围为132767有效。
如果指定为-327680,则作n=1处理。
循环指令最多可以嵌套5级。
程序中FOR-NEXT是成对出现的,FOR在前,NEXT在后不可倒置,否则出错。
编程时NEXT应该在FEND或END之前,否则出错。
六、循环指令,六、循环指令,例子6-7在X1上升沿,将50、55、6090分别送D10D18LDPX1RSTZMOVK50D10FORK8ADDD10ZK5D11ZINCZNEXT,第三节传送和比较指令,一、比较指令FNC10CMP二、区间比较指令FNC11ZCP三、传送指令FNC12MOV四、移位传送指令FNC13SMOV五、取反传送指令FNC14CML六、块传送指令FNC15BMOV七、多点传送指令FNC16FMOV八、数据交换指令FNC17XCH九、变换指令FNC18BCDFNC19BIN,操作数S1、S1:
K,H、KnX、KnY、KnM、KnS、T、C、D、V,ZD:
Y、M、S梯形图,一、比较指令FNC10CMP,说明该指令是将源操作数S1和S2的中数据进行比较,结果送目标操作数D中去。
D由3个元件组成,指令中D给出首地址,其它两个为后面的相邻元件。
当X0由ONOFF时,不执行CMP指令,M0M2保持断开前的状态,用复位指令RST才能清除比较结果。
CMP是进行二进制代数比较。
可以32位二进制数比较和脉冲执行方式。
如果指令中指定的操作数不全、元件超出范围、软元件地址不对时,程序出错。
区间比较指令FNC1ZCP,操作数S1、S1:
KnY、KnM、KnS、T、C、D、V,Z梯形图,K100(D10),二、传送指令FNC12MOV,说明该指令将源操作数S中的数据传送到目标操作数D中去。
MOV指令可以进行(D)和(P)操作。
如果S为十进制常数,执行该指令时自动转换成二进制数后进行数据传送。
当X0断开时,不执行MOV指令,数据保持不变。
操作数S:
KnY、KnM、KnS、T、C、D、V,Z说明该指令把源操作数S中的数据各位取反(10,01)后传送到目标操作数D中去。
该指令可以16/32位数据处理和连续/脉冲执行方式,三、取反传送指令FNC14CML,梯形图,若源操作数中的数为十进制常数时,将自动转换成二进制.,移位传送指令SMOVSMOV(P),m1:
从哪一位开始移动m2:
移动多少位,LDM8000OUTM8168/BCD码方式MOVK1X0D0MOVK2X20D1SMOVD0K1K1D1K3,块传送指令BMOVBMOV(P),是将源操作数指定元件开始的n个数据组成数据块传送到指定的目标。
使用块传送指令时应注意:
1)源操作数可取KnX、KnY、KnM、KnS、T、C、D和文件寄存器,目标操作数可取.KnT、KnM、KnS、T、C和D2)只有16位操作,占7个程序步;
3)如果元件号超出允许范围,数据则仅传送到允许范围的元件。
多点传送指令FMOV(D)FMOV(P),是将源操作数中的数据传送到指定目标开始的n个元件中,传送后n个元件中的数据完全相同。
使用多点传送指令FMOV时应注意:
1)源操作数可取所有的数据类型,目标操作数可取KnX、KnM、KnS、T、C、和D,n小等于512;
2)16位操作占7的程序步,32位操作则占13个程序步3)如果元件号超出允许范围,数据仅送到允许范围的元件中。
操作数D1、D2:
KnY、KnM、KnS、T、C、D、V,Z梯形图,四、数据交换指令FNC17XCH,注意交换指令一般要在脉冲方式执行,否则不能正常工作。
梯形图,五、变换指令FNC18BCDFNC19BIN,BIN变换指令BIN(D)BIN(P),BIN是将源元件中的BCD数据转换成二进制数据送到目标元件中。
使用BCD/BIN指令时应注意:
源操作数为KnX、KnY、KnM、KnS、T、C、D、V和Z目标操作数没有KnX,3,KM2,第四节算术与逻辑运算指令,一、二进制加减运算指令加法FNC20ADD减法FNC21SUB梯形图,说明指令是代数加减运算,数据的最高位为符号位。
进行16位加减运算时,数据范围为3276832767;
32位运算时,数据范围为21474836482147483647。
运算结果为0时,零标志置位(M8020=1);
运算结果大于32767(或2147483647)时,进位标志置位(M8022=1);
运算结果小于32768(或2147483648)时,借位标志置位(M8021=1)。
该指令可以进行连续/脉冲执行方式。
加1FNC24INC减1FNC25DEC操作数D:
KnY、KnM、KnS、T、C、D、V,Z梯形图,二、二进制加1减1指令,说明上述指令可以连续/脉冲执行方式,应用中要特别注意。
可以进行16/32位运算,并且为二进制运算。
如果从+32767(或+2147483647)再加1,则变成-32768(或-2147483648);
如果从-32768(或-2147483648)再减1,则变成+32767(或+2147483647),为循环计数。
以上变化时标志位不动作,也就是说这两条指令和零标志、借位标志、进位标志无关。
逻辑与FNC26WAND逻辑或FNC27