post on 23 Apr 2025 about 3729words require 13min
CC BY 4.0 (除特别声明或转载文章外)
如果这篇博客帮助到你,可以请我喝一杯咖啡~
在现代工业自动化、物联网和智能控制领域,上下位机结构是一种核心的分层控制架构。上位机(Upper Computer)通常是功能强大的计算机,如个人电脑、工业 PC 或服务器,负责监控、数据处理、用户交互和决策制定。下位机(Lower Computer)是直接与物理设备(如传感器、执行器)连接的控制器,如可编程逻辑控制器(PLC)、单片机或嵌入式系统,负责执行具体任务和数据采集。这种结构通过通信协议(如 Modbus、TCP/IP)实现高效协作,广泛应用于工业、物联网和嵌入式系统等领域。
基于上下位机结构的软件示例
上下位机系统,也称为主从(Master-Slave)系统,是一种分层控制架构。它由一个处于控制地位的“上位机”(Master)和一个或多个受其控制的“下位机”(Slave)组成。
典型设备:电脑、平板、手机、面板、触摸屏
典型设备:PLC、stm32、51、FPGA、ARM 等各类可编程芯片。
典型的工业控制系统分为现场设备层和现场控制层,分别负责与物理设备交互和实时控制。在它们之上还有过程监控层、生产管理层(MES)、企业决策层(ERP),这三个层次统称为“上位机”系统。
如果系统没有完整的上位机层,也无妨,因为上位机仅用于监控和管理,并非直接负责执行 。广义上,“上位机”指所有基于 PC 的监控管理系统(如 SCADA、MES、ERP);狭义上,多指 SCADA 本身,用于实时监控和数据采集。
上位机和下位机之间的通信协议有很多,只要能完成通信的协议都可以用在上位机与下位机之间。
比如:
通信协议:RS232/RS485 串行通信、USB、蓝牙、网络 UDP/TCP
这个通信协议也是实现上位机与下位机之间数据交换的基本通道。
在通信协议的基础上,具体发送什么数据即发送什么指令,还需要规定各个功能所对应的指令(上位机发给下位机的指令)。
每个功能所对应的指令叫做 API(Application Programming Interface), 在实际工作中常称这个 api 为“私有通信协议”。
举例一条获取温度的 api:
1
[包头 + 获取温度对应的命令编码(编号)+ 校验位 + 包尾]
api 的命令格式,是自定义的一种固定的数据组合格式。不受任何通信方式和通信平台的限制。这就意味着,只要通信协议(通信方式)可以建立,上位机软件可以是任意开发语言和任意开发平台,下位机也可以使用任意类型的单片机。
上位机主要是对接 PLC、仪表、运动控制卡、视觉等,通信方式包括通信协议、OPC、API 或 SDK,如下图所示:
上位机和下位机在控制系统中分工明确,功能互补:
上位机作为系统的“大脑”,处理复杂任务并与用户交互;下位机作为“执行者”,确保实时性和精确性。两者通过串口(RS232/RS485)、以太网或无线协议通信,形成高效的控制体系。
上位机发送的指令会首先传递给下位机,下位机收到后将其解析为相应的时序信号,从而直接驱动具体的设备运行。下位机会不断采集设备的状态数据(通常为模拟量),并将这些数据转换为数字信号,上报给上位机进行监控与处理 。
上下位机均需进行编程开发,且各自拥有针对性的开发环境与工具,下位机常见于 PLC、单片机或智能模块等,而上位机通常为基于 PC 的监控管理系统 。
在系统架构层面,上位机相当于“控制者”和“服务提供者”,负责发出控制指令并处理反馈;下位机则扮演“被控制者”和“服务执行者”,直接与现场设备交互,实现具体控制逻辑。两者之间的通信方式多样,通常由下位机来决定其所支持的专有协议,以保证数据传输的可靠性与实时性,例如常见的 RS232、RS485、MODBUS、PROFIBUS 等 。
下位机在出厂时一般会附带详细的通信手册,其中定义了该设备专用的协议格式与帧结构,开发人员在进行上位机编程时只需调用相应的 API 或驱动库即可快速实现通信对接。因此,主机与从机的关系不仅体现在控制与被控上,更体现在两者通信协议的配合与适配上,以确保工业现场系统的稳定运行与高效协同。
上位机开发通常使用 C/C++(Qt、MFC)、C#(.NET 平下的 WinForms/WPF)、VB。其中就目前的情况来看,Qt 和 WinForms 应该是目前应用相对比较广的。VB 和 MFC 比较老旧,做的界面也比较有年代感。其中,新版本的 Qt 还支持用 Python 来编写。而 WPF 算是后起之秀,也逐渐替代 WinForms,其制作的上位机界面较新式。其他,一些组态软件是专门做上位机软件的,像组态王、力控,相当于是二次开发,门槛较低一些,操作也比较简单,但是拓展性差。
在工厂的自动化生产线上,上位机通常是工控机(Industrial PC)或 PLC(可编程逻辑控制器),负责监控和协调整个生产过程。下位机则是各种执行机构,如机械臂、传感器、电机驱动器等。
在智能家居系统中,上位机通常是中央控制主机、智能手机 App 或语音助手,负责接收用户的指令和管理各个智能设备。下位机则是各种智能家居设备,如智能灯泡、智能插座、智能门锁、环境传感器等。
在机器人控制系统中,上位机通常是负责路径规划、任务决策的高性能处理器或工作站。下位机则是机器人的各个关节驱动器、传感器、末端执行器等。
在一些复杂的医疗设备中,也采用上下位机结构。例如,医学影像设备或监护系统。
优点:
缺点:
上下位机结构在工业自动化中仍占主导,但物联网技术的兴起可能部分取代传统 SCADA 系统。例如,工业物联网(IIoT)通过更智能的连接生态提供更高的灵活性,但在实时性和可靠性方面,传统上下位机结构仍具优势。争议在于,是否应完全转向物联网架构,还是继续优化现有结构以适应新需求。
Related posts