Код ошибки 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

Другие вопросы по тегам