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

相关推荐
anew___2 分钟前
《从零手写操作系统 (46):设备模型与devtmpfs——硬件资源的文件系统化》
linux·运维·服务器
todoitbo6 分钟前
本来只想给内网开个口子,Natapp 却多给了一道防护
前端·javascript·vue.js·内网穿透·网络防护·natapp
Data analyse4567 分钟前
Nginx日志访客识别的边界处理
大数据·运维·服务器·数据库·数据分析
竣达技术9 分钟前
机房运维:UPS 如何实现跨网段采集监控数据
运维·arm开发
杰克说9 分钟前
物联网消息协议MQTT详解
物联网·mqtt·信息与通信·通信协议
会灭火的程序员11 分钟前
SuperMap AgentX Server智能体接入WEB应用技术文档
前端·supermap·agentx·agentx server
无足鸟ICT14 分钟前
【RHCA+】patch命令(更新补丁)
linux·运维·服务器
CRMEB16 分钟前
商品 SKU 设计,从简单规格到多规格踩过什么
java·前端·数据库·开源
zhengqweasd16 分钟前
Linux 软中断原理:网卡报文是怎么抢占 CPU 的
linux·运维·网络
Chloe.Zz17 分钟前
一篇入门Agent
开发语言·前端·javascript