汇川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.rhkb.cn/news/385469.html

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

相关文章

Redis常用指令(不定期更新)

Redis常用指令&#xff08;不定期更新&#xff09; 查询指定前缀key的数量查看键空间事件开启键空间通知 查询指定前缀key的数量 查询【TEST前缀】的key数量 EVAL "return #redis.call(keys,TEST:*)" 0返回信息 查看键空间事件 config get notify-keyspace-even…

el-table表格 及其el-pagination分页 封装及其使用

1、首页在components文件夹中新建table文件夹 table文件夹下table.vue全部代码&#xff1a; <template><el-table:stripe"stripe":row-key"handlerRowKey()":tree-props"treeProps":border"border":show-summary"showS…

VMware 上的 Debian Linux 虚拟机无法听到蓝牙耳机的声音解决方案

项目场景&#xff1a; 在Debian上安装QQ音乐&#xff0c;用来摸鱼 问题描述 在安装完QQ音乐后&#xff0c;发现虚拟机无法听到声音&#xff0c;音乐有在正常播放&#xff0c;但是蓝牙耳机没有听到任何声音&#xff1a; 原因分析&#xff1a; 感觉是虚拟机的声卡没有配置&…

前端缓存问题(浏览器缓存和http缓存)- 解决办法

问题描述&#xff1a;前端代码更新&#xff0c;但因浏览器缓存问题&#xff0c;导致页面源代码并未更新 查看页面源代码的方法&#xff1a;鼠标右键&#xff0c;点击查看页面源代码 如图&#xff1a; 解决方法&#xff1a; 注&#xff1a;每执行一步&#xff0c;就检查一下浏览…

c# 端口监控 Helper 以及写一个端口监控工具

c# 端口监控 Helper 以及写一个端口监控工具 介绍核心代码&#xff1a;工具完整编码&#xff1a;1、编写界面2、打开定时控件的属性设置。3、编写定时控件的 Tick 事件结果&#xff08;运行效果&#xff09; 介绍 由于最近做上架比较多&#xff0c;会经常来确保服务器的服务&a…

