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版权所有 |