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#控制系统的设备主要应用在专机上,因此一般在出厂前都调试好了,整机出厂,现场调试的时间很少,就算有问题一般也可以通过远程方式解决,相对来说出差也是比较少的。
这个只是市场大体行情,个别情况不做比较。
以上啰嗦了这么多,希望对那些选择编程语言困难的同学有帮助。想从事自动化编程的同学,可以根据自身的爱好和特点,以及希望从事的工作方向,选择适合自己的编程语言。
初学者必看!PLC转型C#上位机编程学习路线和方法
一.通过线上学习C#,机器视觉,运动控制卡,工程案例,我迈向工控软件开发的转型之路
大家好,我是华山编程培训中心的学员——李工,今天分享下我是如何从电气工程师成功转型上位机开发的经历,希望我的经历能鼓舞更多的自动化工程师往上位机发展。
在锂电行业从事电气工程师工作一年多,我渴望在C#上位机运动控制和视觉软件开发方向发展。通过X音、X度等网络平台,我发现了华山编程培训中心朱老师的工控行业C#,机器视觉,运动控制卡,工程案例全套学习课程,决定报名参加。
在2023年初,我完成了这门线上课程的学习,为我的工控软件开发之路奠定了基础。
线上学习方法: 为了在学习过程中获得最佳的经济效益,我选择了线上和线下相结合的学习方案。为了更好地同时观看视频和编写代码,我购买了一个价格适中的液晶显示器,作为笔记本的副屏 。硬件问题得以解决后,我采取了以下学习方法:1.按照C#、固高运动控制卡、雷赛运动控制卡、视觉(Halcon)、工程实例的顺序进行学习。
2.对于每个内容节点,我先观看视频,然后做笔记并编写相关代码,以便更好地理解和吸收内容。
3.进行代码调试时,遇到问题我会向老师请教,并详细记录问题点以及解决问题的思路和方法(通过一对一的技术辅导群进行交流) 。通过这种不断积累的过程,我逐渐实现了由量变到质变的学习进步。
我清楚地认识到,C#作为上位机软件开发的基础知识至关重要。因此,在学习过程中,我充分利用自己的热情,尽可能多地吸收课程内容。通过聆听、观看、记录笔记和验证代码的过程,我能够对每个知识点有更深入的理解和消化能力,从而达到更好的学习效果。即使在以后对某些知识点变得生疏时,我可以通过查看笔记快速复习。
尽管这种学习方法需要投入大量时间和精力,但它被证明是最有效的。只有在基础知识足够丰富的基础上,我才能更轻松地理解和消化后续的内容。因此,对于一个小时的视频,我可能需要花费两个多小时的时间来进行学习和实践。只有通过付出足够的时间和精力,我才能达到甚至超过自己预期的学习效果。
二.从线上到线下学习:我选择踏入全职学习的新阶段
导言: 在线上学习C#的过程中,我意识到自己的本职工作压力和加班频繁使得无法专心学习,无法达到预期的效果。因此,我决定转向线下学习模式,并向原公司提交辞呈,迈入全职学习的新阶段。
以下是我转向线下学习的决策理由和好处。
1.全职学习:转向线下学习模式让我能够摆脱工作压力,全心投入学习,提高学习效果。
2.热爱和激情:我对上位机软件开发充满热爱和激情,相信能够保质保量地完成线下课程学习。
3.全日制上课:线下学习采用上午上课、下午进行视频学习的模式,给予我更大的发挥空间。我可以提前预习课程内容,让自己在老师上课之前就有一定的理解和消化,并能更好地参与课堂互动。
4.老师指导:线下学习中,老师将亲自指导我们,随时解答我们遇到的问题,提供及时的帮助和指导。
5.同学交流:与同班同学进行交流学习,创造良好的学习氛围,相互促进和激励。
6.优越硬件条件:线下学习提供了运动控制卡、相机、工控机等良好的硬件条件,可以进行实物验证等实践操作。
7.实际项目经验:朱老师提供适合的项目,我们有机会参与软件开发,积累实际项目经验。
综合考虑,我决定转向线下学习,并向原公司提交辞呈,为自己全心投入学习做好准备。这个决策将使我能够更好地专注于学习,迅速提升我的技能水平,为未来在工控软件开发领域取得更大的成功奠定基础。我期待着与朱老师和同班同学们一起,共同探索学习的道路,并为自己的梦想努力前行。
三.全情投入,坚定信念:线下学习C#上位机课程的实践之路
视频加载中...
导言: 我在深圳华山编程培训中心开始了为期两个多月的C#上位机线下课程学习,带着坚定的信念和对知识的渴望,我决心在有限的时间内尽可能多地学习知识,将时间、精力和资金的投入发挥到最好的效果。在学习的过程中,我采用了一系列的学习方法和策略,始终将学习视作自己的责任。
学习方法和策略:
1.走在老师前面:提前对课程知识进行自我理解和消化,对不了解的知识点做好笔记。在课堂上遇到问题时,积极请教老师并寻找解决方法,进一步理解和消化知识。
2.认真听讲:在课堂上,我认真听讲,并将主要的知识点做好笔记。课后将预习的笔记和课堂笔记进行融合,以更好地理解和消化本章节的知识点。
3.自我经历问题:在预习过程中,我亲身经历了很多问题。通过自己的努力,我解决了这些问题,对知识点的理解更加深刻。同时,这也避免了在课堂上跟不上老师的节奏的情况。
4.硬件熟悉:提前熟悉教室中的所有硬件设备,有助于在学习硬件方面的知识时更加顺利。
5.帮助同学解决问题:走在老师和同学们的前面,不仅解决了自己的问题,还可以帮助同学解决他们的问题。这既提高了自己解决问题的能力,也得到了同学和老师的认可,激发了更大的学习激情。
6.全身心投入:我每天早出晚归,抽出尽可能多的时间来学习,全身心地投入其中,专心致志地学习。有时甚至连周末也不例外。
各个模块的重要知识点:
1.C#:重点学习线程和任务、数据库操作等基本知识和操作。
2.运动控制:学会阅读手册,封装Axis类、motor抽象类,应用多线程进行学习。
3.机器视觉:学习Halcon图像处理的算子和操作步骤,将Halcon程序转化为C#程序并实现功能。
4.工程案例:将C#、运动控制和视觉综合运用于实际工程案例中。学习使用SDK采集图像、进行模板匹配、坐标修正、自动流程逻辑和书写、实时运行轨迹绘制、历史报警记录、软件加密、软件期限管理等技术。通过多线程的方式将这些知识点融会贯通,达到较好的效果。
自我成长的关键: 在学习过程中,自我成长的关键在于坚定的信念和意志力。必须设定明确的学习目标并坚持执行,选择适合自己的学习方法,并愿意为之付出努力。学习是一项艰苦的过程,但经过一段时间的努力,成果将会显现。当我们感受到进步带来的快乐时,就会更加激发学习的激情和自信心,继续努力学习下去。
信念的重要性: 在学习和掌握技术的道路上,自己必须拥有坚定的信念。就像中国志愿军在朝鲜战争中,面对强大的敌人,凭借着钢铁般的意志坚持斗争一样,我们也要在工控领域的学习中具备这样的信念和决心 。学习技术是为了自己的成长和未来的发展,无论其他人是否能够夺走我们的知识,我们都要努力学习。我们来到华山编程培训中心,学习C#上位机软件开发,最终目的是为了从事C#软件开发,获得更好的待遇和工作环境。我们必须在有限的时间内,尽可能多地、扎实地、快速地提升自己在C#软件开发领域的技术水平。
结语: 在C#上位机线下学习的实践中,我坚持全情投入,按照自己制定的学习方法和策略进行学习。通过掌握C#、运动控制和视觉等重要知识点,我努力提升自己的技术水平。在这个过程中,自我成长的关键是坚定的信念和意志力,只有坚持不懈地,努力学习,才能取得技术上的突破和进步。通过每天早出晚归的付出,我不仅充分利用了有限的时间,还获得了教室的钥匙,让我更加自由地学习。这种全身心的投入和不懈努力,使我更加专注和有动力去面对学习的挑战。
然而,学习不仅仅是在课堂上进行的,它需要我们不断地与实践相结合。在工程案例的学习中,我将所学的C#、运动控制和视觉知识综合运用,通过多线程的方式将各个模块的技术融会贯通。这样的实践让我更加深入地理解和掌握所学的知识,并提升了解决实际问题的能力。
四.学完找工作
完成培训后,你开始准备找工作。朱老师在培训结束后帮助你编写简历,并提供面试指导。每次面试后,你可以向朱老师请教面试问题,并得到专业的建议和反馈。如果你没有找到理想的工作,朱老师会不断推荐适合你的工作机会,直到你找到满意的职位为止。
、
此外,朱老师还会在课程结束后,根据学生的兴趣讲解一些C#知识,例如委托、事件注册、特征和序列化、MES数据传输等。通过朱老师的指导和工作推荐,你将能够快速找到满意的工作机会。
点击领取上位机编程全套入门教程+工具
一旦进入新的工作岗位,你将全力以赴地投入工作,并进入项目实践阶段。通过不断努力和积累经验,经过一年半载的时间,你的技术水平和工作经验将得到提升,使你在任何地方的薪资都不会低于15K。
相关问答
电气工程师想学习上位机编程,怎么入手?
大家好,我是华山自控编程的朱老师,看到最近很多同学都在讨论上位机运动控制卡与机器视觉编程的问题,所以今天写了干货,希望可以帮助到你们!一.入门上位机编...