1.概述

上海卓岚信息科技有限公司是一家专业提供工业物联网解决方案的高新技术企业,注册商标“ZLAN”。公司研发的产品:物联网芯片、串口转以太网模块、串口服务器、可编程Modbus网关、4GDTU、远程IO控制器等各类工业接口转换器。

本文将重点介绍上海卓岚可编程Modbus网关,支持的产品有:

ZLSN2043S,ZLSN3043S,ZLAN5143,ZLAN5143BI,ZLAN5143I,ZLAN5443D,ZLAN8303-7。

1.1.项目背景

随着工业物联网的推进,各行各业的设备数据都需要采集到平台。但是,并不是所有的设备的数据都能很方便的推送到平台。比如,原始通讯接口为RS232接口的称重仪表,采用的是ASCILL码方式表示重量。推送方式为主动定时连续推送,数据稳定推送,部分称重仪表为指令推送。如地磅,轴重仪,分析天平等,各家协议也不完全相同,称重数据无法快速上云,数据化纺织无法快速前进。

1.2.技术指标

常见的称重仪表五花八门,如图 1-1不同公司协议不容,同一公司不同型号协议不同。

图一 常见称重仪表

图二 常见称重仪表型号

2.需求分析
2.1.称重仪表采集需求

宁波科力称重仪表,使用modbus网关模拟地磅主推送16进制数据,如图 2-1。02 20 20 20 20 20 20 33 35 30 20 20 20 33 35 30 0d,实际内容为 350 350,单位KG。

图三 串口协议通讯

图四 宁波科力称重仪表上位机软件

图五 宁波科力称重仪表

2.2.采集协议需求

普通称重仪表地磅,一般称重数据为正数,如上海耀华,上海大华,宁波柯力地磅。在医药行业,纺织行业,化学制品行业,称重仪表需要正数和负数两种方式显示。比如,标定值为50mg为0值。使用分析天平做数据处理,那么会出现正负值。

称重仪表的称重数据一般是临时的,数据产生后也需要及时清除,不然会出现重复称重。

  代表称重仪表 字符报文 16进制报文  
1 耀华/科力 350 350 02 20 20 20 20 20 20 33 35 30 20 20 20 33 35 30 0d 正数
2 岛津 -3.516 GS 20 20 20 2D 33 2E 35 31 36 20 20 47 53 0D 0A 正数
3 岛津 +2.935  GS 20 20 20 2B 32 2E 39 33 35 20 20 47 53 0D 0A 负数
3.实现方案

根据需求,每个称重仪表厂家格式不同,但是都能拿到称重协议。上海卓岚可编程Modbus网关可以对已知协议转换成标准的Modbus网关格式或者JSON格式上报到云平台。这里以Modbus协议为例,方便工业自动化客户做系统集成。ZLAN5143BI是上海卓岚常用的可编程的Modbus网关,485通讯接口使用光隔离方式,保证通讯的稳定。这里上位机使用测试软件Modbus_poll,采集两个32位的整形数据。

图六 Modbus Poll读取数据

图七 串口数据测试

上海卓岚可编辑Modbus网关配置如下图,IP地址和通讯的电脑在同一个局域网内,波特率和串口设备一致即可。点击“升级固件”,下载配置完成的转换文件httpd.txt,如下图。可编辑文件可以向上海卓岚技术咨询获取。

图八 Modbus网关配置

图九 Modbus网关下载配置文件

4.结论

卓岚可编程Modbus网关可以对大多数已知协议的字符数据和16进制的数据实现Modbus协议转换,并且可以对不同厂家的设备进行整合。数据可以采集完成之后,根据需求,可以对采集的数据定时清零。网关配置完成后,后续还能对不同厂家称重仪表的称重协议继续扩展,实现一个设备,多种协议转化为一种协议。降低项目硬件成本,提高软件使用效率。存在的问题,对带有小数的数据无法进行转换,但是这个没关系。因为Modbus数据上传之后,在组态等上位机平台能够做线性变换做平移缩放。

