# US 9,436,602 B2 · Method and industrial automation component for indirect memory addressing

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,436,602 B2
- Document ID: US9436602B2
- Status: Granted
- Kind: B2
- Application number: 13/915,234
- Filed: 2013-06-11
- Published: 2013-12-26
- Granted: 2016-09-06
- Earliest claimed: 2012-06-14
- Assignees: Siemens Aktiengesellschaft
- Applicants: Tobias Schuh
- Inventors: Tobias Schuh
- Web page: https://patentgrep.com/patent/US9436602B2

## CPC

- G06F 12/06: Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication (G06F12/08 takes precedence)
- G05B 19/058: {Safety, monitoring}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)

## Abstract

An automation component and method for indirect addressing by a program of an industrial automation component, wherein to accesses a number of cells in the memory, an associated address is ascertained at runtime of the program, such that during writing of the program, an association between a structure and the addresses is created and stored, where at the runtime, for accessing the memory, a relevant element of the structure is ascertained in a first step, the associated address is read from the stored association in a second step, and the memory is accessed via the address in a third step.

## Claims

### Claim 1

A method for indirectly addressing a number of cells in a memory by a program of an automation component in an industrial automation arrangement, an associated address being ascertained at the runtime of the program to access the number of cells in the memory, the method comprising:
creating and storing, during writing the program, an association between a structure and at least a portion of addresses which are useable by the program, said association comprising a matrix or a table having a column or row in which authorized program portions, program blocks or functions with respective types of authorization are stipulated;
ascertaining, by the program to access the number of cells in the memory at runtime, a relevant element of the structure;
reading, by the program to access the number of cells in the memory at runtime, the address associated with the ascertained relevant element from a stored association; and
utilizing, by the program to access the number of cells in the memory at runtime, the read address;
wherein said reading and utilizing steps are performed by firmware in the automation component.

### Claim 2 (depends on 1)

The method as claimed in patent claim 1, wherein, upon access to the number of cells in the memory, one of (i) at least one physical input and (ii) one of at least one physical output of the automation component and an input/output unit that is linked to the automation component is one of read and set.

### Claim 3 (depends on 1)

The method as claimed in patent claim 1, wherein, instead of or in addition to the address, a variable is used which references the number of cells in the memory.

### Claim 4 (depends on 1)

The method as claimed patent claim 1, further comprising:
blocking direct access by the program or at least by portions of the program to the addresses that are referenced in the association is blocked.

### Claim 5 (depends on 1)

The method as claimed in patent claim 1, wherein the structure comprises one of a number of elements of an indexed variable and a one-dimensional array.

### Claim 6 (depends on 1)

The method as claimed in patent claim 1, wherein at least one of the association is grouped to form a plurality of groups and a plurality of associations which each represent a group are used.

### Claim 7 (depends on 6)

The method as claimed in patent claim 6, wherein each group comprises at least one one-dimensional array as a structure.

### Claim 8 (depends on 6)

The method as claimed in patent claim 6, wherein at least one of the groups is assigned an access authorization.

### Claim 9 (depends on 7)

The method as claimed in patent claim 7, wherein at least one of the groups is assigned an access authorization.

### Claim 10 (depends on 8)

The method as claimed in patent claim 8, wherein the access authorization relates to at least one function, one program block or one program portion; and wherein only authorized functions, program blocks or program portions are authorized for accessing the addresses associated with the group.

### Claim 11 (depends on 1)

The method as claimed in patent claim 1, wherein the association is stored in a data block or similar object of the program.

### Claim 12

An automation component for an industrial automation arrangement, the automation component being configured for indirect addressing of a number of cells in a memory by a program,
wherein the automation component is configured to:
ascertain, via the program to access the number of cells in the memory at runtime, a relevant element of the structure;
read, via the program to access the number of cells in the memory at runtime, the address associated with the ascertained relevant element from a stored association comprising a matrix or a table having a column or row in which authorized program portions, program blocks or functions with respective types of authorization are stipulated; and
utilize, via the program to access the number of cells in the memory at runtime, the read address;
wherein said reading and utilizing are performed by firmware in the automation component.

### Claim 13 (depends on 12)

The automation component as claimed in patent claim 12, wherein the automation component includes at least one of firmware and an operating system;
wherein at least one of the firmware and the operating system is configured to ascertain addresses stored in an association; and
wherein the ascertainment is provided using an element, ascertained by the program, of the structure used in the association.
