汇川CodeSysPLC教程03-2-6 ModBus TCP

什么是ModBus TCP?

ModBus TCP是一种基于TCP/IP协议的工业网络通信协议,常用于工业自动化和控制系统。它是ModBus协议的一个变种,ModBus协议最初由Modicon(现在是施耐德电气的一部分)在1979年开发。

以下是ModBus TCP的一些主要特征:

  1. 基于TCP/IP:ModBus TCP使用以太网和TCP/IP协议进行通信,这使得它能够在现有的以太网络基础设施上运行,具有高传输速度和广泛的兼容性。

  2. 客户端-服务器模型:ModBus TCP采用客户端-服务器模型。客户端发送请求,服务器处理请求并返回响应。客户端和服务器之间的通信通过TCP端口502进行,这是ModBus TCP的默认端口。

  3. 数据表示:ModBus协议使用简单的数据表示方法,支持多种数据类型,如位(线圈和离散输入)、16位寄存器(保持寄存器和输入寄存器)。这些数据类型被映射到以太网帧中进行传输。

  4. 应用层协议:ModBus TCP位于OSI模型的应用层,其消息结构与传统的ModBus RTU(基于串行通信)类似,只是在以太网上传输。

  5. 无缝集成:由于ModBus TCP与ModBus RTU共享相同的功能码和数据格式,它们可以在一个混合网络中无缝集成,使得现有的ModBus设备可以轻松过渡到以太网络。

TCP/IP协议

TCP/IP(传输控制协议/互联网协议,Transmission Control Protocol/Internet Protocol)是一组网络通信协议,用于在计算机网络中实现数据传输和通信。TCP/IP协议族是互联网和大多数局域网(LAN)所使用的基础协议。以下是TCP/IP协议的一些关键概念和组成部分:

1. TCP/IP 协议模型

TCP/IP协议模型分为四个层次,每一层都有其特定的功能:

  1. 应用层(Application Layer)

    • 提供用户直接使用的网络服务,如HTTP(用于网页浏览)、FTP(文件传输)、SMTP(电子邮件传输)、DNS(域名解析)等。
  2. 传输层(Transport Layer)

    • 负责端到端的数据传输和流量控制。
    • TCP(Transmission Control Protocol):提供可靠的、面向连接的数据传输,确保数据按顺序到达且无错误。
    • UDP(User Datagram Protocol):提供无连接的、尽力而为的数据传输,适用于需要快速传输且容忍丢包的应用,如视频流和在线游戏。
  3. 网络层(Internet Layer)

    • 负责数据包在网络中的路由选择和转发。
    • IP(Internet Protocol):是核心协议,负责将数据包从源地址传送到目标地址。IP地址标识网络上的设备。
    • ICMP(Internet Control Message Protocol):用于发送错误消息和网络诊断信息,如ping工具。
  4. 链路层(Link Layer)

    • 负责在物理网络媒介上传输数据帧。
    • 包括以太网、Wi-Fi等具体的物理和数据链路层协议。
2. TCP/IP 协议的工作原理
TCP(传输控制协议)
  • 连接建立:TCP使用三次握手建立连接,确保双方都准备好发送和接收数据。
  • 数据传输:数据被分割成小的数据包(段),每个段都有一个序列号。TCP确保所有段按序到达,重传丢失的段,并通过校验和检查数据完整性。
  • 连接终止:通过四次握手终止连接,确保所有数据都被成功传输。
IP(互联网协议)
  • 路由选择:IP负责根据目标IP地址选择最佳路径,将数据包从源地址传送到目标地址。
  • 分片和重组:当数据包超过网络MTU(最大传输单元)时,IP会将其分片传输,并在目标处重新组装。
3. TCP/IP 协议的优势
  • 互操作性:TCP/IP是一个开放的标准协议,广泛支持多种硬件和操作系统,确保不同设备间的互操作性。
  • 可伸缩性:TCP/IP可以支持从小型局域网到全球互联网的各种规模的网络。
  • 可靠性:TCP协议提供了可靠的数据传输机制,确保数据在不丢失、不重复的情况下传输。
  • 灵活性:通过分层设计,TCP/IP协议可以适应各种不同的网络技术和应用需求。

总之,TCP/IP协议是现代计算机网络和互联网的基础,它提供了一个标准化的框架,使得不同设备和系统之间能够高效、可靠地进行通信。

