PLC功能指令及其编程

  • 格式:doc
  • 大小:257.50 KB
  • 文档页数:11

※PLC功能指令及其编程
1.功能指令的表示形式
其表现的形式如下:
图13-2 功能指令基本形式
(1)[S﹒]叫做源操作数,其内容不随指令执行而变化,在可利用变址修改软元件的情况下,用加“﹒”符号的[S﹒]表示,源的数量多时,用[S1﹒][S2﹒]
等表示。

(2)[D﹒]叫做目标操作数,其内容随指令执行而改变,如果需要变址操作时,用加“﹒”的符号[D﹒]表示,目标的数量多时,用[D1﹒][D2﹒]等表示。

(3)[n﹒]叫做其他操作数,既不作源操作数,又不作目标操作数,常用来表示常数或者作为源操作数或目标操作数的补充说明。

可用十进制的
K、十六进制的H和数据寄存器D来表示。

在需要表示多个这类操作
数时,可用[n1]、[n2]等表示,若具有变址功能,则用加“﹒”的符号[n﹒]表
示。

此外其他操作数还可用[m]来表示。

2.数据长度和指令类型
(1) 数据长度
功能指令可处理l6位数据和32位数据,例如:
(2) 指令类型
FX 系列PLC 的功能指令有连续执行型和脉冲执行型两种形式。

连续执
行型的如:
上图程序是连续执行方式的例子,当X1为ON 时,上述指令在每个扫描周期都被重复执行一次。

脉冲执行型的如:
3. 操作数
(1) 数据寄存器(D )
数据寄存器是用于存储数值数据的,其值可通过应用指令、数据存取单
元及编程装置进行读出或写入。

这些寄存器都是16位(最高位为符号位),
图13-5 16位脉冲数据传输指令梯形图表达式 图13-4 32位连续数据传输指令梯形图表达式 图13-3 16位/32位数据传输指令梯形图表达式
两个相邻的寄存器、可组成32位数据寄存器(例:用D0表示(D1,D0)32位数据位)。

数据寄存器又分一般型,停电保持型和特殊型。

(2)位组合数据
在FX系列PLC中,是使用4位BCD码表示1位十进制数据。

K1X0就表示由X3~X0 4个输入继电器的组合。

K1X0就表示由X7~X0 8个输入继电器的组合。

(3)标志位
功能指令在操作过程中,其运算结果要影响某些特殊继电器或寄存器,通常称其为标志。

1)一般标志(位)
M8020:零标志,如运算结果为0时动作;
M8021:借位标志,如做减法时被减数不够减时动作。

2)运算出错标志(位)
M8067:运算出错标志
3)功能扩展用标志(位)
4.传送和比较指令说明
(1)传送指令
该指令的助记符、指令代码、操作数范围、程序步如下表13-1所示。

表13-1 传送指令表
1)传送指令MOV 指令是将源操作数内的数据传送到指定的目标操作
数内,即[S] →[D] 。

图13-6传送指令基本形式
2)传送指令MOV 的说明如图。

当X0=ON 时,源操作数[S] 中的常
数K100 传送到目标操作元件D10 中。

当指令执行时,常数
K100 自动转换成二进制数。

当X0 断开时,指令不执行,数据保
持不变。

(2)比较指令
该指令的助记符、指令代码、操作数范围、程序步如下表13-2所示。

表13-2 比较指令素表
比较指令CMP 是将源操作数[S1] 和[S2] 的数据进行比较,结果送到目标操作数[D] 中。

[S1·][S2·][D·]
X0
图13-7比较指令基本形式
说明如图所示:在X0 断开,即不执行CMP 指令时,M0~M2 保持X0 断开前的状态。

数据比较是进行代数值大小比较(即带符号比较)。

所有的源数据均按二进制处理。

当比较指令的操作数不完整(若只指定一个或两个操作数),或者指定
的操作数不符合要求(例如把X 、D 、T 、C 指定为目标操作数),或者指定的操作数的元件号超出了允许范围等情况,用比较指令就会出错。

5.传送和比较指令的作用
这些数据可以从输入端口上连接的外部器件获得,需要使用传送指令读取这些器件上的数据并送到内部单元;初始数据也可以用程序设置,即向内部单元传送立即数;另外,某些运算数据存储在机内的某个地方,等程序开始运行时通过初始化程序送到工作单元。

(1)机内数据的存取管理
在数据运算过程中,机内的数据传送是不可缺少的。

