通用采集器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系统来实现采集,不仅费时麻烦,而且不方便 ...
随机推荐
- vue项目配置使用flow类型检查
你是否经常在debug那些简单可避免的bug?可能你给函数传参的时候搞错了参数的顺序,或者本来应该传个Number类型的参数,你传了一个String类型?JavaScript的弱类型是这一类bug的罪 ...
- sudo 添加
sudo 添加 /etc/sudoers 找到root ALL=(ALL) ALL那一行, 复制之后,修改用户名:
- .html(),.text()和.val()的差异
.html(),.text()和.val()的差异总结: .html(),.text(),.val()三种方法都是用来读取选定元素的内容:只不过.html()是用来读取元素的html内容(包括htm ...
- 动态网站技术CGI
递信息的规程.CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静三种主流的动态网站技术: ASP JSP PHP 除之外,此还要了解的动态网站技术 ...
- Win7如何更改网络位置,如何加入或创建家庭组
1 打开网络和共享中心,点击连接上网的哪一个网络,点击把公用网络改为家庭网络 2 依次执行下一步 3 如果是加入一个家庭组,则输入家庭组的密码,否则将得到一个家庭组的密码 4 加入成功 ...
- Windows下如何替换鼠标指针
鼠标指针替换(应用)教程美化 讲解如何替换鼠标指针,从网上下载的鼠标指针该怎么替换呢?认真看完下边的就会了!鼠标指针常见的文件格式为:.cur..ani两种格式.还可能有的是.exe 格式如果是exe ...
- PHP上传文件类 代码练习
类文件: <?php class upload{ protected $fileName; protected $uploadPath; protected $maxSize; protecte ...
- ztree3.5.02选中结点时报错
ztree3.5.02选中结点时报错 更新jquery版本后,使用jquery1.1.1,左键点击Tree里的节点的时候报错,虽然不影响显示,但是在chrome控制台显示报错 Uncaught Typ ...
- 用C开发PHP扩展 实例(基础版)
第一步:建立扩展骨架. cd /usr/local/src/php-5.3.6/ext/ ./ext_skel --extname=laiwenhui 第二步:修改编译参数. cd php-5.3.6 ...
- Hadoop Exit Code 含义
经常遇到的exception是: 1. PipeMapRed.waitOutputThreads(): subprocess failed with code N ............ 2. T ...