艾杰 罗敏 叶亮亮 杨畅畅
摘 要:设计一款基于云平台的数控机床远程状态监控系统.系统在局域网中通过FOCAS采集机床内部运行状态信息,使用云服务器、边缘控制器和内网穿透技术实现局域网信息上云和PMC程序云监控.实验结果表明,系统可提供远程故障诊断、分析和排查等服务.用户可在便携式设备上,方便地查看机床加工过程的实时状态.
关键词:云平台;远程监控;FOCAS;内网穿透;边缘控制器
[ 中图分类号 ]TP277; TP319; TP274 [ 文献标志码 ] A
Remote Monitoring System of CNC Machine Tools
Based on Cloud Platform
AI Jie,LUO Min*,YE Liangliang,YANG Changchang
(School of Electrical & Information Engineering, Hubei University of Automotive Technology,
Shiyan 442002, China)
Abstract:Design a remote condition monitoring system for CNC machine tools based on cloud platform. The system collects the internal operation status information of machine tools through FOCAS in the LAN, and uses cloud server, edge controller and intranet penetration technology to realize the LAN information on the cloud and PMC program cloud monitoring. The experimental results show that the system can provide remote fault diagnosis, analysis and troubleshooting services. Users can conveniently view the real-time status of machine tool machining process on portable devices.
Key words:cloud platform; remote monitoring; focas; inner network penetration;
edge controller
數控机床作为工业生产中的重要加工设备,其主轴在加工过程中的功率、转速等数据,对刀具切削异常判断、刀具断刀判断、能耗优化研究等方面具有重要指导作用.[1]数控机床加工过程的实时监控是实现加工车间信息化和网络化的关键技术之一.[2]传统数控加工过程由于缺乏有效的实时监控,机床产生碰撞或报警后无法及时通知到位,可能会降低企业生产的效率,造成不必要的经济损失.[3]针对数控设备的信息采集与实时监控,李飞[4]提出基于PLC的生产设备数据采集方案.吴双玉 [5] 等利用传感器和开放式通信接口技术,实现了制造车间设备远程监控系统开发.郑晓虎[6] 等基于MTConnect协议,为不同厂家的设备提供了统一的通信接口,并应用于设备监控.闻帅杰[7] 等基于OPC UA实现了数控装备之间的互联互通.高罗卿[8] 等使用FOCAS实现了大型精密工件在线测量与监控系统的设计,将状态监控、车间设备信息自动化采集与工业互联网、工业云平台相结合,对实现工业数字化、网络化、智能化具有重要意义.本文针对数控机床对智能监控的需求,将云平台技术、内网穿透技术、Web服务器与多线程技术、网页设计技术、消息队列技术和数据库持久化技术结合起来,利用边缘控制器在边缘处理数据,实现数控机床动态能耗、系统参数、位置信息、报警状态和PMC信号等关键状态信息的云监控,用户可在便携式设备上方便地查看机床工作过程及实时状态.
1 系统总体设计
1.1 开发环境
FOCAS是机床与应用程序进行通信的基础,可降低数控系统内部数据采集的成本.FOCAS(FANUC Open CNC API Specifications)位于传输层协议之上,它是计算机用于专门与CNC/PMC做数据交换的接口.FOCAS可在HSSB和以太网进行数据传输,为提高CPU的访问效率,它采用结构体成员四字节对齐的策略,提供fwlibe1.dll和fwlibe64.dll供32或64位应用程序调用.[9]本系统使用Java语言开发了64位服务器应用程序,将其打包成.exe文件放于Windows系统直接运行.服务器程序利用JNA完成FOCAS与Java中的数据类型转换和接口声明工作,最终实现对CK0628数控车床信息的自动化采集.系统以配备FANUC 0i-TD数控系统的CK0628数控车床为监控目标,开发所需硬件为TL-WR842N路由器和研华AMAX-5580信息采集设备.软件为Windows 7 64bit操作系统,JDK 1.8.0_261服务器开发环境,Node.js v14.11.0界面开发环境,Mysql 5.7数据库,RabbitMQ 3.9.7消息队列,Frp 0.34.1内网穿透.
1.2 总体架构
系统设计的总体架构如图1所示,分为感知层、传输层和应用层.[10-12]感知层信息采集硬件设备选择研华工业物联网边缘控制器AMAX-5580,AMAX-5580可运行Windows 7/10 64位操作系统,融合了PLC控制技术与PC信息化技术.它将PLC控制器、PC、网关、运动控制、I/O数据采集、现场总线协议、机器视觉、设备联网等多领域功能集成于同一平台,同时实现设备运动控制、机器视觉、设备预测维护、设备联网、数据分析和优化控制.AMAX-5580可直接对接工业云平台,在边缘侧协同远程工业云平台实现智能生产线控制;传输层选择高速以太网进行数据传输,保证信息的实时性和安全性;应用层使用腾讯云轻量应用服务器作为云存储和云计算的支撑平台,对外提供界面访问、消息缓存和远程PMC程序调试等功能.采集的重要加工信息经过消息队列缓存后被消费者消费,最终存储到Mysql数据库.
1.3 网络结构
系统网络结构如图2所示,机床与边缘控制器所连接的TL-WR842N路由器,通过无线桥接的方式连接到局域网网关,最终接入到互联网.机床路由器在无线桥接的状态下,其DHCP功能必须关闭.边缘控制器、数控机床和机床路由器的IP地址需划分到同一局域网网段,且三者默认网关的IP地址应为局域网网关LAN口的IP地址(一般默认为私有地址192.168.1.1).
信息监控服务器通过权限认证来保证其接口的安全性,与内网穿透软件一起运行在边缘控制器上,内网穿透软件会代理云服务器特定端口的流量并将其转发到监控服务器.Web界面置于云端Nginx服务器之上,用户访问界面时,会产生数据拉取请求,这些请求会被转发给局域网中的信息监控服务器,服务器做出响应,从而实现信息上云.
2 软件设计
2.1 监控服务器设计
监控服务器进行信息采集使用到的主要FOCAS API见表1.FOCAS Library中的接口支持多线程调用,且每一个线程利用cnc_allclibhndl3与机床创建的TCP连接都会被分配一个单独的句柄号,该句柄号会保留到应用程序终止,除非手动释放.此句柄号也只能被获得它的线程使用,其他线程使用会报句柄错误,申请到的句柄在不用时必须释放,否则将无法继续分得句柄.[9]
为提高通信效率,防止服务器频繁地与机床建立、销毁连接,监控服务器创建了线程池,通过cnc_allclibhndl3预先建立线程与机床的TCP连接,利用Java中的ThreadLocal存储线程获取句柄号,让线程池里的线程与机床进行交互,异步完成信息采集任务.此方法可解决FOCAS单线程绑定的问题,防止句柄错误发生,该错误的返回状态码为EW_HANDLE.
监控服务器的工作逻辑如图3所示,信息采集請求分为后台采集请求和用户采集请求.服务器收到开启后台监控的请求后,进行后台信息采集,通过cnc_rddynamic2获取当前正在运行的NC程序,利用字符串处理函数提取NC程序中的进给率、刀具号等工序和工艺参数,联合实际加工信息,一起存储到数据库.采集的时间频率由服务器决定,采集过程不需要客户端界面的参与.服务器收到其他信息获取请求后,进行用户采集.以位置信息为例,通过cnc_rdposition获取位置信息,进行数据处理后以Json数据格式返回.其他信息的获取与位置信息的获取流程类似.客户端界面发起请求的频率决定了信息采集的频率.
2.2 数据持久化方案
数据存储为提高效率,选择消息队列和数据库相结合的方案.后台采集的信息,通过网络传输到云端的消息队列进行缓存,在云端部署消费者对此消息队列进行监听,将缓存的数据消费并存储到数据库中.数据存储表中的主要字段如表2所示.在消费者进行消费时,数据中主轴转速为0时的数据不会被存储.用户可通过这些持久化的数据查看历史加工情况,以便还原或发现切削中的问题.
2.3 图形面板设计
监控服务器的软件界面是使用Vue.js框架设计的一个单页面应用,风格参考数控机床的操作画面.用户登录并连接机床后显示该画面,画面切换使用嵌套路由,可通过点击右侧按钮和画面底部小方块切换画面,类似于机床上的操作.右侧底部扩展面板用于封装一些维护常用的功能,如报警清除、模式切换等功能,这些功能一般需要结合PMC编程一起实现,多使用R寄存器作为控制寄存器.图4为系统画面组成结构,包含了监控系统的所有子页面的分布情况.
3 对接云平台
3.1 云服务器配置
系统采用腾讯云轻量应用服务器作为云计算和云存储的平台.该云服务器以CentOS 7为操作系统,配备双核CPU、4G运行内存和6 Mbps网络带宽.系统使用的所有软件,除frp server,均使用Docker容器化部署.云服务器防火墙主要为Frp server,Mysql,RabbitMQ,Nginx等应用程序,开放对外访问端口,也对局域网监控服务器代理端口和机床以太网TCP连接代理端口开放.
3.2 内网穿透应用
数控机床一般只能在局域网中使用客户端软件进行远程连接,使用的IP地址为私有IP.内网穿透又称NAT穿透,它可以将内网的服务安全地暴露到公网,适用于工业场景.实现内网穿透,可以选择使用公网IP盒子或内网穿透软件,需要公网服务器进行代理.由于边缘控制器的存在,为了节约成本,选用内网穿透软件frp来实现代理,其工作原理如图5所示.
frp分为Client端和Server端,frp client通过token认证连接到frp server.在frp client的frpc.ini配置文件上可配置本地被代理的IP地址、端口号以及云端指定的代理端口,代理端口必须在防火墙中放行.配置完毕后,用户访问云端代理端口的流量会被转发到局域网中被代理的IP和端口,从而实现远程访问.
3.3 PMC程序云监控实现
PMC程序的云监控可大大提高数控机床的远程可维护性,借助内网穿透技术、云服务器和PMC编程软件,可直接代理机床的以太网TCP连接端口,实现PMC程序云监控.直接进行TCP的代理是不安全的,因此,必须使用frp中的stcp(secret tcp)安全地暴露内网服务.[13]stcp以sk为密匙,只有密匙正确才能正常访问,服务只暴露给特定用户,不需要配置防火墙的对外开放端口.使用stcp实现PMC程序云监控分为以下步骤:
(1)客户端上再运行一个frp client,该客户端必须是能运行FANUC LADDER梯形图编程软件的台式或笔记本电脑,用于监控机床的PMC程序.
(2)按照表3所示的基本配置和解释,修改边缘控制器frpc.ini与客户端电脑frp.ini.边缘控制器侧,local_ip为局域网机床的私有IP地址,local_port为该机床在以太网上通信的TCP端口号;客户端侧,bind_addr和bind_port为实际应访问的IP地址和端口号,server_name为注册在frp server中需要访问的stcp代理名.
(3)使用FANUC LADDER III连接到PMC程序,连接的Host为实际应访问的IP地址127.0.0.1,端口号为8193.连接请求会被代理到边缘控制器上的frp client,并最终转发到局域网机床,从而实现PMC梯形图程序的云监控和诊断.
4 系统应用与测试
系统测试机床部分重要状态信息和加工能耗的监控情况.实验结果表明,信息监控显示的信息与机床内部信息一致,能准确反映出机床对应信息的真实情况;能耗监控主要对主轴的实际功率和转速进行实时监测;图表最多显示最近的150条功率数据,可通过点击按钮改变监控状态、跳转历史数据或开启后台监控并存储加工数据.
5 结论
以FOCAS为通信基础,提出一种基于云平台的数控机床远程监控方案.该方案以云平台、内网穿透技术和边缘控制器为主要工具,解决了加工数据无法保存、机床状态诊断受地域因素制约等问题,方案具有以下特点:
(1)使用边缘控制器与云平台相结合,在边缘侧进行信息处理和信息上云,具有可靠性高、操作方便的优点,可实现设备远程维护.
(2)利用FOCAS在以太网上与机床进行通信,可轻松扩展至多台FANUC数控系统设备,节约了实际成本,降低了部署的复杂度.
(3)实现了手机、电脑的多端机床状态云监控信息查看和PMC程序远程监控及调试,提高了设备的远程可维护性.
[参考文献]
[1] 詹晓秋. 基于MTConnect的数控设备数据采集及刀具切削异常检测方法研究[D]. 杭州:浙江大学, 2021.
[2] 王太勇, 乔志峰, 韩志国, 等. 高档数控装备的发展趋势[J]. 中国机械工程, 2011, 22(10): 1247-1252+1259.
[3] 胡辉, 洪忠杰. 数控机床防碰撞及碰撞保护技术研究与应用[J]. 世界制造技术与装备市场, 2022(02): 46-48+51.
[4] 李飞. 基于PLC的生产设备数据采集与远程监控系统设计[J]. 电子技术与软件工程, 2022(06): 223-226.
[5] 吴双玉, 陆艺, 郭斌. 制造车间设备远程监控系统开发[J]. 仪表技术与传感器, 2021(06): 72-76.
[6] 郑晓虎, 刘强, 孙鹏鹏, 等. 基于MTConnect的机床远程多功能监控系统[J]. 组合机床与自动化加工技术, 2018(10): 80-84.
[7] 闻帅杰. 基于OPC UA的数控装备互联互通研究[D]. 重庆:重庆大学, 2020.
[8] 高罗卿, 冒益海, 王晓峰,等. 基于FANUC FOCAS的大型精密工件在線测量与监控系统设计[J]. 制造技术与机床, 2020(08): 122-126.
[9] 北京发那科机电有限公司. FANUC FOCAS1/2 Library[Z].
[10] 黄少华, 郭宇, 查珊珊, 等. 离散车间制造物联网及其关键技术研究与应用综述[J]. 计算机集成制造系统, 2019, 25(02): 284-302.
[11] 张帝, 汪婵, 周小杰, 等. 井下突水监测及预警系统的设计与实现[J]. 牡丹江师范学院学报:自然科学版, 2022 (01): 47-53.
[12] 谭峰, 薛龄季轩, 姜珊, 等. 基于云平台的棚室环境远程监控系统[J]. 牡丹江师范学院学报:自然科学版, 2017 (02): 6-10.
[13] Frp Offical. Frp Docs[EB/OL]. https://gofrp.org/docs/, 2020(10).
编辑:琳莉