背景程序插件
概述
背景程序插件是一个通用服务插件,为捷勃特机器人提供背景程序 I/O 信号处理功能。该插件通过 Web 界面实现对机器人 I/O 信号和寄存器的监控、配置和控制,支持可视化图形化编程,持续运行在机器人控制器中而不影响机器人主程序。
本插件支持信号触发信号、信号触发寄存器操作、寄存器间数据传递等复杂逻辑场景,通过积木块式的可视化编程界面,降低了用户使用门槛,提高了开发效率。
兼容 SDK 版本说明
本插件使用 SDK 版本 PYTHON_v2.0.0.0 开发,请确保您的机器人系统环境与此版本兼容。
打包说明
插件开发完毕后,需要使用捷勃特插件打包工具进行打包。详细的打包与安装说明请参考:
功能列表
插件提供以下核心功能:
- I/O 信号实时监控 - 实时监控数字量输入 / 输出信号状态
- 寄存器操作 - 支持 R、MH、MI 寄存器的读写和运算
- 背景程序管理 - 创建、编辑、删除、复制背景程序
- 程序导入导出 - 支持程序配置的导入导出(Web 模式 / U 盘模式)
- 系统配置管理 - 去抖滤波、信号订阅周期等系统参数配置
- 实时状态监控 - 系统日志、性能监控、程序运行状态实时显示
- 多语言支持 - 支持中文、英文、越南语、日语四种语言界面和日志翻译
- 可视化编程增强积木 - 组合触发 / 组合条件(AND/OR,可嵌套):信号边沿、电平、寄存器、机器人模式、程序状态均为布尔值块,可用逻辑与 / 或组合
功能详细说明
1. I/O 信号实时监控
实时监控来自传感器、按钮、限位开关、光电开关等外部设备的输入信号,以及输出信号的状态。
功能特性:
- 自动获取机器人已配置的所有 IO 信号
- 按配置的周期订阅所有信号状态
- 实时显示信号状态(绿色 = 激活,灰色 = 非激活)
- 支持数字量输入(DI)和数字量输出(DO)
界面位置:
- 导航菜单:I/O 信号
- 输入信号区域:网格布局显示所有 DI 信号
- 输出信号区域:网格布局显示所有 DO 信号
2. 寄存器操作
支持对机器人各种寄存器的读写和运算操作,包括数值寄存器、位置寄存器、字符串寄存器等。
支持的寄存器类型:
- R 寄存器:浮点型数值寄存器(读写、运算)
- MH 寄存器:整型寄存器(读写、运算)
- MI 寄存器:整型寄存器(读写、运算)
操作类型:
- 读取:读取寄存器当前值
- 写入:设置寄存器为指定值
- 运算:加法、减法、乘法、除法
- 传递:将一个寄存器的值复制到另一个寄存器
4. 背景程序管理
创建、编辑、删除、复制背景程序,支持程序列表管理和程序状态控制。
功能特性:
- 程序列表:显示所有已保存的背景程序
- 显示程序名称、状态、最后修改时间
- 支持程序搜索(按名称过滤)
- 按最后修改时间排序(最近修改的在上)
- 程序操作:
- 新建程序:创建新的背景程序
- 编辑程序:修改现有程序
- 删除程序:删除不需要的程序
- 复制程序:复制现有程序创建副本
- 程序状态:
- 运行中:程序正在执行
- 已停止:程序已停止
- 程序格子:概览页显示最多 9 个活跃程序
- 显示程序名称、运行状态、周期时间
- 支持单个程序启动 / 停止
- 支持多选批量操作
界面位置:
- 导航菜单:背景程序
- 程序列表:显示所有已保存的程序
- 程序格子:概览页显示活跃程序运行状态
4. 程序导入导出
支持程序配置的导入导出功能,方便程序备份、迁移和共享。
导出功能:
- Web 模式(PC / 协作机器人):
- 选择要导出的程序(勾选复选框)
- 点击 "导出" 按钮
- 浏览器自动下载 zip 压缩文件
- USB 模式(工业机器人示教器):
- 选择要导出的程序(勾选复选框)
- 点击 "导出" 按钮
- 程序自动保存到 U 盘
/mnt/udisk/background_programs/目录
导入功能:
- Web 模式(PC / 协作机器人):
- 点击 "导入" 按钮
- 选择 zip 文件上传
- 系统自动检测冲突并提示选择处理方式
- USB 模式(工业机器人示教器):
- 点击 "导入" 按钮
- 从 U 盘文件列表中选择 zip 文件
- 系统自动检测冲突并提示选择处理方式
冲突处理: 导入时如果检测到重名程序,系统会显示冲突对话框,为每个冲突提供三种处理方式:
- 跳过:不导入该程序,保留现有程序
- 覆盖:用导入的程序覆盖现有程序
- 重命名:自动重命名为
原程序名_1、原程序名_2等(自动查找可用编号)
5. 系统配置管理
管理系统参数配置,包括去抖滤波、信号订阅周期等设置。
系统参数:
- 去抖滤波:信号去抖延时时间(0-1000ms)
- 默认值:50ms
- 最小值:0ms(不去抖)
- 最大值:1000ms
- 信号订阅周期:信号状态订阅周期(30-1000ms)
- 默认值:50ms
- 最小值:30ms
- 最大值:1000ms
配置方法:
- 进入 "系统设置" 页面
- 调整参数滑块或输入框
- 点击 "保存参数" 按钮保存配置
- 配置会自动保存到
data/config/system.json文件
6. 实时状态监控
实时显示系统运行状态、日志信息、性能监控数据和程序运行状态。
系统日志:
- 实时显示系统启动日志、规则执行日志、错误和警告信息
- 终端风格显示(深色背景,绿色文字)
- 自动保存到本地日志文件(
data/logs/目录) - 支持日志轮转(单个文件最大 10MB,文件夹最大 100MB)
性能监控:
- CPU 占用率(后端进程)
- 内存占用(后端进程)
- 实时更新显示
程序运行状态:
- 显示最多 9 个活跃程序的运行状态
- 每个程序显示:程序名称、运行状态、周期时间
- 支持单个程序启动 / 停止操作
- 支持多选批量操作
界面位置:
- 导航菜单:概览
- 系统日志区域:实时日志显示
- 性能监控区域:CPU 和内存占用
- 活跃程序运行状态区域:9 个格子布局
7. 多语言支持
插件支持多语言界面和日志翻译功能,提供更好的国际化体验。
支持的语言:
- 中文(简体) - 默认语言
- English - 英文
- Tiếng Việt - 越南语
- 日本語 - 日语
功能特性:
- 界面多语言:
- 所有 UI 元素(按钮、标签、菜单等)支持多语言切换
- Blockly 可视化编程积木块支持多语言
- 事件日志、程序列表等动态内容支持多语言
- 日志翻译:
- 系统日志支持后端翻译,根据用户选择的语言显示翻译后的日志
- 本地日志文件保持中文不变,便于技术人员查看
- 实时日志推送时根据用户语言偏好自动翻译
- 历史日志查询时支持语言参数
使用方法:
- 点击界面右上角的语言切换按钮(地球图标)
- 从下拉菜单中选择目标语言
- 界面和日志会自动切换到所选语言
典型使用场景
场景 1:信号触发信号
当收到一个或多个输入信号时,立即输出一个或多个信号。
示例:
- 安全门打开时(DI_1=ON),立即关闭输出(DO_1=OFF)
- 启动按钮按下(DI_2 上升沿),启动指示灯(DO_2=ON)
实现方法:
- 创建背景程序
- 设置触发条件:DI_1=ON 或 DI_2 上升沿
- 设置动作:DO_1=OFF 或 DO_2=ON
- 保存并启动程序
场景 2:信号触发寄存器运算
当收到信号时,对寄存器进行数值运算。
示例:
- 收到计数信号(DI_2 上升沿)时,将计数器寄存器(MR_1)加 1
- 收到复位信号(DI_3=ON)时,将位置寄存器(PR_1)设置为初始值
实现方法:
- 创建背景程序
- 设置触发条件:DI_2 上升沿 或 DI_3=ON
- 设置动作:MR_1 = MR_1 + 1 或 PR_1 = 初始值
- 保存并启动程序
场景 3:寄存器数据传递
信号触发时,读取一个寄存器的值并写入另一个寄存器。
示例:
- 收到同步信号(DI_4 上升沿)时,将 R [1] 的值复制到 R [2]
实现方法:
- 创建背景程序
- 设置触发条件:DI_4 上升沿
- 设置动作:R [2] = R [1]
- 保存并启动程序
场景 4:复合逻辑判断
多个信号组合判断后执行动作。
示例:
- 当 DI_1=ON 且 DI_2=OFF 时,执行寄存器运算和信号输出
实现方法:
- 创建背景程序
- 设置触发条件:DI_1=ON 且 DI_2=OFF
- 设置动作序列:寄存器运算 + 信号输出
- 保存并启动程序
注意事项
SDK 连接:
- 确保机器人控制器已启动并可以连接
- SDK 连接断开时会自动重连
- 连接失败时系统会记录错误日志
程序数量限制:
- 最多同时运行 9 个背景程序
- 程序总数无限制
文件存储:
- 程序配置文件保存在
data/rules/目录 - 系统配置文件保存在
data/config/目录 - 日志文件保存在
data/logs/目录(自动轮转) - 事件日志保存在
data/events/目录
- 程序配置文件保存在
性能优化:
- 信号订阅周期建议设置为 50-100ms
- 去抖滤波根据实际信号特性设置
- 避免创建过于复杂的程序逻辑
导入导出:
- 导出文件为 zip 格式
- 导入时会检测冲突,请仔细选择处理方式
- USB 模式需要确保 U 盘已正确挂载,且仅支持 FAT32 磁盘格式
日志管理:
- 日志文件自动轮转(单个文件最大 10MB)
- 日志文件夹自动清理(最大 100MB)
- 日志文件按时间戳命名
更新日志
V1.4.0 (2026-01-16)
- 新增多语言支持:
- 支持中文、英文、越南语、日语四种语言界面
- 所有 UI 元素、Blockly 积木块、事件日志等支持多语言切换
- 系统日志支持后端翻译,根据用户语言偏好显示翻译后的日志
- 本地日志文件保持中文不变
- 实时日志推送时根据连接的语言偏好自动翻译
- 界面优化:
- 添加语言切换按钮(地球图标)
- 优化语言切换交互体验
- 语言偏好自动保存和恢复
V1.0.0 (2025-12-29)
- 初始版本发布
- 支持 SDK 2.0.0.0
- 实现 I/O 信号实时监控(SubPub 订阅机制)
- 实现信号去抖滤波和订阅周期配置
- 实现寄存器操作(R、MR、PR、SR、MH、MI)
- 实现背景程序管理(创建、编辑、删除、复制)
- 实现程序导入导出功能(Web 模式 / USB 模式)
- 实现系统配置管理
- 实现实时状态监控(系统日志、性能监控、程序运行状态)
- 支持程序搜索和排序
- 支持日志轮转和自动清理