MODBUS寄存器从40000开始而不从0开始,有什么特别的说法吗,还是仅仅是大家都习惯
(1)、
MODBUS 分为 0X ,1X,3X,4X 四种寄存器。
0X--->离散输出 (可读可写) 对应PLC为:DO
1X--->离散输入(只读) 对应PLC为:DI
3X--->输入寄存器16位(只读) 对应PLC为:AI
4X--->保持寄存器16位(可读可写) 对应PLC为:AO
同时根据上述规约,还可以扩展0X和4X,其中OX不仅可以对应DO,同时还可以对应上位机发送的“按钮”
4X不仅可以对应AO,同时还可以对应上位机的“设置参数”
(2)、为什么MODBUS寄存器地址从40000开始而不从0开始,有什么特别的说法吗,还是仅仅是大家都习惯这样用
(A)、寄存器地址从40001开始的
是因为它属于4X寄存器,同时0X寄存器是从00001开始的,1X寄存器是从10001开始的,其余雷同。
(B)、实际上40001在你的程序中对应缓冲区的第0个地址单元,
假如:你的程序定义一段缓冲区BUFFER(20)要和上位机的40001-40020交换数据,则
40001 ----> BUFFER(0)
40002 ----> BUFFER(1)
40003 ----> BUFFER(2)
40004 ----> BUFFER(3)
........................
40020 ----> BUFFER(19)
MODBUS寄存器从40000开始而不从0开始,有什么特别的说法吗,还是仅仅是大家都习惯相关推荐
- modbus寄存器、功能码、报文结构解析
目录 一 Modbus寄存器种类说明 1.线圈状态 2.离散输入状态 3.保持寄存器 4.输入寄存器 二 Modbus功能码简述 1.位操作指令 2.字节操作指令 三 Modbus报文 1.读取线圈状 ...
- Modbus协议的数据模型和地址模型,Modbus寄存器40001,30001是什么意思?
在使用Modbus协议的时候,经常会遇到诸如40001.30001,10001之类的地址,这些数字代表什么含义呢?这其实是Modbus协议的数据模型和地址模型. Modbus协议的数据模型 数据模型是 ...
- 为什么 HashMap 加载因子一定是0.75?而不是0.8,0.6?
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 有很多东西之前在学的时候没怎么注意,笔者也是在重温HashMap的 ...
- 51单片机外部中断实验 设置中断优先级寄存器,当有外部中断0请求中断时,中断程序执行发光二极管程序,在此过程中,外部中断1也有中断请求,外部中断0的中断程序将被中断去执行外部中断1的中断程序(数码管
设置中断优先级寄存器,当有外部中断0请求中断时,中断程序执行发光二极管程序,在此过程中,外部中断1也有中断请求,外部中断0的中断程序将被中断去执行外部中断1的中断程序(数码管加1显示程序). #inc ...
- AS3的Number类型变量不指定初始值,则其初始值为NaN,而不是0.0
AS3的Number类型变量不指定初始值,则其初始值为NaN,而不是0.0
- 转载和积累系列 - 为什么 HashMap 加载因子是0.75?而不是0.8,0.6?
目录 为什么HashMap需要加载因子? 解决冲突有什么方法? 1. 开放定址法 2. 再哈希法 3. 建立一个公共溢出区 4. 链地址法(拉链法) 为什么HashMap加载因子一定是0.75?而不是 ...
- ORA-01841 :(完整)年份必须介于-4713和+9999之间,而不是0 Kaki的博客
ORA-01841 :(完整)年份必须介于-4713和+9999之间,而不是0 Kaki的博客 我遇到这个问题的原因是因为数据中有空格,导致tochar('','')无法正常解析.请检查是否是数据问题 ...
- Modbus寄存器分类及地址分配
Modbus协议中一个重要的概念是寄存器,所有的数据均存放于寄存器中.最初Modbus协议借鉴了PLC中寄存器的含义,但是随着Modbus协议的广泛应用,寄存器的概念进一步泛化,不再是指具体的物理寄存 ...
- Java黑皮书课后题第8章:***8.35(最大块)给定一个元素为0或者1的方阵,编写程序,找到一个元素都为1的最大的子方阵。程序提示用户输入矩阵的行数。然后显示最大的子方阵的第一个元素、行数
***8.35(最大块)给定一个元素为0或者1的方阵,编写程序,找到一个元素都为1的最大的子方阵.程序提示用户输入矩阵的行数.然后显示最大的子方阵的第一个元素.行数 题目 题目描述与运行示例 破题 代 ...
- Java黑皮书课后题第8章:*8.23(游戏:找到翻转的单元格)假定给定一个填满0和1的6*6矩阵,所有的行和列都有偶数个1。让用户翻转一个单元,编写一个程序找到哪个单元格被翻转了
*8.23(游戏:找到翻转的单元格)假定给定一个填满0和1的6*6矩阵,所有的行和列都有偶数个1.让用户翻转一个单元,编写一个程序找到哪个单元格被翻转了 题目 题目描述与运行示例 破题 代码 题目 题 ...
最新文章
- Science | 智能计算揭示前生命化学网络中合成的连接、出现和自我再生
- Developerkit Link Develop Demo 环境配置指南
- 办公自动化中工作流过程定义的设计与实现
- python dlib学习(五):比对人脸
- CompletableFuture介绍
- 理解Event的冒泡模型
- html中选择省份城市,省份、城市、区县三级联动Html代码
- imageview 自定义 android,Android自定义ImageView实现在图片上添加图层效果
- 海康威视 - 萤石云开放平台 js 版
- 内网基础-隧道技术、内网穿透(SSH隧道、Socket隧道、跨路由扫描)
- kdj买卖指标公式源码_买卖点KDJ (副图指标 源码 )
- android NFC getId()后进制转换
- 手提电脑亮度不能调节,亮度调节按钮变灰,找不到调节亮度按钮
- 游戏引擎架构----动画
- 植物大战僵尸全明星服务器维修多长时间,植物大战僵尸全明星常见问题怎么解决?...
- VS code常用插件
- SQL*Loader使用方法nbsp;(转自一沙弥的…
- c语言 九宫格还原算法,经典回溯算法问题:九宫格
- 创建使用相对路径的快捷方式
- 深度学习-海康机器人visionmaster图像检索