在Windows/system更新后,我的用于执行器控制的应用程序(在Win7上运行的.NET 4.7.1 )不再工作。我在SMX模式下使用西门子Festo ODK4.2来控制连接到WinAC执行器的可编程控制器。
我现在在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)。
我看过西门子的论坛,但运气不是很好。
这个错误意味着什么,我该如何修复它?
发布于 2019-03-05 16:20:03
错误现在已修复。
它是由几个与Meltdown/Spectre相关的Windows Update补丁引起的。这些补丁与RTX 2009不兼容,导致其停止工作。
卸载补丁程序后,系统再次正常工作。
https://confluence.merging.com/pages/viewpage.action?pageId=25035234
https://stackoverflow.com/questions/54886053
复制相似问题