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

相关推荐
777VG8 小时前
PostgreSQL +martin将多张表输出成一个 MVT
前端·数据库·postgresql
mayaairi8 小时前
JS循环语句深度解析:嵌套for、while与do...while
开发语言·前端·javascript
To_OC8 小时前
啃完流式输出:从一个卡顿的 LLM 接口开始,我搞懂了数据流到底怎么 “流”
前端·javascript·llm
阳光是sunny9 小时前
LangGraph实战教程:defer延迟节点——让收尾工作自动排到最后
前端·人工智能·后端
冰封之寂9 小时前
Docker 资源管理终极指南:CPU、内存与 IO 的精细化控制
linux·运维·服务器·docker·云计算
kyriewen9 小时前
我用了三周Claude Code Skills——总结出5条铁律,第3条最反直觉
前端·ai编程·claude
阳光是sunny9 小时前
LangGraph实战教程:控制流详解
前端·人工智能·后端
格尔曼Noah10 小时前
Safari浏览器中如何只允许指定网站下载
前端·safari
小柯南敲键盘10 小时前
图片翻译API接入与自动化实现指南
运维·python·自动化
用户0595401744610 小时前
用了3年Redis,才发现我一直没搞懂缓存一致性测试
前端·css