如何用c实现Modbus RTU主从通讯

新人一个,看了很久的Modbus协议,都完全不知道如何下手写Modbus RTU的代码,
我想模仿Modbus RTU通讯,自己编写主站和从站,用软件实现,有没有大神指点一下迷津,例如怎么发送数据,是用socket还是用什么?跪求大神指点!!

0

2个回答

2

一般是通过串口来实现,当然如果你想也可以通过 Socket 来验证。
主/从都没有的情况下,先按最简单的让主/从连接并完成数据传输。然后再按协议,进行控制过程的实现。

0
Switr
Switr 回复91program: Thanks,懂了。
3 年多之前 回复
91program
91program 回复Switr: 无论是串口,还是TCP,它只是一个数据传输的通道。只要你的数据是按 RTU 协议的,应该就算是。当然,如果 RTU 对传输介质有要求则你必须按要求来做。
3 年多之前 回复
Switr
Switr 用socket那还算RTU方式传输吗,貌似是Tcp方式了,我想知道Modbus RTU是怎么进行传输,是用什么函数方法?
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C# modbus RTU 通信实例
简单实现串口modbus rtu数据发送,显示发送缓冲区内容
MFC modBus 读写串口实例
MFC modBus 读写串口实例 源码下载 http://download.csdn.net/detail/zuoyuexian/9786612
常用_Modbus-RTU测试工具_主从机都有
常用的Modbus-RTU测试工具_主从机都有,因为本人要用,找了好久
基于51单片机modbusRTU从机设计
在了解modbus协议后就是基于该协议的设计了,下面先说一下基于航太电子HTM52单片机的从机设计。 设计思想如下: modbus协议是以主从的方式通信的,也就是上位机发送指令,下位机应答机制,发起通信的一直是上位机,下位机只要应答就好了。 modbus协议被设计出来是针对PLC应用的,这里我们可以简单的模拟PLC环境,可以在单片机里面设计一块共享区,该区域是上位机和下位机共享的,均可以读取或写入该区域的值,所有的modbus协议都是针对该快区域的操作,下位机也是根据这块区域的值做相应的操作。
DSP做的modbus rtu 主从站协议
DSP做的modbus rtu 主从站协议 2012-05-03 7:36 modbus RTU 协议:先后做1,3,15,16四个命令码,有主从站协议解析。  原文链接:http://blog.21ic.com/user1/3338/archives/2008/47236.html //-----------------------------------------
STM32作为从机通过RS485实现Modbus RTU通讯
文章目录1. 串行通讯、RS485、Modbus的联系和区别2. 串行通讯介绍2.1 串行通讯的定义:2.2 串行通讯的分类:2.3 串行通讯的参数和意义:2.4 STM32中的串行通讯:3. RS485介绍3.1 RS485的定义:3.2 STM32中的RS485:3.3 RS485的硬件电路设计:4. Modbus RTU介绍5. STM32代码实现6. MODBUS协议调试时出现的问题和原因...
s7-1200modbus rtu 通讯 编写主站程序
s7-1200modbus rtu 通讯 编写主站程序,标准的操作步骤为初学者准备
Modbus RTU CRC16 串口通讯测试软件
本软件是专门针对Modbus RTU设备提供串口调试的软件。相比之前的串口调试软件,增加了串口搜索和多条指令命名和发送的功能,可更加方便进行调试。 欢迎共享下载!
MODBUS通讯 C语言源代码
MODBUS通讯 C语言源代码,使用C语言编写的一个MODBUS通讯协议代码
Modbus-RTU通讯协议中CRC校验码的计算步骤及算法代码
在CRC计算时只用8个数据位,起始位及停止位,如有奇偶校验位也包括奇偶校验位,都不参与CRC计算。 CRC计算方法是: 1、 预置1个16位的寄存器为十六进制FFFF(全1),此寄存器为CRC寄存器 2、 把第一个8位二进制数据(即通讯信息帧的第一个字节)与16位的CRC寄存器的低八位相异或,吧结果存放于CRC寄存器。 3、 把CRC寄存器的内容右移一位(朝低位)用0填补最高位,并检测右移后...
C语言的Modbus RTU程序各种实现方法
C语言的Modbus RTU程序各种实现方法,常见的集中方法及分析
S7-1200 Modbus RTU 主从通讯例程(主站轮询)
S7-1200 Modbus RTU 主从通讯例程,主站轮询多从站,从站掉线自动跳过。TIA V13编写。
C#关于modbus RTU的通讯
1.关于串口通讯之前用vb也做过一些,但是在校验的功能上却遇到一些困难;后来在百度上看到有些人使用NMDBUS4的类库,尝试着自己使用;下载NMODBUS4的类库在百度里面总是要各种积分、会员;其实可以通过visual stadio 的开源类库直接下载即可,不需要任何积分;然后调用。使用using modbus.device即可调用;...
Modbus主从机通讯调试专用工具
该工具可以非常直观方便的进行Modbus通讯的现场调试,查看通讯过程中各种数据类型,可以自定义脚本模拟实际主从机之间数据访问和交换过程。
基于RS-485的MODBUS_RTU协议格式的通信的简单介绍
        目前工业控制现场大量使用了各种智能仪表用于生产过程检测,把智能仪表检测出来的数据传送到监控计算机供显示和分析是非常必要的环节,虽然智能仪表的通信协议种类繁多,但是很多智能仪表都具备RS-232 和RS-485 两种通信接口类型。   RS-232 是美国EIA(Electronic Ingustry Association) 与BELL 等公司一起开发的1969 年公布的通信协议...
