当前位置: 首页 > article >正文

欧姆龙PLC数据采集实战:5分钟教你用Node-RED通过FINS/TCP协议读取CIO区数据

欧姆龙PLC数据采集实战5分钟用Node-RED通过FINS/TCP读取CIO区数据在工业自动化领域OT操作技术与IT信息技术的融合已成为提升生产效率的关键。对于使用欧姆龙PLC的工程师而言如何快速、可靠地获取设备数据并集成到上层系统如MES、SCADA是常见的需求场景。本文将演示如何通过Node-RED这一低代码工具在5分钟内搭建从欧姆龙CP系列PLC读取CIO区数据的完整流程实现车间设备数据的实时可视化与分析。1. 环境准备与节点安装1.1 硬件与网络配置确保欧姆龙PLC如CP1E-N系列已通过以太网连接到本地网络并记录以下信息PLC IP地址例如192.168.1.100FINS/TCP端口默认9600CIO区地址范围如CIO 0.00 ~ CIO 99.15验证网络连通性ping 192.168.1.100 telnet 192.168.1.100 9600 # 检查端口开放状态1.2 Node-RED环境搭建若尚未安装Node-RED可通过以下命令快速部署npm install -g node-red node-red安装完成后访问http://localhost:1880即可进入可视化编辑界面。1.3 安装FINS协议节点在Node-RED管理面板中安装node-red-contrib-omron-fins节点包点击右上角菜单 →Manage Palette在Install选项卡搜索omron-fins点击安装后重启Node-RED注意若遇到网络问题可尝试通过npm直接安装npm install node-red-contrib-omron-fins2. FINS/TCP通信节点配置2.1 创建PLC连接配置拖拽omron-fins节点到工作区双击打开配置面板参数示例值说明NameCP1E_Line1连接名称Host192.168.1.100PLC IP地址Port9600FINS/TCP默认端口Network0本地网络通常为0Node1PLC节点号参见手册Unit0CPU单元地址点击Done保存配置后续所有读写操作将复用此连接。2.2 读取CIO区数据添加omron-fins in节点并配置{ address: CIO0, // 起始地址 length: 10, // 读取10个字16-bit interval: 2000 // 每2秒读取一次 }地址格式说明位操作CIO0.00CIO区第0字第0位字操作D100数据存储器第100字通道操作W0工作区第0字2.3 错误处理机制工业环境中网络波动常见建议添加错误处理逻辑为omron-fins in节点添加catch节点配置重试逻辑示例if (error.code ETIMEDOUT) { node.warn(PLC连接超时3秒后重试...); setTimeout(() node.send(msg), 3000); }3. 数据转换与可视化3.1 原始数据解析FINS协议返回的数据为二进制Buffer需转换为可读格式// 将Buffer转换为UInt16数组 const values []; for (let i 0; i msg.payload.length; i 2) { values.push(msg.payload.readUInt16BE(i)); } msg.payload { raw: msg.payload, parsed: values }; return msg;3.2 Dashboard可视化安装node-red-dashboard节点包快速创建监控界面拖拽gauge节点连接到数据处理输出配置仪表盘参数GroupPLC_MonitorLabelCIO0值Range0-6553516位无符号整数范围3.3 数据持久化方案将PLC数据存储到InfluxDB的完整流程# docker-compose.yml片段 version: 3 services: influxdb: image: influxdb:1.8 ports: - 8086:8086 volumes: - ./influxdb:/var/lib/influxdbNode-RED配置InfluxDB写入节点[{id:influx-config,type:influxdb out,influxdb:influx-config,name:,measurement:plc_data,precision:ms,retentionPolicy:,database:iot,precisionV18FluxV2:ms,org:,bucket:,retentionPolicyV18FluxV2:,server:http://localhost:8086}]4. 高级应用与系统集成4.1 条件触发控制实现当CIO0.00为ON时发送邮件报警if (msg.payload.parsed[0] 0x0001) { return { topic: PLC警报, payload: CIO0.00触发异常状态 }; }4.2 与MQTT集成通过MQTT发布PLC数据到云端配置MQTT Broker连接如Mosquitto添加mqtt out节点Topic: factory/plc/statusQoS: 1Payload:{timestamp: Date.now(), values: msg.payload.parsed}4.3 性能优化技巧批量读取合并地址连续的寄存器如一次性读取CIO0-CIO99差分传输仅当值变化时才发送数据压缩传输对大型数据集启用gzip压缩// 差分传输实现 const lastValues context.get(lastValues) || []; const changed msg.payload.parsed.some((v,i) v ! lastValues[i]); if (changed) { context.set(lastValues, msg.payload.parsed); return msg; }5. 实战案例生产线状态监控某汽车零部件生产线使用CP1H-XA40DT-D PLC控制装配流程通过以下Node-RED流实现实时监控数据采集层每500ms读取CIO区0-15字读取DM区D1000-D1015存储的工艺参数业务逻辑层计算设备OEE全局设备效率检测急停信号CIO10.15可视化层使用Grafana展示实时曲线微信推送异常警报[{id:plc-read,type:omron-fins in,z:flow1,name:,address:CIO0,length:16,interval:500,x:300,y:200,wires:[[oee-calc,alert-check]]},{id:oee-calc,type:function,z:flow1,name:计算OEE,func:// 实现代码省略,x:500,y:200,wires:[[grafana]]}]实际部署中发现当网络延迟超过200ms时需调整以下参数FINS节点超时时间设为1000ms启用TCP KeepAlive采用指数退避重试策略

