1 功能指令的通用表达形式 2 数据长度 本文来自www.eadianqi.com
3 功能指令类型 本文来自www.eadianqi.com 4 位元件 自动控制网www.eadianqi.com版权所有 5 变址寄存器V、 本文来自www.eadianqi.com 1 功能指令的通用表达形式 本文来自www.eadianqi.com
功能指令的表达形式如下表所示: 自动控制网www.eadianqi.com版权所有 功能指令按功能号FNC00~FNC249编排。每条功能指令都有一个指令助记符。 本文来自www.eadianqi.com 自动控制网www.eadianqi.com版权所有 自动控制网www.eadianqi.com版权所有 2 数据长度 本文来自www.eadianqi.com
功能指令可处理16位数据和32位数据。 本文来自www.eadianqi.com 如下图中的第一条指令是将D10中的数据送到D12中,处理的是16 位数据。第二条指令是将D21和D20中的数据送到D23和D22中,处理的是32位数据。 自动控制网www.eadianqi.com版权所有 本文来自www.eadianqi.com 本文来自www.eadianqi.com 3 功能指令类型 本文来自www.eadianqi.com 本文来自www.eadianqi.com
本文来自www.eadianqi.com FX系列PLC的功能指令有连续执行型和脉冲执行型两种形式。 自动控制网www.eadianqi.com版权所有 如图左中程序是连续执行方式的例子。当X2为ON状态时上述指令在每个扫描周期都被重复执行。图右程序是脉冲执行方式,该指令仅在X1由OFF转为ON时有效。 本文来自www.eadianqi.com 4 位元件 本文来自www.eadianqi.com
位元件:只处理ON/OFF状态的元件称为位元件。 本文来自www.eadianqi.com 字元件:处理数据的元件称为字元件。 本文来自www.eadianqi.com 位元件的组合 :由位元件也可构成字元件进行数据处理,位元件组合由Kn加首元件号来表示。 4个位元件为一组组合成单元,KnM0中的n是组数 。 自动控制网www.eadianqi.com版权所有 5 变址寄存器V、Z 本文来自www.eadianqi.com
变址寄存器在传送、比较指令中用来修改操作对象的元件号。其操作方式与普通数据寄存器一样。在[D.]中的(.)表示可以加入变址寄存器。对32位指令,V作高16位,Z作低16位。32位指令中用到变址寄存器时只需指定Z,这时Z就代表了V和Z。 自动控制网www.eadianqi.com版权所有
二、程序流程控制功能指令 自动控制网www.eadianqi.com版权所有 条件跳转指令CJ 本文来自www.eadianqi.com 1. 子程序调用指令CALL与返回指令SRET 本文来自www.eadianqi.com 2. 中断返回指令IRET、允许中断指令EI与禁止中断指令DI 本文来自www.eadianqi.com 3. 主程序结束指令FEND 自动控制网www.eadianqi.com版权所有 4. 监视定时器刷新指令WDT 本文来自www.eadianqi.com 5. 循环开始指令FOR与循环结束指令NEXT 本文来自www.eadianqi.com 1、条件跳转指令CJ 自动控制网www.eadianqi.com版权所有 CJ、CJP指令用于跳过顺序程序某一部分的场合,以减少扫描时间。条件跳转指令CJ应用说明如图 本文来自www.eadianqi.com 本文来自www.eadianqi.com
自动控制网www.eadianqi.com版权所有 2、子程序调用指令CALL与返回指令SRET 自动控制网www.eadianqi.com版权所有 子程序应写在主程序之后,即子程序的标号应写在指令FEND之后,且子程序必须以SRET指令结束 本文来自www.eadianqi.com 自动控制网www.eadianqi.com版权所有 本文来自www.eadianqi.com 3、中断返回指令IRET、允许中断指令EI与禁止中断指令DI 自动控制网www.eadianqi.com版权所有
PLC一般处在禁止中断状态。指令EI~DI之间的程序段为允许中断区间,而DI~EI之间为禁止中断区间。当程序执行到允许中断区间并且出现中断请求信号时,PLC停止执行主程序,去执行相应的中断子程序,遇到中断返回指令IRET时返回断点处继续执行主程序。 自动控制网www.eadianqi.com版权所有
本文来自www.eadianqi.com
自动控制网www.eadianqi.com版权所有
4、主程序结束指令FEND 本文来自www.eadianqi.com FEND指令表示主程序的结束,子程序的开始。程序执行到FEND指令时,进行输出处理、输入处理、监视定时器刷新,完成后返回第0步。 本文来自www.eadianqi.com FEND指令通常与CJ-P-FEND、CALL-P-SRET和I-IRET结构一起使用(P表示程序指针、I表示中断指针)。CALL指令的指针及子程序、中断指针及中断子程序都应放在FEND指令之后。CALL指令调用的子程序必须以子程序返回指令SRET结束。中断子程序必须以中断返回指令IRET结束。 本文来自www.eadianqi.com 5、监视定时器刷新指令WDT 自动控制网www.eadianqi.com版权所有 如果扫描时间(从第0步到END或FEND)超过100ms,PLC将停止运行。在这种情况之下,应将WDT指令插到合适的程序步(扫描时间不超过100ms)中刷新监视定时器。 自动控制网www.eadianqi.com版权所有 6、循环开始指令FOR与循环结束指令NEXT 自动控制网www.eadianqi.com版权所有 FOR~NEXT之间的程序重复执行n次(由操作数指定)后再执行NEXT指令后的程序。循环次数n的范围为1~32767。若n的取值范围为-32767~0,循环次数作1处理。 自动控制网www.eadianqi.com版权所有
FOR与NEXT总是成对出现,且应FOR在前,NEXT在后。FOR~NEXT循环指令最多可以嵌套5层。 自动控制网www.eadianqi.com版权所有 利用CJ指令可以跳出FOR~NEXT循环体。 自动控制网www.eadianqi.com版权所有 |