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

时间:2019-02-26 12:55:17

标签: .net interop siemens

在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)。

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

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

1 个答案:

答案 0 :(得分:0)

该错误现已修复。

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

卸载补丁程序后,系统重新运行。

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