Как запустить / выключить TwinCAT System из консоли / программы C#?
Как я могу запустить / перезапустить / завершить работу системы TwinCAT из консоли или приложения C#? Мне нужна функциональность, эквивалентная кнопкам панели инструментов TwinCAT Система запуска / перезагрузки в правом нижнем углу. Благодарю.
2 ответа
Этого можно достичь с помощью библиотеки ADS C# .net. Чтобы изменить время выполнения 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();
}
}
Вы можете использовать интерфейс автоматизации TwinCAT, доступ к которому можно получить, связав DLL интерфейса автоматизации из C#/.NET-программы.
В частности, для запуска / перезапуска TwinCAT вы используете ITcSysManager:: StartRestartTwinCAT - метод
TcXaeMgmt необходимо установить на PS v4.0+https://www.powershellgallery.com/packages/TcXaeMgmt/3.2.21
Чем в Powershell введите: Set-AdsState Stop или Set-AdsState Start
Подробности здесь:https://infosys.beckhoff.com/english.php?content=../content/1033/tc3_ads_ps_tcxaemgmt/4130762891.html&id=4912948515382920501