下面介绍在Microsoft Visual Studio中调试TIA 插件。
附加到TIA插件进程
每次要调试TIA插件时,请重复以下步骤:
准备
- 创建 TIA 插件 (*.addin)。
- 将TIA插件复制到TIA门户安装的“Addins”文件夹中(例如: C:\Program Files\Siemens\Automation\Portal V16\AddIns)。
- 在“加载项”任务卡中启用TIA插件。
启动TIA插件
在TIA Portal中:
- 打开用于创建的TIA 插件的元素的属性菜单(1)。
- 将鼠标移到创建的菜单项上(2)。在这种方式下TIA 插件被加载到一个单独的进程中。
图. 1: 加载TIA 插件
连接到TIA插件进程
在Microsoft Visual Studio中:
- 在TIA插件(1)的代码中设置断点。
- 在菜单选择 "Debug" → "Attach to Process" (2)。
- 找到 "Siemens.Engineering.AddIn.Loader.x64.exe" 进程 (3) 并点击"Attach" (4)。
在TIA Portal中:
- 运行要测试的关联内容菜单项。
- 程序序列将在Microsoft Visual Studio中定义的断点处暂停。
注意
多个TIA加载项进程可能处于活动状态。禁用所有其他TIA加载项,因为无法确定哪个进程属于您的TIA加载项。
多个TIA加载项进程可能处于活动状态。禁用所有其他TIA加载项,因为无法确定哪个进程属于您的TIA加载项。
图. 2: Start debugging
图. 3: 附加到进程
自动连接
使用 "Debugger.Launch()”方法可以自动附加调试器。对于此方法,TIA插件需要安全权限"System.Security.Permissions.UIPermission" 。必须在发布TIA插件之前删除此方法和权限,否则每次执行时调试器都将附加到Visual Studio。例如,在发布版本中,可以使用编译器语句"#define DEBUG"删除launch方法。
按以下步骤进行调试:
- 在要调试调试器的位置插入行"Debugger.Launch()" 。
- 在 TIA 插件的配置文件中插入如下权限:
- System.Security.Permissions.UIPermission
- System.Security.Permissions.SecurityPermission.UnmanagedCode
- 创建TIA插件并在TIA Portal中启用。
- 执行要测试的TIA插件。
- 在执行TIA插件的过程中,launch方法打开一个窗口来选择项目。
- 选择TIA插件项目。
- 继续在项目中调试。
图 4: 示例
TIA 插件测试器
由于以上述方式调试TIA插件项非常耗时,因此建议使用 TIA Add-In Tester。TIA插件测试器可以在开发过程中测试TIA插件,而无需在TIA Portal中安装和激活它。要测试的TIA插件作为开放性应用程序加载到TIA插件测试器中,连接到TIA门户并执行。 因此,可以直接在外接程序项目中启动调试。