终于有人把上位机说清楚了
大家好!我是付工。
2014年,公司进行了部门重组,将原部门拆分为上位机组和下位机组。作为PLC工程师,我被分配至下位机组,主要职责包括PLC编程和触摸屏界面开发。与此同时,上位机组则专注于力控软件的开发及监控系统的构建。
这是我第一次听到上位机这个名词。
2015年,公司战略调整物联网业务方向,决定采用C#语言开发上位机监控系统。作为技术转型的参与者,我由此开启了上位机开发生涯。

2015年至今,我累计开发了上百个C#上位机项目,也做了很多个教学项目。
今天,我跟大家分享一下关于上位机知识的一些理解。
上位机
从广义技术架构视角来看,上位机泛指工业环境中部署的所有软件系统,涵盖三大主要类别:
① 组态软件(如WinCC、iFIX等SCADA系统);
② 嵌入式人机界面(HMI)软件;
③ 基于高级语言(如C#、Java)开发的定制化监控与管理平台。
这些软件共同构成工业控制系统的’决策大脑’,通过协议转换与数据整合,实现从设备层到管理层的信息贯通。
从狭义技术范畴界定,上位机开发特指采用高级语言实现的工业软件开发。在众多高级语言中,C#凭借其在.NET生态中的成熟框架、丰富的工业通信协议支持(如OPC UA、Modbus TCP)以及高效的数据处理能力,已成为上位机开发领域主流语言。
下位机
上位机软件与普通应用软件的本质区别在于其必须与下位机硬件设备(如PLC、单片机、板卡等)建立实时双向通信,通过协议转换与数据解析,实现’软件决策-硬件执行’的闭环控制。这种软硬件协同的工作模式,构成了工业控制系统的底层架构基础。

通信原理
上位机与下位机之间的桥梁是通信。
上位机作为控制中枢(如PC/触摸屏),通过串口、以太网等接口向下位机(如PLC/单片机)发送指令并接收数据。下位机负责执行控制动作并反馈设备状态,形成闭环控制。
关于通信,我总结了通信三要素,便于大家理解。
一、通信介质
上位机与下位机之间主要是串口通信和以太网通信。
串口通信:串口通信根据电气接口标准分为RS232、RS422及RS485,实际应用一般是通过DB9插头进行连接,不同的接口标准,接线方式有所不同。
以太网通信:如果是以太网通信,那就通过一根网线来与PLC进行连接。
如果把通信比作电话,通信介质就是这两部电话都要连接上电话线,这是必要的前提。
二、通信协议
通信介质确定后,就可以进行连接了,接下来会存在一个问题,就是如何进行沟通。
通信协议是指设备之间沟通的语言,协议更加侧重于是一种规约,双方都按照这种规约来发送对应的报文,对方才能够听懂,听懂了,才能够给予回应。
如果把通信比作电话,通信协议就是双方说话的语言,要么都是用方言,要么都是用普通话,要么都使用英语,否则将无法进行沟通。
三、通信角色
有了通信介质与通信协议,还需要有一个概念,叫做通信角色。通信是两个人的事,必然需要有一个人主动,就像两个人谈恋爱一样,如果两个人都很被动,那么大概率是谈不下去的,所以这个时候,就需要一个人主动找话题。
如果把通信比作电话,通信角色就是总要有一方先拨通电话,另一方才能接听电话,主动的一方叫客户端(主站),被动的一方叫服务器(从站)。
上位机分类
C#上位机在工业自动化领域因功能场景、技术侧重、行业需求不同,分为以下五类:
一、监控类SCADA

数据采集:从PLC、传感器、执行器等下位机设备实时获取运行数据(如温度、压力、设备状态)。
实时监控:通过图形化界面展示设备状态、工艺流程,支持动态曲线、报警灯等可视化元素。
设备控制:远程发送指令控制设备动作(如启动/停止、参数调整)。
报警管理:监测设备异常(如超温、故障),触发报警并通知运维人员。
数据存储与分析:记录历史数据,生成报表、趋势图,辅助生产决策。
二、业务类上位机

生产数据:记录各生产环节数据(如原料批次、工艺参数),便于数据溯源。
生产看板:统计各生产环节产量数据,针对不良品原因分析。
数据分析:整合生产数据,生成KPI报表(如OEE、良率),辅助管理层决策。
生产管理:对接ERP/MES系统,实现生产计划下发、物料管理、工单调度。
三、测量设备上位机

数据采集:对接各种测量仪器(如光谱仪、电阻仪)获取测量数据。
数据处理:对测量数据进行校准、滤波、分析(如统计均值、偏差)。
结果显示:以曲线、表格、图表等形式展示测量数据或测量结果。
数据存储:将测量数据存入数据库或本地文件,形成测试报告。
四、运动控制上位机

运动控制:通过运动控制卡(如固高、雷赛、正运动)直接控制电机(无需PLC),实现轨迹规划、速度/位置控制。
设备联动:集成视觉系统(如相机)、传感器,实现“视觉+运动”协同(如机械臂抓取、激光切割)。
逻辑实现:通过采集各种IO信号,结合编程来实现整个运动流程。
界面交互:提供轨迹编辑、参数配置、实时监控等功能,支持用户自定义运动逻辑。
五、机器视觉上位机

图像处理:通过工业相机采集图像并进行预处理。
检测识别:通过Halcon等算法库实现识别物体、缺陷、二维码等。
可视化界面:提供可视化界面,实现图像显示、测量数据、检测结果展示。
数据交互:与运动控制系统、工业机器人(AGV、机械臂)、PLC等设备通信,实现“视觉+运动”闭环控制。