2 switr Switr 于 2016.01.18 13:15 提问

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

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

2个回答

caozhy
caozhy   Ds   Rxr 2016.01.18 20:26
91program
91program   Ds   Rxr 2016.01.18 20:35

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

Switr
Switr 回复91program: Thanks,懂了。
2 年多之前 回复
91program
91program 回复Switr: 无论是串口,还是TCP,它只是一个数据传输的通道。只要你的数据是按 RTU 协议的,应该就算是。当然,如果 RTU 对传输介质有要求则你必须按要求来做。
2 年多之前 回复
Switr
Switr 用socket那还算RTU方式传输吗,貌似是Tcp方式了,我想知道Modbus RTU是怎么进行传输,是用什么函数方法?
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C# modbus RTU 通信实例
简单实现串口modbus rtu数据发送,显示发送缓冲区内容
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 //-----------------------------------------
单片机modebus RTU通信实现,采用C语言,可适用于单片机,VC,安卓等
当前使用的是STM32+ucos_ii编写的,可以移植到安卓以及VC .NET等方便移植使用,采用modebus poll测试过. 只需要修改响应的通信接口即可,方便多串口使用 //modebus_rtu.c /***********************************************************************************
modbus rtu 工作流程分析
这里以freemodbus-v1.5.0为例,分析一下modbus 的工作流程,从接收到处理再到发送。 首先如果接收到主机发来的消息,程序会进入串口中断函数,中断函数必须调用portserial.c的void prvvUARTRxISR(void)函数,在prvvUARTRxISR函数中调用了pxMBFrameCBByteReceived();函数,该函数是个函数指针,在modbus初始化的时候
/* C# * MODBUS协议
/*  * MODBUS协议  *   *   * 介绍:  * 此modbus上位机 协议类 具有较强的通用性  * 本协议类最主要的思想是 把所有向下位机发送的指令 先存放在缓冲区中(命名为管道)  * 再将管道中的指令逐个发送出去。  * 管道遵守FIFO的模式。管道中所存放指令的个数 在全局变量中定义。  * 管道内主要分为两部分:1,定时循环发送指令。2,一次性发送指令
Modbus rtu CRC===PC上位机和PLC通信 Modbus rtu CRC计算(C++)
PC上位机和PLC Modbus rtu CRC计算
Modbus-RTU通信入门
Modbus-RTU 一、数据分析      两个设备(单片机)通讯,用的是Modbus协议。       在单片机中拿出一部分内存(RAM)进行两个设备通讯,例如:入门篇,不冗长,很好理解!(转自中国工控网)” style=”max-width:100%; margin:0px; padding:0px; border:0px; list-style:none”> 说明:        OX[20
MODBUS通讯协议及编程【一】
一、Modbus 协议简介    Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。    此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备
VB与S7-200PLC通过Modbus-Rtu通讯
<br />本软件为VB与S7-200PLC通过Modbus-Rtu通讯协议进行通讯而编写,对于学习MODBUS通讯协议 有很好的帮助,VB和其他仪表的通讯也同样适用,本软件支持功能1,2,3,4,5的读写具有 功能强大稳定性强的特点.S7-200PLC连接时请“S7-200 MODBUS.mwp“程序下载到PLC,分配好MODBUS积存器地址详细看文档 。然后用PPI编程电缆(最好是串口电缆,原装的是USB是不能进行通讯的,USB转串口的我没有测试过,应该能通讯上) 经过PORT0口与S7-200PLC连
经过整理的Modbus通讯协议详解(一)
<br />Modbus通讯协议简介<br />Modbus协议 <br /> <br />Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(Schneider Automation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议。此协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 <