客户端-服务器模型

客户端-服务器模型(Client-Server Model)是一种网络架构模型,其中任务或工作量在服务提供者(服务器)和服务请求者(客户端)之间分配。该模型广泛应用于网络和分布式计算中。以下是该模型的基本概念和工作原理:

基本概念
  1. 客户端(Client)

    • 客户端是发起请求的实体,可以是计算机、应用程序或设备。客户端向服务器请求资源或服务,并处理服务器返回的响应。
    • 客户端通常具有用户界面,允许用户与系统进行交互。
  2. 服务器(Server)

    • 服务器是响应请求的实体,通常是高性能计算机或专门的软件程序。服务器处理客户端的请求,执行必要的计算或操作,并将结果返回给客户端。
    • 服务器可以提供多种服务,如文件存储、数据库访问、网页服务等。
工作原理
  1. 请求和响应

    • 客户端通过网络向服务器发送请求。请求包含所需服务的详细信息,如资源地址、参数等。
    • 服务器接收到请求后,处理请求并生成响应。响应包含所需的数据或操作结果,然后通过网络发送回客户端。
  2. 连接管理

    • 客户端和服务器之间可以通过多种方式建立连接,常见的有短连接和长连接。
    • 短连接:每次请求响应完成后,连接即关闭。如HTTP/1.0协议。
    • 长连接:连接在多个请求响应之间保持打开状态,提高效率。如HTTP/1.1及其后的版本。
优势和应用
优势
  1. 分工明确

    • 服务器专注于提供和管理资源或服务,客户端专注于用户交互和请求发起。
    • 资源集中管理,便于维护和更新。
  2. 可扩展性

    • 服务器可以集中处理大量请求,通过添加更多服务器实现系统的水平扩展。
    • 客户端数量增加时,不需要修改服务器端的设计,只需增加硬件资源即可。
  3. 安全性

    • 服务器可以集中管理安全策略和数据保护措施,提高系统的整体安全性。
应用
  1. Web应用

    • 浏览器(客户端)向Web服务器发送请求,服务器返回网页内容。
    • 例如,用户访问网站时,浏览器发送HTTP请求,Web服务器处理请求并返回HTML页面。
  2. 电子邮件

    • 邮件客户端(如Outlook、Gmail)向邮件服务器(如SMTP、IMAP服务器)发送和接收电子邮件。
    • 服务器存储和管理邮件,客户端提供用户界面进行邮件操作。
  3. 文件共享

    • 客户端通过文件传输协议(如FTP)向文件服务器请求下载或上传文件。
    • 服务器管理文件存储和访问权限。
  4. 数据库访问

    • 应用程序(客户端)向数据库服务器发送SQL查询请求,服务器处理查询并返回结果。
    • 例如,企业内部系统查询客户数据。
图示
      Client                     Server
+----------------+       +----------------------+
|  User Interface| <---> | Application Services |
|                | <---  |                      |
|                |  ---> |                      |
+----------------+       +----------------------+

在客户端-服务器模型中,客户端和服务器通过网络进行通信,完成任务的分配和协作。这个模型在现代计算中广泛应用,支持从简单的网页浏览到复杂的企业级应用系统。

OSI(开放系统互连,Open Systems Interconnection)模型是一个标准化的网络通信框架,旨在使不同系统之间的互连和通信更加顺畅。OSI模型由国际标准化组织(ISO)在1984年制定,并分为七个层次,每个层次都有特定的功能和协议。以下是OSI模型的七层结构及其功能:

OSI 模型的七层结构

  1. 物理层(Physical Layer)

    • 功能:负责在物理媒体上发送和接收原始的比特流(0和1)。包括物理连接、信号传输、比特同步等。
    • 协议和设备:网线、光纤、电缆、集线器、网络接口卡(NIC)。
  2. 数据链路层(Data Link Layer)

    • 功能:负责在物理层上提供可靠的数据传输,包括帧的组装、地址命名、错误检测和纠正。
    • 子层:逻辑链路控制(LLC)和媒体访问控制(MAC)。
    • 协议和设备:以太网、Wi-Fi、交换机、桥接器。
  3. 网络层(Network Layer)

    • 功能:负责路由选择和逻辑地址的管理,将数据包从源节点传送到目的节点。
    • 协议和设备:IP(互联网协议)、路由器。
  4. 传输层(Transport Layer)

    • 功能:提供端到端的通信服务,包括数据分段、传输控制、错误检测和纠正、流量控制等。
    • 协议:TCP(传输控制协议)、UDP(用户数据报协议)。
  5. 会话层(Session Layer)

    • 功能:管理会话和连接,提供建立、维护和终止通信会话的机制。
    • 功能:会话管理、同步、对话控制。
  6. 表示层(Presentation Layer)

    • 功能:负责数据的格式化、编码和解码,确保不同系统之间的数据兼容性。
    • 功能:数据压缩、加密/解密、格式转换。
  7. 应用层(Application Layer)

    • 功能:提供直接为用户或应用程序使用的网络服务和接口。
    • 协议和应用:HTTP、FTP、SMTP、DNS、Telnet。

