【问题标题】:How to startup / shutdown TwinCAT System from console / C# program?如何从控制台/C# 程序启动/关闭 TwinCAT 系统?
【发布时间】:2020-10-19 05:59:21
【问题描述】:

如何从控制台或 C# 应用程序启动/重新启动/关闭 TwinCAT 系统运行时?我需要一个与右下角的 TwinCAT 工具栏按钮 System Start/Restart 等效的功能。 谢谢。

【问题讨论】:

    标签: c# twincat


    【解决方案1】:

    这可以使用 C# .net ADS 库来完成。要在 Config 和 Run 之间更改 TwinCAT 运行时,请连接到 System Service ADS 端口(端口 10000)并将状态设置为 AdsState.RunAdsState.Config

    所有有效的状态值都可以在here 中找到。所有端口值都可以在here找到。

    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();
            }
        }
    

    【讨论】:

      【解决方案2】:

      您可以使用TwinCAT automation interfacelinking the automation interface DLL 可以从 C#/.NET 程序访问它。

      具体来说,要启动/重新启动 TwinCAT,您使用 ITcSysManager::StartRestartTwinCAT - 方法

      【讨论】:

      • 谢谢,我已经链接了自动化接口 DLL,但是当我实例化 systemManager = new TcSysManager(); 时,如 TwnCAT 文档中所示,它会抛出一个运行时错误 missing method exception: no constructor without parameters为对象定义。但是我既不能放置带参数的构造函数,因为它说它不存在并给我一个编译错误。
      【解决方案3】:

      TcXaeMgmt 需要安装到 PS v4.0+ https://www.powershellgallery.com/packages/TcXaeMgmt/3.2.21

      比在 Powershell 类型中: 设置 AdsState 停止 或者 Set-AdsState 开始

      这里的详细信息: https://infosys.beckhoff.com/english.php?content=../content/1033/tc3_ads_ps_tcxaemgmt/4130762891.html&id=4912948515382920501

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-06-22
        • 2021-08-09
        • 1970-01-01
        • 2011-10-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多