CN112799965A - 自动化装备软件的虚拟调试***及其调试方法 - Google Patents
自动化装备软件的虚拟调试***及其调试方法 Download PDFInfo
- Publication number
- CN112799965A CN112799965A CN202110299933.5A CN202110299933A CN112799965A CN 112799965 A CN112799965 A CN 112799965A CN 202110299933 A CN202110299933 A CN 202110299933A CN 112799965 A CN112799965 A CN 112799965A
- Authority
- CN
- China
- Prior art keywords
- virtual
- equipment
- module
- hardware
- debugging
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种自动化装备软件的虚拟调试***及其调试方法,包括:运行在虚拟调试平台上的模块,其包括:分解模块,所述分解模块用于自动化装备的硬件模型的***分解;搭建模块,所述搭建模块用于基于Modelica标准库的装备硬件模型库搭建;标定与验证模块,所述标定与验证模块用于基于Modelica标准库的装备硬件模型库的标定与验证;建立模块,所述建立模块用于虚拟驱动的建立;构造模块,所述构造模块用于虚拟调试场景搭建;可以建立自动化装备的硬件模型与虚拟驱动,构成虚拟调试环境,支撑控制软件的代码调试,从而提高代码调试效率,缩短调试周期。
Description
技术领域
本发明涉及虚拟调试技术领域,具体涉及一种自动化装备软件的虚拟调试***及其调试方法,尤其涉及一种基于Modelica模型的自动化装备软件的虚拟调试***及其调试方法。
背景技术
自动化装备广泛用于工业、农业、军事、科学研究、交通运输、商业、医疗、服务和家庭等方面。采用自动化装备不仅可以把人从繁重的体力劳动、部分脑力劳动以及恶劣、危险的工作环境中解放出来,而且能扩展人的器官功能,极大地提高劳动生产率,增强人类认识世界和改造世界的能力。目前工业领域的自动化装备包括软件与硬件两大部分,软件为自动化控制平台,运行在PC机上,用来控制装备的动作逻辑并接收传感器状态;硬件包括运动控制卡与IO板、执行器与传感器。随着自动化装备的使用场景越来越复杂,对控制软件的要求越来越高,软件的代码行数越来越多,存在更多的潜在错误,相应地调试工作量大大增加,使得交付周期更长。而自动化装备行业的迭代周期很短,开发者有很大的交付压力。
目前软件调试主要基于装备硬件进行,即需要在装备的零件加工、制造、组装完成并运输到实验室后,才能够将软件与硬件连接起来开始进行调试。从结构的设计完成到零部件装配的过程中,存在几周的时间,如果能够充分利用这段时间,提前进行软件的调试,将极大地减少与实际装备连接调试的时间。
若对软件进行离线调试,由于没有硬件设备并且软件逻辑实现的场景复杂,缺少调试环境,很难高效且正确地进行。
若基于硬件进行调试,在装备投放生产线之前,需要有专门的场地与设备;在装备投入使用过程中,如果软件升级,需要停止生产线进行调试,影响生产计划。调试过程中,如果软件代码存在错误,导致硬件设备非正常工作,将可能产生设备损坏甚至人员受伤的风险。
发明内容
为解决上述问题,本发明提供了一种自动化装备软件的虚拟调试***及其调试方法,可以建立自动化装备的硬件模型与虚拟驱动,构成虚拟调试环境,支撑控制软件的代码调试,从而提高代码调试效率,缩短调试周期。
为了克服现有技术中的不足,本发明提供了一种自动化装备软件的虚拟调试***及其调试方法的解决方案,具体如下:
一种自动化装备软件的虚拟调试***,包括:
运行在虚拟调试平台上的模块,其包括:
分解模块,所述分解模块用于自动化装备的硬件模型的***分解;
搭建模块,所述搭建模块用于基于Modelica标准库的装备硬件模型库搭建;
验证模块,所述验证模块用于基于Modelica标准库的装备硬件模型库的验证;
建立模块,所述建立模块用于虚拟驱动的建立;
构造模块,所述构造模块用于虚拟调试场景搭建;
所述验证模块还用于根据自动化装备的硬件模型的***分解与装备硬件模型库搭建,基于给定的测试条件进行仿真分析,测试装备硬件模型库的功能;
所述建立模块还用于模拟出自动化装备的驱动程序和运动控制卡的程序,该模拟出的自动化装备的驱动程序和运动控制卡的程序即虚拟驱动,以此实现控制自动化装备的软件与装备硬件模型库的模型之间的数据交互;
所述构造模块还用于基于具体的所述自动化装备结构,利用装备硬件模型库组件模型作为虚拟的自动化装备的硬件,然后利用虚拟驱动,达成自动化装备的软件与模型间的数据交互,从而完成整个虚拟调试场景的搭建。
所述分解模块还用于基于自动化装备的软件和自动化装备的硬件之间的数据交互,提取出基础的硬件组件,抽象出其功能,从而将自动化装备的硬件模型进行***分解。
所述搭建模块还用于基于自动化装备硬件模型的***分解,根据各个硬件组件的功能特征搭建装备硬件模型库。
所述虚拟调试平台通过4G模块经由4G网中的若干4G网关来与后备平台连接;
所述4G网关包括:
收受模块,用于获得信令;
处置模块,用于认定本信令相应的虚拟驱动的代码数据,还有认定该虚拟驱动的代码数据是不是须经过透传处置,并在认定该虚拟驱动的代码数据须经过透传处置之际,凭借该虚拟驱动的代码数据的传递方向认定用于传递本信令的虚拟链路,这里,该虚拟链路传递信息的方向和该虚拟驱动的代码数据的传递方向相同;
传递模块,用于经由该虚拟链路传递本信令。
一种自动化装备软件的虚拟调试***的调试方法,包括:
步骤1:自动化装备的硬件模型的***分解;
步骤2:基于Modelica标准库的装备硬件模型库搭建;
步骤3:基于Modelica标准库的装备硬件模型库的验证;
步骤4:虚拟驱动的建立;
步骤5:虚拟调试场景搭建;
所述基于Modelica标准库的装备硬件模型库验证的方法,包括:
根据步骤1中自动化装备的硬件模型的***分解与步骤2中装备硬件模型库搭建,基于给定的测试条件进行仿真分析,测试装备硬件模型库的功能;
所述虚拟驱动的建立的方法,包括:
模拟出自动化装备的驱动程序和运动控制卡的程序,该模拟出的自动化装备的驱动程序和运动控制卡的程序即虚拟驱动,以此实现控制自动化装备的软件与装备硬件模型库的模型之间的数据交互;
所述虚拟调试场景搭建的方法,包括:
基于具体的所述自动化装备结构,利用装备硬件模型库组件模型作为虚拟的自动化装备的硬件,然后利用虚拟驱动,达成自动化装备的软件与模型间的数据交互,从而完成整个虚拟调试场景的搭建。
所述自动化装备的硬件模型的***分解的方法,包括:
基于自动化装备的软件和自动化装备的硬件之间的数据交互,提取出基础的硬件组件,抽象出其功能,从而将自动化装备的硬件模型进行***分解。
所述基于Modelica标准库的装备硬件模型库搭建的方法,包括:
基于自动化装备硬件模型的***分解,根据各个硬件组件的功能特征搭建装备硬件模型库。
虚拟调试平台经由4G模块和4G网中的若干4G网关来把虚拟驱动的代码数据传递给后备平台;
所述虚拟调试平台经由4G模块和4G网中的若干4G网关来把虚拟驱动的代码数据传递给后备平台的方法,包括:
步骤A-1:4G网关获得信令;
步骤A-2:所述4G网关认定本信令相应的虚拟驱动的代码数据;
步骤A-3:在所述虚拟驱动的代码数据须经由透传处置之际,本4G网关凭借该虚拟驱动的代码数据的传递方向认定须用于传递本信令的虚拟链路,且经由该虚拟链路传递本信令。
本发明的有益效果为:
本发明给软件开发人员提供虚拟的装备硬件环境,可基于该环境直观地进行代码的调试和验证,从而提高代码质量。
在硬件制造、组装完成前即可提前进行调试,查找软件代码的缺陷,减少现场调试的时间,从而缩短产品的研发周期。
减少装备的场地占用时间,降低开发成本。
虚拟环境中可搭建极端测试场景,从而规避实际硬件损坏的风险。虚拟环境可用于产品生命周期的多个阶段,如软件升级时,可基于虚拟环境测试新功能,无需暂停生产线。
附图说明
图1是本发明示例的所述自动化装备的实际拓扑结构图。
图2是本发明的所述基于Modelica标准库的装备硬件模型库搭建下的架构图。
图3是本发明示例的所述基于Modelica标准库的装备硬件模型库的验证的测试场景图。
图4是本发明的所述虚拟驱动的建立下的数据交互的原理图。
图5是本发明示例的所述虚拟调试场景搭建的结构图。
图6是本发明的所述自动化装备软件的虚拟调试***的调试方法的部分流程图。
图7是本发明示例的物料通道模型的结构示意图。
图8是本发明示例的伺服电机模型的结构示意图。
图9是本发明示例的步进电机模型的结构示意图。
图10是本发明示例的测试仪表模型的结构示意图。
图11是本发明示例的位置传感器模型的结构示意图。
图12是本发明示例的气缸模型的结构示意图。
具体实施方式
本发明提供一种自动化装备软件的虚拟调试***及其调试方法,即在软件中模拟装备硬件的功能和接口,并与装备软件连接,从而提供装备软件调试的虚拟环境,避免必须基于硬件才能调试代码的弊端。
Modelica目前是工业界广泛使用的建模语言,是一种面向对象的、开源的、非因果的、多物理领域的建模语言,适合建立典型的机电产品的动态模型。使用该语言可方便地构建装备硬件的模型,并开发通信接口与控制软件连接。
下面将结合附图和实施例对本发明做进一步地表示。
如图1-图12所示,自动化装备软件的虚拟调试***,包括:
运行在虚拟调试平台上的模块,其包括:
分解模块,所述分解模块用于自动化装备的硬件模型的***分解;
搭建模块,所述搭建模块用于基于Modelica标准库的装备硬件模型库搭建;
验证模块,所述验证模块用于基于Modelica标准库的装备硬件模型库的验证;
建立模块,所述建立模块用于虚拟驱动的建立;
构造模块,所述构造模块用于虚拟调试场景搭建。所述虚拟调试平台能够是PC机、3G手机或者PDA。
所述分解模块还用于基于自动化装备的软件和自动化装备的硬件之间的数据交互,提取出基础的硬件组件,抽象出其功能,从而将自动化装备的硬件模型进行***分解。
所述搭建模块还用于基于自动化装备硬件模型的***分解,根据各个硬件组件的功能特征搭建装备硬件模型库。
所述验证模块还用于根据自动化装备的硬件模型的***分解与装备硬件模型库搭建,基于给定的测试条件进行仿真分析,测试装备硬件模型库的功能。
所述建立模块还用于模拟出自动化装备的驱动程序和运动控制卡的程序,该模拟出的自动化装备的驱动程序和运动控制卡的程序即虚拟驱动,以此实现控制自动化装备的软件与装备硬件模型库的模型之间的数据交互。
所述构造模块还用于基于具体的所述自动化装备结构,利用装备硬件模型库组件模型作为虚拟的自动化装备的硬件,然后利用虚拟驱动,达成自动化装备的软件与模型间的数据交互,从而完成整个虚拟调试场景的搭建。
一种自动化装备软件的虚拟调试***的调试方法,包括:
步骤1:自动化装备的硬件模型的***分解;
例如,如图1所示,所述自动化装备的软件为自动化控制平台,运行在PC机上,用来控制自动化装备的硬件的动作并接收传感器状态。所述驱动程序位于PC机上,由自动化装备的软件进行调用,用于驱动运动控制卡与测试仪表,并读取相关自动化装备的硬件的状态信息。所述自动化装备的硬件包括运动控制卡、步进电机、物料通道、气缸、伺服电机、位置传感器与测试仪表,位置传感器与运动控制卡连接,步进电机和伺服电机均同运动控制卡连接。
具体而言,所述物料通道中具有步进电机带动的皮带轮所牵引的皮带传送装置,皮带是两个保持有间距的皮带,在皮带旁的设定位置设置有位置传感器,两个皮带间距间的正下方预设位置设置有气缸,所述气缸的活塞杆的顶端设置有伺服电机,伺服电机的输出端与作为旋转机构的转台连接,所述转台的上方设置有测试仪表。
研究发现,自动化装备的软件与自动化装备的硬件之间典型的信号传递过程为:
1)在位置传感器感应到物料到达的时候,将感应到物料到达的信号通过运动控制卡与驱动程序传输至自动化装备的软件中;
2)然后自动化装备的软件通过驱动程序与运动控制卡来发送指令中止步进电机运行,同时还发送指令给运动控制卡使气缸的活塞杆向上顶起物料;
3)当气缸的活塞到达设定位置后反馈的信号通过运动控制卡与驱动程序传输至自动化装备的软件中;
4)然后自动化装备的软件发送指令给运动控制卡来让伺服电机的输出端旋转一个角度,伺服电机的编码器将伺服电机的输出端转动的速度和角度传输至自动化装备的软件中,当角度信号达到了预设的旋转角度的要求,自动化装备的软件通过运动控制卡来发送指令中止伺服电机的运行;
5)自动化装备的软件通过驱动程序发送信号控制测试仪表对物料进行测试并把测试结果通过驱动程序发送给自动化装备的软件。
基于上述自动化装备的软件和自动化装备的硬件之间的数据交互,提取出基础的硬件组件,抽象出其功能,从而将自动化装备的硬件模型进行***分解,包括:
作为硬件组件的步进电机、物料通道、位置传感器、气缸、伺服电机
和测试仪表;
步进电机,其功能包括:用于驱动物料通道的传送带运动,输入为步进电机的目标速度信号,输出为步进电机实际的速度。
物料通道,其功能包括:用于将物料传送至自动化装备内的工作位置,输入为步进电机实际的速度,输出为物料在物料通道上的位置。
位置传感器,其功能包括:用于感应物料的位置并反馈状态,输入为物料位置信号,输出为是否感应到物料的状态信号。
气缸,其功能包括:用于顶升物料,输入为使能信号,输出为气缸的活塞杆顶端是否到达设定位置的状态信号。
伺服电机,其功能包括:用于驱动旋转机构的运动,输入为伺服电机旋转的目标角度和速度信号,输出为伺服电机实际的角度与速度。
测试仪表,其功能包括:用于对物料进行测试并反馈结果,输入为测试使能信号,输出为测试结果状态与测试时间。物料可以是手机屏幕,测试仪表可以是平准仪。测试使能信号作为指令来让测试仪表对物料进行测试。
步骤2:基于Modelica标准库的装备硬件模型库搭建;
基于自动化装备硬件模型的***分解,根据各个硬件组件的功能特征搭建装备硬件模型库。装备硬件模型库中的模型就作为自动化装备的硬件模型。
如上例,如图2所示,装备硬件模型库包含物料通道模型、伺服电机模型、步进电机模型、测试仪表模型、位置传感器模型以及气缸模型库。
进一步的,根据步骤1的自动化装备的硬件模型的***分解,基于Modelica标准库的装备硬件模型库搭建的方法,具体包括:
物料通道,用于将物料传送至自动化装备内的工作位置。如图7所示,基于Modelica标准库搭建物料通道模型的方法,包括:通过Modelica语言打开Modelica标准库选取物料通道模型,设置该物料通道模型的输入为步进电机实际的速度,设置该物料通道模型的输出为作为物料位置信号的位置传感器感应出物料在物料通道上的位置,根据如上例的自动化装备的物料通道的具体要求,在Modelica标准库中选取出对应的积分模块、物料模块位置设定模块和求和模块,再把该物料通道模型的输入与积分模块连接,积分模块和物料模块位置设定模块均同求和模块相连,求和模块与该物料通道模型的输出相连,这样就能通过积分模块对步进电机实际的速度进行积分计算,从而计算得到传送带运动的距离,并把传送带运动的距离传递给求和模块;物料位置设定模块用于设定物料在传送带上的初始位置,将位置信号传递给求和模块;求和模块对传送带运动的距离和物料在传送带上的初始位置求和计算输出为物料在物料通道上的位置信号。物料通道模型能够是Modelica标准库中的方框模型。
伺服电机,用于驱动旋转机构旋转。如图8所示,基于Modelica标准库搭建伺服电机模型的方法,包括:通过Modelica语言打开Modelica标准库选取伺服电机模型,设置该伺服电机模型的输入为伺服电机旋转的目标角度和速度信号,设置该伺服电机模型的输出为伺服电机实际的角度与速度,根据如上例的自动化装备的伺服电机的具体要求,在Modelica标准库中选取出对应的控制模块、逆变模块、电磁力计算模块和转子模块,再把该伺服电机模型的输入与控制模块相连,所述控制模块、逆变模块、电磁力计算模块和转子模块依次顺序相连,所述转子模块与该伺服电机模型的输出相连,这样控制模块基于该伺服电机模型的输入计算并输出脉冲信号,并传递至逆变模块;逆变模块将脉冲信号转换为电信号,并把该电信号传递至电磁力计算模块;电磁力计算模块根据该电信号计算得到转矩,并将转矩信号传递至转子模块;转子模块结合转动惯量这样参数计算输出伺服电机实际的角度与速度。
步进电机,用于驱动物料通道的传送带运动。如图9所示,基于Modelica标准库搭建步进电机模型的方法,包括:通过Modelica语言打开Modelica标准库选取步进电机模型,设置该步进电机模型的输入为步进电机的目标速度信号,设置该步进电机模型的输出为步进电机实际的速度,根据如上例的自动化装备的步进电机的具体要求,在Modelica标准库中选取出对应的控制驱动模块、线圈模块和转子模块,再把该步进电机模型的输入与控制驱动模块,所述制驱动模块、线圈模块和转子模块依次顺序相连,所述转子模块与该步进电机模型的输出相连,这样控制驱动模块将步进电机的目标速度信号转换为电信号,并传递至线圈模块;线圈模块根据该电信号计算得到转矩大小,并将转矩信号传递至转子模块;转子模块根据该转矩大小计算输出步进电机实际的速度。
测试仪表,用于对物料进行测试并反馈结果。如图10所示,基于Modelica标准库搭建测试仪表模型的方法,包括:通过Modelica语言打开Modelica标准库选取测试仪表模型,设置该测试仪表模型的输入为测试使能信号,设置该测试仪表模型的输出为测试结果状态与测试时间,根据如上例的自动化装备的测试仪器的具体要求,在Modelica标准库中选取出对应的测试结果生成模块和时间计算模块,再把该测试仪表模型的输入与测试结果生成模块,所述测试结果生成模块与时间计算模块相连,测试结果生成模块与时间计算模块还与该测试仪表模型的输出相连,这样测试结果生成模块根据测试使能信号来基于设定的测试通过率输出测试结果状态,并将测试结果状态传递至时间计算模块;时间计算模块基于测试结果状态输出不同的测试时间。
位置传感器,用于感知物料的位置并反馈状态。如图11所示,基于Modelica标准库搭建位置传感器模型的方法,包括:通过Modelica语言打开Modelica标准库选取位置传感器模型,设置该位置传感器模型的输入为物料位置信号,设置该位置传感器模型的输出为是否感应到物料的状态信号,根据如上例的自动化装备的位置传感器的具体要求,在Modelica标准库中选取出对应的位置计算模块和传感器位置设定模块,再把该位置传感器模型的输入与位置计算模块相连,所述位置计算模块和传感器位置设定模块相连,所述位置计算模块和传感器位置设定模块还与该位置传感器模型的输出相连,这样物料位置信号传递至位置计算模块;位置计算模块基于传感器位置设定模块传递的传感器位置信号,判断物料是否在传感器的感应范围内,从而输出是否感应到物料的状态信号。
气缸,用于顶升物料。如图12所示,基于Modelica标准库搭建气缸模型的方法,包括:通过Modelica语言打开Modelica标准库选取气缸模型,设置该气缸模型的输入为使能信号,设置该气缸模型的输出为气缸的活塞杆顶端是否到达设定位置的状态信号,根据如上例的自动化装备的气缸的具体要求,在Modelica标准库中选取出对应的气压力计算模块和气缸位置计算模块,该气缸模型的输入与气压力计算模块相连,该气缸模型的输出与气缸位置计算模块相连,气压力计算模块和气缸位置计算模块相连,这样气压力计算模块根据使能信号来基于设定的气压值这样参数输出力信号;活塞位置计算模块基于该力信号,来计算活塞运动的位置,以此输出气缸的活塞杆顶端是否到达设定位置的状态信号。
步骤3:基于Modelica标准库的装备硬件模型库的验证;
其中,由于自动化装备硬件模型的准确性十分重要,因此需要进一步的,所述基于Modelica标准库的装备硬件模型库验证的方法,包括:根据步骤1中自动化装备的硬件模型的***分解与步骤2中装备硬件模型库搭建,基于给定的测试条件进行仿真分析,测试装备硬件模型库的功能。
如上例,如图3所示,仅以步进电机模型、物料通道模型和位置传感器模型的验证为例,测试场景包含步进电机模型、物料通道模型、位置传感器模型。步进电机模型用于驱动皮带轮转动,物料通道模型带动物料运动,传感器模型用于感应物料通道中物料是否到达设定位置。
测试通过设定步进电机模型的目标速度信号,步进电机模型输出步进电机实际的速度值并传递给物料通道模型,物料通道模型基于该转速计算物料在传送带上的位置并输出位置信号给位置传感器模型,位置传感器模型基于该位置信号与其自身的安装位置,判断物料是否到达设定位置,并输出状态信号。如果当物料到达位移传感器安装位置时,位置传感器模型输出的状态信号为1;而其他情况位置传感器模型输出为0,就表示输出结果符合装备硬件模型的步进电机模型、物料通道模型和位置传感器模型的预设功能,基于Modelica标准库的装备硬件模型库的步进电机模型、物料通道模型和位置传感器模型验证完成。
步骤4:虚拟驱动的建立;
用装备硬件模型库替代实际硬件组件后,进一步的,所述虚拟驱动的建立的方法,包括:模拟出自动化装备的驱动程序和运动控制卡的程序,该模拟出的自动化装备的驱动程序和运动控制卡的程序即虚拟驱动,以此实现控制自动化装备的软件与装备硬件模型库的模型之间的数据交互。
如图4所示为建立虚拟驱动的方法,该方法运用有自动化装备的软件、虚拟驱动与共享内存,三者在同一台计算机中。函数1、函数2......函数n表示自动化装备的软件中实现不同功能所编写的多个函数,变量1、变量2......变量n表示共享内存中预定义的多个变量。自动化装备的软件中的各个函数调用虚拟驱动的接口,将控制指令传递至共享内存中或者从共享内存中读取装备硬件模型库的模型的返回结果,n为正整数。
虚拟驱动基于C/C++编写,虚拟驱动的函数接口与实际所述驱动程序保持一致,通过创建共享内存,将自动化装备软件的控制指令写入共享内存中继而发送给自动化装备硬件模型,同时从共享内存中读取装备硬件模型的反馈结果。具体地,如上例所示,自动化装备的软件将伺服电机旋转的目标角度和速度信号,步进电机的目标速度信号,测试仪表的测试使能信号,气缸的使能信号传递至虚拟驱动中;同时虚拟驱动将伺服电机模型实际的角度与速度信号,步进电机模型的实际速度信号,测试仪表模型的测试结果与测试时间信号,位置传感器模型的感应状态信号,气缸模型的状态信号传递至自动化装备软件中。
例如,如下所示的部分虚拟驱动程序示例代码:
1)参数定义,包括原始驱动程序的头文件的引用,共享内存的名称,共享内存的长度,共享内存中变量的定义;
//虚拟驱动程序示例
#include "driver.h" //原始驱动程序的头文件
#define BUF_SIZE 6000
char writeSHMName[] = "writeSHM"; //写入的共享内存的名字
//共享内存中预定义的信号量
struct data{
double var1; //共享内存中的变量1
double var2; //共享内存中的变量2
};
struct data dataWrite;
2)创建共享内存,基于定义的共享内存的名称与内存长度,创建共享内存的文件句柄;
//创建共享内存
HANDLE hMapFile = OpenFileMapping(FILE_MAP_ALL_ACCESS, 0,writeSHMName);
if (hMapFile == NULL)
{
// 创建共享文件句柄
hMapFile = CreateFileMapping(
INVALID_HANDLE_VALUE, // 物理文件句柄
NULL, // 默认安全级别
PAGE_READWRITE, // 可读可写
0, // 高位文件大小
BUF_SIZE, // 低位文件大小
writeSHMName // 共享内存名称
);
}
char *pBufWrite = (char *)MapViewOfFile(
hMapFile, // 共享内存的句柄
FILE_MAP_ALL_ACCESS, // 可读写许可
0,
0,
BUF_SIZE
);
3)基于原驱动程序头文件,对驱动程序的函数进行重构。以伺服电机控制函数为例,自动化装备的软件调用函数ServoMotorDrive并传递形参position和speed,函数ServoMotorDrive将形参的值赋给变量var1与var2,并进行内存拷贝操作,从而将控制信号写入到共享内存中;
//虚拟驱动中将电机控制信号写入共享内存变量var1,var2
void MotorDrive(float position,float MaxSpeed)
{
dataWrite.var1 = positon; //将电机目标位置信号赋值给变量var1
dataWrite.var2 = MaxSpeed; //将电机最大转速信号赋值给变量var2
Memcpy(pBufWrite, &dataWrite, sizeof(dataWrite));
}
步骤5:虚拟调试场景搭建。
其中,进一步的,所述虚拟调试场景搭建的方法,包括:基于具体的所述自动化装备结构,利用装备硬件模型库组件模型作为虚拟的自动化装备的硬件,然后利用虚拟驱动,达成自动化装备的软件与模型间的数据交互,从而完成整个虚拟调试场景的搭建。
其中,自动化装备的软件用于控制自动化装备运行工作。虚拟驱动用于建立控制软件与自动化装备的硬件模型间的接口映射,实现数据交互。自动化装备硬件模型根据装备实际硬件部件的类型,基于装备的实际拓扑结构,利用步骤2搭建的模型库,完成数字化模型搭建。
实际调试场景中,如上例所示,自动化装备的部分硬件模型包含2个工位、2段传送带,每段传送带上各有1个位置传感器,由自动化装备的软件控制传送带的工作。虚拟调试场景搭建工作时,1)自动化装备的软件运行,输出控制指令;
2)控制指令的信号通过虚拟驱动,输入到自动化装备的该部分硬件模型;
3)自动化装备的硬件模型接收到控制指令,步进电机模型运作来开始进行传送工作,物料开始进行运动;
4)当物料运行到指定位置时,位置传感器模型感知到物料到位,并输出结果信号;
5)位置传感器模型输出的结果信号通过虚拟驱动反馈给自动化装备的软件;
6)自动化装备的软件接收到反馈信号,确认完成该条控制指令,控制停止;
7)自动化装备的软件等待实施下一步控制操作。重复上述1)-7)的步骤,直到完成所有的控制操作,虚拟调试结束。
另外,构造的虚拟驱动的代码数据非常重要,但是仅仅存放在虚拟调试平台上常常是不安全的,就会让虚拟调试平台把虚拟驱动的代码数据传递到后备平台内存放,虚拟调试平台能够通过通信单元对后备平台传递虚拟驱动的代码数据。
在4G普遍运用的现在,通信单元普遍是4G模块,而虚拟调试平台就是在4G网中的虚拟调试平台,所述虚拟调试平台通过4G模块经由4G网中的若干4G网关来把虚拟驱动的代码数据传递给后备平台,这样就会出现须把信令传递到虚拟驱动的代码数据传递所在链路上的每个4G网关或这里一些4G网关的要求,就像,链路的呼叫建立、监控、拆除、分布式应用进程所要的数据传递到虚拟驱动的代码数据传递所在链路上的每个4G网关。
目前,能够手动设定链路的后备平台、虚拟调试平台、4G网关信息还有它们使用的链路频宽或者频宽内的时间间隔来执行信令的传递;然而手动设定很耗时耗力,还常常设定有误,在虚拟驱动的代码数据传递出现变动之际亦须手动调换信令的传递链路,回馈效率低下;当前,还能够运用灵活的链路标准找到链路,4G网关之间经由群发的模式,把本4G网关的已有数据朝全部毗邻另外的4G网关群发,以此在各个4G网关上获得链路状况,以此找到链路关联,来传递信令。
然而,虚拟驱动的代码数据传递中止或变动后,须再次经由群发的方式来刷新链路数据,生成新的链路数据,所以,存在延迟,并且群发的开销不小,让能够执行的链路范围被约束;若链路范围不小,那么链路变动之际后群发信息流量很大,使得一般状况下的信令无法快速传递,不利于4G网性能;若经由约束群发频宽的模式来确保一般状况下信令传递频宽的频宽,那么4G网出现变动之际后,辨别链路状态变动之际的群发时长会显著延迟,亦让4G网的性能减弱,所以亟待一流程来防止手动设置频宽的链路和防止4G网关之间执行数据群发。
虚拟调试平台相连着4G模块,虚拟调试平台经由4G模块和4G网中的若干4G网关来把虚拟驱动的代码数据传递给后备平台;
所述虚拟调试平台经由4G模块和4G网中的若干4G网关来把虚拟驱动的代码数据传递给后备平台的方法,包括:
步骤A-1:4G网关获得信令;
步骤A-2:所述4G网关认定本信令相应的虚拟驱动的代码数据;
步骤A-3:在所述虚拟驱动的代码数据须经由透传处置之际,本4G网关凭借该虚拟驱动的代码数据的传递方向认定须用于传递本信令的虚拟链路,且经由该虚拟链路传递本信令,这里,所述虚拟链路传递信息的方向和所述虚拟驱动的代码数据的传递方向相同。
详细而言,所述4G网关在收受到头一4G网关传递的信令或者操作者录入的信令后,能够查询本信令的目的IP址是不是为本4G网关己身,若目的IP址为本4G网关己身,那么能够获得本信令;若目的IP址非本4G网关己身,机上所述信令所相应的虚拟驱动的代码数据须在本4G网关执行透传处置之际,那么能够认定本信令须伴着它所相应的虚拟驱动的代码数据持续传递,那么能够凭借该虚拟驱动的代码数据的传递方向认定须传递本信令的虚拟链路,且经由该虚拟链路传递本信令。
经由虚拟链路传递信令之际,能够把信令组装成一包括目的IP址、端口号和数据字段的信令报文内,这里,目的IP址用于表示所述信令的传递的目标的IP址,所述端口号用于表示所述数据字段里的数据为什么种类的信令,所述数据字段用于表示所述信令的有效数据。就像,信令的种类能够是这几种:链路的呼叫建立、监控、拆除、分布式应用进程,相应地,数据字段具体用于表示链路的呼叫建立的指令、监控的指令、拆除的指令、分布式应用进程的指令。
若信令的目的IP址非本4G网关己身且该虚拟驱动的代码数据无须经由透传处置之际,那么本4G网关能够撤销本信令,且能够逆向传递撤销指令,这样,最开始传递该信令的传递方在收受到该撤销通知消息后,能够执行随后的处置,就像,认定相应的虚拟驱动的代码数据的目的IP址和信令中的目的IP址是不是相同。在这里,上述提到的信令报文中还能够包括最开始传递该信令的传递方的IP址,用于表示所述信令的最开始传递该信令的传递方的IP址。这里,信令报文内亦能够不包含目的IP址,这样,能够径直凭借虚拟驱动的代码数据传递的方向执行数据的中转,这就说明信令的目的IP址就是虚拟驱动的代码数据传递相应的目的IP址,亦就是虚拟调试平台的IP址;若信令报文内包含了目的IP址,那么信令的目的IP址就能够为虚拟驱动的代码数据相应的目的IP址,也能够是虚拟驱动的代码数据传递途经的随意一4G网关。
所述步骤A-2内本4G网关认定本信令相应的虚拟驱动的代码数据,能够包括:
本4G网关凭借在获得信令之际,所述信令所组装成的信令报文中包含的虚拟驱动的代码数据的识别码,认定本信令所相应的虚拟驱动的代码数据,这里,所述虚拟驱动的代码数据的识别码用于表示信令所相应的虚拟驱动的代码数据;
或者本4G网关凭借头一4G网关传递本信令的虚拟链路以及事先设置的虚拟驱动的代码数据与虚拟链路的相应关联,认定本信令相应的虚拟驱动的代码数据。
详细而言,在头一4G网关传递信令之际,在信令报文内能够放进虚拟驱动的代码数据的识别码,用于识别本信令所相应的虚拟驱动的代码数据,这样,本4G网关能够凭借信令包含的识别信息,认定本信令所相应的虚拟驱动的代码数据;在本申请中,上述设计的报文里还能够包括一虚拟驱动的代码数据的识别码,用于表示信令所相应的虚拟驱动的代码数据。
头一4G网关传递信令之际,能够在与虚拟驱动的代码数据相应的虚拟链路中传递本信令,本4G网关在收受到本信令时,能够凭借头一4G网关传递本信令的虚拟链路,认定本信令需所相应的虚拟驱动的代码数据,这里,能够在4G网关中事先设置虚拟链路和虚拟驱动的代码数据的相应关联,就像,能够径直预设传递信令的虚拟链路与信令所相应的虚拟驱动的代码数据的传递链路的相应关联。
所述步骤A-3内经由该须传递本信令的虚拟链路传递本信令能够包括:
把所述信令组装成信令报文内,经由该用于传递本信令的虚拟链路传递该信令报文,这里,该信令报文中不仅包含端口号于数据字段外,还能够包含虚拟驱动的代码数据的识别码,用于表示本信令所相应的虚拟驱动的代码数据。
而怎样认定虚拟驱动的代码数据,本4G网关能够凭借虚拟驱动的代码数据与虚拟链路的相应关联,认定传递本信令的虚拟链路,而后一4G网关能够凭借该类相应关联,认定本信令所相应的虚拟驱动的代码数据;或者,本4G网关能够在本信令所组装成的信令报文中包含虚拟驱动的代码数据的识别码,这样,后一4G网关能够凭借包含的虚拟驱动的代码数据的识别码,而认定信令所相应的虚拟驱动的代码数据。
本信令是经由4G网的频宽传递的。
若4G网关收受到信令,就能够径直朝所述虚拟驱动的代码数据相应的后续的虚拟链路透传所述信令。
所以,经由在获得信令后,认定本信令相应的虚拟驱动的代码数据,并在该虚拟驱动的代码数据须经过透传处置时,凭借该虚拟驱动的代码数据的传递方向认定须传递本信令的虚拟链路,并经由该虚拟链路传递本信令,这里,该虚拟链路传递信息的方向和该虚拟驱动的代码数据的传递方向相同,所以,用于中转的4G网关无须取得点到点的频宽链路数据,能够防止手动设置频宽链路且防止4G网关之间执行数据群发。
所述通信单元是4G模块,而虚拟调试平台就是在4G网中的虚拟调试平台,所述虚拟调试平台通过4G模块经由4G网中的若干4G网关来与后备平台连接;
所述4G网关包括:
收受模块,用于获得信令;
处置模块,用于认定本信令相应的虚拟驱动的代码数据,还有认定该虚拟驱动的代码数据是不是须经过透传处置,并在认定该虚拟驱动的代码数据须经过透传处置之际,凭借该虚拟驱动的代码数据的传递方向认定用于传递本信令的虚拟链路,这里,该虚拟链路传递信息的方向和该虚拟驱动的代码数据的传递方向相同;
传递模块,用于经由该虚拟链路传递本信令。
所述处置模块还用于把本信令组装成包含目的IP址、端口号和数据字段的信令报文内,这里,该目的IP址用于表示本信令的目的IP址,该端口号用于表示本信令的类型,该数据字段用于表示信令的有效数据;
所述传递模块还用于经由该虚拟链路传递组装有本信令的该信令报文。
所述处置模块还用于凭借在获得所述信令时本信令所组装成的信令报文中包含的虚拟驱动的代码数据的识别码,认定本信令相应的虚拟驱动的代码数据,这里,该虚拟驱动的代码数据的识别码用于表示本信令相应的虚拟驱动的代码数据;或凭借头一4G网关传递本信令的虚拟链路以及事先设置的虚拟链路与虚拟驱动的代码数据的相应关联,认定本信令所相应的虚拟驱动的代码数据。
所述处理模块还用于把虚拟驱动的代码数据的识别码组装成将要经由该虚拟链路传递的该信令报文中,用于表示本信令所相应的虚拟驱动的代码数据。
所述处理模块还用于认定本4G网关是不是为本信令的目的IP址,在认定该虚拟驱动的代码数据须经过透传处置且本4G网关非本信令的目的IP址时,凭借该虚拟驱动的代码数据的传递方向认定须传递本信令的虚拟链路。
在获得信令时,本信令所组装成的信令报文中包括最开始传递该信令的传递方的IP址,用于表示本信令的最开始传递该信令的传递方的IP址;
所述处理模块还用于认定本4G网关是不是为本信令的目的IP址,且于认定该虚拟驱动的代码数据无须经过透传处置且本4G网关不是本信令的目的IP址之际,撤销本信令;
所述处理模块还用于在该所述处理模块撤销本信令时,逆向传递撤销指令。
经由在获得信令后,认定本信令相应的虚拟驱动的代码数据,并在该虚拟驱动的代码数据须经过透传处置时,凭借该虚拟驱动的代码数据的传递方向认定须传递本信令的虚拟链路,并经由该虚拟链路传递本信令,这里,该虚拟链路传递信息的方向和该虚拟驱动的代码数据的传递方向相同,所以,用于中转的4G网关无须取得点到点的频宽链路数据,能够防止手动设置频宽链路且防止4G网关之间执行数据群发。
以上以用实施例表示的方式对本发明作了描述,本领域的维修员工应当理解,本公开不限于以上描述的实施例,在不偏离本发明的范围的情况下,能够做出各种变化、改变和替换。
Claims (8)
1.一种自动化装备软件的虚拟调试***,其特征在于,包括:
运行在虚拟调试平台上的模块,其包括:
分解模块,所述分解模块用于自动化装备的硬件模型的***分解;
搭建模块,所述搭建模块用于基于Modelica标准库的装备硬件模型库搭建;
验证模块,所述验证模块用于基于Modelica标准库的装备硬件模型库的验证;
建立模块,所述建立模块用于虚拟驱动的建立;
构造模块,所述构造模块用于虚拟调试场景搭建;
所述验证模块还用于根据自动化装备的硬件模型的***分解与装备硬件模型库搭建,基于给定的测试条件进行仿真分析,测试装备硬件模型库的功能;
所述建立模块还用于模拟出自动化装备的驱动程序和运动控制卡的程序,该模拟出的自动化装备的驱动程序和运动控制卡的程序即虚拟驱动,以此实现控制自动化装备的软件与装备硬件模型库的模型之间的数据交互;
所述构造模块还用于基于具体的所述自动化装备结构,利用装备硬件模型库组件模型作为虚拟的自动化装备的硬件,然后利用虚拟驱动,达成自动化装备的软件与模型间的数据交互,从而完成整个虚拟调试场景的搭建。
2.根据权利要求1所述的自动化装备软件的虚拟调试***,其特征在于,所述分解模块还用于基于自动化装备的软件和自动化装备的硬件之间的数据交互,提取出基础的硬件组件,抽象出其功能,从而将自动化装备的硬件模型进行***分解。
3.根据权利要求1所述的自动化装备软件的虚拟调试***,其特征在于,所述搭建模块还用于基于自动化装备硬件模型的***分解,根据各个硬件组件的功能特征搭建装备硬件模型库。
4.根据权利要求1所述的自动化装备软件的虚拟调试***,其特征在于,所述虚拟调试平台通过4G模块经由4G网中的若干4G网关来与后备平台连接;
所述4G网关包括:
收受模块,用于获得信令;
处置模块,用于认定本信令相应的虚拟驱动的代码数据,还有认定该虚拟驱动的代码数据是不是须经过透传处置,并在认定该虚拟驱动的代码数据须经过透传处置之际,凭借该虚拟驱动的代码数据的传递方向认定用于传递本信令的虚拟链路,这里,该虚拟链路传递信息的方向和该虚拟驱动的代码数据的传递方向相同;
传递模块,用于经由该虚拟链路传递本信令。
5.一种自动化装备软件的虚拟调试***的调试方法,其特征在于,包括:
步骤1:自动化装备的硬件模型的***分解;
步骤2:基于Modelica标准库的装备硬件模型库搭建;
步骤3:基于Modelica标准库的装备硬件模型库的验证;
步骤4:虚拟驱动的建立;
步骤5:虚拟调试场景搭建;
所述基于Modelica标准库的装备硬件模型库验证的方法,包括:
根据步骤1中自动化装备的硬件模型的***分解与步骤2中装备硬件模型库搭建,基于给定的测试条件进行仿真分析,测试装备硬件模型库的功能;
所述虚拟驱动的建立的方法,包括:
模拟出自动化装备的驱动程序和运动控制卡的程序,该模拟出的自动化装备的驱动程序和运动控制卡的程序即虚拟驱动,以此实现控制自动化装备的软件与装备硬件模型库的模型之间的数据交互;
所述虚拟调试场景搭建的方法,包括:
基于具体的所述自动化装备结构,利用装备硬件模型库组件模型作为虚拟的自动化装备的硬件,然后利用虚拟驱动,达成自动化装备的软件与模型间的数据交互,从而完成整个虚拟调试场景的搭建。
6.根据权利要求5所述的自动化装备软件的虚拟调试***的调试方法,其特征在于,所述自动化装备的硬件模型的***分解的方法,包括:
基于自动化装备的软件和自动化装备的硬件之间的数据交互,提取出基础的硬件组件,抽象出其功能,从而将自动化装备的硬件模型进行***分解。
7.根据权利要求5所述的自动化装备软件的虚拟调试***的调试方法,其特征在于,所述基于Modelica标准库的装备硬件模型库搭建的方法,包括:
基于自动化装备硬件模型的***分解,根据各个硬件组件的功能特征搭建装备硬件模型库。
8.根据权利要求5所述的自动化装备软件的虚拟调试***的调试方法,其特征在于,虚拟调试平台经由4G模块和4G网中的若干4G网关来把虚拟驱动的代码数据传递给后备平台;
所述虚拟调试平台经由4G模块和4G网中的若干4G网关来把虚拟驱动的代码数据传递给后备平台的方法,包括:
步骤A-1:4G网关获得信令;
步骤A-2:所述4G网关认定本信令相应的虚拟驱动的代码数据;
步骤A-3:在所述虚拟驱动的代码数据须经由透传处置之际,本4G网关凭借该虚拟驱动的代码数据的传递方向认定须用于传递本信令的虚拟链路,且经由该虚拟链路传递本信令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110299933.5A CN112799965B (zh) | 2021-03-22 | 2021-03-22 | 自动化装备软件的虚拟调试***及其调试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110299933.5A CN112799965B (zh) | 2021-03-22 | 2021-03-22 | 自动化装备软件的虚拟调试***及其调试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112799965A true CN112799965A (zh) | 2021-05-14 |
CN112799965B CN112799965B (zh) | 2021-07-20 |
Family
ID=75817294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110299933.5A Active CN112799965B (zh) | 2021-03-22 | 2021-03-22 | 自动化装备软件的虚拟调试***及其调试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112799965B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113704091A (zh) * | 2021-07-30 | 2021-11-26 | 郑州云海信息技术有限公司 | 一种逻辑代码调试方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207860A (zh) * | 2010-03-31 | 2011-10-05 | 比亚迪股份有限公司 | 一种嵌入式软件开发方法 |
CN104007759A (zh) * | 2014-06-18 | 2014-08-27 | 盛瑞传动股份有限公司 | 自动变速器控制软件的自动测试方法、***和装置 |
CN104765681A (zh) * | 2015-03-18 | 2015-07-08 | 株洲南车时代电气股份有限公司 | 列车传动控制软件自动化测试***及方法 |
CN111103811A (zh) * | 2020-01-20 | 2020-05-05 | 清华大学 | 一种控制***半实物仿真平台 |
-
2021
- 2021-03-22 CN CN202110299933.5A patent/CN112799965B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207860A (zh) * | 2010-03-31 | 2011-10-05 | 比亚迪股份有限公司 | 一种嵌入式软件开发方法 |
CN104007759A (zh) * | 2014-06-18 | 2014-08-27 | 盛瑞传动股份有限公司 | 自动变速器控制软件的自动测试方法、***和装置 |
CN104765681A (zh) * | 2015-03-18 | 2015-07-08 | 株洲南车时代电气股份有限公司 | 列车传动控制软件自动化测试***及方法 |
CN111103811A (zh) * | 2020-01-20 | 2020-05-05 | 清华大学 | 一种控制***半实物仿真平台 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113704091A (zh) * | 2021-07-30 | 2021-11-26 | 郑州云海信息技术有限公司 | 一种逻辑代码调试方法、装置、设备及存储介质 |
CN113704091B (zh) * | 2021-07-30 | 2024-02-09 | 郑州云海信息技术有限公司 | 一种逻辑代码调试方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112799965B (zh) | 2021-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10782668B2 (en) | Development of control applications in augmented reality environment | |
CN111046589B (zh) | 一种智能产线可试验数字孪生体建模方法 | |
US8756041B2 (en) | Industrial simulation using redirected I/O module configurations | |
US20150019191A1 (en) | Industrial simulation using redirected i/o module configurations | |
EP4002189A1 (en) | Industrial network communication emulation | |
CN111797521B (zh) | 一种自动化生产线三维仿真调试及监控方法 | |
US5574637A (en) | Control apparatus for an automated production system workcell | |
US20090132060A1 (en) | Foundation fieldbus simulation system | |
Martins et al. | Shop floor virtualization and industry 4.0 | |
CN112799965B (zh) | 自动化装备软件的虚拟调试***及其调试方法 | |
CN113260935A (zh) | 对模块化技术***进行计算机辅助仿真的方法和设备 | |
CN108762188A (zh) | 基于plc控制的烟花分拣流水线虚拟仿真实验方法及*** | |
CN103608735A (zh) | 仿真***、用于执行仿真的方法、控制***和计算机程序产品 | |
US20140172402A1 (en) | Simulation system, method for carrying out a simulation, guidance system, and computer program product | |
US8170861B2 (en) | Method for distributed hybrid emulation of manufacturing systems | |
CN115840616A (zh) | 一种创建运动副对象的方法、装置及存储介质 | |
CN114019921A (zh) | 基于组合模型的生产线设备控制方法、装置、设备及介质 | |
JP2003162304A (ja) | 設備制御のシミュレーション方法及びその装置 | |
CN111324045B (zh) | 一种仿真及实物结合的产线模拟***及方法 | |
CN103597415A (zh) | 仿真***、用于执行仿真的方法、控制***和计算机程序产品 | |
CN110502433A (zh) | 一种计算机软件技术开发调试*** | |
CN114741293B (zh) | 一种工业控制***的Modbus通信自动化测试方法 | |
Neher et al. | Using game physics engines for hardware-in-the-loop material flow simulations: benefits, requirements and experiences | |
Binnberg et al. | Virtual commissioning: Emulation of a production cell | |
Fält et al. | Emulation of a production cell-Developing a virtual commissioning model in a concurrent environment |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |