【技术实现步骤摘要】
【国外来华专利技术】用于控制具有对自动化系统的控制程序的程序对象的可视化功能的自动化系统的方法以及自动化系统
[0001]本专利申请要求德国专利申请DE 10 2020 119 853.1的优先权,其公开内容通过引用结合在本文中。
[0002]本专利技术涉及一种用于控制自动化系统的方法,所述自动化系统能够对所述自动化系统的控制程序的程序对象进行可视化。本专利技术还涉及一种用于实施所述方法的自动化系统。
技术介绍
[0003]在自动化技术中,通常由自动化系统的控制器借助于循环执行对应的控制程序来操控自动化系统的参与者。对于与控制程序的相应控制指令对应地控制相应参与者的每一次循环,控制器接收并存储描述自动化系统和控制程序的状态的信息。所谓的程序状态包括用于再现自动化系统和控制程序的状态所需的完整信息。程序状态例如可以包括在控制程序中使用的变量、函数、数据库或其他对象。另外,程序状态可以包括关于自动化系统的参与者的信息或者关于在自动化系统中运行的过程的信息。
[0004]可以在每一个控制循环结束之后重新建立此类程序状态,从而可以随时重现自动化系统和控制程序的当前状态。
[0005]在后续的控制循环中重新实施控制程序时,控制程序可以依赖于在全局状态中存储的数据并且由此在后续的循环中基于先前控制循环的自动化系统的状态来继续控制自动化系统。
[0006]在自动化系统连续工作时,通常产生如下的情形,其中必须再调节不同的参数或者必须改变或适配流程,以便能够实现或保证自动化系统的最优的或经优化的流程。为了使得用户能够跟踪受 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种用于控制具有对自动化系统(200)的控制程序的程序对象的可视化功能的自动化系统(200)的方法(100),其中所述自动化系统(200)的控制器(201)包括控制程序,其中在所述控制器的第一存储器区域(SP1)中存储有所述控制程序的程序状态(PZ),其中所述程序状态(PZ)包括所述控制程序的多个程序对象,其中所述程序对象(PO)在所述程序状态(PZ)的预定的排列结构中相对彼此布置,其中通过所述排列结构,为每一个程序对象(PO)指配存储器位置(P)和存储器大小(SG),其中程序对象(PO)的存储器位置(P)限定了在存储器区域中存储的程序对象(PO)与所述程序状态(PZ)的第一存储器点间隔开的存储器点数量,其中程序对象(PO)的存储器大小(SG)限定了存储器对象在存储器区域中占据的存储器点数量,其中所述程序状态(PZ)包括至少一个指针元素,其中通过所述指针元素来引用指针对象(ZO),其中所述指针对象(ZO)为所述控制程序的程序对象(PO),其中在所述控制器的第二存储器区域(SP2)中配置有所述控制程序的堆栈,并且其中在所述控制程序的运行时间期间,程序对象(PO)能够被存储在所述堆栈中,所述方法包括:在执行步骤(101)中执行所述控制程序;在指针地址获取步骤(103)中获取所述指针元素的指针地址(ZA),其中所述指针地址(ZA)对应于由所述指针元素引用的存储器地址;在检验步骤(105)中检验所述指针元素的指针地址(ZA)是被布置在所述程序状态(PZ)的第一存储器区域(SP1)中还是被布置在所述堆栈的第二存储器区域(SP2)中;如果所述指针元素的指针地址(ZA)被布置在所述程序状态(PZ)的第一存储器区域(SP1)中,则在第一地址偏移量确定步骤(107)中确定所述指针元素的指针地址(ZA)的第一地址偏移量(AO1),其中所述第一地址偏移量(AO1)限定了所述指针元素的指针地址(ZA)在所述第一存储器区域(SP1)中与所述程序状态(PZ)的第一存储器地址间隔开的存储器点数量;在第一程序对象标识步骤(109)中,将根据所述程序状态(PZ)的排列结构与所述程序状态(PZ)的第一存储器点间隔开所述第一地址偏移量(AO1)的程序对象(PO)标识为第一程序对象(PO1),所述第一程序对象在所述第一存储器区域(SP1)中的存储器地址对应于所述指针元素的指针地址(ZA);在指针对象标识步骤(111)中用由所述指针元素引用的指针对象(ZO)来标识所述第一程序对象;在全称确定步骤(113)中确定所标识的指针元素的完全限定的名称;以及在显示步骤(115)中在与所述控制器相连的显示器元件上显示由所述指针元素引用的指针对象(ZO)的完全限定的名称。2.根据权利要求1所述的方法(100),其中所述程序状态(PZ)的程序对象(PO)构造为上级的第二程序对象(PO2),其中所述上级的第二程序对象(PO2)包括至少一个下级的子程序对象(TPO),其中所述第一程序对象(PO1)作为下级的子程序对象(TPO)被包括在所述上级的第二程序对象(PO2)中,并且其中所述第一程序对象标识步骤(109)包括:在第二程序对象标识步骤(117)中,将所述程序状态(PZ)的根据相应的存储器位置(P)和存储器大小(SG)限定了包括与所述程序状态(PZ)的第一存储器点间隔开所述第一地址偏移量(AO1)的存储器点的存储器区域的程序对象(PO)标识为所述上级的第二程序对象(PO2),并且将所述上级的第二程序对象(PO2)标识为在所述程序状态的第一存储器区域
(SP1)中占据包括所述指针元素的指针地址(ZA)的存储器区域的程序对象(PO);在第二地址偏移量确定步骤(119)中确定第二地址偏移量(AO2),其中所述第二地址偏移量(AO2)由所述第一地址偏移量(AO1)与所述第二程序对象(PO2)的第一相对存储器地址(SPO2)之间的差值确定;在第二数据类型确定步骤(121)中确定所述上级的第二程序对象(PO2)的数据类型,其中所述数据类型确定所述上级的第二程序对象(PO2)的数据结构,在所述数据结构中限定了所述上级的第二程序对象(PO2)的下级的子程序对象(TPO)的数量并且对于每一个下级的子程序对象(TPO)确定了在所述上级的第二程序对象(PO2)的数据结构之内的存储器大小(SG)和存储器位置(P);标识所述上级的第二程序对象(PO2)的根据所述上级的第二程序对象(PO2)的数据结构与所述上级的第二程序对象(PO2)的第一存储器点间隔开所述第二地址偏移量(AO2)的下级的子程序对象(TPO),并且将所述上级的第二程序对象(PO2)的所述下级的子程序对象(TPO)标识为存储器地址对应于所述指针元素的指针地址(ZA)的所述第一程序对象(PO1)。3.根据权利要求2所述的方法(100),其中所述程序状态(PZ)的程序对象(PO)构造为上级的第三程序对象(PO3),其中所述上级的第三程序对象(PO3)包括至少一个下级的子程序对象(TPO),其中所述上级的第二程序对象(PO2)作为下级的子程序对象(TPO)被包括在所述上级的第三程序对象(PO3)中,其中所述第二程序对象标识步骤(117)包括:在第三程序对象标识步骤(123)中,将所述程序状态(PZ)的根据相应的存储器位置(P)和存储器大小(SG)限定了包括与所述程序状态(PZ)的第一存储器点间隔开所述第一地址偏移量(AO1)的存储器点的存储器区域的程序对象(PO)标识为所述上级的第三程序对象(PO3),并且将所述上级的第三程序对象(PO3)标识为在所述程序状态的第一存储器区域(SP1)中占据包括所述指针元素的指针地址(ZA)的存储器区域的程序对象(PO);在第三地址偏移量确定步骤(125)中确定第三地址偏移量(AO3),其中所述第三地址偏移量(AO3)由所述第一地址偏移量(AO1)与所述第三程序对象(PO3)的第一相对存储器地址(SPO3)之间的差值确定;在第三数据类型确定步骤(127)中确定所述上级的第三程序对象(PO3)的数据类型,其中所述数据类型确定所述上级的第三程序对象(PO3)的数据结构,在所述数据结构中限定了所述上级的第三程序对象(PO3)的下级的子程序对象(TPO)的数量并且对于每一个下级的子程序对象(TPO)确定了在所述上级的第二程序对象(PO3)的数据结构之内的存储器大小(SG)和存储器位置(P);标识所述上级的第三程序对象(PO3)的根据所述上级的第三程序对象(PO3)的数据结构与所述上级的第三程序对象(PO3)的第一存储器点间隔开所述第三地址偏移量(AO3)的下级的子程序对象(TPO),并且将所述上级的第三程序对象(PO3)的所述下级的子程序对象(TPO)标识为所述上级的第二程序对象(PO2),所述上级的第二程序对象在所述程序状态(PZ)的第一存储器区域(SP1)中占据包括所述指针元素的指针地址(ZA)的存储器区域;并且其中所述第二地址偏移量(AO2)由所述第一地址偏移量(AO1)与所述第三程序对象(PO3)的第一相对存储器地址(SPO3)和所述第二程序对象(PO2)的第一相对存储器地址(SPO2)的总和之间的差值确定。4.根据权利要求2所述的方法(100),其中所述程序状态(PZ)的程序对象(PO)构造为上
级的第n程序对象,其中所述上级的第n程序对象包括以n
‑
1倍的嵌套深度互相包含的下级的子程序对象(TPO),其中所述上级的第二程序对象(PO2)作为下级的子程序对象(TPO)以第n
‑
2嵌套深度被包括在所述上级的第n程序对象中,其中所述第一程序对象(PO1)作为下级的子程序对象(TPO)以第n
‑
1嵌套深度被包括在所述上级的第n程序对象中,其中n为自然数并且大于或等于4,并且其中所述第一程序对象标识步骤(109)包括:在第n程序对象标识步骤(129)中,将所述程序状态(PZ)的根据相应的存储器位置(P)和存储器大小(SG)限定了包括与所述程序状态(PZ)的第一存储器点间隔开所述第一地址偏移量(AO1)的存储器点的存储器区域的程序对象(PO)标识为所述上级的第n程序对象,并且将所述上级的第n程序对象标识为在所述程序状态(PZ)的第一存储器区域(SP1)中占据包括所述指针元素的指针地址(ZA)的存储器区域的程序对象(PO);在第n地址偏移量确定步骤(131)中确定第n地址偏移量,其中所述第n地址偏移量由所述第一地址偏移量(AO1)与所述第n程序对象的第一相对存储器地址之间的差值确定;在第n数据类型确定步骤(133)中确定所述上级的第n程序对象的数据类型,其中所述数据类型确定所述上级的第n程序对象的数据结构,在所述数据结构中限定了所述上级的第n程序对象的下级的子程序对象的数量并且对于每一个下级的子程序对象确定了在所述上级的第n程序对象的数据结构之内的存储器大小(SG)和存储器位置(P);在第n
‑
1程序对象标识步骤(135)中,标识所述上级的第n程序对象的根据所述上级的第n程序对象的数据结构与所述上级的第n程序对象的第一存储器点间隔开所述第n地址偏移量的下级的子程序对象(TPO),并且将所述上级的第n程序对象的所述下级的子程序对象(TPO)标识为上级的第n
‑
1程序对象,所述上级的第n
‑
1程序对象在所述程序状态(PZ)的第一存储器区域(SP1)中占据包括所述指针元素的指针地址(ZA)的存储器区域;其中所述第n
‑
1程序对象标识步骤(135)包括:在第n
‑
1地址偏移量确定步骤(137)中确定第n
‑
1地址偏移量,其中所述第n
‑
1地址偏移量由所述第一地址偏移量(AO1)与所述第n程序对象的第一相对存储器地址和所述第n
‑
1程序对象的第一相对地址的总和之间的差值确定;在第n
‑
1数据类型确定步骤(139)中确定所述上级的第n
‑
1程序对象的数据类型,其中所述数据类型确定所述上级的第n
‑
1程序对象的数据结构,在所述数据结构中限定了所述上级的第n
‑
1程序对象的下级的子程序对象的数量并且对于每一个下级的子程序对象确定了在所述上级的第n
‑
1程序对象的数据结构之内的存储器大小(SG)和存储器位置(P);在第n
‑
2程序对象标识步骤(141)中,标识所述上级的第n
‑
1程序对象的根据所述上级的第n
‑
1程序对象的数据结构与所述上级的第n
‑
1程序对象的第一存储器点间隔开所述第n
‑
1地址偏移量的下级的子程序对象(TPO),并且将所述上级的第n
‑
1程序对象的所述下级的子程序对象(TPO)标识为上级的第n
‑
2程序对象,所述上级的第n
‑
2程序对象在所述程序状态(PZ)的第一存储器区域(SP1)中占据包括所述指针元素的指针地址(ZA)的存储器区域;如果n
‑
2>2,则在递归步骤(143)中递归地执行所述第n
‑
1地址偏移量确定步骤(137)、所述第n
‑
1数据类型确定步骤(139)和所述第n
‑
2程序对象标识步骤(141);在所述第二地址偏移量确定步骤(119)中确定所述第二地址偏移量(AO2),其中所述第二地址偏移量(AO2)由所述第一地址偏移量(AO1)与所述第n程序对象至第二程序对象
(PO2)的第一相对存储器地址的总和之间的差值确定;在所述第二数据类型确定步骤(121)中确定所述上级的第2程序对象(PO2)的数据类型,其中所述数据类型确定所述上级的第二程序对象(PO2)的数据结构,在所述数据结构中限定了所述上级的第2程序对象(PO2)的下级的子程序对象(TPO)的数量并且对于每一个下级的子程序对象(TPO)确定了在所述上级的第二程序对象的数据结构之内的存储器大小(SG)和存储器位置(P);标识所述上级的第二程序对象(PO2)的根据所述上级的第n
‑
1程序对象的数据结构与所述上级的第二程序对象(PO2)的第一存储器点间隔开所述第二地址偏移量(AO2)的下级的子程序对象(TPO),并且将所述上级的第二程序对象(PO2)的所述下级的子程序对象(TPO)标识为所述第一程序对象(PO1),所述第一程序对象的存储器地址对应于所述指针元素的指针地址(ZA)。5.根据以上权利要求之一所述的方法(100),还包括:如果所述指针元素的指针地址(ZA)布置在所述堆栈(ST)的第二存储器区域(SP2)中,则在堆栈结构确定步骤(145)中确定所述堆栈(ST)的结构,其中通过所述堆栈的结构,为被存储在所述堆栈(ST)中的每一个堆栈程序对象指配存储器位置(P)和存储器大小(SG),其中堆栈程序对象的存储器位置(P)限定了在存储器区域中存储的堆栈程序对象与所述堆栈(ST)的第一存储器点间隔开的存储器点数量;在第一堆栈地址偏移量确定...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。