内容正文:
2019.6
电器及PLC控制技术
第3版
主编 高勤
第5、6章(共173页)
可编程序控制器的内部除了存有很多基本逻辑指令外,还有大量的功能指令(应用指令)。因为一些功能指令实际上就是许多功能不同的子程序,所以功能指令的应用,使PLC具有数据处理的能力、与外部设备的联网通信能力,并使得程序的设计和执行更加便利,因此大大地扩展了可编程序控制器的应用范围。
功能指令和基本逻辑指令的形式不同,基本逻辑指令用助记符或逻辑操作符表示,其梯形图就是继电器触点、线圈的连接图。
第5章 FX系列PLC的功能指令及编程方法
功能指令用功能号(代码)表示,
FX2N系列PLC 功能指令的代码为FNC00~FNC250,每条功能指令有其相应的助记符和代码。
本章中的功能指令的代码、操作功能及操作数见表 5-1。
5.1 功能指令的基本格式及执行方式
5.1.1 功能指令的梯形图表示形式
功能指令采用梯形图和助记符相结合的形式。 功能指令在梯形图中用功能框表示。在功能框中,用功能指令代码或通用的助记符形式表示该功能指令。 图5-1所示为
功能指令MEAN的梯形图,这是一条“求平均值”的功能指令,指令的代码是45。 当图中的X0为ON时,可以求出D0,D1,D2 中数据的平均值,并将结果送到D10中。图中动合触点X0=ON 是该条功能指令的执行条件,其后的方框即为功能指令的梯形图形式。 可见,功能指令同一般的汇编指令相似,是由助记符和操作数两部分组成的。
(1)助记符部分
功能框的第一段即为助记符部分,表示该指令应完成的功能。由于功能指令有很多种类型,所以每条功能指令都设有相应的代码(功能号),如求平均值的代码为
45。 但是为了便于记忆,每个功能指令都有一个助记符, 对应FNC45 的助记符是MEAN,表示“求平均值”。 在使用编程器编程时,按下功能指令键,输入该条指令的代码后,在编程器上实际显示的就是相应的助记符。
图5-1 功能指令MEAN的梯形图
(2)操作数部分
有的功能指令只需要指定功能号,但更多的功能指令还需要指定操作元件。 操作元件由操作数组成。功能框的第二部分为操作数部分。
操作数部分由“源操作数”[S.]“目标操作数”[D.]和“数据个数”n三部分组成。无论操作数有多少,其排列顺序总是源操作数、目标操作数、数据个数。 数据个数n实际是源操作数和目标操作数的补充说明。
在图 5-1中的源操作数为D0,D1,D2 (D的个数由n确定),n=K3表示源操作数有3个:目标操作数为D10。
因为有的指令并不是直接给出数据,而给出的是存放操作数的地址,所以[S.]和[D.]也称源地址和目的地址。
5.1.2.功能指令的通用表达形式及执行方式
功能指令的通用表达形式如图5-2所示。
图5-2 功能指令的通用表达形式
图中的前一部分表示指令的代码和助记符,如图中所示的数据传送指令;指令的代码为12,MOV为指令的助记符;图中(P)表示采用脉冲执行方式 ,在执行条件满足时仅在一个扫描周期内执行(默认状态为连续执行方式) 。 功能指令可以处理16位数据和32位数据,默认状态为16 位数据。图中若有符号(D),则表示指令的数据为32位,如图5-3所示。
图5-2的后一部分中[S.]表示源操作数, 当源操作数不止一个时,可以用[S1.] 、 [S2.]表示;[D.]表示目标操作数,当目标操作数不止一个时,可以用[D1.]、
[D2.]表示。当补充说明n不止一个时,用n1,n2,…… 或 m1,m2 ,……表示。
这里要注意的是输入继电器X 不能作为目标操作数使用。[S.]和[D.]中的符号“ .” 表示操作数具有变址方式
图5-3 32位数据处理
当n表示常数时,用K表示十进制数,用H表示十六进制数。
图5-3中的第一个梯级执行的是数据传送功能,在满足执行条件X1为ON时,将D10 中的数据送到D12中,处理的是16位数据。
图5-3中第二个梯级执行的是将D21 和D20 中的数据送到D23 和D22 中,处理的是32位数据。
处理32位数据时,用元件号相邻的两个元件组成元件对。 元件对的首位地址用奇数和偶数均可以。 建议元件对的首位地址统一用偶数编号,例如D10 ,D12,D20,D22等
5.1.3 功能指令的操作数及变址操作
1.功能指令的操作数
PLC的编程元件根据内部位数的不同,分为位元件和字元件。位元件指用于处理 ON/OFF状态的继电器,其内部只能存一位数据0 或1,例如输出继电器Y和一般辅助继电器M。 而字元件是由16位寄存器组成,用于