Как я могу запустить / перезапустить / выключить среду выполнения TwinCAT System с консоли или приложения C #? Мне нужна функциональность, эквивалентная кнопкам панели инструментов TwinCAT System Start / Restart в правом нижнем углу. Спасибо.

0
Beorne 7 Янв 2019 в 18:44

2 ответа

Лучший ответ

Это может быть выполнено с помощью библиотеки C # .net ADS. Чтобы изменить время выполнения TwinCAT между Config и Run, подключитесь к ADS-порту системной службы (порт 10000) и установите состояние на AdsState.Run или AdsState.Config.

Все допустимые значения состояния можно найти здесь. Все значения портов можно найти здесь.

static void Main(string[] args)
    {
        //Create a new instance of class TcAdsClient
        TcAdsClient tcClient = new TcAdsClient();

        try
        {
            // Connect to TwinCAT System Service port 10000
            tcClient.Connect(AmsPort.SystemService);
            // Send desired state
            tcClient.WriteControl(new StateInfo(AdsState.Config, tcClient.ReadState().DeviceState));

        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
            Console.ReadKey();
        }
        finally
        {
            tcClient.Dispose();
        }
    }
1
Seth 20 Янв 2019 в 20:14

Вы можете использовать TwinCAT интерфейс автоматизации, доступный через связывание библиотеки DLL интерфейса автоматизации из программы C # /. NET.

В частности, для запуска / перезапуска TwinCAT вы используете ITcSysManager :: StartRestartTwinCAT - метод

2
Jakob 7 Янв 2019 в 17:35