2025-03-17 14:58:05 +08:00
|
|
|
|
# 产品需求文档 - 天风任务模块
|
|
|
|
|
|
|
|
|
|
## 前言
|
|
|
|
|
|
|
|
|
|
本文档描述AMR调度系统中天风任务模块的产品需求,包括功能设计、交互流程和界面要素。天风任务模块是AMR调度系统的核心组件之一,用于管理和监控机器人任务的全生命周期。
|
|
|
|
|
|
|
|
|
|
## 一、版本信息
|
|
|
|
|
|
|
|
|
|
|版本号|创建日期|审核人|
|
|
|
|
|
|---|---|---|
|
|
|
|
|
|V1.0|2024-03-12||
|
|
|
|
|
|
|
|
|
|
## 二、变更日志
|
|
|
|
|
|
|
|
|
|
|时间|版本号|变更人|主要变更内容|
|
|
|
|
|
|---|---|---|---|
|
|
|
|
|
|2024-03-12|V1.0||初始版本创建|
|
|
|
|
|
|
|
|
|
|
## 三、文档说明
|
|
|
|
|
|
|
|
|
|
### 名词解释
|
|
|
|
|
|
|
|
|
|
|术语 / 缩略词|说明|
|
|
|
|
|
|---|---|
|
|
|
|
|
|AMR|自主移动机器人(Autonomous Mobile Robot)的简称,指能够自主规划路径、避障和导航的移动机器人|
|
|
|
|
|
|天风任务|AMR调度系统中的一个任务模块,用于管理和调度机器人任务的全生命周期|
|
|
|
|
|
|任务状态|任务的当前执行状态,包括待执行、执行中、已完成、已取消、执行失败、暂停中、等待中等|
|
|
|
|
|
|任务类型|任务的分类,包括普通任务(立即执行的一次性任务)和定时任务(按照预设时间执行的任务)|
|
|
|
|
|
|低代码配置工具|一种可视化编程工具,允许用户通过拖拽、配置等方式定义任务流程和逻辑,无需编写大量代码|
|
|
|
|
|
|组件|低代码配置工具中的功能模块,用于实现特定功能,如脚本组件、HTTP请求组件、流程组件等|
|
|
|
|
|
|子任务|可重用的任务单元,可以被其他任务引用和调用,用于实现任务的模块化和代码复用|
|
|
|
|
|
|
|
|
|
|
### 任务类型说明
|
|
|
|
|
|
|
|
|
|
|任务类型|说明|适用场景|
|
|
|
|
|
|---|---|---|
|
|
|
|
|
|普通任务|立即执行的一次性任务|需要立即执行的各类操作,如物料运输、巡检、设备控制等|
|
|
|
|
|
|定时任务|按照预设时间执行的任务|需要在特定时间执行的操作,如定时巡检、定时数据采集、定时设备维护等|
|
|
|
|
|
|
|
|
|
|
### 任务状态说明
|
|
|
|
|
|
|
|
|
|
|任务状态|说明|
|
|
|
|
|
|---|---|
|
|
|
|
|
|待执行|任务已创建但尚未开始执行|
|
|
|
|
|
|执行中|任务正在执行过程中|
|
|
|
|
|
|已完成|任务已成功完成所有操作|
|
|
|
|
|
|已取消|任务被用户手动取消|
|
|
|
|
|
|执行失败|任务执行过程中遇到错误无法继续|
|
|
|
|
|
|暂停中|任务暂时被暂停,可以继续执行|
|
|
|
|
|
|等待中|任务在等待某些条件满足后继续执行|
|
|
|
|
|
|
|
|
|
|
### 流程图
|
|
|
|
|
|
|
|
|
|
天风任务模块主要流程:创建任务 -> 编写执行逻辑脚本 -> 点击执行 -> 任务开始运行 -> 监控任务执行状态
|
|
|
|
|
|
|
|
|
|
## 四、需求背景
|
|
|
|
|
|
|
|
|
|
### 产品现状
|
|
|
|
|
|
|
|
|
|
目前AMR调度系统需要一个高效的任务管理模块,以便更好地管理和监控机器人任务的执行情况。现有系统缺乏统一的任务管理界面,导致任务创建、分配和监控过程繁琐,效率低下。
|
|
|
|
|
|
|
|
|
|
### 需求范围
|
|
|
|
|
|
|
|
|
|
本次需求主要包括天风任务模块的主页面设计和创建/编辑页面设计,实现任务的创建、编辑、执行和管理功能,提高任务管理效率和用户体验。
|
|
|
|
|
|
|
|
|
|
### 所属模块
|
|
|
|
|
|
|
|
|
|
|需求描述|解决方案|对应需求矩阵需求序号|
|
|
|
|
|
|---|---|---|
|
|
|
|
|
|任务管理|提供任务列表、创建、编辑、删除功能|TF-001|
|
|
|
|
|
|任务监控|提供任务状态实时监控|TF-002|
|
|
|
|
|
|任务分配|提供机器人任务分配和调度功能|TF-003|
|
|
|
|
|
|
|
|
|
|
## 五、功能详细说明
|
|
|
|
|
|
|
|
|
|
### 产品流程图
|
|
|
|
|
|
|
|
|
|
用户登录 -> 进入天风任务模块 -> 查看任务列表 -> 创建任务 -> 编写执行逻辑脚本 -> 点击执行 -> 监控任务执行状态
|
|
|
|
|
|
|
|
|
|
### 交互原型图
|
|
|
|
|
|
|
|
|
|
主页面展示了任务列表和相关操作按钮,编辑页面将展示任务的编辑选项。
|
|
|
|
|
|
|
|
|
|
### 功能说明
|
|
|
|
|
|
|
|
|
|
|序号|页面|原型|要素详细说明|规则说明|
|
|
|
|
|
|---|---|---|---|---|
|
|
|
|
|
|1|天风任务-主页面|主页面1.png<br>主页面2.png|包含以下字段:<br>- 任务ID:唯一标识任务的编号<br>- 任务名称:描述任务的名称<br>- 任务类型:任务的分类<br>- 任务状态:当前任务的执行状态<br>- 版本:任务的版本号<br>- 备注:任务的附加说明信息<br>- 模板描述:任务使用的模板信息<br>- 是否为定时任务:标识任务是否为定时执行<br>- 创建时间:任务创建的时间<br>- 开始时间:任务开始执行的时间<br>- 结束时间:任务完成的时间<br>- 执行机器人:执行任务的机器人ID或名称<br>- 操作按钮:对任务进行操作的按钮<br><br>页面顶部功能按钮:<br>- 定义新任务:创建新的任务<br>- 刷新:刷新任务列表<br>- 删除:删除选中的任务<br>- 导入:导入任务配置<br>- 导出:导出任务配置<br>- 视图切换:切换任务列表的显示方式<br><br>详细说明参见:[天风任务-主页面说明.md](天风任务-主页面说明.md)|1. 任务列表支持分页显示<br>2. 支持按任务状态筛选(待执行、执行中、已完成、已取消等)<br>3. 支持按任务名称、ID搜索<br>4. 支持按创建时间、开始时间排序<br>5. 操作按钮包括编辑、删除、取消任务等<br>6. 页面顶部提供创建新任务、刷新、删除、导入导出和视图切换按钮<br>7. 页面右侧提供任务统计信息<br>8. 导入导出功能支持任务配置的备份和恢复<br>9. 视图切换支持列表视图和其他自定义视图<br>10. 版本字段显示任务的当前版本号,支持版本历史查看<br>11. 定时任务显示下次执行时间|
|
|
|
|
|
|2|天风任务-创建页||创建任务时只需填写两个必填项:<br>- 任务名称(必填):描述任务的名称<br>- 任务类型(必填):选择普通任务或定时任务<br><br>详细说明参见:[天风任务-创建页面说明.md](天风任务-创建页面说明.md)|1. 创建任务时只需填写任务名称和选择任务类型(普通任务或定时任务)<br>2. 任务名称支持中文、英文、数字和特殊字符<br>3. 任务类型包括普通任务和定时任务两种<br>4. 对于定时任务,可以设置执行时间和重复规则|
|
|
|
|
|
|3|天风任务-编辑页||编辑页面主要用于配置机器人的执行逻辑,包括:<br>- 中央流程图编辑区:通过拖拽组件设计任务流程图<br>- 左侧组件面板:提供可用的组件类型<br>- 右侧属性面板:设置选中组件的参数和属性<br>- 中间参数区域:显示常用参数和变量<br>- 任务基本设置:配置任务ID、名称、优先级等基本信息<br>- 任务输入参数设置:定义任务执行所需的输入参数<br><br>页面顶部功能按钮:<br>- 保存:保存当前任务配置<br>- 运行:执行当前任务<br>- 撤销/重做:撤销或重做编辑操作<br>- 全选/全不选:选择或取消选择所有组件<br>- 任务基本设置:配置任务基本信息<br>- 任务输入参数:设置任务输入参数<br>- 复制/粘贴:复制或粘贴选中的组件<br>- 源码:查看和编辑生成的最终JS代码<br>- 备份:创建当前任务配置的备份<br>- 运行测试任务:测试执行当前任务<br>- 查看测试结果:查看任务测试执行结果<br><br>左侧组件面板:<br>- 搜索框:快速查找所需组件<br>- 组件分类列表:包含子任务、脚本、HTTP请求、任务、流程等多种组件类型<br><br>中央流程图编辑区:<br>- 主要工作区域,用于设计和编辑任务流程图<br>- 支持组件拖拽、连接和排列<br>- 可视化展示任务执行流程和组件间的关系<br>- 支持多选、移动、复制组件<br>- 提供网格对齐和自动布局功能<br>- 显示组件状态和连接关系<br><br>中间参数区域:<br>- 常用参数:用于选择操作机器人的ID值,指定任务执行的目标机器人<br>- 任务:显示任务的基本变量(task.id、task.taskRecordId、task.defLabel等)<br>- 任务输入参数:显示从顶部配置的输入参数(taskInputs.xxx)<br>- 快输出及上下文参数:显示任务执行过程中的输出参数和上下文变量<br><br>右侧属性面板:<br>- 组件属性配置:显示当前选中组件的所有可配置属性<br>- 参数设置:配置组件的输入/输出参数<br>- 条件表达式:编辑条件组件的判断逻辑<br>- 代码编辑:编写和修改脚本组件的代码<br>- 连接配置:设置组件的前置和后续节点<br>- 实时验证:提供配置错误的即时反馈<br><br>详细说明参见:[天风任务-编辑页面说明.md](天风任务-编辑页面说明.md)|1. 编辑页面主要用于通过低代码方式配置机器人的执行逻辑<br>2. 支持通过拖拽方式添加和连接各种功能组件<br>3. 支持设置组件的属性和参数<br>4. 支持保存、运行、测试任务<br>5. 支持撤销/重做编辑操作<br>6. 支持复制/粘贴组件<br>7. 支持查看任务执行结果<br>8. 支持查看和编辑生成的最终JS源代码<br>9. 支持创建任务配置的备份和恢复<br>10. 左侧组件面板支持搜索功能,方便快速查找所需组件<br>11. 中间参数区域提供常用参数、任务基本变量、输入参数和上下文参数的访问<br>12. 右侧属性面板提供组件详细配置,随选中组件变化而动态更新<br>13. 对于定时任务,支持修改执行时间和重复规则|
|
|
|
|
|
#### 1. 天风任务-主页面
|
|
|
|
|
**主要功能**:
|
|
|
|
|
- 任务列表展示:显示所有任务及其状态
|
|
|
|
|
- 任务筛选与搜索:按状态、名称等条件筛选任务
|
|
|
|
|
- 任务操作:创建、编辑、删除、执行任务
|
|
|
|
|
- 任务导入导出:支持任务配置的导入和导出
|
|
|
|
|
|
|
|
|
|
**关键字段**:
|
|
|
|
|
- 任务ID、任务名称、任务类型、任务状态
|
|
|
|
|
- 版本、创建时间、开始/结束时间
|
|
|
|
|
- 执行机器人、操作按钮
|
|
|
|
|
|
|
|
|
|
**详细说明参见**:[天风任务-主页面说明.md](天风任务-主页面说明.md)
|
|
|
|
|
|
|
|
|
|
#### 2. 天风任务-创建页面
|
|
|
|
|
|
|
|
|
|
**主要功能**:
|
|
|
|
|
- 创建新任务:设置任务基本信息
|
|
|
|
|
- 任务类型选择:普通任务或定时任务
|
|
|
|
|
|
|
|
|
|
**必填项**:
|
|
|
|
|
- 任务名称:描述任务的名称
|
|
|
|
|
- 任务类型:选择普通任务或定时任务
|
|
|
|
|
|
|
|
|
|
**详细说明参见**:[天风任务-创建页面说明.md](天风任务-创建页面说明.md)
|
|
|
|
|
|
|
|
|
|
#### 3. 天风任务-编辑页面
|
|
|
|
|
|
|
|
|
|
**主要功能**:
|
|
|
|
|
- 任务流程设计:通过拖拽组件设计任务流程
|
|
|
|
|
- 组件配置:设置各组件的参数和属性
|
|
|
|
|
- 任务测试与执行:测试和运行任务
|
|
|
|
|
|
|
|
|
|
**主要区域**:
|
|
|
|
|
- 中央流程图编辑区:设计任务流程
|
|
|
|
|
- 左侧组件面板:提供可用组件
|
|
|
|
|
- 右侧属性面板:配置组件属性
|
|
|
|
|
- 顶部工具栏:保存、运行、测试等操作
|
|
|
|
|
|
|
|
|
|
**核心配置功能**:
|
|
|
|
|
|
|
|
|
|
1. **任务输入参数配置**
|
|
|
|
|
- 支持定义任务执行所需的输入参数(名称、类型、默认值等)
|
|
|
|
|
- 参数以`taskInputs.参数名`的形式在系统中访问
|
|
|
|
|
- 支持多种数据类型(字符串、数字、布尔值、对象、数组等)
|
|
|
|
|
|
|
|
|
|
2. **机器人选择配置**
|
|
|
|
|
- 在常用参数部分选择操作的机器人
|
|
|
|
|
- 支持静态选择(指定特定机器人)或动态选择(根据条件选择)
|
|
|
|
|
- 支持基于机器人状态的智能分配
|
|
|
|
|
|
|
|
|
|
3. **上下文参数管理**
|
|
|
|
|
- 查看和管理任务执行过程中的上下文变量
|
|
|
|
|
- 支持在组件之间传递数据和状态
|
|
|
|
|
- 通过`${变量名}`引用上下文变量
|
|
|
|
|
|
|
|
|
|
4. **条件逻辑配置**
|
|
|
|
|
- 支持If、If-Else、If-Else-If等条件组件
|
|
|
|
|
- 配置复杂条件表达式,实现业务逻辑分支
|
|
|
|
|
- 支持嵌套条件,实现复杂的条件逻辑
|
|
|
|
|
|
|
|
|
|
5. **数据存储与传递**
|
|
|
|
|
- 定义和使用各类变量存储任务数据
|
|
|
|
|
- 支持数据持久化和缓存机制
|
|
|
|
|
- 使用键值对形式管理数据
|
|
|
|
|
|
|
|
|
|
6. **组件连接与流程控制**
|
|
|
|
|
- 通过可视化连接定义组件间的执行顺序
|
|
|
|
|
- 使用流程控制节点(分支、合并、循环、并行)
|
|
|
|
|
- 配置错误处理和异常捕获机制
|
|
|
|
|
|
|
|
|
|
**详细说明参见**:[天风任务-编辑页面说明.md](天风任务-编辑页面说明.md)
|
|
|
|
|
|
|
|
|
|
#### 组件类型
|
|
|
|
|
|
|
|
|
|
1. **子任务组件**:用于创建和管理子任务,支持任务的层级结构和模块化
|
|
|
|
|
|
|
|
|
|
2. **脚本组件**:支持编写自定义脚本,实现复杂的业务逻辑
|
|
|
|
|
|
|
|
|
|
3. **HTTP请求组件**:用于与外部系统进行通信,发送HTTP请求并处理响应
|
|
|
|
|
|
|
|
|
|
4. **任务组件**:基本任务单元,包含任务的核心属性和行为
|
|
|
|
|
|
|
|
|
|
5. **流程组件**:控制任务执行流程,如条件判断、循环等
|
|
|
|
|
|
|
|
|
|
6. **基础组件**:提供基础功能,如变量操作、数据转换等
|
|
|
|
|
|
|
|
|
|
7. **库位组件**:与工位或库位相关的组件,用于定位和操作
|
|
|
|
|
|
|
|
|
|
8. **机器人调度组件**:控制和管理机器人的调度和执行
|
|
|
|
|
|
|
|
|
|
9. **设备组件**:与外部设备交互的组件
|
|
|
|
|
|
|
|
|
|
#### 使用流程
|
|
|
|
|
|
|
|
|
|
1. **创建任务**:点击创建任务按钮,输入任务名称和选择任务类型(普通任务或定时任务)
|
|
|
|
|
|
|
|
|
|
2. **查看基本信息**:系统自动生成任务ID等基本信息,用户可以查看但无需手动配置
|
|
|
|
|
|
|
|
|
|
3. **设计任务流程**:
|
|
|
|
|
- 从左侧组件面板拖拽所需组件到中央编辑区
|
|
|
|
|
- 配置各组件的属性和参数
|
|
|
|
|
- 连接组件,定义执行流程和数据流向
|
|
|
|
|
|
|
|
|
|
4. **配置条件逻辑**:
|
|
|
|
|
- 添加If-Else等条件组件
|
|
|
|
|
- 设置条件表达式和分支处理逻辑
|
|
|
|
|
|
|
|
|
|
5. **设置输入参数**:定义任务执行所需的输入参数和默认值
|
|
|
|
|
|
|
|
|
|
6. **测试任务**:使用测试功能验证任务配置的正确性
|
|
|
|
|
|
|
|
|
|
7. **保存任务**:保存任务配置,生成可执行的任务定义
|
|
|
|
|
|
|
|
|
|
8. **发布任务**:将任务发布到系统中,使其可被调度和执行
|
|
|
|
|
|
|
|
|
|
#### 高级功能
|
|
|
|
|
|
|
|
|
|
1. **任务模板**:
|
|
|
|
|
- 将常用任务配置保存为模板
|
|
|
|
|
- 基于模板快速创建新任务
|
|
|
|
|
- 模板管理和版本控制
|
|
|
|
|
|
|
|
|
|
2. **源码查看与编辑**:
|
|
|
|
|
- 查看低代码配置生成的最终JS代码
|
|
|
|
|
- 支持直接编辑源代码进行高级定制
|
|
|
|
|
- 源码与可视化配置的双向同步
|
|
|
|
|
|
|
|
|
|
3. **任务备份与恢复**:
|
|
|
|
|
- 创建任务配置的完整备份
|
|
|
|
|
- 支持从备份恢复任务配置
|
|
|
|
|
- 备份历史管理和版本比较
|
|
|
|
|
|
|
|
|
|
4. **变量和表达式**:
|
|
|
|
|
- 支持复杂表达式编写
|
|
|
|
|
- 变量引用和计算
|
|
|
|
|
- 条件表达式求值
|
|
|
|
|
|
|
|
|
|
5. **调试和测试**:
|
|
|
|
|
- 任务执行模拟
|
|
|
|
|
- 断点设置和单步执行
|
|
|
|
|
- 执行日志和结果查看
|
|
|
|
|
|
|
|
|
|
6. **版本控制**:
|
|
|
|
|
- 任务配置的版本管理
|
|
|
|
|
- 历史版本比较和回滚
|
|
|
|
|
- 变更记录和审计
|
|
|
|
|
|
|
|
|
|
#### 使用场景示例
|
|
|
|
|
|
|
|
|
|
1. **条件执行场景**:
|
|
|
|
|
- 使用If-Else组件判断输入参数taskInputs.input_01的值
|
|
|
|
|
- 根据条件值执行不同的任务分支
|
|
|
|
|
- 设置条件表达式和默认处理逻辑
|
|
|
|
|
|
|
|
|
|
2. **数据处理场景**:
|
|
|
|
|
- 使用变量存储和处理任务数据
|
|
|
|
|
- 配置数据转换和计算逻辑
|
|
|
|
|
- 将处理结果传递给下游组件
|
|
|
|
|
|
|
|
|
|
3. **机器人调度场景**:
|
|
|
|
|
- 配置机器人选择和分配逻辑
|
|
|
|
|
- 设置任务执行参数和约束条件
|
|
|
|
|
- 处理执行异常和故障恢复
|
|
|
|
|
|
|
|
|
|
### 子任务功能详细说明
|
|
|
|
|
|
|
|
|
|
子任务是天风任务模块中的核心概念之一,它允许用户将复杂的任务拆分为多个可重用的子任务,并通过组合和嵌套这些子任务来构建更复杂的任务流程。
|
|
|
|
|
|
|
|
|
|
#### 子任务概述
|
|
|
|
|
|
|
|
|
|
子任务是一个独立的、可重用的任务单元,它可以被其他任务引用和调用。通过子任务机制,用户可以:
|
|
|
|
|
|
|
|
|
|
1. **模块化任务设计**:将复杂任务拆分为多个功能明确的子任务
|
|
|
|
|
2. **提高代码复用**:一次创建,多处使用,减少重复工作
|
|
|
|
|
3. **简化任务维护**:修改子任务定义,所有引用该子任务的地方都会自动更新
|
|
|
|
|
4. **提高可读性**:通过合理的子任务命名和组织,使任务流程更加清晰
|
|
|
|
|
|
|
|
|
|
#### 子任务列表
|
|
|
|
|
|
|
|
|
|
系统中已创建的子任务会在左侧组件面板的"子任务"分类下列出,用户可以直接拖拽使用。子任务列表示例:
|
|
|
|
|
|
|
|
|
|
- test1
|
|
|
|
|
- 测试_cc
|
|
|
|
|
- 0903ta's'k
|
|
|
|
|
- 1212
|
|
|
|
|
- ta's'k
|
|
|
|
|
- R
|
|
|
|
|
- test
|
|
|
|
|
- 北大科研_task
|
|
|
|
|
- newtask
|
|
|
|
|
- Prod2WH
|
|
|
|
|
- WH2Prod
|
|
|
|
|
|
|
|
|
|
#### 子任务嵌套
|
|
|
|
|
|
|
|
|
|
天风任务模块支持多层子任务嵌套,即一个子任务可以引用其他子任务,形成任务的层级结构。这种嵌套能力使得任务组织更加灵活和强大:
|
|
|
|
|
|
|
|
|
|
1. **层级结构**:支持多层嵌套,理论上没有嵌套深度限制(但建议控制在合理范围内)
|
|
|
|
|
2. **参数传递**:上层任务可以向嵌套的子任务传递参数
|
|
|
|
|
3. **结果返回**:子任务可以将执行结果返回给上层任务
|
|
|
|
|
4. **条件执行**:可以根据条件决定是否执行特定的子任务
|
|
|
|
|
5. **并行执行**:支持多个子任务的并行执行
|
|
|
|
|
|
|
|
|
|
#### 子任务参数配置
|
|
|
|
|
|
|
|
|
|
当将子任务从左侧组件面板拖拽到流程编辑区后,需要对子任务进行参数配置。子任务参数配置界面包含以下主要部分:
|
|
|
|
|
|
|
|
|
|
1. **基本信息区域**:
|
|
|
|
|
- 显示子任务的名称和类型(例如:"test1 b1 子任务")
|
|
|
|
|
|
|
|
|
|
2. **核心参数配置**:
|
|
|
|
|
- **是否异步执行任务**(可选项):
|
|
|
|
|
- 选择是否以异步方式执行子任务
|
2025-03-17 18:31:20 +08:00
|
|
|
|
- 支持两种传参类型:
|
|
|
|
|
- 简单值:直接手动输入
|
|
|
|
|
- 表达式:通过系统默认参数拖拽生成,使用`${}`语法
|
2025-03-17 14:58:05 +08:00
|
|
|
|
|
2025-03-17 18:31:20 +08:00
|
|
|
|
- **任务实例ID**(可选项):
|
2025-03-17 14:58:05 +08:00
|
|
|
|
- 指定子任务的唯一标识符
|
2025-03-17 18:31:20 +08:00
|
|
|
|
- 支持两种传参类型:
|
|
|
|
|
- 简单值:直接手动输入
|
|
|
|
|
- 表达式:通过系统默认参数拖拽生成,使用`${}`语法
|
|
|
|
|
|
|
|
|
|
3. **通用配置**:
|
|
|
|
|
- 通过顶部的"任务输入参数"按钮进行配置,而非在核心参数配置中设置
|
|
|
|
|
- 输入参数配置适用于所有组件块,是通用功能
|
|
|
|
|
- 在此处可以定义和设置子任务所需的输入参数
|
|
|
|
|
|
|
|
|
|
**注意**:输入参数是所有块通用的配置项,不属于子任务特有的核心参数配置。每个参数都支持简单值和表达式两种传参类型。
|
2025-03-17 14:58:05 +08:00
|
|
|
|
|
|
|
|
|
详细说明参见:[天风任务-子任务功能说明.md](天风任务-子任务功能说明.md)
|
2025-03-17 18:31:20 +08:00
|
|
|
|
|
2025-03-17 14:58:05 +08:00
|
|
|
|
### 脚本组件功能详细说明
|
|
|
|
|
|
|
|
|
|
脚本组件是天风任务模块低代码配置工具中的核心功能之一,它允许用户通过编写和配置JavaScript脚本来实现复杂的业务逻辑和数据处理功能。脚本组件为任务流程提供了灵活的编程能力,使用户能够突破标准组件的限制,实现个性化的任务处理逻辑。
|
|
|
|
|
|
|
|
|
|
脚本组件有两种主要使用方式:
|
|
|
|
|
|
|
|
|
|
1. **运行脚本(执行脚本)**:
|
|
|
|
|
- 编写JavaScript代码并执行
|
|
|
|
|
- 可以访问任务上下文和变量(如task对象、taskInputs对象等)
|
|
|
|
|
- 执行完成后返回结果,供后续组件使用
|
|
|
|
|
- 支持异步操作和Promise
|
|
|
|
|
- 可以进行数据处理、计算、转换等操作
|
|
|
|
|
|
|
|
|
|
2. **脚本设置task.variables**:
|
|
|
|
|
- 用于设置和管理任务变量
|
|
|
|
|
- 可以创建、修改、删除task.variables中的值
|
|
|
|
|
- 这些变量可以在整个任务流程中共享和访问
|
|
|
|
|
- 适用于存储任务状态、中间结果和配置信息
|
|
|
|
|
|
|
|
|
|
#### 脚本组件参数配置
|
|
|
|
|
|
|
|
|
|
当将脚本组件从左侧组件面板拖拽到流程编辑区后,需要对脚本进行参数配置。脚本参数配置界面包含以下主要部分:
|
|
|
|
|
|
|
|
|
|
1. **基本信息区域**:
|
|
|
|
|
- 显示脚本组件的名称和类型(例如:"运行脚本 b1"或"脚本设置task.variables b2")
|
|
|
|
|
|
|
|
|
|
2. **核心参数配置**:
|
|
|
|
|
- **函数名**(可选项):
|
|
|
|
|
- 定义脚本中的主函数名称
|
|
|
|
|
- 用于组织代码结构和提高可读性
|
|
|
|
|
- 默认可以不填,直接编写脚本代码
|
|
|
|
|
|
|
|
|
|
- **参数**(可选项):
|
|
|
|
|
- 定义传递给脚本的参数
|
|
|
|
|
- 可以是固定值、变量引用或表达式
|
|
|
|
|
- 支持多个参数的配置
|
|
|
|
|
|
|
|
|
|
- **脚本代码**(必选项):
|
|
|
|
|
- 编写JavaScript代码实现所需功能
|
|
|
|
|
- 可以访问任务上下文和输入参数
|
|
|
|
|
- 支持完整的JavaScript语法和特性
|
|
|
|
|
|
|
|
|
|
- **返回值配置**(可选项):
|
|
|
|
|
- 定义脚本执行结果的处理方式
|
|
|
|
|
- 可以将结果存储到任务变量中
|
|
|
|
|
|
|
|
|
|
3. **参数值格式**:
|
|
|
|
|
- 支持简单值和JSON格式的参数输入
|
|
|
|
|
- 提供参数格式切换和验证功能
|
|
|
|
|
|
|
|
|
|
**脚本组件的主要特点**:
|
|
|
|
|
- 支持完整的JavaScript语法
|
|
|
|
|
- 可以访问系统提供的API和工具函数
|
|
|
|
|
- 支持错误捕获和异常处理
|
|
|
|
|
- 可以与其他组件交互,接收输入和提供输出
|
|
|
|
|
- 支持复杂逻辑的实现,如条件判断、循环、函数定义等
|
|
|
|
|
|
|
|
|
|
**适用场景**:
|
|
|
|
|
- 数据转换和处理:格式转换、数据清洗、计算派生值等
|
|
|
|
|
- 复杂业务规则实现:实现无法用标准组件表达的业务逻辑
|
|
|
|
|
- 系统集成:处理API响应、格式化请求数据等
|
|
|
|
|
- 动态决策:根据运行时条件动态决定执行路径
|
|
|
|
|
- 批量操作:处理数组和集合数据
|
|
|
|
|
- 状态管理:维护和更新任务执行状态
|
|
|
|
|
|
|
|
|
|
详细信息请参考[脚本组件详细说明文档](天风任务-脚本组件说明.md)。
|
|
|
|
|
|
|
|
|
|
### HTTP请求组件
|
|
|
|
|
|
|
|
|
|
HTTP请求组件是天风任务模块中用于与外部系统进行数据交互的核心组件,支持GET和POST请求方法和多种数据格式。
|
|
|
|
|
|
|
|
|
|
#### HTTP请求组件功能
|
|
|
|
|
|
|
|
|
|
1. **基本功能**:
|
|
|
|
|
- 支持GET和POST常用HTTP方法
|
|
|
|
|
- 提供灵活的请求配置和响应处理
|
|
|
|
|
- 支持多种数据格式和认证方式
|
|
|
|
|
- 提供错误处理和重试机制
|
|
|
|
|
|
|
|
|
|
2. **高级功能**:
|
|
|
|
|
- 请求链和条件请求
|
|
|
|
|
- 响应缓存和批量处理
|
|
|
|
|
- 文件上传和下载
|
|
|
|
|
- 代理设置和安全通信
|
|
|
|
|
|
|
|
|
|
#### HTTP请求参数配置
|
|
|
|
|
|
|
|
|
|
1. **GET请求参数配置**:
|
|
|
|
|
- **请求的URL**(必选项):
|
|
|
|
|
- 指定请求的目标地址
|
|
|
|
|
- 支持使用变量构建动态URL
|
|
|
|
|
- 例如:`https://api.example.com/users/${task.variables.userId}`
|
|
|
|
|
|
|
|
|
|
- **Header**(可选项):
|
|
|
|
|
- 配置HTTP请求头信息
|
|
|
|
|
- 支持添加多个请求头字段
|
|
|
|
|
- 常用于配置认证信息和内容类型
|
|
|
|
|
|
|
|
|
|
- **超时设置**(可选项):
|
|
|
|
|
- 设置请求超时时间(毫秒)
|
|
|
|
|
- 超过设定时间后,系统会终止请求
|
|
|
|
|
|
|
|
|
|
- **重试设置**(可选项):
|
|
|
|
|
- 配置请求失败时的重试策略
|
|
|
|
|
- 包括重试次数和重试间隔
|
|
|
|
|
|
|
|
|
|
2. **POST请求参数配置**:
|
|
|
|
|
- **请求的URL**(必选项):
|
|
|
|
|
- 与GET请求配置相同
|
|
|
|
|
|
|
|
|
|
- **请求的参数**(可选项):
|
|
|
|
|
- 配置POST请求体中的数据
|
|
|
|
|
- 支持JSON、Form等多种格式
|
|
|
|
|
- 可以使用变量引用和动态构建
|
|
|
|
|
|
|
|
|
|
- **Header**(可选项):
|
|
|
|
|
- 与GET请求配置相同
|
|
|
|
|
- POST请求通常需要设置Content-Type
|
|
|
|
|
|
|
|
|
|
- **类型**(可选项):
|
|
|
|
|
- 指定请求体的内容类型
|
|
|
|
|
- 常用选项包括:JSON、Form等
|
|
|
|
|
|
|
|
|
|
- **超时和重试设置**(可选项):
|
|
|
|
|
- 与GET请求配置相同
|
|
|
|
|
|
|
|
|
|
3. **响应处理配置**:
|
|
|
|
|
- **响应数据映射**:
|
|
|
|
|
- 将响应数据映射到任务变量
|
|
|
|
|
- 支持提取特定字段或整个响应体
|
|
|
|
|
|
|
|
|
|
- **响应状态处理**:
|
|
|
|
|
- 根据HTTP状态码定义成功和失败条件
|
|
|
|
|
- 为不同状态码配置不同的处理逻辑
|
|
|
|
|
|
|
|
|
|
- **错误处理**:
|
|
|
|
|
- 定义请求失败时的处理策略
|
|
|
|
|
- 选项包括:继续执行、终止任务、跳转到指定节点等
|
|
|
|
|
|
|
|
|
|
4. **参数值格式**:
|
|
|
|
|
- **简单值**:直接输入的固定值
|
|
|
|
|
- **JSON**:以JSON格式输入的复杂数据结构
|
|
|
|
|
- **表达式**:使用`${}`语法引用变量或编写表达式
|
|
|
|
|
|
|
|
|
|
#### HTTP请求响应数据
|
|
|
|
|
|
|
|
|
|
HTTP请求组件执行后,会生成以下响应数据:
|
|
|
|
|
|
|
|
|
|
1. **GET请求响应**:
|
|
|
|
|
- 存储在`blocks.bX.response`变量中(其中bX为组件ID)
|
|
|
|
|
- 可以在后续组件中引用该变量
|
|
|
|
|
- 支持使用路径表达式提取嵌套数据
|
|
|
|
|
|
|
|
|
|
2. **POST请求响应**:
|
|
|
|
|
- 同样存储在`blocks.bX.response`变量中
|
|
|
|
|
- 对于JSON响应,支持使用点表示法访问属性
|
|
|
|
|
- 例如:`${blocks.b2.response.data.id}`
|
|
|
|
|
|
|
|
|
|
### 任务组件功能详细说明
|
|
|
|
|
|
|
|
|
|
任务组件是天风任务模块低代码配置工具中的核心系统模块,它提供了一系列用于任务数据管理、流程控制和状态操作的功能。作为内置的系统模块,任务组件为编辑处理流程提供了强大的支持,使用户能够轻松地实现任务数据的存储、获取、清除和管理,以及任务状态的控制和事件的触发。
|
|
|
|
|
|
|
|
|
|
任务组件主要包括以下功能类别:
|
|
|
|
|
|
|
|
|
|
1. **数据存储与获取**:
|
|
|
|
|
- 缓存数据:将数据临时存储在任务上下文中
|
|
|
|
|
- 清除缓存数据:清除已缓存的临时数据
|
|
|
|
|
- 获取缓存数据:读取已缓存的临时数据
|
|
|
|
|
- 获取任务的输入参数:读取传递给任务的输入参数
|
|
|
|
|
|
|
|
|
|
2. **任务状态控制**:
|
|
|
|
|
- 设置任务状态:修改任务的当前状态
|
|
|
|
|
- 跳到某个块:在任务流程中跳转到指定的节点
|
|
|
|
|
|
|
|
|
|
3. **变量管理**:
|
|
|
|
|
- 设置任务变量:定义或修改任务的变量
|
|
|
|
|
|
|
|
|
|
### 任务组件参数配置界面
|
|
|
|
|
|
|
|
|
|
当将任务组件从左侧组件面板拖拽到流程编辑区后,需要对组件进行参数配置。任务组件参数配置界面会根据组件类型的不同而有所差异,主要包含以下几个部分:
|
|
|
|
|
|
|
|
|
|
#### 1. 缓存数据组件参数配置界面
|
|
|
|
|
|
|
|
|
|
缓存数据组件用于将数据临时存储在任务上下文中,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"缓存数据 b1"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **缓存key**(必选项):
|
|
|
|
|
- 指定缓存数据的唯一标识符
|
|
|
|
|
- 用于后续获取或清除该缓存数据
|
|
|
|
|
- 支持使用简单值或表达式
|
|
|
|
|
|
|
|
|
|
- **缓存value**(必选项):
|
|
|
|
|
- 指定要缓存的数据值
|
|
|
|
|
- 支持简单值、JSON格式或表达式
|
|
|
|
|
- 可以引用任务变量或输入参数
|
|
|
|
|
|
|
|
|
|
- **参数值格式**:
|
|
|
|
|
- 支持简单值和JSON格式的参数输入
|
|
|
|
|
- 提供参数格式切换功能
|
|
|
|
|
|
|
|
|
|
#### 2. 清除缓存数据组件参数配置界面
|
|
|
|
|
|
|
|
|
|
清除缓存数据组件用于清除已缓存的临时数据,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"清除缓存数据 b2"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **key**(必选项):
|
|
|
|
|
- 指定要清除的缓存数据的标识符
|
|
|
|
|
- 与缓存数据组件中的缓存key对应
|
|
|
|
|
|
|
|
|
|
#### 3. 获取缓存数据组件参数配置界面
|
|
|
|
|
|
|
|
|
|
获取缓存数据组件用于读取已缓存的临时数据,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"获取缓存数据 b3"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **缓存key**(必选项):
|
|
|
|
|
- 指定要获取的缓存数据的标识符
|
|
|
|
|
- 与缓存数据组件中的缓存key对应
|
|
|
|
|
|
|
|
|
|
- **响应数据**:
|
|
|
|
|
- 获取的缓存数据将存储在`blocks.b3.value`变量中
|
|
|
|
|
- 可以在后续组件中通过`${blocks.b3.value}`引用
|
|
|
|
|
|
|
|
|
|
#### 4. 获取任务的输入参数组件参数配置界面
|
|
|
|
|
|
|
|
|
|
获取任务的输入参数组件用于读取传递给任务的输入参数,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"获取任务的输入参数 b4"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **任务实例 Id**(必选项):
|
|
|
|
|
- 指定要获取输入参数的任务实例ID
|
|
|
|
|
- 可以使用表达式引用变量
|
|
|
|
|
|
|
|
|
|
- **输入参数名**(必选项):
|
|
|
|
|
- 指定要获取的输入参数的名称
|
|
|
|
|
- 与任务创建时定义的输入参数对应
|
|
|
|
|
|
|
|
|
|
- **响应数据**:
|
|
|
|
|
- 获取的输入参数值将存储在`blocks.b4.inputParamValue`变量中
|
|
|
|
|
- 可以在后续组件中通过`${blocks.b4.inputParamValue}`引用
|
|
|
|
|
|
|
|
|
|
#### 5. 设置任务状态组件参数配置界面
|
|
|
|
|
|
|
|
|
|
设置任务状态组件用于修改任务的当前状态,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"设置任务状态 b5"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **状态描述**(必选项):
|
|
|
|
|
- 指定要设置的任务状态描述
|
|
|
|
|
- 可以使用简单值或表达式
|
|
|
|
|
- 用于记录任务状态变更的原因或说明
|
|
|
|
|
|
|
|
|
|
#### 6. 跳到某个块组件参数配置界面
|
|
|
|
|
|
|
|
|
|
跳到某个块组件用于在任务流程中跳转到指定的节点,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"跳到某个块 b6"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **跳到块的标识**(必选项):
|
|
|
|
|
- 指定要跳转到的目标块的标识符
|
|
|
|
|
- 可以使用简单值或表达式
|
|
|
|
|
- 必须是流程中已存在的有效块ID
|
|
|
|
|
|
|
|
|
|
#### 7. 设置任务变量组件参数配置界面
|
|
|
|
|
|
|
|
|
|
设置任务变量组件用于定义或修改任务的变量,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"设置任务变量 b1"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **变量名**(必选项):
|
|
|
|
|
- 指定要设置的变量名称
|
|
|
|
|
- 用于在任务执行过程中引用该变量
|
|
|
|
|
- 支持使用简单值
|
|
|
|
|
|
|
|
|
|
- **变量值**(必选项):
|
|
|
|
|
- 指定要设置的变量值
|
|
|
|
|
- 支持简单值、JSON格式或表达式
|
|
|
|
|
- 可以引用任务变量或输入参数
|
|
|
|
|
|
|
|
|
|
- **参数值格式**:
|
|
|
|
|
- 支持简单值和JSON格式的参数输入
|
|
|
|
|
- 提供参数格式切换功能
|
|
|
|
|
- 可以使用JSON格式设置复杂的数据结构
|
|
|
|
|
|
|
|
|
|
详细信息请参考[任务组件详细说明文档](天风任务-任务组件说明.md)。
|
|
|
|
|
|
|
|
|
|
## 流程组件功能详细说明
|
|
|
|
|
|
|
|
|
|
流程组件是天风任务模块低代码配置工具中的核心系统模块,它提供了一系列用于控制任务执行流程的功能。流程组件包含了所有流程的基本逻辑,如条件判断、循环执行、并行处理、异常处理等,使用户能够灵活地设计复杂的任务执行路径,实现各种业务场景下的流程控制需求。
|
|
|
|
|
|
|
|
|
|
流程组件主要包括以下类型:
|
|
|
|
|
|
|
|
|
|
1. **条件控制组件**:
|
|
|
|
|
- **break**:中断当前循环,跳出循环体
|
|
|
|
|
- **延迟**:暂停流程执行一段时间
|
|
|
|
|
- **If**:单条件判断,满足条件时执行指定分支
|
|
|
|
|
- **If-Else**:双分支条件判断,根据条件执行不同分支
|
|
|
|
|
- **If-Else-If**:多分支条件判断,支持多个条件和对应分支
|
|
|
|
|
- **return**:结束当前流程并返回结果
|
|
|
|
|
- **while**:基于条件的循环,当条件满足时重复执行
|
|
|
|
|
|
|
|
|
|
2. **数据处理组件**:
|
|
|
|
|
- **遍历数组**:对数组中的每个元素执行指定操作
|
|
|
|
|
|
|
|
|
|
3. **并行处理组件**:
|
|
|
|
|
- **并行执行**:同时执行多个分支
|
|
|
|
|
- **并发执行N次**:并行执行同一流程多次
|
|
|
|
|
- **串行执行**:按顺序执行多个分支
|
|
|
|
|
- **串行执行N次**:重复执行同一流程多次
|
|
|
|
|
|
|
|
|
|
4. **异常处理组件**:
|
|
|
|
|
- **抛出异常**:主动抛出异常,中断当前流程
|
|
|
|
|
- **停止其他的并行分支**:在并行执行中停止其他分支的执行
|
|
|
|
|
|
|
|
|
|
详细信息请参考[流程组件详细说明文档](天风任务-流程组件说明.md)。
|
|
|
|
|
|
|
|
|
|
## 基础组件功能详细说明
|
|
|
|
|
|
|
|
|
|
基础组件是天风任务模块低代码配置工具中的核心功能组件集合,提供了一系列常用的基础功能,如数据验证、ID生成、时间处理、数据库操作、数据转换等。这些组件作为任务流程中的基础构建块,可以满足大多数常见的业务需求,无需编写复杂的代码即可实现各种基础功能。
|
|
|
|
|
|
|
|
|
|
基础组件主要包括以下类型:
|
|
|
|
|
|
|
|
|
|
1. **数据验证组件**:
|
|
|
|
|
- **校验任务实例Id是否存在**:验证指定的任务实例ID是否在系统中存在
|
|
|
|
|
|
|
|
|
|
2. **ID生成组件**:
|
|
|
|
|
- **创建唯一-id**:生成全局唯一的标识符
|
|
|
|
|
|
|
|
|
|
3. **时间处理组件**:
|
|
|
|
|
- **当前时间戳**:获取当前的时间戳(毫秒级)
|
|
|
|
|
- **当前时间**:获取格式化的当前时间
|
|
|
|
|
|
|
|
|
|
4. **数据库操作组件**:
|
|
|
|
|
- **执行sql**:执行SQL语句进行数据库操作(增、删、改)
|
|
|
|
|
- **查询sql**:执行SQL查询语句获取数据
|
|
|
|
|
|
|
|
|
|
5. **数据转换组件**:
|
|
|
|
|
- **字符串Md5加密**:将字符串进行MD5加密
|
|
|
|
|
- **将字符串转换成JSON数组**:将JSON格式的字符串转换为JSON数组对象
|
|
|
|
|
- **将字符串转换成JSON对象**:将JSON格式的字符串转换为JSON对象
|
|
|
|
|
|
|
|
|
|
6. **打印组件**:
|
|
|
|
|
- **打印**:将数据发送到打印设备进行打印
|
|
|
|
|
|
|
|
|
|
详细信息请参考[基础组件详细说明文档](天风任务-基础组件说明.md)。
|
|
|
|
|
|
|
|
|
|
### 基础组件参数配置界面
|
|
|
|
|
|
|
|
|
|
当将基础组件从左侧组件面板拖拽到流程编辑区后,需要对组件进行参数配置。基础组件参数配置界面会根据组件类型的不同而有所差异,主要包含以下几个部分:
|
|
|
|
|
|
|
|
|
|
#### 1. 校验任务实例Id是否存在组件参数配置界面
|
|
|
|
|
|
|
|
|
|
校验任务实例Id是否存在组件用于验证指定的任务实例ID是否在系统中存在,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"校验任务实例Id是否存在 b1"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **任务实例Id**(必选项):
|
|
|
|
|
- 指定要验证的任务实例ID
|
|
|
|
|
- 支持使用简单值或表达式
|
|
|
|
|
- 可以引用任务变量或输入参数
|
|
|
|
|
|
|
|
|
|
- **响应数据**:
|
|
|
|
|
- 验证结果将存储在`blocks.b1.exists`变量中
|
|
|
|
|
- 返回布尔值,表示任务实例ID是否存在
|
|
|
|
|
- 可以在后续组件中通过`${blocks.b1.exists}`引用
|
|
|
|
|
|
|
|
|
|
#### 2. 创建唯一-id组件参数配置界面
|
|
|
|
|
|
|
|
|
|
创建唯一-id组件用于生成全局唯一的标识符,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"创建唯一-id b2"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **ID类型**(可选项):
|
|
|
|
|
- 指定生成的ID类型,如UUID、自增ID等
|
|
|
|
|
- 默认为UUID格式
|
|
|
|
|
|
|
|
|
|
- **前缀**(可选项):
|
|
|
|
|
- 指定ID的前缀字符串
|
|
|
|
|
- 可用于区分不同业务场景的ID
|
|
|
|
|
|
|
|
|
|
- **响应数据**:
|
|
|
|
|
- 生成的唯一ID将存储在`blocks.b2.id`变量中
|
|
|
|
|
- 可以在后续组件中通过`${blocks.b2.id}`引用
|
|
|
|
|
|
|
|
|
|
#### 3. 当前时间戳组件参数配置界面
|
|
|
|
|
|
|
|
|
|
当前时间戳组件用于获取当前的时间戳,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"当前时间戳 b3"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **时间单位**(可选项):
|
|
|
|
|
- 指定时间戳的单位,如毫秒、秒等
|
|
|
|
|
- 默认为毫秒级时间戳
|
|
|
|
|
|
|
|
|
|
- **响应数据**:
|
|
|
|
|
- 当前时间戳将存储在`blocks.b3.timestamp`变量中
|
|
|
|
|
- 可以在后续组件中通过`${blocks.b3.timestamp}`引用
|
|
|
|
|
|
|
|
|
|
#### 4. 执行sql组件参数配置界面
|
|
|
|
|
|
|
|
|
|
执行sql组件用于执行SQL语句进行数据库操作,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"执行sql b4"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **sql语句**(必选项):
|
|
|
|
|
- 指定要执行的SQL语句
|
|
|
|
|
- 支持INSERT、UPDATE、DELETE等操作
|
|
|
|
|
- 可以使用参数化SQL语句,使用?作为参数占位符
|
|
|
|
|
|
|
|
|
|
- **sql参数**(可选项):
|
|
|
|
|
- 指定SQL语句中参数占位符的值
|
|
|
|
|
- 支持简单值、JSON格式或表达式
|
|
|
|
|
- 可以引用任务变量或输入参数
|
|
|
|
|
|
|
|
|
|
- **响应数据**:
|
|
|
|
|
- 执行结果将存储在`blocks.b4.result`变量中
|
|
|
|
|
- 返回影响的行数和执行状态
|
|
|
|
|
- 可以在后续组件中通过`${blocks.b4.result}`引用
|
|
|
|
|
|
|
|
|
|
#### 5. 查询sql组件参数配置界面
|
|
|
|
|
|
|
|
|
|
查询sql组件用于执行SQL查询语句获取数据,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"查询sql b5"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **sql语句**(必选项):
|
|
|
|
|
- 指定要执行的SQL查询语句
|
|
|
|
|
- 支持SELECT操作
|
|
|
|
|
- 可以使用参数化SQL语句,使用?作为参数占位符
|
|
|
|
|
|
|
|
|
|
- **sql参数**(可选项):
|
|
|
|
|
- 指定SQL语句中参数占位符的值
|
|
|
|
|
- 支持简单值、JSON格式或表达式
|
|
|
|
|
- 可以引用任务变量或输入参数
|
|
|
|
|
|
|
|
|
|
- **响应数据**:
|
|
|
|
|
- 查询结果将存储在`blocks.b5.result`变量中
|
|
|
|
|
- 返回查询结果集,可能是单行数据、多行数据或空结果
|
|
|
|
|
- 可以在后续组件中通过`${blocks.b5.result}`引用
|
|
|
|
|
|
|
|
|
|
#### 6. 字符串Md5加密组件参数配置界面
|
|
|
|
|
|
|
|
|
|
字符串Md5加密组件用于将字符串进行MD5加密,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"字符串Md5加密 b6"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **字符串**(必选项):
|
|
|
|
|
- 指定要加密的字符串
|
|
|
|
|
- 支持简单值或表达式
|
|
|
|
|
- 可以引用任务变量或输入参数
|
|
|
|
|
|
|
|
|
|
- **大小写**(可选项):
|
|
|
|
|
- 指定加密结果的大小写格式
|
|
|
|
|
- 可选值:大写、小写
|
|
|
|
|
- 默认为小写
|
|
|
|
|
|
|
|
|
|
- **盐值**(可选项):
|
|
|
|
|
- 指定加密使用的盐值
|
|
|
|
|
- 用于增强加密安全性
|
|
|
|
|
|
|
|
|
|
- **响应数据**:
|
|
|
|
|
- 加密结果将存储在`blocks.b6.md5`变量中
|
|
|
|
|
- 返回MD5加密后的字符串
|
|
|
|
|
- 可以在后续组件中通过`${blocks.b6.md5}`引用
|
|
|
|
|
|
|
|
|
|
#### 7. 将字符串转换成JSON数组组件参数配置界面
|
|
|
|
|
|
|
|
|
|
将字符串转换成JSON数组组件用于将JSON格式的字符串转换为JSON数组对象,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"将字符串转换成JSON数组 b7"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **需要转换的字符串**(必选项):
|
|
|
|
|
- 指定要转换的JSON格式字符串
|
|
|
|
|
- 支持简单值或表达式
|
|
|
|
|
- 可以引用任务变量或输入参数
|
|
|
|
|
|
|
|
|
|
- **默认值**(可选项):
|
|
|
|
|
- 指定转换失败时的默认值
|
|
|
|
|
- 默认为空数组 []
|
|
|
|
|
|
|
|
|
|
- **响应数据**:
|
|
|
|
|
- 转换结果将存储在`blocks.b7.jsonArray`变量中
|
|
|
|
|
- 返回JSON数组对象
|
|
|
|
|
- 可以在后续组件中通过`${blocks.b7.jsonArray}`引用
|
|
|
|
|
|
|
|
|
|
#### 8. 将字符串转换成JSON对象组件参数配置界面
|
|
|
|
|
|
|
|
|
|
将字符串转换成JSON对象组件用于将JSON格式的字符串转换为JSON对象,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"将字符串转换成JSON对象 b8"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **需要转换的字符串**(必选项):
|
|
|
|
|
- 指定要转换的JSON格式字符串
|
|
|
|
|
- 支持简单值或表达式
|
|
|
|
|
- 可以引用任务变量或输入参数
|
|
|
|
|
|
|
|
|
|
- **默认值**(可选项):
|
|
|
|
|
- 指定转换失败时的默认值
|
|
|
|
|
- 默认为空对象 {}
|
|
|
|
|
|
|
|
|
|
- **响应数据**:
|
|
|
|
|
- 转换结果将存储在`blocks.b8.jsonObject`变量中
|
|
|
|
|
- 返回JSON对象
|
|
|
|
|
- 可以在后续组件中通过`${blocks.b8.jsonObject}`引用
|
|
|
|
|
- 支持使用点表示法访问对象属性,如`${blocks.b8.jsonObject.name}`
|
|
|
|
|
|
|
|
|
|
#### 9. 打印组件参数配置界面
|
|
|
|
|
|
|
|
|
|
打印组件用于将数据发送到打印设备进行打印,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"打印 b9"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **打印内容**(必选项):
|
|
|
|
|
- 指定要打印的内容
|
|
|
|
|
- 支持简单值、JSON格式或表达式
|
|
|
|
|
- 可以引用任务变量或输入参数
|
|
|
|
|
- 可以包含格式化文本或HTML内容
|
|
|
|
|
|
|
|
|
|
- **打印机**(可选项):
|
|
|
|
|
- 指定目标打印设备
|
|
|
|
|
- 默认使用系统默认打印机
|
|
|
|
|
- 可以通过名称或ID指定特定打印机
|
|
|
|
|
|
|
|
|
|
- **打印份数**(可选项):
|
|
|
|
|
- 指定打印的份数
|
|
|
|
|
- 默认为1份
|
|
|
|
|
- 支持使用表达式动态设置
|
|
|
|
|
|
|
|
|
|
- **打印选项**(可选项):
|
|
|
|
|
- 指定其他打印选项,如纸张大小、方向等
|
|
|
|
|
- 支持JSON格式配置
|
|
|
|
|
- 可以设置页边距、缩放比例等高级选项
|
|
|
|
|
|
|
|
|
|
- **响应数据**:
|
|
|
|
|
- 打印结果将存储在`blocks.b9.result`变量中
|
|
|
|
|
- 返回打印状态和结果信息
|
|
|
|
|
- 可以在后续组件中通过`${blocks.b9.result}`引用
|
|
|
|
|
- 包含打印是否成功、错误信息等状态数据
|
|
|
|
|
|
|
|
|
|
## 库位组件功能详细说明
|
|
|
|
|
|
|
|
|
|
库位组件是天风任务模块低代码配置工具中的专用功能组件集合,提供了一系列用于管理和操作仓库库位的功能。这些组件使AMR调度系统能够高效地执行库位相关的操作,如库位设置、查询、锁定/解锁、状态修改等,为仓库管理和物流操作提供了强大的支持。
|
|
|
|
|
|
|
|
|
|
库位组件主要包括以下类型:
|
|
|
|
|
|
|
|
|
|
1. **库位设置组件**:
|
|
|
|
|
- **批量设置库位**:批量修改多个库位的状态或属性
|
|
|
|
|
- **设置库位扩展属性**:为库位添加或修改扩展属性
|
|
|
|
|
- **设置库位货物**:为库位分配或更新货物信息
|
|
|
|
|
- **设置库位为空**:将库位状态设置为空闲
|
|
|
|
|
- **设置库位为占用**:将库位状态设置为已占用
|
|
|
|
|
- **设置库位标签**:为库位设置标识标签
|
|
|
|
|
|
|
|
|
|
2. **库位获取组件**:
|
|
|
|
|
- **获取密集库位**:获取指定区域内的密集库位信息
|
|
|
|
|
- **获取库位扩展属性值**:读取库位的扩展属性值
|
|
|
|
|
|
|
|
|
|
3. **库位查询组件**:
|
|
|
|
|
- **查询库位**:根据条件查询库位信息
|
|
|
|
|
|
|
|
|
|
4. **库位锁定组件**:
|
|
|
|
|
- **锁定库位**:将库位状态设置为锁定
|
|
|
|
|
- **解锁库位**:解除库位的锁定状态
|
|
|
|
|
|
|
|
|
|
6. **特殊库位操作组件**:
|
|
|
|
|
- **根据任务实例ID获取所有加锁库位**:查询特定任务锁定的所有库位
|
|
|
|
|
|
|
|
|
|
详细信息请参考[库位组件详细说明文档](天风任务-库位组件说明.md)。
|
|
|
|
|
|
|
|
|
|
### 库位组件参数配置界面
|
|
|
|
|
|
|
|
|
|
当将库位组件从左侧组件面板拖拽到流程编辑区后,需要对组件进行参数配置。库位组件参数配置界面会根据组件类型的不同而有所差异,主要包含以下几个部分:
|
|
|
|
|
|
|
|
|
|
#### 1. 批量设置库位组件参数配置界面
|
|
|
|
|
|
|
|
|
|
批量设置库位组件用于批量修改多个库位的状态或属性,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"批量设置库位 b1"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **库位Ids**(必选项):
|
|
|
|
|
- 指定要设置的库位ID列表
|
|
|
|
|
- 支持使用简单值、JSON数组或表达式
|
|
|
|
|
- 可以引用任务变量或输入参数
|
|
|
|
|
|
|
|
|
|
- **库区集**(可选项):
|
|
|
|
|
- 指定要设置的库区范围
|
|
|
|
|
- 可以与库位Ids结合使用,扩大设置范围
|
|
|
|
|
|
|
|
|
|
- **占用**(可选项):
|
|
|
|
|
- 指定是否将库位设置为占用状态
|
|
|
|
|
- 可选值:是/否
|
|
|
|
|
|
|
|
|
|
- **是否物料**(可选项):
|
|
|
|
|
- 指定库位是否包含物料
|
|
|
|
|
- 可选值:是/否
|
|
|
|
|
|
|
|
|
|
- **是否物料锁定**(可选项):
|
|
|
|
|
- 指定库位中的物料是否被锁定
|
|
|
|
|
- 可选值:是/否
|
|
|
|
|
|
|
|
|
|
- **响应数据**:
|
|
|
|
|
- 设置结果将存储在`blocks.b1.siteId`变量中
|
|
|
|
|
- 返回操作影响的库位ID列表
|
|
|
|
|
- 可以在后续组件中通过`${blocks.b1.siteId}`引用
|
|
|
|
|
|
|
|
|
|
#### 2. 获取密集库位组件参数配置界面
|
|
|
|
|
|
|
|
|
|
获取密集库位组件用于获取指定区域内的密集库位信息,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"获取密集库位 b2"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **库区集**(必选项):
|
|
|
|
|
- 指定要查询的库区范围
|
|
|
|
|
- 支持使用简单值或表达式
|
|
|
|
|
- 可以引用任务变量或输入参数
|
|
|
|
|
|
|
|
|
|
- **取/放**(可选项):
|
|
|
|
|
- 指定库位的操作类型
|
|
|
|
|
- 可选值:取/放
|
|
|
|
|
- 用于筛选适合特定操作的库位
|
|
|
|
|
|
|
|
|
|
- **货物(取)**(可选项,当选择"取"操作时显示):
|
|
|
|
|
- 指定要取出的货物类型
|
|
|
|
|
- 用于筛选包含特定货物的库位
|
|
|
|
|
|
|
|
|
|
- **获取库位后是否自动锁定**(可选项):
|
|
|
|
|
- 指定是否自动锁定查询到的库位
|
|
|
|
|
- 防止其他任务使用同一库位
|
|
|
|
|
|
|
|
|
|
- **是否重试**(可选项):
|
|
|
|
|
- 指定查询失败时是否重试
|
|
|
|
|
- 可以设置重试次数和间隔
|
|
|
|
|
|
|
|
|
|
- **响应数据**:
|
|
|
|
|
- 查询结果将存储在`blocks.b2.siteId`变量中
|
|
|
|
|
- 返回符合条件的库位ID列表
|
|
|
|
|
- 可以在后续组件中通过`${blocks.b2.siteId}`引用
|
|
|
|
|
|
|
|
|
|
#### 3. 查询库位组件参数配置界面
|
|
|
|
|
|
|
|
|
|
查询库位组件用于根据条件查询库位信息,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"查询库位 b3"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **库位ID**(可选项):
|
|
|
|
|
- 指定要查询的特定库位ID
|
|
|
|
|
- 支持使用简单值或表达式
|
|
|
|
|
|
|
|
|
|
- **货物**(可选项):
|
|
|
|
|
- 指定要查询的货物类型
|
|
|
|
|
- 用于筛选包含特定货物的库位
|
|
|
|
|
|
|
|
|
|
- **是否有货物**(可选项):
|
|
|
|
|
- 指定是否查询包含货物的库位
|
|
|
|
|
- 可选值:是/否/不限
|
|
|
|
|
|
|
|
|
|
- **是否为公平锁**(可选项):
|
|
|
|
|
- 指定是否查询带有公平锁的库位
|
|
|
|
|
- 可选值:是/否/不限
|
|
|
|
|
|
|
|
|
|
- **是否为库存**(可选项):
|
|
|
|
|
- 指定是否查询库存类型的库位
|
|
|
|
|
- 可选值:是/否/不限
|
|
|
|
|
|
|
|
|
|
- **重试时间间隔(ms)**(可选项):
|
|
|
|
|
- 指定查询失败时的重试间隔
|
|
|
|
|
- 单位为毫秒
|
|
|
|
|
|
|
|
|
|
- **响应数据**:
|
|
|
|
|
- 查询结果将存储在`blocks.b3.siteId`变量中
|
|
|
|
|
- 返回符合条件的库位详细信息
|
|
|
|
|
- 可以在后续组件中通过`${blocks.b3.siteId}`引用
|
|
|
|
|
|
|
|
|
|
#### 4. 根据任务实例ID获取所有加锁库位组件参数配置界面
|
|
|
|
|
|
|
|
|
|
根据任务实例ID获取所有加锁库位组件用于查询特定任务锁定的所有库位,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"根据任务实例ID获取所有加锁库位 b4"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **任务实例Id**(必选项):
|
|
|
|
|
- 指定要查询的任务实例ID
|
|
|
|
|
- 支持使用简单值或表达式
|
|
|
|
|
- 可以引用任务变量或输入参数
|
|
|
|
|
|
|
|
|
|
- **响应数据**:
|
|
|
|
|
- 查询结果将存储在`blocks.b4.siteId`变量中
|
|
|
|
|
- 返回该任务锁定的所有库位ID列表
|
|
|
|
|
- 可以在后续组件中通过`${blocks.b4.siteId}`引用
|
|
|
|
|
|
|
|
|
|
#### 5. 获取库位扩展属性值组件参数配置界面
|
|
|
|
|
|
|
|
|
|
获取库位扩展属性值组件用于读取库位的扩展属性值,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"获取库位扩展属性值 b5"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **库位Id**(必选项):
|
|
|
|
|
- 指定要查询的库位ID
|
|
|
|
|
- 支持使用简单值或表达式
|
|
|
|
|
|
|
|
|
|
- **属性名称**(必选项):
|
|
|
|
|
- 指定要获取的扩展属性名称
|
|
|
|
|
- 必须是库位已定义的有效属性名
|
|
|
|
|
|
|
|
|
|
- **响应数据**:
|
|
|
|
|
- 查询结果将存储在`blocks.b5.value`变量中
|
|
|
|
|
- 返回指定属性的值
|
|
|
|
|
- 可以在后续组件中通过`${blocks.b5.value}`引用
|
|
|
|
|
|
|
|
|
|
#### 6. 锁定库位组件参数配置界面
|
|
|
|
|
|
|
|
|
|
锁定库位组件用于将库位状态设置为锁定,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"锁定库位 b6"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **库位Id**(必选项):
|
|
|
|
|
- 指定要锁定的库位ID
|
|
|
|
|
- 支持使用简单值或表达式
|
|
|
|
|
|
|
|
|
|
- **锁定原因**(可选项):
|
|
|
|
|
- 指定锁定库位的原因
|
|
|
|
|
- 用于记录锁定操作的目的
|
|
|
|
|
|
|
|
|
|
- **锁定时间**(可选项):
|
|
|
|
|
- 指定锁定的持续时间
|
|
|
|
|
- 超过该时间后自动解锁
|
|
|
|
|
|
|
|
|
|
- **响应数据**:
|
|
|
|
|
- 锁定结果将存储在`blocks.b6.result`变量中
|
|
|
|
|
- 返回锁定操作的状态和结果
|
|
|
|
|
- 可以在后续组件中通过`${blocks.b6.result}`引用
|
|
|
|
|
|
|
|
|
|
#### 7. 解锁库位组件参数配置界面
|
|
|
|
|
|
|
|
|
|
解锁库位组件用于解除库位的锁定状态,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"解锁库位 b7"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **库位Id**(必选项):
|
|
|
|
|
- 指定要解锁的库位ID
|
|
|
|
|
- 支持使用简单值或表达式
|
|
|
|
|
- 可以引用任务变量或输入参数
|
|
|
|
|
|
|
|
|
|
- **解锁原因**(可选项):
|
|
|
|
|
- 指定解锁库位的原因
|
|
|
|
|
- 用于记录解锁操作的目的
|
|
|
|
|
|
|
|
|
|
- **响应数据**:
|
|
|
|
|
- 解锁结果将存储在`blocks.b7.result`变量中
|
|
|
|
|
- 返回解锁操作的状态和结果
|
|
|
|
|
- 可以在后续组件中通过`${blocks.b7.result}`引用
|
|
|
|
|
|
|
|
|
|
#### 8. 查询库位组件参数配置界面
|
|
|
|
|
|
|
|
|
|
查询库位组件用于根据条件查询库位信息,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"查询库位 b1"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **库位ID**(可选项):
|
|
|
|
|
- 指定要查询的特定库位ID
|
|
|
|
|
- 支持使用简单值或表达式
|
|
|
|
|
|
|
|
|
|
- **货物**(可选项):
|
|
|
|
|
- 指定要查询的货物类型
|
|
|
|
|
- 用于筛选包含特定货物的库位
|
|
|
|
|
|
|
|
|
|
- **是否有货物**(可选项):
|
|
|
|
|
- 指定是否查询包含货物的库位
|
|
|
|
|
- 可选值:是/否/不限
|
|
|
|
|
|
|
|
|
|
- **是否已锁定**(可选项):
|
|
|
|
|
- 指定是否查询已锁定的库位
|
|
|
|
|
- 可选值:是/否/不限
|
|
|
|
|
|
|
|
|
|
- **是否物理库位**(可选项):
|
|
|
|
|
- 指定是否查询物理库位
|
|
|
|
|
- 可选值:是/否/不限
|
|
|
|
|
|
|
|
|
|
- **库区名**(可选项):
|
|
|
|
|
- 指定要查询的库区名称
|
|
|
|
|
- 用于筛选特定区域的库位
|
|
|
|
|
|
|
|
|
|
- **是否为顺序**(可选项):
|
|
|
|
|
- 指定查询结果的排序方式
|
|
|
|
|
- 可选值:是/否
|
|
|
|
|
|
|
|
|
|
- **响应数据**:
|
|
|
|
|
- 查询结果将存储在`blocks.b1.site`变量中
|
|
|
|
|
- 返回符合条件的库位详细信息
|
|
|
|
|
- 可以在后续组件中通过`${blocks.b1.site}`引用
|
|
|
|
|
|
|
|
|
|
#### 9. 设置库位扩展属性组件参数配置界面
|
|
|
|
|
|
|
|
|
|
设置库位扩展属性组件用于为库位添加或修改扩展属性,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"设置库位扩展属性 b2"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **库位Id**(必选项):
|
|
|
|
|
- 指定要设置扩展属性的库位ID
|
|
|
|
|
- 支持使用简单值或表达式
|
|
|
|
|
|
|
|
|
|
- **属性名称**(必选项):
|
|
|
|
|
- 指定要设置的扩展属性名称
|
|
|
|
|
- 用于标识该属性的唯一名称
|
|
|
|
|
|
|
|
|
|
- **属性值**(必选项):
|
|
|
|
|
- 指定要设置的扩展属性值
|
|
|
|
|
- 支持简单值、JSON格式或表达式
|
|
|
|
|
- 可以引用任务变量或输入参数
|
|
|
|
|
|
|
|
|
|
- **响应数据**:
|
|
|
|
|
- 设置结果将存储在相关变量中
|
|
|
|
|
- 返回操作的状态和结果
|
|
|
|
|
- 可以在后续组件中引用
|
|
|
|
|
|
|
|
|
|
#### 10. 设置库位货物组件参数配置界面
|
|
|
|
|
|
|
|
|
|
设置库位货物组件用于为库位分配或更新货物信息,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"设置库位货物 b3"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **库位Id**(必选项):
|
|
|
|
|
- 指定要设置货物的库位ID
|
|
|
|
|
- 支持使用简单值或表达式
|
|
|
|
|
|
|
|
|
|
- **货物**(必选项):
|
|
|
|
|
- 指定要设置的货物类型
|
|
|
|
|
- 用于标识库位中存放的货物
|
|
|
|
|
|
|
|
|
|
- **响应数据**:
|
|
|
|
|
- 设置结果将存储在相关变量中
|
|
|
|
|
- 返回操作的状态和结果
|
|
|
|
|
- 可以在后续组件中引用
|
|
|
|
|
|
|
|
|
|
#### 11. 设置库位为空组件参数配置界面
|
|
|
|
|
|
|
|
|
|
设置库位为空组件用于将库位状态设置为空闲,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"设置库位为空 b4"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **库位Id**(必选项):
|
|
|
|
|
- 指定要设置为空的库位ID
|
|
|
|
|
- 支持使用简单值或表达式
|
|
|
|
|
|
|
|
|
|
- **响应数据**:
|
|
|
|
|
- 设置结果将存储在相关变量中
|
|
|
|
|
- 返回操作的状态和结果
|
|
|
|
|
- 可以在后续组件中引用
|
|
|
|
|
|
|
|
|
|
#### 12. 设置库位为占用组件参数配置界面
|
|
|
|
|
|
|
|
|
|
设置库位为占用组件用于将库位状态设置为已占用,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"设置库位为占用 b5"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **库位Id**(必选项):
|
|
|
|
|
- 指定要设置为占用的库位ID
|
|
|
|
|
- 支持使用简单值或表达式
|
|
|
|
|
|
|
|
|
|
- **响应数据**:
|
|
|
|
|
- 设置结果将存储在相关变量中
|
|
|
|
|
- 返回操作的状态和结果
|
|
|
|
|
- 可以在后续组件中引用
|
|
|
|
|
|
|
|
|
|
#### 13. 设置库位标签组件参数配置界面
|
|
|
|
|
|
|
|
|
|
设置库位标签组件用于为库位设置标识标签,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"设置库位标签 b1"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **库位Id**(必选项):
|
|
|
|
|
- 指定要设置标签的库位ID
|
|
|
|
|
- 支持使用简单值或表达式
|
|
|
|
|
|
|
|
|
|
- **标签**(必选项):
|
|
|
|
|
- 指定要设置的标签内容
|
|
|
|
|
- 用于标识和分类库位
|
|
|
|
|
- 支持使用简单值或表达式
|
|
|
|
|
|
|
|
|
|
- **响应数据**:
|
|
|
|
|
- 设置结果将存储在相关变量中
|
|
|
|
|
- 返回操作的状态和结果
|
|
|
|
|
- 可以在后续组件中引用
|
|
|
|
|
|
|
|
|
|
#### 14. 解锁库位组件参数配置界面
|
|
|
|
|
|
|
|
|
|
解锁库位组件用于解除库位的锁定状态,其配置界面包含以下部分:
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:
|
|
|
|
|
- 显示组件的名称和类型,例如:"解锁库位 b2"
|
|
|
|
|
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- **库位Id**(必选项):
|
|
|
|
|
- 指定要解锁的库位ID
|
|
|
|
|
- 支持使用简单值或表达式
|
|
|
|
|
|
|
|
|
|
- **解锁原因**(可选项):
|
|
|
|
|
- 指定解锁库位的原因
|
|
|
|
|
- 用于记录解锁操作的目的
|
|
|
|
|
- 支持使用简单值或表达式
|
|
|
|
|
|
|
|
|
|
- **响应数据**:
|
|
|
|
|
- 解锁结果将存储在相关变量中
|
|
|
|
|
- 返回解锁操作的状态和结果
|
|
|
|
|
- 可以在后续组件中引用
|
|
|
|
|
|
|
|
|
|
## 机器人调度组件功能详细说明
|
|
|
|
|
|
|
|
|
|
机器人调度组件是天风任务模块低代码配置工具中的核心功能组件集合,提供了一系列用于控制和管理AMR机器人的功能。这些组件使用户能够在任务流程中实现机器人的调度、控制、状态监控和异常处理,为自动化物流和生产场景提供了强大的支持。
|
|
|
|
|
|
|
|
|
|
机器人调度组件主要包括以下类型:
|
|
|
|
|
|
|
|
|
|
1. **机器人选择与分配组件**:
|
|
|
|
|
- **选择执行机器人**:根据条件选择合适的机器人执行任务
|
|
|
|
|
- **获取机器人位置**:获取指定机器人的当前位置信息
|
|
|
|
|
|
|
|
|
|
2. **机器人移动控制组件**:
|
|
|
|
|
- **机器人通用动作**:控制机器人执行通用动作,如前进、后退、转向等
|
|
|
|
|
- **机器人更换目的地**:在任务执行过程中更改机器人的目标位置
|
|
|
|
|
|
|
|
|
|
3. **机器人状态管理组件**:
|
|
|
|
|
- **获取机器人电量**:获取指定机器人的当前电量信息
|
|
|
|
|
- **获取机器人PGV码**:获取机器人的PGV(Position Guided Vehicle)定位码
|
|
|
|
|
|
|
|
|
|
机器人调度组件适用于多种场景,包括:
|
|
|
|
|
- 物料搬运:工厂、仓库中的物料和货物运输
|
|
|
|
|
- 智能分拣:电商、物流中心的包裹分拣
|
|
|
|
|
- 巡检任务:工厂、园区的安全和设备巡检
|
|
|
|
|
- 清洁作业:大型场所的自动化清洁
|
|
|
|
|
- 应急响应:异常情况下的机器人调度和控制
|
|
|
|
|
|
|
|
|
|
详细信息请参考[机器人调度组件详细说明文档](天风任务-机器人调度组件说明.md)。
|
|
|
|
|
|
|
|
|
|
### 机器人调度组件参数配置界面
|
|
|
|
|
|
|
|
|
|
当将机器人调度组件从左侧组件面板拖拽到流程编辑区后,需要对组件进行参数配置。各组件的参数配置界面主要包含以下几个部分:
|
|
|
|
|
|
|
|
|
|
#### 1. 选择执行机器人组件参数配置
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:显示组件名称和类型
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- 优先级:指定机器人选择的优先级策略(距离优先、电量优先等)
|
|
|
|
|
- 指定机器人:直接指定要使用的机器人ID
|
|
|
|
|
- 标签:根据机器人标签进行筛选
|
|
|
|
|
- 指定机器人组:从指定的机器人组中选择机器人
|
|
|
|
|
- 其他辅助选择参数:如关键路径、辅助选车动作、避让级别等
|
|
|
|
|
- **响应数据**:选择结果将存储在`blocks.bX.selectedAgvId`变量中
|
|
|
|
|
|
|
|
|
|
#### 2. 获取机器人位置组件参数配置
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:显示组件名称和类型
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- 指定机器人:指定要获取位置的机器人ID(必选项)
|
|
|
|
|
- **响应数据**:位置信息将存储在`blocks.bX.station`变量中
|
|
|
|
|
|
|
|
|
|
#### 3. 机器人通用动作组件参数配置
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:显示组件名称和类型
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- 目标站点名:指定机器人要前往的目标站点(必选项)
|
|
|
|
|
- 动作完成回调:指定动作完成后的回调函数
|
|
|
|
|
- 货物编号:指定与动作相关的货物编号
|
|
|
|
|
- 速度和加速度参数:控制机器人移动性能的各项参数
|
|
|
|
|
- **响应数据**:动作执行结果将存储在相关变量中
|
|
|
|
|
|
|
|
|
|
#### 4. 机器人更换目的地组件参数配置
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:显示组件名称和类型
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- 目标站点名:指定机器人的新目标站点(必选项)
|
|
|
|
|
- 动作完成回调:指定目的地更改完成后的回调函数
|
|
|
|
|
- 货物编号:指定与目的地相关的货物编号
|
|
|
|
|
- 速度和加速度参数:控制机器人移动性能的各项参数
|
|
|
|
|
- **响应数据**:目的地更改结果将存储在相关变量中
|
|
|
|
|
|
|
|
|
|
#### 5. 获取机器人电量组件参数配置
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:显示组件名称和类型
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- 机器人AID:指定要获取电量的机器人ID(必选项)
|
|
|
|
|
- 界面中以红色星号标记,表示为必填项
|
|
|
|
|
- **参数值格式**:支持简单值和JSON格式,可通过下拉菜单选择
|
|
|
|
|
- **响应数据**:电量信息将存储在`blocks.bX.batteryLevel`变量中,返回电量百分比值(0-100)
|
|
|
|
|
|
|
|
|
|
#### 6. 获取机器人PGV码组件参数配置
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:显示组件名称和类型
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- 机器人AID:指定要获取PGV码的机器人ID(必选项)
|
|
|
|
|
- 界面中以红色星号标记,表示为必填项
|
|
|
|
|
- **参数值格式**:支持简单值和JSON格式,可通过下拉菜单选择
|
|
|
|
|
- **响应数据**:PGV码信息将存储在`blocks.bX.codeInfo`变量中,包含PGV码值、读取时间、坐标信息和状态信息
|
|
|
|
|
|
|
|
|
|
机器人调度组件适用于多种场景,包括:
|
|
|
|
|
- 物料搬运:工厂、仓库中的物料和货物运输
|
|
|
|
|
- 智能分拣:电商、物流中心的包裹分拣
|
|
|
|
|
- 巡检任务:工厂、园区的安全和设备巡检
|
|
|
|
|
- 清洁作业:大型场所的自动化清洁
|
|
|
|
|
- 应急响应:异常情况下的机器人调度和控制
|
|
|
|
|
|
|
|
|
|
详细信息请参考[机器人调度组件详细说明文档](天风任务-机器人调度组件说明.md)。
|
|
|
|
|
|
|
|
|
|
## 设备组件功能详细说明
|
|
|
|
|
|
|
|
|
|
设备组件是天风任务模块低代码配置工具中的专用功能组件集合,提供了用于与外部设备和控制系统进行通信和交互的功能。这些组件使AMR调度系统能够与工业自动化设备进行数据交换和控制,为自动化场景提供了支持。
|
|
|
|
|
|
|
|
|
|
设备组件主要包括以下类型:
|
|
|
|
|
|
|
|
|
|
1. **Modbus通信组件**:
|
|
|
|
|
- **通用等待Modbus值(Name)**:通过名称等待Modbus设备的特定值
|
|
|
|
|
- **通用写入Modbus值(Name)**:通过名称向Modbus设备写入数据
|
|
|
|
|
|
|
|
|
|
### 设备组件参数配置界面
|
|
|
|
|
|
|
|
|
|
当将设备组件从左侧组件面板拖拽到流程编辑区后,需要对组件进行参数配置。各组件的参数配置界面主要包含以下几个部分:
|
|
|
|
|
|
|
|
|
|
#### 1. 通用等待Modbus值(Name)组件参数配置
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:显示组件名称和类型
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- 目标值:指定等待的目标值(必选项)
|
|
|
|
|
- Name:指定预配置的Modbus变量名称(必选项)
|
|
|
|
|
- 地址编号:指定Modbus地址编号(可选项)
|
|
|
|
|
- 地址说明:提供地址的说明信息(可选项)
|
|
|
|
|
- **参数值格式**:支持简单值和JSON格式,可通过下拉菜单选择
|
|
|
|
|
- **响应数据**:等待结果将存储在相关变量中,可在后续组件中引用
|
|
|
|
|
|
|
|
|
|
#### 2. 通用写入Modbus值(Name)组件参数配置
|
|
|
|
|
|
|
|
|
|
- **基本信息区域**:显示组件名称和类型
|
|
|
|
|
- **核心参数配置**:
|
|
|
|
|
- 写入值:指定要写入的数据值(必选项)
|
|
|
|
|
- Name:指定预配置的Modbus变量名称(必选项)
|
|
|
|
|
- 地址编号:指定Modbus地址编号(可选项)
|
|
|
|
|
- 地址说明:提供地址的说明信息(可选项)
|
|
|
|
|
- **参数值格式**:支持简单值和JSON格式,可通过下拉菜单选择
|
|
|
|
|
- **响应数据**:写入结果将存储在相关变量中,可在后续组件中引用
|
|
|
|
|
|
|
|
|
|
设备组件适用于多种场景,包括:
|
|
|
|
|
- 工业自动化:与PLC、传感器、执行器等工业设备的通信和控制
|
|
|
|
|
- 设备监控:实时监控设备状态、参数和性能数据
|
|
|
|
|
- 数据采集:从各类设备采集数据用于分析和决策
|
|
|
|
|
- 设备控制:向设备发送控制指令,实现远程操作
|
|
|
|
|
- 系统集成:将AMR系统与现有工厂自动化系统集成
|
|
|
|
|
|
|
|
|
|
详细信息请参考[设备组件详细说明文档](天风任务-设备组件说明.md)。
|
|
|
|
|
|
|
|
|
|
## 附录
|
|
|
|
|
|
|
|
|
|
### 用户调研报告
|
|
|
|
|
|
|
|
|
|
根据用户调研,主要需求点包括:
|
|
|
|
|
- 简洁清晰的任务管理界面
|
|
|
|
|
- 实时的任务状态监控
|
|
|
|
|
- 灵活的任务创建和编辑功能
|
|
|
|
|
|
|
|
|
|
### 设计分析报告
|
|
|
|
|
|
|
|
|
|
界面设计原则:
|
|
|
|
|
- 简洁明了,突出重点信息
|
|
|
|
|
- 操作便捷,减少用户操作步骤
|
|
|
|
|
- 信息层次清晰,便于用户快速获取所需信息
|
|
|
|
|
- 响应式设计,适应不同设备和屏幕尺寸
|