Method for configuring memory units of a computing unit
By dynamically configuring memory units during the operation of the industrial controller, the problem of insufficient real-time communication caused by the predefined memory regions is solved, realizing flexible configuration of memory units and real-time access by multiple processes, thereby improving the communication efficiency of the industrial controller.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ROBERT BOSCH GMBH
- Filing Date
- 2020-11-19
- Publication Date
- 2026-05-12
AI Technical Summary
In existing technologies, the memory area of industrial controllers needs to be predefined before operation and cannot be dynamically adjusted during operation, resulting in insufficient flexibility in real-time communication.
通过在计算单元的运行期间动态配置存储器单元,分配象征性地址和类型的存储器区域,并通过存储器管理单元创建和管理这些区域,允许进程在运行期间创建、删除或重构存储器区域,支持实时和非实时访问。
It enables flexible configuration and real-time communication of memory units, supports simultaneous access by multiple processes, and improves the real-time communication efficiency and flexibility of industrial controllers.
Smart Images

Figure CN112825027B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method for configuring a memory cell of a computing unit, and a computing unit and computer program for implementing the method. Background Technology
[0002] In this document, the units or systems of different units used to perform technical processes, particularly processes of regulation and / or control, should be understood in particular as industrial machines or machines in an industrial context. These machines are specifically constructed as devices for converting energy or force; a system consisting of multiple such machines can be configured as a facility. Typical controllers or control systems for such machines include so-called memory-programmable controllers (SPS), CNC controllers, digital controllers (NC), etc.
[0003] In such a controller, it is important that different processes, applications, or software components can communicate in real time, meaning that transmission can be guaranteed within a predetermined time period. During this real-time communication, different software components can, for example, simultaneously access shared memory and thus exchange information. Typically, such shared memory is defined before the control system begins operation and usually cannot be changed during system runtime. Summary of the Invention
[0004] In this context, a method for configuring a memory unit of a computing unit, having the features of the independent patent claims, and a computing unit and computer program for implementing the method are proposed. Advantageous designs are the subject matter of the dependent claims and the following description.
[0005] Within the scope of this method, during the program execution of the computing unit, i.e., during the execution process, a memory region is created and configured in the memory unit to be shared among multiple processes or to be used concurrently by multiple processes, by assigning at least one memory region address, particularly a symbolic address (i.e., a name or flag), to the memory region. Suitably, the memory size, e.g., in bytes, and / or memory type, e.g., input or output, are also assigned here. In this way, particularly through the so-called owner process (“owner”), the basic configuration of the shared memory region is pre-defined.
[0006] Suitablely, the memory region can be both read from and written to. The type of memory allocated specifically relates to the flow of data. In the case of an "input" memory type, data flows specifically from the owner process ("owner") to the user process ("user"); while in the case of an "output" memory type, data flows specifically from the user process to the owner process.
[0007] Then, within the shared memory region, specifically through the owner process, a data region is defined for storing at least one piece of data (e.g., program variables), which can ultimately be accessed by multiple processes. To this end, at least one configuration piece of information for the data region is defined within the memory region, and a revision number characterizing the latest configuration of the memory region is defined or updated. The data region can then be accessed via an access request, which includes at least the memory region address and at least one of the configuration pieces of information.
[0008] In this document, structural units or hardware elements, such as volatile memory like RAM, or non-volatile memory like flash memory or flash modules, should be understood as memory cells. In particular, specific sections or portions of a memory cell should be understood as memory regions. Specifically, a memory cell, or the complete memory capacity of a memory cell, can be conceptually subdivided or divided into multiple separate memory regions. A memory region can be, for example, a single memory address where specific data is stored; or a large number of such memory addresses.
[0009] The allocated memory region address can be, in particular, a symbolic address or symbol that suitably represents a shared memory region and its contents, but does not necessarily have to correspond to an actual physical memory address. Suitably, this symbolic address can be translated into an actual physical address.
[0010] The revision number specifically represents an identification number that characterizes the latest configuration of the memory region. The revision number changes accordingly with each change to the memory region, specifically whenever a new data region is created.
[0011] This method enables the reconfiguration of memory cells during the runtime of the computing unit or during the normal program execution of the computing unit. In this process, new memory regions can be created, for example, in a previously unused portion of the memory cell, or existing memory regions of the memory cell can be deleted, or existing memory regions can be reconstructed and reconfigured into the new memory regions.
[0012] Suitablely, the newly created memory regions are shared memory regions that can be accessed simultaneously by different processes, users, or software components, particularly during real-time communication processes. Therefore, this method enables the dynamic modification of the memory cell configuration and the creation of shared memory during the runtime of the computing unit. Thus, the allocation of memory cells to individual memory regions does not need to be predetermined before or at the start of the program, but can be flexibly adapted as needed during the ongoing program execution on the computing unit. Specifically, the memory cells and the creation of new memory regions are managed by a higher-level instance, such as a memory management unit (MMU).
[0013] This method is particularly advantageously suited for use in industrial settings, especially for controlling industrial machinery. Through this method, the controller's memory can be flexibly and dynamically configured at runtime, and is especially adapted to enable effective real-time communication between various processes, applications, or software components.
[0014] Advantageously, the data region is accessed via an access request, wherein the access request includes at least the allocated memory region address and at least one of the at least one configuration piece of information, and optionally also the revision number. Within the scope of the invention, methods for accessing data in the data region in different ways are proposed in particular. Specifically, a distinction can be made between real-time access and non-real-time access when necessary.
[0015] Advantageously, at least one configuration information of the data area is selected from:
[0016] The name or identifier of at least one piece of data stored in the data area, which may in particular be a symbolic address of the corresponding data; and / or
[0017] The address of at least one piece of data stored in the data area, such as a description of the starting address of the corresponding data in bits or bytes, for example as an offset (e.g., a bit offset) with respect to the beginning of the memory area; and / or
[0018] The size of at least one piece of data stored in the data area, particularly its length in bits or bytes; and / or
[0019] The type of at least one piece of data stored in the data area, for example, is described as follows: what file type or variable type the corresponding data is, such as integer, floating point, etc.
[0020] Specifically, this configuration information is defined for each piece of data stored in the data area. Suitablely, the configuration information is stored in a configuration file or a memory map. Particularly suitable is the memory map to explicitly describe all data stored in the data area, particularly the specific memory addresses of these data or their memory locations within newly created memory areas. The configuration information is used to explicitly define data or its location within newly created memory areas for data access or access requests.
[0021] For example, such a memory diagram can look like this:
[0022] Name BitOffset BitSize Type act-pos1 0 32 float (floating point) act-pos2 32 32 float (floating point) Counter 64 15 integer
[0023] For example, the memory diagram defines that in the memory region or data region, a variable named "act-pos1", with a length of 32 bits and a type of float, is located at offset 0, that is, at the beginning of the memory region. Furthermore, it defines that a variable named "act-pos2", with a length of 32 bits and a type of float, is located at offset 32, that is, 32 bits from the beginning of the memory region. A variable of type integer, named "Counter", with a length of 15 bits, is located at offset 64, that is, 64 bits from the beginning of the memory region.
[0024] By defining this configuration information, it is now possible to access data in the data area both in real-time and non-real-time.
[0025] According to a preferred embodiment, particularly for non-real-time access to data in the data region, the address and size of the corresponding data are determined by the at least one configuration information based on the memory region address and the name of the corresponding data, and the corresponding data is accessed based on the determined address and size. Specifically, this determination is performed by the process itself that wants to access the corresponding data. In this case, during "on-demand" access, the information required for accessing the corresponding data is found from the configuration information or from the memory graph. Here, the user or process wanting to access the corresponding data appropriately only needs to know the name of the data before its access, i.e., specifically the symbolic address of the data, without needing to know the specific memory location in the form of offsets and sizes. For the user, operating with such a symbolic name is particularly simpler than operating with numbers and offsets. However, determining or finding the address and size of the data based on the memory graph or the configuration information using the symbolic name is time-consuming, which is often too long for real-time access. Therefore, this type of data access is particularly suitable for non-real-time access.
[0026] Alternatively or additionally, according to an advantageous implementation, the at least one configuration information and the revision number can be read before accessing the data area. Then, particularly in real-time, the data in the data area is accessed by means of the address and size of the corresponding data stored in the at least one read configuration information. For this real-time access, it is particularly suitable to pre-determine the address or offset and size or length from the memory map or the configuration information using the symbolic name of the data. Therefore, the process or user already knows the address and size of the data to be accessed before the access. Thus, in this case, the information is not read "on demand" during the access process, but is known a priori before the access. This allows for faster real-time access to the corresponding data using the offset and length of the corresponding data.
[0027] For example, this real-time access can be performed periodically. The configuration information can be read using the corresponding command (“getMemMap”). Then, data in the data area can be accessed periodically at predetermined intervals based on the read configuration information. Here, access to the corresponding starting address of the data in the memory area is suitably started with a start command (“beginAccess”) and ended again with an end command (“endAccess”).
[0028] If the corresponding data cannot be accessed based on the address and size stored in at least one of the read configuration information, then the at least one configuration information and the revision number are reread. It is possible that the access attempt or the start command (“beginAccess”) does not return correct data, but instead returns an error message, for example, because the memory cell has been reconfigured and the corresponding data area no longer exists, or because the configuration of the memory cell has not been fully completed and the corresponding data area does not yet exist. In this case, the at least one configuration information and the latest revision number are reread using the corresponding command (“getMemMap”) to subsequently enable real-time access to the data area again.
[0029] Therefore, if an access request is received for a memory region that has not yet been created or fully configured, the corresponding access will not be performed or will fail. If an access request for a configured memory region is received (either initially or at a later point in time), the corresponding access can be performed without further action. In this way, in particular, so-called "late binding" is implemented, under which data or variables can be searched or located during the runtime of the computing unit based on the name or symbolic flag of the data or variable, particularly in the form of a symbolic address. In contrast, in early binding or static binding, data or variables are defined during compilation before the continuous operation of the computing unit by, for example, verifying the actual memory address or corresponding offset or bit offset of the data or variable and storing it in a table. Here, the memory location of the data or variable is fixed and pre-given before runtime, and the data is specifically addressed according to these memory locations during runtime. Conversely, in the case of late binding, the actual memory address of the data can also be changed during runtime. In particular, late binding enables greater flexibility and freedom in configuring the memory cells. Therefore, the compilation process and the operation of the computing unit are particularly compatible with different versions or configurations of the memory cells.
[0030] Preferably, the configuration of the memory cells and / or memory regions is set according to a first command and / or read according to a second command. Specifically, a memory map can be created according to the first command (“setMemMap”) and a configuration file or memory map can be generated describing the latest configuration of the memory cells, particularly the latest partitioning of the memory cells into various memory regions, the addresses of the memory regions, their sizes, etc. Specifically, the configuration is created by the owner process. Suitably, the configuration can be read by another process via the second command (“getMemMap”).
[0031] Preferably, access permissions are determined for each process that can execute in the computing unit, and these access permissions are predefined: which data in the data area the respective process is allowed to access. Therefore, it is suitable to restrict access to newly created common memory areas or to specific data in the data area during the runtime of the computing unit.
[0032] Preferably, the access permissions include: the addresses and / or names of the data in the data area that the corresponding process is allowed to access, and the memory area address. Specifically, the memory area address and the name are symbolic addresses, but logical or physical addresses in the form of offsets and sizes may also be used as access permissions.
[0033] To keep the number of access permissions and thus the required memory space for each access permission small, placeholders can be appropriately used in each access permission. Advantageously, each access permission can include a first placeholder, through which data in a specific hierarchical level of the memory region can be synthesized. The segments of the symbolic address specifically represent different hierarchical levels. In particular, in each access permission, the corresponding first placeholder can replace the segment within the corresponding symbolic address, thereby enabling the corresponding access permission to include all entries at that hierarchical level. Alternatively or additionally, the access permissions can preferably include a second placeholder, through which all data in the data region of the memory region can be synthesized. Therefore, if a process is allowed access to all data in the memory region, it is advisable not to store the addresses of all that data as access permissions, but only the second placeholder, thereby achieving significant space savings.
[0034] This invention is applicable to a wide range of applications, such as automation. It is particularly suitable for machine controllers. Such machines can be configured as machine tools (e.g., welding systems, turning systems, wire saws, or milling machines), robots, or sheet metal processing machines (e.g., printing presses or packaging machines). These machines can also be configured as (assembly line) facilities for manufacturing automobiles or for manufacturing automotive components (e.g., internal combustion engines or control devices). Such controllers can be configured, for example, as CNC controllers (Computerized Numerical Control), NC controllers (Nemerical Control), Memory-Programmable Controllers (SPS), Motion Logic Controllers (MC-Motion Control), etc.
[0035] The computing unit according to the invention, such as the control device of a printing press, is specifically configured using programming technology to execute the method according to the invention.
[0036] It is also advantageous to implement the method according to the invention in the form of a computer program or computer program product having program code for performing all method steps, as this results in particularly low cost, especially where the control device performing the execution is also used for other tasks and therefore exists anyway. Suitable data carriers for providing the computer program are, in particular, magnetic, optical, and electrical storage devices, such as hard disks, flash memory, EEPROM, DVDs, etc. The program can also be downloaded via a computer network (Internet, intranet, etc.).
[0037] Other advantages and design solutions of the present invention will become apparent from the specification and drawings.
[0038] It is understood that the features described above and those to be described below can be used not only in combination, but also in other combinations or individually, without departing from the scope of the present invention.
[0039] The invention is schematically illustrated in the accompanying drawings based on embodiments, and is described in detail below with reference to the accompanying drawings. Attached Figure Description
[0040] Figure 1 A preferred design of a computing unit according to the invention is illustrated, which is configured to perform a preferred embodiment of the method according to the invention.
[0041] Figure 2 A block diagram schematically illustrates a preferred design of the computing unit according to the invention when performing a preferred embodiment of the method according to the invention. Detailed Implementation
[0042] exist Figure 1 A preferred design of the computing unit according to the invention is schematically shown in the form of a controller 100 of machine 150.
[0043] The controller 100 can be configured, for example, as a memory-programmable control unit (SPS) and can be configured to control a sheet metal processing machine 150, particularly a robot or machine tool. For this purpose, the controller 100 and the machine 150 are interconnected via a communication connection 140, for example via a bus system such as PCI or PCIe, or via, for example, a fieldbus such as CAN, Ethernet / IP, ProfiNet, Sercos 2, Sercos III, EtherCAT, FlexRay, LIN, MOST, etc.
[0044] The controller 100 includes a memory unit 110, which may be configured as, for example, a RAM memory and divided into numerous memory regions 111, 112, 113, and 114. A large amount of different data, such as nominal and actual values, and machine-related data (parameters), may be stored in the memory unit 110. This data may define, for example, the functional range of the controller 100 or be used to perform functions for controlling the machine 150. For example, kinematic parameters, such as those of a robot (e.g., maximum speed, involved axes, motion limits), and nominal and actual values such as position, velocity, and torque may be stored in the memory unit 100.
[0045] In addition, the controller 100 includes a processor unit 120. The processor unit 120 may be configured, for example, as a multi-core processor and configured to execute a large number of processes 121, 122, 123, 124, 130.
[0046] A memory management unit (e.g., MMU) can be configured as a higher-level management unit for managing memory unit 110 and its memory regions. The memory management unit can be constructed as a custom hardware element. It is also conceivable that the memory management unit be configured as a process executed by processor unit 120.
[0047] Although for the sake of clarity... Figure 1 Only four memory regions 111, 112, 113, 114 and five processes 121, 122, 123, 124, 130 are shown in the figure, but it can be understood that memory unit 110 can be subdivided into a greater number of memory regions and processor unit 120 can execute a significantly greater number of processes.
[0048] During the ongoing operation of controller 100 or machine 150, various processes executing in the processor unit access data within various memory regions of memory unit 110. These accesses can, in particular, be performed in real time. Furthermore, multiple processes can suitably access the same memory region simultaneously.
[0049] In conventional controllers, the allocation of memory cells to various memory regions is usually predetermined for the total operating time before the controller begins operation, and this allocation cannot be easily changed thereafter. In contrast, the memory cells 110 of the current controller 100 can be reconfigured during normal operation, and the allocation of memory cells 110 to various memory regions 111, 112, 113, and 114 can be dynamically changed during operation. Existing memory regions can be deleted or reconfigured, and new memory regions can be created. For this purpose, the controller 100 is specifically configured, in particular, by programming techniques, to execute a preferred embodiment of the method according to the invention.
[0050] Now should refer to Figure 2 The preferred embodiments of the method according to the present invention are described, in Figure 2 The block diagram schematically illustrates the controller 100 during the execution of this method. Figure 2 The following scenario should be considered as an example: the creation and configuration of memory region 111 during the runtime of controller 100.
[0051] The creation and configuration of memory region 111 are performed, in particular, according to commands (Befehl) of the so-called owner process (“owner”) 130, for example, through the memory management unit.
[0052] By using the corresponding access command or creation command 211 ("create(path, size, type)", i.e., create(path, size, type)), the owner process 130 creates a memory region 111 in the memory unit 110. Here, the access command or creation command 211 includes: the address "path", which is specifically a symbolic address or memory region address; the memory size "size"; and the memory type "type".
[0053] For example, owner process 130 can create memory regions of type "Input" and other memory regions of type "Output". Thus, the following memory regions (of type "Output") that contain data to be sent from the owner process to other fieldbus users of machine 150 can be created in controller 100, as well as the following other memory regions (of type "Input") that contain data sent from other fieldbus users to the owner process. Hereinafter, the creation of memory region 111 of type "Input" is considered exemplarily, but this description should similarly apply to memory regions of type "Output".
[0054] For example, the following symbolic address or memory region address may be assigned to memory region 111, representing that data received from machine 150 as input number "0" via communication connection 140 (e.g., EtherCAT) is stored in memory region 111:
[0055] “ethercat / 0 / input / ”
[0056] The newly created memory region 111 comprises two layers 201 and 202 in terms of access possibilities, namely, a first non-real-time data layer 201 and a second real-time data layer 202.
[0057] Owner process 130 creates data region 204 in memory region 111 by means of configuration command 214. Here, in particular, a latest memory map 203 is generated, which describes the latest configuration of memory cell 110 according to the latest revision number.
[0058] Specifically, the memory region 111 is configured by defining configuration information for data region 204 and updating revision numbers. The revision number represents the latest configuration or version of the memory unit 110, which is adapted with each logical change to the memory unit 110. Large amounts of data can be stored in data region 204, such as the latest position values for different axes of the machine 150, for example, for six different axes.
[0059] As configuration information, data area 204 is characterized by the following values: the name of the data stored in the data area, where each name symbolically represents the corresponding data; the logical or physical address of the data stored in the data area, such as the offset (Versatz) or bit offset (Bitoffset) of the specific memory location of the corresponding data in the data area; the size or length of the data stored in the data area; and the data type of the data stored in the data area.
[0060] For example, the following names or symbolic addresses can be assigned to various data in data area 204, which represent the latest position value of the corresponding data for the corresponding axis of machine 150:
[0061] "motion / axes / 1 / cur_pos
[0062] "motion / axes / 2 / cur_pos
[0063] "motion / axes / 3 / cur_pos
[0064] "motion / axes / 4 / cur_pos
[0065] "motion / axes / 5 / cur_pos
[0066] "motion / axes / 6 / cur_pos
[0067] Furthermore, the owner process 130 can specify which processes are allowed to access which data. For this purpose, the owner process 130 stores access permissions for each process in memory diagram 203, for example, where the access permissions are predefined: which data in data area 204 the respective process is allowed to access.
[0068] If a process is allowed to access specific data, the symbolic address of the corresponding data is stored as the access permission for the corresponding process. To keep the storage space used for each access permission small, placeholders can be used for each of these access permissions. A first placeholder (e.g., "%" or "*") can synthesize specific data at a hierarchical level. Therefore, for example, the access permission "motion / axes / * / cur_pos" can be used to allow the corresponding process to access the position values of all axes. A second placeholder (e.g., "%%" or "**") synthesizes all data within memory region 111. Therefore, a process with access permission "**" can, for example, access all data in data region 204.
[0069] A process can access memory region 111 in real time or non-real time, depending on its assigned access permissions.
[0070] exist Figure 2 In this example, process 121 accesses memory region 111 non-real-time via access request 221. The first access request 221 includes a symbolic address of memory region 111 and the name of the corresponding data within memory region 111 that should be accessed. Therefore, for example, the latest motion value of the first axis of machine 150 can be accessed via the following symbolic address:
[0071] "ethercat / 0 / input / motion / axes / 1 / cur_pos".
[0072] Based on the symbolic address, which includes the memory region address and the name of the corresponding data, the address or offset and size of the corresponding data are determined according to memory diagram 203. The corresponding data is then accessed based on the determined address and size.
[0073] In addition, Figure 2 For example, process 122 accesses memory region 111 in real time.
[0074] For this purpose, process 122 pre-reads memory map 203 using the corresponding command 225 (“getMemMap”) before the real-time access, and thus reads the configuration information and revision number. Then, based on the address and size stored in the read memory map 203, process 122 can access the corresponding data in data area 204 in real time using commands 222, 223, and 224. Using command 222 (“open(path)”), process 122, for example, opens data area 204. Using the start command 223 (“beginAccess”), process 122 begins its access to the data stored at the corresponding address. Process 122 terminates the access using the end command 224 (“endAccess”). In particular, this access can be repeated periodically.
[0075] However, the following situation may occur: instead of returning correct data, the start command 223 returns, for example, an error message. This is because memory cell 111 has been reconfigured and the corresponding data area 204 no longer exists, or because the configuration of memory cell 111 has not been fully completed and the corresponding data area 204 does not yet exist. In this case, process 122 rereads memory diagram 203 by means of command 225, and thus rereads the configuration information and the latest revision number, so as to restore real-time access to data area 204.
[0076] The owner process 130 can also access the memory region 204 in real time in this way, for example, to store the latest received location value there. For this purpose, the owner process 130 can open the memory region 204 using command 211 ("open(path)"), begin access using start command 212 ("beginAccess"), and end access again using end command 213 ("endAccess").
[0077] As explained above, the "Output" memory area can also be created and managed in a corresponding manner. In particular, this can improve the control unit 100's control over the machine. The controller 100 can operate periodically, for example, according to the EVA principle (input / processing / output). At the beginning of the cycle, the controller 100 appropriately reads variables from the corresponding "Input" memory area via the corresponding "beginAccess" and "endAccess" commands. These variables are calculated or processed in the controller 100, and at the end of the cycle, the output is also appropriately written to the corresponding "Output" memory area via the corresponding "beginAccess" and "endAccess" commands. In this way, even if there are many such processes that need to operate at different cycle times, consistent and up-to-date data can be provided to all user processes and owner processes ("users" and "owners") without data blocking.
Claims
1. A method for configuring a memory unit (110) of a computing unit (100), wherein during program execution of the computing unit (100), a memory region (111) shared among multiple processes is created and configured (211, 212, 213) in the memory unit (110) by allocating a memory region address to the memory region (111) and configuring a data region (204) for storing at least one piece of data in the memory region (111) by defining at least one configuration information of a data region (204) within the memory region (111) and updating a revision number characterizing the latest configuration of the memory region (111), wherein the revision number is changed accordingly by one of the multiple processes with each change to the configuration of the memory region.
2. The method according to claim 1, wherein, Access to the data area (204) is made by means of access requests (221, 222, 223, 224), wherein the access request contains at least the memory area address and at least one of the at least one configuration information.
3. The method according to claim 1 or 2, wherein, The at least one configuration information of the data area (204) is selected from: the name of at least one data stored in the data area (204) and / or the address of at least one data stored in the data area (204) and / or the size of at least one data stored in the data area (204) and / or the type of at least one data stored in the data area (204).
4. The method according to claim 1 or 2, wherein, Accessing data in the data area (204) is achieved by determining the address and size of the corresponding data based on the memory area address and the name of the corresponding data using the at least one configuration information, and accessing (221) the corresponding data based on the determined address and size.
5. The method according to claim 2, wherein, Before accessing the data area, at least one configuration information and the revision number are read in advance (225), and the data in the data area (204) is accessed by accessing the data (222, 223, 224) according to the address and size of the corresponding data stored in the at least one configuration information that has been read.
6. The method according to claim 5, wherein, If the corresponding data cannot be accessed based on the address and size stored in at least one of the read configuration information, then (225) the at least one configuration information and the revision number are reread.
7. The method according to claim 1 or 2, wherein, The configuration of the memory cell (110) and / or the memory region (111) is set according to the first command (214), and / or the configuration of the memory cell and / or the memory region is read according to the second command (225).
8. The method according to claim 1 or 2, wherein, Access permissions are determined for each process (121, 122, 123, 124) that can be executed in the computing unit (100), and the access permissions are predetermined: which data in the data area (204) the corresponding process (121, 122, 123, 124) is allowed to access.
9. The method according to claim 8, wherein, The access permissions respectively include the addresses and / or names of those data in the data area (204) that the corresponding processes (121, 122, 123, 124) are allowed to access, as well as the memory area address.
10. The method according to claim 9, wherein, Each access permission includes a first placeholder, which integrates data in a specific level of data area (204) within the memory area (111), and / or each access permission includes a second placeholder, which integrates all data in the data area (204).
11. A computing unit (100), in particular a controller for a machine (150), said computing unit being configured to perform the method according to any one of the preceding claims.
12. A computer program product comprising instructions that, when executed on a computing unit (100), cause the computing unit (100) to perform the method according to any one of claims 1 to 10.
13. A machine-readable storage medium having a computer program product according to claim 12 stored thereon.