OSI 模型的功能和意义

1. 标准化

OSI模型提供了一个标准化的框架,使不同制造商和开发者可以创建互操作的硬件和软件。

2. 模块化

通过分层设计,OSI模型使得网络通信可以模块化。每一层独立工作且与上下层通信,使得开发和故障排除更加简便。

3. 可互换性

协议和技术可以在特定层进行替换或升级,而不会影响整个系统的其余部分。

4. 教育和理解

OSI模型提供了一个清晰的网络通信结构,使学生和工程师能够更好地理解和学习网络概念和协议。

5. 故障排除

分层模型使网络故障排除更为系统化,可以逐层检查和解决问题,定位具体的故障位置。

OSI模型与TCP/IP模型

尽管OSI模型是一个理论模型,但在实际应用中,TCP/IP协议族更为广泛使用。TCP/IP模型有四层(有时分为五层),如下所示:

  1. 网络接口层(Network Interface Layer)(对应OSI的物理层和数据链路层)
  2. 互联网层(Internet Layer)(对应OSI的网络层)
  3. 传输层(Transport Layer)(与OSI的传输层相对应)
  4. 应用层(Application Layer)(对应OSI的会话层、表示层和应用层)

尽管TCP/IP模型更为实际,但OSI模型的分层思想和结构化方法仍然是理解和设计网络系统的重要基础。

OSI模型七层图示
+---------------------------+
|   7. 应用层 (Application)   |
+---------------------------+
|   6. 表示层 (Presentation)  |
+---------------------------+
|   5. 会话层 (Session)       |
+---------------------------+
|   4. 传输层 (Transport)     |
+---------------------------+
|   3. 网络层 (Network)       |
+---------------------------+
|   2. 数据链路层 (Data Link)|
+---------------------------+
|   1. 物理层 (Physical)      |
+---------------------------+

通过理解和应用OSI模型,我们可以更好地设计、实现和维护复杂的网络系统,提高网络通信的效率和可靠性。

Modbus TCP设备编辑器

单击网络组态中的PLC设备,会显示PLC内部所支持的主/从站的使能窗口,如下图所示,单击窗口中的复选框按钮来使能CPU所支持的主/从站功能(如下图),再从视图右侧的“网络设备列表”中双击“MODBUS_TCP”将从站添加到网络中。
在这里插入图片描述
Modbus TCP组态配置示例

此时,在界面左侧视图中将出现ModbusTCP组态配置对应设备树。如下:
在这里插入图片描述

主站设定

在这里插入图片描述
帧间隔指主站接收上一个响应数据帧到下一个请求数据帧之间等待的时间间隔。这个参数可用于调节数据交换率。

主站中添加从站

在这里插入图片描述

添加从站的设定

在这里插入图片描述
注意:从站使能变量,若要启用图示中的从站,需要对SM3001变量置True。
其中,端口、从站地址、超时时间一般不用特别设置,IP根据从站的实际地址设置即可。

从站的通讯设定

在这里插入图片描述
这个部分的设定方式和RTU中设定时一样的,这里不重复说明。

本地从站的设定

与前面主站中的从站设定不同,本地从站的设定的意思是将PLC作为从站使用。我们在与HMI通信当中提到过,与HMI通讯是一种典型的PLC作为从站使用的实例。
本地从站设定的部分很少,按图示所示:
在这里插入图片描述

Modbus TCP常见故障

