边缘网关畅维通达EN6400使用测评

1. 引言

在当前快速发展的工业4.0时代,边缘计算已经成为了一个关键技术,它能够使数据处理更加接近数据源头,从而提高处理速度并降低响应时间。这一技术尤其在工业自动化领域显示出了极大的潜力,因为它能有效处理大量来自工业设备和传感器的数据,实现实时监控和控制。
边缘网关作为连接传感器、控制器和中心处理系统的桥梁,不仅负责数据的采集和预处理,还负责数据的加密和传输,确保数据在传输过程中的安全和完整性。此外,边缘网关能够支持多种通信协议,包括但不限于RS485、Ethernet等,使其在各种工业环境中具有广泛的适用性。

2. 边缘网关概述

2.1 定义和功能

边缘网关是一种位于数据产生源(如传感器)与中心数据处理设施(如云服务器)之间的设备。它的主要功能包括数据的采集、预处理、存储和转发。通过在本地处理数据,边缘网关能够减少对中心服务器的数据传输需求,降低延迟,提高数据处理效率,并在网络连接不佳的情况下保持系统的持续运行。

2.2 边缘网关与传统网关的区别

与传统网关相比,边缘网关在处理能力和智能化程度上有显著提升。传统网关通常只负责数据转发,而边缘网关则配备了更强的计算能力,能够执行复杂的数据分析和处理任务。此外,边缘网关通常集成了更多的安全措施,如数据加密和防火墙,以确保数据在传输过程中的安全性。
通过引入边缘网关,企业可以有效地解决数据处理速度慢、系统响应时间长以及数据安全问题,这对于实现高效的工业自动化和智能制造具有重要意义。随着技术的进步和应用需求的增加,边缘网关的角色和功能将持续发展,为工业自动化带来更多的可能性和挑战。
最近在项目中使用到了畅维通达EN6400边缘网关,接下来,我将结合实际业务中的案例,为大家展示这款边缘网关的应用与技术细节。

3.畅维通达EN6400网关技术规格与特性

在使用前先来看一看这款网关的详细技术规格和参数

  • 以 ARM 为核心,功耗、算力、体积、热性能整体均衡
  • 输入电源的电压范围宽、具有防反接保护功能
  • 5 路独立的 485 接口,支持接入 Modbus 设备。
  • 1 路 HDMI 输出,方便接显示器。
  • 1 路 USB 2.0, 外接键鼠、优盘均可。
  • 1 路 TF 卡,扩展数据存储空间。
  • 支持有线以太网,方便部署。
  • 接口采用弹簧式端子,方便徒手拔插线束。
  • 钣金壳体, 防护等级 IP30, 坚固、 轻便、防腐蚀, 可选 DIN 卡扣便于导轨安装

image.png

通讯接口
image.png
在EN6400网关中,有内置的Node-RED,也可以内置其他的平台,具体可以看下图 ,并设置了开机自启。网关的局域网IP默认为192.168.0.202。
image.png

4.实战项目

由于身边没有太多的硬件设备,所以在实战测试方面,我设计了一个使用边缘网关通过RS485采集称重仪数据,并通过边缘网关内置的Node-RED读取串口的数据,再使用dashboard节点进行显示,最后,再通过Modbus TCP将数据写到西门子PLC。主要测试边缘网关在实际项目有哪些优势。
整体架构是这样的
image.png

4.1使用EN6400采集RS485传感器

称重仪与边缘网关通过自带的5个RS485接口中的0A和0B做Modbus RTU通信,用于采集称重仪表的重量数据,网关做Modbus的主站,称重仪表做从站,仪表从站地址是2,波特率是19200,8数据位,1停止位,无校验。
Node-RED 使用的节点是 Modbus 节点,每秒读取一次设备数据。
下图是流文件连线及节点配置
image.png

打印出来的效果
image.png
数字343的含义是3.43KG。

完整的flow内容

