Ricon组态组件生态 - 丰富的可视化组件库

组件系统概述

Ricon组态系统提供了丰富的组件库,涵盖工业可视化所需的各种组件类型,支持灵活的配置和扩展。

📦 组件分类

基础组件(Basic Components)
组件类型 说明 配置文件
文本组件 支持字体、颜色、大小配置 basic.json
按钮组件 支持点击事件、写值、跳转 basic.json
图片组件 支持静态图片、状态切换 basic.json
日期组件 当前日期时间显示 basic.json
天气组件 实时天气信息展示 basic.json
视频组件 视频播放、监控画面 basic.json
表格组件 数据表格展示 basic.json
iframe组件 嵌入网页、图表 basic.json
图表组件(Chart Components)

基于ECharts 5.3.2构建:

图表类型 说明 应用场景
折线图 数据趋势展示 温度、压力趋势
柱状图 数据对比分析 产量对比
饼图 占比关系展示 能源消耗占比
面积图 数据累积展示 流量累计
仪表盘 实时数值显示 转速、压力
雷达图 多维数据展示 设备状态评分
图元组件(Graphic Components)

工业电气图元库:

分类 说明 数量
电气图元 开关、接触器、继电器等 50+
设备图元 泵、风机、阀门等 30+
管道图元 管道、弯头、三通等 20+
仪表图元 压力表、温度计等 15+
动画组件(Animation Components)
组件类型 说明 配置参数
旋转组件 图片旋转动画 速度、方向
流动组件 流动条动画 速度、颜色
闪烁组件 闪烁提示效果 频率、颜色
脉冲组件 脉冲扩散效果 半径、速度

🎨 组件配置

组件JSON结构
json 复制代码
{
    "id": "text_001",
    "type": "text",
    "name": "文本组件",
    "icon": "text.svg",
    "category": "basic",
    "defaultConfig": {
        "x": 0,
        "y": 0,
        "width": 200,
        "height": 30,
        "text": "默认文本",
        "fontSize": 14,
        "color": "#333333",
        "bold": false
    },
    "properties": [
        {
            "name": "text",
            "label": "文本内容",
            "type": "input"
        },
        {
            "name": "fontSize",
            "label": "字体大小",
            "type": "slider",
            "min": 10,
            "max": 48
        },
        {
            "name": "color",
            "label": "文字颜色",
            "type": "color"
        }
    ]
}
数据绑定配置
json 复制代码
{
    "dataBind": {
        "enabled": true,
        "dataKey": "d1a001",
        "dataSource": "hardware",
        "scale": {
            "enabled": true,
            "inputMin": 0,
            "inputMax": 1000,
            "outputMin": 0,
            "outputMax": 100
        },
        "condition": {
            "enabled": true,
            "rules": [
                {
                    "operator": ">",
                    "value": 80,
                    "color": "#dc3545"
                },
                {
                    "operator": ">",
                    "value": 60,
                    "color": "#ffc107"
                }
            ]
        }
    }
}

🔧 组件开发

添加新组件步骤
复制代码
┌─────────────────────────────────────────────┐
│ 1. 创建编辑模块                            │
│    modules/edit/edit-xxx.html              │
│    modules/edit/editXxx.js                 │
├─────────────────────────────────────────────┤
│ 2. 注册组件                                │
│    assets/json/basic.json                  │
│    配置图标、默认属性、属性面板              │
├─────────────────────────────────────────────┤
│ 3. 实现渲染逻辑                            │
│    assets/js/core/stageOperation.js        │
│    assets/js/core/stageView.js             │
├─────────────────────────────────────────────┤
│ 4. 实现动画处理                            │
│    assets/js/core/moduleAnimation.js       │
├─────────────────────────────────────────────┤
│ 5. 实现数据更新                            │
│    assets/js/core/stageView.js             │
└─────────────────────────────────────────────┘
组件开发示例
javascript 复制代码
// 自定义组件创建逻辑
function createCustomComponent(config) {
    // 创建Konva节点
    const group = new Konva.Group({
        x: config.x,
        y: config.y,
        width: config.width,
        height: config.height
    });
    
    // 添加子元素
    const rect = new Konva.Rect({
        width: config.width,
        height: config.height,
        fill: config.fill,
        stroke: config.stroke,
        strokeWidth: 2
    });
    group.add(rect);
    
    // 添加文本
    const text = new Konva.Text({
        text: config.text,
        x: 10,
        y: 10,
        fontSize: config.fontSize,
        fill: config.color
    });
    group.add(text);
    
    return group;
}

🎯 组件最佳实践

性能优化建议
  1. 图层分组 - 将静态组件和动态组件分开管理
  2. 缓存复用 - 复用相同配置的组件实例
  3. 懒加载 - 按需加载非可见区域组件
  4. 事件节流 - 避免频繁的事件触发
组件复用技巧
  • 使用模板功能保存常用配置
  • 导出组件配置JSON复用
  • 使用复制粘贴快速创建相似组件
数据绑定最佳实践
  • 合理命名数据点(如:d1a001表示设备1的温度)
  • 配置数据缩放适应显示范围
  • 设置合理的更新频率

组件展示

基础组件展示

  • 文本组件:支持富文本配置
  • 按钮组件:支持多种交互事件
  • 图片组件:支持状态切换
  • 日期组件:自动更新时间

图表组件展示

  • 实时折线图:动态更新数据点
  • 仪表盘:实时数值显示
  • 饼图:数据占比分析

图元组件展示

  • 电气图元:标准工业符号
  • 设备图元:泵、风机等
  • 管道图元:连接管线

动画组件展示

  • 旋转动画:设备运转效果
  • 流动动画:物料流动效果
  • 闪烁动画:告警提示

立即体验

👉 演示地址 : http://www.ricon.cloud:81

🌐 官网地址 : http://www.ricon.cloud

相关推荐
IT_陈寒8 小时前
Java字符串判等踩坑记:==和equals真的不能乱用
前端·人工智能·后端
晴天168 小时前
前端虚拟滚动(虚拟列表)原理与实战
前端
wdfk_prog8 小时前
Docker 开发环境到底要交付什么:镜像、源码与运行脚本
运维·docker·容器
Huangjin007_8 小时前
【Linux 系统篇(十七)】进程(五) :进程切换、O(1) 调度算法
linux·运维·服务器
weixin_464307638 小时前
linux虚拟机断网
linux·运维·服务器
志栋智能8 小时前
凌晨3点的告警,如何用AI在5分钟内完成定界?
运维·服务器·数据库·人工智能·自动化
晴天168 小时前
前端 RAIL 性能模型实战分享-Day37
前端
变与不变8068 小时前
JS作用域,作用域链
前端·javascript·es6
爱吃洋芋丝8 小时前
rk3576 android14 evb1-v10实验板点亮edp示例设备树修改
物联网
知兀8 小时前
Tailwindcss报错:没有与此调用匹配的重载
前端·c++·tailwindcss