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路径下包含了相关接口信息:
我们接着导入所需的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())