TwinCAT 3控制台消息显示

问题描述

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

我正在TwinCAT 3中使用此函数,但是当我运行我的代码时,由于ADSLOGSTR函数,它被挂起了。如果我对此发表评论,那么它工作正常,但在那种情况下,我看不到任何消息。

为什么由于此消息显示功能(ADSLOGSTR)而导致系统挂起?

解决方法

在没有看到完整示例的情况下,我们都必须猜测出什么问题了。

我的猜测是您在每个周期都调用该函数。您需要确保只调用一次,就像这样:

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

供将来参考: https://stackoverflow.com/help/how-to-ask