在汽车电子ECU开发与测试中,联合仿真已成为提高测试效率、确保系统稳定性的关键手段。而TSMaster作为汽车电子仿真与测试的综合工具,结合ECUTEST的专业测试能力,能够实现高效的自动化测试。本文将详细介绍TSMasterAPI插件如何导入、核心API接口函数讲解。
本文关键词:TSMasterAPI, ECUTEST, API接口
1. TSMasterAPI 插件
当前 TSMaster 为广大 ecutest 使用用户提供了程控 TSMaster 软件以及硬件接口,在ECUTEST 软件中可以分别查看到对应的接口名称。
程控 TSMaster 上位机 UI 界面来实现 SIL 仿真的接口名为:TSOUN: TSMaster SIL Kit;程控 TOSUN 旗下硬件产品来实现 SIL 仿真的接口名为:TOSUN: Hardware SIL Kit。如下图所示:

1.1 导入 TSMasterAPI
1.1.1 部署插件
TOSUN 官方即将在安装 TSMaster 时,提供 ECUTEST 插件环境,由用户选择是否安装该插件,与安装 C++\Python 环境同样的方式进行勾选安装。

同时如果用户希望在第一时间使用该插件,可以联系 TOSUN 销售或技术同时获取插件包,然后手动放入 ECUTEST 软件中,放置位置如下图所示:

1.1.2 工作区导入插件
用户在创建 ECUTEST workspace 时,勾选“Show workspace settings”->“Copy tutorial files”->下拉框选择“TSMasterAPI”->“OK”,即可在工作区中查看到“TSOUN: TSMaster SIL Kit”与“TSOUN: Hardware SIL Kit”。

1.2 TOSUN: TSMaster SIL Kit
1.2.1 创建 test bench configruation
首先创建“test bench configruation”->“new create new tool host”->”Local”;此时就可以在 tool host 窗口中查看到“TOSUN: TSMaster SIL Kit”。
右键“TOSUN: TSMaster SIL Kit”->“Add tool”->“TSMaster_project_path”中填入 TSMaster 的工程路径,点击保存即可。
(1)创建 “test bench configruation”

(2)“Create new tool host”

(3)“TOSUN: TSMaster SIL Kit”->“Add tool”

(4)“保存”

(5)“启动”

(6)“Connect tool”

(7)接口调用

1.3 TOSUN:Hardware SIL Kit
1.3.1 创建 test bench configruation
首先创建“test bench configruation”->“new create new tool host”->”Local”;此时就可以在 tool host 窗口中查看到“TOSUN: Hardware SIL Kit”。右键“TOSUN: TSMaster SIL Kit”->“Add tool”->“TSMaster_App_Name”中填入 TSMaster 的应用程序名,点击保存即可。
(1)创建 “test bench configruation”

(2)“Create new tool host”

(3)“TOSUN: TSMaster SIL Kit”->“Add tool”

(4)“保存”

(5)“启动”

(6)“Connect tool”

(7)接口调用

