利用PYTHON调用INCA(在INCA7.0和7.2已实现)

1.背景介绍

INCA作为汽车电子行业的软件,拥有广泛的客户基础,随这自动化测试的普及,对INCA的自动化操作已经是自动测试软件不可缺少的一部分。ETAS在INCA安装时开放了INCA的COM接口和对应说明文档,因此我们可以基于此进行INCA的二次开发

2.软件准备

2.1 安装PYTHON和INCA

首先确保安装了INCA和python软件,目前inca7.0-7.2的接口都是32位的,所以需要安装32位的python

2.2 安装PYTHON的pythonnet库

pip install pythonnet

3.代码实现(以INCA7.2+Python3.8 32bit为例)

首先,导入clr库

import clr

安装INCA时,在C:\ETAS\INCA\cebra路径下包含了相关接口信息:

利用PYTHON调用INCA(在INCA7.0和7.2已实现)_第1张图片

我们接着导入所需的dll,INCA7.0不需要Etas.Base.ComSupport.dll

clr.AddReference('incacom')
clr.AddReference('Etas.Base.ComSupport') 

 在接口文档中我们可以看到相关的命名空间和函数,导入命名空间

import de.etas.cebra.toolAPI.Inca as API

初始化INCA对象,建立与INCA的连接。

m_Inca=API.Inca()

我们可以进行调试,输出对应的INCA版本,这里我们建立了PYTHON对INCA的调用关系了。后续就可以根据接口文档开发目标功能了。

print("版本"+m_Inca.APIVersion())

4.示例:获取变量数值

以调用某个观测量的数值为例:

首先初始化一个实验对象,这个语句会建立和当前打开的实验窗口的联系:

m_Experiment=m_Inca.GetOpenedExperiment()

然后建立数据对象:

m_measure = m_Experiment.GetCalibrationElement("DEMO_CONSTANT_1")

输出数据对应的数值属性,这样就能打印出某个变量的数值了:

print(m_measure.GetValue().GetDoublePhysValue())

你可能感兴趣的:(python)