万谱




既然有组态软件 ,为什么还要学C#上位机?(组态软件好学吗)

前言

最近在某平台直播 ,被问的最多的一个话题就是 ,已经有组态软件了,为什么还要学C#来开发上位机?

今天就这个话题跟大家聊一下,组态软件与C#上位机的区别与联系。

什么是上位机

百度百科是这么定义上位机的:

上位机是指可以直接发出操控命令的计算机,英文名一般是PC/Host Computer/Master Computer/Upper Computer。

我们可以通过上位机运行一些特定的软件来显示各种信号变化(液压 ,水位,温度等),上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备 。

通常情况下,工控机,工作站,触摸屏作为上位机,通信控制PLC,单片机等作为下位机,从而控制相关设备元件和驱动装置。

既然有组态软件,为什么还要学C#上位机?(组态软件好学吗)

因此上位机本质是一台电脑,实际运行着一个可供用户操作监控的软件 ,这个软件称之为上位机软件,所以我们学习上位机开发,其实是学习怎么开发上位机软件 ,更具体的是指如何使用高级语言来开发上位机软件。

什么是组态软件

组态软件,又称组态监控系统软件 ,英文名是Scada(Supervisory Control And Data Acquisition),是指数据采集与过程控制的专用软件,也是指在自动控制系统监控层一级的软件平台和开发环境。这些软件实际上也是一种通过灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的 、通用层次的软件工具 。

所以组态软件本身也是属于上位机软件。

为什么选择C#

能够开发上位机的语言不止C#一种 ,比如Java、C /QT、Python、LabVIW等,在工控领域 ,C#的地位 ,就像Windows在操作系统中的地位一样 ,我们为什么选择C# ,主要是一种综合考虑 ,也许C#在各个方面都不突出,但是它的综合能力是非常强的,主要是以下几个方面:

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

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

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

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

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

所以并不是我们培训C#,大家也要跟着学C#,而是因为C#足够好 ,我们才选择培训C# 。

如果哪一天我们发现有更好的语言,我们也会改变赛道。

组态软件与C#上位机

组态软件与C#上位机同样都可以开发上位机软件,所以很多人会将两者做对比 ,其实我觉得两者不是同一个竞品,使用组态软件,我们只是一个使用者的角色,C#开发上位机,我们更多的是一个开发者的角色。

就拿日常的汽车来打比方,组态软件就是给驾驶员使用的,我们只管开车就行了,但是C#上位机是给汽车制造工程师使用的,需要去研究汽车 ,改造汽车 。

我们使用组态软件,看重的是它的稳定及便捷 ,但是我们选择C#上位机 ,无非就是两个原因 :

1 、不愿意花组态授权的费用,组态软件是按照项目和点数收费的 ,如果公司每年的项目达到几百上千,这是一笔很大的开支。

2、有很多项目和功能,组态软件是实现不了的 ,这是一个客观事实 。

如果排除这两个原因,组态软件可以免费使用,而且能够满足我们所有的功能需求 ,那么学习C#上位机将没有任何意义。

但恰恰有这两方面的原因,所以越来越多的人开始来学习上位机,能够解决公司的难题,就是变相地给自己涨薪开道。

C#上位机应用场景

首先可以明确的是 ,基本上组态软件可以实现的功能,C#上位机都可以实现 。反之 ,却不一样 ,即使我们排除金钱的因素,也会有一些场景是组态软件实现不了,必须要高级语言开发的 。

  • 业务非常复杂的项目,这个一般在特定的行业应用比较多 。
  • 系统对接复杂的项目 ,需要同时对接扫码 、相机、机器人、MES等多个系统。
  • 涉及到运动控制卡、运动控制器的项目。
  • 机器视觉OCR、抓取 、识别、测量等的项目。
  • 实验室项目 ,更侧重于数据分析的项目。
  • 三维动画或数字孪生的项目。
  • 客户定制化需要比较多的项目。

C#上位机开发时间

很多人会认为上位机开发成本很高、难度很大、时间很长 。

对于新手来说,相对于组态软件,C#开发上位机确实时间也会更久 ,甚至会不了了之。

但是随着项目的增多 ,开发越来越熟练 ,项目积累到一定量之后,会形成一个量变到质变,会有很成熟的开发框架 ,很灵活的开发技巧 ,很完善的系统架构,而且这种积累会持续存在。

既然有组态软件,为什么还要学C#上位机?(组态软件好学吗)

写在最后

有小伙伴想了解什么是智能工控上位机 ,可以在下方评论区留言 ,或者私信我

相关新闻

联系我们
联系我们
分享本页
返回顶部



XML地图