序言
首先,非常感谢您翻阅书籍,在您开始学习之前,对本书做一个介绍,随着工业4.0 和中国制造2025的并不断推进,信息化,数据化,智能化与工业化自动化的大融合已经上升到全球层面,各国未来的竞争就是工业4.0的竞争,以信息化带动工业化的发展,或者说以工业化促进信息化的发展,是未来的主要论调,作为工业控制领域的技术人员,仅仅掌握PLC开发技术已经不能满足工业自动化的需求了,实际的上“工业自动化”悄悄的变成了“工业智能化”。
在工业智能化大趋势下,工业自动化行业的编程技术已经明显分化成以下几种
1. 原生的仅仅通过梯形图来编程的,譬如,三菱FX系列,西门子200。
2.通过高级语言编写程序,如西门子1200/1500 通过 SCL编程
3. 工业机器人的高级编程
4. 上位机的人机界面非标化开发及数据库统计分析
5. 机器视觉的检测,识别,定位等
我们把第一种仅仅通过梯形图进行的编程方式成为“电工编程”,实际上随着工业集成化的提高,电工编程的技术学习已经没有门槛了,是一位电工必须具备的技能,而我们知道大部分人PLC编程开发人员的水平仅仅停留在梯形图式的水准上,这不是真正意义上的编程,因为这种编程不能做太多的算法处理,只是简单的逻辑控制,对标准的数据进行读取和写入,不能存储等。你只需要能看懂电气图,弄清楚逻辑动作,就能够进行编程,因此这类技术人员的工资待遇不会太高!
PLC最初的发明是为了替代继电器电路的,主要是面向电工电气人员开发的,都是线圈,能流,触点灯电气概念,随着自动化技术的发展一日千里,客户的控制要求也越来越高,最初设计的PLC,如上面第一种,已经满足不了项目需求了,近几年推出的中大型PLC,比如三菱FX5U,Q系列,西门子1200/1500,已经开始慢慢淡化这些电气概念了,都开始向计算机信息化靠拢。
中大型PLC是在进行程序设计时候将一个大程序按照功能划分成若干个小程序模块,每个模块实现一个特定的功能,再把这些模块通过逻辑建立特定的联系,来相互协调完成工作的,而这种模块化强调的是面向过程的任务分割,而不是面向对象中的类的封装和调用,真正的面向对象编程是通过高级语言来实现的。如C#
相信各位自动化从业人员已经感到没有高级语言编程的技能已经越来越无法完成工作了,比如,西门子1200/1500 通过模块化编程, SCL高级语言编程编写算法,工厂数据采集中的各种非标协议转换,报表需求,数据存储,非标上位控制,视觉识别,MES/ERP之间的信息交互,工业机器人执行等等,随着5G时代的到来,在高速互联网的浪潮下,很多新兴的企业占据了传统行业,对于自动化也是如此,仅仅拥有传统的自控知识,PLC编程技能,及wincc技能已经无法适应现代工业控制的要求了。
我们知道最新的一套自动化系统,是通过工业电脑上的非标上位机画面来操作的,它通过视觉相机检测到产品信息,通过工业电脑对参数进行存储和分析处理然后给出信号给PLC或者其他工业控制器进行协调任务执行,工业机机器人就是我们的执行部件,它接受到执行命令后会按照自身编写好的动作代码进行执行,然后在通过传感器返回执行后的信号给PLC,PLC返回到上位机去显示结果!
这就是通过高级语言与工业控制相结合,可以高效的实现工业现场信息采集与处理,也就是说我们通过高级语言将视觉,PLC,传感器,工业机器人,数据处理等高效的合为一体,就是我们说的工业智能化,如果你掌握了这些,将会为你带来更多的发展机遇,个人待遇也会更上一大层,这是工业发展的必然趋势,如果你踏步不前,不求进步,只是掌握以上的第一种技能,或者什么都不掌握,那么工业自动化行业势必会将你淘汰。
本课程是以Halcon机器视觉与上位机编程为为主脉络来展开的,他囊括了上面所说的其他几种技能,技术含量高,没有水分,都是以实际项目为主去讲解分析的,紧扣工业自动化开发的主题,全是干货。
哪怕你是零基础的理工科学员,或是从事自动化行业工作的零基础学员,学起来也没有问题,不用担心,有人一看到高级语言这几个字,都怕的不行了,本书用工业自动化开发常用的高级语言C#来讲解的,,实际上我们不需要掌握所有C#的知识,我们只需要掌握工业中常用的知识点就可以了,那么这些知识点我在本课中已经都由浅入深,通俗的通过案例来讲解分析了,你需要给自己信心,跟着书中内容按部就班,每个代码自己都亲自去操作,调试,运行,那么你一定会学会!
那么为什么选择C#呢?
1)C#是最容易入门的高级语言,尤其是UI界面,零基础也能学习,它是工业自动化中应用最广泛的高级语言,譬如人机界面软件,伺服调试软件,第三方设备设置软件都是通过C#编写的。
2)西门子倍福三菱等很多PLC高级应用会给出C#收到的范例和类库文件,便于自动化工程师快速上手
3)和自动化设备密切相关的Mes大部分采用C#开发的,自动化工程师可以更好的和MES协作,整体构造智慧工厂的框架,打通进料,产线线,销售等数据流。
4)工业视觉和运动控制卡等都是通过C#开发的