Код ошибки 2 при вызове Siemens WinAC ODK Open()
После обновления Windows/ системы мое приложение (.NET 4.7.1 на Win 7) для управления приводом больше не работает. Я использую Siemens WinAC ODK 4.2 в режиме SMX для управления ПЛК, подключенным к приводам Festo.
Теперь я получаю код ошибки 2 при вызове S7SMX_Open() (через взаимодействие) в S7smxx.dll. Этот код ошибки определен как "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).
Я посмотрел на форумах Siemens без особой удачи.
Что означает ошибка и как ее исправить?
0 ответов
Ошибка исправлена.
Это было вызвано несколькими обновлениями Windows Update, связанными с Meltdown/Spectre. Эти патчи несовместимы с RTX 2009, из-за чего он перестает работать.
После удаления патчей система снова работает.
https://confluence.merging.com/pages/viewpage.action?pageId=25035234