No assignee for this patent application has been made.
Reporters obtained the following quote from the background information supplied by the inventors: "The invention relates to a method for the indirectly addressing a number of cells in a memory, and to an automation component for use in an industrial automation arrangement for implementing the method.
"For read or write access to memory cells in a microprocessor architecture, programs use addresses which are mapped by variables, for example. Alongside the direct denotation of variables or other types of addresses, indirect addressing is often also used, such memory access not referencing the relevant cell(s) of a memory directly, but rather the cell(s) to which the memory access refers being ascertained by other variables only at the runtime of the program. Particularly when programs are written for programmable logic controllers (PLC), complex programs frequently involve the use of indirect addressing. This means that the address of the referenced memory area or of the referenced cells in the memory is first determined or formed during the execution of a program, for example, as an index number for an indexed variable or as a 'string' for a text-based variable name. The final addresses for memory access operations are therefore first available at runtime, but not during the actual writing of a program for the programmable logic controller.
"For the case of the programming languages that are used for programmable logic controllers, e.g., AWL (instruction list) or structured control language (SCL), a programmer has the option of providing indirect addressing for memory areas of data blocks, physical inputs, physical outputs and globally addressable memory areas (flags). In this context, the use of indirect addressing has associated disadvantages on a case-by-case basis, however. By way of example, what are known as 'cross references' can be established only with difficulty or not at all at the programming time, i.e., an overview of the access operations for a particular address or memory cell often cannot be formed with the necessary exactness at the programming time because the actual addresses are not generated until the runtime of the program. It is thus barely comprehensible whether and which memory areas are manipulated by indirect addressing, and which are not. In addition, a 'protection problem' arises, i.e., when the addresses are formed at the runtime it is necessary for additional measures to ensure that nonvalid or nonexistent memory areas are not mistakenly accessed, which would result in an error at runtime. With respect to the physical interfaces, particularly with respect to the control outputs, it is possible for access operations on such outputs as are either nonexistent or permitted to be manipulated only by other program portions or other subroutines to be formed unintentionally at runtime."
In addition to obtaining background information on this patent application, VerticalNews editors also obtained the inventor's summary information for this patent application: "It is therefore an object of the present invention to optimize the indirect addressing of memories particularly for programmable logic controllers.
"In this context, it is a core idea of the solution to the problem that a table or other association which records those addresses that are intended to be accessible to the indirect addressing is stipulated at the actual programming time. By accessing this association, which can be made using an indexed variable, for example, it is a desire to ascertain the physical address or an associated variable for the desired memory area or for the desired memory cells at runtime, so that access operations on other memory cells can be safely prevented by means of the indirect addressing.
"These and other objects and advantages are achieved in accordance with the invention, where a method for the indirect addressing of a number of cells in a memory by a program of an automation component in an industrial automation arrangement is provided in which, for the purpose of accessing a number of cells in the memory, the associated address is ascertained at the runtime of the program. Here, in the course of writing the program, an association between a structure and at least a portion of the addresses that can be used by the program is created and stored, where at runtime, for the purpose of accessing the number of cells in the memory, the program ascertains a relevant element of the structure in a first step, reads the address associated with the ascertained element from the stored association in a second step, and uses the address to access the number of cells in the memory in a third step. The indirect addressing using the previously stored and stipulated association makes it possible to reliably avoid an incorrect memory access that results from invalid indirect addressing. Furthermore, the formation of the indirect addresses by the program is simplified because the alphanumeric variable names, which are also complex on a case-by-case basis, and which are used as addresses do not need to be formed as text, but rather can be called using indexing by the association.
"It is also an object to provide an automation component for use in an industrial automation arrangement, where the automation component is configured to provide indirect addressing of a number of cells in a memory by a program. Here, the automation component is configured to execute the first, second and third steps of the above-described method. Such an automation component can implement the advantages described in connection with the method.
"In one advantageous embodiment, upon access to the number of cells in the memory, alternatively or additionally a physical input or alternatively or additionally a physical output of the automation component or of an input/output unit that is linked to the automation component is read or set. This has the advantage that the access to interfaces of an automation component can be regulated by appropriate inputs in the association. As a result, the other inputs/outputs cannot mistakenly be addressed at runtime.
"The method can be used in a particularly universal manner when the address used is a variable that references the desired cells in the physical memory or other addresses. This has the advantage that the variables are simultaneously also accessible to direct addressing at runtime. As a result, the same memory cells can be addressed either indirectly or directly. However, this results both in the variable continuing to be able to be used with a 'plain name', which thus has an obvious meaning, and in simple generation of the access being possible using the indirect addressing at runtime. Here, the access security is increased if direct access by the program or at least by portions of the program to the addresses that are referenced in the association can be blocked, which allows direct access to variables or other addresses to be prevented on a case-by-case basis for security-critical memory cells, particularly input/outputs, for example.
"Advantageously, the second and third steps of the method are performed by an operating system or by a piece of firmware in the automation component. As a result, the handling of the indirect addressing does not need to be provided in the program itself.
"A particularly clear association, and one which can be handled well from the point of view of data engineering, is obtained when the association used is a matrix, particularly a two-dimensional matrix. In this case, the structure advantageously used is a number of elements of an indexed variable or of a one-dimensional array which, in a second column and/or row of the matrix, compares those addresses, variables or descriptors of the memory cells which can be reached by the association.
"A structured access concept can easily be converted into reality by grouping the variables within the association to form a plurality of groups and/or by using a plurality of associations that each represent a group. This makes it possible to stipulate rights for addressing and rights for the type of access (e.g., read or write) on a group-granular basis. The rights management becomes particularly clear by virtue of each group comprising at least one separate one-dimensional array as a structure. The descriptors of the possibly identified elements of such one-dimensional arrays can also be easily produced in an automation program. Particularly by the grouping, not only is it possible to set the access authorization for various groups of memory cells or addresses, but the access authorization can advantageously also relate to at least one function, a program block or another program portion, with only functions, program blocks or program portions that are associated with the respective group being approved for defined access to the addresses associated with the group. To this end, it is advantageously also possible to expand the association by a further column or row in which the authorized program portions, program blocks or functions with their respective type of authorization (e.g., read and/or write) can respectively be stipulated on an address-granular basis at the actual programming time.
"In one particularly advantageous embodiment of the invention, it is possible to store the structure in a data block or similar object from the program. This has the advantage that data blocks are already known in known programming systems for programmable logic controllers, with the result that the storage and handling thereof can be effected using known means.
"Other objects and features of the present invention will become apparent from the following detailed description considered in conjunction with the accompanying drawings. It is to be understood, however, that the drawings are designed solely for purposes of illustration and not as a definition of the limits of the invention, for which reference should be made to the appended claims. It should be further understood that the drawings are not necessarily drawn to scale and that, unless otherwise indicated, they are merely intended to conceptually illustrate the structures and procedures described herein.
BRIEF DESCRIPTION OF THE DRAWINGS
"An exemplary embodiment of the method according to the invention is explained below with reference to the drawing which are simultaneously used to explain an exemplary embodiment of an automation component according to the invention in which:
"FIG. 1 shows two groups having associations between a respective structure comprising indexed variables and memory areas;
"FIG. 2 shows access operations on memory areas using a variable index in the example of a graphically oriented programming language for programmable logic controllers; and
"FIG. 3 is a flowchart of the method in accordance with the invention."
For more information, see this patent application: SCHUH, Tobias. Method and Industrial Automation Component for Indirect Memory Addressing. Filed
Keywords for this news article include: Patents.
Our reports deliver fact-based news of research and discoveries from around the world. Copyright 2014, NewsRx LLC
Most Popular Stories
- Top Hispanic Tech Companies Push for the Top
- 5 Notable Hispanic Technology Executives
- Taco Bell Rings Up Breakfast Menu
- Russia, Crimea Discuss Referendum
- California Establishes Center for Coffee Study
- Visa, MasterCard Team Up to Focus on Payment Security
- China Urges Malaysia Flight Emergency Response
- For Obama, a Last Stab at Improving Ties with Capitol Hill
- Sunday Starts Daylight Saving Time
- Three Americans on Missing Malaysia Airlines Plane: State Department