工控上位机程序只能用c#吗?

勇哥注:

转载知乎的回答,能涨一些见识。。。



(一)

只能C#。

这个问题的重点在于,上位机存在的根本价值是什么?

是为了有个UI交互界面吗?

下位机用个ESP32+当Server,AP模式,搞个B/S架构+

完全不用上位机,直接html+css,照样能搞出UI界面。

有个浏览器就能用,电脑、手机各种系统随便跨。ESP32白带Wifi,只要搞个内网穿透,就能通过HTTP+、MQTT+等网络协议远程操作GPIO+.

如果你只是为了有个操作界面玩GPIO,这不比上位机牛逼多了?还搞哪门子上位机?

既然这么牛逼,为啥没干死上位机呢?

因为上位机的核心价值,根本不是UI界面,而是跟各种工控软件进行对接,在工控软件与下位机之间搭建桥梁。

比Halcon+、VisionPro+、Matlab+、Mathematicat、WinCC,亦或是UG+、Catiat,甚至是

Unity3D+.

这些软件行业不一样,用途不一样,技术实现也不一样。

而它们唯一的共同点,就是全都可以对接C#。

所以,搞上位机,就是为了用C#。

如果你觉得自己不需要C#,那你首先应该思考一下,自己真的需要上位机吗?合宙ESP32单片机开发板,某宝9.9元包邮了解一下。

先确定需求,再选择技术。而不是先选好技术,再找需求。

你知道能运行在浏览器上的编程语言,并非只有JS一种吗?Python、C语言、VB、甚至C#,都有运行在浏览器上的方案。

为啥你不用Py、C语言、VB、C#搞前端,却非要用JS呢?

根本原因在于,那些语言虽然能在浏览器上运行,可它们没有VUE、React。

那么同理,JS有Halcon、VisionPro吗?


(二)

C#+是最方便的,有这个行业一切需要的东西

从通讯库,到图像处理库,到工控专用界面库,全都有

反正工控的相关品牌不管高端还是国产,大多数开发软件都是跑在windows上的,用的数据库也基本是sql server+,要么access,像我们必用的西门子博途+和PCS7+,只能跑在windows上,二次开发啥的例子也都是给的C#的源码

当然你想用is+vue也没问题,只不过web要搞工控,总归也得后端配合的,后端还是C#最方便

有个node-red+就是基于web的,不过他的应用范围不太一样

总的来说,工控要么用plc+品牌方的技术,要么用已经找得到协议或者有二次开发的技术,要么就是通信协议彻底出来了,可以用任何语言编写了,那就可以用任何东西开发,比如通信网关,理论上C# java go py都没问题,这时候.net效率高,速度快

只不过这个行业本来就没多少人,你指望靠自己支撑起一个东西来太累了,能用现有的就用现有的

就像很多搞iava的要来和plc通信,能用的通信库还是得找hsl+,而hsl的C#版本才是最全最稳定的,很多搞java的过来还是会碰点壁的


通讯库:hsl,opc ua+官方,s7plus+之类的,还有一些sdk是COM组件,C#起码能用

图像处理:opencvsharp封装的还是很不错的,可以拿出指针直接用,效率很高

Halcon+、VisionPro+、海康,这些商业的,也有大量sdk是C#最方便用的

界面库 measurement-studio+ 这是labview+的公司提供给wpf winform+的一套高级界面库,可以轻松结合labview级别的界面等东西和C#开发

hslcontrols 自己开发上位机适合使用和入门学习自己做控件的一个库


locomp 这个比较坑

还有很多通用界面库,开发比较低级的上位机没啥用,但是要开发企业级别的MES啥的,还是很实用的

相比vue is这种还得前后端分离的模式,其实winform wpf配合这些库会快很多很多

还有数字孪生,工业仿真,让三维场景和现实同步,u3d+在这方面还是很擅长的,马上要出一个umt组件。当然三维还有很多别的方案,但是u3d是最平滑、灵活、成本低、案例多而且潜力大。threejs+方案画质差,受限多,u3d也可以发布到web呀,factoryio是最简单的但是没有潜力了,用更厉害的UE和unigine引|擎的话,小企业hold不住,不平滑。


js vue方案,低成本触摸屏不可能覆盖到,其他地方性能够界面也能硬做,但是要真正的工业级别,让你做个DCS咋办?

c++方案,本身成本高,连大公司都很难用c++覆盖每个场景

而C#方案,做这么多事情全跑在一个runtime和语言上,和工业的东西结合最多,自己开发不动就用业内主流的东西二次开发。

然后你就会发现,C#在这个行业是真的通用且横着走,伸缩性很高,从简单到强大几乎都有选择很适合成长型公司使用



勇哥注:

除以上这些说法外,我补充几点。

  1.   一个很重要的原因是,大部分的工业类型的运动控制卡、采集卡等等,只提供了windows下的基于C++或者C#的开发库。
    苹果公司曾经尝试过让设备供应用商用它们的Mac os开发工控软件,最后只能不了了知,这一点就是关键原因。

  2. windows在工控和IoT行业中的学习成本超低,微软的亲儿子语言C#是借了此股东风。

    微软当年喊出”你们要盗版就盗版我们的...“,现在让全民皆会windows。

本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:
本帖最后由 勇哥,很想停止 于 2025-02-24 16:00:44 编辑

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2025年4月    »
123456
78910111213
14151617181920
21222324252627
282930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864