0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

快速通关上位机TCP通信:上位机通信防崩指南

达泰电子 ? 来源:达泰电子 ? 作者:达泰电子 ? 2025-08-13 13:40 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

以太网 TCP 通信上位机开发中常用的通信方式,西门子 S7 通信、三菱 MC 通信以及 MQTT、OPC UA、Modbus TCP 等都是其典型应用。为帮助大家更好地理解 TCP 通信,我整理了一套常见问题汇总。

一、OSI参考模型与TCP/IP参考模型

基于TCP/IP的参考模型将协议分成四个层次,它们分别是链路层、网络层、传输层和应用层。下图表示TCP/IP模型与OSI模型各层的对照关系。

wKgZO2icJV6ANY0BAABgX3hJzmM38.jpeg

TCP/IP模型是在OSI参考模型的基础上做了一定的精简,形成一个4层模型。在层次关系上,两者都采用了分层体系结构,都是对等的层间通信,不同之处在于TCP/IP参考模型比OSI参考模型层次更清晰简练,在功能上,两者差别不大,都是为了实现两个或多个终端之间的通信。

那么,TCP通信位于网络模型的哪一层?TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,TCP是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。

二、TCP/IP协议与Socket是什么关系?

TCP/IP只是一个协议栈,如果想要实现TCP通信,还需要提供对外的操作接口,就像操作系统提供Win32编程接口一样。TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口。

所以,Socket跟TCP/IP并没有必然的联系,Socket不属于网络分层中的任何一层,而是位于应用层/会话层和传输层之间的抽象接口层。Socket的出现是为了将TCP/IP协议族的复杂操作封装成简单的API方法进行调用,比如Connect/Send/Receive等。

三、TCP与UDP之间的区别联系?

传输层有两种协议,分别是TCP与UDP,它们之间的主要区别在于可靠性与效率。

TCP是面向连接的协议,通过三次握手建立可靠通道,提供数据不丢、不错、不乱序的保证,并具备流量和拥塞控制,但因此开销较大、速度相对较慢,适用于要求高可靠性的场景(如文件传输、工业控制指令);

而UDP是无连接协议,直接发送数据报,不保证可靠交付,可能丢失、重复或乱序,也不进行流量控制,但正因如此开销极小、传输速度极快、延迟低,适用于实时性要求高、能容忍少量丢包的应用(如视频流、语音通话、实时状态读取)

四、如何理解TCP三次握手过程?

wKgZPGicJV-ARgmfAABjYBD2lAk41.jpeg

TCP是面向连接的,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。在TCP/IP协议中,TCP协议提供可靠的连接服务,连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换 TCP窗口大小信息。

为什么握手必须三次?TCP 建立连接时,通过三次握手能防止历史连接的建立,能减少双方不必要的资源开销,能帮助双方同步初始化序列号。序列号能够保证数据包不重复、不丢弃和按序传输。两次握手:无法防止历史连接的建立,会造成双方资源的浪费,也无法可靠的同步双方序列号;四次握手:三次握手就已经理论上最少可靠连接建立,所以不需要使用更多的通信次数。

五、如何理解TCP四次挥手过程?

当客户端和服务器通过三次握手建立了TCP连接以后,当数据传送完毕,要断开TCP连接,那对于TCP的断开连接,这里就有了神秘的“四次分手”。

wKgZO2icJV-AQanYAAB3BKJ4NzE45.jpeg

为什么挥手需要四次?

1、关闭连接时,客户端向服务端发送 FIN 时,仅仅表示客户端不再发送数据了但是还能接收数据。

2、服务器收到客户端的 FIN 报文时,先回一个 ACK 应答报文,而服务端可能还有数据需要处理和发送,等服务端不再发送数据时,才发送 FIN 报文给客户端来表示同意现在关闭连接。

由于服务端通常需要等待完成数据的发送和处理,所以服务端的 ACK 和 FIN 一般都会分开发送,从而比三次握手导致多了一次。

六、无线Modbus TCP/IP协议通讯方案

本方案以WinCC和2台西门子S7-1200 PLC为例,在ModbusTCP/IP协议下实现无线以太网通信实现过程。

wKgZPGicJV-ATT7wAAENtB9iVDU43.jpeg