Modbus TCP主站连接Modbus TCP从站时发生的主要故障如下:
1:Modbus TCP主站连接Modbus TCP从站配置IP不正确,导致主站与从站通信无法建立。
2:Modbus TCP主站访问Modbus TCP从站非法地址,返回错误应答。
3:Modbus TCP主站操作Modbus TCP从站写寄存器,但是Modbus TCP从站该寄存器只支持读不支持写操作,Modbus TCP主站会收到Modbus TCP从站返回的出错应答。
要判定通讯故障是哪些原因造成的,可以通过返回的错误帧进行判定。
在这里插入图片描述

通讯帧格式说明

如果要特别读取SM、SD等区的话,可以参考帮助手册,其他的通讯方式同RTU,这里不展开说明了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/50090.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据治理之“财务一张表”

前言 信息技术的发展&#xff0c;伴随企业业务系统的纷纷建设&#xff0c;提升业务处理效率的同时&#xff0c;也将企业的整体主价值链流程分成了一段一段的业务子流程&#xff0c;很多情况下存在数据上报延迟、业务协作不顺畅、计划反馈不及时、库存积压占资多……都可以从数据…

【Android】linux

android系统就是跑在linux上的系统。Linux层里面包含系统和硬件驱动等一些本地代码的环境。 linux的目录 mount: 用于查看哪个模块输入只读&#xff0c;一般显示为&#xff1a; [rootlocalhost ~]# mount /dev/cciss/c0d0p2 on / type ext3 (rw) proc on /proc type proc (…

Spring AI (五) Message 消息

5.Message 消息 在Spring AI提供的接口中&#xff0c;每条信息的角色总共分为三类&#xff1a; SystemMessage&#xff1a;系统限制信息&#xff0c;这种信息在对话中的权重很大&#xff0c;AI会优先依据SystemMessage里的内容进行回复&#xff1b; UserMessage&#xff1a;用…

PlatformIO+ESP32S3学习:驱动WS2812矩阵彩灯显示FFT音律拾音灯

本文继承自之前的彩灯驱动文章&#xff1a;https://blog.csdn.net/qq_51930953/article/details/140736628 本文完成的效果&#xff1a; 1. 硬件准备 1.1. WS2812矩阵彩灯 购买地址&#xff1a;WS2812B全彩软像素屏8X8 8X32 16X16幻彩5V显示可编程像素软屏 1.2. 麦克风模块 购…

Ip2region - 基于xdb离线库的Java IP查询工具提供给脚本调用

文章目录 Pre效果实现git clone编译测试程序将ip2region.xdb放到指定目录使用改进最终效果 Pre OpenSource - Ip2region 离线IP地址定位库和IP定位数据管理框架 Ip2region - xdb java 查询客户端实现 效果 最终效果 实现 git clone git clone https://github.com/lionsou…

YOLOV8源码解读-C2f模块-以及总结c2模块、Bottleneck

c2f模块是对c2模块的改进 c2模块图解解读 先给出YOLOV8中卷积的定义模块一键三连-卷积-BN-激活函数 def autopad(k, pNone, d1): # kernel, padding, dilation"""Pad to same shape outputs."""if d > 1:k d * (k - 1) 1 if isinstance…

Linux:进程信号(二.信号的保存与处理、递达、volatile关键字、SIGCHLD信号)

上次介绍了&#xff1a;(Linux&#xff1a;进程信号&#xff08;一.认识信号、信号的产生及深层理解、Term与Core&#xff09;)[https://blog.csdn.net/qq_74415153/article/details/140624810] 文章目录 1.信号保存1.1递达、未决、阻塞等概念1.2再次理解信号产生与保存1.3信号…

Pytorch深度学习实践(9)卷积神经网络

卷积神经网络 全连接神经网络 神经网络中全部是线性模型&#xff0c;是由线性模型串联起来的 全连接网络又叫全连接层 卷积神经网络 在全连接神经网络中&#xff0c;由于输入必须是一维向量&#xff0c;因此在处理图像时必须要对图像矩阵进行拉伸成一维的形式&#xff0c;…

【算法】布隆过滤器

一、引言 在现实世界的计算机科学问题中&#xff0c;我们经常需要判断一个元素是否属于一个集合。传统的做法是使用哈希表或者直接遍历集合&#xff0c;但这些方法在数据量较大时效率低下。布隆过滤器&#xff08;Bloom Filter&#xff09;是一种空间效率极高的概率型数据结构&…

【NPU 系列专栏 2.8 -- 特斯拉 FDS NPU 详细介绍 】

