用于控制具有对自动化系统的控制程序的程序对象的可视化功能的自动化系统的方法以及自动化系统技术方案

技术编号:36923753 阅读:14 留言:0更新日期:2023-03-22 18:47
本发明专利技术涉及一种用于控制具有对自动化系统(200)的控制程序的程序对象的可视化功能的自动化系统(200)的方法(100),所述方法包括:在指针地址获取步骤(103)中获取所述指针元素的指针地址(ZA);在第一地址偏移量确定步骤(107)中确定所述指针元素的指针地址(ZA)的第一地址偏移量(AO1);在第一程序对象标识步骤(109)中,将根据所述程序状态(PZ)的排列结构与所述程序状态(PZ)的第一存储器点间隔开所述第一地址偏移量(AO1)的程序对象(PO)标识为第一程序对象(PO1),所述第一程序对象在所述第一存储器区域(SP1)中的存储器地址对应于所述指针元素的指针地址(ZA);在指针对象标识步骤(111)中用由所述指针元素引用的指针对象(ZO)来标识所述第一程序对象;在全称确定步骤(113)中确定所标识的指针元素的完全限定的名称;以及在显示步骤(115)中在与所述控制器相连的显示器元件上显示由所述指针元素引用的指针对象(ZO)的完全限定的名称。本发明专利技术还涉及一种用于实施所述方法(100)的自动化系统(200)。(200)。(200)。

【技术实现步骤摘要】
【国外来华专利技术】用于控制具有对自动化系统的控制程序的程序对象的可视化功能的自动化系统的方法以及自动化系统
[0001]本专利申请要求德国专利申请DE 10 2020 119 853.1的优先权,其公开内容通过引用结合在本文中。


[0002]本专利技术涉及一种用于控制自动化系统的方法,所述自动化系统能够对所述自动化系统的控制程序的程序对象进行可视化。本专利技术还涉及一种用于实施所述方法的自动化系统。

技术介绍

[0003]在自动化技术中,通常由自动化系统的控制器借助于循环执行对应的控制程序来操控自动化系统的参与者。对于与控制程序的相应控制指令对应地控制相应参与者的每一次循环,控制器接收并存储描述自动化系统和控制程序的状态的信息。所谓的程序状态包括用于再现自动化系统和控制程序的状态所需的完整信息。程序状态例如可以包括在控制程序中使用的变量、函数、数据库或其他对象。另外,程序状态可以包括关于自动化系统的参与者的信息或者关于在自动化系统中运行的过程的信息。
[0004]可以在每一个控制循环结束之后重新建立此类程序状态,从而可以随时重现自动化系统和控制程序的当前状态。
[0005]在后续的控制循环中重新实施控制程序时,控制程序可以依赖于在全局状态中存储的数据并且由此在后续的循环中基于先前控制循环的自动化系统的状态来继续控制自动化系统。
[0006]在自动化系统连续工作时,通常产生如下的情形,其中必须再调节不同的参数或者必须改变或适配流程,以便能够实现或保证自动化系统的最优的或经优化的流程。为了使得用户能够跟踪受控制程序控制的自动化过程的特定参数,以便能够因此观察自动化过程的运行,产生了以下问题:要为用户显示对应的在程序状态中存储的参数或控制程序的对象,包括相应的值。为了能够给用户提供有说服力的显示,需要显示待显示的参数或对象的完全限定的名称,该有说服力的显示可以提供关于自动化过程或所执行的控制程序的状态的直接明了的信息。完全限定的名称在此可以包括相应的参数或对象的完整名字。
[0007]尤其在指针变量的情况下显示完全限定的名称是有问题的。在此产生了如下问题,即,指针变量的值是由指针变量引用的对象的存储器地址。然而,将所引用的地址作为指针变量的值来显示无法为用户提供直接明了的信息,因为通过所引用的地址不能直接确定由指针变量引用的是哪个对象。
[0008]因此需要以可直接理解的方式呈现程序状态的对象的信息和必要时存储有控制程序的局部对象的堆栈的对象的信息,包括控制程序的指针变量或指针元素。尤其在执行控制程序以控制自动化过程期间以及在执行控制程序的调试过程期间,这是有意义的。

技术实现思路