可编程Modbus网关在非标称重仪表的应用的更多相关文章

  1. 物联网无线数传通信模块设备常见的几种Modbus网关

    物联网无线数传通信常见的几种Modbus网关 以下提到Modbus网关均指Modbus RTU转Modbus TCP,并不涉及对Modbus ASCII数据帧的处理,Modbus ASCII仅支持透明 ...

  2. (笔记)linux增加非标波特率的方法

    1.内核修改 涉及到的内核文件包括driver/char/tty_ioctl.c和arch/xx/include/asm/termbits.h 在linux内核中,struct ktermios结构的 ...

  3. 串口服务器和modbus网关有什么不同

    串口服务器是什么? 串口服务器一般也会被称之为串口设备服务器,它是一种小型电子设备,可以将以太网IP/TCP数据包转换为RS232,RS485或RS422串口数据信号,反之亦然. Modbus网关是什 ...

  4. 【物联网串口服务器通信经验教程】Modbus网关协议转换

    在前面的文章中,我们已经详细地介绍了Modbus网关的几种主要类型,今天,就让我们来介绍一下其中简单协议转换的处理过程. 简单协议转换是最常规.最普遍的Modbus网关功能,也是数据处理效率最高Mod ...

  5. 各种非标232,485协议,自定义协议转modbus协议模块定制开发,各种流量计协议转modbus,

    工业现场经常会碰到通过485或者232采集各类仪表数据,但是很多早期的仪表和设备不支持标准modbus协议,而是采用自定义的协议,这些协议数据由plc或者dcs系统来实现采集,不仅费时麻烦,而且不方便 ...

  6. QTcpSocket通信编程时阻塞与非阻塞的问题

    目标,qt程序作为客户端,windows下winsock作为服务器端,实现两端通信. 开始时写了一个小函数测试: [cpp] view plaincopy QTcpSocket tmpSock;  t ...

  7. C++编程练习(17)----“二叉树非递归遍历的实现“

    二叉树的非递归遍历 最近看书上说道要掌握二叉树遍历的6种编写方式,之前只用递归方式编写过,这次就用非递归方式编写试一试. C++编程练习(8)----“二叉树的建立以及二叉树的三种遍历方式“(前序遍历 ...

  8. 【Java并发编程】9、非阻塞同步算法与CAS(Compare and Swap)无锁算法

    转自:http://www.cnblogs.com/Mainz/p/3546347.html?utm_source=tuicool&utm_medium=referral 锁(lock)的代价 ...

  9. Unix系统编程()执行非局部跳转:setjmp和longjmp

    使用库函数setjmp和longjmp可执行非局部跳转(local goto). 术语"非局部(nonlocal)"是指跳转目标为当前执行函数之外的某个位置. C语言里面有个&qu ...

  10. js面向对象编程(三)非构造函数的继承(转载)

    Javascript面向对象编程(三):非构造函数的继承 今天是最后一个部分,介绍不使用构造函数实现"继承". 一.什么是"非构造函数"的继承? 比如,现在有一 ...

随机推荐

  1. Spring的三级缓存详解

    目录 1.什么是三级缓存 2.三级缓存详解 Bean实例化前 属性赋值/注入前 初始化后 总结 3.怎么解决的循环依赖 4.不用三级缓存不行吗 5.总结 一.什么是三级缓存 就是在Bean生成流程中保 ...

  2. 100行代码实现Chat2XX(DB/ Web/ KnowledgeBase)

    这两年基于大模型的应用可谓五花八门,Chat2DB,Chat2Web,Chat2KnowledgeBase,Chat2XXX等等.本质上都是以自然语言作为系统输入,通过各种手段获取额外的上下文信息,然 ...

  3. office for mac 16.79 破解版安装教程

    教程声明 本人电脑系统:macOS Sonoma,安装版本为office for mac 16.79.本教程旨在学习分享.资源均为从网络处下载,安装破解版有风险,请自己权衡.不会安装的朋友可评论区探讨 ...

  4. 解决【Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modul】报错问题

    参考: https://blog.csdn.net/weixin_36146275/article/details/77447659

  5. FastAPI-请求参数与验证

    最近想搞一下接口, 希望能简单上手, 前后端分离, 大致看了一遍 SpringBoot, Gin, NodeJs, Flask, Django, FastAPI 等, 感觉还是用 Python 语言来 ...

  6. 一文搞懂 GPU 共享方案: NVIDIA Time Slicing

    本文主要分享 GPU 共享方案,包括如何安装.配置以及使用,最后通过分析源码了 TImeSlicing 的具体实现.通过配置 TImeSlicing 可以实现 Pod 共享一块物理 GPU,以提升资源 ...

  7. C#反射报错之System.Reflection.AmbiguousMatchException:“Ambiguous match found.

    .NET6 Type t = typeof(double).GetMethod("TryParse").GetParameters()[1].ParameterType; Cons ...

  8. java初级笔记(翁恺男神

    一.基础 1.类型转换 两个整数的运算结果只能是整数(自动向下取整 自动类型转换(由低变高 强制类型转换(从高到低 2.运算符优先级 正负号>乘除取余>加减连接>关系运算符>赋 ...

  9. Longest Substring Without Repeating Characters---LeetCode进阶路③

    题目描述 Given a string, find the length of the longest substring without repeating characters. Example ...

  10. jdk11.0.2下载安装-环境配置

    下载 JDK下载地址https://www.oracle.com/technetwork/java/javase/downloads/index.html 然后同意,选择自己适合的版本 PS: 1.z ...