请阅读【嵌入式及芯片开发学必备专栏】 文章目录 特斯拉 NPU 芯片介绍FSD(Full Self-Driving)芯片 简介FSD主要特点FSD 详细参数FSD 应用场景特斯拉 Hardware 3.0 芯片 简介Hardware 3.0主要特点Hardware 3.0 详细参数Hardware 3.0应用场景特斯拉自研 NPU 的优势优化设计高度…

【数学建模】——matplotlib简单应用

目录 1.绘制带有中文标签和图例的正弦和余弦曲线 2. 绘制散点图 1.修改散点符号与大小 2.修改颜色 3.绘制饼状图 4.在图例中显示公式 5.多个图形单独显示 6.绘制有描边和填充效果的柱状图 7.使用雷达图展示学生成绩 8.绘制三维曲面 9.绘制三维曲线 10.设置…

定制化即时通讯企业级移动门户解决方案,WorkPlus IM系统让工作事半功倍

随着移动设备的普及和移动办公的兴起&#xff0c;企业越来越需要一种定制化的即时通讯企业级移动门户解决方案来提高工作效率和团队协作效果。WorkPlus IM系统作为一种创新的解决方案&#xff0c;为企业提供了一个个性化定制、高度安全和高效便捷的移动门户平台。本文将对定制化…

BFF:优化前后端协作设计模式

BFF&#xff1a;优化前后端协作设计模式 BFF是什么 BFF即 Backends For Frontends (服务于前端的后端)。是一种介于前端和后端之间一种重要的通信设计模式。它旨在解决前端与后端协作中的复杂性问题。 背景 行业背景&#xff1a;传统前端应用&#xff08;如Web应用、移动应…

微服务-MybatisPlus下

微服务-MybatisPlus下 文章目录 微服务-MybatisPlus下1 MybatisPlus扩展功能1.1 代码生成1.2 静态工具1.3 逻辑删除1.4 枚举处理器1.5 JSON处理器**1.5.1.定义实体****1.5.2.使用类型处理器** **1.6 配置加密&#xff08;选学&#xff09;**1.6.1.生成秘钥**1.6.2.修改配置****…

网络安全防御【IPsec VPN搭建】

目录 一、实验拓扑图 二、实验要求 三、实验思路 四、实验步骤&#xff1a; 修改双机热备的为主备模式&#xff1a; 2、配置交换机LSW6新增的配置&#xff1a; 3、防火墙&#xff08;FW4&#xff09;做相关的基础配置&#xff1a; 4、搭建IPsec VPN通道 &#xff08;1…

Java代码基础算法练习-求杨辉三角第n行的值-2024.07.27

任务描述&#xff1a; 给定一个非负整数n&#xff0c;生成「杨辉三角」的第n行。&#xff08;1<n<10&#xff09;在「杨辉三角」中&#xff0c;每 个数是它左上方和右上方的数的和。 &#xff08;提示&#xff0c;第一列数值为1&#xff0c;如数组下标用i,j表示&#xf…

独占电脑资源来执行一个应用

1. 背景 在人工智能时代&#xff0c;随着神经网络的发展&#xff0c;训练人工智能模型需要越来越多的硬件资源&#xff0c;例如&#xff0c;利用10万条棋局数据、使用一台PC电脑、完整地训练一次确定性神经网络五子棋模型&#xff0c;需要花费一年半的时间。随着训练数据的增长…

APP逆向 day23司小宝逆向

一.前言 今天也是讲最后一个基础知识点了&#xff0c;ptrace占坑&#xff0c;这个也算是一个坑&#xff0c;今天通过这个案例和大家讲一下&#xff0c;今天这个案例我们来整验证码登录&#xff0c;版本选择4.7.8 二.抓包分析 抓包发现&#xff0c;请求头里的东西通过改包发现…

Spring Boot:图书管理系统(一)

1.编写用户登录接口 代码&#xff1a; package com.example.demo;import jakarta.servlet.http.HttpSession; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotatio…

技术成神之路:设计模式(九)备忘录模式

介绍 备忘录模式&#xff08;Memento Pattern&#xff09;是一种行为设计模式&#xff0c;它允许在不破坏封装性的前提下捕获和恢复对象的内部状态。通过备忘录模式&#xff0c;可以在程序运行过程中保存和恢复对象的某个状态&#xff0c;从而实现“撤销”等功能。 1.定义 备忘…