审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1409

    浏览量

    81528
  • 上位机
    +关注

    关注

    27

    文章

    980

    浏览量

    56020
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    S7通信稳不稳?避开这些上位开发常见雷区是关键!

    上位使用S7通信涉及诸多要点,稍不注意就容易踩坑。今天,我们就来详细剖析那些最常见的‘雷区’。 一、连接类型设置 以C#上位使用Shar
    的头像 发表于 08-08 15:03 ?161次阅读
    S7<b class='flag-5'>通信</b>稳不稳?避开这些<b class='flag-5'>上位</b><b class='flag-5'>机</b>开发常见雷区是关键!

    通用型上位,支持串口、UDP、TCP,可以在表格中自由编辑公式和数据,可以组态

    本帖最后由 jf_43406447 于 2025-7-18 16:49 编辑 本上位软件是用于与下位(如嵌入式设备、机器人、传感器等)进行通信和数据交换的计算机程序。具备数
    发表于 07-17 14:58

    构建稳定通信桥梁:上位与下位通信实现方式解析

    上下位通信技术全景解析 在工业控制与自动化系统中,上位(监控/管理端)与下位(PLC/仪表/执行器)的可靠
    的头像 发表于 07-11 15:56 ?261次阅读
    构建稳定<b class='flag-5'>通信</b>桥梁:<b class='flag-5'>上位</b><b class='flag-5'>机</b>与下位<b class='flag-5'>机</b><b class='flag-5'>通信</b>实现方式解析

    工程师崩溃瞬间:上位与PLC通信失败?3分钟快速诊断攻略

    Ping不通,那就首先检查IP地址设置是否正确,其次确保上位和PLC处于同一网段。 以及确认防火墙设置是否允许通信,有时防火墙可能会阻止TCP/IP
    的头像 发表于 06-12 16:25 ?450次阅读
    工程师崩溃瞬间:<b class='flag-5'>上位</b><b class='flag-5'>机</b>与PLC<b class='flag-5'>通信</b>失败?3分钟<b class='flag-5'>快速</b>诊断攻略

    上位和下位是什么关系

    上位和下位在工业自动化、仪器仪表等控制领域中是相互协作、紧密配合的关系,以下从定义、通信方式、功能分工、协同作用几个方面详细阐述它们的关系: 定义与角色
    的头像 发表于 05-29 18:03 ?620次阅读

    上位和下位之间的通信是通过什么实现的

    上位和下位之间的通信可通过多种方式实现,以下从有线通信和无线通信两大类别展开介绍: 有线
    的头像 发表于 05-29 09:24 ?404次阅读

    labview做上位 连接两台TCP下位 调用通道使两台下位数据交互 无法生成exe

    labview做MODBUS TCP上位连接多个下位建立多个独立循环,再使用通道连接不同的循环进行数据交互,无法生成exe
    发表于 04-10 10:30

    都说上位通信难,谁能说说到底难在哪儿?

    前言 在工业自动化和物联网(IoT)领域,上位通信一直被认为是开发过程中的一大难点。上位通信
    的头像 发表于 03-12 16:52 ?537次阅读
    都说<b class='flag-5'>上位</b><b class='flag-5'>机</b><b class='flag-5'>通信</b>难,谁能说说到底难在哪儿?

    上位实时数据处理技术 上位在智能制造中的应用

    。这种技术对于工业自动化、智能制造等领域至关重要。 在上位实时数据处理中,关键技术包括数据采集、数据处理、数据可视化、数据存储和通信协议等。数据采集是实时数据处理的第一步,它要求上位
    的头像 发表于 12-04 10:29 ?1602次阅读

    上位编程语言选择 上位在自动化中的作用

    上位编程语言选择 在自动化领域,上位(Upper Computer)通常指的是与下位(如PLC、单片
    的头像 发表于 12-04 10:25 ?1610次阅读

    上位监控系统配置 上位与PLC的连接方法

    上位监控系统配置 上位监控系统通常包括数据采集层、数据处理层、用户界面层以及数据存储层。以下是关于上位
    的头像 发表于 12-04 10:23 ?2455次阅读

    上位通信协议详解 嵌入式上位机设计流程

    上位通信协议详解 上位通信协议是指上位
    的头像 发表于 12-04 10:21 ?3231次阅读

    上位系统架构分析 上位与下位的区别

    上位系统架构分析 1. 上位的定义与作用 上位通常指的是在控制系统中负责决策、数据处理和用
    的头像 发表于 12-04 10:17 ?3876次阅读

    PLC与上位无法通信如何解决(IP冲突如何解决)

    客户是一家从事PLC自动化改造的厂商,主要为各大制造业工厂提供个性化的自动化服务,但往往在设备联网时遇到困扰。 工厂车间的AP覆盖已经部署完成,而现场一部分PLC已经通过以太网与上位通信,另一
    的头像 发表于 11-18 17:30 ?1280次阅读
    PLC与<b class='flag-5'>上位</b><b class='flag-5'>机</b>无法<b class='flag-5'>通信</b>如何解决(IP冲突如何解决)

    上位软采时遇到相同IP设备无法通信的解决方案

    在一个现代化的工厂中,上位(通常是一台工业电脑或者HMI人机界面)负责监控和控制生产线上的多台设备,如PLC(可编程逻辑控制器)、CNC(数控机床)、工业机器人等。这些设备通常通过以太网连接到工厂
    的头像 发表于 11-05 14:06 ?1032次阅读
    <b class='flag-5'>上位</b><b class='flag-5'>机</b>软采时遇到相同IP设备无法<b class='flag-5'>通信</b>的解决方案