目的:

寻找S7-1200作为服务端与计算机ModbusTCP通讯的具体方式,为PC端APP提供通讯依据。

需要准备的工具

S7-1200 CPU1212 DC/ DC/ DC一台,网线,24VDC电源, ProfiNet口通过交换机与PC连接。PC端用Modbus Poll客户端(目的是验证数据正确性)

协议说明

modbus tcp数据报文结构
请求:00 00 00 00 00 06 09 03 00 00 00 01
响应:00 00 00 00 00 05 09 03 02 00 00
一次modbus tcp读取保持寄存器的通信分析(省略了ip/tcp头):从左向右分析该数据报文:
请求:
00 00传输标志,两个字节长度,表示Modbus询问/应答的传输,默认是00 00;
00 00协议标识,两个字节长度,0表示Modbus,1表示UNI-TE,一般默认为00 00;
00 06数据长度,用来指示接下来数据的长度,单位字节;
09地址码,用以标识连接在串行线或者网络上的远程服务端的地址;
03功能码,此时代码03为读取保持寄存器数据;
00 00寄存器地址;
00 01寄存器数量;

响应:
00 00为此次通信事务处理标识符,应答报文要求与先前对应的请求保持一致;
00 00为协议标识符,与先前对应的请求保持一致;
00 05为数据长度,用来指示接下来数据的长度,单位字节;
09为设备地址,应答报文要求与先前对应的请求保持一致;
03为功能码,正常情况下应答报文要求与先前对应的请求保持一致,如果出错则返回80h+先前的功能码;
02指示接下来数据的字节长度;
00 00为被读取的保持寄存器中的数据值,即要求被读取的地址为00 00的保持寄存器中的数值为00 00。

其他命令码测试

a) 01 Read Coils(0x)读取输出Q地址
发送:00 09 00 00 00 06 01 01 00 00 00 01
含义:报文头00 09 00 00 00 06;00 09每帧递增;00 00 ModbusTCP;00 06是后面还有6字节数据。报文内容是读取站号01地址00 00开始的1个位地址。
回收:00 09 00 00 00 04 01 01 01 00

b) 02 Read Discrete Inputs(1x) 读取输入I地址
发送:00 09 00 00 00 06 01 02 00 00 00 01
含义:报文头00 09 00 00 00 06,00 09每帧递增,00 00ModbusTCP专属,00 06是后面还有6字节数据。报文内容是读取站号01地址00 00开始的1个输入位地址。
回收:00 09 00 00 00 04 01 02 01 00
含义:报文头00 09 00 00 00 04同上,报文内容是站号01读1个输入位地址(对应到S7-1200地址偏移范围可知是I区)返回了1个字节,结果是01。也就是I0.0是true。

发送:00 09 00 00 00 06 01 02 00 00 00 0A
回收:00 10 00 00 00 05 01 02 02 00 00
c) 03 Read Holding Registers(4x)
发送:00 09 00 00 00 06 01 03 00 00 00 01
回收:00 09 00 00 00 04 01 03 02 00 00
读取设定DataBlock的偏移为0的1个数据,返回结果是0x0000。经验证与PLC监控值相同。

#附录一
源代码资源地址,如果有问题可以给我发邮件jacky20sx@163.com,我会及时回复,互相学习
https://download.csdn.net/download/u011383812/10755005

