比较指令(CMP)的应用举例

合集下载

三菱PLC指令传送比较指令及实际应用

三菱PLC指令传送比较指令及实际应用
D:KnY … Z 16位变换结果不可超过0—9999,否则会出错; 32位变换结果不可超过0—99999999,否则也会出错。
注:BCD变换指令可用于PLC内部的二进制数据变为七段显示等需要的BCD码而 向外部输出。
例10,若X1、2、3、5为“1”,其余的为“0”,当X10合上, 分析 Y0~Y7的状态。
图5-21
四、块传送
1.指令代码:FNC15,助记符:BMOV,BMOV(P) 2.功能:把指定操作数软元件区的内容传送到 目标操作数软 元件区中,连续源单元→连续目标单元。 3.格式
X0
S Dn
BMOV D5 D10 K3
S:KnX,KnY,KnM,KnS,T,C,D——指定源元件的首 地址 D:KnX,KnY,KnM,KnS,T,C,D——指定目标元件的 首地址 n:≤512 ——传送单元的数量
八、BIN交换指令
1.指令代码:FNC19 助记符:BIN (P)
16/32
2.功能:源操作数的BCD码转换成二进制数至
目标元件。
3.格式:
X10
SD
FNC19
BIN K2X0 D10
K2X0(BCD码) → D10(B二进制) 01011001(59)→ 00111011(B) 变换范围 16位:0~9999
例9:将S10~S41清零,将M32~M63置1
X0
FNC16
FMOV K0000 K4S10 K2
FNC16 HFFFF K4M32 K2 FMOV
六、数据交换指令
1.指令代码:FNC17 助记符:XCH,XCH(P),DXCH, DXCH(P)。
2.功能:指定目标软元件间进行数据交换。 3.格式:只有目标数 D1,D2,KnY,KnM,KnS,T,C, D,

比较指令CMP与区域比较指令ZCP

比较指令CMP与区域比较指令ZCP

比较指令CMP与区域比较指令ZCP---三菱FX系列PLC应用指令比较指令与区域比较指令有16位指令与32位指令的区分,本节再介绍一下FX系列PLC32位寄存器的地址分配。

比较指令:CMP:16位连续型比较指令CMPP:16位脉冲型比较指令DCMP:32位连续型比较指令DCMPP:32位脉冲型比较指令举例:LD X000CMP K100 D100 M0当X0闭合时:如果寄存器D100的值小于100时,则M0闭合如果寄存器D100的值等于100时,则M1闭合如果寄存器D100的值大于100时,则M2闭合1、比较指令可以控制例中M0,M1,M2三个位元件的状态。

2、当X0断开时,M0,M1,M2仍保持在X0闭合时的运算结果,如果想清除CMP 比较指令的运算结果则需要用复位指令。

区域比较指令:ZCP:16位连续型区域比较指令ZCPP:16位脉冲型区域比较指令DZCP:32位连续型区域比较指令DZCPP:32位脉冲型区域比较指令举例:LD X000ZCP K100 K200 D100 M10当X0闭合时:如果寄存器D100的值小于100时,则M10闭合如果寄存器D100的值大于100,小于200时,则M11闭合如果寄存器D100的值大于200时,则M12闭合1、区域比较指令可以控制例中M10,M11,M12三个位元件的状态。

2、当X0断开时,M10,M11,M12仍保持在X0闭合时的运算结果,如果想清除ZCP 区域比较指令的运算结果则需要用复位指令。

FX系列PLC32位寄存器的地址分配:32位寄存器是占用两个16位寄存器地址,比如说:D0用到32位指令里,则D0,D1这两个寄存器被占用。

D0为数据低位,D1为数据高位。

如果23位寄存器D0的值为16,则D1的值为0,D0的值为16如果23位寄存器D0的值为70000,则D1的值为1,D0的值为4464。

