有没有办法使用结构化文本打印输出到控制台,例如 VB.NET 中的 debug.print() ? (双猫3)
您可以通过 TwinCAT 代码通过 ADS 命令发送消息。该函数称为ADSLOGSTR https://infosys.beckhoff.com/content/1033/tcplclib_tc2_system/31033611.html?id=9189897725322916238。还有自己的 DINT 和 REAL 函数,但 STRING 函数当然可以与任何东西一起使用。
该函数有三个输入:
- 消息控制掩码
- 描述消息类型的掩码
- 可以找到类型
- 例如,要显示警告消息并将其保存到 Windows 日志:
msgCtrlMask := ADSLOG_MSGTYPE_WARN OR ADSLOG_MSGTYPE_LOG
- 仅显示 Windows MessageBox:
msgCtrlMask := ADSLOG_MSGTYPE_MSGBOX
- msgFmtStr
- 消息显示为 STRING
- A
%s
可用于在没有 CONCAT 函数的情况下添加参数。请参阅最后一个参数。
- strArg
- 一个 STRING 取代了
%s
在前一个字符串中。
这是一个可能是您所需要的示例:
IF test THEN
ADSLOGSTR(
msgCtrlMask := ADSLOG_MSGTYPE_HINT,
msgFmtStr := 'Test message. Parameter is %s',
strArg := 'ABC'
);
test := false;
END_IF
当您将测试设置为 true 并调用该函数时,您将在 Visual Studio 错误列表中看到此内容。请注意,它不会写入控制台。
我经常使用错误消息(ADSLOG_MSGTYPE_ERROR
)因为我经常隐藏注释和警告,并且我不会注意到我自己的条目。如果您想记录一些内容以便稍后查看,其他好方法是将条目添加到 Windows 日志中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)