[0009]因此本专利技术的目的是提供一种改进的用于控制自动化系统的方法,所述自动化系统具有对所述自动化系统的控制程序的程序对象的可视化功能,以及提供一种用于实施所述方法的自动化系统。
[0010]这个目的通过根据独立权利要求所述的方法和自动化系统来实现。优选的实施方案是从属权利要求的主题。
[0011]根据本专利技术的一个方面,提供了一种用于控制自动化系统的方法,所述自动化系统具有对所述自动化系统的控制程序的程序对象的可视化功能,其中所述自动化系统的控制器包括控制程序,其中在所述控制器的第一存储器区域中存储有所述控制程序的程序状态,其中所述程序状态包括所述控制程序的多个程序对象,其中所述程序对象以所述程序状态的预定的排列结构相对彼此布置,其中通过所述排列结构,为每一个程序对象指配存储器位置和存储器大小,其中程序对象的存储器位置限定了存储器点数量,程序对象被存储为在存储器区域中与所述程序状态的第一存储器点间隔开所述存储器点数量,其中程序对象的存储器大小限定了存储器对象在存储器区域中占据的存储器点数量,其中所述程序状态包括至少一个指针元素,其中通过所述指针元素来引用指针对象,其中所述指针对象为所述控制程序的程序对象,其中在所述控制器的第二存储器区域中配置有所述控制程序的堆栈,并且其中在所述控制程序的运行时间期间,程序对象能够被存储在所述堆栈中,所述方法包括:
[0012]在执行步骤中执行所述控制程序;
[0013]在指针地址获取步骤中获取所述指针元素的指针地址,其中所述指针地址对应于由所述指针元素引用的存储器地址;
[0014]在第一检验步骤中检验所述指针元素的指针地址是被布置在所述程序状态的第一存储器区域中还是被布置在所述堆栈的第二存储器区域中;
[0015]如果所述指针元素的指针地址被布置在所述程序状态的第一存储器区域中,则在第一地址偏移量确定步骤中确定所述指针元素的指针地址的第一地址偏移量,其中所述第一地址偏移量限定了所述指针元素的指针地址在所述第一存储器区域中与所述程序状态的第一存储器地址间隔开的存储器点数量;
[0016]在第一程序对象标识步骤中,将根据所述程序状态的排列结构与所述程序状态的第一存储器点间隔开所述第一地址偏移量的程序对象标识为第一程序对象,所述第一程序对象在所述第一存储器区域中的存储器地址对应于所述指针元素的指针地址;
[0017]在指针对象标识步骤中用由所述指针元素引用的指针对象来标识所述第一程序对象;
[0018]在全称确定步骤中确定所标识的指针对象的完全限定的名称;以及
[0019]在显示步骤中在与所述控制器相连的显示器元件上显示由所述指针元素引用的指针对象的完全限定的名称。
[0020]由此实现了以下技术优点:可以提供一种用于控制自动化系统的方法,所述自动化系统具有对用于控制所述自动化系统的控制程序的程序对象的可视化功能,其中在执行所述控制程序期间可以通过所述自动化系统的控制器在与控制器相连的显示元件中以程序状态的程序对象的完全限定的名称来显示相应的程序对象。由此可以为自动化系统的用
户提供分别显示的程序对象的可直接理解的信息。所述方法尤其可以实现以对应的完全限定的名称来展示由控制程序的程序状态的指针元件引用的程序对象。
[0021]在本申请的意义上,控制程序的程序状态是控制程序的以预定排列结构布置的程序对象的广泛集合。程序对象在此可以为控制程序的任意的变量或数据对象并且具有各种数据类型如域型、复合型、字符串型或数字型。在预先固定的排列结构之中,程序状态之内的各个程序对象相对彼此布置,其中由此包括各个程序对象之间的关系、各种程序对象的引用以及多个程序对象的嵌套或继承关联,其中多个程序对象被布置为彼此嵌套的上级和下级的程序对象。程序状态的排列结构在执行控制程序期间保持不变,使得程序对象之间的关系、程序对象的引用和多个程序对象的嵌套在执行控制程序期间保持不变。
[0022]在本申请的意义上,指针元素是引用指针对象的指针变量。在本申请的意义上,指针对象是控制程序的任意的程序对象。
[0023]在本申请人的意义上,堆栈是指运行时间储器,在控制程序的运行时间期间或在控制程序的子程序的运行时间期间局部变量和函数被存储在所述运行时间储器中。
[0024]在本申请的意义上,指针地址是由指针元素引用的指针对本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】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)的第一存储器点间隔开的存储器点数量;在第一堆栈地址偏移量确定...

【专利技术属性】
技术研发人员:拉尔夫
申请(专利权)人:倍福自动化有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1