用于通过控制程序的程序状态的数据迁移对自动化系统的控制程序进行更新的方法与流程

文档序号:30876456发布日期:2022-07-23 15:19阅读:来源:国知局

技术特征:
1.一种用于通过控制程序的程序状态的数据迁移对自动化系统(100)的控制程序进行更新的方法(200),其中,所述自动化系统(100)的控制器(101)包括第一控制程序(a)和第二控制程序(b),其中,周期地执行所述第一控制程序(a)以控制自动化系统(100),其中,所述第二控制程序(b)是所述第一控制程序(a)的更新,其中,所述第一控制程序(a)包括描述第一控制程序(a)的程序状态并且存储在所述控制器(101)的第一存储区域(spa)中的第一数据类型的第一数据元素(ga),并且其中,所述第二控制程序(b)包括描述第二控制程序(b)的程序状态且存储在第二存储区域(spb)中的第二数据类型的第二数据元素(gb),该方法包括:在第一生成步骤(201)中生成用于将所述第一数据元素(ga)映射到所述第二数据元素(gb)上的第一迁移函数(mig1),在中断步骤(203)中中断第一控制程序(a)的周期执行,在第一确定步骤(205)中确定第一数据元素(ga)的值,其中,第一数据元素(ga)的确定的值描述在所述中断时刻控制程序(a)的程序状态,并且在迁移步骤(207)中通过执行第一迁移函数(mig1)将第一数据元素(ga)的值映射到第二数据元素(gb)上。2.根据权利要求1所述的方法(200),进一步包括:在第一检查步骤(209)中检查第一数据元素(ga)的值是否能够足够精确地映射到第二数据元素(gb)上,其中,如果第一数据元素(ga)的值能够在第二数据类型中表示,则第一数据元素(ga)的值能够足够精确地映射到第二数据元素(gb)上,如果第一数据元素(ga)的值能够映射到第二数据元素(gb)上,则在第一控制步骤(211)中在考虑第二数据元素(gb)的情况下周期地调用第二控制程序(b)并且基于第二控制程序(b)控制自动化系统(100),并且如果第一数据元素(ga)的值不能映射到第二数据元素(gb)上,则在第二控制步骤(213)中在考虑第一数据元素(ga)的情况下继续周期地调用第一控制程序(a)并且基于第一控制程序(a)控制自动化系统(100)。3.根据权利要求1或2所述的方法(200),其中,如果在迁移步骤(207)中第一数据元素(ga)的值到第二数据元素(gb)上的映射超过预定的时间区段,则第一数据元素(ga)的值还不能足够精确地映射到第二数据元素(gb)上。4.根据权利要求1、2或3所述的方法(200),进一步包括:在第二检查步骤(215)中检查是否能够在第一生成步骤(201)中生成第一迁移函数(mig1),并且如果在第一生成步骤(201)中不能生成第一迁移函数(mig1),则在第二控制步骤(213)中在考虑第一数据元素(ga)的情况下继续周期地调用第一控制程序(a)并且基于第一控制程序(a)控制自动化系统(100)。5.根据前述权利要求中任一项所述的方法(200),其中,所述第一迁移函数(mig1)设计成读取所述第一存储区域(spa)中的第一数据类型的数据,将读取的第一数据类型的数据转换成第二数据类型的数据,并且将转换成第二数据类型的数据存储在所述第二存储区域(spb)中,并且其中,所述迁移步骤(207)包括:在第一读取步骤(217)中通过所述第一迁移函数(mig1)读取在第一存储区域(spa)中
的第一数据元素(ga)的存储位置(pga)处的第一数据元素(ga)的值,在第一转换步骤(219)中通过所述第一迁移函数(mig1)将第一数据元素(ga)的值转换成第二数据类型的值,并且在第一写入步骤(221)中通过所述第一迁移函数(mig1)将第一数据元素(ga)的转换成第二数据类型的值写入第二存储区域(spb)中的第二数据元素(gb)的存储位置(pgb)。6.根据前述权利要求中任一项所述的方法,其中,所述第一生成步骤(201)还包括:在第一识别步骤(223)中将第一数据元素(ga)的数据类型识别为第一数据类型并且将第二数据元素(gb)的数据类型识别为第二数据类型,并且其中,所述第一迁移函数(mig1)基于所识别的第一数据类型和所识别的第二数据类型生成。7.根据前述权利要求中任一项所述的方法,其中,所述第一生成步骤(201)还包括:如果第一数据元素(ga)的第一数据类型和第二数据元素(gb)的第二数据类型分别是复合类型,并且如果第一数据元素(ga)包括第三数据类型的至少一个第一数据子元素(ga1)并且第二数据元素(gb)包括第四数据类型的至少一个第二数据子元素(gb1),则在第二识别步骤(225)中将第一数据子元素(ga1)的数据类型识别为第三数据子类型并且将第二数据子元素(gb1)的数据类型识别为第四数据类型,在第二生成步骤(229)中,生成用于基于所识别的第三数据类型、所识别的第四数据类型将第一数据子元素(ga1)映射到第二数据子元素(gb1)上的第二迁移函数(mig2),其中,该第二迁移函数(mig2)设计成读取第一存储区域(spa)中的第三数据类型的数据元素,将所读取的第三数据类型的数据转换成第四数据类型并且将转换成第四数据类型的数据存储在第二存储区域(spb)中。8.根据权利要求7所述的方法,其中,所述迁移步骤(207)包括:在第一部分迁移步骤(231)中,通过所述第一迁移函数(mig1)调用第二迁移函数(mig2)并且执行第二迁移函数(mig2),用于将第一数据子元素(ga1)的值映射到第二数据子元素(gb1)上,并且其中,所述第一部分迁移步骤(231)包括:在第二读取步骤(233)中通过所述第二迁移函数(mig2)读取在第一存储区域(spa)中的第一数据子元素(ga1)的存储位置(pga1)处的第一数据子元素(ga1)的值,在第二转换步骤(235)中通过所述第二迁移函数(mig2)将第一数据子元素(ga1)的值转换成第四数据类型,并且在第二写入步骤(237)中通过所述第二迁移函数(mig2)将第一数据子元素(ga1)的转换成第四数据类型的值写入第二存储区域(spb)中的第二数据子元素(gb)的存储位置(pgb1)。9.根据权利要求7或8所述的方法,其中,所述第一生成步骤(201)还包括:如果第一数据子元素(ga1)的第三数据类型和第二数据子元素(gb1)的第四数据类型是复合类型,并且如果第一数据子元素(ga1)包括第五数据类型的至少一个第一分量(ma)并且第二数据子元素(gb1)包括第六数据类型的至少一个第二分量(mb),则在第四识别步骤(239)中将所述第一分量(ma)的数据类型识别为第五数据类型并且将所述第二分量(mb)的数据类型识别为第六数据类型,并且在第三生成步骤(243)中,生成用于基于所识别的第五数据类型和第六数据类型将第
一分量(ma)映射到第二分量(mb)上的第三迁移函数(mig3),其中,该第三迁移函数(mig3)设计成读取第一存储区域(spa)中的第五数据类型的数据,将所读取的数据转换成第六数据类型并且将转换成第六数据类型(mb)的数据存储在第二存储区域(spb)中。10.根据权利要求9所述的方法,其中,所述迁移步骤(207)包括:在第二部分迁移步骤(245)中通过第二迁移函数(mig2)调用第三迁移函数(mig3)并且执行第三迁移函数(mig3),并且其中,该第二部分迁移步骤(245)包括:在第三读取步骤(247)中通过所述第三迁移函数(mig3)读取在第一存储区域(spa)中的第一分量(ma)的存储位置(pma)处的第一分量(ma)的值,在第三转换步骤(249)中通过所述第三迁移函数(mig3)将第一分量(ma)的值转换成第六数据类型,并且在第三写入步骤(251)中通过所述第三迁移函数(mig3)将第一分量(ma)的转换成第六数据类型的值写入第二存储区域(spb)中的第二分量(mb)的存储位置(pmb)。11.根据前述权利要求7至10中任一项所述的方法,其中,所述第一生成步骤(201)还包括:如果第三数据类型和第四数据类型是字段类型,并且如果第一数据子元素(ga1)和第二数据子元素(gb1)包括相同数量的维度,其中,第一数据子元素(ga1)在至少一个维度上包括根据第一索引范围[u0、...、um]索引的第七数据类型的第一元素并且第二数据子元素(gb1)在至少一个维度上包括根据第二索引范围[x0、...、xn]索引的第八数据类型的第二元素,并且如果对于所述至少一个维度来说所述第一索引范围[u0、...、um]和第二索引范围[x0、...、xn]相同,在第六识别步骤(253)中将每个根据所述第一索引范围[u0、...、um]索引的第一元素的数据类型识别为第七数据类型并且将每个根据所述第二索引范围[x0、...、xn]索引的第二元素的数据类型识别为第八数据类型,在第四生成步骤(257)中,生成用于基于所识别的第七数据类型和第八数据类型将第一元素映射到第二元素上的第四迁移函数,其中,该第四迁移函数设计成读取第一存储区域(spa)中的第七数据类型的数据,将所读取的数据转换成第八数据类型的值并且将转换后的数据存储在第二存储区域(spb)中。12.根据权利要求11所述的方法,其中,所述第一生成步骤(201)还包括:如果所述第一索引范围[u0、...、um]和第二索引范围[x0、...、xn]不相同,在索引确定步骤(259)中确定在第一数据子元素(ga1)和第二数据子元素(gb1)的索引范围中的间隔[r,s],其中r=max(x0,u0)并且s=min(xn,um),其中,r对应于所述两个值x0和u0的最大值并且s对应于所述两个值xn和um的最小值,在第六识别步骤(253)中将每个根据所述间隔[r,s]或第一索引范围[u0、...、um]索引的第一元素的数据类型识别为第七数据类型并且将每个根据所述间隔[r,s]或第二索引范围[x0、...、xn]索引的第二元素的数据类型识别为第八数据类型,并且在第四生成步骤(257)中,生成用于基于所识别的第七数据类型和第八数据类型将第一元素映射到第二元素上的第四迁移函数,其中,该第四迁移函数设计成读取第一存储区域(spa)中的第七数据类型的数据,将所读取的数据转换成第八数据类型并且将转换成第
八数据类型的数据存储在第二存储区域(spb)中。13.根据权利要求11或12所述的方法,其中,所述第一部分迁移步骤(231)包括:在第三部分迁移步骤(261)中,通过所述第二迁移函数(mig2)调用第四迁移函数并且执行第四迁移函数(mig4),用于将第一元素映射到第二元素上,并且其中,所述第三部分迁移步骤(261)包括:在第四读取步骤(263)中通过所述第四迁移函数读取在第一存储区域(spa)中的第一元素的存储位置处的第一元素的值,在第四转换步骤(265)中通过所述第四迁移函数将第一元素的值转换成第八数据类型,并且在第四写入步骤(267)中通过所述第四迁移函数将第一元素的转换成第八数据类型的值写入第二存储区域(spb)中的第二元素的存储位置。14.根据前述权利要求2至13中任一项所述的方法(200),其中,如果第一数据子元素(ga1)的值不能足够精确地映射到第二数据子元素(gb1)上,和/或如果第一分量(ma)的值不能足够精确地映射到第二分量(mb)上,和/或如果第一元素的值不能足够精确地映射到第二元素上,则第一数据元素(ga)的值还不能足够精确地映射到第二数据类型的值上,并且其中,所述第一检查步骤(209)还包括:检查第一数据子元素(ga1)的值是否能够足够精确地映射到第二数据子元素(gb1)上,检查第一分量(ma)的值是否能够足够精确地映射到第二分量(mb)上,并且检查第一元素的值是否能够足够精确地映射到第二元素上。15.根据前述权利要求中任一项所述的方法,其中,所述控制器还包括用于翻译控制程序的翻译模块(109),并且其中,所述第一生成步骤(201)由该翻译模块(109)来执行。16.根据前述权利要求中任一项所述的方法(200),进一步包括:在初始化步骤(269)中初始化第二数据元素(gb),其中,所述初始化包括将第二数据元素(gb)的值设定为预定的初始值。

技术总结
本发明涉及一种用于通过控制程序的程序状态的数据迁移对自动化系统(100)的控制程序进行更新的方法(200),该方法包括:在第一生成步骤(201)中生成用于将第一数据元素(GA)映射到第二数据元素(GB)上的第一迁移函数(MIG1),在中断步骤(203)中中断第一控制程序(A)的周期执行,在第一确定步骤(205)中确定第一数据元素(GA)的值,其中,第一数据元素(GA)的确定的值描述在中断时刻的控制程序(A)的程序状态,并且在迁移步骤(207)中通过执行第一迁移函数(MIG1)将第一数据元素(GA)的值映射到第二数据元素(GB)上。二数据元素(GB)上。二数据元素(GB)上。


技术研发人员:拉夫
受保护的技术使用者:倍福自动化有限公司
技术研发日:2020.12.11
技术公布日:2022/7/22
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1