|
|
@@ -1,16 +1,40 @@
|
|
|
# TeamPLT Gallery
|
|
|
|
|
|
-TeamPLT / TeamAAS 2.1 平台的**扩展包源(Gallery Source)**。
|
|
|
+TeamPLT / TeamAAS 2.1 平台的扩展包仓库。
|
|
|
|
|
|
-仓库结构(与本地 `gallery\` 目录一致):
|
|
|
+## TeamAAS 2.1 是什么
|
|
|
+
|
|
|
+TeamAAS 2.1 是一套面向 3C 电子制造、精密组装、检测分拣场景的工业自动化控制与机器视觉软件。它把相机、机械手、运动控制卡、光源控制器、震动盘、PLC 通讯等硬件整合到一个主控进程里,通过流程图(Flow)编排生产工序:
|
|
|
+
|
|
|
+- **硬件层**:统一管理相机(海康/巴斯勒等)、机械手(Epson/雅马哈/国产)、运动控制卡、光源、震动盘、PLC(Modbus/TCP/Serial)
|
|
|
+- **视觉层**:集成多种视觉算法引擎(定位、缺陷、测量、OCR)
|
|
|
+- **流程层**:拖拽式流程图编排工序,节点连线即逻辑,支持单步调试、监控运行
|
|
|
+- **生产层**:产品配方管理、生产计数、OK/NG 统计、良率报表
|
|
|
+
|
|
|
+TeamPLT 是它的微内核外壳,负责插件加载、界面框架、扩展管理。本仓库(Gallery)就是给这个微内核喂扩展包的源。
|
|
|
+
|
|
|
+## Gallery 是什么
|
|
|
+
|
|
|
+Gallery 是 TeamPLT 的扩展包源(package source)。平台内置"扩展管理"页,配置本地址后可以浏览、下载、安装扩展,下载后按 sha256 强校验。
|
|
|
+
|
|
|
+仓库结构:
|
|
|
|
|
|
```
|
|
|
-index.json # 包索引(平台只认这个文件)
|
|
|
-packages\<host>\<id>\<id>-<version>.zip # 扩展包(zip 根直接放 manifest.json + dll)
|
|
|
+index.json # 包索引(平台只认这个文件)
|
|
|
+packages\<host>\<id>\<id>-<version>.zip # 扩展包
|
|
|
```
|
|
|
|
|
|
-每个 zip 的**根目录**必须包含 `manifest.json`,包内 `manifest.id` 必须与索引里的 `id` 一致。
|
|
|
-`host` 缺省为 `platform`(平台扩展),另有 `base` / `vision` / `cameras` / `communication`。
|
|
|
+每个 zip 的根目录必须包含 `manifest.json`,包内 `manifest.id` 与索引里的 `id` 一致。
|
|
|
+
|
|
|
+`host` 是扩展挂载位置:
|
|
|
+
|
|
|
+| host | 说明 |
|
|
|
+|------|------|
|
|
|
+| `platform` | 平台级扩展(扩展主界面、工具条、AI 等) |
|
|
|
+| `vision` | 视觉算法插件 |
|
|
|
+| `cameras` | 相机驱动 |
|
|
|
+| `communication` | 通讯协议/PLC 驱动 |
|
|
|
+| `base` | 基础库/共享组件 |
|
|
|
|
|
|
## 配置为平台包源
|
|
|
|
|
|
@@ -25,16 +49,58 @@ packages\<host>\<id>\<id>-<version>.zip # 扩展包(zip 根直接放
|
|
|
}
|
|
|
```
|
|
|
|
|
|
-重启平台 → 扩展管理页即可看到包并安装(下载后按 `sha256` / `size` 强校验)。
|
|
|
+重启平台 → 扩展管理页即可看到包列表,点安装自动下载、校验、加载。
|
|
|
+
|
|
|
+## 如何提交自己的扩展
|
|
|
+
|
|
|
+### 1. 编译扩展
|
|
|
+
|
|
|
+扩展工程引用 `TeamPLT.SDK.dll` 和 `TeamPLT.Contracts.dll`,编译产出目录(含 `manifest.json`、dll、本地化文件)整体就是一个扩展。
|
|
|
+
|
|
|
+### 2. 打 zip
|
|
|
+
|
|
|
+把产出目录的内容**直接压成 zip**(不要多套一层文件夹)。zip 根目录应该长这样:
|
|
|
+
|
|
|
+```
|
|
|
+manifest.json
|
|
|
+Ext.XXX.dll
|
|
|
+Localization\zh-CN.json
|
|
|
+...(其他随包文件)
|
|
|
+```
|
|
|
+
|
|
|
+### 3. 放到仓库
|
|
|
+
|
|
|
+路径规则:`packages\<host>\<id>\<id>-<version>.zip`
|
|
|
+
|
|
|
+例如:`packages\platform\Ext.AiAssistant\Ext.AiAssistant-1.0.0.zip`
|
|
|
+
|
|
|
+### 4. 更新 index.json
|
|
|
+
|
|
|
+在 `index.json` 的 `packages` 数组里加一条:
|
|
|
+
|
|
|
+```json
|
|
|
+{
|
|
|
+ "id": "Ext.YourExt",
|
|
|
+ "name": "扩展显示名",
|
|
|
+ "version": "1.0.0",
|
|
|
+ "publisher": "你的名字",
|
|
|
+ "description": "一句话说明扩展做什么",
|
|
|
+ "downloadUrl": "packages/platform/Ext.YourExt/Ext.YourExt-1.0.0.zip",
|
|
|
+ "sha256": "zip 文件的 sha256",
|
|
|
+ "size": 123456,
|
|
|
+ "notes": "• 功能点一\n• 功能点二",
|
|
|
+ "references": ["TeamPLT.SDK", "TeamPLT.Contracts"]
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+`sha256` 和 `size` 必须和 zip 文件实际值一致,否则平台校验会拒绝安装。
|
|
|
|
|
|
-## 新增 / 更新包
|
|
|
+### 5. 提交推送
|
|
|
|
|
|
-1. 编译扩展,产出目录(含 `manifest.json`)整体压成 zip,不要多套一层目录。
|
|
|
-2. 放到 `packages\<host>\<id>\<id>-<version>.zip`。
|
|
|
-3. 重新生成 `index.json`(写入 `downloadUrl` 相对路径、`sha256`、`size`),提交推送。
|
|
|
+推到 `master` 分支即可,平台下次刷新包列表就能看到。
|
|
|
|
|
|
## 当前收录
|
|
|
|
|
|
-| Id | 名称 | 版本 | host |
|
|
|
-|---|---|---|---|
|
|
|
-| Ext.AiAssistant | AI 助手 | 1.0.0 | platform |
|
|
|
+| Id | 名称 | 版本 | host | 说明 |
|
|
|
+|---|---|---|---|---|
|
|
|
+| Ext.AiAssistant | AI 助手 | 1.0.0 | platform | 嵌入主控进程的 AI 副驾驶,支持电脑控制与平台命令桥 |
|