很多小伙伴还一直迷糊于什么是上位机,今天这篇文章就来聊聊上位机那些事儿,和大家聊聊什么是上位机?上位机用什么语言?上位机和下位机的关系?怎样学习上位机?让大家对上位机有简单了解。
什么是上位机?
首先看上面这张图,这是一个非常典型的工业控制系统模型,可能大家的工作大多数是处于现场设备层或者现场控制层,因为这两块都是工业控制的基础。
如果我们往上看,发现还有三层,分别是过程监控层、生产管理层和企业决策层,这三层,就是我们说的上位机。
如果你们的系统并没有这三层,也是可能的,因为上位机功能主要在于监控管理,并不是最终的执行者。
所以,从广义上来说,上位机指的就是SCADA/MES/ERP,从狭义上来说,上位机指的就是SCADA。
总而言之,上位机就是基于PC(PC-Based)开发的监控管理系统。
上位机用什么语言?
上位机是一种系统概念,与开发语言无关,所以,大部分的编程语言都可以开发上位机,只是适不适合而已。
看语言适不适合,主要看几个方面:
◆学习成本,说白了,就是难易程度
◆资源成本,说白了,就是网上资料多不多
◆人员基数,说白了,就是使用的人多不多
◆可持续性,说白了,就是能用多久
◆应用范围,说白了,就是应用是否单一化
所以,我们常说的LabView/C++/Java/Python,它们可能在某一方面比较突出,而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。
怎么学上位机?
这个问题其实不太好回答,上位机要学好,有两个阶段,第一阶段是从0到1的过程,第二阶段是从1到∞的过程。
很多人困就困在一直处于零的阶段,无法突破,想要快速突破,有这么几个点,要逐个突破:
◆编程基础
◆通信方式
◆项目经验
这个过程,到底要多久,是要看个人的,有的人2个月,有的人可能要2年。
对于学习上位机知识及其他仪表知识,其实学历、英语、年龄这些都不是问题,问题就在于够不够勤奋。
也许我们的资质不够聪颖,我们的起点没有别人高,我们的精力已经不再充沛,越是如此,学习上位机相关知识越应该用后天努力去弥补。世界上最可怕的事就是比你优秀的人,比你还努力。这不是鸡汤,这是事实!
相关阅读
安装WINCC的上位机应使用规范名字
从简单案例了解PLC编程与上位机程序开发调试
如何通过HART协议将流量计实时数据读取到上位机
工控人如何抵御针对PLC、上位机和交换机的网络攻击