CP341 Modbus RTU多站点轮询源程序
用于西门子s7 300编写PLC程序,本文档中所有的程序代码均使用Step7 V5.4 SP3编写。
c语言实现 通过rs232可实现上位机和下位机的通信-Modbus
c语言实现 通过rs232可实现上位机和下位机的通信-Modbus
【C++】Modbus通讯
MODBUS_SERVER.h MODBUS_SERVER.cpp MODBUS_SHARE.h MODBUS_SHARE.cpp PORT.h PORT.cpp 两个VC++ Modbus通信例子源代码.rar modbus 协议编程 C++ MODBUS_SERVER.h //Download by http://www.NewXing
使用JAVA实现MODBUS协议通信
使用JAVA实现MODBUS协议通信.。。。。。。。。
经过整理的Modbus通讯协议详解(一)
<br />Modbus通讯协议简介<br />Modbus协议 <br /> <br />Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(Schneider Automation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议。此协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 <
单片机modebus RTU通信实现,采用C语言,可适用于单片机,VC,安卓等
当前使用的是STM32+ucos_ii编写的,可以移植到安卓以及VC .NET等方便移植使用,采用modebus poll测试过. 只需要修改响应的通信接口即可,方便多串口使用 //modebus_rtu.c /***********************************************************************************
基于51单片机的modbus rtu 通信测试程序
一款基于51单片机的modbus rtu 通信测试程序,适合多采集点项目开发(例如水文项目、多地温度采集项目),基于485通信机制。
通过modbus协议实现arduino与电能表串口通信(仅03功能)
请注意阅读顺序一定要从头到尾!!
如何用VB实现Modbus串行通讯
 如何用VB实现Modbus串行通讯在一些应用中可能需要使用诸如VB来进行上位机监控程序的开发,而Modbus协议是这类应用中首选的通讯协议;Modbus协议以其简单易用,在工业领域里已广泛的为其他第三方设备所支持。这里对VB和Twido PLC间的通讯进行说明。  对于大部分应用,Twido PLC作为从站,它不需要编制通讯程序,只要把通讯口的参数设置好即可,例如下图表示此Twido通过
Modbus多机通信例程
给从机下发不同的指令,从机去执行不同的操作,这个就是判断一下功能码即可,和我 们前边学的实用串口例程是类似的。多机通信,无非就是添加了一个设备地址判断而已,难 度也不是很大。我们找了一个 Modbus 调试精灵,通过设置设备地址,读写寄存器的地址以 及数值数量等参数,可以直接替代串口调试助手,比较方便的下发多个字节的数据,如图 18-7 所示。我们先来就图中的设置和数据来对 Modbus
Linux C开发之用modbus实现串口通讯
想要读取串口数据,modbus是一个很好用的第三方库。该库适用于windows和Linux,支持RTP、RTU等协议,基于Linux的开发较难一些,是我前段时间主要的研究方向。http://www.modbus.org/是modbus的主页,有兴趣的朋友可以查看一下它的特性。     废话不多说,速度开始。首先,你需要安装modbus的第三方库,sudo apt-get install libm
STM32 MODBUS_RTU从站程序,KEIL编写
STM32 做的modbus_rtu程序,使用KEIL编写,没有移植FREEMODBUS,适合搞MODBUS协议开发的朋友
stm32实现modbus主机从机功能通信
stm32f103实现modbus通信,通信方式为RS485,只需设置程序变量model,自由切换主从模式。已通过调试,放心采纳
C# 源码 VS2008 基于MODBUS的RTU 串口通信
完整的C#源码,开发工具VS2008, 测试过信捷PLC,基本可用,本人也是菜鸟,自己写的,大家有意见可以提,不要拍我砖啊。 涉及功能码: 01 读开关 05 写开关 03 读单路寄存器 06 写单路寄存器 10 写多路寄存器 分享给大家,谢谢收藏。
MODBUS通讯协议及编程【一】
一、Modbus 协议简介    Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。    此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备
modbus 协议编程 C++
<br />MODBUS通讯协议及编程<br />  ModBus通讯协议分为RTU协议和ASCII协议,我公司的多种仪表都采用ModBus RTU通讯协议,如:CH2000智能电力监测仪、CH2000M电力参数采集模块、巡检表、数显表、光柱数显表等。下面就ModBus RTU协议简要介绍如下:<br />一、通讯协议<br />(一)、通讯传送方式 :<br />    通讯传送分为独立的信息头,和发送的编码数据。以下的通讯传送方式定义也与MODBUS
基于vb.net的modbus上位机通信协议代码(RTU模式)
用vb.net写的modbus通信上位机小程序,可以实现读,写寄存器和线圈的功能。
西门子CP340 MODBUS RTU 实现例子
如果用CP341模块(自带Modbus协议库),那还要去购买软件包(价格要7K多),成本就比较贵了。用CP340模块,我编写了Modbus功能块,就不需要去购买软件包了,开销省了不少,所以上传上来共享下,小弟初来乍到,望各位多多支持下。
Modbus C++实例
Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。Modbus协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。Modbus C++实例代码是基于VC编写的代码,包含了线程操作。
STM32CubeMX F4系列 USART1实现串行Modbus通讯
STM32CubeMX F4系列 USART1实现串行Modbus通讯
java编写的两个modbus CRC16实现
    在使用java与下位机通信中,经常会涉及到modbus协议,而作为校验手段,CRC16必不可少。     网上搜到的绝大部分实现都不是为modbus编写的,经过与下位机的通信检验,我选择了其中两个比较简洁的实现并根据自己的需要加以改进,完成了以下两个工具类。     希望对需要此类编程的朋友有所帮助。     对附件说明如下:     class CRC_16 ——采用运算实现的C...
C# 基于ModBus RTU通讯协议,使用RS-485获取气象站数据
usb转rs-485,基于ModBus RTU获取气象站信息,包括简单数据库操作,使用vs2013,包括CRC校验,增加掉线检测,掉线重连
Modbus通信协议(内附RTU+51单片机程序)
内容包括Modbus通信协议(PDF版),RTU说明,RTU+51单片机程序。有兴趣的可以看看。具体关于Modbus的问题可以咨询我,可探讨
modbus 服务端(从站)C++小项目源码
因项目需要。自己实现的modbus服务器C++项目源码,和我上传的另一个资源是配套的,刚好实现0x03的接受和发送数据功能。其他功能码的接口也有几个。可以下载学习哦。
Modbus 史上最全实例资料汇总
1.前言   Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一种通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一个控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java如何用深度学习 如何用网页制作计时器视频