【问题标题】:How to start TwinCAT with Pyads如何使用 Pyads 启动 TwinCAT
【发布时间】:2022-12-06 23:42:41
【问题描述】:

我正在尝试通过 Python Pyads 包装器来控制我的 Beckhoff 设备。

如果 TwinCAT 在我的目标设备上处于 Config 模式,是否可以使用 Python 命令启动它?

【问题讨论】:

    标签: python twincat twincat-ads


    【解决方案1】:

    是的,可以使用 Python 命令在 Beckhoff 设备上启动 TwinCAT。但是,具体使用 Pyads 包装器是否可行取决于该包装器的功能。也有可能 TwinCAT 根本无法通过 Python 命令以 Config 模式启动,在这种情况下,您需要使用不同的方法在目标设备上以 Config 模式启动 TwinCAT。

    请务必记住,TwinCAT 是一种专有软件,因此仅支持某些方法和库与其交互。

    【讨论】:

    • 谢谢,可以启动TwinCAT的Pyads命令是什么?
    【解决方案2】:

    我认为 pyads 不可能做到这一点。使用 TwinCAT 自动化接口可以做到这一点。参见示例代码from InfoSys

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using EnvDTE100;
    using System.IO;
    using TCatSysManagerLib;
    
    namespace ActivatePreviousConfiguration
    {
        class Program
        {
            static void Main(string[] args)
            {
                Type t = System.Type.GetTypeFromProgID("VisualStudio.DTE.10.0");
                EnvDTE.DTE dte = (EnvDTE.DTE)System.Activator.CreateInstance(t);
                dte.SuppressUI = false;
                dte.MainWindow.Visible = true;
    
                EnvDTE.Solution sol = dte.Solution;
                sol.Open(@"C:TempSolutionFolderMySolution1MySolution1.sln");
    
                EnvDTE.Project pro = sol.Projects.Item(1);
    
                ITcSysManager sysMan = pro.Object;
    
                sysMan.ActivateConfiguration();
                sysMan.StartRestartTwinCAT();
            }
        }
    } 
    

    然后你可以使用 PythonNET 从 Python 调用这个程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-12
      • 2022-10-04
      • 1970-01-01
      相关资源
      最近更新 更多