张国梁,侯晓鹏,蔡振江,邸贺安,王燕龙
(1. 河北农业大学林学院,保定 071000;2. 河北依丽兰家具有限公司,雄安新区,071600;3. 中国林业科学研究院林业新技术研究所,北京 100091;4. 河北农业大学机电工程学院,保定 071000;5. 河北农业大学园林与旅游学院,保定 071000)
工业化 4.0和智能制造的发展使家居市场及生产方式发生了较大变化[1-2],基于较强的动态响应能力和对个性化需求的适应性,大规模定制(Mass Customization,MC)成为信息时代家居制造业发展的主流模式[3]。定制家居制造企业在柔性化生产线规划和建设中,皆会根据生产工艺的特点和要求,在某个工段或某项工艺需求上采购某些设备制造厂家的某种独特功能的设备[4-5],例如金田豪迈的开料锯、跃通的木门加工设备、意玛的封边机或是埃夫特的喷涂机器人等。这些设备制造厂商根据生产成本、功能的不同而采用不同厂家、不同总线的控制系统[6-8],因此大规模定制家居制造企业采购这些设备后,如何将其关联起来,形成前后动作互动、报警信息关联的柔性化生产线,实现生产线数据信息的前后传递成为工业化4.0背景下急需解决的关键问题[9-10]。
针对生产现场数据实时采集与传输的研究已经比较深入[11-12]。LoRa技术在工业无线传输领域的应用优势[13-14],使其可用于工厂车间节点数据信息的无线传输设计[15],宦娟等[16]基于窄带物联网技术实现了养殖塘多传感信息的远程采集与数据存储。汪凤珠等[17]基于ZigBee网络和TCP/IP协议构建了盐碱地田间监控系统。统一了各种OPC 技术规划的OPC UA具有跨平台性、可互操作性、安全可靠[18-19]。基于OPC UA开发的工业现场通信中间件[20-22]可通过Modbus TCP/IP协议读取数据并以统一格式在OPC UA服务器地址空间中存储[23]。在农机制造物联网的研发中,PLC可通过OPC Server与多个工位进行信息交互[24-25]。
已有研究为数据信息交互和产品的智能制造提供了可以借鉴的思路,但其研究的现场设备层的总线类型相对单一。本文主要针对定制家居柔性化生产线存在的总线协议众多、数据接口不统一的问题,研究其控制系统的数据信息交互方法;使用面向对象编程的设计思路,建立数据信息交互模型;采用Modbus TCP/IP协议实现不同类型控制器间的信息流转和数据传递。
定制家居的柔性化生产和智能制造一般包括 4个组成部分,即智能加工中心和生产线、智能化生产控制中心、智能化生产执行过程管控和智能化仓储/运输与物流[26]。根据定制家居的生产工艺,其柔性化生产线如图 1所示,包含基材分拣、开料、打孔、封边和包装等工序。
选取图 1中部分单机,建立定制家居柔性化生产线模型控制系统,典型的控制系统总体结构如图2所示。
图1 定制家居柔性化生产线工艺流程Fig.1 Technological process of flexible production line for customized home furnishing
图2 定制家居柔性生产线模型控制系统框架Fig.2 Control system structure of flexible production line model for customized home furnishing
根据定制家居柔性化生产工艺流程,选取的典型工段依次为龙门分拣机器人、RGV运料小车、开料裁板锯、立体缓存机器人、U型封边线、打孔机器人和终点缓存区。每个工段所用控制器的类型各不相同,所对应的伺服驱动器和内部传输协议也有差别[27]。
各工段控制器与总控的数据传输方式采用基于以太网总线的Modbus TCP/IP协议。总控作为客户端对作为服务器的各工段控制器进行读写操作,在TIA Portal软件中,通过调用Modbus TCP块库中的Modbus TCP Client功能块实现通信。而为将各个工段的控制系统整合到Modbus TCP/IP协议,需为各工段控制器增加相应的硬件设备或者调用相应的软件程序,如表1所示。
其中,RTU-EN01为 Modbus TCP 远程I/O通讯模块;TwinCAT Modbus TCP Server是Modbus通讯的驱动软件程序;S7-1200系列PLC要求固件版本在V2.0及以上;SMART系列PLC要求固件版本在V2.2及以上。调用MB_Server Library的控制器,其集成的以太网口需支持Modbus TCP/IP协议。
表1 各工段控制器硬件扩展或软件调用Table 1 Hardware expansion or software calling of single equipment controllers
采用面向对象编程的设计思路[28-29],即以类和对象对工段进行建模。将柔性化生产线的每一工段定义为一个类对象,将该工段完成加工生产所需的输入/输出指令和工艺参数定义为对象的方法和属性。
将定制家居柔性化生产线的类分为公共类和私有类 2种,公共类主要面向加工工件信息(加工编号、长度、宽度、厚度、数量)和工段的电气控制如电机驱动、指令输入、状态输出等,而私有类则主要针对具体工段的工艺参数。具体工段类对象通过继承父类(私有类)和公共类而建立。
将类对象的属性和方法与工段主机 Modbus寄存器地址信息(类型、地址和长度)建立映射关系。各工段主机作为Modbus TCP/IP服务器,系统总控作为Modbus TCP/IP客户端实现数据信息的交互。基于Modbus TCP/IP协议的定制家居柔性化生产线模型控制系统的数据信息交互模型总体结构如图3所示。
图3 数据信息交互模型总体框架Fig.3 Overall structure of data information interaction model
2.2.1 柔性化生产线公共类设计
柔性化生产线的加工对象是具有一定尺寸和加工编号信息的板材,通过一个公共的加工板材类表示;每一工段皆有系统工作/停止、限位、联机总控/单机运行等输入信号,通过一个公共的指令输入类表示;工段的启停指示灯、联机/单机状态、超限报警、电磁阀动作等输出信号,通过一个公共的状态输出类表示;驱动电机可能是伺服电机或变频电机,分别通过一个公共的伺服电机类和变频电机类表示。使用统一建模语言UML,5个公共类及属性定义如图4所示,从左到右依次为伺服电机类、变频电机类、加工工件类、指令输入类和状态输出类,每一类中列出了常用的公有属性。
图4 公共类设计Fig.4 Public classes design
2.2.2 柔性化生产线私有类设计
根据图2,定制家居柔性化生产线模型控制系统的工段数量为7,为每一工段定义一个私有类,如图5所示。
图 5中由左至右的私有类依次对应龙门分拣机器人工段、RGV运料小车工段、开料裁板锯工段、立体缓存机器人工段、U型封边线工段、打孔机器人工段和终点缓存区工段。各工段私有类的私有属性分别对应图 5中类图中的字段。需要说明的是,龙门分拣机器人工段依靠三轴伺服电机完成基材板从立体原料库到辊台的传递,为此不设置私有属性和方法,从公共类中继承。
图5 私有类设计Fig.5 Private classes design
2.2.3 柔性化生产线工段类继承关系
柔性化生产线的7个私有工段类需继承5个公共类。以开料裁板锯为例,具体的工段对象与类之间的继承关系如图 6所示并用实现三角符号符号表示。任一工段对象都将继承其父类和 5个公共类的属性和方法,从而形成具体的生产工段对象。
图6 工段类的继承关系Fig.6 Inheritance relationship among classes
建立柔性化生产线工段类对象的属性与工段主机Modbus寄存器地址的映射关系;由于特定的系统总控对工段主机Modbus地址的操作函数是唯一的,因此将工段类对象的方法即对属性的读写命令统一为一个函数主体,每次该函数在使用时的区别仅在于根据属性类型的不同改变读写长度和读写模式,以本文所选的系统总控S7-1500为例,统一的函数主体是MB_CLIENT。通过上述操作即可实现数据交互模型与硬件控制系统的实例化,从而完成交互方法的设计。
属性与Modbus寄存器地址的映射关系如表2所示。根据所建工段私有类和公共类的结构,并考虑具体工段开发时的功能冗余,以字为单位,设定工段对象的属性占用的地址总数为200,实践表明200个字的地址空间满足工艺要求。在地址分配中,5个公共类和1个私有父类的属性和方法各占有确定的地址区域,以U型封边线为例,地址对应关系如表3所示。
表2 Modbus寄存器与对象映射表Table 2 Mapping table between Modbus register and objects
表3 U型封边线与Modbus寄存器地址的映射表Table 3 Mapping table between Modbus register and banding line of U type
由表2和表3可以看出,定制家居柔性化生产线的每一工段对象与工段主机 Modbus寄存器地址具有明确的映射关系,如此,数据信息的写入和读取操作只需通过统一的MB_CLIENT函数针对确定的地址空间进行。
在硬件连接、控制系统和数据信息交互模型建立的基础上,通过定制家居柔性化生产线模型的实际运行检验模型的有效性。
系统总控S7-1500作为Modbus TCP/IP客户端,对各工段主机进行读写操作。以打孔机器人模型为例,数据信息交互程序如图7所示。
图7 数据信息交互程序界面Fig.7 Interactive program of data information
在MB_CLIENT函数中,参数MB_MODE对应数据的读写操作,读操作指总控从工段主机控制器中读取参数和状态,写操作指总控将命令和参数发送给工段主机控制器;通过修改MB_DATA_ADDR对应的起始地址和MB_DATA_LEN对应的通讯长度来满足不同工段的工艺需求。
在 S7-1500中建立针对工段主机控制器的信息交互数据块,运行状态如表4所示,DB块中的数据即为工段类对象的属性和方法,与工段主机Modbus寄存器地址对应并在程序运行时显示监视实时数据。
表4 数据信息交互数据块运行状态Table4 Running status of data information interaction
所建模型采用基于Modbus TCP/IP总线的分布式、模块化的网络结构[30],使每台单机的交互信息高效、规范,程序的可读性高。后期的设备维护和新功能开发只需在DB块的冗余空间上填写相关的变量,底层的硬件地址无需变动,即可实现设备的更新,简单方便。运行效果表明不论工段控制系统的类型如何,在TIA Portal软件中,S7-1500皆即可与其实现数据互通,为数据交互的软件实现提供了解决方案。
3.2.1 数据信息交互
定制家居柔性化生产线模型控制系统物理样机的总体结构如图 8所示。从左至右依次为系统总控、龙门分拣机器人模型、RGV运料小车模型、开料裁板锯模型、立体缓存机器人模型、U型封边线模型、打孔机器人模型、终点缓存区模型。
图8 定制家居柔性生产线模型控制系统物理样机Fig.8 Control system physical prototype of flexible production line model for customized home furnishing
以打孔机器人模型为例,总控与具体工段的数据交互效果如图9所示。
图9 打孔机器人模型运行状态Fig.9 Operating status of punching robot model
图 9中,在总控设定速比下,打孔机器人模型的伺服电机连续运转并反馈电机运行状态,在总控中输入打孔零件参数,则在分机界面中正确接收此信息并显示;在分机中改变的榫孔个数和加工面位置信息则正确传递给总控。同理,在其他 6个工段主机和总控之间进行数据交互试验,结果表明数据信息交互正确率为100%,且可满足5 Hz的生产工艺要求。以U型封边线模型为例,总控发出200 ms脉冲,并从1开始计数至1 000;U型封边线模型控制器接受此脉冲值,从1开始计数至1 000,表明所建数据交互模型在5 Hz的采样频率下不存在数据丢失的问题。
3.2.2 数据信息采集
基于所建数据交互模型,进行数据信息的采集,以立体缓存机器人、U型封边线和打孔机器人为例,出于篇幅考虑,只列出了部分数据如表5所示。表5中,节点名称对应工段类对象的属性;节点地址对应工段主机Modbus寄存器地址;节点数据为实时采样值。由此可见,各工段通过Modbus TCP/IP协议连接到整个系统中,实现了硬件总线接口的统一。
表5 数据信息采集列表(部分)Table 5 List of collected data (Part)
本文以板式定制家居柔性化生产线为例,研究数据信息交互模型,主要结论如下。
1)采用面向对象的设计思路,建立了工段类模型和基于Modbus TCP/IP协议的数据信息交互模型,实现了不同生产工段间的信息流转和多种控制系统之间的数据交互;针对不同的工艺要求,该交互模型易于扩展和移植,数据传输和交互易于实现。
2)具体应用效果表明,基于Modbus TCP/IP协议和数据交互模型的定制定居柔性化生产线模型总控和各工段间数据传输稳定,在5 Hz的采样和交互频率下数据不丢失,传输正确率达到了100%,满足板式定制家居柔性化生产线的工艺需求。