codesys怎么激活EN和ENO属性?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了codesys怎么激活EN和ENO属性?相关的知识,希望对你有一定的参考价值。
参考技术A EN/ENO实际上相当于C中的BOOL类型的函数的RETURN语句,只不过在PLC中的使能更强一点。为照顾初学者,我在这里简单阐述一下使能含义:在PLC中的函数能够运行前提是激活函数,使能就是让函数激活。
注
激活EN/ENO 机制后,运行数学函数等每个 SCL 指令,都必须查询使能输出 ENO。这会大大
加大PLC运行程序的计算负担,
因此笔者建议在进行程序调试过程时建议全局打开EN/ENO 机制,如果需要在个别程序块中使用,只需要单独激活机制即可。在调试完成以后,应用到生产实际中时,可以关闭改机制。
需要特说说明的是,在SCL中即使不激活EN/ENO 机制也可以使用ENO变量。
1. EN/ENO 机制的优点与基本作用:
使用使能输出 ENO,可检测和处理某些运行系统错误。后续指令的执行取决于该使能输出的信号状态。使用 EN/ENO 机制可避免程序崩溃。块状态将以布尔型变量的形式进行传递。
简言之,EN为false可以禁止函数块的使用,ENO为false可以禁止后续块的调用。
如下图:当使能为1时,后续块能够被调用;

当使能为0时,后续块不能够被调用;

其中,使能块的代码如下:
IF #输入=0 THEN
// 当输入为0时取消后续块的使能
ENO:=FALSE;
END_IF;
1
2
3
4
1
2
3
4
2. EN/ENO机制的激活使用
单程序块激活使用,如下图右击程序块,点击属性

勾选自动置位EN/ENO

全局激活使用,如下图,在设置栏选择选项,点击设置

按下图所示勾选即可

3. EN/ENO机制的主要使用
在程序运行过程中,EN/ENO 机制将检查某些指令的执行是否出错。运行时如果发生错误,则 ENO 块将置位为“0”。这在调试程序过程中,会显示出强大的运作能力。
以官方的除法为例:
使能块的程序如下:
没有激活EN/ENO机制时可以看到,除数为0显然这个计算过程是错误的,但是ENO依旧使能为1,后续块函数依旧被激活

激活EN/ENO机制以后可以看到,除数为0这个计算过程是错误的,ENO使能为0,后续块函数没有被激活

以上是关于codesys怎么激活EN和ENO属性?的主要内容,如果未能解决你的问题,请参考以下文章