Preface 前言
随着信息技术和网络技术的飞速发展,德国在2013年提出了工业4.0的概念,这也是未来制造业发展的主要方向。工业4.0包含多种技术和通信系统,各个系统之间需要非常精密的通信才能实现工厂的智能制造,这些通信系统也正是工业4.0的核心。通信系统负责消除各个系统、各个设备之间的壁垒,使系统与系统之间能够准确且无障碍地交流。这些通信系统使用了各种工业通信技术,例如现场总线、工业以太网、WiFi等。工业通信系统的主要目的是使工厂的设备、传感器和控制层的数据域与企业信息系统相融合,使得生产大数据传到云计算数据中心进行存储、分析,并形成决策,再反过来指导生产。
通信协议的表述,以及工厂大量的制造设备和生产线流程是通过PLC来控制的,那么工厂控制层的大数据系统就需要从生产线设备的控制核心PLC来采集数据,从而知道生产线上产品的制造信息和设备的状态信息。但是,现阶段每个工厂的生产线众多,造成了制造设备多种多样,进而制造设备的核心PLC也是各种品牌、各种型号林立,这就造成工厂控制层与设备层的通信变得复杂且多样。工厂控制层的数据采集系统大部分使用的是高级语言(例如C#、VB等),现在计算机高级语言与PLC通信时大部分使用欧姆龙、罗克韦尔(AB)、西门子、倍福(Beckhoff)等各大PLC厂商提供的中间软件作为OPC Server,或者使用官方提供的动态链接库。如果使用OPC Server或者动态链接库,那么有两个劣势:一是中间软件价格昂贵,二是通信速度慢。欧姆龙、AB、西门子、倍福等各大PLC厂商除了提供中间软件和动态链接库外,还提供官方支持的通信协议,计算机通过官方指定的协议可以直接与PLC进行通信,使通信更加简单、快捷、经济。
本书讲解欧姆龙、西门子、AB、倍福等PLC厂商官方公开的协议。欧姆龙部分主要讲解Hostlink协议,以及无协议、Socket通信服务等。Hostlink协议包括C-Mode和FINS两种命令格式。C-Mode相对简单,但是只能访问通道级别的数据,无法直接访问I/O点的数据。FINS与C-Mode相比稍复杂,但是可以直接访问I/O点的数据。无协议和Socket的通信内容没有固定的协议,可以自己编写,弊端是PLC端需要编写通信程序。AB部分主要讲解DF1、CIP、EtherNet/IP等协议。DF1协议在串口的全双工和半双工下有所区别,本书着重讲解全双工的DF1协议。CIP(Common Industrial Protocol,通用工业化协议)是国际性组织ODVA推出的一种通用工业协议。ODVA已经有350多个成员,所有成员都支持CIP。EtherNet/IP是ODVA和CI两大组织共同推出的基于标准以太网技术(IEEE 802.3与TCP/IP Socket相结合)的工业网络技术,使用标准以太网和TCP/IP技术来传输CIP通信数据包。CIP和EtherNet/IP这两个协议也是本书的一个难点。西门子部分主要讲解自由口通信、Modbus、开放式以太网通信等协议,这三种通信协议都需要在PLC端编程。倍福部分主要讲解ADS通信和TCP/IP通信。ADS通信是倍福官方推荐的通信方式,但是需要使用倍福官方的动态链接库。TCP/IP不需要动态链接库,但是需要在PLC端编程。读者在掌握这几种PLC通信协议后再开发计算机数据采集程序,就可以直接使用官方给出的协议与PLC进行通信。
本书从应用者的角度,以最有代表性的4种PLC作为实例,先把协议讲清楚,再把协议带到C#编程实例里来实现,然后把代码[1]也写出来并做一定注解,让读者既理解了通信协议和通信方法,又学会了如何使用这些协议进行编程。
限于编者水平,书中难免有欠妥、疏漏和错误之处,恳请读者指正。
[1] 本书配套的资源包(代码、命令表和功能表等)请访问机工新阅读网站(www.cmpreading. com),搜索本书书名获取。