【问题标题】:TwinCAT 3 console message displayTwinCAT 3 控制台消息显示
【发布时间】:2020-12-26 16:45:50
【问题描述】:

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

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

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

【问题讨论】:

    标签: embedded plc twincat ethercat


    【解决方案1】:

    没有看到完整的例子,我们都必须猜测哪里出了问题。

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

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

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

    【讨论】:

    • 感谢@Jakob 我尝试了 if 条件,以便它只能运行一次,并且工作正常(y)。但在我的场景中,我希望在每个周期更新后看到特定消息。为此,请您帮忙。
    猜你喜欢
    • 2015-05-03
    • 2022-07-18
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多