TIA protal与SCL从入门到精通(2)——EN/ENO 机制

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时,后续块能够被调用;
TIA protal与SCL从入门到精通(2)——EN/ENO 机制_第1张图片
当使能为0时,后续块不能够被调用;
TIA protal与SCL从入门到精通(2)——EN/ENO 机制_第2张图片
其中,使能块的代码如下:

IF #输入=0 THEN
    // 当输入为0时取消后续块的使能
    ENO:=FALSE;
END_IF;

2. EN/ENO机制的激活使用

  • 单程序块激活使用,如下图右击程序块,点击属性

TIA protal与SCL从入门到精通(2)——EN/ENO 机制_第3张图片

勾选自动置位EN/ENO

TIA protal与SCL从入门到精通(2)——EN/ENO 机制_第4张图片

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

TIA protal与SCL从入门到精通(2)——EN/ENO 机制_第5张图片
按下图所示勾选即可
TIA protal与SCL从入门到精通(2)——EN/ENO 机制_第6张图片

3. EN/ENO机制的主要使用

在程序运行过程中,EN/ENO 机制将检查某些指令的执行是否出错。运行时如果发生错误,则 ENO 块将置位为“0”。这在调试程序过程中,会显示出强大的运作能力。
以官方的除法为例:
使能块的程序如下:TIA protal与SCL从入门到精通(2)——EN/ENO 机制_第7张图片

没有激活EN/ENO机制时可以看到,除数为0显然这个计算过程是错误的,但是ENO依旧使能为1,后续块函数依旧被激活
TIA protal与SCL从入门到精通(2)——EN/ENO 机制_第8张图片
激活EN/ENO机制以后可以看到,除数为0这个计算过程是错误的,ENO使能为0,后续块函数没有被激活
TIA protal与SCL从入门到精通(2)——EN/ENO 机制_第9张图片

查询使能输出 ENO的基本步骤如下:
激活 EN/ENO 机制。

  1. SCL 指令执行后,查询使能输出 ENO
  2. 如果发生错误(如,结果溢出),则使能输出 ENO 将返回信号状态“0”。基于该信号状态时,指令可继续执行。例如,编程指令“RETURN”、故障显示或替换值。
  3. 执行下一个指令之前,先将使能输出 ENO 的信号状态复位为“1”(如,ENO :=1;)。
  4. 发生下一处错误时,该信号状态因此可复位为“0”。否则,使能输出 ENO 的信号状态将保持为“0”。

注:跳转到一个 SCL 块中时,使能输出 ENO 的信号状态将自动置位为“1”。

你可能感兴趣的:(TIA,portal)