一种数控机床系统参数模块注册管理新方法

文档序号:6323012阅读:275来源:国知局
专利名称:一种数控机床系统参数模块注册管理新方法
技术领域
本发明涉及数控机床系统领域,特别涉及系统参数管理技术领域,具体为通过注册方式对参数管理的方法。
背景技术
在现有的技术中,众多类型的数控机床系统最重要的是对加工数据的保护和管理。随着数控系统技术的发展,系统中维护的数据也会不断的改进和增加。如何应对不同类型数据的需求变化;如何对相同类型不同系统版本数据进行的版本控制;如何通过最小的成本来应对频繁需求,这些问题迫切需要一种机制来对参数的管理进行控制。当前的很多数控系统中己存在很多方式对参数管理进行集中控制,很多系统的一个共同特点是将所有的参数声明到一个参数模块中,然后对这唯一的参数模块进行集中管理。这种参数管理方式的缺点是显而易见的(1)参数扩展非常困难;( 随着用户需求的频繁改变,开发人员必须在源文件的大量不同类型的参数中去查找更新,破坏了参数管理模块的封装性,安全隐患也随之出现;(3)随着需求的频繁更改,参数管理模块有可能出现爆炸式增长,这更增加了参数维护工作的困难。

发明内容
为了应对以上参数管理中出现的问题,本发明所要解决,克服现有技术中存在的问题,提供一种对数控系统不同模块参数分类存放集中管理的机制,即通过注册的方式实现对不同的参数管理模块的集中收集和管理。这种方式使参数的维护只需关注具体的参数模块,参数管理模块会提供针对不同参数对象的访问控制接口,通过这些接口我们只需要提供一个参数对象的唯一标示就可以方便的对指定参数对象进行控制。参数管理模块包括两个参与者管理模块和被管理模块。管理模块是一个参数管理组件,提供了以下程序作为接口
1.统一的参数管理接口规范;
2.参数的注册和注销接口;
3.参数的视图接口;
4.参数的更新接口;
5.参数的持久化接口。上述程序1中,统一的接口规范提供被管理模块需要实现的一些方法接口
a)提供唯一的参数模块的名字(用于持久化);
b)提供对本模块参数的收集操作;
c)提供对本模块参数的更新操作;
d)提供对本模块参数的验证操作;
e)提供对本模块参数状态的实时检测;上述程序2中,被管理模块(具体参数模块)会在构造的时候主动调用管理组件的注册接口将自己添加到被管理参数对象容器中,这样的话参数管理组件就拥有了此对象并可以对其生命周期进行控制了,如果对象需要释放,参数管理组件就会通过注销接口执行一系列的释放操作。上述程序3中,参数的视图接口提供了两种参数视图的收集一种是对单个参数模块的视图信息通过参数对象的唯一序列化名字进行收集;一种是集中提供了对所有注册的参数对象进行统一数据视图的收集。上述程序4中,参数的更新接口实现了参数管理模块和界面层的交互,用来收集界面层的更新参数,然后通过接口规范中的“C)”步将更新传递到各个参数模块,并将更新结果回馈到界面层。上述程序5中,参数的持久化接口提供了一个统一的LOadO (装载)、SaveO (贮存)方法以及一个定时器对象。LOadO在系统启动时装载参数文件并更新参数模块;定时器定时的通过接口规范中的“e),,步来检测对象参数的更新,通过接口规范中的“b),,步来收集模块中的最新参数,并将收集到的参数通过saveO写到参数文件中。本发明所述的控制方法,可以方便的应对数控参数的增加、更新和删除。即数控系统中的参数可以嵌入到各自的功能模块中,各功能模块单独的管理自己的参数,如果需要显示,或编辑、或持久化,只需要简单的注册一下就可以了。这种方式降低了参数管理的耦合性,对将来数控参数的扩展提供了方便,另外参数管理模块会在系统注销时将所有的参数保存为一份xML文件,这样对将来的版本控制和参数的灵活配置提供了依据。