相关文章:

欧姆龙PLC数据采集实战:5分钟教你用Node-RED通过FINS/TCP协议读取CIO区数据

欧姆龙PLC数据采集实战:5分钟用Node-RED通过FINS/TCP读取CIO区数据 在工业自动化领域,OT(操作技术)与IT(信息技术)的融合已成为提升生产效率的关键。对于使用欧姆龙PLC的工程师而言,如何快速、…...

3大核心功能让Windows效率提升200%:PowerToys中文优化完全指南

3大核心功能让Windows效率提升200%:PowerToys中文优化完全指南 【免费下载链接】PowerToys-CN PowerToys Simplified Chinese Translation 微软增强工具箱 自制汉化 项目地址: https://gitcode.com/gh_mirrors/po/PowerToys-CN 你是否曾经面对PowerToys强大的…...

ComfyUI ControlNet Aux终极指南:掌握40+预处理器的AI图像控制魔法

ComfyUI ControlNet Aux终极指南:掌握40预处理器的AI图像控制魔法 【免费下载链接】comfyui_controlnet_aux ComfyUIs ControlNet Auxiliary Preprocessors 项目地址: https://gitcode.com/gh_mirrors/co/comfyui_controlnet_aux 想在ComfyUI中实现精准的AI图…...

你知道吗?其实这些都是AI——生态保护监测系统

生态保护监测系统 背景介绍 全球生态系统面临着前所未有的挑战,包括生物多样性下降、栖息地丧失和环境污染等问题。有效的生态保护措施需要基于科学的监测数据。传统的生态监测方法依赖于人工观察和定点采样,覆盖范围有限,数据更新缓慢。现代科技的发展带来了新的解决方案…...

哥布林迷倒GPT-5.5?OpenAI紧急封杀引热议!

【本报讯】 近日,人工智能圈掀起一场不大不小的风波——有技术人员在OpenAI内部系统发现"神秘身影":名为"GPT-5.6"的模型标识突然现身后台日志,而这场风波的核心,竟与一款AI模型对"哥布林"的疯狂迷…...

5大核心功能解锁:重新发现Windows本地音乐播放的无限可能

5大核心功能解锁:重新发现Windows本地音乐播放的无限可能 【免费下载链接】MusicPlayer2 MusicPlayer2是一款功能强大的本地音乐播放软件,旨在为用户提供最佳的本地音乐播放体验。它支持歌词显示、歌词卡拉OK样式显示、歌词在线下载、歌词编辑、歌曲标签…...

10个你必须知道的gh_mirrors/sli/slider高级特性

10个你必须知道的gh_mirrors/sli/slider高级特性 【免费下载链接】slider Touch swipe image slider/slideshow/gallery/carousel/banner mobile responsive bootstrap 项目地址: https://gitcode.com/gh_mirrors/sli/slider gh_mirrors/sli/slider是一款功能强大的触摸…...

2026 年最新会议纪要工具深度横评:6 款主流 AI 产品实测对比,高效团队首选这款

在团队协作与日常办公中,会议是信息同步、决策落地、需求对齐的核心场景。而会议纪要作为会议成果的唯一载体,直接决定了会议效率与执行效果。传统手动记录纪要存在信息遗漏、逻辑混乱、整理耗时、多人发言混淆、无法回溯等痛点,已经无法满足…...

从基础到精通:gh_mirrors/sli/slider构建响应式Banner的完整教程

