可编程Modbus网关在非标称重仪表的应用
上海卓岚信息科技有限公司是一家专业提供工业物联网解决方案的高新技术企业,注册商标“ZLAN”。公司研发的产品:物联网芯片、串口转以太网模块、串口服务器、可编程Modbus网关、4GDTU、远程IO控制器等各类工业接口转换器。
本文将重点介绍上海卓岚可编程Modbus网关,支持的产品有:
ZLSN2043S,ZLSN3043S,ZLAN5143,ZLAN5143BI,ZLAN5143I,ZLAN5443D,ZLAN8303-7。
随着工业物联网的推进,各行各业的设备数据都需要采集到平台。但是,并不是所有的设备的数据都能很方便的推送到平台。比如,原始通讯接口为RS232接口的称重仪表,采用的是ASCILL码方式表示重量。推送方式为主动定时连续推送,数据稳定推送,部分称重仪表为指令推送。如地磅,轴重仪,分析天平等,各家协议也不完全相同,称重数据无法快速上云,数据化纺织无法快速前进。
常见的称重仪表五花八门,如图 1-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。

图三 串口协议通讯

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

图五 宁波科力称重仪表
普通称重仪表地磅,一般称重数据为正数,如上海耀华,上海大华,宁波柯力地磅。在医药行业,纺织行业,化学制品行业,称重仪表需要正数和负数两种方式显示。比如,标定值为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 | 负数 |
根据需求,每个称重仪表厂家格式不同,但是都能拿到称重协议。上海卓岚可编程Modbus网关可以对已知协议转换成标准的Modbus网关格式或者JSON格式上报到云平台。这里以Modbus协议为例,方便工业自动化客户做系统集成。ZLAN5143BI是上海卓岚常用的可编程的Modbus网关,485通讯接口使用光隔离方式,保证通讯的稳定。这里上位机使用测试软件Modbus_poll,采集两个32位的整形数据。

图六 Modbus Poll读取数据

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

图八 Modbus网关配置