运算可能要涉及不同的工作单元,数据需在他们之间传送;运算可能会产生一些中间数据,这需要传送到适当的地方暂时存放;有时机内的数据需要备份保存,这要找地方把这些数据存储妥当。

总之,对一个涉及数据运算的程序,数据管理是很重要的。

此外,二进制和BCD 码的转换在数据管理中也是很重要的。

(2)运算处理结果向输出端口传送
运算处理结果总是要通过输出实现对执行器件的控制,或者输出数据用于显示,或者作为其他设备的工作数据。

对于输出口连接的离散执行器件,可成组处理后看作是整体的数据单元,按各口的目标状态送入一定的数据,可实现对这些器件的控制。

(3)比较指令用于建立控制点
控制现场常有将某个物理量的量值或变化区间作为控制点的情况。

如温度低于多少度就打开电热器,速度高于或低于一个区间就报警等。

作为一个控制“阀门”,比较指令常出现在工业控制程序中。

6.加法指令
该指令的助记符、指令代码、操作数、程序步如表所示。

ADD 加法指令是将指定的源元件中的二进制数相加,结果送到指定的目标元件中去。

ADD 加法指令的说明如图表示。

当执行条件X0 由OFF →ON 时,[D10]+[D12] →[D14] 。

运算是代数运算,如5+ (-8 )=-3 。

ADD 加法指令有3 个常用标志。

M8020 为零标志,M8021 为借位标志,M8022 为进位标志。

如果运算结果为0 ,则零标志M8020 置1 ;如果运算结果超过32767 (16 位)或2147483647 (32 位),则进位标志M8022 置1 ;如果运算结果小于-32767 (16 位)或-2147483647 (32 位),则借位标志M8021 置1 。

在32 为运算中,被指定的字元件是低16 位元件,而下一个元件为高16 位元件。

源和目标可以用相同的元件号。

若源和目标元件号相同而采用连续执行的ADD 、(D )ADD 指令时,加法的结果在每个扫描周期都会改变。

7.减法指令
该指令的助记符、指令代码、操作数、程序步如表所示。

SUB 减法指令是将指定的源元件中的二进制数相减,结果送到指定的目标元件中去。

SUB 减法指令的说明如图表示。

当执行条件X0 由OFF →ON 时,[D10]-[D12] →[D14] 。

运算是代数运算,如5- (-8 )=13 。

各种标志的动作、32 位运算中软元件的指定方法、连续执行型和脉冲执行型的差异均与上述加法指令相同。

8.乘法指令
该指令的助记符、指令代码、操作数、程序步如表14-3 所示。

表14-3 乘法指令的要素
MUL 乘法指令是将指定的源元件中的二进制数相乘,结果送到指定的目标元件中去。

MUL 乘法指令使用说明如图14-3 所示。

它分16 位和32 位两种情况。

图14-3 乘法指令使用说明
当为16 位运算,执行条件X0 由OFF →ON 时,[D0]x[D2] →[D5 ,D4] 。

源操作数是16 位,目标操作数是32 位。

当[D0]=8 ,[D2]=9 时,[D5 ,D4]=72 。

最高位为符号位,0 为正,1 为负。

当为32 位运算,执行条件X0 由OFF →ON 时,[D1 、D0]x[D3 、D2] →[D7 、D6 、D5 、D4] 。

源操作数是32 位,目标操作数是64 位。

当[D1 、D0]=238 ,[D3 、D2]=189 时,[D7 、D6 、D5 、D4]=44982 ,最高位为符号位,0 为正,1 为负。

如将位组合元件用于目标操作数时,限于K 的取值,只能得到低位32 位的结果,不能得到高位32 位的结果。

这时,应将数据移入字元件再进行计算。

湖北三峡职业技术学院机电系PLC功能指令知识点库
用字元件时,也不可能监视64 位数据,只能通过监视高位32 位和低32 位。

V 、Z 不能用于[D] 目标元件。

9.除法指令
该指令的助记符、指令代码、操作数、程序步如表14-4 所示。

表14-4 除法指令的要素
DIV 除法指令是将指定的源元件中的二进制数相除,[S1] 为被除数,[S2] 为除数,商送到指定的目标元件[D] 中去,余数送到[D] 的下一个目标元件。

DIV 除法指令使用说明如图14-4 表示。

它分16 位和32 位两种情况。

图14-4 除法指令使用说明
第11 页共17 页。