当子命令已经被执行时为什么输出缓冲区没有被写入?

描述:
由于负责写入指定的 S7 变量的 WinAC RTX 代理等待着从子命令返回来的“ODK_SUCCESS”返回值(与 WinAC Basis 版本不同)。如果返回值为“0”,输出缓冲区会被写入(见 C++ 例程)。对于其它所有返回值的写操作将不被执行。

补救措施:
通过检查 S7 程序中的 SFB65002 (EXEC_COM) 的状态值就可以确定当前值是否写入到输出缓冲区。下表描述了三种在 STEP 7 和 C++ 程序中评估状态值的方法。

序号 步骤
1 在 STEP 7 STL 编辑器中读出状态值:

当子命令已经被执行时为什么输出缓冲区没有被写入?
图 01

2在 STEP 7FBD 编辑器中读出状态值:

当子命令已经被执行时为什么输出缓冲区没有被写入?
图 02

3在 C++ 程序语言中评估状态值:

当子命令已经被执行时为什么输出缓冲区没有被写入?
图 03

关键词:
WinAC RTX (Windows Automation Center Real-time Extension, ODK (Open Development Kit)

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc336837.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论