图九 Modbus网关下载配置文件
卓岚可编程Modbus网关可以对大多数已知协议的字符数据和16进制的数据实现Modbus协议转换,并且可以对不同厂家的设备进行整合。数据可以采集完成之后,根据需求,可以对采集的数据定时清零。网关配置完成后,后续还能对不同厂家称重仪表的称重协议继续扩展,实现一个设备,多种协议转化为一种协议。降低项目硬件成本,提高软件使用效率。存在的问题,对带有小数的数据无法进行转换,但是这个没关系。因为Modbus数据上传之后,在组态等上位机平台能够做线性变换做平移缩放。
可编程Modbus网关在非标称重仪表的应用的更多相关文章
- 物联网无线数传通信模块设备常见的几种Modbus网关
物联网无线数传通信常见的几种Modbus网关 以下提到Modbus网关均指Modbus RTU转Modbus TCP,并不涉及对Modbus ASCII数据帧的处理,Modbus ASCII仅支持透明 ...
- (笔记)linux增加非标波特率的方法
1.内核修改 涉及到的内核文件包括driver/char/tty_ioctl.c和arch/xx/include/asm/termbits.h 在linux内核中,struct ktermios结构的 ...
- 串口服务器和modbus网关有什么不同
串口服务器是什么? 串口服务器一般也会被称之为串口设备服务器,它是一种小型电子设备,可以将以太网IP/TCP数据包转换为RS232,RS485或RS422串口数据信号,反之亦然. Modbus网关是什 ...
- 【物联网串口服务器通信经验教程】Modbus网关协议转换
在前面的文章中,我们已经详细地介绍了Modbus网关的几种主要类型,今天,就让我们来介绍一下其中简单协议转换的处理过程. 简单协议转换是最常规.最普遍的Modbus网关功能,也是数据处理效率最高Mod ...
- 各种非标232,485协议,自定义协议转modbus协议模块定制开发,各种流量计协议转modbus,
工业现场经常会碰到通过485或者232采集各类仪表数据,但是很多早期的仪表和设备不支持标准modbus协议,而是采用自定义的协议,这些协议数据由plc或者dcs系统来实现采集,不仅费时麻烦,而且不方便 ...
- QTcpSocket通信编程时阻塞与非阻塞的问题
目标,qt程序作为客户端,windows下winsock作为服务器端,实现两端通信. 开始时写了一个小函数测试: [cpp] view plaincopy QTcpSocket tmpSock; t ...
- C++编程练习(17)----“二叉树非递归遍历的实现“
二叉树的非递归遍历 最近看书上说道要掌握二叉树遍历的6种编写方式,之前只用递归方式编写过,这次就用非递归方式编写试一试. C++编程练习(8)----“二叉树的建立以及二叉树的三种遍历方式“(前序遍历 ...
- 【Java并发编程】9、非阻塞同步算法与CAS(Compare and Swap)无锁算法
转自:http://www.cnblogs.com/Mainz/p/3546347.html?utm_source=tuicool&utm_medium=referral 锁(lock)的代价 ...
- Unix系统编程()执行非局部跳转:setjmp和longjmp
使用库函数setjmp和longjmp可执行非局部跳转(local goto). 术语"非局部(nonlocal)"是指跳转目标为当前执行函数之外的某个位置. C语言里面有个&qu ...
- js面向对象编程(三)非构造函数的继承(转载)
Javascript面向对象编程(三):非构造函数的继承 今天是最后一个部分,介绍不使用构造函数实现"继承". 一.什么是"非构造函数"的继承? 比如,现在有一 ...
随机推荐
- firedac的性能
应该说,目前10.3的方方面面基本正常的坑基本填好了.因此综合考虑还是用datasanp+firedac框架操练. ================================ 数据量2w行,字段 ...
- nodejs实现命令行工具
为什么使用nodejs实现命令行工具 Node.js是一个基于事件驱动I/O的JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好. 众所周知 ...
- seata-server 1.3.0整合nacos,使用nacos做注册和配置中心
前言 关于seata版本的选择和更详细的安装,可以参考 SpringCloud Alibaba之Seata入门及踩坑 本篇博客是整合nacos,nacos直接下载安装解压运行就可以了. seata的下 ...
- .NET 原生驾驭 AI 新基建实战系列(三):Chroma ── 轻松构建智能应用的向量数据库
在人工智能AI和机器学习ML迅猛发展的今天,数据的存储和检索需求发生了巨大变化.传统的数据库擅长处理结构化数据,但在面对高维向量数据时往往力不从心.向量数据库作为一种新兴技术,专为AI应用设计,能够高 ...
- Web前端入门第 37 问:多图细说 CSS grid 网格布局(二)子元素相关属性
学习本文之前,建议先学习上一篇了解父元素的相关属性. 前文对 grid 网格布局中父元素容器相关的 CSS 属性做了详细介绍,本篇将继续学习子元素相关的 CSS 属性. 网格布局的一大波样式属性,父元 ...
- mac系统安装GNU-sed
经过网上查资料,发现 由于 mac 系统与 linux 系统的差异,mac自带的sed命令,因为其是基于bsd,所以与常用的gnu不一样,安装gnu-sed 可正常使用: 1.brew install ...
- Nacos简介—3.Nacos的配置简介
大纲 1.Nacos生产集群Web端口与数据库配置 2.Nacos生产集群的Distro协议核心参数 3.Nacos打通CMDB实现跨机房的就近访问 4.Nacos基于SPI动态扩展机制来获取CMDB ...
- TVM Pass优化 -- InferType 类型推导
定义(What) InferType,类型推断,顾名思义,给表达式进行类型的推断 直接上代码 import tvm from tvm import relay import numpy as np d ...
- Comparator.reverseOrder() 和 reversed()的区别
摘要:Comparator.reverseOrder() 和 reversed()的区别是前者以某字段进行倒序排列,而reversed是针对已排序数据进行处理,常常用于比较器的末尾. 在使用Str ...
- InheritableThreadLocal父子线程变量共享实现原理
概述 我们知道ThreadLocal 的设计初衷是为了解决多线程并发导致的线程安全问题,向每一个线程提供一个自己的变量副本,实现变量隔离.那如何在不同线程之间共享变量呢?InheritableTh ...