一路生花

  • 一、w5500资料
  • 二、modbus通信
  • 三、从机代码
  • 四、总结
  • 五、参考

一、w5500资料

  • w5500的资料就放在下面了,单纯的客户端和其他模式上面有教程

https://www.aliyundrive.com/s/enPnnZgNtpE

二、modbus通信

  • Modbus RTU通信时使用的数据帧结构如下图,而Moubus TCP通信的数据帧和这个稍微不一样,没有crc检验,因为tcp本就是一种可靠传输协议

  • 这里是Modbus TCP数据帧

  • 公共功能码定义

三、从机代码

  • 关键代码,这里需要在开始定义一个全局变量data,每次调用都会使data++,而返回的数据就是把data置于数据位,值通过tcp回传回去,能在modbus poll里看到这个值
void Process_Socket_Data(SOCKET s)
{int len;unsigned char msg[11]={0x00,0x00,0x00 ,0x00, 0x00, 0x05, 0x01, 0x03, 0x02, 0x00, 0x70};len=sizeof(msg);unsigned short size;size=Read_SOCK_Data_Buffer(s, Rx_Buffer);memcpy(Tx_Buffer, Rx_Buffer, size);//打印查询报文for (int j=0;j<size;j++){printf("0x%02X ",Tx_Buffer[j]);}//写响应报文//检验码msg[0]=Tx_Buffer[0];msg[1]=Tx_Buffer[1];//协议msg[2]=0x00;msg[3]=0x00;//数据包长度msg[4]=0x00;msg[5]=0x05;//设备编号msg[6]=Tx_Buffer[6];//功能码msg[7]=Tx_Buffer[7];//数据长度msg[8]=0x02;//低八位msg[10]=data&0XFF;//高八位msg[9]=data>>8;memcpy(Tx_Buffer, msg, len);    //发送响应报文Write_SOCK_Data_Buffer(0, Tx_Buffer, len);data++;
}
  • 代码下载链接

https://gitee.com/zxsjunqi/keilcode/tree/master/Modbus_TCP-main/Modbus_TCP-main

  • Modbus Poll读取设置
  • 这里是通过TCP连接,地址就是代码里所写的,比如我是192.168.201.68,端口为5000,有个前提,要通信得先把前面的客户端例子调通,也就是需要修改适配器
  • 读取效果

四、总结

modbus tcp通信原理基本清楚了,但在代码实现的时候却很犹豫,不知道拿什么来接收并应答,直到看到同学的博客之后,突然就明白了,大佬是真的强啊。

五、参考

STM32F103基于W5500实现Modbus简单TCP通信
Modbus TCP通信概述

