上位机编程系列开发语言C#,与PLC通信
什么是C#语言?
C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,而绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。
C#旨在设计成为一种“简单、现代、通用”,以及面向对象的程序设计语言,此种语言的实现,应提供对于以下软件工程要素的支持:强类型检查、数组维度检查、未初始化的变量引用检测、自动垃圾收集(Garbage Collection,指一种自动内存释放技术)。软件必须做到强大、持久,并具有较强的编程生产力。此种语言为在分布式环境中的开发提供适用的组件开发应用。
为使程序员容易迁移到这种语言,源代码的可移植性十分重要,尤其是对于那些已熟悉C和C++的程序员而言。对国际化的支持非常重要。C#适合为独立和嵌入式的系统编写程序,从使用复杂操作系统的大型系统到特定应用的小型系统均适用。
随着科技的发展,工业控制也朝着个性化、智能化、数据化的方向发展,上位机的地位也越来越重要,而如何快速进行数据的采集、存储、利用尤其重要。
C#是工业控制中常用的上位机开发语言,具有开发速度快,运行速度快,扩展库丰富,开发门槛低,使用范围广的特点。
下面我们就来了解一下C#开发软件的安装配置,如何快速读写数据、解析数据、结合Sqlite存储数据以及导入导出Excel表格!
C#编程与PLC通信
示例图
所需基础
1.自动化/IT相关专业师生
2.电气工程师
3.系统集成及应用工程师
4.有意向学习上位机开发的爱好者
学习,必须学会的几个知识点:
1.C语言基础
2.了解西门子PLC
课程大纲
讲师简介
李福来
李福来老师长期从事电气自动化及其上位机开发工作,有着长年的产品知识的积累、掌握丰富的现场应用案例,以及多种复杂疑难案例的处理经验。
对PLC与上位机的结合有着独到的见解和丰富的经验,开发过多款上位机软件,精通Sqlite、Sqlserver等工控常用数据库。
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#控制系统的设备主要应用在专机上,因此一般在出厂前都调试好了,整机出厂,现场调试的时间很少,就算有问题一般也可以通过远程方式解决,相对来说出差也是比较少的。
这个只是市场大体行情,个别情况不做比较。
以上啰嗦了这么多,希望对那些选择编程语言困难的同学有帮助。想从事自动化编程的同学,可以根据自身的爱好和特点,以及希望从事的工作方向,选择适合自己的编程语言。
相关问答
上位机编程用什么编程语言比较好?
上位机这个词一看就知道你是做硬件相关的。电子相关专业在用到计算机与硬件通信的时候就要用到上位机编程,来实现操作界面,数据处理等功能,比如把传感器数据信...
上位机编程,哪种语言比较好?
对于上位机编程来说,以下几种语言是比较好的选择:1.C语言:C语言是最常用的上位机编程语言之一,特点是速度快、资源占用少。C语言提供了直接和微控制器交互...
电脑与PLC通讯用什么语言编程比较好啊?-ZOL问答
C,C++,VC,VB,C#都可以作为上位机(电脑)的编程语言,如果需要做数据监控、数据更改、数据存储等,需要做界面,这个时候应该是VC/VB/C#比较好。并且VC/VB/C#可以编...
做上位机软件用VB还是C语言好啊?
vb上手比较快,开发速度比较快。vc程序速度比vb要快,适用性更强,学习比较费劲,开发速度没有vb快。建议非专业人员学习使用vb6另外要说明的是vb指的是vb6,vs20...
上位机编程一般用什么语言?用什么软件?
既然是上位机编程,当然应该是与控制有关,还有下位机,所专以这个编程用到属的软件主要应该有:1、C语言,这是基本的上位机语言,特别在以前的DOS时代,用的十...
自己编写PLC与上位机的通讯,一般用什么语言?
监控系统上位机一般都是工控机!也就是工业计算机,通过里面的软件和各种接口,例如串口、以太网等等,采集各种设备的数据,例如PLC、仪表、变频器等等,工控机把...
上位机用什么编程?
上位机可以用C#,C++,labview等编程。一般上位机是相对于下位机而言,通过通信端口与下位机相连。根据通信协议通信。上位机的功能主要有控制下位机以及接收和显...
我们工程师写机器人上位机程序都统一用C++语言,还有哪些语言适合写机器人程序的?
没有比C更适合的其他语言了。嵌入式这块能做的语言很多,比如JS都可以做到了。但是相比还是C最优秀没有比C更适合的其他语言了。嵌入式这块能做的语言很多,比...
基于Windows环境与PLC相连的上位机监控操作软件用什么组态好?
这类的上位机监控软件很多。基本都大同小异。每种组态软件因行业原因,使用率也不一样。不过都是个人爱好,行业习惯而已。比如国外的组态软件常用的有原来英维...
plc与C语言有什么关系啊?
PLC为可编程逻辑控制器(ProgrammableLogicController)的首字母缩写。是一种面向工业控制的微型计算机系统。PLC的硬件系统必须有控制器(单片机、CPU、FP...