摘要: 对于Modbus协议栈的整个开发内容,前面已经说得很清楚了,接下来我们说明一下与开发没有直接关系的内容。 首先,关于我为什么开发这个协议栈的问题。我们的初衷只是想能够在开发产品时不用每次都重写这一部分,而是可以不断的改进和使用达到复用的目的。当然在后来,我们觉得不只是我们自己可以使用,也可以将其公开 阅读全文
posted @ 2017-08-27 20:28 Moonan 阅读(4306) 评论(1) 推荐(2) 编辑
摘要: 上一节我们使用协议占开发了一个Modbus TCP Server应用。接下来我们使用协议栈在开发一个基于串行链路的Mosbus RTU Slave应用。 根据前面对协议栈的封装,我们需要引用Modbus TCP Server的相关封装。在接收到命令后调用解析函数进行解析,解析函数的原型: Parsi 阅读全文
posted @ 2017-08-27 20:10 Moonan 阅读(1812) 评论(0) 推荐(0) 编辑
摘要: 前面我们已经完成了Modbus协议栈的开发,但这不是我们的目的。我们开发它的目的当然是要使用它来解决我们的实际问题。接下来我们就使用刚开发的Modbus协议栈开发一个Modbus TCP Server应用。 开发Modbus TCP Server首先需要有TCP Server的支持以及网络的配置等, 阅读全文
posted @ 2017-08-26 16:03 Moonan 阅读(2454) 评论(0) 推荐(0) 编辑
摘要: 谈到Modbus通讯自然免不了循环冗余校验(CRC),特别是在标准的串行RTU链路上是必不可少的。不仅如此在其他开发中,也经常要用到CRC 算法对各种数据进行校验。这样一来,我们就需要研究一下这个循环冗余校验(CRC)算法。 1、CRC简述 循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多 阅读全文
posted @ 2017-08-19 19:35 Moonan 阅读(3426) 评论(0) 推荐(1) 编辑
摘要: 原文链接:http://www.analog.com/cn/analog-dialogue/articles/studentzone-june-2017.html?ADICID=EMAL_CN_P1185_SUB-NL-PN_59&ECID=6F056642-EC3D-E611-80E7-5065F 阅读全文
posted @ 2017-08-16 10:11 Moonan 阅读(438) 评论(0) 推荐(0) 编辑
摘要: 前面开发了各种应用,但是却一直没有提到一个问题,你就是对具体的数据进行读写操作。对于Modbus来说标准的数据有4种:线圈数据(地址:0000x)、输入状态量数据(地址:1000x)、保持寄存器数据(地址:4000x)和输入寄存器数据(地址:3000x)。我们通讯的目的就是为了对这些数据进行操作,可 阅读全文
posted @ 2017-08-13 18:09 Moonan 阅读(2381) 评论(0) 推荐(1) 编辑
摘要: 这一节我们来封装最后一种应用(Modbus RTU Master应用),RTU主站的开发与TCP客户端的开发是一致的。同样的我们也不是做具体的应用,而是实现RTU主站的基本功能。我们将RTU主站的功能封装为函数,以便在开发具体应用时调用。 对于RTU主站我们主要实现的功能有两个:其一是生成访问RTU 阅读全文
posted @ 2017-08-04 18:08 Moonan 阅读(7243) 评论(0) 推荐(0) 编辑
摘要: Modbus在串行链路上分为Slave和Master,这一节我们就来开发Slave。对于Modbus RTU从站来说,需要实现的功能其实与Modbus TCP的服务器端是一样的。其操作过程也是一样的。首先接收到主站的访问命令,对该命令报文进行解析,这里我们也只是实现前面提到的8种功能码。其次我们根据 阅读全文
posted @ 2017-07-30 12:13 Moonan 阅读(7936) 评论(0) 推荐(2) 编辑
摘要: 这一次我们封装Modbus TCP Client应用。同样的我们也不是做具体的应用,而是实现TCP客户端的基本功能。我们将TCP客户端的功能封装为函数,以便在开发具体应用时调用。 对于TCP客户端我们主要实现的功能有两个:其一是生成访问TCP服务器的命令,总共支持8中功能码。其二是对TCP服务器端返 阅读全文
posted @ 2017-07-22 09:19 Moonan 阅读(7455) 评论(1) 推荐(1) 编辑
摘要: 在完成了前面的工作后,我们就可以实现有针对性的应用了,首先我们来实现Modbus TCP的服务器端应用。当然我们不是做具体的应用,而是对Modbus TCP的服务器端应用进行封装以供有需要时调用。 这里我们不涉及TCP的协议,这部分与Modbus没有必然联系,我们只是在其应用层运行Modbus协议而 阅读全文
posted @ 2017-07-14 21:42 Moonan 阅读(11950) 评论(0) 推荐(3) 编辑