从基础到精通:gh_mirrors/sli/slider构建响应式Banner的完整教程 【免费下载链接】slider Touch swipe image slider/slideshow/gallery/carousel/banner mobile responsive bootstrap 项目地址: https://gitcode.com/gh_mirrors/sli/slider gh_mirrors/sli/…...

大模型训练优化:从预训练到强化学习的实战策略

1. 大模型训练优化实战解析1.1 预训练阶段的关键参数配置在预训练阶段采用WSD(Warmup-Stable-Decay)学习率调度策略,这是当前百亿参数以上大模型训练的标准配置。我们设置稳定阶段学习率为510⁻⁵,这个数值的选择基于以下考量&…...

3分钟实现PPTX网页化:零代码纯前端转换方案探索

3分钟实现PPTX网页化:零代码纯前端转换方案探索 【免费下载链接】PPTX2HTML Convert pptx file to HTML by using pure javascript 项目地址: https://gitcode.com/gh_mirrors/pp/PPTX2HTML 在数字化协作日益普及的今天,PPT演示文稿的分享与展示面…...

强化学习中的混合奖励优化:稀疏与密集奖励的平衡艺术

1. 混合奖励优化:强化学习中的关键平衡术在强化学习实践中,奖励函数的设计往往决定了智能体能否成功学习到预期行为。稀疏奖励(Sparse Reward)和密集奖励(Dense Reward)就像硬币的两面——前者只在特定关键…...

UI Recorder架构解析:深入了解Chrome扩展与Node.js的协同工作

UI Recorder架构解析:深入了解Chrome扩展与Node.js的协同工作 【免费下载链接】uirecorder UI Recorder is a multi-platform UI test recorder. 项目地址: https://gitcode.com/gh_mirrors/ui/uirecorder UI Recorder是一款多平台UI测试录制工具&#xff0c…...

MCP 2026资源调度智能分配:3个被厂商隐瞒的关键参数、2个未公开的API限流阈值,及1套可立即上线的灰度验证Checklist

更多请点击: https://intelliparadigm.com 第一章:MCP 2026资源调度智能分配:技术演进与现实困境 MCP(Multi-Cluster Planner)2026 是面向超大规模异构云边端协同场景的新一代资源调度框架,其核心目标是在…...

如何用手机快速制作USB启动盘:EtchDroid完整使用指南

如何用手机快速制作USB启动盘:EtchDroid完整使用指南 【免费下载链接】EtchDroid An application to write OS images to USB drives, on Android, no root required. 项目地址: https://gitcode.com/gh_mirrors/et/EtchDroid 想随时随地制作系统安装盘&…...

Python到C++: 函数与面向对象编程(OOP)

函数与返回值在 C 中&#xff0c;函数是程序中的基本单位。每个函数都拥有返回类型、函数名和参数列表&#xff0c;函数执行后返回相应的结果。1.1 C 函数定义与返回值示例&#xff1a;代码语言&#xff1a;javascriptAI代码解释#include <iostream> using namespace std…...

AI Video Starter Kit视频编辑功能详解:多片段合成与音频处理

AI Video Starter Kit视频编辑功能详解&#xff1a;多片段合成与音频处理 【免费下载链接】video-starter-kit Enable AI models for video production in the browser 项目地址: https://gitcode.com/gh_mirrors/vi/video-starter-kit AI Video Starter Kit是一款基于浏…...

终极指南:如何一键将B站缓存视频转换为MP4格式

终极指南&#xff1a;如何一键将B站缓存视频转换为MP4格式 【免费下载链接】m4s-converter 一个跨平台小工具&#xff0c;将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾经遇到过这样的困扰&#xff…...

告别手动输入:在TI IWR6843AOP毫米波雷达工程中实现CLI命令自动配置的保姆级教程

毫米波雷达开发效率革命&#xff1a;IWR6843AOP自动配置CLI命令的工程实践 1. 嵌入式开发者的效率痛点与解决方案 每次上电调试都要在串口终端里逐行输入几十条雷达配置命令的日子该结束了。对于使用TI IWR6843AOP毫米波雷达的开发者而言&#xff0c;重复输入profileCfg、chirp…...

STC89C52+L298N+E18-D50NK:手把手教你做一个能自己躲开障碍的51单片机小车(附完整代码)

STC89C52L298NE18-D50NK&#xff1a;从零打造智能避障小车的实战指南 1. 项目概述与核心组件解析 智能避障小车作为嵌入式开发的经典练手项目&#xff0c;不仅能系统性地掌握单片机开发全流程&#xff0c;还能深入理解传感器与执行机构的协同工作原理。这个项目特别适合有一定…...

