(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开始,有什么特别的说法吗,还是仅仅是大家都习惯相关推荐

  1. modbus寄存器、功能码、报文结构解析

    目录 一 Modbus寄存器种类说明 1.线圈状态 2.离散输入状态 3.保持寄存器 4.输入寄存器 二 Modbus功能码简述 1.位操作指令 2.字节操作指令 三 Modbus报文 1.读取线圈状 ...

  2. Modbus协议的数据模型和地址模型,Modbus寄存器40001,30001是什么意思?

    在使用Modbus协议的时候,经常会遇到诸如40001.30001,10001之类的地址,这些数字代表什么含义呢?这其实是Modbus协议的数据模型和地址模型. Modbus协议的数据模型 数据模型是 ...

  3. 为什么 HashMap 加载因子一定是0.75?而不是0.8,0.6?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 有很多东西之前在学的时候没怎么注意,笔者也是在重温HashMap的 ...

  4. 51单片机外部中断实验 设置中断优先级寄存器,当有外部中断0请求中断时,中断程序执行发光二极管程序,在此过程中,外部中断1也有中断请求,外部中断0的中断程序将被中断去执行外部中断1的中断程序(数码管

    设置中断优先级寄存器,当有外部中断0请求中断时,中断程序执行发光二极管程序,在此过程中,外部中断1也有中断请求,外部中断0的中断程序将被中断去执行外部中断1的中断程序(数码管加1显示程序). #inc ...

  5. AS3的Number类型变量不指定初始值,则其初始值为NaN,而不是0.0

    AS3的Number类型变量不指定初始值,则其初始值为NaN,而不是0.0

  6. 转载和积累系列 - 为什么 HashMap 加载因子是0.75?而不是0.8,0.6?

    目录 为什么HashMap需要加载因子? 解决冲突有什么方法? 1. 开放定址法 2. 再哈希法 3. 建立一个公共溢出区 4. 链地址法(拉链法) 为什么HashMap加载因子一定是0.75?而不是 ...

  7. ORA-01841 :(完整)年份必须介于-4713和+9999之间,而不是0 Kaki的博客

    ORA-01841 :(完整)年份必须介于-4713和+9999之间,而不是0 Kaki的博客 我遇到这个问题的原因是因为数据中有空格,导致tochar('','')无法正常解析.请检查是否是数据问题 ...

  8. Modbus寄存器分类及地址分配

    Modbus协议中一个重要的概念是寄存器,所有的数据均存放于寄存器中.最初Modbus协议借鉴了PLC中寄存器的含义,但是随着Modbus协议的广泛应用,寄存器的概念进一步泛化,不再是指具体的物理寄存 ...

  9. Java黑皮书课后题第8章:***8.35(最大块)给定一个元素为0或者1的方阵,编写程序,找到一个元素都为1的最大的子方阵。程序提示用户输入矩阵的行数。然后显示最大的子方阵的第一个元素、行数

    ***8.35(最大块)给定一个元素为0或者1的方阵,编写程序,找到一个元素都为1的最大的子方阵.程序提示用户输入矩阵的行数.然后显示最大的子方阵的第一个元素.行数 题目 题目描述与运行示例 破题 代 ...

  10. Java黑皮书课后题第8章:*8.23(游戏:找到翻转的单元格)假定给定一个填满0和1的6*6矩阵,所有的行和列都有偶数个1。让用户翻转一个单元,编写一个程序找到哪个单元格被翻转了

    *8.23(游戏:找到翻转的单元格)假定给定一个填满0和1的6*6矩阵,所有的行和列都有偶数个1.让用户翻转一个单元,编写一个程序找到哪个单元格被翻转了 题目 题目描述与运行示例 破题 代码 题目 题 ...

最新文章

  1. Science | 智能计算揭示前生命化学网络中合成的连接、出现和自我再生
  2. Developerkit Link Develop Demo 环境配置指南
  3. 办公自动化中工作流过程定义的设计与实现
  4. python dlib学习(五):比对人脸
  5. CompletableFuture介绍
  6. 理解Event的冒泡模型
  7. html中选择省份城市,省份、城市、区县三级联动Html代码
  8. imageview 自定义 android,Android自定义ImageView实现在图片上添加图层效果
  9. 海康威视 - 萤石云开放平台 js 版
  10. 内网基础-隧道技术、内网穿透(SSH隧道、Socket隧道、跨路由扫描)
  11. kdj买卖指标公式源码_买卖点KDJ (副图指标 源码 )
  12. android NFC getId()后进制转换
  13. 手提电脑亮度不能调节,亮度调节按钮变灰,找不到调节亮度按钮
  14. 游戏引擎架构----动画
  15. 植物大战僵尸全明星服务器维修多长时间,植物大战僵尸全明星常见问题怎么解决?...
  16. VS code常用插件
  17. SQL*Loader使用方法nbsp;(转自一沙弥的…
  18. c语言 九宫格还原算法,经典回溯算法问题:九宫格
  19. 创建使用相对路径的快捷方式
  20. 深度学习-海康机器人visionmaster图像检索

热门文章

  1. WIFI模块AP和STA模式分别是什么意思
  2. 金融科技之能量守恒定律
  3. 【JAVA作业】异常、随机数、List
  4. [ZJOI2018]保镖
  5. 东芝自助结账设备市场份额增长近50%
  6. 2022-2028年中国矿用减速机行业全景调查与投资方向研究报告
  7. 创新工场5位创业者2011创业感悟
  8. 什么是共模干扰和差模干扰,它们是怎么产生的
  9. 单位换算 Delphi示例
  10. 整理全网可视化大屏有关资料,学习大屏设计,大屏原型参考,大屏设计参考