PLC, LABVIEW,C#——浅谈自动化工程师编程语言的选择
大家好,我是华山自控编程的朱老师!
常常有一些刚出来的大学生问我,想学习自动化方面编程,PLC, LABVIEW,C# 到底该选择哪一种编程语言? 同样,一些PLC工程师们想转型上位机编程,也会问,LABVIEW和C#这两种编程语言哪一种较好?在这里,我想分享下自己的看法。
我99年开始从事PLC编程,当时的主流PLC品牌包括西门子,AB,OMRON ,三菱 等品牌PLC我基本上都用过,随着运动控制卡的兴起,2008年后开始在一些小型设备上使用上位机编程,2012年后所开发的一些专机设备很多都带机器视觉,控制系统也基本上都是使用上位机编程了。在这里,我想从以下几个方面谈谈自动化行业如何选择适合自己的编程语言。
一.编程语言方面的差异
PLC编程主要是梯形图语言,当然也有个别的使用STL,SCL等这些类似于basic的简单语言编程,学习起来比较容易,指令也容易理解,手册基本中文,没有什么学历要求,其实自己拿手册多看几遍,也可以很快地入门(当年我自己就这样入行的)。
LABVIEW采用的是图形化编程,主要是框图连线样式,连线控件看上去有点像西门子的FB功能块编程,界面也是全中文,直观形象,特别是它的帮助功能强大,基本上所有的指令都有非常详细的帮助支持,提供详细说明和使用样例,因此学习起来也相对比较轻松的,就算学历不高,只要逻辑思维能力强,也是能学好的。
C#语言采用的是代码编程方式,从事这种编程也就是我们常说的’码农’。 C#语言有一定学习门槛,要学好一般来说需要大中专以上学历,还有就是需要你有一定的英语基础,因为界面上特别是代码界面基本上是英语呀,所以从入门来说,英语就需要一定的基础,我个人觉得有高中以上的英语基础就能应付,英语基础差的,可以专门学习《C#编程英语词汇》,这个词汇我整理了一份,有需要的同学可以找我分享。
至于PLC, LABVIEW , C#三种语言在程序结构和运行方式上面的差异,这里不详谈。
二.PLC ,LABVIEW , C# 适用的范围
PLC主要是适用过程控制,应用的领域大多是工厂的自动化流水线系统,在分散控制方面PLC有优势,用远程模块或总线方式,就能把一条很长的流水线串连起来。因此,PLC系统在这些分散式IO较多的系统,比如电磁阀,指示灯,传送,移载等场合应用较多。
LABVIEW 也称’虚拟仪器’,从名称上就可以看出,这个语言跟仪器是紧密相关的。它主要应用于 电流,电压,流量,电阻,电容,各种设备参数 等需要测试的场合,与测试仪器连接较多,自带很多仪器的驱动,因此用来做测试程序也具有无可比拟的优势。LABVIEW也可以用来做运动和视觉方面的控制系统,相对来说,测试系统更是LABVIEW应用的主流,PCB行业应用较多。
C#在自动化行业的应用,近年呈直线式上升。2015年以前VB和VC++是自动化行业应用较多的语言,2015年以后大部分都用C#开发了。C#特点是界面制作简单快捷,程序开发速度快。相较于LABVIEW, C#的灵活性更强,市场应用面也更广。运动控制卡,机器视觉,数据库,通讯等自动化控制领域C#的应用比较多。贴片机,点胶机,切割机,焊接机等很多的高精密的专机设备,大都采用C#配运动控制卡和CCD视觉的控制系统。
三.PLC ,LABVIEW , C# 从业人员出差情况及薪资水平比较
广东地区来说,PLC行业入门起薪在5K左右,5年左右资深PLC工程师12K左右,再上升难度就比较大了。PLC工程师基本上需要经常出差,因为设备在现场组装,必须到现场调试才能将系统运行起来。
LABVIEW 新手工资在7K左右,5年左右资深LABVIEW工程师12K~15K左右比较多,再上升难度也比较大,相对来说, LABVIEW工程师在现场调试的时间不会像PLC工程师多
C#新手起薪一般在8K左右,5年左右资深的C#工程师15K~25K左右的比较多。
因为C#控制系统的设备主要应用在专机上,因此一般在出厂前都调试好了,整机出厂,现场调试的时间很少,就算有问题一般也可以通过远程方式解决,相对来说出差也是比较少的。
这个只是市场大体行情,个别情况不做比较。
以上啰嗦了这么多,希望对那些选择编程语言困难的同学有帮助。想从事自动化编程的同学,可以根据自身的爱好和特点,以及希望从事的工作方向,选择适合自己的编程语言。
十大编程语言排行,Java只能位列第三?
如果你是软件开发领域的新手,那么你会想到的第一个问题是“如何开始?”编程语言有数百种可供选择,但是你怎么发现哪个最适合你,你的兴趣和职业目标又在哪里呢?选择最佳编程语言以学习的最简单方法之一,是通过市场反响、技术趋势的发展…
阅读下文,你会发现一些用于Web开发,移动开发,游戏开发等的优秀、专业的编程语言。最后,你将清楚地了解哪种编程语言可以在未来几年甚至更长时间内帮助你的职业发展,下面和千锋广州小编一起来看看吧!
1、JavaScript如今,如果连JavaScript都不会用,那么你不可能称之为一名合格的软件开发人员。榜单中的第一个是JavaScript,根本无法想象没有JavaScript的软件开发会是怎样的世界。从Stack Overflow的2019年开发人员调查中可以看出,JavaScript已经连续7年成为开发人员中最受欢迎的语言。过去一年中,大约有75%的人使用了这种语言。
首先,JavaScript是轻量级的,可解释的,并且在前端开发中起着重要作用的一门语言。甚至一些主要的社交媒体平台都认为JavaScript提供了一种轻松创建交互式网页的简便方法,并且是由职业驱动的。最受青睐的是JavaScript,因为它与所有主要浏览器兼容,并且其语法确实很灵活。作为一种前端语言,JavaScript还通过Node.js在服务器端使用。
JavaScript是初学者中最可爱的编程语言。
2、Python
这可能会让你感到惊讶;python出现在第二位。在许多调查中,它可能都放在第5上。但是,我一定会让你相信,这是为什么呢?在我的list中,Python是通用的,用户友好的编程语言之一。为什么这么说?像Java一样,Python语法清晰,直观并且几乎类似于英语。Python的“基于对象”子集类似于JavaScript。根据Stack Overflow的说法,有一个部分说“被采用或被迁移,或者迁移得太早”,广泛来说,迁移到python的人接近42%,这表明它排名第二。
如果你有兴趣从事后端开发工作,例如Django –开放源代码框架,则是使用python编写的,这使得它易于学习且功能丰富,但却很受欢迎。另外,python具有多种应用程序,使其功能强大。在科学计算,机器学习和工程学等领域中,Python支持一种编程样式,该样式使用简单的函数和变量,而无需过多地查询类定义。
人生苦短,我用Python!
再者,因为人工智能这几年大热,而python尤其在大数据和人工智能领域有广泛的使用。
python本身面向对象语言,具有丰富和强大的库,轻松地使用C语言、C++、Cython来编写扩充模块,所以很多称它为“胶水语言”。当然仅仅知道这些还是不够的。
3、Java
如果有人问为什么Java,最常出现的句子是“写一遍,哪都可以运行” – Java在过去20年来一直是统治性的编程语言。Java是99%面向对象的,并且很强大,因为Java对象不包含对自身外部数据的引用。它比C ++更简单,因为Java使用自动内存分配和垃圾回收。
Java具有高度的跨平台兼容性或平台无关性。由于你可以在任何地方(我指的是所有设备)进行编码,因此可以编译为低级机器代码,最后,可以使用JVM – Java虚拟机(取决于平台)在任何平台上执行。
Java构成了Android操作系统的基础,并选择了约90%的财富500强公司来制作各种后端应用程序。我会毫不犹豫地采用由Amazon Web Services和Windows Azure运行的最大的Apache Hadoop数据处理。有许多充分的理由和广泛的业务应用程序,拥有巨大的灵活性,而Java一直是初学者的最爱。
4、C / C++
“越老越吃香” – C用不同的方式证明了这句话。C语言于1970年代后期被引入,为编程世界做出了巨大贡献。C是少数几种语言的母语。有些是从C派生的,或者是从其语法,构造和范例(包括Java,Objective-C和C#)启发而来的。
即使在当今,可以看出,每当需要构建高性能应用程序时,C仍然是最受欢迎的选择。Linux OS是基于C的。CPP是C的混合版本。C ++是一种基于C的面向对象的编程语言。因此,在设计更高级别的应用程序时,它比其他方法更可取。
C ++比动态类型的语言具有更好的性能,因为在真正执行代码之前先对代码进行类型检查。开发的核心领域是虚拟现实,游戏,计算机图形等。
5、PHP
这个事实会让你感到非常惊奇,这种语言是为维护Rasmus的个人主页(PHP)而创建的,实际上到今天已占据了全球83%的网站。PHP代表超文本预处理器,是一种通用编程语言。显然,PHP是一种脚本语言,可在服务器上运行,并且用于创建以HTML编写的网页。它之所以受欢迎,是因为它免费,而且易于设置并且易于新程序员使用。
对于全球的Web开发人员来说,PHP是一个非常强大的选择。它被广泛用于创建动态网页内容以及网站上使用的图像。由于使用范围广泛,因此排名第五。另外,PHP可以很好地用于WordPress CMS(内容管理系统)。
它位于第五的原因之一,是英文PHP降低了网站性能并影响了加载时间。(无奈)
6、Swift
接下来是是Swift。Swift就像它的名字一样流畅,是Apple Inc.开发的一种通用、开放源代码的、已编译的编程语言。如果你正在寻找针对本机iOS或Mac OS应用程序的开发,则Swift就是首选。Swift受Python和Ruby的影响很深,并且被设计为对初学者友好且易于使用。与它的前一个Objective-C相比,Swift被认为是一种更快,更安全,更易于阅读和调试的工具。
与Objective-C不同,Swift需要更少的代码,类似于自然的英语。因此,来自JavaScript,Java,Python,C#和C ++的现有技术人员可以更轻松地切换到Swift。
除此之外,人才储备有限是它面临的一个挑战。与其他开源语言相比,你周围可能找不到很多Swift开发人员。最近的调查表明,在78,000名受访者中,只有8.1%的人使用Swift,这比其他人要少。并且由于频繁的更新,Swift被认为在每个新版本中都不太稳定。
7、C#(C-shap)
C-sharp是Microsoft 2000年开发的功能强大的面向对象的编程语言。C-sharp用于开发桌面应用程序和最近的Windows 8/10应用程序,并且需要.NET框架来运行。微软开发了C#作为Java的竞争对手。实际上,Sun不想让微软的干扰来改变Java,于是C#诞生了。
C#具有多种功能,使初学者更容易学习。与C ++相比,代码是一致且合乎逻辑的。由于C#是静态类型的语言,因此在C#中发现错误很容易,因为在将代码转到应用程序之前会先检查代码。
简而言之,它是开发Web应用程序、桌面应用程序的完美选择,并且在VR,2D和3D游戏中也得到了证明。像Xamarin这样的跨平台工具已经用C#编写,使其与所有设备兼容。
8、Ruby
一种开源的动态编程语言,着重简单性和生产率,于1990年中在日本开发。它的设计主题是简化编程环境并增加乐趣。Ruby在全栈Web框架Ruby on Rails框架中流行。Ruby具有动态类型化的语言,它没有硬性规定,并且是一种高级语言,在很大程度上类似于英语。
简而言之,你可以使用更少的代码来构建应用程序。但是Ruby面临的挑战是动态类型化的语言,它不容易维护,并且灵活性使其运行缓慢。
9、Objective-C
Objective-C(ObjC)是一种面向对象的编程语言。Apple将其用于OS X和iOS操作系统及其应用程序编程接口(API)。它开发于1980年代,并在某些最早的操作系统中得到使用。Objective-C是面向对象的通用对象。你可以将其称为混合C,因为它为C编程语言添加了功能。
10、SQL
SQL(es-que-el)代表结构化查询语言,是一种用于操作数据库的编程语言。它包括存储,处理和检索存储在关系数据库中的数据。SQL保持数据的准确性和安全性,并且无论其大小如何,都有助于维护数据库的完整性。
今天,SQL已在Web框架和数据库应用程序中使用。如果你精通SQL,则可以更好地掌握数据探索和有效的决策制定。
相关问答
WinCC和PLC是什么?
WINCC是一个工控系统中的一个电脑控制组态软件,他可以和PLC通讯,可以点击组态中的按钮来操作一些设备的运行或停止;PLC是可编程控制器,你可以经过自...
麻烦大神们,跪求回答:老牌的汇川PLC公司有哪些,汇川PLC款...
[回答]北至汇川大道,南至海尔大道,东至东沙路口,西至高泥路口都属于主城区红花岗区、汇川区除去深溪镇、巷口镇、海龙镇、金鼎山镇、高坪镇、团泽镇等都属...
PLC可编程控制器软件
[最佳回答]PLC可编程控制器软件:在工业生产过程中,大量的开关量顺序控制,它按照逻辑条件进行顺序动作,并按照逻辑关系进行连锁保护动作的控制,及大量离散量的...
谁能告诉我!!谢岗好口碑的汇川PLC,汇川PLC能选择的款式多吗??
[回答]主要看PLC,控制领域PLC为主打。我也是学电气的道和安自动化工控设备回收公司为王,因为种类多,可供选择,关键还优惠坐公交:703路→259路,全程约10...
基于PLC的三轴机械手?,三轴机械手款式多吗??
[回答]很多年前就有听说过千特机电这家公司,产品一直随着市场在做更新改变,前景不错主要用来控制伺服和步进,其实所说的轴就是可以接受的脉冲,然后输出的...
童鞋们急!急!急!口碑好的汇川PLC公司电话,汇川PLC款式多吗??
[回答]两个牌子定位有点区别,汇泰龙定位比雅洁还要偏高汇盈金服的历史平均年化收益在6%-12%,只要是年利率低于24%是受法律保护的,所以是汇盈金服是合法的...
各位大神!有谁能给我推荐一下,靠谱plc控制柜维修费用,plc...
[回答]一般PLC主板都是返厂维修,不过维修下来的价格跟买个新的差不了多少,没有修的必要,只要坏了换新的就好。PLC控制柜自身毛病判断一般来说,PLC控制柜...
油压机和成型机都有哪结构款式和用途分类?-熊作的回答-懂得
之前在我在东莞市寮步镇华晖液压机械制造有限公司做过希望可以帮助你!油压机按结构形式分类现主要分为:四柱式油压机(三梁四柱式、五梁四柱式)、双...
ABplc编程的程序/处理器状态的小窗口删除了怎么恢復-ZOL问答
CAD双击文字后不出现文字样式工具框,肿么调出来6021浏览3回答mSATA硬盘插在主板是什么地方?8782浏览3回答ZOL问答CPU问题详情电脑版首页资讯查报...
boolij是什么牌子?
boolij是一家专注于生产和销售高品质家居用品的品牌。他们提供各种家居产品,包括床上用品、浴室用品、厨房用品等。boolij致力于为消费者提供舒适、时尚和耐用...