(4464的十六进制值为1170,1十六进制值仍为1。

比较指令cmp

比较指令cmp

比较指令cmp前言比较指令(cmp)是计算机中一种用于比较两个数据(通常是数据对象或文件)之间的指令。

通过比较指令,我们可以判断两个数据是否相等或者大小关系。

在实际应用中,比较指令被广泛应用于程序的流程控制、排序算法、查找算法等方面。

本文将对比较指令cmp的使用方法进行全面、详细、完整且深入地探讨。

使用方法比较指令cmp的基本语法比较指令cmp的基本语法如下:cmp [选项] 文件1 文件2其中,文件1和文件2是需要比较的两个文件的路径。

比较指令cmp的常用选项常用的比较指令cmp选项如下: - -b 或–bytes:以字节为单位进行比较(默认情况下以行为单位进行比较)。

- -i 或–ignore-initial:忽略共同长度的初始部分。

- -l 或–verbose:显示不同的同时还显示字节的编号。

- -s 或–quiet 或–silent:不显示不同之处。

- -z 或–zero-terminated:以空字节作为结束符,而不是换行符。

比较指令cmp的返回值比较指令cmp根据比较结果的不同返回不同的值: - 若两个文件相同,cmp返回0。

- 若两个文件不同,cmp返回1。

- 若比较出错,cmp返回2。

比较指令cmp的应用场景程序的流程控制在程序的流程控制中,我们经常需要判断两个数据是否相等或者大小关系。

比较指令cmp可以帮助我们实现这些判断。

通过结合条件语句,我们可以根据cmp的返回值来执行不同的代码块,实现程序的各种流程控制逻辑。

排序算法排序算法是计算机领域中非常重要的基础算法之一。

在排序算法中,我们需要比较数据的大小关系来进行排序。

比较指令cmp可以帮助我们快速比较两个数据的大小关系,从而实现各种排序算法,如冒泡排序、快速排序、归并排序等。

查找算法查找算法是计算机领域中解决查找问题的算法。

在查找算法中,我们需要比较数据是否相等来确定是否找到目标数据。

比较指令cmp可以帮助我们进行数据的比较,从而实现各种查找算法,如二分查找、哈希查找、线性查找等。

第六章3-1传送比较指令及应用资料

第六章3-1传送比较指令及应用资料
制的程序设计
一、比较指令 CMP (Compare)
❖ 操作数
[S1]、[S1] : K,H、KnX、KnY、KnM、KnS、T、C、 D、
V,Z
[D]:Y、M、S X0 ❖ 梯形图
[S1] [S2] [D]
CMP K100 C10 M0
M0 K100<C10的当前值时,M0 = ON
M1 K100=C10的当前值时,M1 = ON
T2
X2
十六进制 Y3 Y2 Y1 Y0
0
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
9
1001
MOV H03
T1 K50
K1Y0
MOV H01
T2 K60
K1Y0
MOV H05 K1Y0
MOV H00 K1Y0 END
实习操作:电动机Y-△降压启动控制线路与程序
图5.6 Y-△降压启动控制线路
表5.7 Y-△降压启动过程和传送控制数据表
操作元 件 SB2
SB1 KH
状态
形启动 T0延时10s T0延时到 T1延时1s T1延时到 △形运转
停止 过载保护
输入端

Y3/KM3
X2
0
输出端口/负载 Y2/KM2 Y1/KM1
1
1
Y0/HL 1
传送数据 K7
0
0
2.区间比较指令ZCP举例
【例题】 用如图所示的传送带输送工件,数量为20个。连接X0端子的光电传感器对 工件进行计数。当计件数量小于15时,指示灯常亮;当计件数量等于或大于15以上 时,指示灯闪烁;当计件数量为20时,10s后传送带停机,同时指示灯熄灭。设计 PLC控制线路并用区间比较指令ZCP编写程序。

比较指令

比较指令
比较值数据或数据存储字软元件地址 比较结果ON/OFF位元件首址,占用3个点。
指令解读
当驱动条件成立时,将源址S与源址SI、S2分 别进行比较,并根据比较结果:SVS1, S1VSVS2, S>S2置终址位元件D, D+1, D+2其中 一 个为ON。
S1MSMS2 D1=ON
编程示例
ZCP K30 K100 DO M10
小结
1. 掌握CMP、ZCP指令的应用; 2. 能熟练应用功能指令编制程序。
指令解读
S1>S2 一 D=ON S1=S2 ―D+1=ON S1<S2 一 D+2=ON
例讲
CMP D10 K20 YO (D10)=K30 YO=ON (D10)=K20 Y1=ON (D10)=K10 Y2=ON
程序梯形图
应用注意
1. 一旦指令终址后,三个连续位元件D, D+1, D+2已被指令占用,不能再做他用。
D0<K30 "0 K30 m DO m K100 代]
()()D0>K100
M10=ON‘ M11=ON ' _ |\|
程序梯形图
应用注意
1. ZCP指令在正常执行情况下,S1<S2,如果发生 了 S1>S2的情况,则PLC自动把S2作为S1处理。 2. 其他应用注意通CMP指令。
例讲
某温度控制系统,温度控制范围为23°C〜 28°C, 超过范围用灯光闪烁报警。
M8002
程序
D10 D20
思考题
如图为一密码锁接线图,密码锁由三位数字 开关输入组成,设其密码为K256,试编写其开锁 控 制程序梯形图。
FX2N PLC

触点比较指令应用实例

触点比较指令应用实例

触点比较指令应用实例触点比较指令应用实例一、触点比较指令(CMP)1、CMP的功能CMP指令的功能是比较目的操作数与源操作数的大小,它会把比较的结果存入标志寄存器中,因此仅需要查看标志寄存器的值就能够得到比较结果。

它有以下功能:(1)CMP指令可以用来比较两个数的大小,如果两个操作数相等,比较结果为零;(2)CMP指令可以比较两个数的符号,如果源操作数的符号比目的操作数大,比较结果为正;(3)CMP指令可以检测两个操作数的值是否越界,如果越界,比较结果为负;(4)CMP指令可以检测两个操作数的位数是否相等,如果不等,比较结果为负。

2、CMP指令的应用实例(1)比较寄存器和立即数的大小:CMP DX,#0x0004此指令比较的是DX寄存器与立即数0x0004,DX寄存器的值大于0x0004时,CF=0,ZF=0,SF=0;DX寄存器的值小于0x0004时,CF=1,ZF=0,SF=1;DX寄存器的值等于0x0004时,CF=0,ZF=1,SF=0。

(2)比较内存单元和寄存器的大小:CMP AX,[DI]此指令比较的是AX寄存器和DI指针指向的内存单元的大小,当AX值大于内存单元的值时,CF=0,ZF=0,SF=0;当AX值小于内存单元的值时,CF=1,ZF=0,SF=1;当AX值等于内存单元的值时,CF=0,ZF=1,SF=0。

(3)比较两个内存单元的大小:CMP [SI],[DI]此指令比较的是SI指针指向的内存单元和DI指针指向的内存单元的大小,当SI指针指向的内存单元的值大于DI指针指向的内存单元的值时,CF=0,ZF=0,SF=0;当SI指针指向的内存单元的值小于DI指针指向的内存单元的值时,CF=1,ZF=0,SF=1;当SI指针指向的内存单元的值等于DI指针指向的内存单元的值时,CF=0,ZF=1,SF=0。

二、跳转指令(JMP)1、JMP指令用来改变程序流程,它可以用来实现程序的条件转移,无条件转移,循环等操作。

可编程控制器应用技术(三菱) 案例3-1 数码管循环显示数字

可编程控制器应用技术(三菱) 案例3-1  数码管循环显示数字

案例3-1 数码管循环显示数字
1.案例原理与提示
(1) 数码管的ABCDEFG七段对应Y0~Y6,计数器循环计数。

(2) 用数据寄存器存放变化的数字,用INC(加1)指令使数字不断递增,用CMP(比较)指令实现数据的循环。

(3) 也可以用功能指令直接七段译码。

2. 案例实施过程
1) I/O分配
数码显示控制输入/输出端口分配表如下表所示。