[
  {
    "id": "bf7de48e301a2645",
    "type": "tab",
    "label": "拿我格子衫来",
    "disabled": false,
    "info": "",
    "env": []
  },
  {
    "id": "df0b29fd65548aeb",
    "type": "modbus-read",
    "z": "bf7de48e301a2645",
    "name": "485-0",
    "topic": "",
    "showStatusActivities": false,
    "logIOActivities": false,
    "showErrors": false,
    "showWarnings": true,
    "unitid": "",
    "dataType": "HoldingRegister",
    "adr": "1",
    "quantity": "1",
    "rate": "1",
    "rateUnit": "s",
    "delayOnStart": false,
    "startDelayTime": "",
    "server": "9f669d2b1c2d58e3",
    "useIOFile": false,
    "ioFile": "",
    "useIOForPayload": false,
    "emptyMsgOnFail": false,
    "x": 190,
    "y": 160,
    "wires": [
      [
        "a22b902052776c1d"
      ],
      [
        "ad51dea38739870b"
      ]
    ]
  },
  {
    "id": "a22b902052776c1d",
    "type": "modbus-write",
    "z": "bf7de48e301a2645",
    "name": "",
    "showStatusActivities": false,
    "showErrors": false,
    "showWarnings": true,
    "unitid": "",
    "dataType": "HoldingRegister",
    "adr": "0",
    "quantity": "1",
    "server": "97d630483ae5377e",
    "emptyMsgOnFail": false,
    "keepMsgProperties": false,
    "delayOnStart": false,
    "startDelayTime": "",
    "x": 520,
    "y": 120,
    "wires": [
      [],
      []
    ]
  },
  {
    "id": "ad51dea38739870b",
    "type": "debug",
    "z": "bf7de48e301a2645",
    "name": "debug 1",
    "active": true,
    "tosidebar": true,
    "console": false,
    "tostatus": false,
    "complete": "payload",
    "targetType": "msg",
    "statusVal": "",
    "statusType": "auto",
    "x": 500,
    "y": 180,
    "wires": []
  },
  {
    "id": "9f669d2b1c2d58e3",
    "type": "modbus-client",
    "name": "拿我格子衫来",
    "clienttype": "serial",
    "bufferCommands": true,
    "stateLogEnabled": false,
    "queueLogEnabled": false,
    "failureLogEnabled": true,
    "tcpHost": "127.0.0.1",
    "tcpPort": "502",
    "tcpType": "DEFAULT",
    "serialPort": "/dev/ttyS0",
    "serialType": "RTU",
    "serialBaudrate": "19200",
    "serialDatabits": "8",
    "serialStopbits": "1",
    "serialParity": "none",
    "serialConnectionDelay": "100",
    "serialAsciiResponseStartDelimiter": "0x3A",
    "unit_id": "2",
    "commandDelay": "1",
    "clientTimeout": "1000",
    "reconnectOnTimeout": true,
    "reconnectTimeout": "2000",
    "parallelUnitIdsAllowed": true,
    "showWarnings": true,
    "showLogs": true
  },
  {
    "id": "97d630483ae5377e",
    "type": "modbus-client",
    "name": "Fizz",
        "clienttype": "tcp",
        "bufferCommands": true,
        "stateLogEnabled": false,
        "queueLogEnabled": false,
        "failureLogEnabled": true,
        "tcpHost": "192.168.0.10",
        "tcpPort": "502",
        "tcpType": "DEFAULT",
        "serialPort": "/dev/ttyUSB",
        "serialType": "RTU-BUFFERD",
        "serialBaudrate": "9600",
        "serialDatabits": "8",
        "serialStopbits": "1",
        "serialParity": "none",
        "serialConnectionDelay": "100",
        "serialAsciiResponseStartDelimiter": "0x3A",
        "unit_id": 1,
        "commandDelay": 1,
        "clientTimeout": 1000,
        "reconnectOnTimeout": true,
        "reconnectTimeout": 2000,
        "parallelUnitIdsAllowed": true,
        "showWarnings": true,
        "showLogs": true
    }
]
4.2 使用内置Node-RED显示图表

要显示实时数据必须要现安装dashboard,对于网络不太好的同学可以将npm源设置为华为的,或者淘宝的。
完整的流连线
image.png
chart节点的配置如下:
image.png
实时数据展示显示效果图如下:
image.png
在称重仪上随机给压力,在node-red 的ui上就能实时读到数据。
ui的默认访问地址是: http://192.168.0.202:1880/ui

