![欧姆龙CP1系列PLC原理与应用](https://wfqqreader-1252317822.image.myqcloud.com/cover/976/655976/b_655976.jpg)
3.3 顺序输入/输出指令及指令的形式
3.3.1 顺序输入/输出指令
1.位测试TST指令、位测试非TSTN指令
表3.4列出了位测试指令的格式/名称、梯形图符号、操作数的范围及含义、指令功能及执行指令对标志位的影响。
表3.4 位测试指令
位测试(非)指令使用的场合不同时,分别变成不同类型的位测试(非)指令。与左母线相连时为LD型位测试(非)指令,其功能与LD(NOT)指令相同;与其他程序段串联时为AND型位测试(非)指令,其功能与AND(NOT)指令相同;与其他程序段并联时为OR型位测试(非)指令,其功能与OR(NOT)指令相同。可见,位测试指令与相应的非位测试指令功能一样,例LD TST(350)指令与LD指令功能一样。下面分别给出指令的应用示例。
与LD指令等价的TST(350)指令的应用示例如图3.12所示。
![](https://epubservercos.yuewen.com/279E15/3590312004950101/epubprivate/OEBPS/Images/Figure-0044-5008.jpg?sign=1738885488-tLFx6V7J2IJJkOmdwrDQlhJoq99YB43t-0-e7a06c5a307ed38621bf84661d05cbf5)
图3.12 LD型位测试指令TST(350)应用示例
与LD NOT指令等价的TSTN(351)指令的应用示例如图3.13所示。
![](https://epubservercos.yuewen.com/279E15/3590312004950101/epubprivate/OEBPS/Images/Figure-0044-5011.jpg?sign=1738885488-bBoXlMvNgwO3LMuuGeQEvNHGeBMv2EKJ-0-0c563f9bf7a886d81e74bc2a36e5e441)
图3.13 LD型位测试非指令TSTN(351)应用示例
与AND指令等价的TST(350)指令的应用示例如图3.14所示。
![](https://epubservercos.yuewen.com/279E15/3590312004950101/epubprivate/OEBPS/Images/Figure-0045-5021.jpg?sign=1738885488-Xk3nojpWjZFUXXTwhTCAdLCGt52jmk5q-0-0ec1e638f36557d8fd222083ef75318a)
图3.14 AND型位测试指令TST(350)应用示例
与AND NOT指令等价的TSTN(351)指令的应用示例如图3.15所示。
![](https://epubservercos.yuewen.com/279E15/3590312004950101/epubprivate/OEBPS/Images/Figure-0045-5025.jpg?sign=1738885488-4n72bLddcV51d6p0Biyt7K09lLwb0YBl-0-a1bcdb24d0426ded4e3b93cea6a608b4)
图3.15 AND型位测试非指令TSTN(351)应用示例
与OR指令等价的TST(350)指令的应用示例如图3.16所示。
![](https://epubservercos.yuewen.com/279E15/3590312004950101/epubprivate/OEBPS/Images/Figure-0045-5029.jpg?sign=1738885488-XY1eNOAXI2hAq3O6NagI2bMGtuuo3O9r-0-9b3e9cd443abc874c2562459023d5cf9)
图3.16 OR型位测试指令TST(350)应用示例
与OR NOT指令等价的TSTN(351)指令的应用示例如图3.17所示。
![](https://epubservercos.yuewen.com/279E15/3590312004950101/epubprivate/OEBPS/Images/Figure-0045-5033.jpg?sign=1738885488-BmlucLlH8q4wmwHC0vXc5zGPsL22ZcCk-0-2ed4f807dd0592021185105ca0b2b101)
图3.17 OR型位测试非指令TSTN(351)应用示例
2.非指令NOT
将输入条件取反,连接到下一段,如图3.18所示。
![](https://epubservercos.yuewen.com/279E15/3590312004950101/epubprivate/OEBPS/Images/Figure-0045-5037.jpg?sign=1738885488-zeeUjtVahy2QPjoS3pKi6TTAnF3pbVuV-0-61ce06e6e875781cafe1cc73f83da104)
图3.18 NOT指令示例
当0.01为OFF,经过NOT反向100.01为ON;当0.01为ON,经过NOT反向100.01为OFF。
3.置位SET和复位RSET指令
表3.5是这两个指令的格式/名称、梯形图符号、操作数的范围及含义、指令功能及执行指令对标志位的影响。
表3.5 SET和RSET指令
SET和RSET指令常成对使用,一般用SET指令将某继电器置为ON,再用RSET指令将其置为OFF。也可以单独用RSET指令将已为ON的继电器置为OFF。
SET、RSET指令的执行条件常使用短信号(脉冲信号)。这两条指令的语句之间可以插入别的指令语句。
图3.19是使用这两个指令的例子,图中,0.00是SET指令的执行条件,当0.00为ON时,W0.00被置为ON并保持,即使0.00又变为OFF;0.03是RSET指令的执行条件,当0.03为ON时,W0.00被置为OFF并保持,即使0.03又变为OFF。图3.19(b)是它们的工作波形。当SET、RSET指令的操作数是保持继电器HR时具有掉电保持功能。
![](https://epubservercos.yuewen.com/279E15/3590312004950101/epubprivate/OEBPS/Images/Figure-0046-5107.jpg?sign=1738885488-RSdHC6JMjLp4lvPdRLVgTG7RgboElsD2-0-70bfcb1fedbbb436f2e2292d6dc6d0ec)
图3.19 使用SET和RESET指令的例子
4.其他置位和复位指令
表3.6是其他置位/复位指令的格式/名称、梯形图符号、操作数范围及含义、指令的功能及执行指令对标志位的影响,包括多位和1位置位/复位指令。具体用法参见相关手册,本书不再赘述。
表3.6 其他置位/复位指令
5.保持指令KEEP
表3.7是KEEP指令的格式/名称、梯形图符号、操作数的范围及含义、指令功能及执行指令对标志位的影响。
表3.7 KEEP指令
图3.20是使用KEEP指令的例子,请注意用该指令编程时语句表的写法。
![](https://epubservercos.yuewen.com/279E15/3590312004950101/epubprivate/OEBPS/Images/Figure-0047-5309.jpg?sign=1738885488-UN4rYVFdZAKKIvd5PjmCKjsZmg3W8pj7-0-b60baa5c26689a4cc530dfb8da77069c)
图3.20 使用KEEP指令的例子
在图3.20中,0.02是置位端的输入条件,0.03是复位端的输入条件。当0.02由OFF变为ON时,W0.00被置为ON并保持,即使0.02又变为OFF;当0.03由OFF变为ON时,W0.00被复位为OFF并保持,即使0.03又变为OFF。
比较图3.19(b)和图3.20(b)的波形可看出,两个程序对W0.00都具有启、保、停控制功能。图3.21也是实现启、保、停控制的程序。三个图的功能相同,但它们的区别在于,用KEEP指令编程时,要用3条语句,当使用保持继电器HR作输出时,具有掉电保持的功能;用SET和RSET指令编程时,要用4条语句,但SET和RSET指令语句之间可插入别的指令,使用比较灵活。当SET指令的操作数是保持继电器HR时具有掉电保持功能;对于图3.21,编程时需要4条语句,用OUT指令输出时无掉电保持功能。
![](https://epubservercos.yuewen.com/279E15/3590312004950101/epubprivate/OEBPS/Images/Figure-0047-5315.jpg?sign=1738885488-KDyGUDmehgBDlH2GWu26CP7nIKIrMs8G-0-018963d9621159b835b44592f4f8118a)
图3.21 启、保、停控制程序
6.上升沿微分DIFU、下降沿微分DIFD、条件上升沿微分UP、条件下降沿微分DOWN指令
表3.8是微分类指令的格式/名称、梯形图符号、操作数的范围及含义、指令功能及执行指令对标志位的影响。
表3.8 微分类指令
使用DIFU和DIFD指令时要注意:
在第n次扫描时检测到输入条件为OFF、第n+1次扫描检测到输入条件为ON时,DIFU指令才会被执行。因此对于开机时就ON的执行条件,DIFU指令不执行。同样对于开机时就OFF的执行条件,DIFD指令也不执行。
图3.22使用了DIFU和DIFD指令,图中TS 是扫描周期。在图3.22中,0.00是DIFU和DIFD指令的执行条件。从0.00由OFF变为ON开始,100.00只ON一个扫描周期;从0.00由ON变为OFF开始,100.01只ON一个扫描周期。
![](https://epubservercos.yuewen.com/279E15/3590312004950101/epubprivate/OEBPS/Images/Figure-0048-5417.jpg?sign=1738885488-aeCgZ5Sz6ndEdAb4TsumG4Oj7KhOhW4y-0-448d2d4dab767ddf0bfc2686e641fe55)
图3.22 DIFU和DIFD指令应用示例
DIFU和DIFD指令常用在下面的几种场合:
①利用DIFU和DIFD指令的操作位作为某指令的执行条件,使某条指令只在DIFU的执行条件由OFF变为ON、或DIFD的执行条件由ON变为OFF时执行一次。
②利用DIFU和DIFD指令产生脉冲信号。
上例中,当0.00闭合时,其上升沿使100.00闭合一个扫描周期,而后断开;当0.00断开时,其下降沿使100.01闭合一个扫描周期,而后断开;DIFU和DIFD可分别由条件上升沿微分指令UP(521)和条件下降沿微分指令DOWN(522)替代,功能完全相同,见下面的例子。
UP和DOWN指令应用示例如图3.23所示。
![](https://epubservercos.yuewen.com/279E15/3590312004950101/epubprivate/OEBPS/Images/Figure-0048-5421.jpg?sign=1738885488-2uGlx1tmKsLMceDwIezYN3wLxdIgPCny-0-0b8bbd7b1097d8c334efb83ddc0394c1)
图3.23 UP和DOWN指令应用示例
3.3.2 指令的微分/非微分形式和即时刷新形式
1.指令的微分/非微分形式
指令分为微分型和非微分型两种形式,CP1H系列PLC的应用指令多数兼有这两种形式。微分型指令要在其助记符前加标记@(上升沿微分)或%(下降沿微分)。两种指令的区别是:对非微分型指令,只要其执行条件为ON,则每个扫描周期都将执行该指令;上升沿微分型指令(指令前带“@”)仅在其执行条件由OFF变为ON时才执行一次,如果执行条件不发生变化,或者从上一个扫描周期的ON变为OFF,该指令不执行;下降沿微分型指令(指令前带“%”)仅在其执行条件由ON变为时OFF才执行一次。如果执行条件不发生变化,或者从上一个扫描周期的OFF变为ON,该指令都不执行。
CP1H系列PLC只有少数几条指令可以附加下降沿微分型(指令前带%)功能,如LD、AND、OR、SET、RSET。若其他指令需要仅在执行条件的下降沿执行时,要将执行条件与DIFD或DOWN指令组合使用。
2.指令的即时刷新形式
指令的即时刷新形式是指在指令的助记符前加标记“!”,它的含义是CPU在当前的扫描周期,执行指令的前后,分别立即刷新PLC的输入和输出,而不是周期性刷新。
指令的微分形式和即时刷新形式两种功能可以组合使用。微分型与即时刷新型指令的指令名称、助记符、功能及刷新模式见表3.9。
表3.9 微分型与即时刷新型指令
注:1.即时刷新型指令仅适应于CPU单元内置的输入/输出点,不能用于CP1W或CPM1A系列的扩展I/O单元;
2.很多指令都有上升沿微分功能,但只有表中所列的指令具有下降沿微分型功能;
3.除表中所列的即时刷新型指令,还有下列指令具有即时刷新功能:!KEEP、!DIFU、!DIFD、!CMP、!MOV、!CPS、!SETB、!RSTB、!OUTB。