图1参数管理模块关系图。
具体实施例方式
为了使本发明实现的技术手段、创作特征、达到目的与功效易于明白了解,下面结合实施,阐述本发明。在数控机床系统中实现不同模块参数的配置管理,提供一种统一的接口规范,让各自模块自行管理自己的参数,参数管理组件需要做的就是按照一定的规则来收集、显示、 更新和持久化参数。通过系统对象的生命周期来具体说明以下实现步骤
1.参数管理模块提供一个统一的接口规范IParameter,包括以下内容
a)唯一序列化名字(serializeName);
b)收集参数的方法(GetParameterO);
c)更新参数的方法(setParameter());
d)验证参数的方法(ValidateO);
e)参数状态标志(IsDirty)。2.被管理参数模块维护自己的一份参数结构体,参数结构体映射参数模块中的具体参数,其目的是为参数管理提供一种统一的结构支持。3.被管理参数模块继承并实现步骤1中的接口规范,其中
a)唯一序列化名字(serializeName)是被管理参数模块自行设定的唯一标识名字;
b)收集参数(GetParameterO)收集模块参数映射成的参数结构体;c)更新参数(setParameterO)更新参数结构体并映射更新模块参;
d)参数验证(ValidateO)提供对当前模块参数的有效性验证操作,验证通过返回 True否则返回False ;
e)参数状态标志(IsDirty)如果参数被更新并且通过验证,标志为True否则标志为 False ;
这样就实现了参数模块自行管理其参数的方法。(见图1) 4.参数注册
实现了以上步骤2、步骤3之后,被管理参数模块需要在对象被构造时自行调用参数管理模块的RegisteHthis)方法将本对象注册到被管理参数对象容器中。5.参数装载
系统启动后,参数模块在调用RegisterO注册自身对象的同时,参数管理组件会自行调用组件中的LoadO方法装载参数文件,参数文件分为两类一是二进制文件,一是xML格式文件,他们是相同数据的不同文件格式,系统启动优先考虑加载二进制文件,如果涉及不同系统参数的迁移操作可以选择加载更加开放式xML格式文件。6.参数显示
参数装载成功后,参数管理组件提供了两个接口获取注册参数的视图信息接口 GetViewO将注册的所有模块参数以一种特定的格式收集起来支持界面层的显示;接口 GetView(string serializeName)通过模块唯一序列化名字来收集指定模块的参数视图信肩、ο7.参数更新
界面的更新通过参数对象的唯一序列化名字来确定参数来源,然后通过被注册对象容器来查找到参数对应的模块,查找到被更改参数所属的参数对象后,参数管理组件首先通过参数模块的GetParameter ()方法备份当前的参数信息,再通过参数名字利用c#特有的反射机制实现对参数结构体对象的更新,之后通过调用参数模块的setParameterO方法实现对实际参数的更新;更新后通过调用参数模块的ValidateO方法来验证有效性,验证成功标志位IsDirty置True并返回True,验证失败则通过setParameter ()方法将备份的参数结构体还原到参数模块中来执行回滚操作,同时返回false。8.参数保存
参数管理模块维护一个结构体字典,用于收集所有的模块对象的参数结构体映像;还维护一个定时器(循环间隔为Is),定时器会定时的遍历被注册参数对象容器,查询各对象的状态标志IsDirty,如果标志为True则证明参数被修改尚未持久化到文件,这时调用参数管理组件的save O方法将被更新的模块参数到文件中并置IsDiry=False,到此运行时参数保存完成。如果被管理的参数模块生命周期结束,即参数调用ImRegisterO方法从参数管理模块中注销掉时,需要再次调用save方法将最后的参数信息持久化到文件,除此之外注销时save ()方法还会保存一份xML格式文档。以下结合具体例子进一步加以说明 系统中有一个参数对象Axis,包含有参数 double PerPulsedouble LowerLimit 参数管理模块对象名ParamManager ; 步骤1.构造参数结构体 Interface I Struct{}
Struct S—AxiS JStruct
{
double PerPulse
double LowerLimit }
步骤2. Axis继承并实现IParameter接口
a)StringName{get(return this. Name ;) }
b)IStructGetParameter()
{
S—Axis axis = new S—Axis (); axis. PerPulse = this. PerPulse; axis. LowerLimit = this. LowerLimit; return axis as IStruct;
}
C)SetParameter(IStruct axis)
{
S_Axis axis = (S_Axis)axis; this. PerPulse—axis. PerPulse;
this. LowerLimit— axis. LowerLimit; }
d)Validate ()
{
Bool ret = OnValidate ()
If (ret)
{
IsDirty = true;
Return true; }
Else
{
Return false ;
ι
步骤3.参数模块构造时注册
a)Pubic Axis (){ParameterManager. Register (this);}
b)注册后,参数管理模块会自动调用Load(IParameter)方法装载当前参数对象文件。
步骤4.参数的显示
a) ParameterManager. GetView ()接口禾口 ParameterManager.
GetView(stringscjrializeName)接口通过参数管理接口规范的 GetParameter ()方法收集参数。b)将收集起来的参数按照一定的显示规则转换为可以支持界面显示的格式。步骤5.参数的更新
a)界面更新参数,传递参数序列化名字、参数名字、参数的新值给参数管理模块 UpdateParameter () 0b)参数管理模块通过唯一序列化名字在被注册参数对象容器中查找到参数对象的引用。c)调用接口规范的GetParameterO将当前结构体参数信息备份成OldValue。d)通过参数对象引用和参数的名字借助c#反射机制更新参数对象的结构体映像的值。e)调用接口规范的ktParameter (newValue)将结构体参数值映射到实际对象参数中。f)调用接口规范ValidateO方法验正新参数的有效性,参数验证成功,置 IsDirty = True,并返回True ;验证失败,直接返回i^alse。g)updateParameter ()接收到接口规范ValidateO的返回值,为True时,更新界面显示(如果要求更高的参数实时控制可以发送异步事件对更新的参数进行持久化操作);为False时调用接口规范ktParamter (oldValue)方法回滚参数结构体参数,并向界面参数发送验证失败信息。步骤6.参数的持久化
h)参数持久化模块维护一个辅助定时器AuxiliaryTimer循环间隔为1秒钟,定时的保存被修改的参数到文件中。i)参数持久化模块如果收到某个对象的参数更新事件,会立即调用saveO方法对当前对象参数进行持久化(针对持久化实时性要求比较高的模块参数)。j)参数持久化模块会定时扫描被注册对象接口规范中的IsDirty的值,如果检测到IsDirty = true时,会立即将此对象参数持久化到文件,然后置IsDirty = false ;如果检测到IsDirty = false跳出此对象检测继续执行后续操作。步骤7参数的注销
a)参数注销是通过 ParameterManager. UnRegister 0 接口或 ParameterManager. unRegister(string serializeName)接口实现的,前面的接口对所有的参数模块执行注销操作;后面的接口提供对指定名字的参数模块执行注销操作。b)注销前参数管理模块会调用saveO方法将被注销对象的参数持久化二进制格式和xML格式文件。c)参数注销成功后,参数管理模块会将此参数对象从被管理参数对象容器中移除,至此参数对象在参数管理模块中的生命周期结束。
权利要求
1.一种数控机床系统参数模块注册管理新方法,其特征在于,参数管理模块包括管理模块和被管理模块,管理模块包括以下程序1)统一的参数管理接口规范;2)参数的注册和注销接口;3)参数的视图接口;4)参数的更新接口;5)参数的持久化接口;所述程序幻被管理模块在构造时主动调用管理组件的注册接口将自己添加到被管理参数对象容器中;参数管理组件拥有其并可对其生命周期进行控制,如果对象需要释放,参数管理组件就会通过注销接口执行一系列的释放操作;所述程序幻参数的视图接口提供两种参数视图的收集一种对单个参数模块的视图信息通过参数对象的唯一序列化名字进行收集;一种为集中提供对所有注册的参数对象进行统一数据视图的收集;所述程序4)参数的更新接口实现参数管理模块和界面层的交互,用来收集界面层的更新参数,然后通过接口规范中的的更新传递到各个参数模块,并将更新结果回馈到界面层;所述程序幻参数的持久化接口提供一个统一的装载、贮存方法和一个定时器。
2.根据权利要求1所述的注册管理方法,其特征在于,所述程序1)提供所述被管理模块需要实现的方法接口a)提供唯一的参数模块的名字;b)提供对本模块参数的收集操作;c)提供对本模块参数的更新操作;d)提供对本模块参数的验证操作;e)提供对本模块参数状态的实时检测。
全文摘要
一种数控机床系统参数模块注册管理新方法,随着数控系统技术的发展,如何应对不同功能类型的数据进行统一管理;本发明所述的方法,提供一种对数控系统不同模块参数分类存放集中管理的机制,即通过注册参数对象的方式实现对不同的参数模块的集中收集和管理。可以方便的应对数控参数的增加、更新和删除。即数控系统中的参数可以嵌入到各自的功能模块中,各功能模块单独的管理自己的参数,如果需要显示或者编辑或者持久化模块参数只需要简单的注册一下就可以了。这种方式降低了参数管理的耦合性,对将来数控参数的扩展提供了方便。
文档编号G05B19/414GK102478835SQ201010554219
公开日2012年5月30日 申请日期2010年11月23日 优先权日2010年11月23日
发明者栾晓健 申请人:大连兆阳软件科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1