回复:关于cp341做主站进行modbusRTU通讯读写数据问题

东方红一红

版主 西门子1847工业学习平台

  • 帖子

    6779
  • 精华

    50
  • 被关注

    142

论坛等级:至圣

注册时间:2003-07-12

钻石 钻石 如何晋级?

发布于 2019-11-05 12:03:47

1楼

首先给你澄清几个概念。

1,modbus都对所有数据均以寄存器称谓,寄存器类型有0xxxx(线圈)、1xxxx(输入点),3xxxx(输入寄存器),4xxxx(保持寄存器)。具体寄存器里的数据是整型、浮点或其他,是另外一个问题。那是仪表厂家编码仪表数据的问题。“xxxx”前面的数字是寄存器类型的编码,xxxx才是寄存器的地址。所以你说的寄存器地址重叠的事,是不会发生的。

2,读取数据的寄存器类型及地址比较分散,可以通过一次尽可能多的读或写一个片区的方式,减少轮询的次数。但modbus报文单次读写的容量也是有限的,具体上限值与设备有关。

3,modbus读写不同寄存器一般是根据功能码来匹配的,CP341的函数也是如此。

4,CP341的FB7/8是CP341的收发函数,sample给出了不同任务的轮动,但要适合modbus不同报文的轮询还需要改造程序。注意一般串口不具备全双工的情况下,收发不能同时发生。

5,轮询程序是串口通讯中比较难的部分,可以选择modbus转DP,或modbus转PN的网关来简化工程开发工作。

知其道,用其妙!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54620条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。