(原文链接 https://fizzz.blog.csdn.net/article/details/138586861, 转载需经原创作者 拿我格子衫来 同意,侵权必究)

4.3 将数据写入到PLC中

在Node-RED的中Modbus Write 节点的作用就是通过Modbus TCP协议来将数据写入到西门子PLC。
Modbus Write 节点配置如下:
image.png

Modbus client节点配置
image.png
网关采集到的数据传入西门子200smartPLC中,
通信方式是网关做Modbus TCP客户端,200smartPLC做服务端,
200smart PLC的VW0寄存器就是Modbus TCP的地址0,
PLC VW0接受到数据后,内部通过程序进行处理转换成实数存储在VD300里面
使用网线将网关与电脑都连接到交换机上,这样就可以在局域网内进行Modbus TCP通讯。
PLC程序如下:
image.png
有需要完整PLC程序的可以私聊我(拿我格子衫来)
PLC程序运行:
1.打开200smartPLC的编程软件:STEP 7-MicroWIN SMART
2.选择PLC的CPU型号,和PLC建立通信
3.打开PLC程序,导入后下载进入PLC,下载完毕启动PLC
4.点击PLC的程序监控和状态图表监控,可以在线监控程序运行情况和PLC寄存器数据变化

5.项目总结

总的来说,在项目的实战中,畅维通达边缘网关都表现非常不错,不管是数量众多的Modbus 接口,还是开机自启的Node-RED,都在使用体验上,让人感觉很舒畅。需要注意一点是,由于默认的ip是192.168.0.202,如果交换机,或者路由器设置的网段不是从192.168.0开始的,那就无法获取ip,修改路由器或者给网关接上键盘鼠标修改网关的ip配置文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/605971.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

简单数据结构——栈和队列1(栈超全)(初始化,销毁,出栈入栈销毁实现,例题运用)

知识特点 类似数据表链表,在逻辑上依次存储,但对比顺序表和链表有所限制,不能随便存储 一定要先掌握顺序表的实现,本人博客有顺序表专栏大家可以自行查看,看懂顺序表专栏之后再来了解栈的实现会更容易懂。 如果还没…

Xilinx FPGA底层逻辑资源简介(1):关于LC,CLB,SLICE,LUT,FF的概念

LC:Logic Cell 逻辑单元 Logic Cell是Xilinx定义的一种标准,用于定义不同系列器件的大小。对于7系列芯片,通常在名字中就已经体现了LC的大小,在UG474中原话为: 对于7a75t芯片,LC的大小为75K,6输…

LangChain:简化大模型应用

LangChain 框架提供了常见用例的抽象,简化了大型语言模型(LLM)(如 OpenAI GPT4 或 Google PaLM)的应用。它支持 JavaScript 和 Python。 为了弄清楚为什么需要 LangChain,我们先来看下 LLM 的工作原理。 …

ctfshow-web入门-102

这个题我想记录一下,主要是这个方法属实是有点惊艳到我了。故而进行记录,也为了方便大家阅读理解。 看题目,根据题目我写一下我的分析: $_POST传入一个v1,$_GET传入一个v2,一个v3。 赋值符号 优先级高于…

echarts双Y轴,并实现图例等

一个Y轴时yAxis为对象 yAxis: {type: value,name: 占比(%) },两个Y轴时yAxis为数组 yAxis: [{ // 左侧的type: value,name: 占比(%),nameTextStyle: {padding: [0, 0, 10, -50]},min: 0,max: 100,splitNumber: this.splitNumber, // 设置坐标轴的分割段数interval: 20, // 标轴…

【牛客】Tokitsukaze and Average of Substring

原题链接:登录—专业IT笔试面试备考平台_牛客网 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 前缀和。 开一个int类型的前缀和数组pre[30][N](pre[i][j]表示某字符转成的数字 i 在一段区间的前缀个数。因为字母表有‘a’~z…

并发编程实现

一、并行编程 1、Parallel 类 Parallel类是System.Threading.Tasks命名空间中的一个重要类,它提供数据并行和任务并行的高级抽象。 For和ForEach Parallel类下的For和ForEach对应着普通的循环和遍历(普通的for和foreach),但执行时会尝试在多个线程上…

Blender修改器

修改器 Modifier,对模型进行修改,相当于一个函数。 修改器图标是界面右下角的扳手样式 每个修改器的顶部都有如下样式,从左到右分别为:展开/折叠,修改器类型,修改器名称,编辑模式按钮&#xff…

游戏辅助 -- 某游戏一键端配置

游戏一键端下载地址及安装视频: https://pan.quark.cn/s/e6a373d94707 ​https://pan.quark.cn/s/ef7ab0c48776 准备工作 Vmware虚拟机软件:用于创建和管理虚拟机。 SecureCRT:一款支持SSH的终端仿真程序,用于远程登陆服务器…

SoC系统中AXI4 AXI3兼容性及exclusive access

AXI4和AXI3是高级扩展接口(Advanced eXtensible Interface)的两个不同版本,它们都是用于SoC(System on Chip)设计中的总线协议,用于处理器和其它外设之间的高速数据传输。以下是它们之间的一些主要区别&…

vscode设置免密登录远程服务器

文章目录 1. 问题描述2. 解决方案3. 原理 1. 问题描述 当我们使用vscode的ssh连接远程服务器后,过一段时间后,总是要求登录服务器的密码。 这就导致一个麻烦就是: 无论是在公司还是在学校,密码往往不是自己设置的,所以记忆起来就…

利用BACnet分布式IO控制器优化Niagara楼宇自动化系统

在智能建筑领域,随着物联网技术的飞速发展,如何实现高效、灵活且安全的楼宇自动化控制成为了行业关注的焦点。BACnet IP分布式远程I/O模块,作为这一领域的创新成果,正逐渐成为连接智能建筑各子系统的关键桥梁,尤其在与…

蓝桥杯练习系统(算法训练)ALGO-946 Q神的足球赛

资源限制 内存限制:256.0MB C/C时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 足球赛上,只见Q神如闪电般的速度带球时而左,时而右,时而前,时而后&#xff…

带你入门React

目录 前言一,基本配置1.1 环境搭建1.2 页面初始化渲染二,基础学习2.1 结构与样式开发2.2 数据展示2.3 行内样式2.4 条件渲染2.5 列表渲染2.6 点击事件 三,页面更新3.1 组件数据3.2 组件数据共享 总结 前言 笔者之前的工作经验都局限于Vue&am…

pandas快速使用

DataFrame介绍 Dateframe结构和列表类似,区别是对于DataFrame的每一列和每一行均有一个标签。例如以下数据, 上述数据中,日期作为每行的标签。a、b、c、d、e分别是每列的标签 生成连续日期数据 使用方法date_range(),该方法有两…

Lazada商品详情API接口:深度解析与应用

前言 在当今电子商务的繁荣时代,对于电商平台来说,提供一套高效、稳定的API接口是非常重要的。Lazada,作为东南亚领先的电商平台之一,其API接口体系为卖家、开发者以及第三方服务提供了丰富的功能和数据支持。其中,商品…

邦注科技 模具保护器 CCD电子眼 专业工业视觉检测设备

模具保护器是一种用于保护模具的设备,可以在塑料压铸和冲床等加工过程中起到保护模具的作用。以下是关于模具保护器在保护塑料压铸和冲床模具方面的应用: 塑料压铸模具保护器: 防止碰撞:在塑料压铸过程中,模具可能会…

初识C++ · 内存管理

目录 1 C/C的内存分布 2 C语言的内存管理 3 C的内存管理 4 operator new 和 operator delete 5 定位new 1 C/C的内存分布 语言不同,内存分布是相同的,对于局部变量都是放在栈上,全局变量都是放在静态区(数据段)&…

jvm重要参数可视化和线上问题排查

jvm重要参数可视化和线上问题排查 目标jvm参数分类(了解)运行时数据区相关的(jdk1.8)处理 OOM 相关的垃圾回收器相关的GC 日志记录相关的意义,默认值,调优原则(重要, 待拆分) 排查 OOM 流程 和 常见原因参考文章 目标 …

基于C语言中的类型转换,C++标准创造出了更加可视化的类型转换

目录 前言 一、 C语言中的类型转换 二、为什么C需要四种类型转换 三、C中新增的四种强制类型转换操作符以及它们的应用场景 1.static_cast 2.reinterpret_cast 3.const_cast 4.dynamic_cast 前言 在C语言中,如果赋值运算符左右两侧的类型不同,或者…