2. TSMasterAPI 接口说明
2.1 TOSUN: TSMaster SIL Kit
2.1.1 start_simulation
参数名称 | start_simulation() |
功能介绍 | rpc 客户端启动服务端 TSMaster 仿真 |
调用位置 | 创建 rpc 客户端之后调用 |
输入参数 | 无参 |
返回值 | ==0: 函数执行成功 其他值: 函数执行失败 |
示例 | start_simulation() |
2.1.2 simulation_is_running
参数名称 | simulation_is_running() |
功能介绍 | 返回服务端 TSMaster 是否开启仿真 |
调用位置 | 创建 rpc 客户端之后调用 |
输入参数 | 无参 |
返回值 | ==0: 函数执行成功 其他值: 函数执行失败 |
示例 | ret =simulation_is_running() if ret: print(“已开启仿真”) |
2.1.3 stop_simulation
参数名称 | stop_simulation() |
功能介绍 | rpc 客户端停止服务端 TSMaster 仿真 |
调用位置 | 创建 rpc 客户端之后调用 |
输入参数 | 无参 |
返回值 | ==0: 函数执行成功 其他值: 函数执行失败 |
示例 | stop_simulation() |
2.1.4 get_sysvar_value
参数名称 | get_sysvar_value(SysvarName:str)->(errorcode, double) |
功能介绍 | 获取系统变量值 |
调用位置 | 激活 rpc 客户端之后调用 |
输入参数 | SysvarName: 系统变量名 |
返回值 | ==Ret[0]:错误码, ==0 为成功, 其他失败 Ret[1]:信号值 |
示例 | ret,value = get_sysvar_value(‘Var0’) if ret == 0 and value==100: Print(“ok”) |
2.1.5 set_sysvar_value
参数名称 | get_sysvar_value(SysvarName:str, value:double)->errorcode |
功能介绍 | 获取系统变量值 |
调用位置 | 激活 rpc 客户端之后调用 |
输入参数 | SysvarName: 系统变量名 Value: 设置值 |
返回值 | ==0: 函数执行成功 其他值: 函数执行失败 |
示例 | set = set_sysvar_value(‘Var0’ ,100) |
2.1.6 get_cansignal_value
参数名称 | get_cansignal_value(cansignalName:str)->(errorcode, double) |
功能介绍 | 获取系统变量值 |
调用位置 | 激活 rpc 客户端之后调用 |
输入参数 | cansignalName: 信号地址 |
返回值 | ==Ret[0]:错误码, ==0 为成功, 其他失败 Ret[1]:信号值 |
示例 | ret, value = get_cansignal_value( ‘0/CAN_FD_Powertrain/Engine/ABSdata/CarSpeed’) if ret == 0 and value==100: Print(“ok”) |
2.1.7 set_cansignal_value
参数名称 | set_cansignal_value (cansignal:str, value:double)->errorcode |
功能介绍 | 设置系统变量值 |
调用位置 | 激活 rpc 客户端之后调用 |
输入参数 | cansignalName: 信号地址 Value: 设置值 |
返回值 | ==0: 函数执行成功 其他值: 函数执行失败 |
示例 | sset_cansignal_value( ‘0/CAN_FD_Powertrain/Engine/ABSdata/CarSpeed, 100) |
2.1.8 get_linsignal_value
参数名称 | get_linsignal_value (linsignalName:str)->(errorcode, double) |
功能介绍 | 获取系统变量值 |
调用位置 | 激活 rpc 客户端之后调用 |
输入参数 | LinsignalName: 信号地址 |
返回值 | Ret[0]:错误码, ==0 为成功, 其他失败 Ret[1]:信号值 |
示例 | ret,value = get_linsignal_value( ‘0/LIN_Powertrain/Engine/ABSdata/CarSpeed) if ret == 0 and value==100: Print(“ok”) |
2.1.9 set_linsignal_value
参数名称 | set_linsignal_value (linsignal:str, value:double)->errorcode |
功能介绍 | 设置系统变量值 |
调用位置 | 激活 rpc 客户端之后调用 |
输入参数 | LinsignalName: 信号地址 Value: 设置值 |
返回值 | ==0: 函数执行成功 其他值: 函数执行失败 |
示例 | set_linsignal_value( ‘0/LIN_Powertrain/Engine/ABSdata/CarSpeed, 100) |
2.1.10 get_frsignal_value
参数名称 | get_frsignal_value (frsignalName:str)->(errorcode, double) |
功能介绍 | 获取系统变量值 |
调用位置 | 激活 rpc 客户端之后调用 |
输入参数 | frsignalName: 信号地址 |
返回值 | Ret[0]:错误码, ==0 为成功, 其他失败 Ret[1]:信号值 |
示例 | ret,value = get_frsignal_value( ‘0/FR_Powertrain/Engine/ABSdata/CarSpeed) if ret == 0 and value==100: Print(“ok”) |
2.1.11 set_frsignal_value
参数名称 | set_frsignal_value (frsignal:str, value:double)->errorcode |
功能介绍 | 设置系统变量值 |
调用位置 | 激活 rpc 客户端之后调用 |
输入参数 | frsignalName: 信号地址 Value: 设置值 |
返回值 | ==0: 函数执行成功 其他值: 函数执行失败 |
示例 | set_frsignal_value( ‘0/FR_Powertrain/Engine/ABSdata/CarSpeed, 100) |
2.2 TOSUN: Hardware SIL Kit
2.2.1 set_hardware_config
参数名称 | set_hardware_config()->error_code |
功能介绍 | 为当前程序配置硬件设备 |
调用位置 | 在连接之前调用,如果不在修改通道配置的情况下可以不执行 |
输入参数 | 无参 |
返回值 | ==0: 函数执行成功 其他值: 函数执行失败 |
示例 | set_hardware_config() |
2.2.2 connect
参数名称 | connect()->error_code |
功能介绍 | 连接硬件设备 |
调用位置 | 配置好硬件通道之后 |
输入参数 | 无参 |
返回值 | ==0: 函数执行成功 其他值: 函数执行失败 |
示例 | connect() |
2.2.3 disconnect
参数名称 | disconnect()->error_code |
功能介绍 | 断开硬件设备 |
调用位置 | 配置好硬件通道之后 |
输入参数 | 无参 |
返回值 | ==0: 函数执行成功 其他值: 函数执行失败 |
示例 | disconnect() |
2.2.4 send_msg
参数名称 | send_msg(AMsg:TLIBCAN|TLIBCANFD|TLIBLIN|TLIBFlexRay)->error_code |
功能介绍 | 单帧发送报文 |
调用位置 | 连接硬件之后 |
输入参数 | AMsg: 报文对象 |
返回值 | ==0: 函数执行成功 其他值: 函数执行失败 |
示例 | AMsg = TLIBCAN(0x123) send_msg(AMsg) |
2.2.5 send_cyclic_can_msg
参数名称 | send_cyclic_can_msg (AMsg:TLIBCAN|TLIBCANFD, ATime)->error_code |
功能介绍 | 周期发送 CAN/CANFD 报文 |
调用位置 | 连接硬件之后 |
输入参数 | AMsg: 报文对象 ATime: 周期,时间单位为ms 1 表示 1ms 100 表示 100ms |
返回值 | ==0: 函数执行成功 其他值: 函数执行失败 |
示例 | AMsg = TLIBCAN(0x123) send_cyclic_can_msg(AMsg, 100) |
2.2.6 recv_can_msg
参数名称 | recv_can_msg (AChnidx, ACount, IsIncludeTx)->AMsgList |
功能介绍 | 周期发送 CAN/CANFD 报文 |
调用位置 | 连接硬件之后 |
输入参数 | AChnidx: 接收报文的指定通道 ACount: 接收报文的最大数量 IsIncludeTx: 是否包含发送报文 |
返回值 | AMsgList: 接收报文列表 |
示例 | AMsgs = recv_can_msg(0, 100, False) |
2.2.7 recv_lin_msg
参数名称 | recv_lin_msg(AChnidx, ACount, IsIncludeTx)->AMsgList |
功能介绍 | 接收 lin 报文 |
调用位置 | 连接硬件之后 |
输入参数 | AChnidx: 接收报文的指定通道 ACount: 接收报文的最大数量 IsIncludeTx: 是否包含发送报文 |
返回值 | AMsgList: 接收报文列表 |
示例 | AMsgs = recv_lin_msg(0, 100, False)send_msg(AMsg) |
2.2.8 recv_flexray_msg
参数名称 | recv_flexray_msg(AChnidx, ACount, IsIncludeTx)->AMsgList |
功能介绍 | 接收 flexray 报文 |
调用位置 | 连接硬件之后 |
输入参数 | AChnidx: 接收报文的指定通道 ACount: 接收报文的最大数量 IsIncludeTx: 是否包含发送报文 |
返回值 | AMsgList: 接收报文列表 |
示例 | AMsgs = recv_flexary_msg(0, 100, False) |
您对TSMaster的哪个功能最感兴趣?或在实际应用中遇到过哪些问题?
欢迎在评论区分享你的经验或疑问,任何想法或建议也可以评论区留言互动,将有机会获得TOSUN神秘大礼包哦~
小贴士:
1、软件下载:
点击下方软件下载链接,直接下载安装,建议下载 beta 版本:
2、软件升级:
在电脑有互联网连接的前提下,可以在软件内检查升级至最新版本。
注:大红鹰dhy登录界面智能技术支持邮箱:support@tosunai.cn,欢迎大家前来咨询!(须注明公司及联系方式)