ModbusTCP协议,上位机通讯测试实例分享相关推荐

  1. C# 机器视觉工控通讯------西门子PLC之S7协议上位机通讯

    C# 机器视觉工控通讯------西门子PLC之S7协议上位机通讯 使用步骤 1.引入库 项目添加应用HslCommunication.dll和代码代码如下(示例): dll官方支持网站> us ...

  2. c语言tcp硬时事通讯程序代码,使用C语言编写基于TCP协议的Socket通讯程序实例分享...

    tcp客户端示例 #include #include #include #include #include #include #include #include #include #include # ...

  3. modbus通讯协议编程实例_三菱PLC CC-LINK通讯编程实例分享,看完你就会了

    前言:小蓝上次分享了三菱PLC编程指令文章,有一位粉丝说还有标签,FB模块,以太网通讯,MODBUS,TCP通讯这些有的学的.所以今天就给大家带来CC-LINK通讯编程实例.如果看完还是不太明白怎么办 ...

  4. 西门子1200程序V15版本实例,设备已经运行生产,博图V15以上可打开 包含上位机通讯,modbus485

    西门子1200程序V15版本实例,设备已经运行生产,博图V15以上可打开 包含上位机通讯,modbus485,伺服等 西门子1214C控制4台步进电机: 西门子1214C与4台MS300变频器modb ...

  5. 物联网云平台DTU Modbus协议 上位机 下位机 源码 源代码 程序

    物联网云平台DTU Modbus协议 上位机 下位机 源码 源代码 程序 一.源码的使用基本说明: 1.1 编译语言: 下位机使用C语言:上位机使用C#语言 标准Modbus Slave通信下位机源码 ...

  6. STM32 MPU6050与匿名上位机通讯(V2.6版)

    0.系列目录 STM32 软件模拟IIC STM32 使用DMP库处理MPU6050数据 STM32 MPU6050与匿名上位机通讯(V2.6版) 1.简介 在四轴的调试中,经常要使用地面站与飞控之间 ...

  7. proteus中使用虚拟串口实现单片机和上位机通讯

    祝大家身体健康哈,肺炎愈来愈多,希望看到这篇文章的旁友都能健健康康! 今天写一下proteus里如何使用虚拟串口仿真单片机和上位机通讯,所需要的软件有:(1)Virtual Serial Port D ...

  8. 欧姆龙PLC码垛程序 电机:四个雷塞闭环步进电机,四个汇川伺服电机,总共八个电机。 PLC:CP1H-EX40DT-D,八个轴就用了两个PLC,还有跟上位机通讯

    欧姆龙PLC码垛程序(某上市公司设备),电机:四个雷塞闭环步进电机,四个汇川伺服电机,总共八个电机. PLC:CP1H-EX40DT-D,八个轴就用了两个PLC,还有跟上位机通讯. 图四是机台俯视图 ...

  9. 【代码】邮件群发机PHP实现实例分享

    原理: 第一申请大量的邮箱帐号 腾讯的 126的 163的 新浪的 雅虎的 谷歌的 等等提供smtp服务的 第二:收集你要发送邮件的邮件列表 第三:遍历邮件列表,每一个邮件发送邮件 第四:用linux ...

  10. AS608与单片机握手失败、与上位机通讯失败

    简言:本人在使用AS608模块时遇到了握手失败.通讯失败的问题,尝试网上各种方法未果后,换了一个AS608模块,问题解决. 一.与单片机握手失败 检查代码中的波特率是否为9600,再通过上位机将AS6 ...

最新文章

  1. 取消tableView多余的横线
  2. firefox不激活新标签页
  3. 审批流程展示html,Web企业在线审批流程系统
  4. JAVA NIO 简介(转)
  5. Docker-基本概念(镜像和容器)
  6. 【java学习之路】数据库连接JDBC
  7. 路畅安卓最新固件升级_路畅导航系统固件升级下载|路畅导航系统固件升级大全1.51 官方版_ - 极光下载站...
  8. 7.STC15W408AS单片机串口通信
  9. 【论文总结】DeepEMD:Few-Shot Image Classification with Differentiable Earth Mover’s Distance(附翻译)
  10. 【IoT】2023裁员潮还在继续,构建规划能力也许是一剂良方
  11. 学习Photoshop的一些网站以及找素材的网站
  12. python生成字符画_Python生成字符画 | 文艺数学君
  13. jquery基础学习记录
  14. RTP-RTCP协议分析
  15. 零知识证明:重要构造
  16. 如何使用PyDenseCRF
  17. 操作系统和应用程序漏洞评估
  18. Java 圆锥类 圆类 面积 体积
  19. 神经网络模型的模型假设,人工神经网络预测模型
  20. 【分享】一位平凡测试人的故事

热门文章

  1. 服务器英文系统怎么切中文,云服务器怎么把英文改成中文
  2. 世界最强大的UltraLAB便携图形工作站介绍
  3. linux kernel 摄像头驱动
  4. 仿铁路订票系统Gridview
  5. 从铁路订票系统问题看应用监控的作用
  6. python之小说下载器version2.0
  7. 配合字体图标的搜索框
  8. go build报错,提示错误can‘t load package: package xxx is not in GOROOT (D:\Go\Go\src\xxx)
  9. python 自动发邮件模块抄送_Python实现自动发送邮件
  10. 苹果手表GPS和蜂窝有什么区别