首页 理论教育 掌握应用指令的表示方法

掌握应用指令的表示方法

时间:2023-07-01 理论教育 版权反馈
【摘要】:用编程软件输入图4-1中的应用指令MEAN时,单击工具条中的按钮 ,输入“MEAN D0 D10 K3”,指令助记符和各操作数之间用空格分隔,K3用来表示十进制常数3。图4-1中的应用指令是FX的编程手册的画法。指令前面没有“D”时表示处理16位数据。图4-4 指令位数与脉冲执行的图形表示方法图4-4d左侧上半段的虚线表示不能使用16位指令,下半段的D表示能使用32位指令。

掌握应用指令的表示方法

除了基本指令和步进梯形指令外,FX系列PLC还有很多应用指令,FX各子系列可以使用的应用指令见附录A,表中的“○”表示某一子系列可以使用该应用指令。

1.助记符与操作数

FX系列PLC采用计算机通用的助记符形式来表示应用指令。一般用指令的英文名称或缩写作为助记符,例如指令助记符BMOV(Block move)是数据块传送指令。

有的应用指令没有操作数,大多数应用指令有1到4个操作数,图4-1中的(S·)表示源Source)操作数,(D·)表示目标(Destination)操作数。S和D右边的“·”表示可以使用变址功能。源操作数或目标操作数不止一个时,可以表示为(S1·)、(S2·)、(D1·)和(D2·)等。n或m表示其他操作数,它们常用来表示常数,或源操作数和目标操作数的补充说明。需要注释的项目较多时,可以采用m1、m2等方式。

应用指令的指令助记符占一个程序步,每个16位操作数和32位操作数分别占2个和4个程序步。

用编程软件输入图4-1中的应用指令MEAN时,单击工具条中的按钮 978-7-111-40437-8-Chapter04-1.jpg ,输入“MEAN D0 D10 K3”,指令助记符和各操作数之间用空格分隔,K3用来表示十进制常数3。

当图4-1中X0的常开触点接通时,执行指令MEAN,求3个(n=3)数据寄存器D0~D2中的数据的平均值,运算结果用D10保存。图4-1中的应用指令是FX的编程手册的画法。在编程软件中,应用指令用方括号来表示(见图4-2)。

978-7-111-40437-8-Chapter04-2.jpg

图4-1 应用指令

每条应用指令都有一个功能(Function)编号,图4-1中的MEAN指令的功能号为45,简写为FNC 45。

2.32位指令

在FX的编程手册中,每条指令的前面给出了如图4-1左图所示的图形。该图形左下角的“D”表示可以处理32位数据,相邻的两个数据寄存器组成32位的数据寄存器对。

以数据传送指令“DMOV D2 D4”为例(见图4-2),该指令将D2和D3组成的32位整数(D2,D3)中的数据传送给(D4,D5),D2为低16位数据,D3为高16位数据。指令前面没有“D”时表示处理16位数据。处理32位数据时,为了避免出现错误,建议使用首地址为偶数的操作数。

3.脉冲执行指令

图4-1左图所示的图形右下角的“P”表示可以采用脉冲(Pulse)执行方式。仅仅在图4-2中的X0由OFF变为ON状态的上升沿时,执行一次INCP指令。在编程软件中,直接输入“INCP D6”,指令和操作数之间用空格分隔。

图4-2中的指令INCP是脉冲执行的,最下面的“INC D8”指令后面没有“P”,在X0为ON的每个扫描周期都要执行一次INC指令。

INC(加1)、DEC(减1)和XCH(数据交换)等指令一般应使用脉冲执行方式。与每个周期都执行指令相比,使用脉冲执行方式可以减少指令执行的时间。符号“P”和“D”可以同时使用,例如DMOVP,其中的MOV是传送指令的助记符。

在附录A的应用指令简表中可以查到各条指令是否可以处理32位数据和是否可以使用脉冲执行功能。表中“32位指令”和“脉冲指令”下面的“○”用来表示有相应的功能。

4.变址寄存器

FX系列有16个变址寄存器(V0~V7和Z0~Z7)。在传送指令和比较指令中,变址寄存器V和Z用来在程序执行过程中修改软元件的编号,循环程序需要使用变址寄存器。在程序中输入Z和V,将会自动地转换为Z0和V0。

图4-3中Z1的值为4,D6Z1相当于软元件D10(6+4)。变址寄存器还可以用于常数,图4-3中V0的值为50,K100V0相当于十进制常数K150(100+50)。(www.xing528.com)

978-7-111-40437-8-Chapter04-3.jpg

图4-2 应用指令

978-7-111-40437-8-Chapter04-4.jpg

图4-3 变址寄存器的使用

图4-3中X1的触点接通时,常数50被送到V0,4被送到Z1,ADD(加法)指令完成运算(K100V0)+(D6Z1)→(D7Z1),即150+(D10)→(D11)。

32位指令中V、Z自动组对使用,V为高16位,Z为低16位。例如32位变址指令中的Z0代表V0和Z0的组合。

设Z1的值为10,因为输入继电器采用八进制地址,在计算X10Z1的地址时,Z1的值K10首先被换算成八进制数12,再进行地址的加法运算。因此X10Z1被指定为X22(八进制数10+12=22),而不是X20。

5.指令位数与脉冲执行的图形表示方法

在编程手册中,用图形来表示指令是否可以使用16位指令和32位指令,是否可以使用连续执行型指令和脉冲执行型指令(见图4-4h)。

图4-4a左侧上下的虚线表示指令与16位、32位无关,例如FNC 07(WDT)。

图4-4b左侧上半段的实线和下半段的D分别表示可以使用16位和32位指令。

图4-4c左侧下半段的虚线表示不能使用32位指令,上半段的实线表示能使用16位指令。

978-7-111-40437-8-Chapter04-5.jpg

图4-4 指令位数与脉冲执行的图形表示方法

图4-4d左侧上半段的虚线表示不能使用16位指令,下半段的D表示能使用32位指令。

图4-4e右侧上半段的实线表示能使用连续执行型指令,右侧下半段的虚线表示不能使用脉冲执行型指令。

图4-4f右侧上半段的实线表示可以使用连续执行型指令,下半段的P表示可以使用脉冲执行型指令。

图4-4g既能使用连续执行型指令,也能使用脉冲执行型指令。右侧上半段的三角形图形表示使用了连续执行型指令后,每个扫描周期目标操作数的内容都会变化。

图4-4h所示是手册中完整的表示方式,指令ADD既能使用连续执行型指令,也能使用脉冲执行型指令。既能使用16位指令,也能使用32位指令。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