Production system, information sharing device, program, information sharing method, and setting device
By coordinating the design of the information sharing device and the controller, synchronous data updates in an asynchronous communication environment are achieved, solving the problem of data sharing inconsistency in the collaborative control of multiple local devices and improving the operational accuracy and efficiency of the production system.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- YASKAWA DENKI KK
- Filing Date
- 2024-10-17
- Publication Date
- 2026-04-28
AI Technical Summary
Existing technologies struggle to achieve efficient, autonomous, and decentralized collaborative control of multiple local devices, especially in asynchronous communication environments where data sharing and updates are inconsistent, impacting the accuracy and efficiency of collaborative operations in production systems.
The system employs an information sharing device to communicate with multiple controllers. By designing a shared storage area and an output storage area, the update unit updates data in the same cycle, and this can be configured through a user interface. This ensures that each controller shares the same data at the same time, achieving synchronous data updates under asynchronous communication.
It improves the accuracy and efficiency of collaborative operation of multiple local devices, supports equipment design changes and additions/removals, reduces the data sharing setup load, and ensures efficient, autonomous, and decentralized control of the production system.
Smart Images

Figure CN121941963A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to a production system, an information sharing device, a program, an information sharing method, and a setting device. BACKGROUND
[0002] In Patent Literature 1, a robot system is disclosed which autonomously performs work by collecting and sharing information of a plurality of devices such as robots within a cell. In Patent Literature 2, a control device is disclosed which constitutes a distributed control system for performing control of a controlled device, the control device being characterized by having: a unit which performs time synchronization with a second control device which is another control device constituting the distributed control system; a unit which receives reception information relating to the second control device; a unit which temporarily saves the reception information; a common data area which saves the temporarily saved reception information; and a unit which controls saving to the common data area in synchronization with saving to the common data area in the second control device. In Patent Literature 3, a control device which constitutes a distributed control system is disclosed, the control device being characterized by having: a time synchronization section which performs time synchronization with another control device constituting the distributed control system; a communication section which receives information from the other control device; an information holding section which adds time synchronization information to the information and holds it; a region setting section which sets a region of the information holding section in correspondence with a time difference of the information; an information selection section which selects shared data from the information held in the information holding section; and a shared data saving section which saves the shared data selected by the information selection section. In Patent Literature 4, a control device is disclosed which is applied to a distributed control system having a plurality of control devices which respectively perform control of a controlled device, the control device being characterized by having: a time synchronization section which performs time synchronization with another control device constituting the distributed control system; a communication section which receives information relating to the controlled device; a shared data saving section which saves information relating to the controlled device; a calculation section which calculates a command value for the controlled device and saves a calculation result in the shared data saving section; an information holding section which holds information saved in the shared data saving section; a region setting section which sets a region of the information holding section in correspondence with information of the shared data and an amount of information required for calculation in the calculation section; and an information selection section which selects information held in the information holding section in correspondence with the information of the shared data and a time, the calculation section calculating a command value using the information selected by the information selection section.
[0003] PRIOR ART DOCUMENTS
[0004] PATENT LITERATURE
[0005] Patent Document 1: Japanese Patent No. 6754883
[0006] Patent Document 2: Japanese Patent Application Publication No. 2021-068200
[0007] Patent Document 3: Japanese Patent Application Publication No. 2022-101817
[0008] Patent Document 4: Japanese Patent Application Publication No. 2022-175462
[0009] General public
[0010] According to one embodiment of the present invention, a production system is provided. The production system may include multiple controllers that control multiple local devices that are cooperating in production. The production system may include an information sharing device capable of communicating with the multiple controllers. The information sharing device may have multiple shared storage areas that respectively store data received from the multiple controllers or data generated based on the data. The information sharing device may have multiple output storage areas that respectively store data that can be sent to the multiple controllers. The information sharing device may include an update unit that, when providing data stored in one of the multiple shared storage areas to two or more of the multiple controllers, uses that data to update the data stored in two or more output storage areas respectively allocated to the two or more controllers at the same period.
[0011] In the production system, the update unit can execute a program that reflects data from one shared storage area to two or more output storage areas during periodically repeated scan times, thereby updating the data stored in the two or more output storage areas. The production system may also include a user interface that, based on user operations, accepts shared settings for the data in one shared storage area for two or more controllers, and generates programs for the data in the one shared storage area in the two or more controllers based on the shared settings. The user interface can accept output settings from the information sharing device to each of the plurality of controllers as the shared settings, the output settings establishing a correspondence between one or more shared storage areas in the plurality of shared storage areas and one or more storage areas possessed by a corresponding controller, and generates programs for the data in the one shared storage area in the one controller based on the output settings. The user interface may be able to perform an import function that reads in a configuration file containing pre-generated shared settings and applies the shared settings to at least one of the plurality of controllers.
[0012] The arbitrary production system may further include an environmental data generation unit, which generates environmental data representing the environment of a unit containing the multiple local devices based on data received from the multiple controllers and associated with the multiple local devices that are the control objects of the multiple controllers, and updates data stored in one or more of the multiple shared storage areas using the generated data.
[0013] In any of the production systems, each of the plurality of controllers may have: an external input unit that receives data from the output storage area corresponding to that controller; and a device control unit that causes the local device, as the controlled object, to operate based on the data input to the external input unit. At least one of the plurality of controllers may be a robot controller for controlling a robot. Each of the plurality of controllers may also have: a task storage unit that stores a plurality of tasks executed by the local device, as the controlled object; and a selection unit that selects at least one task from the plurality of tasks based on the data input to the external input unit, and the device control unit can cause the local device to execute the task selected by the selection unit. The external input unit may receive data from the output storage area as a bit-type signal consisting of ON / OFF, and each of the plurality of controllers may have a conversion unit that converts the signal received by the external input unit into a word-type variable, and the device control unit can cause the local device to operate based on the variable converted by the conversion unit. Each of the plurality of controllers may have a conversion unit that converts a signal representing data received by the external input unit from the output storage area of the information sharing device into numerical data and reflects it in an intermediate storage area, and converts the numerical data in the intermediate storage area into character variables and reflects them in a variable storage area. The conversion unit may select the intermediate storage area from the plurality of intermediate storage areas in response to accepting a setting to establish a correspondence between the output storage area and the variable storage area.
[0014] According to one embodiment of the present invention, an information sharing device is provided. The information sharing device is capable of communicating with multiple controllers, which control multiple local devices that are cooperating in production. The information sharing device may include multiple shared storage areas that respectively store data received from the multiple controllers or data generated based on the data. The information sharing device may also include multiple output storage areas that respectively store data that can be sent to the multiple controllers. The information sharing device may include an update unit that, when providing data stored in one of the multiple shared storage areas to two or more of the multiple controllers, uses that data to update the data stored in two or more output storage areas respectively allocated to the two or more controllers at the same period.
[0015] According to one embodiment of the present invention, a program is provided for causing an information sharing device to perform an update phase. The information sharing device is capable of communicating with multiple controllers that control multiple local devices that are cooperating in production. The information sharing device includes: multiple shared storage areas that respectively store data received from the multiple controllers or data generated based on the data; and multiple output storage areas that respectively store data that can be sent to the multiple controllers. In the update phase, when data stored in one of the multiple shared storage areas is provided to two or more of the multiple controllers, the data is used to update the data stored in two or more output storage areas respectively allocated to the two or more controllers at the same cycle.
[0016] According to one embodiment of the present invention, an information sharing method is provided. The information sharing method may include a storage phase in which data received from multiple controllers that control multiple local devices cooperating in production, or data generated based on such data, is stored in any one of multiple shared storage areas. The information sharing method may also include an update phase in which, when data stored in one of the multiple shared storage areas is provided to two or more of the multiple controllers, the data stored in two or more output storage areas respectively allocated to the two or more controllers is updated using this data at the same period.
[0017] According to one embodiment of the present invention, a setting device is provided. The setting device may include a receiving unit that accepts a shared setting request from internal data in one controller to one or more other controllers based on a user operation. The setting device may also include a generation unit that, based on the shared setting accepted by the receiving unit, generates a program that executes within the one controller and copies the internal data from its storage area to an output area for output to the other controllers.
[0018] Furthermore, the above summary of the invention does not list all the essential features of the invention. In addition, sub-combinations of these feature groups can also constitute an invention. Attached Figure Description
[0019] Figure 1 An example of production system 10 is shown in outline.
[0020] Figure 2 The functional structure of the information sharing device 100 and the controller 200 is shown in a general way.
[0021] Figure 3 An example of the processing flow of the information sharing device 100 is shown in outline.
[0022] Figure 4 This is a simplified example of UI402.
[0023] Figure 5 This is an explanatory diagram used to illustrate the processing content of the conversion unit 220.
[0024] Figure 6 An example of the hardware structure of a computer 1200 that functions as an information sharing device 100, a controller 200, or a setting device 400 is shown in a schematic diagram. Detailed Implementation
[0025] The present invention will now be described through embodiments thereof, but these embodiments do not limit the invention as defined in the claims. Furthermore, not all combinations of the features described in the embodiments are necessary for the solution of the invention.
[0026] Figure 1 An example of a production system 10 is shown in schematic. The production system 10 includes an information sharing device 100. The production system 10 includes multiple controllers 200. The production system 10 may include multiple local devices 300. The production system 10 may include a setting device 400.
[0027] Multiple local devices 300 collaborate in production. Collaborative production by multiple local devices 300 includes the following: multiple local devices 300 performing operations and sensing on a single workpiece in parallel; and multiple local devices 300 performing operations and sensing on a single workpiece sequentially. Multiple local devices 300 can be included in a cell. That is, each of the multiple local devices 300 can be one of the components constituting a cell. Multiple local devices 300 can be included in a robot cell. That is, each of the multiple local devices 300 can be one of the components constituting a robot cell. Local devices 300 can include robots. Local devices 300 can include machine tools, autonomous walking devices, pick-and-place machines, winding machines, and other specialized or general-purpose machines; they can also include various sensors such as cameras and ammeters; and they can also include any device capable of constituting a robot cell.
[0028] Multiple controllers 200 control multiple local devices 300 respectively. Controller 200 may include a robot controller for controlling the robot. Controller 200 may include controllers for controlling special-purpose machines such as numerical control devices, general-purpose machines, and controllers for controlling various sensors. It may also include controllers for controlling local devices 300 and generating data related to local devices 300.
[0029] The information sharing device 100 is capable of communicating with multiple controllers 200. The information sharing device 100 and the multiple controllers 200 can communicate based on more than one communication standard, including asynchronous communication. Examples of communication standards used by the information sharing device 100 and the multiple controllers 200 include EtherNet / IP and Ethernet (registered trademark), but are not limited to these.
[0030] The information sharing device 100 collects data from multiple controllers 200. The information sharing device 100 shares the collected data with the multiple controllers 200, or shares data generated based on the collected data. For example, the information sharing device 100 collects data associated with a local device 300, which is the control object of each of the multiple controllers 200, from each of the multiple controllers 200. Examples of data collected by the information sharing device 100 include various parameters such as instructions from the controller 200 to the local device 300, responses from the local device 300 to the controller 200, reports from the local device 300 to the controller 200, location information of the local device 300, and output values of various sensors, etc., but may also include data or files in specific formats such as image data, waveform data, and sound data. By sharing the collected data with the multiple controllers 200, the information sharing device 100 enables the multiple controllers 200 to allow the local device 300 to autonomously perform actions corresponding to the situation, thus achieving autonomous distributed control.
[0031] The setting device 400 performs various settings. For example, the setting device 400 performs settings for the information sharing device 100 or the controller 200 according to settings received based on user operation. The setting device 400 may, for example, generate a program executed by the information sharing device 100 and set it in the information sharing device 100. The setting device 400 may, for example, generate a program executed by the controller 200 and set it in the controller 200.
[0032] Figure 2 An example of the functional structure of the information sharing device 100, the controller 200, and the setting device 400 is shown in a simplified manner.
[0033] [Enter storage area]
[0034] The information sharing device 100 may include an input storage unit that stores data received from multiple controllers 200. The input storage unit may have multiple input storage areas, each storing data received from the multiple controllers 200. Figure 2 In the example shown, the information sharing device 100 includes an input register 110, which serves as an example of an input storage unit. The input register 110 can be constructed from a storage device such as a memory. The input register 110 can be configured for each controller 200 performing data collection, specifying an area (sometimes referred to as input register area 112). The input register area 112 can be an example of an input storage area. Furthermore, each of the input register areas 112 is sometimes also referred to as an input register.
[0035] [Shared storage area]
[0036] The information sharing device 100 includes a shared storage unit that stores data received from multiple controllers 200 or data generated based on that data. The shared storage unit has multiple shared storage areas that respectively store the data received from the multiple controllers 200 or the data generated based on that data. Figure 2 In the example shown, the information sharing device 100 includes a shared register 120 as an example of a shared storage unit. The shared register 120 can be constructed from a storage device such as a memory. The shared register 120 may have multiple shared register regions 122 that respectively store data received from multiple controllers 200 or data generated based on that data. The shared register regions 122 can be an example of a shared storage region. The multiple shared register regions 122 can respectively store data stored in multiple input register regions 112 or data generated based on that data. Each of the multiple shared register regions 122 stores data from its corresponding input register region 112 or data generated based on that data according to a set allocation. Furthermore, each of the shared register regions 122 is sometimes also referred to as a shared register.
[0037] [Output storage area]
[0038] The information sharing device 100 includes an output storage unit that stores data that can be sent to multiple controllers 200. The output storage unit has multiple output storage areas, each storing data that can be sent to the multiple controllers 200. Figure 2 In the example shown, the information sharing device 100 includes an output register 130, which serves as an example of an output storage unit. The output register 130 can be constructed from a storage device such as a memory. The output register 130 may have multiple output register regions 132, each storing data that can be sent to multiple controllers 200. Each output register region 132 can be an example of an output storage region. Each of the multiple output register regions 132 stores data from its corresponding shared register region 122 according to a predefined allocation. Furthermore, each of the output register regions 132 is sometimes referred to as an output register.
[0039] [About the structure of registers]
[0040] Input register 110, shared register 120, and output register 130 can be implemented using a single memory. That is, input register 110, shared register 120, and output register 130 can be implemented as different memory regions of a single memory. In this case, the memory regions functioning as input register 110, shared register 120, and output register 130 can be pre-defined. Alternatively, a structure can be used to appropriately define the memory regions functioning as input register 110, shared register 120, and output register 130. For example, when data is sent to controller 200, if the data to be sent is collected from the memory region to form a data packet, the memory region storing this data packet can be defined as output register 130. However, pre-defining the corresponding memory region as output register 130 can reduce the processing load associated with update and transmission processing, thereby improving processing speed.
[0041] Input register 110, shared register 120, and output register 130 can be implemented using multiple memories. For example, two of the input registers 110, shared register 120, and output register 130 can be implemented using two memories, or three memories can be used to implement input register 110, shared register 120, and output register 130.
[0042] Output register 130 stores data that can be sent to the assigned controller 200, but it is not necessary to send all of this data to the assigned controller 200; it can be sent only when there is a request from the controller 200. Sometimes, the act of the controller 200 reading data from output register 130 is referred to as the controller 200 "referencing" (the data) from output register 130. The situation where data from shared register 120 is stored in output register 130 so that the controller 200 can refer to it is sometimes referred to as "data sharing."
[0043] [Functional Structure of Information Sharing Device]
[0044] The information sharing device 100 includes a collection unit 140, an update unit 150, an environmental data generation unit 160, and a transmission unit 170. Alternatively, the information sharing device 100 may not include the environmental data generation unit 160.
[0045] The collection unit 140 collects data from multiple controllers 200. The collection unit 140 collects data by communicating using one or more communication standards, including asynchronous communication, and stores the data in the input register 110. The collection by the collection unit 140 may include not only receiving data sent by the controllers 200 in response to requests from the collection side, but also waiting for data to be sent by the controllers 200 and simply receiving the sent data. The collection unit 140 can receive data associated with the local device 300, which is controlled by the controllers 200, and store it in the input register area 112 corresponding to that controller 200.
[0046] The update unit 150 can update the data stored in the shared register area 122 according to a set allocation, using data stored in the input register area 112 or data generated based on that data. For example, the update unit 150 uses data stored in the input register area 112 to update the data stored in the shared register area 122. For example, the update unit 150 causes the environment data generation unit 160 to generate data (sometimes called environment data) representing the environment of a unit composed of multiple local devices 300 based on the data stored in the input register area 112, and uses this environment data to update the data stored in the shared register area 122.
[0047] [Regarding the update]
[0048] Updating data stored in the register area of an object based on certain data includes simply copying certain data to the register area of the object, but it can also include causing the register area of the object to store processed data after some processing / operation. In this embodiment, data updates based on such copying, storage of processed data, etc., are also referred to as "reflection" to the register area (data) of the object.
[0049] The environmental data generation unit 160 can generate environmental data based on data received from the controller 200 that is associated with the local device 300, which is the controlled object of the controller 200. The environmental data generation unit 160 can also generate environmental data based on data stored in one of the multiple input register areas 112.
[0050] The environmental data generation unit 160 can generate environmental data based on data received from multiple controllers 200 and associated with multiple local devices 300 that are controlled by the multiple controllers 200. The environmental data generation unit 160 can also generate environmental data based on data stored in multiple input register areas 112.
[0051] The environmental data generation unit 160 can use the generated environmental data to update the data stored in one or more shared register areas 122.
[0052] [Content of environmental data]
[0053] Environmental data may include data representing the status of the local device 300 contained in the unit. The status of the local device 300 may be data representing the operational status of the local device 300. For example, the status of the local device 300 indicates that a certain operation of the local device 300 on the workpiece has been completed.
[0054] Environmental data can include data representing the state of a workpiece. The state of a workpiece can be data representing the tasks performed on it. For example, the state of a workpiece indicates that a certain task performed on it has been completed.
[0055] Environmental data can include data representing the progress of production processes within a unit. The progress of production processes within a unit can represent the progress of completed processes and currently ongoing processes.
[0056] Environmental data can include data representing the state of a unit's space. The state of a unit's space can be data representing the condition of that space. For example, the state of a unit's space could indicate the presence or absence of obstacles in different areas of the space, the temperature of the space, and the humidity of the space.
[0057] As described above, the information sharing device 100 may also omit the environmental data generation unit 160. In this case, the update unit 150 may update the data stored in the shared register area 122 using the data stored in the input register area 112 according to the set allocation.
[0058] [Update to Output Register 130]
[0059] In order to provide the data stored in the shared register 120 to one or more controllers 200, the update unit 150 may reflect the data stored in the shared register 120 to one or more output register areas 132 respectively allocated to the one or more controllers 200.
[0060] [Data sharing across multiple controllers 200]
[0061] For example, when providing data stored in one of the multiple shared register regions 122 to two or more controllers 200, the update unit 150 uses this data to update the data stored in two or more output register regions 132 respectively allocated to the two or more controllers 200 at the same cycle. The update unit 150 can update the data during periodically repeating scan times. Updating at the same cycle can mean updating within the same scan time period. That is, the update unit 150 can use the data stored in one shared register region 122 to update the data stored in two or more output register regions 132 respectively allocated to two or more controllers 200 during one scan time period. The update unit 150's update of the output register 130 using the data from the shared register 120 can be performed only on the shared registers 120 that have changed during the previous scan time period, but it can also reflect the data of the shared registers 120 that have not changed.
[0062] To update data stored in two or more output register areas 132, the update unit 150 can execute a program during periodically repeated scan times to reflect data from one shared register area 122 into two or more output register areas 132. This program can be a ladder diagram program. This program can be generated by the setting device 400.
[0063] The transmitting unit 170 sends data from the output register 130 to the controller 200. The transmitting unit 170 transmits data from each of the multiple output register areas 132 to their respective controllers 200 via communication based on at least one communication standard including asynchronous communication. The transmitting unit 170 can also transmit the data from the output register areas 132 as a bit-type signal consisting of ON / OFF.
[0064] According to the information sharing device 100 of this embodiment, when data from a shared register region 122 is provided to two or more controllers 200 out of a plurality of controllers 200, this data is used to update the data stored in two or more output register regions 132 respectively assigned to the two or more controllers 200 at the same cycle. For example, when data stored in one shared register region 122 is reflected in two or more output register regions 132 respectively corresponding to two or more controllers 200 without considering the cycle, the reflection may occur at different cycles depending on the timing. In this case, the data shared by the two or more controllers 200 becomes different data, which can lead to undesirable conditions. In contrast, by controlling the reflection of data in two or more output register regions 132 at the same cycle, the same data can be shared between the two controllers 200 without being affected by the timing of the reference data of the two or more controllers 200, and the occurrence of undesirable conditions can be suppressed. Furthermore, an output register area 132 is prepared for each controller 200 that needs to reference data. For example, even if data in a shared register area 122 is referenced by multiple controllers 200, it will be reflected in their respective corresponding output register areas 132. Therefore, for a controller 200 that needs to reference data, it only needs to return the data in the output register area 132, and the shared processing required for data transmission can be completed in a short time. In addition, the impact of terminating a reference or initiating a new reference in one controller 200 on the transmission processing to other controllers 200 referencing the same data can be reduced.
[0065] In the production system 10 of this embodiment, in particular, when multiple controllers 200 that control multiple local devices 300 that are cooperating in production refer to data in a shared register area 122, it is possible to ensure that the same data is referenced, and to enable the accurate execution of collaborative operations with strict timing requirements. Furthermore, by equipping the information sharing device 100 with a structure that allows multiple controllers 200 to refer to the same data in a shared register area 122, an environment is provided that facilitates design changes, additions, removals, and modifications to local devices 300.
[0066] According to the production system 10 of this embodiment, data can be sent to at least one controller 200 via asynchronous communication. Therefore, for example, information can also be shared with devices other than those capable of communication according to industrial synchronous communication standards. In this case, the timing of transmission to each controller 200 is difficult to predict. However, in the production system 10, the reflection from the shared register region 122 to the output register region 132 occurs in the same cycle. Therefore, based on the reference timing of the data, it is possible to control which timing of the data is referenced.
[0067] According to the production system 10 of this embodiment, the environmental data generation unit 160 can, for example, store the data representing the actions performed by the local device 300 itself in the shared register 120, but instead store the environmental data representing the changes in the unit's environment due to the actions in the shared register 120. This data is then reflected in multiple output register areas 132 in the same cycle and shared by multiple controllers 200. As a result, multiple controllers 200 can perform coordinated control of multiple local devices 300 corresponding to the unit's environment, enabling efficient autonomous distributed control.
[0068] [Controller]
[0069] Each of the multiple controllers 200 has an external input unit 210, a conversion unit 220, a variable register 230, a device control unit 240, a task storage unit 250, a selection unit 260, and an external output unit 270.
[0070] Data corresponding to the output register area 132 is input to the external input unit 210. The transmitting unit 170 can transmit the data of the output register area 132 as a bit-type signal consisting of ON / OFF, and the external input unit 210 can receive this signal. The external input unit 210 may have an external input register, which can reflect the received signal to the corresponding external input register area among the multiple external input register areas. The external input register area may be an example of an external input storage area. A communication setting can be pre-established to establish a correspondence between each of the multiple output register areas 132 and each of the multiple external input register areas. This communication setting can be performed, for example, by the setting device 400.
[0071] The conversion unit 220 converts the signal received by the external input unit 210 into a word variable. The conversion unit 220 then reflects the converted variable into a variable register 230. The variable register 230 stores the variable. The variable register 230 can be an example of a variable storage area. If the signal is always a bit-type signal, it is difficult to use in a so-called job (robot program), but by converting it into a word variable through the conversion unit 220, it can be easily used in the job.
[0072] The device control unit 240 controls the local device 300, which is the object of control. The device control unit 240 can use variables stored in the variable register 230 to control the local device 300. For example, the device control unit 240 can use the variables stored in the variable register 230 as part of the parameters of the movement or action of the local device 300 to perform the operation.
[0073] The task storage unit 250 stores multiple tasks executed by the local device 300, which is the object of control. The selection unit 260 selects at least one task from the multiple tasks stored in the task storage unit 250 based on data input to the external input unit 210. The selection unit 260 can also select at least one task from the multiple tasks stored in the task storage unit 250 based on variables that the conversion unit 220 converts and writes to the variable register 230. The device control unit 240 can cause the local device 300, which is the object of control, to execute the task selected by the selection unit 260.
[0074] The device control unit 240 can update the variable register 230 after controlling the local device 300, which is the object of control. For example, after the local device 300 performs the task selected by the selection unit 260, the device control unit 240 reflects the variable indicating that the task has been completed in the corresponding variable register area.
[0075] The conversion unit 220 can convert the updated variables in the multiple variable register areas of the variable register 230 and reflect them in the external output register of the external output unit 270. For example, the conversion unit 220 reflects the updated variables in the variable register areas as bit-type signals in the corresponding external output register areas of the multiple external output register areas of the external output register.
[0076] External output unit 270 sends data associated with local device 300 to information sharing device 100. External output unit 270 sends data stored in multiple external output register areas of external output registers to information sharing device 100 via communication based on at least one communication standard including asynchronous communication, so that the data is reflected in the corresponding input register areas 112. External output register areas can be, for example, external output storage areas. Communication settings can be pre-configured to establish a correspondence between each of the multiple external output register areas and each of the multiple input register areas 112. This communication configuration can, for example, be performed by configuration device 400.
[0077] According to the production system 10 of this embodiment, two or more controllers 200 that control two or more local devices 300, such as robots, can each obtain data updated at the same cycle and operate the local devices 300 based on this data. Therefore, the accuracy of distributed actions, such as coordinated actions of two or more local devices 300 and actions that avoid each other's actions, can be improved.
[0078] As described above, the controller 200 causes the local device 300 to perform actions based on data obtained from the information sharing device 100. This includes not only using the data as part of the parameters of the local device 300's movement or action to perform actions, but also selecting the next task based on that data. When using the data as part of the parameters of the movement or action to perform actions, a system can be constructed that improves the coordination and decentralization of movement or action, thereby improving work quality and accuracy.
[0079] In the production system 10 according to this embodiment, the controller 200 selects tasks based on data shared by the output register 130, thereby enabling the local device 300 to perform tasks, thus increasing the autonomy of the local device 300. Furthermore, since the update timing of the output register 130 is controlled by the update unit 150, the autonomy of the local device 300 is reduced, minimizing situations where the expected autonomy cannot be achieved due to receiving incorrect data or timing misalignment of received data, thus increasing the efficiency of the autonomous operation of the local device 300.
[0080] [Setting Device]
[0081] The setting device 400 includes a UI (user interface) 402, a receiving unit 404, a generating unit 406, a setting unit 408, and an execution unit 410.
[0082] UI402 is a user interface used for making various settings in production system 10. UI402 can allocate and set the input register 110 and shared register 120 in response to user operations. UI402 can allocate and set the shared register 120 and output register 130 in response to user operations.
[0083] UI402 can configure data sharing between information sharing device 100 and controller 200. The sharing configuration can include input settings from controller 200 to information sharing device 100 and output settings from information sharing device 100 to controller 200. UI402 can also configure communication between input register 110 and external output unit 270 in response to user operation. UI402 can also configure communication between output register 130 and external input unit 210 in response to user operation. The communication settings between input register 110 and external output unit 270, and between output register 130 and external input unit 210, can also be performed without using UI402.
[0084] UI402 can allocate the external output register region, input register region 112, and shared register region 122 according to the input settings from controller 200 to information sharing device 100, which include the address of the external output register of external output unit 270 and the address of shared register region 122 of shared register 120. This allows each data from controller 200 to be stored in the desired shared register region 122 of shared register 120.
[0085] UI402 can allocate the shared register region 122, output register region 132, and external input register region according to the output settings from information sharing device 100 to controller 200, which include the address of shared register region 122 containing shared register 120 and the address of external input register of external input unit 210. This allows the data in shared register 120 to be shared with one or more desired controllers 200.
[0086] UI402 can process shared settings of data in a shared register area 122 for two or more controllers 200 based on user operations, and generate a program for the data in the shared register area 122 in the two or more controllers 200 based on the shared settings. This program can be used to reflect data from an output register area 132 to two or more output register areas 132 during periodically repeating scan times, thereby updating the data stored in the two or more output register areas 132 corresponding to the two or more controllers 200. This program can be a ladder diagram program. The update unit 150 can execute the program generated by UI402.
[0087] Therefore, by simply setting the address of the external output register of the external output unit 270, the address of the input register area 112 of the input register 110, and the address of the shared register area 122 of the shared register 120, the user can store data from the controller 200 in the desired area of the shared register 120. Furthermore, by simply setting the address of the shared register area 122 of the shared register 120, the address of the output register area 132 of the output register 130, and the address of the external input register of the external input unit 210, the user can enable the data in the shared register 120 to be shared by one or more desired controllers 200. This reduces the setup load for data sharing.
[0088] UI402 may include a receiving unit 404, a generating unit 406, a setting unit 408, and an execution unit 410.
[0089] The receiving unit 404 accepts user operations for sharing settings of internal data in one controller to one or more other controllers. The generating unit 406 generates a program that executes within one controller to copy internal data from its storage area to the output area for output to other controllers, based on the sharing settings accepted by the receiving unit 404.
[0090] For example, the receiving unit 404 accepts a user operation request to share data in the shared register 120 of the information sharing device 100 with one or more controllers 200. The generation unit 406 generates a program based on this sharing setting, which executes within the information sharing device 100 and copies data from the shared register area 122 of the shared register 120 from the shared register area 122 to the output register area 132 for output to the controllers 200. The setting unit 408 can then set the program generated by the generation unit 406 in the information sharing device 100.
[0091] For example, the receiving unit 404 receives a request from the user to share data from the variable register 230 in the controller 200 to the information sharing device 100. Based on this sharing setting, the generation unit 406 generates a program that executes within the controller 200, copying data from the variable register 230 to the external output register area of the external output unit 270, which is output to the information sharing device 100. The setting unit 408 can then set the program generated by the generation unit 406 in the controller 200.
[0092] The execution unit 410 performs various functions. For example, the execution unit 410 can perform import functions such as: reading a configuration file containing pre-generated shared settings and applying the shared settings to at least one of the multiple controllers 200. The execution unit 410 can read a configuration file containing pre-generated input settings and apply the input settings to at least one of the multiple controllers 200. The execution unit 410 can read a configuration file containing pre-generated output settings and apply the input settings to at least one of the multiple controllers 200. By being able to apply shared settings generated separately from UI402 to the controllers 200, the flexibility of settings can be increased, and the setting operation can be made more efficient.
[0093] For example, the execution unit 410 can perform the following export functions: read the shared settings of at least one of the multiple controllers 200 to generate a configuration file containing the shared settings. The execution unit 410 can read the input settings of at least one of the multiple controllers 200 to generate a configuration file containing the input settings. The execution unit 410 can read the output settings of at least one of the multiple controllers 200 to generate a configuration file containing the output settings. By exporting and filing the shared settings of a controller 200, a configuration method can be implemented that reflects the settings of the controller 200 to other controllers 200 and allows for editing as needed, thereby improving the efficiency of the configuration process.
[0094] Furthermore, the information sharing device 100 and the setting device 400 can be integrated. That is, the information sharing device 100 can also have a UI 402.
[0095] Figure 3 An example of the processing flow of the information sharing device 100 is shown in outline. Figure 3 In this context, the following state will be described as the start state: A conveying robot, as an example of local device 300, conveys a workpiece to a fastening robot, also as an example of local device 300. The fastening robot performs thread fastening on the workpiece. The information sharing device 100 receives data indicating completion of conveying from the controller 200 that controls the conveying robot, and also receives data indicating completion of thread fastening from the controller 200 that controls the fastening robot. Figure 3 In the example shown, the information sharing device 100 includes an environmental data generation unit 160, which generates environmental data based on the data in the input register 110 and reflects it in the shared register 120.
[0096] In the initial state, such as Figure 3 As shown, the input register area 112 corresponding to the controller 200 that controls the conveying robot in the multiple input register areas 112 of the input register 110 reflects data indicating that the conveying is completed, and the input register area 112 corresponding to the controller 200 that controls the fastening robot reflects data indicating that the thread fastening is completed.
[0097] The environmental data generation unit 160 generates environmental data based on data indicating delivery completion and data indicating thread tightening completion. For example, the environmental data generation unit 160 may refer to process data representing the flow of operations within the unit and determine the latest environment of the unit based on data from the input register 110 to generate environmental data. In this example, the environmental data generation unit 160 determines that thread tightening completion is the latest environment based on the relationship between delivery and thread tightening, and reflects the data indicating thread tightening completion in the corresponding shared register area 122 of the multiple shared register areas 122 of the shared register 120.
[0098] Here, the case where data from the shared register region 122 is provided to the two controllers 200 will be explained. The update unit 150 reflects the data indicating the completion of thread tightening in the shared register region 122 to the two output register regions 132 corresponding to the two controllers 200 in the same cycle. By reflecting in the same cycle, even if the two controllers 200 refer to their respective output register regions 132 at different timings, they will refer to the same data indicating the completion of thread tightening. Therefore, when the two controllers 200 each want the local device 300, which is the controlled object, to cooperate based on the data in the output register region 132, cooperative operation based on the same data indicating the completion of thread tightening can be performed.
[0099] Figure 4 This is a simplified example of UI402. Figure 4 In the example shown, UI402, for each of the multiple controllers 200, accepts input settings from the controller 200 to the information sharing device 100 and output settings from the information sharing device 100 to the controller 200 to generate the necessary programs. Here, the case where the information sharing device 100 processes data in 16-bit units and the controller 200 processes data in 8-bit units is illustrated.
[0100] UI402 includes a selection bar 420. The selection bar 420 is configured as a controller 200 capable of selecting and setting objects. By selecting controllers 200 in the selection bar 420, the user can configure each controller 200.
[0101] UI402 includes an input setting field 430. The input setting field 430 includes an external output field for controller 200, an input register field for information sharing device 100, and an allocation destination field. The allocation destination field includes a variable field, a register field, a value field, and a register comment field. The address of the external output register of external output unit 270 can be entered in the external output field. The address of shared register 120 can be entered in the register field. Text can be entered in the register comment field. UI402 allocates the external output register region and the shared register region 122 by entering the addresses of the external output registers and shared register 120 on the same line. The address of input register region 112 of input register 110, corresponding to the external output register region represented by the address of the external output register on the same line, is configured in the input register field. The variable in the variable field is configured for the shared register region 122 indicated by the address in the register field, and the value of the variable is configured in the value field.
[0102] UI402 can automatically generate a program that reflects the input register area 112 shown in the input register bar to the shared register area 122 shown in the register bar based on the settings in the input setting bar 430. Since the combination of the input register area 112 and the shared register area 122 of the information sharing device 100 can become very large, the workload of manually generating each program can become very high. However, in the production system 10 of this embodiment, UI402 can automatically generate such programs, which can significantly reduce the workload.
[0103] UI402 includes an output setting bar 440. The output setting bar 440 includes an allocation source bar and an output register bar for the information sharing device 100, and an external input bar for the controller 200. The allocation source bar includes a variable bar, a register bar, a value bar, and a register comment bar. The address of the external input register of the external input unit 210 can be entered in the external input bar. The address of the shared register 120 can be entered in the register bar. Text can be entered in the register comment bar. UI402 allocates the shared register region 122 and the external input register region by entering the address of the shared register 120 and the address of the external input register in the same row. In the output register bar, the address of the output register region 132 of the output register 130, corresponding to the external input register region represented by the address of the external input register in the same row, is configured. The variable in the shared register region 122 indicated by the address in the register bar is configured in the variable bar, and the value of the variable is configured in the value bar.
[0104] UI402 can automatically generate a program that reflects the shared register area 122 shown in the register bar to the output register area 132 shown in the output register bar based on the settings in the output setting bar 440. Since there may be many combinations of output register area 132 and shared register area 122 of the information sharing device 100, the workload of manually generating each program may become very high. However, in the production system 10 of this embodiment, UI402 can automatically generate such programs, which can significantly reduce the workload.
[0105] When the export function is executed, the execution unit 410 of UI402 generates a configuration file containing the configuration contents of the input configuration field 430 and the output configuration field 440 of the target controller 200. This configuration file is then imported into another controller 200 via the import function, thereby reflecting the configuration contents in the input configuration field 430 and the output configuration field 440 of that other controller 200. Users can import the configuration file of one controller 200 into another controller 200 and edit the configuration contents as needed, thus enabling efficient input and output configuration for that other controller 200.
[0106] Figure 4 The UI402 shown has a structure that sets the inputs from and outputs to the information sharing device 100 for each of the plurality of controllers 200, but the structure of UI402 is not limited to this. UI402 could also be configured, for example, to set one or more controllers 200 that share data in each of the plurality of shared storage areas. However, Figure 4 The UI402 shown can centrally set the output from the controller 200 to the information sharing device 100 and the input from the information sharing device 100 to the controller 200 for each of the multiple controllers 200, thereby making it easy to set up autonomous distributed control.
[0107] Figure 5 This is an explanatory diagram illustrating the processing of the conversion unit 220. As described above, the conversion unit 220 converts data from the external input unit 210 into variables and reflects them in the variable register 230. The conversion unit 220 can directly convert data from the external input unit 210 into variables, or it can convert data from the external input unit 210 into numerical data and vice versa. Figure 5 The latter situation will be explained in the following section.
[0108] exist Figure 5In the example shown, the external input unit 210 receives data from the output register area 132 as a bit-type signal and reflects it in the corresponding external input register area 214. The external input register area 214 can be an example of an external input storage area. The conversion unit 220 converts the signal stored in the external input register area 214 into numerical data and reflects it in the intermediate register area 224 of the intermediate register 222. The intermediate register 222 can be a so-called general-purpose register. The intermediate register area 224 can be an example of an intermediate storage area. The conversion unit 220 converts the numerical data in the intermediate register area 224 into word-type variables and reflects them in the variable register area 234.
[0109] Furthermore, the conversion unit 220 converts the data stored in the variable register area 234 into numerical data and reflects it in the intermediate register area 224. The conversion unit 220 converts the numerical data in the intermediate register area 224 into bit-type signals and reflects them in the external output register area 274.
[0110] The UI402 of the setting device 400 can accept settings that establish a correspondence between the output register region 132 and the variable register region 234 based on user operation. In response to accepting the setting to establish a correspondence between the output register region 132 and the variable register region 234, the conversion unit 220 can select the intermediate register region 224 corresponding to the output register region 132 and the variable register region 234 from a plurality of intermediate register regions 224 of the intermediate register 222. Furthermore, in response to accepting the setting to establish a correspondence between the output register region 132 and the variable register region 234, the UI402 can generate a program for converting the signal of the external input register region 214 corresponding to the output register region 132 into numerical data, and a program for converting the numerical data of the intermediate register region 224 selected by the conversion unit 220 into variables. Additionally, the UI402 can generate a program for converting the variables of the variable register region 234 into numerical data and a program for converting the numerical data of the intermediate register region 224 into bit-type signals. The conversion unit 220 can perform the conversion by executing these programs.
[0111] Alternatively, the UI 402 may not be provided by the setting device 400, but by the controller 200. Furthermore, the information sharing device 100 may also provide the UI 402.
[0112] Production system 10 through having Figure 5The function shown allows the controller 200 to automatically convert signals received from the outside into word variables when it has a general-purpose register for exchanging numerical data with the outside. While the conversion between the general-purpose register and the variable can also be achieved manually, the program generation overhead becomes very high. In contrast, the production system 10 according to this embodiment can automatically generate such a program, thus reducing the overhead.
[0113] Figure 6 An example of the hardware structure of a computer 1200 that functions as an information sharing device 100, a controller 200, or a setting device 400 is shown in schematic form. A program installed on the computer 1200 can cause the computer 1200 to function as an information sharing device 100. A program installed on the computer 1200 can cause the computer 1200 to function as a controller 200. A program installed on the computer 1200 can cause the computer 1200 to function as a setting device 400. Such a program can be executed by a CPU 1212 to cause the computer 1200 to perform specific operations associated with several or all of the blocks in the flowcharts and block diagrams described in this specification. The functional structures of the information sharing device 100, the controller 200, and the setting device 400 can be implemented separately by one or more CPUs 1212.
[0114] Computer 1200 includes a CPU 1212, RAM 1214, and a graphics controller 1216, which are interconnected via a host controller 1210. Computer 1200 also includes an input / output unit such as a communication interface 1222, a storage device 1224, a DVD drive, and an IC card driver, which are connected to the host controller 1210 via an input / output controller 1220. The storage device 1224 can be a hard disk drive or a solid-state drive, etc. Computer 1200 also includes a ROM 1230 and conventional input / output units such as a keyboard, which are connected to the input / output controller 1220 via an input / output chip 1240. The CPU 1212 operates according to programs stored in the ROM 1230 and RAM 1214, thereby controlling the various units. The graphics controller 1216 acquires image data generated by the CPU 1212 and displays the image data on a display device 1218. The communication interface 1222 communicates with other electronic devices via a network. The storage device 1224 stores programs and data used by the CPU 1212. The information processing described in the program is read by the computer 1200, enabling the program to cooperate with the various types of hardware resources mentioned above.
[0115] In this embodiment, the boxes in the flowcharts and block diagrams may represent stages of a process performing an operation or "parts" of a device that performs the operation. Specific stages and "parts" may be installed via dedicated circuitry, programmable circuitry provided with computer-readable commands stored on a computer-readable storage medium, and / or a processor provided with computer-readable commands stored on a computer-readable storage medium. Dedicated circuitry may include digital and / or analog hardware circuitry, or integrated circuits (ICs) and / or discrete circuitry. Programmable circuitry may include reconfigurable hardware circuitry such as field-programmable gate arrays (FPGAs) and programmable logic arrays (PLAs), which include logic products, logical sums, XOR, NAND, NOR, other logic operations, flip-flops, registers, and memory elements.
[0116] A computer-readable storage medium can include any tangible device capable of storing commands that can be executed by a suitable device. As a result, a computer-readable storage medium having commands stored therein comprises a product containing commands executable for generating means for performing operations specified in a flowchart or block diagram. Examples of computer-readable storage media include electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, etc. The computer-readable command executes the command to generate means for performing operations specified in a flowchart or block diagram using a processor or programmable circuit of a programmable data processing device such as a computer. This computer-readable command can be provided to the processor or programmable circuit of a general-purpose computer, special-purpose computer, or other programmable data processing device via a wide area network (WAN) such as a local area network (LAN) or the Internet. Examples of processors include computer processors, central processing units, processing units, microprocessors, digital signal processors, controllers, microcontrollers, etc. A computer can have one or more processors. In a multiprocessor system with multiple processors, each processor executes a portion of a program, and data is exchanged between processors as needed during program execution, thereby allowing multiple processors to execute the program centrally. For example, in multitasking, multiple processors can execute a portion of a task by switching tasks on a time-slice basis. In this case, which part of a program each processor executes changes dynamically. Alternatively, the specific parts of the program executed by each processor can be statically determined by understanding multiprocessor programming.
[0117] The present invention has been described above using embodiments, but the technical scope of the present invention is not limited to the scope described in the above embodiments. Various modifications or improvements can be made to the above embodiments, which will be apparent to those skilled in the art. As can be seen from the claims, such modifications or improvements are also included within the technical scope of the present invention.
[0118] It should be noted that the execution order of actions, sequences, steps, and stages in the apparatus, systems, programs, and methods shown in the claims, description, and drawings can be implemented in any order, unless explicitly stated as "before" or "before," and as long as the output of a previous process is not used in a subsequent process. Even if terms such as "firstly" or "next" are used for convenience in describing the flow of actions in the claims, description, and drawings, it does not mean that the actions must be performed in that order.
[0119] Label Explanation
[0120] 10 Production System; 100 Information Sharing Device; 110 Input Register; 112 Input Register Area; 120 Shared Register; 122 Shared Register Area; 130 Output Register; 132 Output Register Area; 140 Collection Unit; 150 Update Unit; 160 Environmental Data Generation Unit; 170 Transmission Unit; 200 Controller; 210 External Input Unit; 214 External Input Register Area; 220 Conversion Unit; 222 Intermediate Register; 224 Intermediate Register Area; 230 Variable Register; 234 Variable Register Area; 240 Equipment Control Unit; 250 Task Storage Unit; 260 Selection Unit; 270 External Output Unit; 274 External Output Register Area; 300 Local Device; 400 Setting Device; 402 UI; 404 Receiving Unit; 406 Generation Unit; 408 Setting Unit; 410 Execution Unit; 420 Counterparty Selection Bar; 430 Input Setting Bar; 440 Output Setting Bar; 1200 Computer; 1210 Host Controller; 1212 CPU; RAM; Graphics controller; Display device; Input / output controller; Communication interface; Storage device; ROM; Input / output chip.
Claims
1. A production system comprising: Multiple controllers, each controlling a different local device that is cooperating in production; and An information sharing device capable of communicating with the plurality of controllers. The information sharing device has the following features: Multiple shared storage areas, which respectively store data received from the multiple controllers or data generated based on the data; Multiple output storage areas, each storing data that can be sent to the multiple controllers; as well as The update unit, when providing data stored in one of the plurality of shared storage areas to two or more of the plurality of controllers, uses that data to update the data stored in two or more output storage areas respectively allocated to the two or more controllers at the same cycle.
2. The production system according to claim 1, wherein, The updating unit executes a program during periodically repeated scan times to reflect data from the one shared storage area to the two or more output storage areas, so as to update the data stored in the two or more output storage areas.
3. The production system according to claim 2, wherein, The production system also has a user interface, which accepts the sharing settings of the data in the shared storage area to the two or more controllers based on user operations, and generates the program in the two or more controllers for the data in the shared storage area based on the sharing settings.
4. The production system according to claim 3, wherein, The user interface, for each of the plurality of controllers, accepts output settings from the information sharing device to the controller as the sharing settings, the output settings establishing a correspondence between one or more shared storage areas among the plurality of shared storage areas and one or more storage areas possessed by a corresponding controller. Based on this output setting, the program generates data for the shared storage area in the controller.
5. The production system according to claim 3 or 4, wherein, The user interface is capable of performing import functions such as reading in a configuration file containing pre-generated shared settings and applying the shared settings to at least one of the plurality of controllers.
6. The production system according to any one of claims 1 to 5, wherein, The production system also includes an environmental data generation unit, which generates environmental data representing the environment of a unit containing the multiple local devices based on data received from the multiple controllers and associated with the multiple local devices that are the control objects of the multiple controllers, and updates data stored in one or more of the multiple shared storage areas using the generated data.
7. The production system according to any one of claims 1 to 6, wherein, Each of the plurality of controllers has: An external input section is input with data to the output storage area corresponding to the controller; as well as The device control unit causes the local device, which is the object of control, to operate based on the data input to the external input unit.
8. The production system according to claim 7, wherein, At least one of the plurality of controllers is a robot controller that controls the robot.
9. The production system according to claim 7 or 8, wherein, Each of the plurality of controllers further comprises: A task storage unit that stores multiple tasks executed by the local device, which is the object of control; as well as The selection unit selects at least one task from the plurality of tasks based on data input to the external input unit. The device control unit causes the local device to perform the task selected by the selection unit.
10. The production system according to any one of claims 7 to 9, wherein, The external input unit receives data from the output storage area as a bit-type signal consisting of ON / OFF. Each of the plurality of controllers has a conversion unit that converts the signal received by the external input unit into a word-type variable. The device control unit activates the local device based on the variable converted by the conversion unit.
11. The production system according to any one of claims 7 to 9, wherein, Each of the plurality of controllers has a conversion unit that converts the signal representing the data received by the external input unit from the output storage area of the information sharing device into numerical data and reflects it in the intermediate storage area, and converts the numerical data in the intermediate storage area into character variables and reflects them in the variable storage area. In response to accepting the setting to establish a correspondence between the output storage area and the variable storage area, the conversion unit selects the intermediate storage area from a plurality of intermediate storage areas.
12. An information sharing device capable of communicating with multiple controllers, said multiple controllers controlling multiple local devices that are cooperating in production, wherein, The information sharing device includes: Multiple shared storage areas, which respectively store data received from the multiple controllers or data generated based on the data; Multiple output storage areas, each storing data that can be sent to the multiple controllers; as well as The update unit, when providing data stored in one of the plurality of shared storage areas to two or more of the plurality of controllers, uses that data to update the data stored in two or more output storage areas respectively allocated to the two or more controllers at the same cycle.
13. A program for causing an information sharing device to perform an update phase, the information sharing device being able to communicate with a plurality of controllers, the plurality of controllers controlling a plurality of local devices cooperating in production, the information sharing device comprising: a plurality of shared storage areas storing data received from the plurality of controllers or data generated based on the data; and a plurality of output storage areas storing data that can be sent to the plurality of controllers. During the update phase, when data stored in one of the multiple shared storage areas is provided to two or more of the multiple controllers, the data is used to update the data stored in two or more output storage areas respectively allocated to the two or more controllers at the same cycle.
14. An information sharing method, comprising: During the storage phase, data received from multiple controllers that control multiple local devices cooperating in production, or data generated based on that data, is stored in any of the multiple shared storage areas; and During the update phase, when data stored in one of the multiple shared storage areas is provided to two or more of the multiple controllers, the data is used to update the data stored in two or more output storage areas respectively allocated to the two or more controllers at the same cycle.
15. A setting device comprising: The receiving department, based on user operations, handles the sharing settings of internal data in one controller to one or more other controllers; and The generation unit, based on the shared settings accepted by the receiving unit, generates a program that executes within one controller and copies the internal data from its storage area to an output area for output to the other controllers.
Citation Information
Patent Citations
Control device and distributed control system
JP2021068200A
Control device
JP2022101817A
Control apparatus and control method
JP2022175462A