常常有一些刚出来的大学生问我,想学习自动化方面编程,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#控制系统的设备主要应用在专机上,因此一般在出厂前都调试好了,整机出厂,现场调试的时间很少,就算有问题一般也可以通过远程方式解决,相对来说出差也是比较少的。
这个只是市场大体行情,个别情况不做比较。
以上啰嗦了这么多,希望对那些选择编程语言困难的同学有帮助。想从事自动化编程的同学,可以根据自身的爱好和特点,以及希望从事的工作方向,选择适合自己的编程语言。
点击领取上位机编程全套入门教程+工具https://s.pdb2.com/pages/20230307/CnORDNt9HimMjNS.html