调用 Siemens WinAC ODK Open() 时出现错误代码 2

Error code 2 when calling Siemens WinAC ODK Open()

Windows/system 更新后,我的执行器控制应用程序(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)。

我看过西门子论坛,运气不佳。

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

错误现已修复。

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

卸载补丁后,系统恢复正常

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