plc功能指令的通用格式与数据结构

作者:老电工时间:2021-11-29 09:39:33

有关plc功能指令的通用格式,包括功能指令编号、助记符、数据长度、操作数等,并介绍了plc功能指令的数据结构,位元件与位元件的组合、字元件的知识等。

一、plc功能指令的通用格式

如下图:

plc功能指令1

1)功能指令编号: 功能指令按功能号 FNC00 ~ FNC246 来编号,如图 中的 ①所示。

2)助记符:功能指令的助记符是该指令的英文缩写。如加法指令“ ADDITION ”简写为 ADD , 如图(a) 中的 ②所示。

3)数据长度:功能指令可按处理数据的长度分为 16 位指令和 32 位指令。其中 32 位指令用D)、表示,无D)、符号的为 16 位指令。图a)、中③表示该指令为 32 位指令。

4)执行形式:功能指令有脉冲执行型和连续执行型两种。指令中标有P)、(图 (a) 中的④所示)的为脉冲执行型,在指令表示栏中用“

plc功能指令2

”警示,如图 a)、中的⑤所示。脉冲执行型指令在执行条件满足时仅执行一个扫描周期,图 (a) 中,当 X0 闭合时,只在一个扫描周期中将加数D11、D10)、和加数D13、D12)、做一次加法运算。连续执行型如图所示,在 X0 为 ON 的每个扫描周期都要被重复执行加法运算。(电工天下 www.dgjs123.com)在不需要每一个扫描周期都执行时,用脉冲执行方式可缩短程序执行时间。 XCH (数据交换)、 INC (加 1)、、 DEC (减 1)、等指令一般应使用脉冲执行方式,若用连续执行时要特别注意,因为在每一个扫描周期内,其结果均在变化。 

plc功能指令3

图:连续执行方式

5)、操作数:操作数是功能指令 涉及或产生的数据,如图 (a) 中的⑥所示。它一般由 1 ~ 4 个操作数组成,但有的功能指令只有助记符和功能号而不需要操作数。操作数分为源操作数、目标操作数和其它操作数。

[S] :源Source)、操作数,其内容不随指令执行而变化。使用变址功能时,表示为 [S] 形式。源操作数不止一个时,可用 [S1]、[S2] 等表示。

[D] :目标Destination)、操作数,其内容随执行指令而改变。使用变址功能时,表示为 [D] 形式。目标操作数不止一个时,可用 [D1]、[D2] 等表示。

[m] 与 [n] :表示其他操作数。常用来表示常数或作为源操作数和目标操作数的补充说明。表示常数时, K 表示十进制, H 表示十六进制,注释可用 m1、m2 等表示。

功能指令的助记符占一个程序步,每个操作数占 2 个或 4 个程序步16 位操作数占 2 个程序步, 32 位操作数占 4 个程序步)。

操作数从根本上来说,是参加运算的数据的地址。地址是依元件的类型分布在存储区中。不同指令对参与操作的元件类型有一定的限制,因此操作数的取值就有一定的范围,如图 5.28(b) 所示的加法指令的操作数范围。正确选取操作数类型,对正确使用指令有很重要的意义。

二、plc功能指令的数据结构

功能指令的操作数的数据长度有 16 位和 32 位两种。构成数据的方法如下:

1)位元件与位元件的组合

只处理 ON/OFF 状态的元件称位元件,如 X、Y、M、S 。位元件 X、Y、M、S 等的组合也可以作为数值数据进行处理。将这些位元件组合,以 KnP 的形式表示,每组由 4 个连续的位元件组成, P 为位元件的首地址, n 为组数n = 1 ~ 8)、。 4 个单元 K4 组成 16 位操作数,如 K 4M 10 表示由 M10~M15 组成的 16 位数据。

当一个 16 位数据传送到 K 1M 0、K 2M 0、K 3M 0 时,只传送相应的低位数据,高位数据溢出。

在处理一个 16 位操作数时,参与操作的元件由 K1 ~ K4 指定。若仅由 K1 ~ K3 指定,不足部分的高位作 0 处理,这意味着只能处理正数(符号位为 0)、。

被组合的位元件的首元件号可以是任意的,习惯采用以 0 结尾的元件,如 M0 , M100 等。

如图 (b) 所示,功能指令中的操作数可能取 K (十进制常数)、 H (十六进制常数)、 KnX、KnY、KnM、KnS、T、C、D、V、Z 。

2)字元件

处理数据的元件称为字元件,如 T 和 C 的设定值寄存器、当前值寄存器和数据寄存器 D 等,一个字由 16 个二进制位组成。处理 32 位数据时,功能指令中用符号 D 表示,如图 5.29 中的D)、 ADD D10 D12 D14 ,这时相邻的两个数据寄存器组成数据寄存器对,该指令将 D11 和 D10 中的数据与 D13 和 D12 中的数据相加的和传送到 D15 和 D14 中去, D10 中为低 16 位数据, D11 中为高 16 位数据。

为了避免出现错误,建议首地址统一用偶数编号,指令前面没有 D 时表示 16 位数据,32 位计数器 C200 ~ C255 不能用作16位指令的操作数。

变址寄存器在传送、比较指令中用来修改操作对象的元件号,其操作方式与普通数据寄存器一样。当操作数据是 32 位时,V 作高 16 位, Z 作低 16 位。

本站仅提供信息发布平台,文章仅代表作者个人观点。

猜你喜欢

首页 > plc > plc基础教程