数码显示控制输入/输出端口分配表
2) 控制程序编写
数码显示控制程序梯形图如下图所示。

数码显示控制程序梯形图
用数据寄存器D0存放变化的数字0~9。

由特殊功能继电器M8013产生秒脉冲,采用加1指令使D0中的数据不断递增,每过一秒加1。

当D0中的数据递增为10时,D0中再次
赋值为0。

程序中M8002对程序初始化,把K0(十制数0)放入数据寄存器D0中。

当比较指令(CMP)的比较结果为等于时(D0=10),M11=1,则D0中赋值0。

当SB12断开时,D0=0,[INCP D0]指令不工作,数码管上显示0。

3) 接线与调试
数码显示控制外部接线图如下图所示。

数码显示控制外部接线图
3. 思考与提升
(1) 当SB12开关闭合时,数码管就循环显示0~A,每个数字显示0.5s;当SB12开关断开时,数码管上显示“H”。

(2) 当SB12开关闭合时,数码管就循环显示9~0,每个数字显示0.8s。

罗克韦尔cmp指令

罗克韦尔cmp指令

罗克韦尔cmp指令罗克韦尔CMP(Compare)指令是一条用于比较两个操作数的指令,常用于在编程中进行条件判断和跳转操作。

语法:CMP destination, source功能:将两个操作数进行减法运算,并根据结果设置相应的标志位。

操作数:- destination:比较的目标操作数,通常是寄存器或内存中的值。

- source:比较的源操作数,通常是寄存器、立即数或内存中的值。

指令执行过程:1. 将源操作数的值从目标操作数中减去。

2. 根据减法结果设置标志位(Carry Flag、Zero Flag、Sign Flag等)。

常见的标志位设置情况如下:- 如果结果为零,将设置Zero Flag。

- 如果结果为正,将设置Sign Flag为0,Carry Flag为0。

- 如果结果为负,将设置Sign Flag为1,Carry Flag为1。

示例代码:assemblyMOV AX, 5 ; 将5赋值给AX寄存器CMP AX, 10 ; 比较AX寄存器的值和10JE equal ; 如果相等则跳转到equal标签处JG greater ; 如果大于则跳转到greater标签处JL less ; 如果小于则跳转到less标签处equal: ; 相等的情况下执行的代码...JMP done ; 跳转到done标签处greater: ; 大于的情况下执行的代码...JMP done ; 跳转到done标签处less: ; 小于的情况下执行的代码...JMP done ; 跳转到done标签处done: ; 执行完毕后的代码...上述代码中,首先将AX寄存器的值设置为5,然后使用CMP指令将AX寄存器的值与10进行比较。

根据比较结果,可通过跳转指令(JE、JG、JL)来执行不同的代码块。

字节比较指令

字节比较指令

字节比较指令字节比较指令是计算机中常用的一种指令,用于比较两个字节的大小关系。

在计算机中,数据以字节为单位进行存储和操作,而字节比较指令则可以帮助程序员判断两个字节的值的大小关系,从而进行相应的逻辑处理。

在计算机中,字节是最小的可寻址单元,一般由8个二进制位组成,可以表示0~255之间的整数。

字节比较指令可以直接比较两个字节的值,判断它们的大小关系。

常见的字节比较指令有以下几种:1. CMP指令:CMP指令用于比较两个操作数的值,并根据比较结果设置标志位。

比较的结果可以通过标志位来判断,例如ZF(零标志位)表示两个操作数相等,CF(进位标志位)表示第一个操作数小于第二个操作数,SF(符号标志位)表示第一个操作数小于第二个操作数。

2. TEST指令:TEST指令用于按位与操作,可以将两个操作数的对应位进行与操作,并根据结果设置标志位。

通过比较两个字节的结果,可以判断它们的大小关系。

3. SUB指令:SUB指令用于进行减法运算,可以比较两个操作数的差值,并根据结果设置标志位。

通过比较两个字节的差值,可以判断它们的大小关系。

通过这些字节比较指令,程序员可以方便地比较两个字节的大小关系,并根据比较结果进行相应的逻辑操作。

例如,在排序算法中,可以使用字节比较指令来比较数组中的元素,从而实现对数组的排序。

字节比较指令在计算机中的应用非常广泛。

它不仅可以用于比较字节的大小关系,还可以用于比较其他数据类型的大小关系。

例如,可以使用字节比较指令来比较整数、浮点数等不同类型的数据。

在使用字节比较指令时,需要注意以下几点:1. 数据类型的选择:不同的数据类型需要使用不同的字节比较指令。

例如,对于无符号整数,应该使用无符号字节比较指令;对于有符号整数,应该使用有符号字节比较指令。

2. 比较结果的判断:根据比较结果设置的标志位,可以判断两个字节的大小关系。

程序员需要根据具体的需求来选择判断条件,以实现正确的逻辑操作。

3. 内存地址的访问:在比较字节时,需要注意访问内存地址的正确性。

三菱PLC传送与比较指令的用法

三菱PLC传送与比较指令的用法

三菱PLC传送与比较指令的用法1、比较指令CMPCMP指令有三个操作数:两个源操作数[S1.]和[S2.],一个目标操作数[D.],该指令将[S1.]和[S2.]进行比较,结果送到[D.]中。

CMP指令使用说明如图所示。

2、区间比较指令ZCPZCP指令是将一个操作数[S.]与两个操作数[S1.]和[S2.]形成的区间比较,且[S1.]不得大于[S2.],结果送到[D.]中。

ZCP指令使用说明如图所示。

3、传送指令MOVMOV指令将源操作数的数据传送到目标元件中,即[S.]→[D.]。

MOV指令的使用说明如图所示。

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

当X0为OFF,指令不执行,数据保持不变。

4、移位传送指令SMOV首先将二进制的源数据(D1)转换成BCD码,然后将BCD码移位传送,实现数据的分配、组合。

源数据BCD码右起从第4位(m1=4)开始的2位(m2=2)移送到目标D2/的第3位(n=3)和第2位,而D2/的第4和第1两位BCD码不变。

然后,目标D2/中的BCD码自动转换成二进制数,即为D2的内容。

BCD码值超过9999时出错。

5、取反传送指令CMLCML指令使用说明如图所示。

将源操作数中的数据(自动转换成二进制数)逐位取反后传送。

6、块传送指令BMOVBMOV指令是从源操作数指定的元件开始的n个数组成的数据块传送到指定的目标。

如果元件号超出允许的元件号范围,数据仅传送到允许的范围内。

BMOV指令的使用说明如图所示。

7、多点传送指令FMOVFMOV指令是将源元件中的数据传送到指定目标开始的n个目标元件中,这n个元件中的数据完全相同。

FMOV指令使用说明如图所示。

8、数据交换指令XCHXCH指令是将两个目标元件D1和D2的内容相互交换。

使用说明如图所示。

9、BCD变换、BIN变换指令BCD是将源元件中的二进制数转换为BCD码送到目标元件中。

对于l 6位或32位二进制操作数,若变换结果超出0-9999或0-99999999的范围就会出错。

汇编语言cmp指令用法

汇编语言cmp指令用法

汇编语言cmp指令用法1. 什么是汇编语言?汇编语言是一种低级机器语言的抽象,它使用助记符(mnemonic)来代替二进制代码,使得程序员能够更容易地理解和编写机器指令。

汇编语言是计算机硬件和操作系统的接口语言,可以直接访问底层硬件资源。

2. cmp指令概述cmp指令是汇编语言中的一个重要指令,用于比较两个操作数的大小关系。

它通过比较两个操作数的值来设置标志位(flags),以供程序后续的条件跳转或条件执行。

3. cmp指令的语法格式cmp指令通常有两个操作数,分别为源操作数(source operand)和目标操作数(destination operand)。

其基本语法格式如下:cmp destination, source其中,destination为目标操作数,可以是寄存器或内存地址;source为源操作数,可以是寄存器、内存地址或立即数。

4. cmp指令的功能cmp指令执行时会将目标操作数与源操作数进行比较,并根据比较结果设置相应的标志位。

常见的标志位有零标志位(ZF)、进位标志位(CF)、符号标志位(SF)等。

•如果目标操作数等于源操作数,则设置ZF为1;否则,设置ZF为0。

•如果源操作数大于目标操作数,则设置CF为1;否则,设置CF为0。

•如果结果为负数,则设置SF为1;否则,设置SF为0。

5. cmp指令的应用场景cmp指令常用于条件跳转和条件执行的判断条件中。

通过比较两个操作数的大小关系,可以根据标志位来进行不同的控制流程。

5.1 条件跳转cmp指令与条件跳转指令(如je、jne、jl、jg等)结合使用,可以实现根据比较结果进行跳转的功能。

例如,以下代码片段中,如果eax寄存器的值等于ebx寄存器的值,则跳转到label处执行;否则,继续执行下一条指令。

cmp eax, ebxje label5.2 条件执行cmp指令与条件执行指令(如cmovl、cmovg等)结合使用,可以实现根据比较结果选择性地执行某一条指令。

plc中数值比较指令

plc中数值比较指令

plc中数值比较指令PLC中数值比较指令PLC(Programmable Logic Controller)是一种应用于工业自动化控制的可编程逻辑控制器。

数值比较指令是PLC中常用的一种指令,用于实现比较运算,并根据运算结果来判断后续处理。

下面将更详细地介绍数值比较指令的一些基本操作。

数值比较指令的语法格式为:CMP a, b,其中a和b是两个要进行比较的数值。

例如,CMP IN0, 128,表示将输入点IN0的值与数值128进行比较。

数值比较指令将比较结果存储在指令的运算结果寄存器中,并根据比较结果来判断后续的处理。

对于两个不同的输入值a和b,数值比较指令可以返回以下三种结果之一:1. a == b。

这种情况下,数值比较指令的运算结果寄存器将被设置为“1”,表示相等。

2. a < b。

这种情况下,数值比较指令的运算结果寄存器将被设置为“0”,表示小于。

3. a > b。

这种情况下,数值比较指令的运算结果寄存器将被设置为“0”,表示大于。

在使用数值比较指令时需要特别注意以下几点:1. 对于不同的CPU或PLC,数值比较指令的语法格式可能会有所不同。

因此,在具体的应用场景中,需要查阅相应的技术手册。

2. 在使用数值比较指令时,为了保证运算结果的精度,应该尽可能地减小输入值的误差范围,并选择合适的数据类型。

3. 在使用数值比较指令时,需要考虑运算结果的后续处理。

例如,如果需要将运算结果送入PLC的输出模块,就需要考虑模块的实际输出状态。

总之,数值比较指令是PLC中常用的一种指令,可以用于实现复杂的比较运算。

在具体的应用中,需要根据实际需求,选择合适的数据类型和指令格式,并特别注意运算精度和后续处理问题,以确保PLC的稳定运行。

cmp bne指令

cmp bne指令

cmp bne指令
CMP(比较)和BNE(如果不相等则跳转)是汇编语言中常用的两条指令,通常用于控制程序的流程。

下面我将分别从CMP和BNE 指令的功能、用法以及在程序中的实际应用等方面进行解释。

首先,CMP指令用于比较两个操作数的值,但并不修改寄存器的值。

它会影响标志寄存器的值,根据比较结果设置标志位。

通常情况下,CMP指令会与条件分支指令(如BNE)一起使用,以便根据比较结果来执行跳转操作。

其次,BNE指令是一个条件分支指令,用于在比较结果不相等时执行跳转操作。

具体来说,当CMP指令的比较结果显示两个操作数不相等时,BNE指令会根据标志寄存器的值来判断是否执行跳转操作,即跳转到指定的地址执行程序。

在实际应用中,CMP和BNE指令通常结合使用,用于实现程序中的条件判断和分支执行。

比如,在一个循环中,可以使用CMP来比较计数器的值与预设的结束条件,然后根据比较结果使用BNE来决定是否跳转到循环体的起始位置继续执行循环。

总的来说,CMP和BNE指令在汇编语言中扮演着重要的角色,通过比较操作数的值和根据比较结果执行条件跳转,可以实现程序中的逻辑判断和分支执行,从而控制程序的流程。

希望这个回答能够帮助你更好地理解CMP和BNE指令在汇编语言中的作用和用法。

PLC比较指令cmp应用

PLC比较指令cmp应用

在使用比较指令时应注意以下几点:
(1)比较指令的数据均为二进制数,且带符号位比较。

(2)要清除比较结果时,需采用RST和ZRST指令。

比较指令的应用示例如图1所示。

图1中的梯形图采用比较指令实现监视计数值的功能。

Y0按照1s脉冲频率做ON/OFF交替变化,为秒脉冲输出指示,同时还给计数器C0提供计数脉冲信号。

图1比较指令的应用示例
当X0为ON时,若计数器的当前值小于10时,Y1有输出;当
计数器的当前值等于10时,Y
2有输出;当计数器的当前值大于10时,Y3有输出;当计数器的当前值为15时,Y4和Y3均有输出,由于采用Y4的动合触点给计数器复位,所以Y4线圈的得电时间仅为一个扫描周期。

(注:文档可能无法思考全面,请浏览后下载,供参考。

可复制、编制,期待你的好评与关注)。

三菱PLC触点比较指令和比较指令CMP的应用三菱plc

三菱PLC触点比较指令和比较指令CMP的应用三菱plc

三菱PLC触点比较指令和比较指令CMP的应用 - 三菱plc触点比较指令和比较指令的应用格外的广泛,一般的程序就有这2个指令的其中一条。

我将说说他们的不同之处和应用方法。

触点比较的指令格式为:LD D0 D2这条指令的指令的含义是当数据寄存器D0里面的值不等于数据寄存器D2里值的时候导通。

LD= D0 D2这条指令的含义是数据寄存器D0里面的值小于或者等于数据寄存器D2里面的值导通。

