用于在ATE测试环境中控制控制应用程序的主应用程序。
项目描述
Semi-ATE
Semiconductor Automated Test Equipment
Semi-ATE
是一个用于半导体ATE ASIC测试项目的测试和仪器 AGNOSTIC 框架。
这意味着系统不是围绕特定仪器(让我们暂时以ATE测试仪作为超级仪器为例)构建的,而是专注于以这样的方式组织半导体测试:所有(使用和特殊)角落案例都有一个已知的位置。这使得用户(即:DE的、TCE的、TE的、PE的)能够专注于真正的任务,即编写良好、快速和稳定的测试。测试程序的创建和测试程序到流程的组织由向导处理,因此需要编写的唯一代码就是实际的测试!(座右铭:[代码是我们的敌人](http://www.skrenta.com/2007/05/code_is_our_enemy.html))
《Semi-ATE》包完全用Python编写(无架构),除了提供库之外,还提供了一个到Spyder IDE的插件。
包
Semi-ATE项目在这个单一存储库中维护,但它作为一系列包(所有版本号相同)发布,以适应不同的用例。
需要第三方包
安装(在MiniSCT上)
- 以sct/sct身份登录
- 在主目录中应该有一个名为
repos
的目录 - 在
repos
中有一个名为Semi-ATE
的目录(包含相关的Semi-ATE git存储库)
TCC_actuators
: git clone
运行(在MiniSCT上)
- 确保您已经配置了一个“测试单元”,如下所示:
=== 可以通过conda
或pip安装包。
使用pip安装
可以使用python -m pip install <package-name>
安装每个包
python -m pip install semi-ate-common
python -m pip install semi-ate-project-database
python -m pip install semi-ate-sammy
python -m pip install semi-ate-plugins
python -m pip install semi-ate-testers
python -m pip install semi-ate-spyder
python -m pip install semi-ate-apps-common
python -m pip install semi-ate-control-app
python -m pip install semi-ate-master-app
python -m pip install semi-ate-test-app
或一次性安装
python -m pip install semi-ate-common semi-ate-project-database semi-ate-sammy semi-ate-plugins semi-ate-testers semi-ate-spyder semi-ate-apps-common semi-ate-control-app semi-ate-master-app semi-ate-test-app
通过Conda安装
待定
开发流程
测试程序开发流程文档可以在这里找到
《semi-ate-master-app》包
此包提供了一个命令行工具(launch_master
)。为了使用此应用程序,您必须首先进行配置。此工具应在运行来自《semi-ate-control-app》包的控制应用程序的宿主机或通过以太网连接到运行控制应用程序的更多宿主机上运行。主应用程序控制所谓的控制应用程序,即测试节点。为此,主应用程序通过MQTT消息向不同的测试节点发送命令。其中命令包括加载和卸载测试程序以及开始测试执行的命令。
可以使用Web界面或某些处理程序应用程序控制主应用程序。
配置
通过编写名为master_config_file.json
的JSON文件来配置主应用程序。以下键值对必须定义
{
"broker_host": "127.0.0.1",
"broker_port": 1883,
"device_id": "SCT-82-1F",
"sites": [
"0"
],
"Handler": "HTO92-20F",
"environment": "F1",
"webui_host": "127.0.0.1",
"webui_port": "8081",
"jobsource": "filesystem",
"jobformat": "xml.semi-ate",
"skip_jobdata_verification": false,
"filesystemdatasource_path": ".",
"filesystemdatasource_jobpattern": "le#jobname#.xml",
"enable_timeouts": true,
"user_settings_filepath": "master_user_settings.json",
"site_layout": { "0": [0, 0]},
"tester_type": "Semi-ATE Master Single Tester",
"loglevel": 10,
"web_root_folder": "./",
"develop_mode": false
}
broker_host
定义了MQTT代理的IP地址。broker_port
定义了MQTT代理的端口。site_layout
定义了不同测试站点的布局。device_id
定义了测试站点的名称sites
定义了一个包含运行控制应用程序的测试节点 ID 的数组Handler
定义了某些设备处理器或晶圆处理器的名称,例如探针environment
定义了测试环境(F1、F2、F3、P1、P2、P3)webui_host
定义了控制主应用程序的手动控制界面的 IP 地址webui_port
定义了 Web 界面的端口号webui_root_path
定义了 Web 资源的 URI,即包含某个 Web 应用程序 index.html 的文件夹jobsource
定义了查找测试作业定义的位置jobformat
定义了作业定义的格式skip_jobdata_verification
定义了是否需要验证作业定义filesystemdatasource_path
定义了查找作业定义的路径filesystemdatasource_jobpattern
定义了测试作业文件名称的模式。这是通过将 #jobname# 替换为作业 ID(即批次 ID)来完成的。enable_timeouts
定义了是否启用超时。如果启用,系统将在某些操作(如准备就绪、加载或卸载测试程序等)花费过多时间时生成某些错误消息。user_settings_filepath
定义了用户特定设置存储的位置。这些设置通过 Web 界面设置。site_layout
定义了每个站点的布局。布局是某个站点的起始坐标tester_type
定义了测试器的类型。这由测试器插件提供。loglevel
定义了控制应用程序的日志级别develop_mode
定义了主应用程序是否以开发模式启动,这样可以在 spyder 中调试测试程序(可能的值:true 或 false)
启动主应用程序
我们假设 semi-ate-master-app 包已经安装在本 Python 环境中。此外,配置文件 master_config_file.json 位于当前文件夹中。
重要:配置文件必须命名为 master_config_file.json
(environment)> launch_master
======== Running on http://127.0.0.1:8081 ========
(Press CTRL+C to quit)
master |22/03/2022 04:45:37 PM |INFO |mqtt connected
master |22/03/2022 04:45:37 PM |INFO |Master state is connecting
以开发模式启动主应用程序
将开发模式设置为 'true' 应该以不同的模式和状态启动主应用程序
(environment)> launch_master
======== Running on http://127.0.0.1:8081 ========
(Press CTRL+C to quit)
master |21/06/2022 02:31:58 PM |INFO |mqtt connected
master |21/06/2022 02:31:58 PM |INFO |Master state is connecting
master |21/06/2022 02:31:58 PM |INFO |Master state is loading
在加载状态下,主应用程序将等待测试程序启动并准备好接受更多命令
注意:device_id
值将被覆盖以匹配测试应用程序使用的默认值(device_id
='developmode')
项目详情
semi-ate-master-app-1.0.15.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | eadfd549532072f129b7b1a448829a0dc429470b7b9434fdc450250f36755e4d |
|
MD5 | 6da1c4be56259adc3bc72991551cea87 |
|
BLAKE2b-256 | 60d284a189dd405dedc2dc9fffe991ead17b1040e2f7e779ab8c8984f5bc77e0 |