上位机是什么

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

上位机多久可以学会(上位机那些事儿)(1)

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

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

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

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

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

上位机用什么语言

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

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

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

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

上位机与下位机

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

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

上位机多久可以学会(上位机那些事儿)(2)

通信协议与通信API

1、通信协议

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

上位机多久可以学会(上位机那些事儿)(3)

2、通信API

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

API全称为Application Programming Interface。

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

怎么学上位机

这个问题其实不太好回答,上位机要学好,有两个阶段,第一阶段是从0到1的过程,第二阶段是从1到∞的过程。

很多人困就困在一直处于零的阶段,无法突破,想要快速突破,有这么几个点,要逐个突破:

  • 编程基础
  • 通信方式
  • 项目经验

这个过程,到底要多久,是要看个人的,有的人2个月,有的人可能要2年。

其实学历、英语、年龄这些都不是问题,问题就在于够不够勤奋。

也许我们的资质不够聪颖,我们的起点没有别人高,我们的精力已经不再充沛,越是如此,越应该用后天努力去弥补。

世界上最可怕的事就是比你优秀的人,比你还努力。这不是鸡汤,这是事实!,