你的位置: 首页 > 工业控制 > 三菱plc

PLC功能指令的基本格式与数据结构

2016-12-22 17:29:19 | 人围观 | 评论:

  1. 功能指令的通用格式

   ( 1 )功能指令编号: 功能指令按功能号 FNC00 ~ FNC246 来编号,如图 中的 ①所示。
   ( 2 )助记符:功能指令的助记符是该指令的英文缩写。如加法指令“ ADDITION ”简写为 ADD , 如图(a) 中的 ②所示。
   ( 3 )数据长度:功能指令可按处理数据的长度分为 16 位指令和 32 位指令。其中 32 位指令用( D )表示,无( D )符号的为 16 位指令。图( a )中③表示该指令为 32 位指令。
   ( 4 )执行形式:功能指令有脉冲执行型和连续执行型两种。指令中标有( P )(图 (a) 中的④所示)的为脉冲执行型,在指令表示栏中用“ ”警示,如图 ( a )中的⑤所示。脉冲执行型指令在执行条件满足时仅执行一个扫描周期,图 (a) 中,当 X0 闭合时,只在一个扫描周期中将加数( D11 、 D10 )和加数( D13 、 D12 )做一次加法运算。连续执行型如图所示,在 X0 为 ON 的每个扫描周期都要被重复执行加法运算。在不需要每一个扫描周期都执行时,用脉冲执行方式可缩短程序执行时间。 XCH (数据交换)、 INC (加 1 )、 DEC (减 1 )等指令一般应使用脉冲执行方式,若用连续执行时要特别注意,因为在每一个扫描周期内,其结果均在变化。

图 连续执行方式

  ( 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) 所示的加法指令的操作数范围。正确选取操作数类型,对正确使用指令有很重要的意义。
    2. 功能指令的数据结构
    功能指令的操作数的数据长度有 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 位。





标签: