TwinCAT 3 控制台消息显示

TwinCAT 3 console message display

ADSLOGSTR(msgCtrlMask := ADSLOG_MSGTYPE_LOG, msgFmtStr := 'OSIO: %s', strArg := 'Autostrsys');

我在 TwinCAT 3 中使用这个函数,但是当我 运行 我的代码因为 ADSLOGSTR 函数而被挂起。如果我对此发表评论,那么它工作正常,但在那种情况下我无法看到消息。

为什么系统因为这个消息显示功能(ADSLOGSTR)而挂起?

没有看到完整的例子,大家只能猜猜是什么问题了。

我的猜测是您在每个周期都调用该函数。您需要确保只调用一次,如下所示:

IF NOT bAdsLogStrBeenCalled THEN
    ADSLOGSTR(...);
    bAdsLogStrBeenCalled := TRUE;
END_IF

供日后参考: https://whosebug.com/help/how-to-ask