CN113965608A - 一种数控设备数据收集及指令下发系统 - Google Patents
一种数控设备数据收集及指令下发系统 Download PDFInfo
- Publication number
- CN113965608A CN113965608A CN202111018881.6A CN202111018881A CN113965608A CN 113965608 A CN113965608 A CN 113965608A CN 202111018881 A CN202111018881 A CN 202111018881A CN 113965608 A CN113965608 A CN 113965608A
- Authority
- CN
- China
- Prior art keywords
- data
- numerical control
- control equipment
- adapter
- metadata
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013480 data collection Methods 0.000 title claims abstract description 14
- 238000004519 manufacturing process Methods 0.000 claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 41
- 230000008569 process Effects 0.000 claims abstract description 31
- 238000004806 packaging method and process Methods 0.000 claims abstract description 6
- 239000003795 chemical substances by application Substances 0.000 claims description 96
- 238000004891 communication Methods 0.000 claims description 39
- 239000000872 buffer Substances 0.000 claims description 27
- 230000004044 response Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 10
- 230000003993 interaction Effects 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 claims description 6
- 238000013500 data storage Methods 0.000 claims description 5
- 230000005012 migration Effects 0.000 claims description 4
- 238000013508 migration Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 14
- 238000003860 storage Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000002688 persistence Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种数控设备数据收集及指令下发系统,包括适配器集群、代理器集群及云平台;适配器通过元数据请求接口向代理器进行请求获取数控设备的元数据;基于元数据调用嵌入式进程收集与其直接相连的数控设备生产的数据,将数控设备生产数据进行统一格式封装后序列化,通过数控设备生产数据发送接口传输到代理器中;代理器收集适配器发送的数控设备生成数据并进行处理,同时进行数控设备的元数据的下发;云平台接收操作员下发的设备指令,完成数控设备寻址后,发送数控设备执行指令给适配器集群,并对元数据和数控设备生产数据进行缓存或存储;该系统具有可靠性、有效性及低资源开销并能在多种设备上进行多种类数据收集。
Description
技术领域
本发明涉及智能数控机床技术领域,尤其涉及一种数控设备数据收集及指令下发系统。
背景技术
随着数控设备集团化、规模化等指导方向的提出,伴随着共给侧改革等措施的有力推进。在某工厂厂区,可能完成整条产业链的生产,这也就意味着在工厂中运行的设备种类繁多,同时彼此关联。工业数控设备分别由多家厂商提供,导致其产生的数据格式互不相同,并且不同设备的数据需求也不尽相同。因此将产业链上不同设备有机结合成为需要解决的难题之一。
现有主流数控设备收集及指令下发技术以MT-Connect协议和OPC UA协议为主。
MT-Connect协议是由与制造业相关的数据字典进行描述的数据和信息交换标准。其支持的通信模型为请求/响应模型与发布/订阅模型。上位机与设备进行通信时,采取请求/响应模式,由设备与适配器作为发布者,代理设备作为交换中间件,服务器集群通过订阅代理设备主题接收数据。代理设备支持基于HTTP协议,其通信采取restful接口,通过该接口对设备进行数据请求。其请求正文部分由XML格式的文本数据组成。由于历史原因,XML数据有效信息比率不高,网络IO资源消耗大,并且数据的序列化与反序列化对边缘设备性能提出一定要求。
OPC UA协议,数控设备关系通过相互引用进行描述,其没有明文限制对象循环引用,导致极端情况下的数据解析较为困难。协议设计之初并没有考虑分布式部署问题,导致工厂大规模部署成本高、组织结构复杂、理解难度大。协议使用的基础通信协议较为落后,导致了通信性能差距及通信行为冗杂。大量历史问题,导致在云原生、微服务时代其开发性能及表现较差。
发明内容
本发明针对现有技术中存在的技术问题,提供一种数控设备数据收集及指令下发系统,完成设备通信的服务发现与通信组件的高效实现,为上层应用提供基础数据服务。
根据本发明的第一方面,提供了一种数控设备数据收集及指令下发系统,包括:适配器集群、代理器集群及云平台;所述适配器集群中包含多个适配器,所述代理器集群中包含多个代理器;
各个所述适配器与各个数控设备直接连接,与所述代理器通过网络通信连接;所述代理器集群与所述数据存储单元直接相连;所述适配器与所述代理器之间通信的接口包括元数据请求接口和数控设备生产数据发送接口;
所述适配器通过所述元数据请求接口向所述代理器进行请求获取所述数控设备的元数据,所述元数据描述了数控设备与组件、数据源的层级关系,并定义了数控设备产生的字段名、单位及数据类型;基于所述元数据调用嵌入式进程收集与其直接相连的所述数控设备生产的数据,将数控设备生产数据进行统一格式封装后序列化,通过所述数控设备生产数据发送接口传输到所述代理器中;
所述代理器收集所述适配器发送的所述数控设备生成数据并进行处理,同时进行所述数控设备的元数据的下发;
所述云平台接收操作员下发的设备指令,完成数控设备寻址后,发送数控设备执行指令给所述适配器集群,并对所述元数据和数控设备生产数据进行缓存或存储。
在上述技术方案的基础上,本发明还可以作出如下改进。
可选的,所述适配器通过所述数控设备生产数据发送接口发送给所述代理器的数据包括:所述数控设备生产数据的适配器ID、设备ID、组件ID、数据项ID、unix标准时间毫秒级时间戳以及载荷;
所述适配器通过所述元数据请求接口向所述代理器进行请求时发送的请求为元数据ID。
可选的,所述适配器与所述代理器之间通信的接口还包括认证接口、订阅接口和数控设备数据发送接口;
所述适配器通过所述认证接口向所述代理器发送账号密码进行认证,所述代理器通过所述认证接口认证返回结果;
所述适配器集群通过所述订阅接口向所述代理器集群发送包含订阅操作的流式请求信息,所述代理器集群通过所述订阅接口向所述适配器发布包含推送消息的响应信息;
所述适配器通过所述数控设备数据发送接口发送给所述代理器的数据包括:除所述数控设备生产数据外的所有数据的消息类型、unix标准时间毫秒级时间戳以及载荷。
可选的,所述适配器的处理包括:
运行初始化,将相应模块加载至内存中;
读取配置文件,获取运行基本信息;
根据设备基本信息获取所述数控设备的元数据;
启动负责与所述数控设备通信的嵌入式进程,建立与该嵌入式进程通信信道;
识别所述数控设备生产数据所属设备、组件及数据项;
对二进制格式的所述数控设备生产数据进行划分并统一格式化;
对所述统一格式化后的所述数控设备生产数据进行序列化,等待数据传输。
可选的,所述适配器为所述数控设备生产数据提供路由服务并周期性的开辟新的数据缓冲区与原有数据缓冲区进行交换。
可选的,所述适配器对所述数控设备生产数据进行缓存和释放包括:
根据所述元数据为各组件及其对应的数据项开辟数据缓冲区;
收集到所述数控设备生产数据后写入对应数据缓冲区;如果未找到该对应数据缓冲区,进行错误日志输出;
为各数据缓冲区配置一个定时器,放入时间堆;
所述定时器周期性触发所述数控设备生产数据上传;
生成新的数据缓冲区,将数据缓冲区与该新的数据缓冲区进行原子交换;
检查所述元数据是否有效,有效时按照统一格式格式化所述数控设备生产数据;
序列化所述数控设备生产数据后写入信道。
可选的,所述元数据为树状数据结构,支持设备动态迁移及调整;所述适配器根据对应的所述元数据进行数控设备标识,根据标识生成数控设备实例,所述设备实例包括:适配器对象、设备对象和组件对象;
所述适配器对象由适配器ID、名称、适配器类型、摘要注释、运行时监控的设备ID以及由用户自定义的设备配置组成;所述适配器访问所述元数据时,通过进程唯一的设备哈希表进行查询;如果所述设备哈希表中没有对应键值对,那么所述代理器发起查询请求,并将请求结果写入所述设备哈希表中;
所述设备对象由设备ID、名称、设备类型、摘要注释、设备组、设备组件ID、设备组件配置、数据采集所使用的数据项组成;所述设备对象标识了该数控设备会产生的数据的具体类型与结构;
所述组件对象由组件ID、名称、组件类型、摘要注释、数据信息对象组成;所述组件为协议中划分的最小独立存在结点,所述组件对象记录了该组件会采集得到的数据类型以及采集周期。
可选的,所述系统为所述代理器集群与适配器集群之间的交互提供负载均衡与容错机制。
本发明提供的一种数控设备数据收集及指令下发系统,从工业互联网研究现状及实际工作场景出发,对工厂数控设备运行产生数据类型及智能工厂进行研究并提出了适用于NC-Link协议的元数据。元数据由proto3进行定义,并生成相应多开发平台接口。其描述数控设备与组件、数据源的层级关系,并定义了设备产生的字段名、单位及数据类型。
研究并开发各角色的通信接口及适配器对于元数据的处理及应用。其按层级解析元数据,根据元数据启动相应组件与数据项的数据处理、解析与收集工作。其向上屏蔽底层数据类型差异,使得其能够适用于产生多种数据编码的设备之上。向下屏蔽数据通信细节,为设备提供基础的控制及通信服务,完成智能工厂需求。
当某数控设备零件发生损坏,被替换上备用件。用户操作云平台,由集群负责数据下发,适配器解析后更新元数据,从而支持设备的动态变更,并提供持久化存储。
数控设备通过代理器接入集群,集群统一维护设备路由信息。云平台根据用户指令生成相应设备的控制指令,路由至适配器。由适配器向数控设备发送指令数据。
附图说明
图1是本发明实施例所提供的一种数控设备数据收集及指令下发系统的结构示意图;
图2是本发明实施例所提供的一种数控设备数据收集及指令下发系统中各模块交互示意图;
图3是本发明实施例所提供的一种数控设备元数据结构示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
本发明提供的一种数控设备数据收集及指令下发系统采取层级体系结构设计,使用分层的设计思想,使得各层级内部实现做到高内聚低耦合。如图1所示为本发明提供的一种数控设备数据收集及指令下发系统的结构示意图,如图1所示,该系统分别由设备层、适配器层、代理层及应用开发层组成。以dubbo-go协议作为基础协议提供服务。
设备层为数控机床等工业设备及边缘设备组成,一般会由其生产厂商定义的数据格式及通信规范,并且支持原生设备硬件开发,通过硬件终端或者RS232串口等协议进行通信。
适配层需要向上层屏蔽设备自定义协议差异,数据组织方法采取自定义数控模型。此外,适配器层需要完成分布式并发、设备路由及命名服务、设备运行状态监控、服务注册及发现和边缘设备互联通信等功能。
代理层,代理收集NC-Link协议适配层所发送数据,并为数控设备通信提供路由转发。代理需要完成服务降级、流量路由、数据持久化及数据洪泛监控等功能。
应用层,负责数据处理及存储,提供web端用以数据展示、设备行为操作及设备控制,并为数据分析及智能控制提供数据访问方法,例如制造执行应用系统、企业资源计划应用系统及大数据分析平台。
基础服务层,由dubbo-go等协议组成,其提供命名服务、路由、服务发现、安全认证及运行监控NC-Link交互信息模型。
云平台负载数据存储及缓存。
数据库存储。数据库存储设计采取数据库客户端实现读写分离及负载均衡,数据库代理可选实现数据库分片,分片键建议使用设备deviceID。代理端实现了数据库读写分离。
代理需要完成数据持久化。数据库组件由链接池管理链接。在完成数据库认证及基本信息后,复用数据库链接。数据库驱动实现读写分离,提高数据并发度。同时ID设计考虑以后数据库分片拓展,数据库分片应由数据库代理进行实现分布式消息存储。
基于Topic的消息队列。一般采用Kafka或者Rocket MQ进行存储。为支持分布式多机拓展,topic消息应当存储在消息队列。对于代理器与代理器点对点发送消息。一般行为为:发送方向接收方所订阅topic发送消息,消息中声明接收者。适配器向代理器订阅,代理订阅该topic。代理在收到来自于消息队列消息后,启动协程,由该协程在该topic对应维护的订阅中检查是否有目的适配器存在,不存在则抛弃。如果存在或多播,那么向负责维护该代理器订阅的协程写入数据。由该协程下发数据。
命名服务。解决服务公开、发现及加密认证问题。为代理数据处理、格式转换、转发提供可信认证、服务发现、及keepalive等功能。为通信双方屏蔽底层具体实现协议及通信模式,最终实现更换底层通信协议后,上层代码无需额外逻辑处理。此外该部分通过对命名服务体系结构及调用链路的梳理,阐明调用者与被调用者统一抽象接口的具体方式、适配器对于代理器的调用过程以及负载均衡算法与容错机制的嵌入。
具体的,该系统包括:适配器集群、代理器集群及云平台;适配器集群中包含多个适配器,代理器集群中包含多个代理器。
各个适配器与各个数控设备直接连接,与代理器通过网络通信连接;代理器集群与数据存储单元直接相连;适配器与代理器之间通信的接口包括元数据请求接口和数控设备生产数据发送接口。
可以理解的是,具体实施中适配器集群、代理器集群及数据存储单元相互之间连接和通信方式可以为:代理器集群与适配器集群通过网络基础设施相连进行通信,其中数控设备与适配器集群通常采取RS232等串口协议进行通信,适配器集群与代理器集群通常采用基于HTTP2.0协议的gRPC协议进行通信,代理器集群与云平台通常通过原生TCP和数据帧、HTTP协议或者Redission等协议进行通信。
适配器通过元数据请求接口向代理器进行请求获取数控设备的元数据,元数据描述了数控设备与组件、数据源的层级关系,并定义了数控设备产生的字段名、单位及数据类型;基于元数据调用嵌入式进程收集与其直接相连的数控设备生产的数据,将数控设备生产数据进行统一格式封装后序列化,通过数控设备生产数据发送接口传输到代理器中。
代理器收集适配器发送的数控设备生成数据并进行处理,同时进行数控设备的元数据的下发。
云平台接收操作员下发的设备指令,完成数控设备寻址后,发送数控设备执行指令给适配器集群,并对元数据和数控设备生产数据进行缓存或存储。
本发明公开了一种数控设备数据收集及指令下发系统,包括代理器集群、适配器集群及云平台,其中代理器集群用于收集适配器集群发送的具有统一格式的设备数据并进行处理;适配器集群向代理器集群进行请求获取设备元数据,然后基于元数据调用嵌入式程序进行原始数据收集,并转换成统一格式后上传。云平台为数据提供持久化服务并对中间消息及数据进行缓存与存储。该系统具有可靠性、有效性及低资源开销并能在多种设备上进行多种类数据收集。
实施例1
本发明提供的实施例1为本发明提供的一种数控设备数据收集及指令下发系统的实施例,如图2所示为本发明实施例所提供的一种数控设备数据收集及指令下发系统中各模块交互示意图,结合图1和图2可知,该实施例包括:适配器集群、代理器集群及云平台;适配器集群中包含多个适配器,代理器集群中包含多个代理器。
各个适配器与各个数控设备直接连接,与代理器通过网络通信连接;代理器集群与数据存储单元直接相连。
可以理解的是,本发明提供一种数控设备数据收集及指令下发系统,允许数据复用底层网络链接,较于传统请求响应模型其支持请求与响应进行多数据帧划分,从而避免信道长阻塞以及实现双向数据流传输。在信道基础上定义服务与接口。适配器与代理器之间通信的接口包括元数据请求接口、数控设备生产数据发送接口、认证接口、订阅接口和数控设备数据发送接口。
在一种可能的实施例方式中,适配器通过认证接口向代理器发送账号密码进行认证,代理器通过认证接口认证返回结果。
认证接口,预先使用简单的账号密码进行认证,其认证返回结果包含基础返回结果,基础返回结果包含为该接口定义的错误码,用于标识服务器异常。
适配器集群通过订阅接口向代理器集群发送包含订阅操作的流式请求信息,代理器集群通过订阅接口向适配器发布包含推送消息的响应信息。
订阅接口为流式请求响应接口。restful over http协议未定义其行为规范。该订阅接口将为上层开发者进行屏蔽底层实现细节。以请求响应模型中流式请求响应作为基础进行封装。其基本设计原理是将订阅操作视为一次请求,将代理器集群主动发布(推送)消息视为响应,与传统响应的主要区别在于响应为流式响应。由代理器集群将事件按序发送,适配器集群根据一定规则处理所收到的消息。对于每次接收到的数据,作为闭包入参,进行执行相应开发者自定义逻辑。
适配器通过数控设备数据发送接口发送给代理器的数据包括:除数控设备生产数据外的所有数据的消息类型、unix标准时间毫秒级时间戳以及载荷。
数控设备数据发送接口为设备运行时主要通信接口。其负责向代理器发送除生产数据外的所有数据,例如代理下发的命令执行情况,其发送数据包含消息类型、unix标准时间毫秒级时间戳以及载荷。数据类型应当为全局统一,其应当在常量中被定义。在服务器端对payloads进行解析即可,payloads为bytes类型,无需额外进行描述,由类型决定payloads的解析方式以及处理方法。理论上不允许代理向适配器发起请求。但类似功能实现一般为代理通过适配器向代理订阅的命令通道下发命令,适配器收到订阅消息后进行解析处理,将处理结果通过调用该接口发送给适配器。
适配器通过数控设备生产数据发送接口发送给代理器的数据包括:数控设备生产数据的适配器ID、设备ID、组件ID、数据项ID、unix标准时间毫秒级时间戳以及载荷。
数控设备生产数据发送接口为设备运行时主要调用接口,其只负责发送数据,其发送数据包含适配器ID、设备ID、组件ID、数据项ID、unix标准时间毫秒级时间戳以及载荷。为了保证向前兼容,载荷并没有强制要求类型为map<string,any>类型(此处any应当为平凡类型),而是允许了json value等值类型的出现。但是由于json value解析困难,并且适配器难以对所有类型数据进行解析。因此希望开发者采取扁平的数据接口,数据类型由数据项ID进行确定。如果对于多组数据可以采取payloads中键名加上下标区分,这也使得数据易于OLTP及OLAP数据库进行持久化以便上层应用进行分析。
适配器通过元数据请求接口向代理器进行请求时发送的请求为元数据ID。
元数据请求接口为适配器向代理请求元数据时调用的接口。请求为元数据ID,其至少有一种元数据类型的ID不为空,元数据类型共有六种。适配器通过加载元数据进行工作。在适配器开始运行时,适配器可用通过环境变量或者其他方式获取设备ID及代理ID,通过这些ID组成的树状结构获取组件ID及其对应的元数据。该接口响应为惰性响应,不主动发送可能需要的元数据。
适配器通过元数据请求接口向代理器进行请求获取数控设备的元数据,元数据描述了数控设备与组件、数据源的层级关系,并定义了数控设备产生的字段名、单位及数据类型;基于元数据调用嵌入式进程收集与其直接相连的数控设备生产的数据,将数控设备生产数据进行统一格式封装后序列化,通过数控设备生产数据发送接口传输到代理器中。
在一种可能的实施例方式中,适配器向代理器进行请求获取数控设备的元数据后,加载元数据;调用流式数据处理器进行数控设备生成数据的读取及划分,将收集到的数控设备生成数据及数据单位和类型收集后上传,具体的,该适配器的处理包括:
运行初始化,将相应模块加载至内存中。
读取配置文件,获取运行基本信息。
根据设备基本信息获取数控设备的元数据。
启动负责与数控设备通信的嵌入式进程,建立与该嵌入式进程通信信道。
识别数控设备生产数据所属设备、组件及数据项。
对二进制格式的数控设备生产数据进行划分并统一格式化。
对统一格式化后的数控设备生产数据进行序列化,等待数据传输。
在一种可能的实施例方式中,适配器为数控设备生产数据提供路由服务并周期性的开辟新的数据缓冲区与原有数据缓冲区进行交换,保证数据原子性。具体的,适配器对数控设备生产数据进行缓存和释放包括:
根据元数据为各组件及其对应的数据项开辟数据缓冲区。
收集到数控设备生产数据后写入对应数据缓冲区;如果未找到该对应数据缓冲区,进行错误日志输出;适配器会进行错误日志记录读取及统计,并发送警告。
为各数据缓冲区配置一个定时器,放入时间堆。
定时器周期性触发数控设备生产数据上传。
生成新的数据缓冲区,将数据缓冲区与该新的数据缓冲区进行原子交换。
检查元数据是否有效,有效时按照统一格式格式化数控设备生产数据。
序列化数控设备生产数据后写入信道。
代理器收集适配器发送的数控设备生成数据并进行处理,同时进行数控设备的元数据的下发。
云平台接收操作员下发的设备指令,完成数控设备寻址后,发送数控设备执行指令给适配器集群,并对元数据和数控设备生产数据进行缓存或存储。
可以理解的是,如图3所示为本发明实施例所提供的一种数控设备元数据结构示意图,结合图3可知,元数据为树状数据结构,支持设备动态迁移及调整;适配器根据对应的元数据进行数控设备标识,根据标识生成数控设备实例,设备实例包括:适配器对象、设备对象和组件对象。
适配器对象由适配器ID、名称、适配器类型、摘要注释、运行时监控的设备ID以及由用户自定义的设备配置组成;由于设备配置文件读取后决定设备启动方式、监控方式以及元数据的交互方式。适配器访问元数据时,通过进程唯一的设备哈希表进行查询;如果设备哈希表中没有对应键值对,那么代理器发起查询请求,并将请求结果写入设备哈希表中。
设备对象由设备ID、名称、设备类型、摘要注释、设备组、设备组件ID、设备组件配置、数据采集所使用的数据项组成;与适配器结构类似,读取组件配置后决定组件启动方式及消息整理方法。其持有的数据项应当为指针持有,每个数据项应当全局唯一。其设备对象标识了该数控设备会产生的数据的具体类型与结构;同样的组件元数据也由一个全局唯一的组件哈希表进行管理。
组件对象由组件ID、名称、组件类型、摘要注释、数据信息对象组成;组件为协议中划分的最小独立存在结点,组件对象记录了该组件会采集得到的数据类型以及采集周期。
所有数据均属于某一组件,组件隶属于某一设备,设备隶属于某一适配器采集。这种关系并不是强关联,而是允许动态迁移。
本发明提供的实施例中,当某组件上一零件发生损坏,被替换上备用件。用户操作云平台,云平台根据设备ID找到其隶属的适配器。云平台产生一条元数据变动消息,其中包含目标代理器ID,随后将该消息发送至消息队列,所有代理均读取该消息,并检查在该代理上订阅topic的适配器中是否存在目标适配器,如果没有则丢弃该消息。如果有,则下发一条元数据变更消息。适配器解析后更新元数据。值得一提的是,云平台会将该变动写入数据库进行持久化。即使该设备离线,重新接入的时候也会获得最新的元数据。至此元数据更新完成。
当零部件维修完成被安装至一台新机器的时候,其产生的数据会有新的设备信息描述。通过合适的处理分析,即可维护曾在不同设备上工作过的同一零件的运行状态及历史记录。
在一种可能的实施例方式中,系统为代理器集群与适配器集群之间的交互提供负载均衡与容错机制。
系统为集群选取了合适的负载均衡与容错机制,给出了几种常见的负载均衡算法,并且根据直连模式设置了较为合适的负载均衡策略。同时参考了主流容错机制的设计与实现,使得系统可以通过配置文件进行重试次数的修改以及失败重试策略的选取,并针对跨机房问题进行了一定优化。提供具有粘性的负载均衡算法,减少底层链接的频繁重置与建立,维护适配器集群与代理器集群的通信状态。并对上层应用透明。该系统选取负载均衡算法的实施例可以包括以下步骤:
S1、获取本次方法名及服务名。以服务名作为键查询是否有缓存的选择器。
S2、计算给出的被调用方元数据的crc32的循环校验和。其计算过程为,将各调用方元数据进行序列化,序列化得到的字节流进行crc32计算。将结果作为哈希码进行比较。
S3、将步骤S1得到的选择器的哈希码与步骤S2得到的哈希码进行比较,如果一致由该选择器给出选择结果,并返回。
S4、如果不一致则检查,选择器中选择的历史被调用方是否存在于当前可调用的被调用方中。如果存在更新选择器哈希值,更新为该被调用方的哈希值。
S5、如果不存在或者选择器不存在,生成一个新的选择器
S6、生成选择器。将各被调用方的ip和端口以及一个均匀哈希偏移量作为键值,计算得到哈希值存入哈希表和变长数组。哈希表的键为计算得到的哈希值,值为对应被调用方。在得到所有被调用方的哈希值以后,对变长数组进行排序,构造哈希环。至此完成选择器生成。
可以理解的是,基于背景技术中的缺陷,本发明实施例提出了一种数控设备数据收集及指令下发系统,从工业互联网研究现状及实际工作场景出发,对工厂数控设备运行产生数据类型及智能工厂进行研究并提出了适用于NC-Link协议的元数据。元数据由proto3进行定义,并生成相应多开发平台接口。其描述数控设备与组件、数据源的层级关系,并定义了设备产生的字段名、单位及数据类型。
研究并开发各角色的通信接口及适配器对于元数据的处理及应用。其按层级解析元数据,根据元数据启动相应组件与数据项的数据处理、解析与收集工作。其向上屏蔽底层数据类型差异,使得其能够适用于产生多种数据编码的设备之上。向下屏蔽数据通信细节,为设备提供基础的控制及通信服务,完成智能工厂需求。
当某数控设备零件发生损坏,被替换上备用件。用户操作云平台,由集群负责数据下发,适配器解析后更新元数据,从而支持设备的动态变更,并提供持久化存储。
数控设备通过代理器接入集群,集群统一维护设备路由信息。云平台根据用户指令生成相应设备的控制指令,路由至适配器。由适配器向数控设备发送指令数据。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (8)
1.一种数控设备数据收集及指令下发系统,其特征在于,所述系统包括:适配器集群、代理器集群及云平台;所述适配器集群中包含多个适配器,所述代理器集群中包含多个代理器;
各个所述适配器与各个数控设备直接连接,与所述代理器通过网络通信连接;所述代理器集群与所述数据存储单元直接相连;所述适配器与所述代理器之间通信的接口包括元数据请求接口和数控设备生产数据发送接口;
所述适配器通过所述元数据请求接口向所述代理器进行请求获取所述数控设备的元数据,所述元数据描述了数控设备与组件、数据源的层级关系,并定义了数控设备产生的字段名、单位及数据类型;基于所述元数据调用嵌入式进程收集与其直接相连的所述数控设备生产的数据,将数控设备生产数据进行统一格式封装后序列化,通过所述数控设备生产数据发送接口传输到所述代理器中;
所述代理器收集所述适配器发送的所述数控设备生成数据并进行处理,同时进行所述数控设备的元数据的下发;
所述云平台接收操作员下发的设备指令,完成数控设备寻址后,发送数控设备执行指令给所述适配器集群,并对所述元数据和数控设备生产数据进行缓存或存储。
2.根据权利要求1所述的系统,其特征在于,所述适配器通过所述数控设备生产数据发送接口发送给所述代理器的数据包括:所述数控设备生产数据的适配器ID、设备ID、组件ID、数据项ID、unix标准时间毫秒级时间戳以及载荷;
所述适配器通过所述元数据请求接口向所述代理器进行请求时发送的请求为元数据ID。
3.根据权利要求1所述的系统,其特征在于,所述适配器与所述代理器之间通信的接口还包括认证接口、订阅接口和数控设备数据发送接口;
所述适配器通过所述认证接口向所述代理器发送账号密码进行认证,所述代理器通过所述认证接口认证返回结果;
所述适配器集群通过所述订阅接口向所述代理器集群发送包含订阅操作的流式请求信息,所述代理器集群通过所述订阅接口向所述适配器发布包含推送消息的响应信息;
所述适配器通过所述数控设备数据发送接口发送给所述代理器的数据包括:除所述数控设备生产数据外的所有数据的消息类型、unix标准时间毫秒级时间戳以及载荷。
4.根据权利要求1所述的系统,其特征在于,所述适配器的处理包括:
运行初始化,将相应模块加载至内存中;
读取配置文件,获取运行基本信息;
根据设备基本信息获取所述数控设备的元数据;
启动负责与所述数控设备通信的嵌入式进程,建立与该嵌入式进程通信信道;
识别所述数控设备生产数据所属设备、组件及数据项;
对二进制格式的所述数控设备生产数据进行划分并统一格式化;
对所述统一格式化后的所述数控设备生产数据进行序列化,等待数据传输。
5.根据权利要求1所述的系统,其特征在于,所述适配器为所述数控设备生产数据提供路由服务并周期性的开辟新的数据缓冲区与原有数据缓冲区进行交换。
6.根据权利要求5所述的系统,其特征在于,所述适配器对所述数控设备生产数据进行缓存和释放包括:
根据所述元数据为各组件及其对应的数据项开辟数据缓冲区;
收集到所述数控设备生产数据后写入对应数据缓冲区;如果未找到该对应数据缓冲区,进行错误日志输出;
为各数据缓冲区配置一个定时器,放入时间堆;
所述定时器周期性触发所述数控设备生产数据上传;
生成新的数据缓冲区,将数据缓冲区与该新的数据缓冲区进行原子交换;
检查所述元数据是否有效,有效时按照统一格式格式化所述数控设备生产数据;
序列化所述数控设备生产数据后写入信道。
7.根据权利要求1所述的系统,其特征在于,所述元数据为树状数据结构,支持设备动态迁移及调整;所述适配器根据对应的所述元数据进行数控设备标识,根据标识生成数控设备实例,所述设备实例包括:适配器对象、设备对象和组件对象;
所述适配器对象由适配器ID、名称、适配器类型、摘要注释、运行时监控的设备ID以及由用户自定义的设备配置组成;所述适配器访问所述元数据时,通过进程唯一的设备哈希表进行查询;如果所述设备哈希表中没有对应键值对,那么所述代理器发起查询请求,并将请求结果写入所述设备哈希表中;
所述设备对象由设备ID、名称、设备类型、摘要注释、设备组、设备组件ID、设备组件配置、数据采集所使用的数据项组成;所述设备对象标识了该数控设备会产生的数据的具体类型与结构;
所述组件对象由组件ID、名称、组件类型、摘要注释、数据信息对象组成;所述组件为协议中划分的最小独立存在结点,所述组件对象记录了该组件会采集得到的数据类型以及采集周期。
8.根据权利要求1所述的系统,其特征在于,所述系统为所述代理器集群与适配器集群之间的交互提供负载均衡与容错机制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111018881.6A CN113965608A (zh) | 2021-08-31 | 2021-08-31 | 一种数控设备数据收集及指令下发系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111018881.6A CN113965608A (zh) | 2021-08-31 | 2021-08-31 | 一种数控设备数据收集及指令下发系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113965608A true CN113965608A (zh) | 2022-01-21 |
Family
ID=79460837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111018881.6A Pending CN113965608A (zh) | 2021-08-31 | 2021-08-31 | 一种数控设备数据收集及指令下发系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113965608A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113766015A (zh) * | 2021-08-23 | 2021-12-07 | 武汉华中数控股份有限公司 | 一种NC-Link层、基于其的通讯系统及方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136776A (zh) * | 2007-07-11 | 2008-03-05 | 中兴通讯股份有限公司 | 性能数据自动化管理系统和方法 |
CN104636329A (zh) * | 2013-11-06 | 2015-05-20 | 北京航天长峰科技工业集团有限公司 | 一种跨平台大规模异构数据的统一管理方法 |
US20150286665A1 (en) * | 2013-02-27 | 2015-10-08 | Hitachi Data Systems Corporation | Multiple collections of user-defined metadata for self-describing objects |
US20170199875A1 (en) * | 2016-01-08 | 2017-07-13 | Microsoft Technology Licensing, Llc | Database operation using metadata of data sources |
CN107766451A (zh) * | 2017-09-26 | 2018-03-06 | 广西电网有限责任公司电力科学研究院 | 一种面向电力大数据的跨数据库关联检索方法 |
CN112416892A (zh) * | 2020-12-10 | 2021-02-26 | 四川警察学院 | 一种应急视频数据云储存系统 |
CN112615935A (zh) * | 2020-12-25 | 2021-04-06 | 武汉华中数控股份有限公司 | 一种终端设备联网参考模型及其交互方法 |
CN112769598A (zh) * | 2020-12-25 | 2021-05-07 | 武汉华中数控股份有限公司 | 一种传输报文模块、网络通信系统及其通信实现方法 |
-
2021
- 2021-08-31 CN CN202111018881.6A patent/CN113965608A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136776A (zh) * | 2007-07-11 | 2008-03-05 | 中兴通讯股份有限公司 | 性能数据自动化管理系统和方法 |
US20150286665A1 (en) * | 2013-02-27 | 2015-10-08 | Hitachi Data Systems Corporation | Multiple collections of user-defined metadata for self-describing objects |
CN104636329A (zh) * | 2013-11-06 | 2015-05-20 | 北京航天长峰科技工业集团有限公司 | 一种跨平台大规模异构数据的统一管理方法 |
US20170199875A1 (en) * | 2016-01-08 | 2017-07-13 | Microsoft Technology Licensing, Llc | Database operation using metadata of data sources |
CN107766451A (zh) * | 2017-09-26 | 2018-03-06 | 广西电网有限责任公司电力科学研究院 | 一种面向电力大数据的跨数据库关联检索方法 |
CN112416892A (zh) * | 2020-12-10 | 2021-02-26 | 四川警察学院 | 一种应急视频数据云储存系统 |
CN112615935A (zh) * | 2020-12-25 | 2021-04-06 | 武汉华中数控股份有限公司 | 一种终端设备联网参考模型及其交互方法 |
CN112769598A (zh) * | 2020-12-25 | 2021-05-07 | 武汉华中数控股份有限公司 | 一种传输报文模块、网络通信系统及其通信实现方法 |
Non-Patent Citations (4)
Title |
---|
中国机床工具工业协会: "NC-Link应用展示区将在CIMT2021 闪亮登场", 世界制造技术与装备市场 * |
李华翔: "NC-Link标准: 助力机床行业数字化转型升级", 世界制造技术与装备市场 * |
江强: "NC-Link 协议设备模型 定义描述与规范检验研究", 中国优秀硕士学位论文全文数据库 * |
路松峰: "NC-Link标准及应用案例", 世界制造技术与装备市场 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113766015A (zh) * | 2021-08-23 | 2021-12-07 | 武汉华中数控股份有限公司 | 一种NC-Link层、基于其的通讯系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109492040B (zh) | 一种适用于数据中心海量短报文数据处理的系统 | |
CN112600891B (zh) | 一种基于信息物理融合的边云协同系统及工作方法 | |
US20060069702A1 (en) | System and method for a data protocol layer and the transfer of data objects using the data protocol layer | |
US20090254601A1 (en) | System for sharing data objects among applications | |
US7769835B2 (en) | Method and system for identifying and conducting inventory of computer assets on a network | |
US20040006652A1 (en) | System event filtering and notification for OPC clients | |
CN104468274A (zh) | 一种集群监控管理方法及系统 | |
CN110008267B (zh) | 一种数据处理的系统及方法 | |
CN111064626B (zh) | 配置更新方法、装置、服务器及可读存储介质 | |
CN113590576A (zh) | 数据库参数调整方法、装置、存储介质以及电子设备 | |
CN111338893A (zh) | 进程日志处理方法、装置、计算机设备以及存储介质 | |
CN111625218B (zh) | 一种自定义库开发的大数据处理方法及系统 | |
CN113965608A (zh) | 一种数控设备数据收集及指令下发系统 | |
CN116346948A (zh) | 一种基于微服务的多协议规约转换方法及系统 | |
CN112817539A (zh) | 一种工业数据存储方法、系统、电子设备及存储介质 | |
WO2023142924A1 (zh) | 电子地图运维方法、电子地图数据使用方法及服务系统 | |
CN113824801B (zh) | 一种智能融合终端统一接入管理组件系统 | |
JP2009032253A (ja) | クライアント・サーバ・アーキテクチャに使用するためのミドルウェア | |
Koprov | Streaming machine generated data via the MQTT sparkplug B protocol for smart factory operations | |
CN113848834B (zh) | 一种基于边云协同的车间设备接入系统及方法 | |
US20040153449A1 (en) | Generic SNMP proxy | |
CN115865680A (zh) | 分布式的设备接入、控制和数据传输的方法及系统、装置 | |
JP2009042995A (ja) | 分散情報流通制御方法及び分散システムとそのサーバ並びにプログラム | |
WO2013121572A1 (ja) | 分散システムにおける異種システムデータ提供方法 | |
CN113765717A (zh) | 一种基于涉密专用计算平台的运维管理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |