西门子PLC的cmp>=D什么意思

西门子PLC的cmp>=D什么意思,第1张

1、意思是:

双整形的数值,进行>=指令判断。

2、PLC是可编程逻辑控制器,它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术 *** 作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。

CMP<R用于实数(浮点数)比较CMP<I 用于整数比较CMP<D用于双精度整数比较

基本指令系统 (54)

41 位逻辑指令 (54)

411 触点指令 (54)

412 线圈指令 (56)

413 逻辑堆栈指令 (58)

414 程序案例 (60)

42 定时器指令 (61)

421 接通延时定时器(TON) (63)

422 有记忆接通延时定时器(TONR) (64)

423 断开延时定时器(TOF) (65)

424 时间间隔定时器 (65)

425 程序案例 (66)

43 计数器指令 (69)

431 增计数器(CTU) (71)

432 减计数器(CTD) (71)

433 增/减计数器(CTUD) (72)

434 程序案例 (73) [1]

扩展资料

有4类

1STEP7 Microwin 是西门子S7-200编程软件 。

2STEP 7- Micro/WIN SMART: 是专门为S7-200 SMART 开发的编程软件,能在Windows XP SP3/Windows 7 上运行,支持LAD、FBD、STL语言。安装文件小于100MB 。

3STEP7 V55 是西门子S7-300,S7-400,ET200编程软件

4STEP 7 V11 —TIA Portal是西门子最新的编程软件,支持的plc有S7-300,S7-400,S7-1500,S7-1200 。

参考资料;百度百科-CMP指令

1、首先在电脑主界面上,选中“CMP文件”图标。

2、其次在win7系统桌面上,右键选择“打开方式”。

3、然后在d出的“打开方式”窗口上,双击打开“WPS Office 2019版”软件打开方式。

4、最后在组态王2019版”软件窗口上,显示CMP文件里内容。

欧姆龙有三种比较指令,分别为:

1、<

2、<sl

3、cmp

一、关于比较指令CMP

cmp:用于比较两个无符号二进制值,比较结果通过对应的比较标志位显示,该指令只能与右母线连接。

二、关于比较指令<

<:无符号小于,用于比较16位无符号二进制数据,它属于输入比较指令,其比较结果可直接作为执行条件,也即是说,这类指令和右侧母线之间必须有其他指令。

三、关于比较指令<sl

“<sl”:有符号长小于,用于比较32位带符号的二进制数据,和比较指令“<”相比,只是增加了符号和数据长度,使用方法也同比较指令"<"相同。

cmp是汇编的比较指令;

cmp(compare)指令的作用:进行比较两个 *** 作数的大小;

例如:

cmp oprd1,oprd2

为第一个 *** 作减去第二个 *** 作数,但不影响第两个 *** 作数的值;

它影响flag的CF,ZF,OF,AF,PF

怎么判断大小呢?

若执行指令后;

ZF=1 这个简单,则说明两个数相等,因为zero为1说明结果为0

当无符号时:

CF=1 则说明了有进位或借位,cmp是进行的减 *** 作,故可以看出为借位,所以,此时oprd1<oprd2

CF=0 则说明了无借位,但此时要注意ZF是否为0,若为0,则说明结果不为0,故此时oprd1>oprd2

当有符号时:

若SF=0,OF=0 则说明了此时的值为正数,没有溢出,可以直观的看出,oprd1>oprd2

若SF=1,OF=0 则说明了此时的值为负数,没有溢出,则为oprd1<oprd2

若SF=0,OF=1 则说明了此时的值为正数,有溢出,可以看出oprd1<oprd2

若SF=1,OF=1则说明了此时的值为负数,有溢出,可以看出oprd1>oprd2

最后两个可以作出这种判断的原因是,溢出的本质问题:

两数同为正,相加,值为负,则说明溢出;

两数同为负,相加,值为正,则说明溢出;

故有,正正得负则溢出,负负得正则溢出。

最后一句话说明了CMP协议的作用,是用于在pKI各个组件(RA、CA和KM)间进行通信时所遵守的消息格式,说白了就是规范了各个组件通信时的数据包格式(反映到程序上就是一个结构体)。

CMP协议规范了PKI实体间应该以什么样的格式来组织通信的数据包,实际上就是一个结构体;而spkm是支持非对称密钥的、对CMP进行了消息保护的一种机制,也可以说是种协议。如果将CMP比作为网络通信领域的tcp协议的话,那么spkm相当于保护tcp的ssl协议,只不过CMP仅仅限于PKI各个实体间通信时所采用的数据包标准而已。CMP协议定义在tcp/>

1楼的朋友说得有点麻烦,其实解释起来也比较容易。

1意义上的区别:

cmp属于加减运算的范畴,而test属于逻辑运算的范畴

2概念上的区别

cmp与sub类似,即从目的 *** 作数减去源 *** 作数,但sub会将运算结果送至目的 *** 作数,而cmp不会送至目的 *** 作数;

test则与and类似,即将两个 *** 作数进行按位“与”运算,但and将运算结果送至目的 *** 作数,而test则不会。

3用法上的区别

cmp主要用于比较两数的关系,可以在有符号数和无符号数之间进行比较。两数相等影响ZF标志,无符号数影响CF标志,有符号数影响SF和OF标志。一般根据标志位的影响设置程序跳转,即根据不同的条件完成对应的程序片段,类似于高级语言的IF-ELSE结构。所有的有条件转移指令都可以用在这条指令之后。

test通常用于检测某些位是否为1,但又不希望改变 *** 作数的场合。比如检查AL中的位6和位2是否有一位为1,可以用如下指令:

test AL,01000100b,如果这两个位全为0则ZF的值为1,否则清0,那么根据标志位设置的跳转就只能为jz或jnz

这两条指令的相同点是都不会影响 *** 作数,只是通过标志寄存器的某些位反映运算结果。

以上就是关于西门子PLC的cmp>=D什么意思全部的内容,包括:西门子PLC的cmp>=D什么意思、西门子S7-300 cmp指令后面跟D\I\R有什么区别如CMP<R CMP<I CMP<D三者有什么区别、组态王的cmp文件怎么打开等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9691909.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存