c#Action委托和Func委托

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace Action委托 {internal class Program{static void PrintString(){Console.WriteLine("hello world.");}static void PrintInt(int …

【大师与bug里特】M_Studio《王国之梦》学习笔记

1️⃣ Object & object(✅) 之辨 《7.泛型事件框架〈余2min左右时〉》 不然inspector窗口的最后一行&#xff08;告诉我们订阅者是SceneLoadManager它身上挂了☝️ObjectEventListener用来监听这个事件 有多少个事件注册到这里来了都能够看到&#xff09;还是不会出现 加上…

新建springboot项目找不到java版本8?

问题&#xff1a; 在java版本的选择上面没有出现8版本。 解决方法&#xff1a; 点击server URL,然后修改为&#xff1a; https://start.aliyun.com/点击ok之后就可以发现能够找到java8版本了&#xff1a; ok&#xff0c;希望能够帮助到大家&#xff01;

怎么给PDF文件加密码?关于PDF文件加密的四种方法推荐

怎么给PDF文件加密码&#xff1f;给PDF文件加上密码是保护文件安全的一种重要方法&#xff0c;特别是当需要在不受授权的访问下保护敏感信息时。这个过程不仅仅是简单地设置密码&#xff0c;而是涉及到对文档内容和访问控制的深思熟虑。加密PDF文件可以有效防止未经授权的用户查…

Mindspore框架循环神经网络RNN模型实现情感分类|(四)损失函数与优化器

Mindspore框架循环神经网络RNN模型实现情感分类 Mindspore框架循环神经网络RNN模型实现情感分类|&#xff08;一&#xff09;IMDB影评数据集准备 Mindspore框架循环神经网络RNN模型实现情感分类|&#xff08;二&#xff09;预训练词向量 Mindspore框架循环神经网络RNN模型实现…

Redis 7.x 系列【27】集群原理之通信机制

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Redis 版本 7.2.5 源码地址&#xff1a;https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 概述2 节点和节点2.1 集群拓扑2.2 集群总线协议2.3 流言协议2.4 心跳机制2.5 节点握…

W30-python03-pytest+selenium+allure访问百度网站实例

此篇文章为总结性&#xff0c;将pystest、selenium、allure结合起来 功能如下&#xff0c;web自动化&#xff0c;输入baidu网站&#xff0c;搜索“雷军”、打开网页中第一条内容 tools.webkeys 相关文件见附件。 pytestsel.py如下&#xff1a; import time import re impor…

深入理解计算机系统 CSAPP 家庭作业11.7

静态内容是指在不同请求中访问到的数据都相同的静态文件。例如&#xff1a;图片、视频、网站中的文件&#xff08;html、css、js&#xff09;、软件安装包、apk文件、压缩包文件等。 /** get_filetype - derive file type from file name*/ void get_filetype(char *filename,…

数组与链表谁访问更快

一、线性表 线性表是数据结构中的一种基本类型&#xff0c;它由一组线性排列的元素组成。线性表的特点是可以进行顺序访问&#xff0c;但不支持随机访问。 二、非线性表 非线性表是数据结构中另一种类型&#xff0c;如树和图&#xff0c;它们由多个节点组成&#xff0c;节点…

【运维笔记】数据库无法启动,数据库炸后备份恢复数据

事情起因 在做docker作业的时候&#xff0c;把卷映射到了宿主机原来的mysql数据库目录上&#xff0c;宿主机原来的mysql版本为8.0&#xff0c;docker容器版本为5.6&#xff0c;导致翻车。 具体操作 备份目录 将/var/lib/mysql备份到~/mysql_backup&#xff1a;cp /var/lib/…

湖仓一体架构解析:数仓架构选择(第48天)

系列文章目录 1、Lambda 架构 2、Kappa 架构 3、混合架构 4、架构选择 5、实时数仓现状 6、湖仓一体架构 7、流批一体架构 文章目录 系列文章目录前言1、Lambda 架构2、Kappa 架构3、混合架构4、架构选择5、实时数仓现状6、湖仓一体架构7、流批一体架构 前言 本文解析了Lambd…

IEC104转MQTT网关支持将IEC104数据转换为华为云平台可识别的格式

随着智能电网和物联网技术的深度融合&#xff0c;传统电力系统中的IEC104协议设备正逐步向更加开放、智能的物联网体系转型。华为云作为全球领先的云计算和AI服务提供商&#xff0c;其物联网平台为IEC104设备的接入与数据处理提供了强大的支撑。本文将探讨IEC104转MQTT网关在MQ…

【Linux网络】应用层协议:HTTP 与 HTTPS

本篇博客整理了 TCP/IP 分层模型中应用层的 HTTP 协议和 HTTPS协议&#xff0c;旨在让读者更加深入理解网络协议栈的设计和网络编程。 目录 一、协议是什么 1&#xff09;结构化数据的传输 2&#xff09;序列化和反序列化 补&#xff09;网络版计算器 .1- 协议定制 .2- …

昇思25天学习打卡营第22天|Pix2Pix实现图像转换

Pix2Pix图像转换学习总结 概述 Pix2Pix是一种基于条件生成对抗网络&#xff08;cGAN&#xff09;的深度学习模型&#xff0c;旨在实现不同图像风格之间的转换&#xff0c;如从语义标签到真实图像、灰度图到彩色图、航拍图到地图等。这一模型由Phillip Isola等人在2017年提出&…

【Android】广播机制

前言 广播机制是Android中一种非常重要的通信机制&#xff0c;用于在应用程序之间或应用程序的不同组件之间传递信息。广播可以是系统广播&#xff0c;也可以是自定义广播。广播机制主要包括标准广播和有序广播两种类型。 简介 在Android中&#xff0c;广播&#xff08;Broa…