W5500+STM32F103C8T6进行TCP通信(modbus)相关推荐

  1. 10通信端口感叹号_S71200 技术篇——MODBUS TCP通信

    一.S7-1200 Modbus TCP 通信指令块 图1. Modbus TCP V4.0 版本指令块 二.S7-1200 Modbus TCP 实验环境 下面以两台S7-1200之间进行 Modb ...

  2. 西门子S7-200 SMART(6ES7 288-1ST40-0AA0)相关与晨控智能CK-FR08-E00关于modbus tcp 通信配置指南

    西门子S7-200 SMART(6ES7 288-1ST40-0AA0)相关与晨控智能CK-FR08-E00关于modbus tcp 通信配置指南 准备阶段 软件:STEP 7-MicroWIN SM ...

  3. S7-1200PLC Modbus TCP通信

    硬件:cpu 1214C 目的:测试Modbus TCP通信 软件:Portal V14SP1 1.硬件组态 插入两台cpu,并分配IP地址 PLC_1:192.168.0.20 PLC_2:192. ...

  4. 西门子PLC-S7200smart--------------章节一modbus TCP通信

    文章目录 西门子PLC-S7200smart modbusTCP通信 一.西门子编程软件 1.西门子编程软件下载 2.软件启动和新建工程 二.modbus TCP协议 三.modbus TCP协议实践 ...

  5. 西门子S7-1200与FUNUC机器人MODBUS TCP通信

    PLC与机器人MB通信时,funuc作为服务器端,1200作为客户端.1200向funuc发送读写请求,funuc应答后PLC接收funuc的数据,实现数据的传递. 注意:Modbus不能同步进行通信 ...

  6. python使用pymodbus库进行modbus tcp通信

    使用pymodbus库进行modbus tcp通信 使用python解决工业通信问题是一个非常好的选择,python具有丰富的生态,可以轻松解决工业通信的各种问题.本篇主要介绍使用pymodbus库进 ...

  7. 三菱FX5U系列PLC与汇川IT6000系列触摸屏进行MODBUS TCP通信的具体方法

    三菱FX5U系列PLC与汇川IT6000系列触摸屏进行MODBUS TCP通信的具体方法 本次和大家分享三菱FX5U系列PLC与汇川IT6000系列触摸屏进行MODBUS TCP通信的具体方法,由于汇 ...

  8. Modbus通信从入门到精通_2_Modbus TCP通信详解及仿真(搭建ModbusTCP仿真环境:创建虚拟PLC并进行ModbusTCP通讯;寄存器与PLC中映射关系;适合理解如何编写上位机)

    本篇将会以西门子PLC软件搭建ModbusTCP仿真环境,并通过仿真环境,介绍基础知识及模拟实际应用中写一个简单的通信读取PLC数据方法,并简介了编写上位机的方法. 文章目录 1. 搭建ModbusT ...

  9. 博途1200间MODBUS TCP通信

    目录 MODBUS TCP通信 1.项目设备建立 2.建立通信数据块 3.参数配置 4.建立数据 5.指令 6.监控 MODBUS TCP通信 1.项目设备建立 新建项目,新增两台PLC设备(服务器. ...

  10. 汇川AM系列 Modbus TCP通信设置

    一 .概述 单击网络组态中的PLC设备,会显示PLC内部所支持的主/从站的使能窗口,如下图所示,单击窗口中的复选框按钮来使能CPU所支持的主/从站功能,再从视图右侧的"网络设备列表" ...

最新文章

  1. GDB 命令参考手册
  2. linux复制文件跳过相同,Linux cp指令,怎么跳过相同的文件
  3. 快学好这个去给学妹修热水器
  4. 论文浅尝 | 利用 RNN 和 CNN 构建基于 FreeBase 的问答系统
  5. java字典树(Trie)实现中文模糊匹配
  6. 树莓派 docker homeassistant_树莓派raspberry4B入坑指南 part-4 安装docker-ce 19.03
  7. centos中创建快捷键pycharm
  8. CA服务器的安装和学习.
  9. 自学python编程免费教程-Python十分钟入门 自学python基础教程送你参考
  10. Atitit 持久化 Persistence概念的艺术 目录 1. 持久化是将程序数据在持久状态和瞬时状态间转换的机制。 1 2. DBC就是一种持久化机制。文件IO也是一种持久化机制。 2 3.
  11. endnote x7不在word中显示
  12. web前端网页制作 小组作业(制作一个简单的小网页)
  13. WEB开发文档2 总结
  14. 董孝魁:通证经济重塑企业价值,区块链应赋能服务实体
  15. 02_星仔带你学Java之变量、常量、字面量、数据类型
  16. Git:git安装教程和检查是否安装成功
  17. Qt按键值与Windows Virtual-Key Codes映射表
  18. 学习分享:学术前言趋势分析2—论文作者统计
  19. 计算机软件硬件系统,计算机硬件系统和软件系统
  20. Python字符串相似性的几种度量方法

热门文章

  1. 关于PLC控制伺服电机找原点
  2. SVN忽略文件和文件夹
  3. 利用树莓派完成POS58打印机的无驱动打印(初学者)
  4. 家庭理财系统 -- 功能清单
  5. 数学建模解决出版社资源配置问题
  6. 2017-Appearance-and-Relation Networks for Video Classification视频分类中的外观与关系网络
  7. sql语句练习 - 增删改查
  8. HTML页面跳转及表单详解
  9. Robo 3T 使用教程
  10. 黑色的cms商城网站后台管理模板——后台