彭松,李金贵,郑大元,王恺,刘德昊
(北京奔驰汽车有限公司,北京 101322)
21 世纪,全球制造业正在往智能化和信息化的道上一路狂飙,在这新一轮的工业革命中,发达国家已经投入了大量人力物力进行相关研究,我国必须迎头赶上。制造业在保证安全高效的前提下,最重要的是尽可能地提高自己的产品品质,而保证产品品质的一个重要手段就是生产线的实时监控。由于工业设备的日常运维需要消耗大量的人力,因此工业设备的远程诊断和监控以及数据处理就变得特别重要。如何高效管理生产制造过程中的质量风险和设备风险则成为制造业升级过程中亟需解决的重大问题,由IBM 开发的开源的物联网神器Node-RED 将是解决这一问题的利器。Node-RED 可以通过一种非常简单的编程方式将所涉及的硬件设备与自定义的事件服务连接在一起,它是在Node.js 平台上开发出来的一种在线编辑工具。Node-RED 在快速应用程序的开发方面具有天然优势,它可充当连接事件到动作或传感器到执行器的黏合剂。例如,可以利用Node-RED 监控设备数据的传输情况,当传感器出现故障或者某个传感器数据超出标准范围值后,基于Node-RED 的监控系统可以自动发送邮件或短信提醒相关用户,可以针对需要监控的重要参数实现实时监控的功能。
本文基于Node-RED、PLC、Microsoft SQL Server、Python,搭建了涂装车间汽车制造过程的质量风险管理体系和设备风险管理体系,可以根据个性化需求实现相关事件预警功能,避免由于风险发现不及时造成的损失同时节省人工。本文通过讲解涂装车间车身电泳质量风险和注蜡滑橇清洗设备风险预警体系的搭建来展示Node-RED 在智能制造方面的应用。
本文所设计的质量风险或设备风险预警系统主要由输入、转换、输出3 部分组成,此3 部分内容均可在Node-RED 设计流中体现。输入部分指的是现场传感器(收集数据)和控制器PLC(现场设备型号为西门子的S7-300 PLC);转换部分指在Node-RED 流程里借助Function 等功能节点把相关PLC 传输过来的数据转换成目标信息;输出部分则可以将目标信息及时通知到相关人员或存储至SQL 数据库便于后续调取或利用Python等工具进行二次开发使用。另外,为提高监控系统的稳定性,单独准备了一台服务器并在上面安装了Node-RED、Microsoft SQL Server Management Studio 17和Python 便于监控系统24 小时不间断运行(图1)。
图1 系统组成结构图
西门子S7-300 PLC / ET200S。S7-300 是德国西门子公司制造的的一种可编程序的控制器,即我们说所的PLC。由于S7-300 具备以下优点使其在工业控制领域中成为一种非常经济且能够广泛应用的解决方案,如模块化的结构、便于分布式配置、电磁兼容性强、性价比高等优势, 使得它能够实现简单/高级逻辑控制、人机界面与网络之间进行通信等功能。S7-300 在工业环境中的应用稳定性特点,使其在自动化工业生产线中广泛应用。由于S7-300 一般都在生产线控制柜里面,对于较长的生产线为解决传感器信号衰减的问题一般都在传感器附近安装有西门子ET200S,其相当于S7-300 PLC的远程模块,在该模块上可以安装输入、输出模块便于PLC 接收远程信号或发送指令给远程执行器。
(1)Node-RED 简介及其安装。Node-RED 是构建物联网(IOT,Internet of Things)应用程序的一个强大神器,其可视化“流”编辑器是一种基于“流”的编程工具,它有一个可视化编辑器,允许将节点连接在一起创建流,它能够提供丰富的组件模块,同时支持MQTT、Step7、OPC-UA、TCP 等众多通信协议,功能强大、开发简单,在物联网的开发应用中受到了青睐和关注,众多知名企业的工业产品都已经能够支持使用Node-RED对其制造过程进行相应的开发。
由于Node-RED 是基于Node.js 平台开发出来的,因此Node-RED 的安装首先需要安装Node.js,其次,需要安装cnpm,前面两者完成之后才能安装Node-RED。为了提高系统稳定性,我们专门为车间申请了一台服务器用于运行Node-RED 服务器,根据监控数据的种类及采样频率估算内存和硬盘存储空间,同时给服务器开通了外部访问权限方便相关技术人员接入VPN 后可以进行流程修改等操作。
(2)Microsoft SQL Server 简介及其安装。Microsoft SQL Server 是美国微软公司发布的一个数据库平台,它使用了集成化的商业智能工具,为用户提供了企业级的数据管理功能,同时该数据库能够为结构化数据和关系型数据提供安全稳定的存储功能,另外,它还可以用来进行深度二次开发,其价格、效率、可优化性、技术先进性和技术的可获得性都具有相当的优势。为了在本地电能更加方便访问和使用服务器里的SQL 数据库,作者在本地计算机上安装了DBeaver 通用数据库管理工具,这是一个专门为数据库管理员开发的免费且开源的软件,它支持市场上所有主流的数据库如MySQL、MSSQL、DB2、Oracle 等。
首先,需要确认网关与对应PLC 的接线是否正确,然后在服务器或本地上位机配置PLC 连接属性以及配置该PLC 对应的参数。在PLC 连接属性的配置中,需要进入Node-RED 服务器网页里的PLC 节点连接属性配置界面,根据收集整理的现场PLC 网关及参数信息去连接属性界面里配置PLC 通信协议、PLC 的IP 地址、端口、机架号和卡槽号,同时还要设置PLC 的采样周期(Cycle time)和超时时长(Timeout)等,最后需要给该PLC进行命名;参数配置方面需要在参数列表中根据Node-RED 参数命名规则依次填入相关参数地址和参数名称,该参数名称不得有空格否则在后续跟数据库进行存储时将出现问题还得返回修改。上述PLC 的连接属性和参数属性都配置后就能进行部署,如果信息都填写正确且接线无误,此时在Node-RED 界面上就能看见PLC 与Node-RED 服务器连接成功的Online 标识。需要进行存储的数据需要在数据库先建立相应数据表单并配置相应数据类型,数据库的数据类型要严格按照Node-RED 与PLC 对应的数据格式来配置,不能完全按照PLC 内的数据格式配置,否则,可能出现无法储存数据的故障。数据库的参数名称必须与PLC 参数配置表里的名称完全一样否则,无法储存数据到SQL。Node-RED 服务器也能发送指令到PLC 进行远程控制,比如,能够实现工厂区域照明灯的远程控制等功能。另外,在TCP 协议的基础上可以搭建Linux 服务器进行更加深入的二次开发,如Python、Java 还有C 语言等开发的相关程序。
首先,通过工业自动生产线上相应的传感器检测模块去收集读取相关数据和信息,然后将这些数据和信息通过各种协议的网关传输给PLC,相关PLC 把采集的这些数据或信息实时传输到TCP 网关或MQTT 网关中,同时向服务器平台提供这些数据或信息。服务器平台接收到这些数据或信息后,将立即开始根据我们的预设置进行相应处理整合,整合处理后的数据可以生成各种报表并自动发送给相关人员,可以实现自动监控功能,相关人员也可以通过人机界面进行集中访问。
涂装车间电泳工艺为质量风险高发工艺,稍有问题便达不到戴姆勒质量标准而造成车身报废,成本损失较大。北京奔驰顺义工厂涂装车间的电泳输送设备采用Rodip 旋转浸泡式输送机,车身锁定在电泳滑橇上,电泳滑橇锁定在电泳抱具上,电泳抱具前进过程中需同时翻转经过电泳槽等槽体。由于电泳区域的输送设备和工艺设备多且分别由不同PLC 控制,若白车身电泳安培分钟值不足报警后仅能锁定车身号和滑橇号,很难快速锁定当时与车身对应的电泳抱具号,无法快速找到问题根本原因,查找问题期间可能再次导致其他车身报废。Node-RED 可以同时收集来自不同PLC 的信息并进行整合便于定位问题。经测试,通过采用Node-RED 对电泳过程质量进行监控,可以极大地减少定位故障的时间,解决问题效率显著提高,避免造成更多质量问题。
图2左侧框内显示的为电泳质量监控系统在Node-RED 流程里的输入部分,该部分由不同PLC 节点组成,每个PLC 节点均由连接信息(图3)和变量信息组成(图4)。连接信息需要填写PLC 的信息传输方式、地址、模式、机架号、卡槽号、扫描周期、超时时间和PLC 节点命名。变量信息需要填写变量地址和变量名(该变量名需跟数据库里的变量名完全一样,否则无法存入数据库)。
图2 电泳质量监控Node-RED 流程
图3 连接信息
图4 变量信息
图2中间框内显示的为电泳质量监控系统在Node-RED 流程里的转换部分,该部分由一系列功能节点组成,如连接节点、延时节点、自定义函数节点(图5)等,这些功能节点可以按照用户需求来整理输入部分获取的信息以控制输出结果。其中函数节点内容编辑采用了Java 语言。此处我们在函数模块里面指定了输出内容为车身号、电泳安培分钟值、滑橇号和抱具号。
图5 函数节点
图2右侧红框内显示的为电泳质量监控系统在Node-RED 流程里的输出部分,输出的形式可以是邮件、短信或存入数据库等,存入数据库的数据后续可做二次开发。
涂装车间注蜡滑橇底部积蜡较多时,容易打滑造成设备停机,注蜡滑橇每在线上走一圈,都要经过注蜡滑橇清洗机并被清洗机沾有溶剂的尼龙毛刷清理滑橇底部的积蜡。新鲜的洗蜡溶剂需要人员经常检查其液位,以确定是否需要更换新溶剂桶,由于负责换溶剂的生产人员不是随时都在溶剂房,洗蜡溶剂更换不及时将造成注蜡滑橇积蜡严重导致滑橇打滑设备故障停线。通过采用Node-RED 对洗蜡溶剂液位进行监控,一旦低于设定液位可以发送邮件或者短信提醒相关人员进行更换,此举取消了人员频繁检查设备,且能及时通知相关人员更换溶剂,提高了管理效率,降低了设备停机风险。特别是针对未接入中控系统的现场设备或无法在中控室进行监控的设备都可以考虑采用Node-RED 进行自定义监控。
通过Node-RED 可以将现场设备产生的大量数据进行自定义采集到自己的数据库,然后再将这些数据进行二次开发。数据库的二次开发方案太多,此处仅举两个例子,比如,我们结合Python、Node-RED 和SQL实现了能源计量数据自动上传公司SFM(Shop Floor digital Meeting)系统生成每日能源报表让公司领导掌握每日公司能耗情况,解决了人工不能同时抄表的问题,同时还节省了人员将这些数据录入系统的工时;比如,我们结合Python、Node-RED、SQL 和钉钉实现了将环保设备排放预警信息自动发送到钉钉群里通知相关人员提前查找原因,避免造成环保排放真的超标。
工业制造过程中的质量风险和设备风险是严重影响生产成本和生产效率的重要因素,本文通过Node-RED对现场联网设备实现了相关参数监控,建立了相关设备质量风险和设备风险监控体系,解决了中控系统无法实现或不方便实现的自定义监控功能。物联网神器Node-RED 的功能强大并有非常广泛的开发空间,希望我国的制造业和IT 技术人才可以对其进行进一步研究,希望我国能够尽快在各行各业完成制造业升级,赢得新一轮工业革命的胜利。