LD= D0 D2这条指令的含义是数据寄存器D0里面的值大于或者等于数据寄存器D2里面的值导通。

LD= D0 D2这条指令的含义是数据寄存器D0里面的值等于数据寄存器D2里面的值导通。

什么LD表示在左母线开头,假如是串联LD的地方则为AND,并联则为OR。

需留意的是这条指令可以是16位和32位运算,但不能位脉冲执行型。

比较指令CMP的应用:这条指令格式为 CMP D0 D2 M0 他的含义是把D0和D2做比较,然后通过M0,M1,M2这3个输出,当D0里面的数据大于D2里面的数据则MO导通。

当D0里面的数据等于D2里面的数据则M1导通。

当D0里面的数据小于D2里面的数据则M2导通。

这条指令可以为16位和32位运算也可以是脉冲执行型。

假如是32位运算则DCMP D0 D2 M0. 假如为32位脉冲执行型则DCMP D0 D2 M0,须留意的是32位运算的时候占用的数据寄存器是4个数据寄存器,他们是D0.D1.D2.D3由于一个数据寄存器是16位连续2个数据寄存器才是32位。

一旦作32位运算他会自动占用D0.D1.D2.D3这4个数据寄存器,因此特殊留意不要在其他程序里不要向这4个数据寄存器里面写入数据,否则会消灭未知的错误。

还有一点留意的是脉冲执行型,假如是脉冲执行型则当执行条件满足时只执行这条指令1次,假如是连续执行型则每个扫描周期都执行所以必需留意。

cmp指令用法

cmp指令用法

cmp指令用法cmp指令是x86指令集中比较指令的一种,它用来比较两个寄存器、内存位置或立即数之间的值,并在比较完成后置零标志位(CF)、进位标志位(AF)、溢出标志位(OF)和符号标志位(SF)。

换句话说,cmp操作符用来比较两个值,并设置不同的标志位,用来确定比较结果符号和大小。

cmp指令语法cmp操作符的语法有多种形式,一般有以下几种:cmp dest,srccmp dest,[src]cmp dest,[disp+src]cmp dest,immcmp [dest],immcmp [dest+disp],imm其中dest和src是寄存器或内存地址,imm是立即数,disp是偏移量。

cmp指令用法cmp指令可以与其他指令配合使用,以实现复杂的控制逻辑。

下面对cmp指令的用法进行分类介绍。

(1)比较寄存器或内存单元与立即数cmp指令可以用来比较寄存器或内存单元与立即数之间的大小,例如:cmp ax,2 ;将ax与立即数2进行比较cmp word [1000],15 ;将内存单元[1000]与立即数15进行比较(2)比较两个寄存器cmp指令可以用来比较两个寄存器之间的大小,例如:cmp bx,ax ;将bx与ax进行比较cmp [ds:si], ax ;将ds:si与ax进行比较(3)比较内存单元和寄存器cmp指令还可以用来比较内存单元和寄存器之间的大小,例如: cmp ax, [1000] ;将ax与内存单元[1000]进行比较cmp [ds:si], [es:di] ;将ds:si与es:di进行比较(4)与其他指令配合使用cmp指令可以与其他指令配合使用,以实现复杂的控制逻辑。

例如:cmp ax,2 ;将ax与立即数2进行比较jg label ;如果ax大于2,则跳转至label标签该段指令表示,如果ax大于2,就跳转至label标签。

cmp指令的用法不只有以上四种,还有很多,有兴趣的读者可以多多探索。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、比较指令功能及用法
1、CMP指令
(1)适用软元件
(2)功能与动作
二、比较指令应用实例
例1、单按钮启停控制
控制程序:
例2、生产流水线小车运动
控制要求:
某生产线要求小车执行以下控制:初始状态下,小车停在行程开关ST1 的位置,
且行程开关ST1被压合。

第一次按下按钮SB1后,小车前进至行程开关ST2处停止,5S后退回行程开关ST1处停止。

第二次按下SB1后,小车前进到行程开关ST3处停止,5S后退回到行程开关ST1处停止。

第三次按下SB1后,小车前进到行程开关ST4处停止,5S后退回至行程开关ST1处停止。

再按下按钮SB1,重复以上过程。

生产流水线小车运动示意图如图所示。

后退
ST5控制程序:。

相关文档
最新文档