Enums Beckhoff PLC使用ENUM';有什么问题吗
当我在C#中的switch语句中使用enum时,我会将debug break语句添加到默认情况中,以防止向enum添加开关未覆盖的项。在调试过程中,如果遇到默认情况,代码将中断Enums Beckhoff PLC使用ENUM';有什么问题吗,enums,plc,Enums,Plc,当我在C#中的switch语句中使用enum时,我会将debug break语句添加到默认情况中,以防止向enum添加开关未覆盖的项。在调试过程中,如果遇到默认情况,代码将中断 现在我正在编程一个beckhoff PLC,并希望在一个案例中也这样做。。除此之外…STL中的结束案例。这在PLC编程中是可能的和/或正常的吗?我认为你不能。此外,停止PLC程序并阻止其执行与机器相关的代码也是不可取的 相反,您可以使用ADSLOGSTR函数来记录事件记录器。或者显示一个消息框。这将在TC2和TC3中都起
现在我正在编程一个beckhoff PLC,并希望在一个案例中也这样做。。除此之外…STL中的结束案例。这在PLC编程中是可能的和/或正常的吗?我认为你不能。此外,停止PLC程序并阻止其执行与机器相关的代码也是不可取的
相反,您可以使用ADSLOGSTR函数来记录事件记录器。或者显示一个消息框。这将在TC2和TC3中都起作用。您可以在联机模式下设置断点,但正如pboedker指出的,一旦达到断点(除非您有特殊配置,但这是另一个主题),您的ethercat主机将超时,您的安全模块将产生com错误,您的驱动器也需要重置 如果您的项目中没有真正的硬件和ethercat主机,您可以毫无顾虑地使用断点 我个人采取另一种方法 我总是在plc中构建一个单独的调试可视化,并使用一个特殊的调试功能块来帮助我跟踪项目中的错误 例如,在您的例子中,当程序流达到默认情况时,我只需使用错误代码和字符串调用调试函数块的一个特殊方法。 错误代码和字符串将在调试可视化中可视化 即使这比简单地调用adslogstr要费劲一点,我还是希望实现一个单独的调试功能块,原因有三:
正如菲利波所说,断点是可能的。通过设置keepoutpsonbp,可以防止在断点期间重置输出(请参见:) 您还可以使用
ADSLOGSTR
(请参见此:)将错误/警告/注释消息设置到Visual Studio。因此,添加一个带有适当消息的ADSLOGSTR
调用到您的CASE ELSE
,您将在错误列表/TwinCAT控制台中看到它
编辑:不知怎么错过了pboedkers的答案,他已经回答了ADSLOGSTR。我喜欢Filippo的解决方案。将来可以很容易地更改调试函数的行为,而无需过多地接触代码 我在C#解决方案中考虑了很多:)
谢谢! KeepOutputsOnBP是一个很好的提示,但我相信安全模块无论如何都会产生一个错误,从而将整个机器设置为错误状态。可能是,没有与安全逻辑一起使用。只有正常且没有问题。Hey Twan,“要将答案标记为已接受,请单击答案旁边的复选标记,将其从灰色变为已填写。”