CN115836257A - 用于控制具有对自动化系统的控制程序的程序对象的可视化功能的自动化系统的方法以及自动化系统 - Google Patents
用于控制具有对自动化系统的控制程序的程序对象的可视化功能的自动化系统的方法以及自动化系统 Download PDFInfo
- Publication number
- CN115836257A CN115836257A CN202180048549.6A CN202180048549A CN115836257A CN 115836257 A CN115836257 A CN 115836257A CN 202180048549 A CN202180048549 A CN 202180048549A CN 115836257 A CN115836257 A CN 115836257A
- Authority
- CN
- China
- Prior art keywords
- program object
- stack
- program
- memory
- address
- 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
- 238000000034 method Methods 0.000 title claims abstract description 137
- 238000012800 visualization Methods 0.000 title claims abstract description 18
- 230000006870 function Effects 0.000 claims abstract description 32
- 239000002131 composite material Substances 0.000 claims description 16
- 230000006978 adaptation Effects 0.000 claims description 9
- 101100478211 Schizosaccharomyces pombe (strain 972 / ATCC 24843) spo3 gene Proteins 0.000 description 12
- 229910003798 SPO2 Inorganic materials 0.000 description 10
- 101100478210 Schizosaccharomyces pombe (strain 972 / ATCC 24843) spo2 gene Proteins 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 description 4
- 150000001875 compounds Chemical class 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000013386 optimize process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30134—Register stacks; shift registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3471—Address tracing
-
- 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/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/433—Dependency analysis; Data or control flow analysis
- G06F8/434—Pointers; Aliasing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Automation & Control Theory (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
- Programmable Controllers (AREA)
Abstract
本发明涉及一种用于控制具有对自动化系统(200)的控制程序的程序对象的可视化功能的自动化系统(200)的方法(100),所述方法包括:在指针地址获取步骤(103)中获取所述指针元素的指针地址(ZA);在第一地址偏移量确定步骤(107)中确定所述指针元素的指针地址(ZA)的第一地址偏移量(AO1);在第一程序对象标识步骤(109)中,将根据所述程序状态(PZ)的排列结构与所述程序状态(PZ)的第一存储器点间隔开所述第一地址偏移量(AO1)的程序对象(PO)标识为第一程序对象(PO1),所述第一程序对象在所述第一存储器区域(SP1)中的存储器地址对应于所述指针元素的指针地址(ZA);在指针对象标识步骤(111)中用由所述指针元素引用的指针对象(ZO)来标识所述第一程序对象;在全称确定步骤(113)中确定所标识的指针元素的完全限定的名称;以及在显示步骤(115)中在与所述控制器相连的显示器元件上显示由所述指针元素引用的指针对象(ZO)的完全限定的名称。本发明还涉及一种用于实施所述方法(100)的自动化系统(200)。
Description
本专利申请要求德国专利申请DE 10 2020 119 853.1的优先权,其公开内容通过引用结合在本文中。
技术领域
本发明涉及一种用于控制自动化系统的方法,所述自动化系统能够对所述自动化系统的控制程序的程序对象进行可视化。本发明还涉及一种用于实施所述方法的自动化系统。
背景技术
在自动化技术中,通常由自动化系统的控制器借助于循环执行对应的控制程序来操控自动化系统的参与者。对于与控制程序的相应控制指令对应地控制相应参与者的每一次循环,控制器接收并存储描述自动化系统和控制程序的状态的信息。所谓的程序状态包括用于再现自动化系统和控制程序的状态所需的完整信息。程序状态例如可以包括在控制程序中使用的变量、函数、数据库或其他对象。另外,程序状态可以包括关于自动化系统的参与者的信息或者关于在自动化系统中运行的过程的信息。
可以在每一个控制循环结束之后重新建立此类程序状态,从而可以随时重现自动化系统和控制程序的当前状态。
在后续的控制循环中重新实施控制程序时,控制程序可以依赖于在全局状态中存储的数据并且由此在后续的循环中基于先前控制循环的自动化系统的状态来继续控制自动化系统。
在自动化系统连续工作时,通常产生如下的情形,其中必须再调节不同的参数或者必须改变或适配流程,以便能够实现或保证自动化系统的最优的或经优化的流程。为了使得用户能够跟踪受控制程序控制的自动化过程的特定参数,以便能够因此观察自动化过程的运行,产生了以下问题:要为用户显示对应的在程序状态中存储的参数或控制程序的对象,包括相应的值。为了能够给用户提供有说服力的显示,需要显示待显示的参数或对象的完全限定的名称,该有说服力的显示可以提供关于自动化过程或所执行的控制程序的状态的直接明了的信息。完全限定的名称在此可以包括相应的参数或对象的完整名字。
尤其在指针变量的情况下显示完全限定的名称是有问题的。在此产生了如下问题,即,指针变量的值是由指针变量引用的对象的存储器地址。然而,将所引用的地址作为指针变量的值来显示无法为用户提供直接明了的信息,因为通过所引用的地址不能直接确定由指针变量引用的是哪个对象。
因此需要以可直接理解的方式呈现程序状态的对象的信息和必要时存储有控制程序的局部对象的堆栈的对象的信息,包括控制程序的指针变量或指针元素。尤其在执行控制程序以控制自动化过程期间以及在执行控制程序的调试过程期间,这是有意义的。
发明内容
因此本发明的目的是提供一种改进的用于控制自动化系统的方法,所述自动化系统具有对所述自动化系统的控制程序的程序对象的可视化功能,以及提供一种用于实施所述方法的自动化系统。
这个目的通过根据独立权利要求所述的方法和自动化系统来实现。优选的实施方案是从属权利要求的主题。
根据本发明的一个方面,提供了一种用于控制自动化系统的方法,所述自动化系统具有对所述自动化系统的控制程序的程序对象的可视化功能,其中所述自动化系统的控制器包括控制程序,其中在所述控制器的第一存储器区域中存储有所述控制程序的程序状态,其中所述程序状态包括所述控制程序的多个程序对象,其中所述程序对象以所述程序状态的预定的排列结构相对彼此布置,其中通过所述排列结构,为每一个程序对象指配存储器位置和存储器大小,其中程序对象的存储器位置限定了存储器点数量,程序对象被存储为在存储器区域中与所述程序状态的第一存储器点间隔开所述存储器点数量,其中程序对象的存储器大小限定了存储器对象在存储器区域中占据的存储器点数量,其中所述程序状态包括至少一个指针元素,其中通过所述指针元素来引用指针对象,其中所述指针对象为所述控制程序的程序对象,其中在所述控制器的第二存储器区域中配置有所述控制程序的堆栈,并且其中在所述控制程序的运行时间期间,程序对象能够被存储在所述堆栈中,所述方法包括:
在执行步骤中执行所述控制程序;
在指针地址获取步骤中获取所述指针元素的指针地址,其中所述指针地址对应于由所述指针元素引用的存储器地址;
在第一检验步骤中检验所述指针元素的指针地址是被布置在所述程序状态的第一存储器区域中还是被布置在所述堆栈的第二存储器区域中;
如果所述指针元素的指针地址被布置在所述程序状态的第一存储器区域中,则在第一地址偏移量确定步骤中确定所述指针元素的指针地址的第一地址偏移量,其中所述第一地址偏移量限定了所述指针元素的指针地址在所述第一存储器区域中与所述程序状态的第一存储器地址间隔开的存储器点数量;
在第一程序对象标识步骤中,将根据所述程序状态的排列结构与所述程序状态的第一存储器点间隔开所述第一地址偏移量的程序对象标识为第一程序对象,所述第一程序对象在所述第一存储器区域中的存储器地址对应于所述指针元素的指针地址;
在指针对象标识步骤中用由所述指针元素引用的指针对象来标识所述第一程序对象;
在全称确定步骤中确定所标识的指针对象的完全限定的名称;以及
在显示步骤中在与所述控制器相连的显示器元件上显示由所述指针元素引用的指针对象的完全限定的名称。
由此实现了以下技术优点:可以提供一种用于控制自动化系统的方法,所述自动化系统具有对用于控制所述自动化系统的控制程序的程序对象的可视化功能,其中在执行所述控制程序期间可以通过所述自动化系统的控制器在与控制器相连的显示元件中以程序状态的程序对象的完全限定的名称来显示相应的程序对象。由此可以为自动化系统的用户提供分别显示的程序对象的可直接理解的信息。所述方法尤其可以实现以对应的完全限定的名称来展示由控制程序的程序状态的指针元件引用的程序对象。
在本申请的意义上,控制程序的程序状态是控制程序的以预定排列结构布置的程序对象的广泛集合。程序对象在此可以为控制程序的任意的变量或数据对象并且具有各种数据类型如域型、复合型、字符串型或数字型。在预先固定的排列结构之中,程序状态之内的各个程序对象相对彼此布置,其中由此包括各个程序对象之间的关系、各种程序对象的引用以及多个程序对象的嵌套或继承关联,其中多个程序对象被布置为彼此嵌套的上级和下级的程序对象。程序状态的排列结构在执行控制程序期间保持不变,使得程序对象之间的关系、程序对象的引用和多个程序对象的嵌套在执行控制程序期间保持不变。
在本申请的意义上,指针元素是引用指针对象的指针变量。在本申请的意义上,指针对象是控制程序的任意的程序对象。
在本申请人的意义上,堆栈是指运行时间储器,在控制程序的运行时间期间或在控制程序的子程序的运行时间期间局部变量和函数被存储在所述运行时间储器中。
在本申请的意义上,指针地址是由指针元素引用的指针对象的存储器地址。
在本申请的意义上,存储器点是存储器的单元,其中可以存储有数据单元。在本申请的意义上,存储器地址是存储器的设有地址的存储器点,所述地址可以用于对存储在存储器的相应存储器点中的数据对象进行引用或寻址。
在执行控制程序期间,控制程序的程序对象设有如下的值:所述值被存储在程序状态中并且再现所执行的控制程序的状态或由控制程序控制的自动化过程的状态。程序对象的值在此表示待控制的自动化过程的当前状态。接着获取由程序状态的指针元件引用的指针对象的指针地址并且确定这个指针地址是否被布置在程序状态的存储器区域中。为此可以简单地读出相应的指针变量或相应的指针元素的值。
如果指针地址被布置在程序状态的存储器区域中,则确定指针地址相对于程序状态的第一存储器地址的第一地址偏移量。第一存储器地址在此描述了指针地址与程序状态的第一存储器地址之间的差值。具有在执行控制程序期间不变的多个程序对象的排列结构的程序状态可以被解释为例如复合型的广泛的数据对象,所述数据对象被存储在存储器的为此设置的第一存储器区域中。在存储器的地址结构之内,程序状态的第一存储器区域因此包括已知的绝对的第一存储器点,所述第一存储器点对应于在存储器之内为存储程序状态预留的存储器区域的第一存储器地址。
基于所确定的第一地址偏移量和程序状态的排列结构(在所述排列结构中为每一个程序对象指配程序状态之内的存储器位置和存储器大小),接下来标识第一程序对象,所述第一程序对象在程序状态的存储器区域中的存储器地址对应于指针地址。为此,对于程序状态的每一个程序对象,基于相应的存储器位置和存储器大小来确定相应的程序对象与程序状态的第一存储器地址间隔开的存储器点数量。将与程序状态的第一存储器地址间隔开由第一地址偏移量确定的存储器点数量的程序对象标识为第一程序对象,所述第一程序对象在程序状态的存储器区域中的存储器地址对应于指针地址。
由于程序状态的各个数据对象的绝对的存储器地址是未知的,通过为每一个程序对象指配程序状态之内的存储器位置的这种已知的程序状态的排列结构以及程序状态的已知的绝对的第一存储器地址,由此通过与第一存储器地址的距离为程序状态的每一个程序对象指配相对于程序状态的绝对的第一存储器地址的相对地址。通过第一地址偏移量将指针地址转换为相对于程序状态的第一存储器地址的相对地址,使得在程序状态之内具有与指针地址的相对地址(例如第一地址偏移量)对应的相对地址的程序对象可以被标识为程序状态的具有与指针地址对应的绝对地址的程序对象。
然后用由指针元素引用的指针对象来标识第一程序对象。
随后在显示器元件中显示所引用的指针对象的完全限定的名称。
在本申请的意义上,程序对象的完全限定的名称是可以唯一地标识相应程序对象的名称。完全限定的名称例如可以为名字或描述性名称并且可以包括程序对象的引用或嵌套的完整清单。
由此可以提供一种方法,所述方法可以对于自动化系统的控制程序的程序状态的任意指针元件给出分别引用的指针对象的完全限定的名称并且因此可以提供相应指针元素的内容的可直接理解的信息。
根据一个实施方式,所述程序状态的程序对象被形成为上级的第二程序对象,其中所述上级的第二程序对象包括至少一个下级的子程序对象,其中所述第一程序对象作为下级的子程序对象被包括在所述上级的第二程序对象中,并且其中所述第一程序对象标识步骤包括:
在第二程序对象标识步骤中,将所述程序状态的如下的程序对象标识为所述上级的第二程序对象:对于所述程序对象,根据相应的存储器位置和存储器大小限定了包括存储器点的存储器区域,所述存储器点与所述程序状态的第一存储器点间隔开所述第一地址偏移量,并且将所述上级的第二程序对象标识为在所述程序状态的第一存储器区域中占据包括所述指针元素的指针地址的存储器区域的程序对象;
在第二地址偏移量确定步骤中确定第二地址偏移量,其中所述第二地址偏移量由所述第一地址偏移量与所述第二程序对象的第一相对存储器地址之间的差值确定;
在第二数据类型确定步骤中确定所述上级的第二程序对象的数据类型,其中所述数据类型确定所述上级的第二程序对象的数据结构,在所述数据结构中限定了所述上级的第二程序对象的下级的子程序对象的数量并且对于每一个下级的子程序对象确定了在所述上级的第二程序对象的数据结构之内的存储器大小和存储器位置;
标识所述上级的第二程序对象的如下的下级的子程序对象:所述下级的子程序对象根据所述第二程序对象的数据结构与所述上级的第二程序对象的第一存储器点间隔开所述第二地址偏移量,并且将所述上级的第二程序对象的所述下级的子程序对象标识为所述第一程序对象,所述第一程序对象的存储器地址对应于所述指针元素的指针地址。
由此实现了以下技术优点:可以提供指针对象的完全限定的名称,所述指针对象具有第一嵌套深度并且是上级的程序对象的下级的程序对象。
为此首先基于第一地址偏移量和程序状态的排列结构来标识上级的第二程序对象,所述上级的第二程序对象在程序状态的存储器区域中占据包括由所述指针元素引用的指针地址的区域。为此,进而对于程序状态的每一个程序对象来确定相应的程序对象与程序状态的第一存储器地址间隔开的存储器点数量。为此根据排列结构来考虑各个程序对象的存储器位置和存储器大小,并且对于在程序状态的存储器区域中相继布置的程序对象来确定与程序状态的第一存储器地址的对应距离。
然后确定第二地址偏移量,所述第二地址偏移量由第一地址偏移量与第二程序对象的第一相对存储器地址之间的差值得出,并且限定了指针元素的指针地址与上级的第二程序对象的第一相对存储器地址间隔开的存储器点数量。
在本申请的意义上,程序对象的第一相对存储器地址为在存储器中被相应的程序对象占据的第一存储器地址,但所述第一相对存储器地址不是存储器的绝对地址,而是相对于分别上级的对象确定的。上级的对象可以是程序状态、堆栈或包括相应的程序对象的上级的程序对象。第一相对存储器地址由此相对于上级的对象的相应结构而被确定并且给出相应的程序对象与分别上级的对象的第一存储器地址的距离。如果上级的对象是上级的程序对象,则被包括在上级的程序对象中的程序对象的第一相对存储器地址给出被包括的程序对象与分别上级的程序对象的第一相对存储器地址的距离。程序对象的第一相对存储器地址因此描述了相应的程序对象的第一存储器点与分别上级的程序对象的第一存储器点间隔开的存储器点数量。第一相对存储器点和地址偏移量由此可以相加和相减,因为这两个数值都描述存储器点的数量。
然后确定所标识的上级的第二程序对象的数据类型。上级的第二程序对象的数据类型例如可以为域型、复合型或字符串型,所述数据类型进而包括多个下级的程序对象。通过确定数据类型还获取了上级的第二程序对象的数据结构,所述数据结构包括下级的程序对象的数量并且为每一个下级的程序对象在上级的第二程序对象之内指配存储器位置和存储器大小。
在考虑到上级的第二程序对象的数据结构的情况下,接下来标识上级的第二程序对象的如下的下级的程序对象:所述下级的程序对象在上级的第二程序对象的数据结构之内与上级的第二程序对象的第一相对存储器地址间隔开第二地址偏移量的存储器点数量。因此将上级的第二程序对象的所标识的下级的程序对象标识为第一程序对象,所述第一程序对象在程序状态的存储器区域中具有与指针元素的指针地址对应的存储器地址。
由此可以提供指针对象的完全限定的名称,所述指针对象为程序状态的程序对象的子对象。由此例如可以提供由指针元素引用的域型元素或复合型组件或字符串型元素的完全限定的名称。完全限定的名称在此可以包括(比如域型、复合型或字符串型的)上级的第二程序对象的名称以及(比如域型元素、复合型组件或字符串型元素的)第一程序对象的名称。
在本申请的意义上,上级的程序对象是程序状态的进而包括下级的程序对象的数据对象。上级的程序对象因此可以为进而包括元素或组件的复合型、域型或字符串型的数据对象。在本申请的意义上,下级的程序对象是程序状态的被包括在上级的程序对象中的程序对象。由此,这些程序对象例如可以为复合型、域型或字符串型的数据对象的元素或组件。下级的程序对象可以进而包括下级的程序对象并且由此相对于被包括的下级的程序对象作为上级的程序对象起作用。例如复合型的数据对象可以包括组件,所述组件进而为复合型并且自身包括其他组件。
通过为在数据结构之内的每一个下级的程序对象指配存储器位置和存储器大小的所述上级的程序对象的数据结构,并且通过确定第二地址偏移量(所述第二地址偏移量确定了指针地址与上级的程序对象的第一相对存储器地址的相对距离并且由第一地址偏移量与第二程序对象的第一相对存储器地址之间的差值得出),将指针元素的指针地址转换为相对于上级的程序对象的第一相对存储器地址的相对地址。
上级的程序对象的第一相对存储器地址可以通过存储器结构和程序状态的第一存储器地址来确定。由此,在上级的程序对象的数据结构之内,可以为上级的程序对象的每一个下级的程序对象指配与存储器点数量对应的相对地址,相应的下级的程序对象与上级的程序对象的第一相对存储器地址间隔开所述存储器点数量。将在上级的程序对象的数据结构之内与上级的程序对象的第一相对存储器地址间隔开与第二地址偏移量对应的存储器点数量的那个下级的程序对象标识为如下的下级的程序对象,所述下级的程序对象的存储器地址对应于指针地址。
根据一个实施方式,所述程序状态的程序对象被形成为上级的第三程序对象,其中所述上级的第三程序对象包括至少一个下级的子程序对象,其中所述上级的第二程序对象作为下级的子程序对象被包括在所述上级的第三程序对象中,并且其中所述第二程序对象标识步骤包括:
在第三程序对象标识步骤中,将所述程序状态的如下的程序对象标识为所述上级的第三程序对象:对于所述程序对象,根据相应的存储器位置和存储器大小限定了包括存储器点的存储器区域,所述存储器点与所述程序状态的第一存储器点间隔开所述第一地址偏移量,并且将所述上级的第三程序对象标识为在所述程序状态的第一存储器区域中占据包括所述指针元素的指针地址的存储器区域的程序对象;
在第三地址偏移量确定步骤中确定第三地址偏移量,其中所述第三地址偏移量由所述第一地址偏移量与所述第三程序对象的第一相对存储器地址之间的差值确定;
在第三数据类型确定步骤中确定所述上级的第三程序对象的数据类型,其中所述数据类型确定所述上级的第三程序对象的数据结构,在所述数据结构中限定了所述上级的第三程序对象的下级的子程序对象的数量并且对于每一个下级的子程序对象确定了在所述上级的第二程序对象的数据结构之内的存储器大小和存储器位置;
标识所述上级的第三程序对象的如下的下级的子程序对象:所述下级的子程序对象根据所述上级的第三程序对象的数据结构与所述上级的第三程序对象的第一存储器点间隔开所述第三地址偏移量,并且将所述上级的第三程序对象的所述下级的子程序对象标识为所述上级的第二程序对象,所述上级的第二程序对象在所述程序状态的第一存储器区域中占据包括所述指针元素的指针地址的存储器区域,
其中所述第二地址偏移量由所述第一地址偏移量与所述第三程序对象的第一相对存储器地址和所述第二程序对象的第一相对存储器地址的总和之间的差值确定。
由此实现了如下的技术优点:可以提供由指针元素引用的指针对象的完全限定的名称,所述指针对象是具有三倍嵌套深度的程序状态的程序对象的下级的程序对象。
为此首先基于程序状态的排列结构和第一地址偏移量来标识上级的第三程序对象,所述上级的第三程序对象在程序状态的存储器区域中占据包括指针元素的指针地址的区域。
然后确定第三地址偏移量,所述第三地址偏移量由第一地址偏移量与第三程序对象的第一相对存储器地址之间的差值得出,并且限定了指针地址与所标识的上级的第三程序对象的第一相对存储器地址间隔开的存储器点数量。
然后确定上级的第三程序对象的数据类型,所述数据类型限定了上级的第三程序对象的数据结构并且限定了上级的第三程序对象的下级的子程序对象的数量并且为每一个下级的子程序对象指配数据结构之内的存储器大小和存储器位置。
基于上级的第三程序对象的数据类型的数据结构并且基于第三地址偏移量,接下来将第二上级的程序对象标识为上级的第三程序对象的下级的子程序对象作为下级的子程序对象,所述下级的子程序对象在上级的第三程序对象的数据结构中与上级的第三程序对象的第一相对存储器地址间隔开第三地址偏移量并且因此在程序状态的存储器区域中占据包括指针地址的区域。
然后,根据上文描述确定第二地址偏移量和所标识的上级的第二程序对象的数据类型,并且基于第二地址偏移量和上级的第二程序对象的数据结构将第一程序对象标识为指针对象。第二地址偏移量在此由第一地址偏移量与第三程序对象和第二程序对象的第一相对存储器地址的总和之间的差值得出。
指针对象的完全限定的名称在此可以包括第一程序对象的名字、上级的第二程序对象的名字和上级的第三程序对象的名字以及嵌套层级。因此,可以由此对于指针元素(例如为域型的元素,所述域型进而为域型的元素)给出完全限定的名称。
此方式类似于上文对于在上级的第二程序对象的情况下的实施方式所说明的方式,其中被包括的下级的程序对象的分别相对的地址被确定为相应的下级的程序对象的存储器位置相对于分别上级的程序对象的第一相对存储器地址的距离。将相对地址对应于相应的地址偏移量或者例如占据包括与第一存储器地址间隔开相应的地址偏移量的存储器地址的存储器区域的那个下级的程序对象标识为程序对象,所述程序对象的存储器地址对应于指针地址或者所述程序对象的存储器区域包括指针地址。对于相应的嵌套深度继续这个过程,直至指针对象被标识为其存储器地址对应于指针地址的那个下级的程序对象。
根据一个实施方式,所述程序状态的程序对象被形成为上级的第n程序对象,其中所述上级的第n程序对象以n-1倍的嵌套深度包括互相包含的下级的子程序对象,其中所述上级的第二程序对象作为下级的子程序对象以第n-2嵌套深度被包括在所述上级的第n程序对象中,其中所述第一程序对象作为下级的子程序对象以第n-1嵌套深度被包括在所述上级的第n程序对象中,其中n为自然数并且大于或等于4,并且其中所述第一程序对象标识步骤包括:
在第n程序对象标识步骤中,将所述程序状态的如下的程序对象标识为所述上级的第n程序对象:对于所述程序对象,根据相应的存储器位置和存储器大小限定了包括存储器点的存储器区域,所述存储器点与所述程序状态的第一存储器点间隔开所述第一地址偏移量,并且将所述上级的第n程序对象标识为在所述程序状态的第一存储器区域中占据包括所述指针元素的指针地址的存储器区域的程序对象;
在第n地址偏移量确定步骤中确定第n地址偏移量,其中所述第n地址偏移量由所述第一地址偏移量与所述第n程序对象的第一相对存储器地址之间的差值确定;
在第n数据类型确定步骤中确定所述上级的第n程序对象的数据类型,其中所述数据类型确定所述上级的第n程序对象的数据结构,在所述数据结构中限定了所述上级的第n程序对象的下级的子程序对象的数量并且对于每一个下级的子程序对象确定了在所述上级的第n程序对象的数据结构之内的存储器大小和存储器位置;
在第n-1程序对象标识步骤中,标识所述上级的第n程序对象的如下的下级的子程序对象:所述下级的子程序对象根据所述上级的第n程序对象的数据结构与所述上级的第n程序对象的第一存储器点间隔开所述第n地址偏移量,并且将所述上级的第n程序对象的所述下级的子程序对象标识为上级的第n-1程序对象,所述上级的第n-1程序对象在所述程序状态的第一存储器区域中占据包括所述指针元素的指针地址的存储器区域;
在第n-1地址偏移量确定步骤中确定第n-1地址偏移量,其中所述第n-1地址偏移量由所述第一地址偏移量与所述第n程序对象的第一相对存储器地址和所述第n-1程序对象的第一存储器地址的总和之间的差值确定;
在第n-1数据类型确定步骤中确定所述上级的第n-1程序对象的数据类型,其中所述数据类型确定所述上级的第n-1程序对象的数据结构,在所述数据结构中限定了所述上级的第n-1程序对象的下级的子程序对象的数量并且对于每一个下级的子程序对象确定了在所述上级的第n-1程序对象的数据结构之内的存储器大小和存储器位置;
在第n-2程序对象标识步骤(141)中,标识所述上级的第n-1程序对象的如下的下级的子程序对象:所述下级的子程序对象根据所述上级的第n-1程序对象的数据结构与所述上级的第n-1程序对象的第一存储器点间隔开所述第n-1地址偏移量,并且将所述上级的第n-1程序对象的所述下级的子程序对象标识为上级的第n-2程序对象,所述上级的第n-2程序对象在所述程序状态的第一存储器区域中占据包括所述指针元素的指针地址的存储器区域;
如果n-2>2,则在递归步骤中递归地执行所述第n-1地址偏移量确定步骤、所述第n-1数据类型确定步骤和所述第n-2程序对象标识步骤;
在所述第二地址偏移量确定步骤中确定所述第二地址偏移量,其中所述第二地址偏移量由所述第一地址偏移量与所述第n程序对象至第二程序对象的第一相对存储器地址的总和之间的差值确定;
在第二数据类型确定步骤中确定所述上级的第二程序对象的数据类型,其中所述数据类型确定所述上级的第二程序对象的数据结构,在所述数据结构中限定了所述上级的第n-1程序对象的下级的子程序对象的数量并且对于每一个下级的子程序对象确定了在所述上级的第二程序对象的数据结构之内的存储器大小和存储器位置;
标识所述上级的第二程序对象的所述下级的子程序对象,所述下级的子程序对象根据所述上级的第二程序对象的数据结构与所述上级的第二程序对象的第一存储器点间隔开所述第二地址偏移量,并且将所述上级的第二程序对象的所述下级的子程序对象标识为所述第一程序对象,所述第一程序对象的存储器地址对应于所述指针元素的指针地址。
由此实现了以下技术优点:可以提供程序对象的完全限定的名称,所述程序对象为上级的程序对象的在任意嵌套层级中的下级的程序对象。
为此,执行上述步骤,以便标识在n倍递归中的各个程序对象。
通过递归地执行所提及的步骤,通过执行这些步骤来处理上级的第n程序对象的另一个嵌套深度,直至在多次执行所提及的步骤之后标识第二程序对象。第二程序对象在此为作为直接上级的程序对象包括第一程序对象(比如由指针元素引用的指针对象)的程序对象。
首先基于程序状态的排列结构和第一地址偏移量标识第n上级程序对象。对于这个第n程序对象确定第n地址偏移量,所述第n地址偏移量确定指针地址与上级的第n程序对象的第一相对存储器地址之间的差值。然后确定上级的第n程序对象的数据类型,所述数据类型限定被包括在上级的第n程序对象中的下级的子程序对象的数据结构。基于第n地址偏移量和上级的第n程序对象的数据结构来标识上级的第n程序对象的下级的子程序对象,所述下级的子程序对象占据包括指针地址的存储器区域。
这个经标识的下级的子程序对象被标识为第n-1上级的程序对象。然后确定第n-1地址偏移量和上级的第n-1程序对象的数据类型,其中第n-1地址偏移量由第一地址偏移量与第n程序对象和第n-1程序对象的第一相对存储器地址的总和之间的差值得出。基于第n-1地址偏移量和上级的第n-1程序对象的数据类型来标识上级的第n-1程序对象的下级的子程序对象,所述下级的子程序对象与上级的第n-1程序对象的第一相对存储器地址间隔开第n-1地址偏移量的存储器点数量并且由此占据包括指针地址的存储器区域。
这个经标识的下级的子程序对象被标识为上级的第n-2程序对象。然后递归地执行上述步骤,直至标识第一程序对象,所述第一程序对象在程序状态的存储器区域中具有与指针元素的指针地址对应的存储器地址。
由此可以提供指针对象的完全限定的名称,所述指针对象为上级的程序对象在n倍嵌套深度中的下级的子程序对象。相应的完全限定的名称在此可以包括所标识的指针对象的所有上级的程序对象的名字和名称以及相应的关系和嵌套。
根据一个实施方式,所述方法还包括:
如果所述指针元素的指针地址被布置在所述堆栈的第二存储器区域中,则在堆栈结构确定步骤中确定所述堆栈的结构,其中通过所述堆栈的结构,为被存储在所述堆栈中的每一个堆栈程序对象指配存储器位置和存储器大小,其中堆栈程序对象的存储器位置限定了存储器点数量,堆栈程序对象被存储为在存储器区域中与所述堆栈的第一存储器点间隔开所述存储器点数量;
在第一堆栈地址偏移量确定步骤中确定所述指针元素的指针地址的第一堆栈地址偏移量,其中所述第一堆栈地址偏移量限定了存储器点数量,所述指针元素的指针地址在所述第二存储器区域中与所述堆栈的第一存储器地址间隔开所述存储器点数量;
在第一堆栈程序对象标识步骤中,将如下的堆栈程序对象标识为第一堆栈程序对象:所述堆栈程序对象根据所述堆栈的结构与所述堆栈的第一存储器点间隔开所述第一堆栈地址偏移量,在所述结构中为每一个堆栈程序对象指定存储器位置和存储器大小,所述第一堆栈程序对象的存储器地址在所述第二存储器区域中对应于所述指针元素的指针地址;以及
在所述指针对象标识步骤中用由所述指针元素引用的指针对象来标识所述第一堆栈程序对象。
由此实现了以下技术优点:可以提供指针元素的指针对象的完全限定的名称,所述指针对象被存储在自动化系统的控制器的堆栈中。指针元素还是控制程序的程序状态的程序对象,而由指针元素引用的指针对象是堆栈或运行时间储器的对象并且由此不是程序状态的程序对象。
首先确定堆栈的结构,其中为堆栈的每一个程序对象指定存储器位置和存储器大小。类似于程序状态的排列结构,堆栈的结构可以实现堆栈程序对象的唯一定位。
然后,堆栈程序对象为在执行控制程序或控制程序的子程序或控制程序的功能期间作为局部变量被存储在堆栈中的数据对象。
在确定堆栈的结构之后,确定指针地址的第一堆栈地址偏移量,所述第一堆栈地址偏移量限定了指针地址与堆栈的第一存储器地址间隔开的存储器点数量。由此给出在存储器区域中由指针元素引用的且被存储在堆栈中的指针对象与堆栈的存储器区域之内堆栈的起点所具有的距离。
基于堆栈的结构和第一堆栈地址偏移量来标识第一堆栈程序对象,所述第一堆栈程序对象在堆栈的排列之内与堆栈的第一存储器地址间隔开第一堆栈地址偏移量的存储器点数量。随后将这个第一堆栈程序对象标识为堆栈程序对象,所述堆栈程序对象在堆栈的第二存储器区域中具有与指针元素的指针地址对应的存储器地址。
然后提供被标识为指针对象的堆栈程序对象的完全限定的名称。由此可以使被存储在堆栈中的由指针元素引用的指针对象设有完全限定的名称,所述完全限定的名称至少包括局部变量或堆栈程序对象的名字。
根据一个实施方式,所述第一堆栈程序对象标识步骤包括:
在帧标识步骤中,在考虑到所述指针元素的指针地址的第一堆栈地址偏移量和所述堆栈的排列结构的情况下标识所述堆栈的帧,所述帧在所述堆栈的第二存储器区域中占据包括所述指针元素的指针地址的存储器地址的存储器区域;
在功能标识步骤中标识所述堆栈的所标识的帧的功能;以及
将所标识的功能的局部变量标识为所述堆栈的第一堆栈程序对象,所述局部变量的存储器地址对应于所述指针元素的指针地址,所述第一堆栈程序对象的存储器地址对应于所述指针元素的指针地址。
由此实现了以下技术优点:存储在堆栈中且由指针元素引用的指针对象的完全限定的名称可以被扩展出功能和帧的名称。为此首先在考虑到第一堆栈地址偏移量和堆栈结构的情况下标识帧,所述帧在堆栈的存储器区域中包括经标识的第一堆栈程序对象并且由此包括指针地址。然后对经标识的第一堆栈程序对象的存储在经标识的帧中的功能进行标识。帧的名称以及第一堆栈程序对象的功能的名称都可以被容纳在由第一堆栈程序对象所展示的指针对象的完全限定的名称中。
根据一个实施方式,所述堆栈的堆栈程序对象被形成为上级的第二堆栈程序对象,其中所述上级的第二堆栈程序对象包括至少一个下级的堆栈子程序对象,其中所述第一堆栈程序对象作为下级的堆栈子程序对象被包括在所述上级的第二堆栈程序对象中,并且其中所述第一堆栈程序对象标识步骤包括:
在第二堆栈程序对象标识步骤中,将所述堆栈的如下的程序对象标识为所述上级的第二堆栈程序对象:对于所述程序对象,根据相应的存储器位置和存储器大小限定了包括存储器点的存储器区域,所述存储器点与所述堆栈的第一存储器点间隔开所述第一堆栈地址偏移量,并且将所述上级的第二堆栈程序对象标识为在所述堆栈的第二存储器区域中占据包括所述指针元素的指针地址的存储器区域的程序对象;
在第二堆栈地址偏移量确定步骤中确定第二堆栈地址偏移量,其中所述第二堆栈地址偏移量由所述第一堆栈地址偏移量与所述第二堆栈程序对象的第一相对存储器地址之间的差值确定;
在第二堆栈数据类型确定步骤中确定所述上级的第二堆栈程序对象的数据类型,其中所述数据类型确定所述上级的第二堆栈程序对象的数据结构,在所述数据结构中限定了所述上级的第二堆栈程序对象的下级的堆栈子程序对象的数量并且对于每一个下级的堆栈子程序对象确定了在所述上级的第二程序对象的数据结构之内的存储器大小和存储器位置;
标识所述上级的第二堆栈程序对象的如下的下级的堆栈子程序对象:所述下级的堆栈子程序对象根据所述上级的第二堆栈程序对象的数据结构与所述上级的第二堆栈程序对象的第一存储器点间隔开所述第二地址偏移量,并且将所述上级的第二堆栈程序对象的所述下级的堆栈子程序对象标识为所述第一堆栈程序对象,所述第一堆栈程序对象的存储器地址对应于所述指针元素的指针地址。
由此实现了以下技术优点:可以提供指针对象的完全限定的名称,所述指针对象是存储在堆栈中的上级的程序对象的下级的子对象。由指针元素引用的指针对象例如可以为存储在堆栈中的域型的元素、存储在堆栈中的复合型的组件或存储在堆栈中的字符串型的元素。指针对象的完全限定的名称在此可以包括上级的堆栈程序对象的名称和下级的堆栈子程序对象的名称。确定指针元素的完全限定的名称在此与上述用于确定被存储在程序状态中的具有简单嵌套深度的指针元件的完全限定的名称的方法类似地进行。
根据一个实施方式,所述堆栈的堆栈程序对象被形成为上级的第三堆栈程序对象,其中所述上级的第三堆栈程序对象包括至少一个下级的堆栈子程序对象,其中所述上级的第二堆栈程序对象作为下级的堆栈子程序对象被包括在所述上级的第三堆栈程序对象中,并且其中所述第二堆栈程序对象标识步骤包括:
在第三堆栈程序对象标识步骤中,将所述堆栈的如下的程序对象标识为所述上级的第三堆栈程序对象:对于所述程序对象,根据相应的存储器位置和存储器大小限定了包括存储器点的存储器区域,所述存储器点与所述堆栈的第一存储器地址间隔开所述第一堆栈地址偏移量,并且将所述上级的第三堆栈程序对象标识为在所述堆栈的第二存储器区域中占据包括所述指针元素的指针地址的存储器区域的程序对象;
在第三堆栈地址偏移量确定步骤中确定第三堆栈地址偏移量,其中所述第三堆栈地址偏移量由所述第一堆栈地址偏移量与所述第三堆栈程序对象的第一相对存储器地址之间的差值确定;
在第三堆栈数据类型确定步骤中确定所述上级的第三堆栈程序对象的数据类型,其中所述数据类型确定所述上级的第三堆栈程序对象的数据结构,在所述数据结构中限定了所述上级的第三堆栈程序对象的下级的堆栈子程序对象的数量并且对于每一个下级的堆栈子程序对象确定了在所述上级的第三堆栈程序对象的数据结构之内的存储器大小和存储器位置;
标识所述上级的第三堆栈程序对象的如下的下级的堆栈子程序对象:所述下级的堆栈子程序对象根据所述上级的第三堆栈程序对象的数据结构与所述上级的第三堆栈程序对象的第一存储器点间隔开所述第三堆栈地址偏移量,并且将所述上级的第三堆栈程序对象的所述下级的堆栈子程序对象标识为所述上级的第二堆栈程序对象,所述上级的第二堆栈程序对象在所述堆栈的第二存储器区域中占据包括所述指针元素的指针地址的存储器区域;以及
其中所述第二堆栈地址偏移量由所述第一堆栈地址偏移量与所述第三程序对象的第一相对存储器地址和所述第二堆栈程序对象的第一相对存储器地址的总和之间的差值确定。
由此实现了如下的技术优点:可以提供被存储在堆栈中的指针对象的完全限定的名称,所述指针对象是被存储在堆栈中的具有两倍嵌套深度的堆栈程序对象的子对象。确定完全限定的名称在此与上述用于确定被存储在程序状态中且作为上级的程序对象的具有两倍嵌套深度的子对象形成的指针对象的经限定的名称的方法类似地进行。
根据一个实施方式,所述堆栈的堆栈程序对象被形成为上级的第n堆栈程序对象,其中所述上级的第n堆栈程序对象以n-1倍的嵌套深度包括互相包含的下级的堆栈子程序对象,其中所述上级的第二堆栈程序对象作为下级的堆栈子程序对象以第n-2嵌套深度被包括在所述上级的第n堆栈程序对象中,其中所述第一堆栈程序对象作为下级的堆栈子程序对象以第n-1嵌套深度被包括在所述上级的第n堆栈程序对象中,其中n为自然数并且大于或等于4,并且其中所述第二堆栈程序对象标识步骤包括:
在第n堆栈程序对象标识步骤中,将所述堆栈的如下的程序对象标识为所述上级的第n堆栈程序对象:对于所述程序对象,根据相应的存储器位置和存储器大小限定了包括存储器点的存储器区域,所述存储器点与所述堆栈的第一存储器点间隔开所述第一堆栈地址偏移量,并且将所述上级的第n堆栈程序对象标识为在所述堆栈的第二存储器区域中占据包括所述指针元素的指针地址的存储器区域的程序对象;
在第n堆栈地址偏移量确定步骤中确定第n堆栈地址偏移量,其中所述第n堆栈地址偏移量由所述第一堆栈地址偏移量与所述第n堆栈程序对象的第一相对存储器地址之间的差值确定;
在第n堆栈数据类型确定步骤中确定所述上级的第n堆栈程序对象的数据类型,其中所述数据类型确定所述上级的第n堆栈程序对象的数据结构,在所述数据结构中限定了所述上级的第n堆栈程序对象的下级的堆栈子程序对象的数量并且对于每一个下级的堆栈子程序对象确定了在所述上级的第n堆栈程序对象的数据结构之内的存储器大小和存储器位置;
在第n-1堆栈程序对象标识步骤中,标识所述上级的第n堆栈程序对象的如下的下级的堆栈子程序对象:所述下级的堆栈子程序对象根据所述上级的第n堆栈程序对象的数据结构与所述上级的第n堆栈程序对象的第一存储器点间隔开所述第n堆栈地址偏移量,并且将所述上级的第n堆栈程序对象的所述下级的堆栈子程序对象标识为上级的第n-1堆栈程序对象,所述上级的第n-1堆栈程序对象在所述程序状态的第二存储器区域中占据包括所述指针元素的指针地址的存储器区域;
在第n-1堆栈地址偏移量确定步骤中确定第n-1堆栈地址偏移量,其中所述第n-1堆栈地址偏移量由所述第一堆栈地址偏移量与所述第n堆栈程序对象的第一相对存储器地址和所述第n-1堆栈程序对象的第一相对存储器地址的总和之间的差值确定;
在第n-1堆栈数据类型确定步骤中确定所述上级的第n-1堆栈程序对象的数据类型,其中所述数据类型确定所述上级的第n-1堆栈程序对象的数据结构,在所述数据结构中限定了所述上级的第n-1堆栈程序对象的下级的堆栈子程序对象的数量并且对于每一个下级的堆栈子程序对象确定了在所述上级的第n-1堆栈程序对象的数据结构之内的存储器大小和存储器位置;
在第n-2堆栈程序对象标识步骤中,标识所述上级的第n-1堆栈程序对象的如下的下级的堆栈子程序对象:所述下级的堆栈子程序对象根据所述上级的第n-1堆栈程序对象的数据结构与所述上级的第n-1堆栈程序对象的第一存储器点间隔开所述第n-1堆栈地址偏移量,并且将所述上级的第n-1堆栈程序对象的所述下级的堆栈子程序对象标识为上级的第n-2堆栈程序对象,所述上级的第n-2堆栈程序对象在所述程序状态的第二存储器区域中占据包括所述指针元素的指针地址的存储器区域;
如果n-2>2,则在另外的递归步骤中递归地执行所述第n-1堆栈地址偏移量确定步骤和所述第n-2堆栈程序对象标识步骤;
在第二堆栈地址偏移量确定步骤中确定第二堆栈地址偏移量,其中所述第二堆栈地址偏移量由所述第一堆栈地址偏移量与所述第n堆栈程序对象至所述第二堆栈程序对象的第一相对存储器地址的总和之间的差值确定;
在第二堆栈数据类型确定步骤中确定所述上级的第二堆栈程序对象的数据类型,其中所述数据类型确定所述上级的第二堆栈程序对象的数据结构,在所述数据结构中限定了所述上级的第二堆栈程序对象的下级的堆栈子程序对象的数量并且对于每一个下级的堆栈子程序对象确定了在所述上级的第二堆栈程序对象的数据结构之内的存储器大小和存储器位置;
标识所述上级的第二堆栈程序对象的如下的下级的堆栈子程序对象:所述下级的堆栈子程序对象根据所述上级的第二堆栈程序对象的数据结构与所述上级的第二堆栈程序对象的第一存储器点间隔开所述第二地址偏移量,并且将所述上级的第二堆栈程序对象的所述下级的堆栈子程序对象标识为所述第一堆栈程序对象,所述第一堆栈程序对象的存储器地址对应于所述指针元素的指针地址。
由此实现了如下的技术优点:可以提供被存储在堆栈中的指针元素的经限定的名称,所述指针元素是作为被存储在堆栈中的上级的堆栈程序对象的具有n倍嵌套深度的子元素。确定被存储在堆栈中且作为上级的堆栈程序对象的具有n倍嵌套深度的子对象形成的指针元素的完全限定的名称在此与上述用于确定被存储在程序状态中且作为上级的程序对象的具有n倍嵌套深度的子对象形成的指针对象的完全限定的名称的方法类似地进行。
根据一个实施方式,所述方法还包括:
在第一数据类型确定步骤中确定所述第一程序对象的数据类型,其中所述第一程序对象的数据类型确定所述第一程序对象的数据结构;和/或
在第一堆栈数据类型确定步骤中确定所述第一堆栈程序对象的数据类型,其中所述第一程序对象的数据类型确定所述第一程序对象的数据结构。
由此实现了以下技术优点:可以同时容纳被存储在程序状态中或堆栈中的具有所述指针对象的数据类型的指针对象的完全限定的名称。由此可以增加由指针对象的完全限定的名称提供的关于指针对象的信息内容。
根据一个实施方式,由所述指针元素引用的指针对象的完全限定的名称包括所述第一程序对象和/或所述上级的程序对象的名称或者所述第一堆栈程序对象和/或所述上级的堆栈程序对象和/或所标识的帧的名称和/或所标识的功能的名字。
由此实现了以下技术优点:可以提供所引用的指针对象的广泛的完全限定的名称,所述完全限定的名称包括涉及所引用的指针对象的任何信息,尤其关于在适当时给出的与指针对象的上级的程序对象的关系,包括嵌套深度和对应的数据类型或者在适当时指针对象的功能的名字。因此,可以给用户提供关于由指针元素引用的指针对象的广泛的信息。
根据一个实施方式,所述上级的程序对象或者上级的堆栈程序对象为复合型、域型或字符串型。
由此实现了以下技术优点:可以为各种数据类型提供指针元素的完全限定的名称。由此可以实现本发明方法的广泛应用。
根据一个实施方式,所述方法还包括:
在选择步骤中选择所述程序状态的多个程序对象,其中所选择的成像对象为所述指针元素;
在所述全称确定步骤中确定所选择的程序对象的完全限定的名称;以及
在所述显示步骤中在与所述控制器相连的所述显示器元件上显示所选择的程序对象的完全限定的名称。
由此实现了以下技术优点:可以提供程序状态的程序对象的选择可能性,对于所述程序对象应确定完全限定的名称并且应在显示器元件中对其进行显示。由此使得用户可以选择在执行控制程序时有意义的程序状态的程序对象并且可以根据上述用于选择程序对象的方法步骤确定完全限定的名称并且在执行控制程序期间对其进行显示。使用者因此能够个性化地选择程序对象并且使程序对象的完全限定的名称和对应的值得以显示,所述程序对象对于评估自动化过程或所执行的控制程序而言是有意义的。
根据一个实施方案,在所述显示步骤中除所述完全限定的名称之外还显示相应的程序对象的值,其中所述方法还包括:
在适配步骤中适配程序对象的至少一个值;以及
在控制步骤中在考虑到所述至少一个程序对象的所述至少一个经改变的值的情况下通过所述控制程序来控制自动化过程。
由此实现了以下技术优点:可以基于所显示的程序对象信息、尤其基于所显示的程序对象的完全限定的名称和对应的值来适配和修改对自动化系统的自动化过程的控制。通过所显示的程序对象的完全限定的名称与程序对象的对应的值相结合,用户可以直接评估待控制的自动化过程的状态,并且当用户确定程序对象的值或自动化过程的参数与所希望的值不对应时,在适当时可以进行对应的适配。由此可以实现对自动化过程的直接适配的可能性,从而实现对自动化过程或自动化系统的改进的且精确的控制。通过与相应的程序对象的值相结合地给出完全限定的名称,用户可以直接确定,需要对哪些程序对象进行数值更改,以便实现对自动化过程的特定适配或修改。
根据一个实施方式,所述方法可以在调试过程中和/或在所述自动化系统的控制过程中实施。
由此实现了以下技术优点:可以提供本发明方法的广泛应用。本发明的方法可以在执行用于控制自动化过程的控制程序期间进行,使得在控制自动化过程期间可以给用户显示任意的程序对象以及相应的程序对象的对应值。借此可以实现对受控的自动化过程的跟踪,所述跟踪允许监测自动化过程并且在适当时可以获知并消除自动化过程的错误运行状况。
替代地,本发明的方法可以在检验控制程序的工作能力的调试过程中进行。为此,用户可以使控制程序的各种程序对象得以显示,以便借助于程序对象的所显示的值来获知所执行的控制程序的工作能力。
根据一个实施方式,所述显示器元件被形成为人机界面并且被集成到所述控制器中。
由此实现了以下技术优点:可以实现尽可能舒适地展示控制程序的程序状态的程序对象的经限定的名称。在此用户尤其可以在通过控制程序对自动化过程进行控制期间使对应的程序对象以及所属的值直接显示在自动化系统的控制器处。
根据本发明的第二方面,提供了一种自动化系统,所述自动化系统具有控制器和与所述控制器相连的显示器元件,其中所述系统被设计成用于实施根据本发明的方法。
由此实现了以下技术优点:提供了一种自动化系统,所述自动化系统被配置为用于实施具有上述技术优点的本发明方法。
附图说明
参考附图详细阐述本发明。附图中:
图1示出根据一个实施方式的自动化系统的示意图;
图2示出根据一个实施方式的用于控制具有对控制程序的程序对象的可视化功能的自动化系统的方法的流程图;
图3示出根据另一个实施方式的用于控制具有对控制程序的程序对象的可视化功能的自动化系统的方法的另一个流程图;
图4示出根据图2中的方法的一个实施方式确定指针对象的示意图;
图5示出根据另一个实施方式的用于控制具有对控制程序的程序对象的可视化功能的自动化系统的方法的另一个流程图;
图6示出根据另一个实施方式的用于控制具有对控制程序的程序对象的可视化功能的自动化系统的方法的另一个流程图;
图7示出根据图6中的方法的一个实施方式确定指针对象的示意图;
图8示出根据另一个实施方式的用于控制具有对控制程序的程序对象的可视化功能的自动化系统的方法的另一个流程图。
附图标记列表
100 方法
101 执行步骤
103 指针地址获取步骤
105 检验步骤
107第一地址偏移量确定步骤
109 第一程序对象标识步骤
111 指针对象标识步骤
113 全称确定步骤
115 显示步骤
117 第二程序对象标识步骤
119第二地址偏移量确定步骤
121 第二数据类型确定步骤
123 第三程序对象标识步骤
125第三地址偏移量确定步骤
127第三数据类型确定步骤
129第n程序对象标识步骤
131第n地址偏移量确定步骤
133第n数据类型确定步骤
135第n-1程序对象标识步骤
137第n-1地址偏移量确定步骤
139第n-1数据类型确定步骤
141第n-2程序对象标识步骤
143 递归步骤
145 堆栈结构确定步骤
147第一堆栈地址偏移量确定步骤
149第一堆栈程序对象标识步骤
151 帧标识步骤
153 功能标识步骤
155第二堆栈程序对象标识步骤
157第二堆栈地址偏移量确定步骤
159第二堆栈数据类型确定步骤
161第三堆栈程序对象标识步骤
163第三堆栈地址偏移量确定步骤
165第三堆栈数据类型确定步骤
167第n堆栈程序对象标识步骤
169第n堆栈地址偏移量确定步骤
171第n堆栈数据类型确定步骤
173第n-1堆栈程序对象标识步骤
175第n-1堆栈地址偏移量确定步骤
177第n-1堆栈数据类型确定步骤
179第n-2堆栈程序对象标识步骤
181 另外的递归步骤
183 第一数据类型确定步骤
185第一堆栈数据类型确定步骤
187 选择步骤
189 适配步骤
191 控制步骤
200 自动化系统
201 控制器
203 自动化设备
205 总线系统
207 显示器
AO1 第一地址偏移量
AO2 第二地址偏移量
SP 存储器
SP1 第一存储器区域
SP2 第二存储器区域
PZ 程序状态
PO 程序对象
PO1 第一程序对象
PO2 上级的第二程序对象
PO3 上级的第三程序对象
TPO 下级的子程序对象
SPO2第二程序对象的第一相对存储器地址
SPO3第三程序对象的第一相对存储器地址
SPZ程序状态的第一存储器地址
P存储器位置
P1 第一存储器位置
P2 第二存储器位置
P3 第三存储器位置
SG 存储器大小
ST 堆栈
ZO 指针对象
ZA 指针地址
具体实施方式
图1示出根据一个实施方式的自动化系统200的示意图。
在图1中展示了一种自动化系统200,所述自动化系统具有控制器201,所述控制器经由总线系统205与自动化设备203相连。控制器201包括存储器SP,所述存储器包括第一存储器区域SP1和第二存储器区域SP2。在第一存储器区域SP1中存储有控制器的控制程序的程序状态PZ。在第二存储器区域SP2中存储有堆栈ST。自动化系统200还包括显示器元件207,所述显示器元件在图1中的实施方式中与控制器201相连。
所示的自动化系统200可以为任意的自动化系统,并且自动化设备203可以为用于进行自动化过程的任意的传感器和作动器。
自动化过程尤其可以通过循环执行控制程序而由控制器201控制。
在图1中示出的自动化系统200仅仅是示例性的并且不应限制本发明。对自动化系统200的在图1中示出的实施方式可以进行各种更改,这些更改无一例外地被包含在本发明的保护范围内。
图2示出根据一个实施方式的用于控制具有对控制程序的程序对象的可视化功能的自动化系统200的方法100的流程图。
参考图4来说明方法100的在图2中示出的实施方式。
方法100的在图2中所示的实施方式可应用于根据图1中所示的实施方式的自动化系统200。
方法100尤其可应用于包括控制器201的自动化系统200,所述控制器具有被存储在存储器SP中的控制程序,其中在控制器201的第一存储器区域SP1中存储有控制程序的程序状态PZ,其中程序状态PZ包括控制程序的多个程序对象,其中程序对象PO在程序状态PZ的预定的排列结构中相对彼此布置,其中通过排列结构为每一个程序对象PO指配存储器位置P和存储器大小SG,其中程序对象PO的存储器位置P限定了存储器点数量,程序对象PO被存储为在存储器区域中与程序状态PZ的第一存储器点间隔开所述存储器点数量,其中程序对象PO的存储器大小SG限定了存储器点数量,存储器对象在存储器区域中占据所述存储器点数量,其中程序状态PZ包括至少一个指针元素,其中通过指针元素来引用指针对象ZO,其中指针对象ZO为控制程序的程序对象PO,其中在控制器的第二存储器区域SP2中配置有控制程序的堆栈,并且其中在控制程序的运行时间期间,程序对象PO能够被存储在堆栈中。
为了执行方法100,首先在执行步骤101中在自动化系统200的控制器201上执行控制程序。在执行步骤101,可以执行控制程序以便控制自动化系统200的自动化过程。在此,基于控制程序来进行控制过程,其方式为,与控制程序对应地操控自动化设备203。替代地,在执行步骤101中可以实施控制程序以便进行调试过程,其中对控制程序的工作能力进行复查或检验。
通过执行控制程序,为控制程序的各个程序对象指配值,所述值被存储在程序状态中并且反映控制程序的执行状态或者再现自动化系统200的受控的自动化过程的状态。各个程序对象的值可以基于自动化系统200的传感元件的测量值。
因此,为了控制自动化过程,首先通过自动化系统200的传感器接收测量值。基于这些测量值,通过执行控制程序来确定对应的控制值,所述控制值被用于操控自动化系统200的对应的作动器,以便控制自动化过程。所确定的控制值可以作为控制程序的对应的程序对象的值被存储在程序状态中。附加地,传感元件的测量值可以作为对应的程序对象的值被存储在程序状态中。附加地,基于执行控制程序的中间结果并且对于进一步执行控制程序而言必需的值可以作为对应的程序对象的对应值被存储在程序状态中。
在指针地址获取步骤103中获取指针元素的指针地址ZA。指针地址ZA在此对应于在控制器201的存储器SP之内由指针元素引用的存储器地址。指针元素在此可以为控制程序的程序对象并且被存储在控制程序的程序状态PZ中。为了确定指针地址ZA,可以将其作为指针元素的值读出。
在检验步骤105中检验指针地址ZA是否被布置在程序状态PZ的第一存储器区域SP1中。取决于是哪个程序对象被指针元素引用,指针地址可以被布置在存储器SP的不同区域中。将存储器SP划分为第一存储器区域和第二存储器区域是已知的,从而可以将指针地址指配给这两个存储器区域之一。
如果指针地址ZA被布置在程序状态PZ的第一存储器区域SP1中,则在第一地址偏移量确定步骤107中确定第一地址偏移量AO1。第一地址偏移量AO1在此描述存储器点数量,指针地址ZA与程序状态PZ的第一存储器地址SPZ间隔开所述存储器点数量。
指针地址ZA被布置在第一存储器区域SP1意味着,指针元素引用的是在程序状态PZ之内的程序对象。相反,将指针地址ZA布置在第二存储器区域中意味着,指针元素引用的是在堆栈之内的程序对象PO。
第一地址偏移量AO1由此可以被看作在存储器SP的第一存储器区域SP1中指针元素的指针地址ZA与程序状态PZ的第一存储器地址SPZ之间的差值。通过第一地址偏移量AO1可以将指针地址ZA(为存储器SP之内的绝对的存储器地址)表达为被程序状态PZ占据的第一存储器区域SP1之内的相对的存储器地址,所述存储器地址描述了相对于程序状态PZ的第一存储器地址SPZ的寻址方式。相对的地址可以由与程序状态PZ的第一存储器地址SPZ的距离来限定。
在第一程序对象标识步骤109中标识程序状态PZ的程序对象PO,所述程序对象与程序状态PZ的第一存储器地址SPZ间隔开由第一地址偏移量AO1限定的存储器点数量。因为指针地址ZA同样与程序状态PZ的第一存储器地址SPZ间隔开第一地址偏移量AO1,所以所标识的程序对象PO另外被标识为第一程序对象PO1,所述第一程序对象在程序状态PZ的第一存储器区域SP1中具有与指针元素的指针地址ZA完全相同的存储器地址。
通过程序状态PZ的排列结构,为程序状态PZ的每一个程序对象PO指配存储器位置P和存储器大小SG,其中存储器大小SG限定在相应的存储器区域中被相应的程序对象PO所占用的存储器点数量。基于各个程序对象PO的相应的存储器位置P和存储器大小SG,对于在程序状态PZ的第一存储器区域SP1中相继存储的程序对象PO中的每一个程序对象,可以确定与程序状态PZ的第一存储器地址SPZ的距离。此距离分别描述了在存储器SP中相应的程序对象的第一存储器地址被布置为与程序状态的第一存储器地址SPZ离开的存储器点数量。与程序状态PZ的第一存储器地址SPZ的距离对应于第一地址偏移量AO1的那个程序对象PO被标识为第一程序对象PO1。因为第一程序对象PO1与程序状态PZ的第一存储器地址SPZ的距离对应于第一地址偏移量AO1,所以第一程序对象PO1被存储在对应于指针地址ZA的存储器地址处。因此,所标识的第一程序对象PO被指针元素引用。
由此,在指针对象标识步骤111中将所标识的第一程序对象PO1标识为由指针元素引用的指针对象ZO。由此为指针元素的指针地址ZA唯一地指配程序状态PZ的程序对象PO。
然后在全称确定步骤113中为由第一程序对象PO1所示的指针对象ZO指定完全限定的名称。指针对象ZO的完全限定的名称在此至少通过程序状态PZ的所标识的第一程序对象PO1的名字或名称来展示。所标识的第一程序对象PO1的名字在此可以为由第一程序对象PO1所示的变量或所示的数据对象的在控制程序中限定的名字。
接着可以在显示步骤115中在自动化系统200的显示器元件上显示指针对象ZO的完全限定的名称。显示器元件207为此与控制器201相连。显示器元件207例如可以是桌面计算机、膝上计算机或移动设备。替代地,显示器元件207可以作为人机界面被集成到控制器201中。
除了所确定的指针对象ZO之外,在显示步骤中还可以显示多个程序对象PO的完全限定的名称。相应的程序对象PO不需要是由指针元素引用的指针对象ZO,并且可以是待控制的自动化过程的控制程序或参数的任意变量。
通过显示程序状态PZ的程序对象PO的完全限定的名称,可以为用户提供关于程序状态PZ的程序对象PO的值的可直接读取的信息。除了各个程序对象PO的完全限定的名称之外,在显示器元件207上关于每一个所显示的程序对象PO还可以显示程序对象在执行控制程序期间具有的程序对象的相应的值。因此,在基于执行控制程序来控制自动化系统200的自动化过程期间,借助于程序对象的值可以实现对自动化过程的流程的评估。
因此可以基于程序对象PO的所显示的完全限定的名称在显示器元件207上对控制程序和自动化系统200的受控制程序控制的自动化过程进行评价。另外,根据所显示的完全限定的名称可以对控制程序进行修改并且可以基于经更改的控制程序对自动化系统200实行控制。
替代地,可以基于所显示的值和程序对象的完全限定的名称通过输入对应地改变的控制参数来适配或修改自动化过程。在此背景下,控制参数为可用作控制自动化过程的基础的参数值。
图3示出根据另一个实施方式的用于控制具有对控制程序的程序对象的可视化功能的自动化系统200的方法100的另一个流程图。
图3中的实施方式基于图2中的实施方式并且包括所有在其中展示的方法步骤。如果在图3中的实施方式中所述方法步骤保持不变,就不再赘述。
与图2中的实施方式不同,在图3中的实施方式中的方法100包括适配步骤189和控制步骤191。
在适配步骤中,基于在显示步骤115中显示的控制程序的程序对象的完全限定的名称对程序对象的值进行适配。为此,在显示步骤115中,附加于程序对象的完全限定的名称,还显示相应的程序对象PO的值。基于程序对象的完全限定的名称和值,可以对自动化系统200的受控制程序控制的自动化过程进行评价。基于评价,可以适配或改变程序对象PO的值,以便由此重新调整自动化过程或将其适配于变化的条件。对程序对象PO的值的适配在此可以取决于相应的程序对象PO的类型和相应的待控制的自动化过程的类型。在显示步骤115中显示其完全限定的名称并且在适配步骤189中对其值进行适配的程序对象PO可以是控制程序的任意的程序对象PO,并且不限于由指针元素引用的指针对象ZO。
然后,在控制步骤191中基于程序对象PO的经适配的或经改变的值来控制自动化过程。控制在此包括通过基于控制程序的对应的控制命令来控制自动化系统200的作动器。控制还包括接收自动化系统200的传感器的测量值并且通过执行控制程序作为控制器的输入值来处理传感器值并且以控制器的输出值的形式对应地生成用于作动器的控制命令。
与图2中的实施方式不同,在图3中的实施方式中的方法100还包括在第一程序对象标识步骤109之后实施的第一数据类型确定步骤183。在第一数据类型确定步骤183中确定所标识的第一程序对象PO1的数据类型。然后,在全称确定步骤113中,第一程序对象PO1的数据类型可以作为除程序对象的名字或名称之外的附加信息同时被容纳在指针对象ZO的完全限定的名称中。
取决于第一程序对象PO1是被布置在程序状态PZ中还是被布置在堆栈中,第一程序对象可以具有任意的数据类型,例如整数型、浮点型、布尔型或其他的标量型。替代地,第一程序对象可以为复合型、域型或字符串型。替代地,第一程序对象还可以为指针型。
此外,图3中的实施方式包括以下情况:在检验步骤105中确定,指针元素的指针地址ZA被存储在堆栈ST的第二存储器区域SP2中。
在这种情况下,在堆栈结构确定步骤145中确定堆栈的结构。堆栈的结构在此与程序状态PZ的排列结构类似地描述了各个堆栈程序对象的排列方式并且为堆栈ST的每一个堆栈程序对象指配存储器位置和相应的堆栈程序对象在堆栈的结构中所占用的存储器大小。
在第一堆栈地址偏移量确定步骤147中确定第一堆栈地址偏移量,所述第一堆栈地址偏移量限定了在第二存储器区域SP2中指针地址ZA与堆栈的第一存储器地址间隔开的存储器点数量。这个步骤与第一地址偏移量确定步骤107类似地进行。
然后,在第一堆栈程序对象标识步骤149中在考虑到堆栈的结构和第一堆栈地址偏移量的情况下标识第一堆栈程序对象,所述第一堆栈程序对象与堆栈的第一存储器地址间隔开在第一堆栈地址偏移量中限定的存储器点数量。
类似于上述实施方式,对于存储在堆栈中的每一个堆栈程序对象,根据在堆栈的结构中确定的相应的存储器位置和存储器大小分别确定与堆栈的第一存储器地址的距离。将与堆栈的第一存储器地址的距离对应于在第一堆栈地址偏移量中确定的存储器点数量的堆栈程序对象标识为第一堆栈程序对象,所述第一堆栈程序对象在堆栈ST的第二存储器区域SP2中具有对应于指针对象的指针地址ZA的存储器地址。
在第一堆栈数据类型确定步骤185中确定所标识的第一堆栈程序对象的数据类型。
在指针对象标识步骤111中用指针元素的指针对象ZO来标识所标识的第一堆栈程序对象。
在第一堆栈地址偏移量确定步骤147中确定第一堆栈地址偏移量以及在第一堆栈程序对象标识步骤149中确定第一堆栈程序对象与关于确定第一地址偏移量或标识程序状态PZ的第一程序对象类似地进行。
图4示出根据图2中的方法100的一个实施方式确定指针对象ZO的示意图。
在图4中展示了控制器201的存储器SP的第一存储器区域SP1之内的程序状态PZ的程序对象PO的排列。图4用于解说将第一程序对象PO1标识为由指针元素引用的指针对象ZO的程序对象,所述程序对象在程序状态PZ的第一存储器区域SP1中被存储在指针地址ZA处。
在图4中展示了存储器SP之内的第一存储器区域SP1。在第一存储器区域SP1中,程序状态PZ被展示为第一存储器区域SP1之内的连续的区域。在图4中的实施方式中,程序状态PZ包括第一程序对象PO1和另外的程序对象PO。出于解说目的,在图4中展示的大小关系以失真的方式展示。此外,以纯示例性的数量来展示被包括在程序状态PZ中的程序对象PO。这两者都仅仅用于解说的目的。
程序对象PO在程序状态PZ的排列结构之内被布置在第一存储器位置P1处,而第一程序对象PO1被布置在第二存储器位置P2中。这两个程序对象都具有存储器大小SG,所述存储器大小描述了相应的程序对象PO、PO1在程序状态PZ的第一存储器区域SP1中占用的存储器点数量。替代地,程序对象PO的存储器大小和第一程序对象PO1的存储器大小可以是不同的。
在图4中的实施方式中,第一程序对象PO1对应于指针对象ZO并且在程序状态PZ的第一存储器区域SP1中被存储在对应于指针对象ZO的指针地址ZA的存储器地址处。指针地址ZA对应于存储器SP的地址空间之内的绝对的存储器地址。
此外,在图4中展示了第一地址偏移量AO1,所述第一地址偏移量描述了指针地址ZA与程序状态PZ的第一存储器地址SPZ之间的距离。第一地址偏移量AO1由此描述了指针地址ZA相对于程序状态PZ的第一存储器地址SPZ所具有的距离。
存储器地址ZA且尤其第一程序对象PO1的存储器地址因此可以被表达为程序状态PZ的第一存储器地址SPZ和第一地址偏移量AO1的总和。
通过在第一地址偏移量确定步骤107中作为指针地址ZA与程序状态PZ的第一存储器地址SPZ的差值来确定第一地址偏移量AO1,并且在考虑到程序状态PZ的排列结构的情况下(所述排列结构为程序状态PZ的每一个程序对象指配在程序状态PZ之内的存储器位置PO1、PO2和存储器大小SG),通过从程序状态PZ的第一存储器地址SPZ数出程序状态PZ的各个程序对象PO、PO1在程序状态PZ的第一存储器区域SP1之内占用的存储器点,可以标识与程序状态PZ的第一存储器地址SPZ间隔开第一地址偏移量AO1并且由此在程序状态PZ的第一存储器区域SP1之内占据对应于指针对象ZO的指针地址ZA的存储器地址的那个程序对象,在图4中的实施方式中为第一程序对象PO1。由此可以以程序状态PZ的经标识的第一程序对象PO1的形式来标识指针对象ZO。
对于指针对象ZO的指针地址ZA被布置在堆栈中的情况,在图4中所示的方式可以类似地应用于标识堆栈的对应的堆栈程序对象。
图5示出根据另一个实施方式的用于控制具有对控制程序的程序对象PO的可视化功能的自动化系统200的方法100的另一个流程图。
参考图7和对其提供的说明来描述图5中的方法100的实施方式。
在图5中展示的实施方式基于图3中的实施方式并且包括所有在其中说明的方法步骤。如果在图5中的实施方式中所述方法步骤保持不变,就不再赘述。
图5中的实施方式中描述了以下情况:第一程序对象PO1为上级的第二程序对象PO2的下级的子程序对象。上级的第二程序对象PO2例如可以为复合型、域型或字符串型的数据类型,并且下级的第一程序对象PO1于是例如可以为域型的元素、复合型的组件或字符串型的元素。
因此,为了标识第一程序对象PO1,第一程序对象标识步骤109包括第二程序对象标识步骤117。在第二程序对象标识步骤117中,在考虑到程序状态PZ的排列结构并且考虑到第一地址偏移量AO1的情况下标识上级的第二程序对象PO2,所述上级的第二程序对象在程序状态PZ的第一存储器区域SP1中占据包括指针地址ZA的存储器区域。在此以如下方式标识上级的第二程序对象PO2:根据程序状态PZ的排列结构来标识程序状态PZ的程序对象PO,所述程序对象占据布置有与程序对象PZ的第一存储器地址SPZ间隔开第一地址偏移量AO1的存储器点的存储器区域。
与上述标识第一程序对象PO1相似地,通过获取程序状态PZ的各个程序对象PO与程序状态PZ的第一存储器地址SPZ的距离来进行上级的第二程序对象PO2的标识。程序对象PO的距离在此为在存储器SP中相应的程序对象的第一相对存储器地址与程序状态PZ的第一存储器地址SPZ间隔开的存储器点数量。将如下的程序对象PO标识为上级的第二程序对象PO2:根据程序状态PZ的排列结构,所述程序对象在程序状态PZ之内占据包括存储器点的区域,所述存储器点与程序状态PZ的第一存储器地址SPZ间隔开所获得的第一地址偏移量AO1。
然后在第二地址偏移量确定步骤119中确定第二地址偏移量AO2,所述第二地址偏移量由第一地址偏移量与第二程序对象PO2的第一相对存储器地址SPO2之间的差值得出,并且限定了指针地址ZA与上级的第二程序对象PO2的第一相对存储器地址SPO2间隔开的存储器点数量。
在第二数据类型确定步骤121中确定上级的第二程序对象PO2的数据类型。上级的程序对象PO2的数据类型在此包括上级的第二程序对象PO2的下级的子程序对象的数量。此外,数据类型描述了各个下级的子程序对象在上级的第二程序对象PO2中布置的结构。在此为每一个下级的子程序对象指配在被上级的第二程序对象PO2占据的存储器区域之内的存储器位置和存储器大小。在此分别相对于第二程序对象PO2的第一存储器点来确定存储器位置。
然后,在考虑到第二地址偏移量AO2和上级的第二程序对象PO2的结构的情况下确定上级的第二程序对象PO2的下级的子程序对象,所述下级的子程序对象与上级的第二程序对象PO2的第一相对存储器地址SPO2间隔开第二地址偏移量AO2。所标识的这个下级的子程序对象被标识为第一程序对象PO1,所述第一程序对象在第一存储器区域SP1的程序状态PZ之内被布置在对应于指针对象ZO的指针地址ZA的存储器地址处。
与上级的第二程序对象PO2的标识类似地或相似地进行第一程序对象PO1的标识,其方式为,对于上级的第二程序对象PO2的所有下级的程序子对象,根据相应的存储器位置和存储器大小来获取下级的程序子对象与上级的第二程序对象PO2的第一存储器点间隔开的距离。将距离与第二地址偏移量AO2一致的那个下级的程序子对象标识为第一程序对象PO1,所述第一程序对象的存储器地址与程序状态PZ的第一存储器地址SPZ间隔开第一地址偏移量AO1并且因此与指针地址ZA一致。如上文已经说明的,距离为在存储器SP中相应的程序对象PO的第一相对存储器地址与分别直接上级的程序对象PO的第一相对存储器地址所布置的存储器点数量。
第一地址偏移量AO1在此可以表达为在程序状态PZ之内第二地址偏移量AO2和上级的第二程序对象PO2的第一相对存储器地址SPO2的总和。
在全称确定步骤113中所标识的指针对象的完全限定的名称中,既可以给出所标识的第一程序对象PO1的名称也可以给出所标识的上级的第二程序对象PO2的名称。在因此由指针元件引用域型的元素或复合型的组件或字符串型的元素的情况下,由此可以在完全限定的名称中给出所引用的元素或所引用的组件以及对应的域类型、复合类型或字符串类型。
在图5中还说明了如下情况,指针地址ZA被布置在堆栈ST的第二存储器地址SP2中并且由指针元素引用上级的堆栈程序对象的下级的堆栈子对象。类似于上文的说明,由此将这种情况描述为,通过指针元件引用被存储在堆栈中的复合型、域型或字符串型的元素或组件。
为此,第一堆栈程序对象标识步骤149包括帧标识步骤151。在帧标识步骤中标识堆栈的帧,所述帧在堆栈ST的第二存储器区域SP2中占据存储器地址,所述存储器地址中之一与堆栈的第一存储器地址间隔开第一堆栈地址偏移量。为此可以基于堆栈的结构来确定在堆栈中占据包括指针地址ZA的存储器区域的帧,在所述堆栈的结构中为堆栈的每一个程序对象指配存储器位置和存储器大小。
堆栈的帧通常按顺序布置。由此,从帧的内容可以推断出分别随后的帧的构造。堆栈的第一个帧的结构通常是已知的。帧的结构尤其可以通过帧的对应的功能来确定。在适当时可能必须额外地考虑到功能的实施位置来确定帧的结构。
在功能标识步骤153中还标识所标识的帧的所属的功能。
在第二堆栈程序对象标识步骤155中标识上级的第二堆栈程序对象,所述第二堆栈程序对象在先前确定的帧中占据与帧的第一存储器地址间隔开的存储器地址。
第二堆栈程序对象标识步骤155中的方式是与第二程序对象标识步骤117中的方式相似的。
在第二堆栈地址偏移量确定步骤157中确定第二堆栈地址偏移量,所述第二堆栈地址偏移量由第一堆栈地址偏移量与第二堆栈程序对象PO2的第一相对存储器地址之间的差值得出,并且限定了指针地址ZA与上级的第二堆栈程序对象的第一相对存储器地址间隔开的存储器点数量。
在第二堆栈数据类型确定步骤159中确定上级的第二堆栈程序对象的数据类型。
基于第二堆栈地址偏移量和上级的第二堆栈程序对象的数据类型(在所述数据类型中限定了上级的第二堆栈程序对象的下级的堆栈子程序对象的排列结构),将第一堆栈程序对象标识为上级的第二堆栈程序对象的下级的堆栈子程序对象,所述下级的堆栈子程序对象与上级的第二堆栈程序对象的第一相对存储器地址间隔开第二堆栈地址偏移量。
与上述用于确定对应的地址偏移量和标识程序状态的对应的程序对象的方式类似地进行上级的第二堆栈程序对象的标识、第二堆栈地址偏移量的确定和第一堆栈程序对象的标识。
类似于上文的说明,在指针对象ZO的完全限定的名称中既可以包括所引用的组件或所引用的元素的名称,也可以包括上级的域类型、复合类型或字符串类型的名称。此外,指针对象ZO的完全限定的名称可以包括包含指针对象ZO的帧或属于所述帧的功能的名称。
图6示出根据另一个实施方式的用于控制具有对控制程序的程序对象PO的可视化功能的自动化系统200的方法100的另一个流程图。
参考图7和对其提供的说明来描述图6中的方法100的实施方式。
图6中的实施方式基于图5中的实施方式并且包括所有在其中说明的方法步骤。如果在图6中的实施方式中所述方法步骤保持不变,就不再赘述。
图6中的实施方式描述了以下情况:由指针元素引用的指针对象为上级的程序对象在两倍嵌套深度中的下级的子程序对象。在图6中因此描述了以下情况,由指针元素例如引用域型的对象的元素,其中所述域型对象进而为域型的另一个对象的元素。类似地,指针对象可以为复合型的组件,其对象进而为上级的复合型的组件。类似地,域型、复合型和其他类型也可以组合地任意彼此嵌套,其中嵌套深度是任意的。
为此,在图6中的实施方式中,第二程序对象标识步骤117包括第三程序对象标识步骤123,其中将上级的第三程序对象PO3标识为程序状态PZ的程序对象PO,所述程序对象占据布置有指针地址ZA的存储器区域。上级的第三程序对象PO3包括多个下级的子程序对象。下级的子程序对象之一是上级的第二程序对象,所述第二程序对象进而包括第一程序对象PO1。
与关于图5说明的标识上级的第二程序对象PO2类似地进行上级的第三程序对象PO3的标识。
在第三地址偏移量确定步骤125中确定第三地址偏移量AO3。第三地址偏移量AO3在此描述了指针地址ZA(比如与程序状态PZ的第一存储器地址SPZ间隔开第一地址偏移量AO1的地址)与上级的第三程序对象PO3的第一相对存储器地址SPO3的距离。与关于图5说明的确定第二地址偏移量AO2类似地进行确定。
第三地址偏移量AO3在此描述存储器点数量,指针地址ZA与上级的第二程序对象PO3的第一相对存储器地址SPO3间隔开所述存储器点数量。
第三地址偏移量AO3由此由第一地址偏移量AO1与第三程序对象P03的第一相对存储器地址SPO3之间的差值得出。
在第三数据类型确定步骤127中确定上级的第三程序对象PO3的数据类型。
基于上级的第三程序对象PO3的数据类型和第三地址偏移量AO3,在第二程序对象标识步骤117中在执行步骤123、125、127之后将上级的第二程序对象PO2标识为上级的第三程序对象PO3的包括指针地址ZA的下级的程序子对象。与关于图5说明的在第一程序对象标识步骤109中标识第一程序对象PO1类似地通过以下方式进行上级的第二程序对象PO2的标识:确定上级的第三程序对象PO3的下级的程序子对象与第三程序对象PO3的第一存储器点的距离,以及获取上级的第三程序对象PO3的如下的下级的程序子对象,所述下级的程序子对象根据所获取的距离和在上级的第三程序对象PO3的存储器区域中的相应的存储器大小SG而占用包括与第三程序对象PO3的第一相对存储器地址SPO3间隔开第三地址偏移量AO3的存储器地址的区域。
因此,基于第三地址偏移量AO3和关于第三程序对象PO3的所确定的类型的结构的知识来进行上级的第二程序对象PO2的标识,通过所述类型限定了第三程序对象PO3的下级的子程序对象的排列。因此,将第三程序对象PO3的如下的下级的子程序对象确定为第二程序对象PO2,所述下级的子程序对象的存储器地址包括与第三程序对象PO3的第一相对存储器地址间隔开第三地址偏移量A03的存储器点。
类似地,在第二堆栈程序标识步骤155中进行第三堆栈程序标识步骤161,以便确定上级的第三堆栈程序对象。然后在第三堆栈地址偏移量确定步骤163中确定第三堆栈地址偏移量,其方式为确定指针地址ZA与上级的第三堆栈程序对象的第一相对存储器地址之间的距离。然后在第三堆栈数据类型确定步骤165中确定上级的第三堆栈程序对象的数据类型。
以此为基础,在第二堆栈程序对象标识步骤155中标识上级的第二堆栈程序对象。
与标识上级的第二堆栈程序对象类似地或者与确定第二堆栈地址偏移量或第二堆栈程序对象的数据类型类似地进行上级的第三堆栈程序对象的标识或者第三地址偏移量或上级的第三堆栈程序对象的数据类型的确定。
类似于上述在第二程序对象标识步骤117中对上级的第二程序对象PO2的标识,在第二堆栈程序对象标识步骤155中基于第三堆栈地址偏移量和上级的第三堆栈程序对象的数据类型来标识第二堆栈程序对象。
与图5中的实施方式不同,图6中的实施方式中的方法100包括选择步骤187,其中选择程序状态PZ的程序对象或堆栈的堆栈程序对象,根据本发明的方法对于所述程序对象或堆栈程序对象来确定完全限定的名称以及显示完全限定的名称。
图7示出根据图2中的方法100的一个实施方式确定指针对象ZO的示意图。
图7中的程序状态PZ的存储器区域的示意图基于图4中的示意图并且描述了关于图6说明的情况,即,被指针元素引用的指针对象ZO为上级的程序对象在两倍嵌套深度中的下级的子程序对象。
为此,在图7中程序状态PZ被布置在存储器SP的第一存储器区域SP1中,所述程序状态在图7中的实施方式中包括程序对象PO和另外的程序对象PO,所述另外的程序对象被形成为上级的第三程序对象PO3,所述第三程序对象进而包括下级的子程序对象TPO。上级的第三程序对象PO3还以上级的第二程序对象PO2的形式包括下级的子程序对象。上级的第二程序对象PO2进而包括三个下级的子程序对象TPO,其中一个下级的子程序对象TPO被标识为第一程序对象PO1。
类似于图4,第一程序对象PO1被标识为指针对象ZO并且在程序状态PZ的第一存储器区域SP1中被布置在指针地址ZA处。
另外,在图7中展示了第一地址偏移量AO1,所述第一地址偏移量描述了指针地址ZA与程序状态PZ的第一存储器地址SPZ的距离。此外展示了第二地址偏移量AO2,所述第二地址偏移量由第一地址偏移量AO1与第二程序对象PO2的第一相对存储器地址SPO2和第三程序对象PO3的第一相对存储器地址SPO3之间的差值得出并且描述了第二程序对象PO2的第一相对存储器地址SPO2与如下的存储器点之间的距离,所述存储器点与程序状态PZ的第一存储器地址SPZ间隔开第一地址偏移量AO1。
另外展示了第三地址偏移量AO3,所述第三地址偏移量由第一地址偏移量AO1与第三程序对象PO3的第一相对存储器地址SPO3之间的差值得出并且描述了第三程序对象PO3的第一相对存储器地址SPO3与如下的存储器点之间的距离,所述存储器点与程序状态PZ的第一存储器地址SPZ间隔开第一地址偏移量AO1。
为了将程序状态PZ的程序对象PO标识为由指针元素引用的指针对象ZO,首先确定第一地址偏移量AO1,所述第一地址偏移量描述了指针地址ZA与程序状态PZ的第一存储器地址SPZ的距离。然后,基于第一地址偏移量AO1和程序状态PZ的排列结构(所述排列结构为程序状态PZ的自身不是上级的程序对象的下级的程序对象的每一个程序对象PO指定存储器位置P和存储器大小SG)将上级的第三程序对象PO3标识为程序状态PZ的程序对象PO,所述程序对象在程序状态PZ的第一存储器区域SP1中占据包括与程序状态PZ的第一存储器地址SPZ间隔开第一地址偏移量AO1的存储器点的存储器区域。
在标识上级的第三程序对象PO3之后确定第三地址偏移量AO3,所述第三地址偏移量由第一地址偏移量AO1与第三程序对象PO3的第一相对存储器地址SPO3之间的差值得出,并且限定了指针地址ZA与上级的第三程序对象的第一相对存储器地址SPO3间隔开的存储器点数量。此外,确定上级的第三程序对象的数据类型,所述数据类型在图7中的实施方式中表明上级的第三程序对象PO3以上级的第二程序对象PO2的形式包括下级的子程序对象。
然后,将上级的第二程序对象PO2标识为上级的第三程序对象PO3的下级的子程序对象,所述下级的子程序对象在程序状态PZ的存储器区域中占据包括与上级的第三程序对象PO3的第一相对存储器点SPO3间隔开第三地址偏移量AO3的存储器点的存储器区域。
然后确定第二地址偏移量AO2,所述第二地址偏移量由第一地址偏移量AO1与第三程序对象PO3的第一相对存储器地址SPO3和第二程序对象PO2的第一相对存储器地址SPO2的总和之间的差值得出,并且描述了指针地址ZA与上级的第二程序对象PO2的第一相对存储器地址SPO2间隔开的存储器点数量。另外获取上级的第二程序对象PO2的数据类型,所述数据类型在图7中实施方式中表明,上级的第二程序对象PO2包括三个下级的子程序对象TPO,所述下级的子程序对象被布置在被上级的第二程序对象PO2占据的存储器区域之内的第一存储器位置P1、第二存储器位置P2和第三存储器位置P3中。在图7中仅上级的第二程序对象PO2的下级的子程序对象的存储器位置设有附图标记。但是,另外,程序状态PZ的所有其他的程序对象PO、尤其上级的第三程序对象PO3还有上级的第二程序对象PO2在程序状态PZ的存储器区域之内具有个别限定的存储器位置。
接着基于第二地址偏移量AO2和上级的第二程序对象PO2的数据类型的数据结构将第一程序对象PO1标识为上级的第二程序对象PO2的下级的子程序对象TPO,所述下级的子程序对象与上级的第二程序对象PO2的第一相对存储器地址SPO2间隔开第二地址偏移量AO2。另外,第一程序对象PO1因此被标识为程序状态PZ的程序对象PO,所述程序对象在第一存储器区域SP1中被存储在对应于指针对象ZO的指针地址ZA的存储器地址处。由此将所标识的第一程序对象PO1标识为指针对象ZO。
图7中解说的对标识指针对象的图形化展示单纯用于解释的目的,以便阐释基于所确定的地址偏移量和各个程序对象或程序状态PZ的相应的数据结构或排列结构来标识各个彼此嵌套的程序对象的方式。图7中解说的程序状态PZ的存储器区域的展示是纯粹示例性的,并且既不是按尺寸比例展示的,展示的也不是在现实中执行自动化系统的控制程序时可能期望的程序状态。
展示地址偏移量和第一相对存储器地址的箭头的长度代表相应的箭头所指的相应的存储器地址被布置与程序状态的第一存储器地址或分别上级的程序对象PO的第一相对地址间隔开的存储器点数量。
图8示出根据另一个实施方式的用于控制具有对控制程序的程序对象PO的可视化功能的自动化系统200的方法100的另一个流程图。
在图8中展示的方法100的实施方式基于图6中的实施方式并且包括所有在其中说明的方法步骤。如果在图8中的实施方式中所述方法步骤保持不变,就不再进一步描述。
在图8中展示了如下情况:由指针元素引用指针对象ZO,所述指针对象为程序状态PZ的上级的程序对象PO在n倍嵌套深度中的下级的子程序对象。在图8中的实施方式中展示了可以递归地执行方法100,其方式为,可将方法100递归应用n次,以便标识被形成为上级的程序对象PO的具有n倍嵌套深度的下级的子程序对象的程序对象PO。
为此,第一程序对象标识步骤109包括第n程序对象标识步骤129,其中标识上级的第n程序对象。然后在第n地址偏移量确定步骤131中确定第n地址偏移量,所述第n地址偏移量由第一地址偏移量AO1与第n程序对象的第一相对存储器地址之间的差值来确定。另外,在第n数据类型确定步骤133中确定上级的第n程序对象的数据类型。
然后,在第n-1程序对象标识步骤135中将上级的第n程序对象的如下的下级的子程序对象标识为上级的第n-1程序对象:所述下级的子程序对象包括与上级的第n程序对象的第一相对存储器地址间隔开第n地址偏移量的地址。然后,在第n-1地址偏移量确定步骤137中确定第n-1地址偏移量,所述第n-1地址偏移量由第一地址偏移量AO1与第n程序对象的第一相对存储器地址和第n-1程序对象的第一相对地址的总和之间的差值确定。然后,在第n-1数据类型确定步骤139中确定上级的第n-1程序对象的数据类型。
在此基础上,在第n-2程序对象标识步骤141中将上级的第n-1程序对象的下级的子程序对象标识为上级的第n-2程序对象。
对于存在n-2大于2的情况,以递归形式继续进行所述方法,直至可以标识上级的第二程序对象PO2。然后在第二地址偏移量确定步骤119中确定第二地址偏移量并且在第二数据类型确定步骤121中确定上级的第二程序对象PO2的数据类型。在这个实施方式中,第二地址偏移量AO2由第一地址偏移量AO1与第n程序对象至第二程序对象的第一相对存储器地址的总和之间的差值得出。在此基础上,第一程序对象PO1被标识为程序对象,所述程序对象在程序状态PZ的第一存储器区域SP1中被存储在对应于指针地址ZA的存储器地址处。
在本文中说明的实施方式中,第n程序对象具有n-1倍的嵌套深度并且包括第n-1程序对象。第n-1程序对象进而包括第n-2程序对象。第n-2程序对象进而包括第n-3程序对象。这一行列延续直至第二程序对象,所述第二程序对象自身包括由指针元素引用的第一程序对象。所提及的所有程序对象除了所提及的之外还可以包括其他程序对象。
通过递归执行所提及的步骤,相继地标识具有对应的嵌套深度的分别在第n程序对象之内嵌套的程序对象,直至标识第二程序对象并且最后标识由指针元素引用的第一程序对象。
类似的内容适用于第n堆栈程序对象,所述第n堆栈程序对象具有n-1倍的嵌套深度并且与上述情况类似地包括嵌套的堆栈程序对象。
对于如下情况可以类似地进行:由指针元素引用指针对象ZO,所述指针对象为被存储在堆栈中的上级的程序对象在n倍嵌套深度中的下级的子程序对象。
为此,第一堆栈程序对象标识步骤149包括第n堆栈程序对象标识步骤167,其中标识上级的第n堆栈程序对象。然后在第n堆栈地址偏移量确定步骤169中确定第n堆栈地址偏移量。然后在第n堆栈数据类型确定步骤171中标识上级的第n堆栈程序对象的数据类型。
然后,在第n-1堆栈程序对象标识步骤173中将上级的第n程序对象的下级的堆栈子程序对象标识为上级的第n-1堆栈程序对象。然后在第n-1堆栈地址偏移量确定步骤175中确定第n-1堆栈地址偏移量。然后在第n-1堆栈数据类型确定步骤177中确定上级的第n-1堆栈程序对象的数据类型。
然后,在第二堆栈程序对象标识步骤179中将上级的第n-1堆栈程序对象的下级的堆栈子程序对象标识为上级的第n-2堆栈程序对象。
对于存在n-2大于2的情况,在另一个递归步骤181中以递归形式进行所述方法,直至将下级的堆栈子程序对象标识为上级的第二堆栈子程序对象。然后在第二堆栈地址偏移量确定步骤157中确定第二堆栈地址偏移量。然后在第二堆栈数据类型确定步骤159中确定上级的第二堆栈程序对象的数据类型。最终,在此基础上,将第一堆栈程序对象标识为堆栈程序对象,所述堆栈程序对象在堆栈的第二存储器区域中被存储在对应于指针对象的指针地址ZA的存储器地址处。
然后,在全称确定步骤113中可以显示上级的程序对象或堆栈程序对象以及第一程序对象或第一堆栈程序对象的所有名称,从而展示所引用的指针对象的各个程序对象或堆栈程序对象的完整的嵌套层级。
各个程序对象标识步骤和堆栈程序对象标识步骤还有地址偏移量确定步骤和堆栈地址偏移量确定步骤以及数据类型确定步骤和堆栈数据类型确定步骤的执行都类似于上述实施方式来进行。图8中的实施方式与上述实施方式的区别仅仅在于所执行的方法100的递归深度。
本发明的方法100可以递归地应用于程序状态PZ的相应的程序对象PO的任意的嵌套深度。另外,程序对象和堆栈程序对象既可以是复合型的,也可以是域型或其他类型的,其中所提及的数据类型的组合也是可能的。
Claims (17)
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)的第一存储器点间隔开的存储器点数量;
在第一堆栈地址偏移量确定步骤(147)中确定所述指针元素的指针地址(ZA)的第一堆栈地址偏移量,其中所述第一堆栈地址偏移量限定了所述指针元素的指针地址(ZA)在所述第二存储器区域(SP2)中与所述堆栈(ST)的第一存储器地址间隔开的存储器点数量;
在第一堆栈程序对象标识步骤(149)中,将根据所述堆栈(ST)的排列结构与所述堆栈(ST)的第一存储器点间隔开所述第一堆栈地址偏移量的堆栈程序对象标识为第一堆栈程序对象,在所述排列结构中为每一个堆栈程序对象指定存储器位置(P)和存储器大小(SG),所述第一堆栈程序对象的存储器地址在所述第二存储器区域(SP2)中对应于所述指针元素的指针地址(ZA);以及
在所述指针对象标识步骤(111)中用由所述指针元素引用的指针对象(ZO)来标识所述第一堆栈程序对象。
6.根据权利要求5所述的方法(100),其中所述第一堆栈程序对象标识步骤(149)包括:
在帧标识步骤(151)中,在考虑到所述指针元素的指针地址(ZA)的第一堆栈地址偏移量和所述堆栈(ST)的排列结构的情况下标识所述堆栈(ST)的帧,所述帧在所述堆栈(ST)的第二存储器区域(SP2)中占据包括所述指针元素的指针地址(ZA)的存储器地址的存储器区域;
在功能标识步骤(153)中标识所述堆栈(ST)的所标识的帧的功能;以及
将所标识的功能的局部变量标识为所述堆栈(ST)的第一堆栈程序对象,所述局部变量的存储器地址对应于所述指针元素的指针地址(ZA),所述第一堆栈程序对象的存储器地址对应于所述指针元素的指针地址(ZA)。
7.根据权利要求5或6所述的方法(100),其中所述堆栈(ST)的堆栈程序对象构造为上级的第二堆栈程序对象,其中所述上级的第二堆栈程序对象包括至少一个下级的堆栈子程序对象,其中所述第一堆栈程序对象作为下级的堆栈子程序对象被包括在所述上级的第二堆栈程序对象中,并且其中所述第一堆栈程序对象标识步骤(149)包括:
在第二堆栈程序对象标识步骤(155)中,将所述堆栈(ST)的根据相应的存储器位置(P)和存储器大小(SG)限定了包括与所述堆栈(ST)的第一存储器点间隔开所述第一堆栈地址偏移量的存储器点的存储器区域的程序对象标识为所述上级的第二堆栈程序对象,并且将所述上级的第二堆栈程序对象标识为在所述堆栈(ST)的第二存储器区域(SP2)中占据包括所述指针元素的指针地址(ZA)的存储器区域的程序对象;
在第二堆栈地址偏移量确定步骤(157)中确定第二堆栈地址偏移量,其中所述第二堆栈地址偏移量由所述第一堆栈地址偏移量与所述第二堆栈程序对象的第一相对存储器地址之间的差值确定;
在第二堆栈数据类型确定步骤(159)中确定所述上级的第二堆栈程序对象的数据类型,其中所述数据类型确定所述上级的第二堆栈程序对象的数据结构,在所述数据结构中限定了所述上级的第二堆栈程序对象的下级的堆栈子程序对象的数量并且对于每一个下级的堆栈子程序对象确定了在所述上级的第二程序对象的数据结构之内的存储器大小(SG)和存储器位置(P);
标识所述上级的第二堆栈程序对象的根据所述上级的第二堆栈程序对象的数据结构与所述上级的第二堆栈程序对象的第一存储器点间隔开所述第二地址偏移量的下级的堆栈子程序对象,并且将所述上级的第二堆栈程序对象的所述下级的堆栈子程序对象标识为所述第一堆栈程序对象,所述第一堆栈程序对象的存储器地址对应于所述指针元素的指针地址(ZA)。
8.根据权利要求7所述的方法(100),其中所述堆栈(ST)的堆栈程序对象构造为上级的第三堆栈程序对象,其中所述上级的第三堆栈程序对象包括至少一个下级的堆栈子程序对象,其中所述上级的第二堆栈程序对象作为下级的堆栈子程序对象被包括在所述上级的第三堆栈程序对象中,并且其中所述第二堆栈程序对象标识步骤(155)包括:
在第三堆栈程序对象标识步骤(161)中,将所述堆栈(ST)的根据相应的存储器位置(P)和存储器大小(SG)限定了包括与所述堆栈(ST)的第一存储器点间隔开所述第一堆栈地址偏移量的存储器点的存储器区域的程序对象标识为所述上级的第三堆栈程序对象,并且将所述上级的第三堆栈程序对象标识为在所述堆栈(ST)的第二存储器区域(SP2)中占据包括所述指针元素的指针地址(ZA)的存储器区域的程序对象;
在第三堆栈地址偏移量确定步骤(163)中确定第三堆栈地址偏移量,其中所述第三堆栈地址偏移量由所述第一堆栈地址偏移量与所述第三堆栈程序对象的第一相对存储器地址之间的差值确定;
在第三堆栈数据类型确定步骤(165)中确定所述上级的第三堆栈程序对象的数据类型,其中所述数据类型确定所述上级的第三堆栈程序对象的数据结构,在所述数据结构中限定了所述上级的第三堆栈程序对象的下级的堆栈子程序对象的数量并且对于每一个下级的堆栈子程序对象确定了在所述上级的第三堆栈程序对象的数据结构之内的存储器大小(SG)和存储器位置(P);
标识所述上级的第三堆栈程序对象的根据所述上级的第三堆栈程序对象的数据结构与所述上级的第三堆栈程序对象的第一存储器点间隔开所述第三堆栈地址偏移量的下级的堆栈子程序对象,并且将所述上级的第三堆栈程序对象的所述下级的堆栈子程序对象标识为所述上级的第二堆栈程序对象,所述上级的第二堆栈程序对象在所述堆栈的第二存储器区域(SP2)中占据包括所述指针元素的指针地址(ZA)的存储器区域;以及
其中所述第二堆栈地址偏移量由所述第一堆栈地址偏移量与所述第三堆栈程序对象的第一相对存储器地址和所述第二堆栈程序对象的第一相对存储器地址的总和之间的差值确定。
9.根据权利要求7或8所述的方法(100),其中所述堆栈(ST)的堆栈程序对象构造为上级的第n堆栈程序对象,其中所述上级的第n堆栈程序对象包括以n-1倍的嵌套深度互相包含的下级的堆栈子程序对象,其中所述上级的第二堆栈程序对象作为下级的堆栈子程序对象以第n-2嵌套深度被包括在所述上级的第n堆栈程序对象中,其中所述第一堆栈程序对象作为下级的堆栈子程序对象以第n-1嵌套深度被包括在所述上级的第n堆栈程序对象中,其中n为自然数并且大于或等于4,并且其中所述第一堆栈程序对象标识步骤(149)包括:
在第n堆栈程序对象标识步骤(167)中,将所述堆栈(ST)的根据相应的存储器位置(P)和存储器大小(SG)限定了包括与所述堆栈(ST)的第一存储器点间隔开所述第一堆栈地址偏移量的存储器点的存储器区域的程序对象标识为所述上级的第n堆栈程序对象,并且将所述上级的第n堆栈程序对象标识为在所述堆栈(ST)的第二存储器区域(SP2)中占据包括所述指针元素的指针地址(ZA)的存储器区域的程序对象;
在第n堆栈地址偏移量确定步骤(169)中确定第n堆栈地址偏移量,其中所述第n堆栈地址偏移量由所述第一堆栈地址偏移量与所述第n堆栈程序对象的第一相对存储器地址之间的差值确定;
在第n堆栈数据类型确定步骤(171)中确定所述上级的第n堆栈程序对象的数据类型,其中所述数据类型确定所述上级的第n堆栈程序对象的数据结构,在所述数据结构中限定了所述上级的第n堆栈程序对象的下级的堆栈子程序对象的数量并且对于每一个下级的堆栈子程序对象确定了在所述上级的第n堆栈程序对象的数据结构之内的存储器大小(SG)和存储器位置(P);
在第n-1堆栈程序对象标识步骤(173)中,标识所述上级的第n堆栈程序对象的根据所述上级的第n堆栈程序对象的数据结构与所述上级的第n堆栈程序对象的第一存储器点间隔开所述第n堆栈地址偏移量的下级的堆栈子程序对象,并且将所述上级的第n堆栈程序对象的所述下级的堆栈子程序对象标识为上级的第n-1堆栈程序对象,所述上级的第n-1堆栈程序对象在所述程序状态(ST)的第二存储器区域(SP2)中占据包括所述指针元素的指针地址(ZA)的存储器区域;
其中所述第n-1堆栈程序对象标识步骤(173)包括:
在第n-1堆栈地址偏移量确定步骤(175)中确定第n-1堆栈地址偏移量,其中所述第n-1堆栈地址偏移量由所述第一堆栈地址偏移量与所述第n堆栈程序对象的第一相对存储器地址和所述第n-1堆栈程序对象的第一相对存储器地址的总和之间的差值确定;
在第n-1堆栈数据类型确定步骤(177)中确定所述上级的第n堆栈程序对象的数据类型,其中所述数据类型确定所述上级的第n-1堆栈程序对象的数据结构,在所述数据结构中限定了所述上级的第n-1堆栈程序对象的下级的堆栈子程序对象的数量并且对于每一个下级的堆栈子程序对象确定了在所述上级的第n-1堆栈程序对象的数据结构之内的存储器大小(SG)和存储器位置(P);
在第n-2堆栈程序对象标识步骤(179)中,标识所述上级的第n-1堆栈程序对象的根据所述上级的第n-1堆栈程序对象的数据结构与所述上级的第n-1堆栈程序对象的第一存储器点间隔开所述第n-1堆栈地址偏移量的下级的堆栈子程序对象,并且将所述上级的第n-1堆栈程序对象的所述下级的堆栈子程序对象标识为上级的第n-2堆栈程序对象,所述上级的第n-2堆栈程序对象在所述程序状态(PZ)的第二存储器区域(SP2)中占据包括所述指针元素的指针地址(ZA)的存储器区域;
其中所述第n-2堆栈程序对象标识步骤(179)包括:
如果n-2>2,则在另外的递归步骤(181)中递归地执行所述第n-1堆栈地址偏移量确定步骤(175)和所述第n-2堆栈程序对象标识步骤(179);
在所述第二堆栈地址偏移量确定步骤(157)中确定第二堆栈地址偏移量,其中所述第二堆栈地址偏移量由所述第一堆栈地址偏移量与所述第n堆栈程序对象至所述第二堆栈程序对象的第一相对存储器地址的总和之间的差值确定;
在第二堆栈数据类型确定步骤(159)中确定所述上级的第二堆栈程序对象的数据类型,其中所述数据类型确定所述上级的第二堆栈程序对象的数据结构,在所述数据结构中限定了所述上级的第二堆栈程序对象的下级的堆栈子程序对象的数量并且对于每一个下级的堆栈子程序对象确定了在所述上级的第二堆栈程序对象的数据结构之内的存储器大小(SG)和存储器位置(P);
标识所述上级的第二堆栈程序对象的根据所述上级的第二堆栈程序对象的数据结构与所述上级的第二堆栈程序对象的第一存储器点间隔开所述第二地址偏移量的下级的堆栈子程序对象,并且将所述上级的第二堆栈程序对象的所述下级的堆栈子程序对象标识为所述第一堆栈程序对象,所述第一堆栈程序对象的存储器地址对应于所述指针元素的指针地址(ZA)。
10.根据以上权利要求之一所述的方法(100),还包括:
在第一数据类型确定步骤(183)中确定所述第一程序对象(PO1)的数据类型,其中所述第一程序对象的数据类型确定所述第一程序对象(PO1)的数据结构;和/或
在第一堆栈数据类型确定步骤(185)中确定所述第一堆栈程序对象的数据类型,其中所述第一程序对象的数据类型确定所述第一程序对象(PO1)的数据结构。
11.根据以上权利要求之一所述的方法(100),其中由所述指针元素引用的指针对象(ZO)的完全限定的名称包括所述第一程序对象和/或所述上级的程序对象的名称或者所述第一堆栈程序对象和/或所述上级的堆栈程序对象和/或所标识的帧的名称和/或所标识的功能的名字。
12.根据以上权利要求之一所述的方法(100),其中所述上级的程序对象或者上级的堆栈程序对象为复合型、域型或字符串型。
13.根据以上权利要求之一所述的方法(100),还包括:
在选择步骤(187)中选择所述程序状态(PZ)的多个程序对象,其中所选择的程序对象为所述指针元素;
在所述全称确定步骤(113)中确定所选择的程序对象的完全限定的名称;以及
在所述显示步骤(115)中在与所述控制器相连的所述显示器元件上显示所选择的程序对象的完全限定的名称。
14.根据以上权利要求之一所述的方法(100),其中在所述显示步骤(115)中除所述完全限定的名称之外还显示相应的程序对象(PO)的值,并且其中所述方法(100)还包括:
在适配步骤(189)中适配程序对象(PO)的至少一个值;以及
在控制步骤(191)中在考虑到所述至少一个程序对象(PO)的所述至少一个经改变的值的情况下通过所述控制程序来控制自动化过程。
15.根据以上权利要求之一所述的方法(100),其中所述方法(100)能够在调试过程中实施和/或被实施成所述自动化系统(200)的控制过程。
16.根据以上权利要求之一所述的方法(100),其中所述显示器元件被构造为人机界面并且被集成到所述控制器中。
17.一种自动化系统(200),具有控制器和与所述控制器(201)相连的显示器元件(207),其中所述控制器(201)构造为实施根据以上权利要求1至16之一所述的方法(100)。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020119853.1 | 2020-07-28 | ||
DE102020119853.1A DE102020119853B3 (de) | 2020-07-28 | 2020-07-28 | Verfahren zum Steuern eines Automatisierungssystems mit Visualisierung von Programmobjekten eines Steuerprogramms des Automatisierungssystems und Automatisierungssystem |
PCT/EP2021/070993 WO2022023338A1 (de) | 2020-07-28 | 2021-07-27 | Verfahren zum steuern eines automatisierungssystems mit visualisierung von programmobjekten eines steuerprogramms des automatisierungssystems und automatisierungssystem |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115836257A true CN115836257A (zh) | 2023-03-21 |
CN115836257B CN115836257B (zh) | 2024-06-07 |
Family
ID=76432466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180048549.6A Active CN115836257B (zh) | 2020-07-28 | 2021-07-27 | 用于控制具有对自动化系统的控制程序的程序对象的可视化功能的自动化系统的方法以及自动化系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US12032962B2 (zh) |
EP (1) | EP4168865B1 (zh) |
JP (1) | JP7487405B2 (zh) |
CN (1) | CN115836257B (zh) |
DE (1) | DE102020119853B3 (zh) |
WO (1) | WO2022023338A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6871218B2 (ja) * | 2018-10-12 | 2021-05-12 | ファナック株式会社 | 加工情報記録装置、加工情報記録方法及びプログラム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130275908A1 (en) * | 2012-04-16 | 2013-10-17 | Rockwell Automation Technologies, Inc. | Mapping between hierarchies in an industrial automation system |
CN103514099A (zh) * | 2012-06-14 | 2014-01-15 | 西门子公司 | 用于对存储器间接寻址的工业自动化部件和方法 |
CN107045478A (zh) * | 2017-04-28 | 2017-08-15 | 福建星瑞格软件有限公司 | 一种轻量级线程分析与运行可视化方法 |
CN108459569A (zh) * | 2017-02-21 | 2018-08-28 | 西门子公司 | 工业过程自动化系统的工程设计系统运行方法和控制程序 |
CN108780304A (zh) * | 2016-03-31 | 2018-11-09 | 东芝三菱电机产业系统株式会社 | 成套设备监视控制系统用数据再生装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3927042B2 (ja) | 2002-02-05 | 2007-06-06 | 株式会社東芝 | 制御システム |
US6961924B2 (en) | 2002-05-21 | 2005-11-01 | International Business Machines Corporation | Displaying variable usage while debugging |
US7464373B1 (en) | 2003-12-10 | 2008-12-09 | The Mathworks, Inc. | System and method for using a graphical debugging tool in a modeling and execution environment |
US10831884B1 (en) * | 2019-09-16 | 2020-11-10 | International Business Machines Corporation | Nested function pointer calls |
-
2020
- 2020-07-28 DE DE102020119853.1A patent/DE102020119853B3/de active Active
-
2021
- 2021-07-27 WO PCT/EP2021/070993 patent/WO2022023338A1/de active Search and Examination
- 2021-07-27 CN CN202180048549.6A patent/CN115836257B/zh active Active
- 2021-07-27 EP EP21749823.7A patent/EP4168865B1/de active Active
- 2021-07-27 JP JP2023506001A patent/JP7487405B2/ja active Active
-
2023
- 2023-01-05 US US18/150,339 patent/US12032962B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130275908A1 (en) * | 2012-04-16 | 2013-10-17 | Rockwell Automation Technologies, Inc. | Mapping between hierarchies in an industrial automation system |
CN103514099A (zh) * | 2012-06-14 | 2014-01-15 | 西门子公司 | 用于对存储器间接寻址的工业自动化部件和方法 |
CN108780304A (zh) * | 2016-03-31 | 2018-11-09 | 东芝三菱电机产业系统株式会社 | 成套设备监视控制系统用数据再生装置 |
CN108459569A (zh) * | 2017-02-21 | 2018-08-28 | 西门子公司 | 工业过程自动化系统的工程设计系统运行方法和控制程序 |
CN107045478A (zh) * | 2017-04-28 | 2017-08-15 | 福建星瑞格软件有限公司 | 一种轻量级线程分析与运行可视化方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2022023338A1 (de) | 2022-02-03 |
EP4168865C0 (de) | 2023-09-13 |
EP4168865A1 (de) | 2023-04-26 |
US12032962B2 (en) | 2024-07-09 |
JP2023535964A (ja) | 2023-08-22 |
US20230146492A1 (en) | 2023-05-11 |
DE102020119853B3 (de) | 2021-07-08 |
CN115836257B (zh) | 2024-06-07 |
JP7487405B2 (ja) | 2024-05-20 |
EP4168865B1 (de) | 2023-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7117395B2 (en) | Testing method and testing device for starting up systems which are controlled by means of a program logic | |
US6477435B1 (en) | Automated programming system for industrial control using area-model | |
US5822511A (en) | Smart compare tool and method | |
US5960441A (en) | Systems and methods for providing dynamic data referencing in a generic data exchange environment | |
US6233719B1 (en) | System and method for analyzing semiconductor production data | |
US6854111B1 (en) | Library manager for automated programming of industrial controls | |
US6177942B1 (en) | Part development system | |
US8781609B2 (en) | Signal processing network | |
CN115836257A (zh) | 用于控制具有对自动化系统的控制程序的程序对象的可视化功能的自动化系统的方法以及自动化系统 | |
EP0633515B1 (en) | Electronic control system | |
ZA200506289B (en) | Method for determining the processing sequence of function blocks of an automated system and corresponding automated system | |
DE102019008598A1 (de) | Identifikation und Visualisierung von Assoziationen zwischen Code, der von einem Modell generiert ist, und Quellen, welche die Codegeneration beeinflussen | |
JP2006243841A (ja) | Plc用ツール装置 | |
WO2022054792A1 (en) | Method and apparatus for multi-core processor management in a motion control system | |
US6449587B1 (en) | Process for the automatic machine production of engineering data | |
US7231261B2 (en) | Method for automatically obtaining an operational sequence of processes and a tool for performing such method | |
CN114721736A (zh) | 一种基于软plc的数据管理方法和系统 | |
EP4027208A1 (en) | Program development device, project creation method, and program for implementing program development device | |
US20050166190A1 (en) | Method for generating an automation program | |
US20030188292A1 (en) | System and method for configuration using an object tree formed of hierarchically graduatable objects | |
US20110010689A1 (en) | System for Writing a Simulation Program | |
EP4321947A1 (en) | Communicating with field devices based on semantically identified variables | |
EP3757690A1 (en) | Development of an application for a technical system | |
Schroder | Top-down designs of instruction systolic arrays for polynomial interpolation and evaluation | |
JPH04260973A (ja) | 回路定数最適化システム |
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 |