Meshtastic Python CLI 中通道 PSK 设置警告信息的终极解析指南

Meshtastic Python CLI 中通道 PSK 设置警告信息的终极解析指南 Meshtastic 是一个开源的、去中心化的无线通信平台&#xff0c;专为构建离线网状网络而设计。其 Python CLI 工具提供了强大的设备配置功能&#xff0c;其中通道 PSK&#xff08;预共享密钥&#xff09;设置是保…...

Meshtastic Python客户端中Protobuf消息的终极JSON序列化指南:解决常见问题与最佳实践

Meshtastic Python客户端中Protobuf消息的终极JSON序列化指南&#xff1a;解决常见问题与最佳实践 Meshtastic是一个开源的、去中心化的Mesh网络通信项目&#xff0c;而Meshtastic Python客户端是与Meshtastic设备通信的核心工具。在开发过程中&#xff0c;Protobuf消息的JSON序…...

Vue2+Element复用实战:如何快速‘白嫖’一个开源Web版Kettle的任务编排前端?

Vue2Element实战&#xff1a;开源数据集成平台前端模块的高效复用指南 在数据集成领域&#xff0c;快速构建一个功能完善的Web界面往往是项目落地的关键瓶颈。本文将深入探讨如何通过复用现有开源项目的前端代码&#xff0c;在Vue2Element UI技术栈基础上&#xff0c;快速搭建专…...

如何在Ubuntu系统上解决Meshtastic Python项目的设备兼容性问题

如何在Ubuntu系统上解决Meshtastic Python项目的设备兼容性问题 Meshtastic Python项目是一个强大的开源工具&#xff0c;专门用于与Meshtastic设备进行通信的Python CLI和API。对于Ubuntu用户来说&#xff0c;设备兼容性问题是使用过程中最常见的挑战之一。本文将为您提供完整…...

yq性能优化终极指南:内存管理和流式处理技巧大全

yq性能优化终极指南&#xff1a;内存管理和流式处理技巧大全 【免费下载链接】yq Command-line YAML, XML, TOML processor - jq wrapper for YAML/XML/TOML documents 项目地址: https://gitcode.com/gh_mirrors/yq1/yq yq是一款功能强大的命令行YAML、XML和TOML处理器…...

相控阵天线校准实战:旋转矢量法 vs. 近场扫描,到底该怎么选?(含优缺点与场景分析)

相控阵天线校准实战&#xff1a;旋转矢量法 vs. 近场扫描&#xff0c;到底该怎么选&#xff1f; 在相控阵雷达系统的设计与维护中&#xff0c;天线校准是确保波束指向精度和辐射性能的关键环节。面对旋转矢量法、近场扫描等不同校准方案&#xff0c;工程师常陷入选择困境——每…...

Baby Dragon Hatchling (BDH)未来路线图:下一代类脑AI架构的5大发展方向

Baby Dragon Hatchling (BDH)未来路线图&#xff1a;下一代类脑AI架构的5大发展方向 【免费下载链接】bdh Baby Dragon Hatchling (BDH) – Architecture and Code 项目地址: https://gitcode.com/gh_mirrors/bd/bdh Baby Dragon Hatchling (BDH)是一个专注于类脑AI架构…...

MPC-BE:你的Windows电脑需要一个什么样的播放器?5个场景告诉你答案

MPC-BE&#xff1a;你的Windows电脑需要一个什么样的播放器&#xff1f;5个场景告诉你答案 【免费下载链接】MPC-BE MPC-BE – универсальный проигрыватель аудио и видеофайлов для операционной системы …...

预推免线下复试全记录:从华工、暨大到湖大,我的‘赶考’日程与面试踩坑复盘

预推免线下复试全记录&#xff1a;从华工、暨大到湖大&#xff0c;我的‘赶考’日程与面试踩坑复盘 1. 异地复试行程规划与时间管理 连续参加多所高校的线下复试&#xff0c;最考验人的不是面试本身&#xff0c;而是如何在有限时间内高效完成跨城市行程安排。我的复试日程表如下…...

深入Linux FrameBuffer:从`fb_var_screeninfo`的字段看懂屏幕时序与分辨率设置

深入Linux FrameBuffer&#xff1a;从fb_var_screeninfo的字段看懂屏幕时序与分辨率设置 在嵌入式系统和图形界面开发中&#xff0c;FrameBuffer是连接软件与显示硬件的关键桥梁。而fb_var_screeninfo这个看似简单的结构体&#xff0c;却承载着显示器最核心的时序参数配置。很多…...