i5OS系统上搭建工业互联网的应用
2020-06-10黄云鹰翁师道邱明勇
黄云鹰 翁师道 邱明勇
(1.沈机(上海)智能系统研发设计有限公司 上海市 200433)
(2.沈阳机床(集团)设计研究院有限公司上海分公司 上海市 200433)
很多工业设备只能独立运行,缺乏能够接入的工业互联网平台,也缺乏支持接入平台的模块,无法在设备间的实现协同工作,同时也拒绝了很多在联网情况下才能实现的扩展应用。沈机智能在i5OS系统上针对这些问题开发了和iSesol工业物联网云平台之间联网的基础服务并拓展了联网应用。
1 硬件设备选型
配备采用J1900主板的工控机,安装支持Ethercat现场总线的传感器接入到i5OS工业操作系统,支持各种工业应用APP。
2 软件环境搭建
2.1 部署i5OS工业操作系统
i5OS 就是基于i5运动控制核心技术的智能化操作系统,是基于 Linux系统的Ubuntu发行版进行开发、拥有运动控制核心技术的工业软件操作系统;它将i5运动控制核心技术进行模块化封装,形成标准的API,以软件平台的形式向装备制造业提供运动控制核心技术,帮助用户专注高价值应用开发。
在工控机上安装i5OS系统镜像,然后根据实际的机床型号以及机床类型配置实际的CNC运行模式。为便于开发工业互联网协议栈以及工业APP,在本地开发环境中部署i5OS虚拟机,在开发完成后再部署到实际的工控机中运行。
2.2 实现iPORT基础协议栈
2.2.1 iPORT简介
iPORT作为一套开放的标准协议,需要对其标准及其规范做出一些说明和限制。通过iPORT协议,iSESOL平台可以实现广泛的接入能力,同时对接入的各类设备进行监控和管理。
2.2.2 iPORT组成结构
2.2.2.1 主体
iPORT通信系统由Agent、Adapter和Machine三个基本部分组成。Agent代表服务端,负责与设备端的交互,是应用与设备通信的主要节点,在本案例中部署在工业云平台。Adapter是iPORT的适配器,用于连接Agent和Machine,存在于Machine内,也是需要开发的主要内容之一。Machine指设备端,部署了i5OS工控操作系统的设备。
2.2.2.2 通信流程
在本案例中iPORT采用了直连模式。通信的主要流程:设备认证:设备携带设备信息向iSESOL发送HTTPS请求申请认证。申请成功后获取认证Token和建立MQTT通信连接的用户名和密码以及AES密钥。认证失败后,设备会重新发起认证申请。建立通信连接:在设备认证通过的前提下,通过获取的用户名和密码向iSESOL工业互联网平台申请建立MQTT连接,初始化订阅、启动监听服务。启动心跳机制:发送心跳包,并实时监听心跳状态。心跳异常会重新发起认证申请,保障通信连接的稳定。发布注册消息:向iSESOL工业互联网平台发送设备注册信息,包含认证Token和设备版本信息。接收订阅命令:启动MQTT监听线程,等待处理iSESOL工业互联网平台下发的订阅命令或其他命令。发布采集消息:订阅命令接收成功后,设备按照订阅内容进行数据采集,按要求向iSESOL工业互联网平台发送采集结果。断开连接:设备与MQTT Broker之间连接断开,Broker会将遗言发送给iSESOL工业互联网平台。
2.2.3 协议栈实现
iPORT协议底层是基于MQTT协议的,其通信过程是通过MQTT通信实现的。MQTT包含两个角色,一个是MQTT Client,一个是MQTT Broker。 Client根据消息的处理方式不同分为Producer和Consumer。 Client之间通过Topic向Broker进行发布和订阅,Broker根据Topic进行转发。Client内部都具有一个MQTT Listener的实例,用于发布消息和监听Broker转发过来的消息。
2.2.4 iPORT服务APP
2.2.4.1 http通信模块该模块主要通过http请求和通信,获取建立常连接所需的验证信息并进行文件的上传下载时使用。
2.2.4.2 mqtt通信模块
该模块主要通过调用mqtt通信接口建立常连接进行通信,随时接收服务器发来的命令对机头数据和状态信息进行采集和操控并即时将信息上报至服务器。
2.2.4.3 sqlite数据处理模块该模块主要以库的形式对外提供接口,完成数据库数据的记录,更新,修改和删除操作。在离线情况下确保数据的不丢失。
2.2.4.4 CNC数据处理模块
由于iPORT服务是运行在i5OS操作系统中,所以需要建立和i5OS系统的数据交互通道,转换成iPORT协议定义的数据格式,最终形成报文和iSESOL工业云平台进行交互。CNC数据处理模块处理的数据分为三类:i5CNC数据,i5OS系统数据,用户自定义数据。i5CNC根据i5OS提供的接口进行读写访问。
2.2.4.5 消息处理模块
该模块为APP的核心控制模块,负责各种消息的处理和任务的执行以及数据的采集周期控制,该模块详细功能如下:
(1)初始化APP连接所需各种数据,调用通信库创建长连接;
(2)检测连接状态,在连接异常时不断进行重连尝试;
图1
(3)接收服务器发来的不同消息,对不同消息进行响应;
(4)对传输的消息报文进行加解密;
(5)在程序启动时初始化需记录和采样的数据信息,按照规则向本地数据库中记录采样的数据内容;
(6)对于记录的业务数据进行周期性发送,并在未收到服务器应答的情况下对数据进行重发直至收到服务器回复确认为止;
(7)控制文件上传、下载进程。
3 工业APP开发
在搭建了iPORT通信APP的基础上,可以开发面向行业应用的工业APP,例如实现了一个在线的主轴功率的自适应加工APP。
3.1 自适应加工APP
3.1.1 APP运行环境
所有搭载i5OS系统的机床,主轴需支持采集功率信号,或通过外接ADC模块及传感器采集主轴电压及电流信号。考虑到进给倍率变化对加工表面的影响,在精加工阶段不建议使用该功能,同时使用攻丝功能时不能使用该功能。
3.1.2 背景以及功能简介
通过iSESOL云平台对i5OS系统中的加工过程进行负载监控,对加工过程中的主轴功率数据进行记录、学习,同时调整机床倍率,获得加工中合适的动态倍率,以提高加工效率。
3.1.3 整体功能流程
3.1.3.1 对iSESOL下发的高频采集策略的接收及数据上传
该部分使用已有高频采集策略,不做单独说明,采集标识符采用TRGFDSCLTRM [0]参数,在AON,AOFF,CON,COFF和AINI子程序中分别对TRGFDSCLTRM [0]进行赋值。在高频采集条件中,当TRGFDSCLTRM [0] > 0时进行采集。
由于在最开始时iSESOL端无法获知将要执行的程序名称,因此在高频采集策略中的“target file name”字段,约定使用“anyprogram”,cnc端收到“target file name”字段为“anyprogram”时,在开始采集前不对程序名进行校验。
高频采集的采样通道暂定为:实际功率
在实施自适应加工时,实施自适应加工的程序段,同样要满足采集时的条件,即TRGFDSCLTRM [0] > 0。
3.1.3.2 对iSESOL下发的结果即目标功率及其他信息的接收
iSESOL将要下发的内容通过203报文传入机头,具体的内容包括:
(1)程序名称;
(2)刀具编号;
(3)与刀号对应的目标功率;
在接收到203报文后,cnc向iSESOL发送203以确定接收到学习结果。
3.1.3.3 i5OS本地与iSESOL端APP关于模式201报文的交互
当前在APP端点击进行模式选择后,iSESOL将选择的模式向cnc发送201报文,在i5本地根据201报文内容进行模式判断,准备进行相关操作。如图1所示。
3.1.4 自适应模式
根据模式201报文中的“索引模式”,可以将实时倍率修调的模式分为3种——不干预,单件模式和批量模式,其中批量模式包含“批量学习”和“(批量)优化加工”两个子模式。其中“不干预”为不对倍率进行调整,即FEEDSCALETRIM参数一直为1。
APP在i5OS本地上进行模式选择时,只根据201报文中的“索引模式”对模式进行选择。如在本地没有对应的结果203报文参数时,使FEEDSCALETRIM参数一直为1。
3.1.5 单件模式
当在iSESOL端APP上选择“单件学习”,即使用单件模式。在单件模式中,在程序的单次运行中,结果报文203中的目标功率值会被多次下载(每次覆盖原来的)。在该模式下,iSESOL下发的“高频采集”要求按照一定固定时间间隔将数据上传,并随后更新读取结果203报文中的目标功率及其他内容。
3.1.6 批量模式
批量模式包含“批量学习”和“加工优化”两部分,其中“批量学习”阶段只进行数据的采集及上传;“加工优化”阶段则按照下发的结果203报文中的目标功率(对应程序,对应刀具号)在含有标识的程序段进行倍率调整。
由于取消了在选择模式后iSESOL和i5OS本地的通讯,因此在进行“优化加工”时,并不能保证有对应的结果203报文,这时将倍率调修参数FEEDSCALETRIM置为1,即不对倍率进行调整。
3.1.7 对加工效率的实时调整
目前i5OS上获取实时功率有两种方式,一是直接读取驱动器的负载引脚;二是读取adc卡上电流电压传感器的数值再进行计算,APP根据目标功率,依据一定的算法对倍率进行实时调整。
4 整体部署测试
在安装了i5OS系统的工控机中安装打包好的iPORT通信客户端APP以及自适应加工APP,在APP正确运行后测试和iSESOL平台的网络服务。在iSESOL工业云平台上实时监控i5OS工控系统的运行状态,并测试远程运行自适应加工APP的加工效果。经过多次切削加工的结果为:由于毛坯表面深浅不一,效率提高各有区别,总体在25%左右。
5 结论
在i5OS工业操作系统中成功搭建安装了有连接iSESOL工业互联网平台的客户端APP,为用户提供在线的实时监控功能,并且通过联网服务可以利用云平台的大数据计算能力,在相关应用的支持下提高加工性能,优化加工过程。