0

在 Windows/系统更新后,我用于执行器控制的应用程序(在 Win 7 上运行的 .NET 4.7.1)不再工作。我在 SMX 模式下使用 Siemens WinAC ODK 4.2 来控制连接到 Festo 执行器的 PLC。

我现在在 S7smxx.dll 中调用 S7SMX_Open()(通过互操作)时得到错误代码 2。该错误代码在我的程序中定义为“S7SMX_ERR_NO_LOCATOR”。

方法声明:

// Open SMX connection
        [DllImport(@"S7smxx.dll", EntryPoint = "?S7SMX_Open@@YAHKPBDPAPAX@Z", CharSet = CharSet.Auto, CallingConvention = CallingConvention.Cdecl)]
        public static extern errorCodes S7SMX_Open(flags dwFlags, [MarshalAs(UnmanagedType.LPStr)] String pDeviceName, out IntPtr phHandle);

程序中的主线程被标记为使用单线程单元(STAThread)。

我看过西门子论坛没有太多运气。

错误是什么意思,我该如何解决?

4

1 回答 1

0

该错误现在已修复。

它是由几个与 Meltdown/Spectre 相关的 Windows 更新补丁引起的。这些补丁与 RTX 2009 不兼容,导致它停止工作。

卸载补丁后,系统再次运行。

https://confluence.merging.com/pages/viewpage.action?pageId=25035234

于 2019-03-05T08:20:02.883 回答