通用采集器Modbus协议应用
1. 功能码
通用采集器一般包含DI,DO,AI相关接口,对此类接口主要应用功能码01~06。
3类接口具体对应关系如下:
继电器定义,功能码01/05(01:读线圈,05写线圈)
序号 地址 数据描述
01 00001 DO1
08 00008 DO8
开关量输入定义,功能码02(02:读取输入状态)
序号 地址 数据描述
01 10001 DI1
02 10002 DI2
08 10008 DI8
输入寄存器定义,功能码04(04:读取输入寄存器)
序号 地址 数据描述
01 30001 AI1
08 30008 AI8
保持寄存器定义,功能码03/06(03:读取保持寄存器,06:写单个寄存器)
序号 地址 数据描述
01 40001 系统实际时间的低16位
02 40002 系统实际时间的高16位
03 40003 第一路开关量32位计数器低16位。
04 40004 第一路开关量32位计数器高16位。
19 40019 为串口1收发延时设置,16位,以1ms为单位。
20 40020 为串口2收发延时设置,16位,以1ms为单位。
21 40021 串口1波特率设置
22 40022 串口2波特率设置。
我们都知道ModbusRTU一帧数据包含1字节地址(物理地址),1字节功能码(上述对应功能码01~06),数据和2字节CRC。

2. 数据
一帧报文中数据内容根据功能码不同而不同,详见“ModBus协议”。
例如:
01功能码(读DI):功能码:02--1字节,起始地址:0x0000~0xFFFF--2字节,
线圈数量:1~2000--2字节
响应PDU:功能码:02--1字节,字节数:N*,输出数量/8[+1](未整除+1),
输入状态:N*X1个字节
错误:差错码:0x82--1字节,异常码:0x1~0x4--1字节。


通用采集器Modbus协议应用的更多相关文章
- IhyerDB modBus采集器配置.
近期查了一下ihyerDB-modbus采集器的相关配置,由于没有相关的modbus设备,于是今天上午根据网上的线索下载了Modbus Slave(modbus从站仿真器).笔记本也没有串口,于是下载 ...
- Modbus协议深入讲解_NI
from:https://www.ni.com/zh-cn/innovations/white-papers/14/the-modbus-protocol-in-depth.html 已更新 Mar ...
- RS485通信和Modbus协议(转)
转自:http://www.51hei.com/bbs/dpj-23230-1.html 在工业控制.电力通讯.智能仪表等领域,通常情况下是采用串口通信的方式进行数据交换.最初采用的方式是RS232接 ...
- Modbus 协议
转载:https://www.cnblogs.com/DreamRecorder/p/9081127.html 一.Modbus 协议简介 Modbus 协议是应用于电子控制器上的一种通用语言 ...
- Modbus协议和应用开发介绍
因业务需要了解Modbus协议的使用,因此对Modbus的协议,以及相应的C#处理应用进行了解,针对协议的几种方式(RTU.ASCII.TCPIP)进行了封装,以及对Modbus的各种功能码的特点进行 ...
- Modbus 协议图文详解
1.概论 Modbus是一种串行通信协议,由于其协议简单易用,且没有版权要求,目前已经成为工业领域通信协议的实时标准.ModBus协议是又施耐德电气的前身Modicon公司在1979年提出的.Modb ...
- WEB页面采集器编写经验之一:静态页面采集器
严格意义来说,采集器和爬虫不是一回事:采集器是对特定结构的数据来源进行解析.结构化,将所需的数据从中提取出来:而爬虫的主要目标更多的是页面里的链接和页面的TITLE. 采集器也写过不少了,随便写一点经 ...
- 【RSYSLOG】rsyslog作为日志采集器安装配置说明
RSYSLOG is the rocket-fast system for log processing. About 由于环境基于CentOS 6.7 x64,rsyslog本身就是OS的组件,由于 ...
- 各种非标232,485协议,自定义协议转modbus协议模块定制开发,各种流量计协议转modbus,
工业现场经常会碰到通过485或者232采集各类仪表数据,但是很多早期的仪表和设备不支持标准modbus协议,而是采用自定义的协议,这些协议数据由plc或者dcs系统来实现采集,不仅费时麻烦,而且不方便 ...
随机推荐
- http网络通信--页面源代码查看
1.要在andorid中实现网络图片查看,涉及到用户隐私问题,所以要在AndroidManifest.xml中添加访问网络权限 <uses-permission android:name=&qu ...
- 试用cocos2dx 3.1.1
最终有时间,開始全力投入cocos2dx开发了.之前也积累了不少.只是都是基于2.2.2的,3.1.1的版本号也出来一段时间,应该算是成熟了,今天就试试.一个最大的变化就是不须要cygwin了,直接使 ...
- [AngularJS] $interval
$interval provides an excellent service for timed operations in your AngularJS apps. It has the adva ...
- PHP基础知识(一)
The Basics Comparison operators Comparison operators are an often overlooked aspect of PHP, which ca ...
- Android 8.0新特性-取消大部分静态注册广播
今天楼主在写一个广播的demo,功能非常的简单,就是一个应用发送一个自定义的广播,同时在这个应用里面定义了一个广播接受者,并且在AndroidManifest文件中进行静态的注册.Demo看上去非常的 ...
- QueryRunner
在相继学习了JDBC和数据库操作之后,我们明显感到编写JDBC代码并非一件轻松的事儿.为了帮助我们更高效的学习工作,从JDBC的繁重代码中解脱出来,xx给我们详尽介绍了一个简化JDBC操作的组件——D ...
- ES6 对象转Map
使用Object.entries const obj = { foo: 'bar', baz: 42 }; const map = new Map(Object.entries(obj)); map ...
- 使用 dbdeploy.net 管理数据库变更
使用 dbdeploy.net 管理数据库变更 没有包含数据库的持续集成都是假的.这可不是我说的.一直以来都没能找到一个理想的数据库变更管理工具.直到转了 java 再回来,才发现 dbdeploy ...
- 最接近WeChat的全屏自定义相机(Custom Camera)
代码地址如下:http://www.demodashi.com/demo/13271.html 一.需求 最接近WeChat的全屏自定义相机(Custom Camera),拍照和预览都是全屏尺寸.使用 ...
- 无需超级用户mpi多机运行
在之前的一篇博文中(Linux下mpi环境配置与运行步骤(Ubuntu为例) ),有讨论过怎样使用MPI在两个不同的机器上运行程序,在那篇博文中使用了超级用户权限.不幸的是.有些情况下,我们不能拥有操 ...