FP1系列PLC的数据比较指令有F60(CMP)、F61(DCMP)、F62(WIN)、F63(DWIN)、F64(BCMP)5种,如表3-48所示。
表3-48 数据比较指令
1.F60(CMP)
该指令是16位数据的比较指令,将S1指定的16位数据与S2指定的16位数据进行比较,比较的结果存储在特殊内部继电器R900A~R900C中,指令格式及操作数范围如表3-49所示。
表3-49 指令格式及操作数范围
表3-49的程序中,当触发信号使X0接通时,将数据寄存器DT0中的数据与十进制常数(K100)进行比较,当DT0>K100时,R900A为“ON”,内部继电器R0接通;当DT0=K100时,R900B为“ON”,R1接通;DT0<K100时,R900C为“ON”,R2接通。
表3-50列出了由S1和S2的大小决定的R900A~R900C的输出。如果使用特殊内部继电器R9010(常ON)来作为F60(CMP)指令的触发信号时,则比较结果标志(R900A~R900C)前的触发信号R9010可省略。
表3-50 F60(CMP)对R900A~R900C状态的影响
值得注意的是,表3-49中的指令也可以用栈操作指令PSHS、RDS和POPS来编写。
2.F61(DCMP)
该指令为32位数据比较指令,其功能是将S1指定的32位常数或32位存储单元中的数据与S2指定的32位常数或32位存储单元中的数据进行比较,结果存在特殊内部继电器R900A~R900C中,指令格式及操作数范围如表3-51所示。
表3-51 指令格式及操作数范围
在表3-51中,当触发信号使X0接通时,将(DT101,DT100)中的数据与(DT1,DT0)中的数据进行比较,当(DT1,DT0)>(DT101,DT100)时,R900A为“ON”,输出继电器Y0接通;当(DT1,DT0)=(DT101,DT100)时,R900B为“ON”,输出继电器Y1接通;当(DT1,DT0)<(DT101,DT100)时,R900C为“ON”,则Y2接通。
表3-52列出了由(S1+1,S1)和(S2+1,S2)的大小决定的R900A~R900C的输出。
表3-52 R900A~R900C的状态
3.F62(WIN)
该指令为16位数据块的比较指令,功能是将S1指定的16位常数或16位存储单元中的数据与S2和S3指定的数据块相比较,以检查S1是在数据块的下限S2和上限S3之间,还是大于S3或小于S2,比较的结果存储在R900A、R900B和R900C中,指令格式及操作数范围如表3-53所示。
表3-53 指令格式及操作数范围
(www.xing528.com)
表3-53中,当触发信号使X0接通时,DT0中的数据与DT2中的数据(数据块的下限)和:DT4中的数据(数据块的上限)进行比较,比较的结果存储在R900A、R900B和R900C中。当DT0>DT4时,R900A接通,Y0保持接通。当DT2≤DT0≤DT4时,R900B接通,Y1保持接通。DT0<DT2时,R900C接通,Y2保持接通。
表3-54给出了R900A(>标志)、R900B(=标志)和R900C(<标志)的状态,其中S2和S3为同类型的操作数,并且S2≤S3。
表3-54 R900A~R900C的状态
编程时,对于该指令应该使用同样的触发信号,若采用R9010来作为该指令的触发信号,则R9010可省略。注意比较特殊数据不能使用该指令。
4.F63(DWIN)
该指令为32位数据块比较指令,其功能是将S1指定的32位数据与S2和S3指定的数据块相比较,以检查S1是在数据块下限S2和上限S3之间,还是大于S3或小于S2,比较的结果存储在R900A、R900B和R900C中,指令格式及操作数范围如表3-55所示。
表3-55 指令格式及操作数范围
表3-55中,当触发信号使X0接通时,(DT1,DT0)中的数据与(DT3,DT2)中的数据(数据块的下限)和(DT5,DT4)中的数据(数据块的上限)进行比较,比较的结果存储在R900A、R900B和900C中。当(DT1,DT0)>(DT5,DT4)时,R900A接通,Y0保持接通;当(DT3,DT2)≤(DT1,DT0)≤(DT5,DT4)时,R900B接通,Y1保持接通;(DT1,DT0)<(DT3,DT2)时,R900C接通,Y2保持接通。
表3-56给出了R900A、R900B和R900C的状态,其中S2和S3为同类型的操作数,且S2≤S3。
表3-56 R900A~R900C的状态
5.F64(BCMP)
该指令为数据块的比较指令,其功能是根据S1的设定,将S2指定的数据块中的数据与S3指定的数据块中的数据进行比较,指令格式及操作数范围如表3-57所示。
表3-57 指令格式及操作数范围
当S2=S3时,R900B接通。S1用来指定S2和S3的起始字节地址和要比较的字节数,设定如图3-42所示。
在编程时,当使用R900B作为指令的标志时,标志一定要紧跟在该指令后,并要使用相同的触发信号,如表3-57所示。若DT0=H0104,当触发信号X0接通时,比较DT10(从DT10的高字节开始的4个字节)与DT20(从DT20的低字节开始的4个字节)的数据块,当两个数据块内容相同时,内部继电器R0接通。
FP1系列PLC中的C14型和C16型PLC不支持本条指令,其余的C24型、C40型、C56型和C72型都支持,这是需要注意的。
图3-42 S1的设定格式
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。