浔之漫智控技术(上海)有限公司总部
主营西门子模块 , PLC模块 , 变频器模块 , 触摸屏模块
西门子S7-200模块CPU224XPCN

西门子S7-200模块CPU224XPCN西门子S7-200模块CPU224XPCN西门子S7-200模块CPU224XPCN

Siemens电源6EP3437-8SB00-0AY0
Siemens模块6ES7516-3AN02-0AB0
SIENEMS基座6ES7193-6BP20-0BA0
Siemens软件6AV2101-0AA05-0AA5
Siemens软件6AV6371-1DV07-5AX0
Siemens伺服轴卡6SN1118-0NH11-0AA0
Siemens变频器6SE6440-2UD15-5AA1
SIEMENS变频器6SE6420-2AB12-5AA1
SIEMENS多功能表7KM3220-0BA01-1DA0
SIEMENS模块6ES7288-1SR40-0AA1
SIEMENS软件6AV2101-0AA04-0AA5
SIEMENS软件6AV2101-0AA03-0AA5
SIEMENS模块6ES7288-1ST60-0AA1
Siemens电源6EP4136-3AB00-0AY0
SIEMENS电机1FL6024-2AF21-1MB1


6EP1333-2BA20


6EP1334-2BA20 


6EP1332-4BA00 


6ES7138-6AA01-0BA0

CMP指令是所有比较指令中为常用的指令,也是功能指令中的常用指令之一,其在编程手册中的说明如下图所示。



CMP指令的理解也很简单,就是S1、S2两个数的相互比较,根据我们多年的数学学习经验,显然,比较结果可能有三种:S1>S2;S1=S2;S1<S2。虽然有三种结果,但它们不可能同时出现,又由于PLC不可能直接开口告诉我们结果,所以它就用了三个连续编号的位元件对三种结果加以区分,其中D·是三个连续位元件的首址。也就是说,终址D占用了3个点,且它的适用软元件为位元件(Y、M、S)。

另外,源址S1、S2均为字元件,毕竟要存数据,且源址S1、S2与终址D都可用于变址寻址。从上图的指令梯形图可以看到,当驱动条件X0=ON时,S1、S2相互比较,若S1>S2,则D=ON;若S1=S2,则D 1=ON;若S1<S2,则D 2=ON。

如执行指令CMP D0 K10 M0表示:将数据寄存器D0中的内容与常数K10进行比较,若D0的内容(D0)>K10,M0接通;若D0的内容(D0)=K10,M1接通,若D0的内容(D0)<K10,M2接通。



显然,在CMP指令中,终址虽然只给出了首址D,但是D 1、D 2两个拖油瓶也被指令占用,不能再用于其他地方。

指令被执行后,即使驱动条件断开,保存结果的D、D 1、D 2仍然保持当前状态,不会自动复位。想要它们复位,可以应用复位指令RST或批量复位指令ZRST。

二、ZCP指令

ZCP指令也是比较指令,但它是区间比较指令,比CMP指令略显麻烦。



从ZCP指令和CMP指令的梯形图中,可以看到,ZCP指令比CMP指令多了一个源址S·,这个S·就是ZCP指令的主角,它到底有什么含义呢?我们接着往下看。


ZCP指令是区间比较指令,所谓区间,就是一个数据范围。例如我们考试,将成绩划分为3个区间:0-59分为不及格,60-80分为良好,81-100分为**。ZCP指令也将数据划分为3个区间,分界点分别为S1、S2,而S就是被用于比较的主角,例如我们每个人所考的成绩。终址D的含义类似于CMP指令中的D,也是用于反馈比较结果,占用3点:D、D 1、D 2。



类似于CMP指令,在ZCP指令中,当驱动条件成立时,将源址S数据分别与源址S1、S2数据进行比较,若比较结果S

例如执行指令ZCP K60 D0 K100 M0表示:若数据寄存器D0的内容(D0)



源址S1与S2除了可以是常数外,还可以是各种字元件,但在这里要注意的一点是:ZCP指令在正常执行的情况下,S1


和CMP指令一样,执行ZCP指令后,若驱动条件断开,终址D、D 1、D 2的状态依然保持不变,可以用复位指令RST或批量复位指令ZRST对它们复位。


无论是CMP指令还是ZCP指令,它们都是字元件数据的比较,且比较结果用终址相对应的3个位元件接通来区分。除此之外,三菱FX PLC 2N中还有触点比较指令,什么是触点比较指令?它们与CMP指令和ZCP指令又有什么区别呢?接下来我们继续走进触点比较指令的世界。


三、触点比较指令

触点只有两种状态(ON或OFF),在梯形图中,所用到的触点都是位元件的触点,如X、Y、M等,常常作为驱动条件使用。

类似的,触点比较指令等同于一个常开触点,且这个常开触点的状态(ON或OFF)由指令的两个源址S1、S2的数据比较结果所决定。结合上文的CMP指令和ZCP指令,可以发现,触点比较指令所等同的常开触点的作用其实和CMP指令和ZCP指令的终址位元件的作用一样。

src=http___hbimg.b0.upaiyun.com_551f191e7389906676de30d6c87544314c1658f7783f-thksbF_fw658&refer=http___hbimg.b0.upaiyun.webp.jpg

既然触点比较指令等同于一个常开触点,那么它就可以像一般触点那样,和其他触点相串或相并,或者作为驱动条件单独使用。根据应用方式的不同,可以将触点比较指令分为起始触点比较指令、串接触点比较指令、并接触点比较指令三种。


1、起始触点比较指令



所谓“起始”,是指这指令与母线相连接,以“LD”开头,其用法类似于“LD(取)”指令。起始触点比较指令一共有6个,如下图所示。



从上图可见,起始触点比较指令有6个是因为两个源址S1、S2的比较结果可以分为6种情况。其中S1≠S2不能直接输入“≠”符号,而是输入“<>”,同样的,大于等于符号“≥”应用“>=”符号表示,小于等于符号“≤”应用“<=”符号表示。


在编程时直接输入对应助记符即可,例如输入“LD= D1 D2”,其梯形图如下图所示。另外,大家从下图可以发现,输入“LD= D1 D2”后回车,“LD”两个字母不会显示。




2、串接触点比较指令



串接触点比较指令和起始触点比较指令的区别只在于,串接触点比较指令以“AND”开头,而起始触点比较指令以“LD”开头。

所谓“串接”,是指串接触点比较指令只能与其他触点串联使用,不能直接与母线相连。类似于起始触点比较指令,也有6种形式,如下图所示。



其功能号为232~238,但没有235,这在其触点比较指令中也是类似的,从224~230,却没有227,别问我为什么,因为我也不知道~

串接触点比较指令的编程类似于起始触点比较指令,在输入完毕后“AND”字母不会显示。那么问题来了,若是只看梯形图,我们怎么知道这是起始的还是串接的呢?



其实,在用触点比较指令与其他触点串接时,也是可以用起始触点比较指令的,不相信的话大家可以用编程软件试试,亲测有效。但串接触点比较指令不能用作起始触点比较指令,也就是不能与母线相连。


3、并接触点比较指令



所谓“并接”,就是并接触点比较指令在编写完毕后,直接与其他触点并接,所以该指令必须在有其他触点与之并接的情况下才能编写。



如上图所示,若上一行对应位置没有触点,则并接触点比较指令不能正常使用。同样的,并接触点比较指令也有6个,且其功能号也不连续,简直是奇了怪。



并接触点比较指令在编写完毕后,字母“OR”同样不显示,且串接触点比较指令可以用起始触点比较指令替代使用,只不过在编写时多两步竖线输入。



发布时间:2023-11-04
展开全文