上位机什么意思(用什么语言)

上位机是指可以直接发出操控命令的计算机,屏幕上显示各种信号变化(液压,水位,温度等),主要是处理各种监控单元的信号变化并可视化,然后通过内部程序判断做出操作指令。

上位机是什么

很多做电气的小伙伴还一直迷糊于什么是上位机,今天这篇文章就来聊聊上位机那些事儿。

首先看上面这张图,这是一个非常典型的工业控制系统模型,可能大家的工作大多数是处于现场设备层或者现场控制层,因为这两块都是工业控制的基础。

如果我们往上看,发现还有三层,分别是过程监控层、生产管理层和企业决策层,这三层,就是我们说的上位机。

如果你们的系统并没有这三层,也是可能的,因为上位机功能主要在于监控管理,并不是最终的执行者。

所以,从广义上来说,上位机指的就是SCADA/MES/ERP,从狭义上来说,上位机指的就是SCADA。

总而言之,上位机就是基于PC(PC-Based)开发的监控管理系统。

上位机用什么语言

上位机是一种系统概念,与开发语言无关,所以,大部分的编程语言都可以开发上位机,只是适不适合而已。

看语言适不适合,主要看几个方面:

1、学习成本,说白了,就是难易程度

2、资源成本,说白了,就是网上资料多不多

3、人员基数,说白了,就是使用的人多不多

4、可持续性,说白了,就是能用多久

5、应用范围,说白了,就是应用是否单一化

所以,我们常说的LabView/C++/Java/Python,它们可能在某一方面比较突出,而C#在任一方面都不突出,但是综合来说,我认为还是C#最合适你们。

并不是因为我们教C#,才说C#合适,而是因为我们认为C#最合适,才选择教C#,语言没有好坏之分,只有适不适合。

上位机与下位机

从广义上来说,上位机和下位机是一个相对的概念,比如SCADA对于PLC来说,SCADA是上位机,PLC是下位机,但是如果MES相对于SCADA来说呢,可能SCADA又成了下位机的角色。

从狭义上来说,目前我们做的上位机主要是对接PLC、仪表、运动控制卡、视觉等,通信方式包括通信协议、OPC、API或SDK,如下图所示:

通信协议与通信API

1、通信协议

上位机和下位机之间的通信协议有很多,只要能完成通信的协议都可以用在上位机与下位机之间。比如:通信协议(通信方式):RS232/RS485串行通信、USB、蓝牙、网络UDP/TCP 这个通信协议(通信方式)是实现上位机与下位机之间数据交换的基本通道。

2、通信API

很多时候,我们会把数据做好封装,提供接口给外部应用,这就涉及到API。

API全称为Application Programming Interface。

API的命令格式,是自定义的一种固定的数据组合格式,不受任何通信方式和通信平台的限制,我们常用的API方式包括WebApi和WebService。

推荐阅读