作者 | 主题 |
---|---|
耀眼光芒 侠圣 经验值:2331 发帖数:382 精华帖:3 |
楼主 2021-10-24 18:29:44
主题:SCL如何获取系统功能块的ENO状态? 如VAL_STRG SCL用的挺多的,比STL可维护性好很多, 今天遇到VAL_STRG 这个功能块,需要获取ENO状态,用来判断是否转换成功。 如果LAD和FBD应该是一个管脚,如果是STL则是BR位(太长时间不用,都不熟悉了) 请问SCL是否有类似的检测方法? 如果不行就得封装一下了。 调试VAL_STRG 这个块的管脚,TIA 15.1 总是奔溃 比较无语...... 谢谢大家!
工艺第一&
我所说的一切均代表个人意见
|
Zane 版主 经验值:76197 发帖数:19330 精华帖:377 |
7楼 2021-11-07 18:22:05
主题:回复:SCL如何获取系统功能块的ENO状态? 如VAL_STRG EN/ENO是指一种编程机制,使用使能输出 ENO,可检测和处理某些运行系统错误。后续指令的执行取决于该使能输出的信号状态。使用 EN/ENO 机制可避免程序崩溃。块状态将以布尔型变量的形式进行传递。因此,EN/ENO机制并不是梯形图独有的,LAD/FBD/STL/SCL/GRAPH 都支持EN/ENO机制。 EN/ENO 机制可用于以下两个方面: 1)单个指令的调用 2)程序块的调用 关于SCL的 EN/ENO机制: 在 SCL 程序段中,可以通过赋值来改变 ENO。为此,请写入“ENO:=TRUE”或“ENO:=FALSE”,或使用 BOOL 数据类型的变量。当激活“自动置位 ENO”(Set ENO automatically) 块属性时,编译器会添加程序代码来计算 ENO,类似于编程语言 LAD 和 FBD。添加的程序代码会增加运行时间,因此默认情况下禁用“自动置位 ENO”(Set ENO automatically) 属性。 在 SCL 程序段中,无法为 FC 的 EN 参数赋值。但是可以在条件语句中调用 FC,这意味着需要将其置于“IF”指令中。这意味着块调用不会执行,也不会改变 ENO。此行为与编程语言 LAD和 FBD 中的行为不同。
Zane
注册自动化系统工程师
Always save before download
|