This application is a 371 of international application of PCT application serial no. PCT/JP2017/041653, filed on Nov. 20, 2017, which claims the priority benefit of Japan application no. 2017030834, filed on Feb. 22, 2017. The entirety of each of the above-mentioned patent applications is hereby incorporated by reference herein and made a part of this specification.
The present invention relates to a networked control system, a control device included in such a control system, and a control program directed to such a control device.
With the advances in information and communication technology (ICT) in recent years, networking and multifunctionalization of various devices used at manufacturing sites are in progress. As an example, a system that connects a control device such as a programmable controller (PLC) or the like, an input/output (I/O) device such as a sensor or a relay or the like, and an actuator such as an inverter or a motor driver or the like and so on by a network and integrates them has been put into practical use.
On the other hand, in a user program executed by the control device, there is also a demand that processing must be executed while soundness of the sensor or the like is being checked. In a networked control system, it is necessary to collect and monitor states of each machine connected to the network. For example, Japanese Laid-Open No. 2007-108923 (Patent Document 1) discloses a configuration including one master unit and slice communication units connected to a field bus, wherein states of each slice communication unit can be monitored by a state flag.
Patent Document 1: Japanese Laid-open No. 2007-108923
As networking of a control system becomes more advanced, there is a problem that the number of units to be monitored increases, soundness of all the targets to be monitored needs to be considered, and efficiency of creation of the user program is reduced.
A configuration capable of realizing efficient programming even in a multistage or highly networked control system has been desired.
A control system according to an embodiment of the present invention includes: a processing unit that executes a user program; one or a plurality of function units; one or a plurality of communication units that relay data between the processing unit and the one or plurality of function units; and a reflection means that, when a variable associated with any data held by the function units and indicating validity of the data is designated in the user program, reflects, as a value indicated by the variable, a result of aggregation of states of each of the communication units present on a transmission path from the function units holding designated data to the processing unit.
Preferably, the reflection means includes a means of analyzing a source code of the user program in which the variable is designated and specifying one or a plurality of communication units related to determination of the value indicated by the variable, and a means of, after adding to the source code a command for determining the value indicated by the variable from a set of values indicating the state of the specified one or plurality of communication units, generating an object code of the user program.
Preferably, the control system further includes a support device connected to the processing unit, and the reflection means is implemented in the support device.
Preferably, the reflection means includes a means of analyzing a source code of the user program in which the variable is designated and specifying one or a plurality of communication units related to determination of the value indicated by the variable, and a means of adding a function of updating and holding the value indicated by the variable based on the specified information in the processing unit.
Preferably, the control system further includes a support device connected to the processing unit, wherein the support device performs analysis of the source code of the user program and transmits information specified by the analysis to the processing unit.
Preferably, the reflection means includes, in the processing unit, a means of, in response to target data and a variable name associated with the target data, specifying the function units holding the target data, and specifying a transmission path from the specified function units to the processing unit, and a means of adding a command for updating, as the value indicated by the designated variable, the result of aggregation of the states of each of the communication units present on the specified transmission path every predetermined cycle.
Preferably, the value indicated by the variable is configured to be accessible from an external device connected to the processing unit.
Preferably, a network is configured in which a predetermined protocol is followed between the communication units.
A control device according to an embodiment of the present invention includes a processing unit that executes a user program, and a communication interface for communicating with one or a plurality of function units. One or a plurality of communication units that relay data are disposed between the processing unit and the one or plurality of function units. The control device includes a reflection means that, when a variable associated with any data held by the function units and indicating validity of the data is designated in the user program, reflects, as a value indicated by the variable, a result of aggregation of states of each of the communication units present on a transmission path from the function units holding designated data to the processing unit.
According to an embodiment of the present invention, a control program executed by a computer is provided. The computer includes a processing unit that executes a user program, and a communication interface for communicating with one or a plurality of function units. One or a plurality of communication units that relay data are disposed between the processing unit and the one or plurality of function units. The control program causes the computer to execute: a step of, when a variable associated with any data held by the function units and indicating validity of the data is designated in the user program, specifying a transmission path from the function units holding designated data to the processing unit and the communication units present on the specified transmission path; and a step of reflecting, as a value indicated by the variable, a result of aggregation of states of each of the specified communication units.
According to the embodiments of the present invention, efficient programming can be realized even in a multistage or highly networked control system.
Embodiments of the present invention are explained in detail with reference to the drawings. Moreover, the same or equivalent portions in the drawings are denoted by the same reference numerals, and explanations thereof will not be repeated.
First of all, a configuration example of a control system according to the present embodiment is explained.
As an example, the control system 1 includes a programmable controller (PLC) 2 being a representative example of a control device, and remote I/O devices 3A, 3B, 3C and 3D (hereinafter also collectively referred to as “remote I/O device 3”) connected to the PLC 2 via a field network. The PLC 2 may further be connected to a higher-level network 4. Other PLCs may be connected to the higher-level network 4, or any information processing device such as a gateway server or a database server may be connected to the higher-level network 4.
More specifically, the remote I/O devices 3A, 3B and 3C are connected to the PLC 2 via a field network 5. The remote I/O device 3A provides another field network 6, and the remote I/O device 3A and the remote I/O device 3D are connected via the field network 6. The field network 6 is managed by a communication unit 152 attached to the remote I/O device 3A. The PLC 2 can access the remote I/O device 3D via the field network 5 and the field network 6.
As the field networks 5 and 6, typically, a protocol is employed in which communication time between nodes in a network is guaranteed. That is, a network is configured in which a predetermined protocol is followed between communication units. For example, EtherCAT®, EtherNet/IP®, DeviceNet®, CompoNet®, or the like can be employed as such a protocol in which the communication time between nodes is guaranteed. It is not necessary that the same protocol be employed as the field network 5 and the field network 6, and protocols suitable for the respective devices or units may be employed.
Typically, the PLC 2 includes a CPU unit 100 and one or a plurality of function units 150 attached to the CPU unit 100. In addition, the remote I/O device 3 includes a coupler unit 160 having a communication function, and one or a plurality of function units 150 attached to the coupler unit 160.
The function unit 150 is a device for exchanging various information with an apparatus or a machine or the like to be controlled. The function unit 150 has one or a plurality of functions among, for example, a digital input (DI) function of receiving digital signals, a digital output (DO) function of outputting digital signals, an analog input (AI) function of receiving analog signals, and an analog output (AO) function of outputting analog signals. Alternatively, the function unit 150 includes implementation of a special function such as proportional integral derivative (PID) control or motion control.
Next, a device configuration of each device constituting the control system 1 is explained.
(b1: PLC 2)
The PLC 2 shown in
The processor 102, while reading a system program 108a and a user program 108b stored in the nonvolatile memory 108 and developing them in the main memory 106, sequentially executes commands included in the system program 108a and the user program 108b according to a clock supplied from the clock 110. The main memory 106 is a memory device composed of a dynamic random access memory (DRAM) or a static random access memory (SRAM) or the like and holding a user program or temporary data or the like. The nonvolatile memory 108 is composed of a flash memory or the like, and stores the system program 108a, the user program 108b and various setting information. The chipset 104 supports data exchange between the processor 102 and a peripheral device.
The communication interface 112 is a circuit for communicating with an external device such as a support device 200 or the like, and is connected to the external device via a connector 114.
A memory card 118 can be attached to the memory card interface 116, reading data from the memory card 118 and writing data to the memory card 118.
The network controllers 120 and 130 control data exchange via the field network 5. The network controllers 120 and 130 are connected to the field network 5 via connectors 128 and 138, respectively. Specifically, the network controller 120 includes a buffer memory 122, a transfer control circuit 124, and a DMA control circuit 126 realizing direct memory access (direct memory access: DMA). Similarly, the network controller 130 includes a buffer memory 132, a transfer control circuit 134 and a DMA control circuit 136. The buffer memories 122 and 132 sequentially store packets or the like transferred to the field network 5. The transfer control circuits 124 and 134 control transmission of packets onto the field network 5, reception of packets from the field network 5, and so on. The DMA control circuits 126 and 136 control access to the buffer memories 122 and 132.
The internal bus controller 140 is connected to an internal bus via a connector 148 and mediates data exchange with the function unit 150 attached to the CPU unit 100 via the internal bus. Specifically, the internal bus controller 140 includes a buffer memory 142, a transfer control circuit 144 and a DMA control circuit 146. Since each of these portions has the same function as the corresponding portions of the network controllers 120 and 130, the detailed explanation thereof will not be repeated.
The network controllers 120 and 130 and the internal bus controller 140 are equivalent to a communication interface in order to communicate with the function unit 150.
(b2: remote I/O device 3)
The remote I/O device 3 shown in
The controller 161 is a circuit in charge of processing in the remote I/O device 3, and is typically realized using a hardwired processing circuit such as an application specific integrated circuit (ASIC) or a field-programmable gate array (FPGA) or the like. However, all or some of its functions may be implemented by software (realized by a processor executing a program).
Like the communication interface 112 shown in
The network controllers 170 and 180 control the data exchange via the field network 5. More specifically, the network controller 170 includes a buffer memory 172, a transfer control circuit 174 and a DMA control circuit 176. Similarly, the network controller 180 includes a buffer memory 182, a transfer control circuit 184 and a DMA control circuit 186. Since the network controllers 170 and 180 have the same function as the network controllers 120 and 130 shown in
The internal bus controller 190 is connected to an internal bus via a connector 198 and mediates data exchange with the function unit 150 attached to the coupler unit 160 via the internal bus. Specifically, the internal bus controller 190 includes a buffer memory 192, a transfer control circuit 194 and a DMA control circuit 196. Since each of these portions has the same function as the corresponding portions of the internal bus controller 140 shown in
(b3: support device 200)
As shown in
The processor 202, while reading an operating system (OS) 208a and a support program 208b stored in the nonvolatile memory 208 and developing them in the main memory 206, sequentially executes commands included in the OS 208a and the support program 208b. The main memory 206 is a memory device composed of a DRAM or a SRAM or the like and holding a user program or temporary data or the like. The nonvolatile memory 208 is composed of a flash memory or the like, and stores the OS 208a, the support program 208b and various setting information. The chipset 204 supports data exchange between the processor 202 and a peripheral device.
The display interface 210 outputs, to a display, a result of an operation performed by the processor 202 or the like. The input part 212 includes a keyboard or a memory or the like, and receives a user operation. The communication interface 214 is a circuit for communicating with the PLC 2 (CPU unit 100).
Next, an overview is given of functions provided in the control system 1 according to the present embodiment.
As shown in
In the example shown in
In general, it is necessary to make sure in advance on a user program that a value collected as the input data in the CPU unit 100 reflects a value of an input signal actually input to the function unit 150. The reason is that, for example, when the input data indicates “False,” it cannot be determined whether it reflects that the input signal input to the corresponding function unit 150 is actually “False,” or whether the input data incorrectly becomes “False” in the CPU unit 100 even though the input signal is “True,” because there is something abnormal in the process of sequentially transferring the input data through a transmission path and the transmission fails.
Therefore, in general, when describing a command to execute some processing (action) using the input data, it is common to add a condition indicating that a collection path (transmission path) of the input data is sound. Information that constitutes such a condition is also referred to as “validity check data” in the following. In addition, in the present embodiment, since a user program is basically created by variable programming, a variable for referring to a value of the “validity check data” is also referred to as a “validity check variable.”
A user program 400 shown in
Furthermore, in a previous stage of the input value flag 405, state flags 401 to 404 (variable names ST1 to ST4) are disposed in series. The state flags 401 to 404 are respectively equivalent to the validity check variables of the transmission paths 301 to 304 shown in
On the other hand, a user program 410 shown in
As can be seen by comparing
As networking of a control system becomes more advanced, it is necessary to confirm what is defined by each flag, and, if a network configuration is changed, a flag to be used as the validity check data must be changed accordingly to update the user program 410.
With respect to such a problem, in the control system 1 according to the present embodiment, an environment is provided in which special validity check data that summarizes conditions necessary to evaluate the validity of a target input variable can be used.
In the present embodiment, the following function is implemented. When a variable (validity check variable) associated with any data held by the function unit 150 and indicating validity of the data is designated in a user program, a result of aggregation of states (values of each state flag) of each of the communication units present on the transmission path from the function unit 150 holding designated data to the CPU unit 100 is reflected as a value (validity check data) indicated by the variable.
Since such special validity check data can be used, a developer of the user program can use an abstracted validity check variable that can absorb differences in hardware configuration and network configuration between the input data input to a function unit connected to the CPU unit 100 via an internal bus and the input data input to a function unit connected via one or a plurality of networks. Thus, programming creation efficiency can be improved and a change in the network configuration or the like can be flexibly responded to.
In the following, several implementation methods for providing the validity check data according to the present embodiment are explained.
As a first implementation method, a method is explained in which the validity check data is provided using only the functions installed on the support device 200. In the first implementation method, a function of reflecting a validity check variable in a user program as the corresponding validity check data is realized by the support device 200.
When the source code 10 of the user program is parsed and compiled, if there is a description using the validity check data according to the present embodiment, processing of the user program using the validity check data may be realized by decomposing the content intended by the validity check data into a combination of existing commands. By employing a method that the support device 200 parses validity check data or a validity check variable included in the source code 10 of the user program and creates an appropriate object code 12, the user can use the validity check data without particular awareness during compilation and so on.
More specifically, the function block 432 defines that, when an input (EXE) is activated, a value indicating a result of a logical operation (typically, logical AND) on a set of necessary flags is output (OUT) with reference to a transmission path of a variable (variable D1 in the example shown in
More specifically, when a source code of the user program 430A as exemplified in
The variable table 20 associates variables available to a user program with actual function unit port numbers, and defines assignment of any variable name to a value collected at a certain port of a certain function unit. The network configuration 22 defines a connection relationship (network topology) between the CPU unit 100 and each function unit 150 in the control system 1, and so on.
Typically, by referring to the variable table 20 and the network configuration 22, a flag necessary to determine the output value of the function block 432 can be specified. The support device 200 analyzes the source code 10 of the user program in which the validity check variable is designated, and specifies one or a plurality of communication units related to determination of a value (validity check data) indicated by the validity check variable.
When such a flag necessary to determine the output value of the function block 432 is specified, a user program 430B as shown in
More specifically, in the user program 430B, a special coil 434 corresponding to the function block 432 of the user program 430A is introduced, and the special coil 434 stores a result of a set (logical AND) of the state flags 401 to 404. Then, the user program 430A as exemplified in
Moreover, the user program 430B may be generated internally and does not need to be displayed in a form visible to the user.
According to the first implementation method, when a user program including the function block 432 is parsed, the content meant by the special flag 436 corresponding to the function block 432 is dynamically determined with reference to the content of the variable table 20 and the network configuration 22. By employing such processing of dynamically determining the content of the validity check data, the user can use a validity check variable to be an execution condition without worrying about which function unit each variable is associated with and which network the function unit associated with the variable is present on.
A function of logging an execution state of a user program in the CPU unit 100 is sometimes implemented in the support device 200. In such a logging function, while the user program 430A shown in
Even in the case where the input data is captured from the function unit attached to the CPU unit 100, as shown in
Next, a processing procedure according to the first implementation method is explained.
Referring to
When compilation is instructed (YES in step S102), the support device 200 analyzes a source code of the user program and determines whether or not a function block indicating the use of a validity check variable is present (step S104). If the function block indicating the use of the validity check variable is not present (NO in step S104), processing in steps S106 to S110 is skipped.
If the function block indicating the use of the validity check variable is present (YES in step S104), the support device 200 specifies a set of device variables indicated by a function block in the user program, with reference to a variable table and a network configuration or the like. That is, when a variable (validity check variable) associated with any data held by the function unit 150 and indicating validity of the data is designated in the user program, the support device 200 specifies a transmission path from the function unit 150 holding designated data to the CPU unit 100 and communication units present on the specified transmission path.
Then, the support device 200 converts the user program into a user program including the validity check variable indicating validity check data composed of the specified set of device variables (step S108). Accordingly, the support device 200 reflects a result of aggregation of states of each of the specified communication units as a value (validity check data) indicated by the validity check variable.
The support device 200 compiles the user program converted in step S108 or the user program created in step S100 and generates an object code of the user program (step S110). Then, the support device 200 transfers the generated object code of the user program to the CPU unit 100 (step S112). Then, the processing of creation and compilation of the user program is ended.
In the above explanation, an implementation is exemplified in which the target validity check data can be dynamically determined by using the function block indicating the validity check variable. However, the present invention is not limited thereto, and a validity check variable may be prepared in advance for all the input value flags (input value variables) that can be handled by the CPU unit 100. For example, with respect to an input value variable “d0001,” by using a combination of an identification number assigned to each variable and a character string indicating the type of the variable as a variable name, like a validity check variable “sst0001,” such a one-to-one association becomes possible. Alternatively, each variable may be regarded as an object, and its property or method or the like may be used to designate or use each validity check variable.
Whichever method is used, it is a different manner of expression in programming and can be implemented in the same manner as described above.
As described above, in the first implementation method, the content of the function block that is defined as the validity check variable is analyzed, and the validity check data is interpreted as a combination of necessary state flags. Then, a value of the validity check data is determined in each control cycle with reference to the values of the state flags and so on stored in the CPU unit 100. By employing such a method, since there is no need to prepare a region on the CPU unit 100 for holding the validity check data, efficient programming can be realized even in a multistage or highly networked control system while a situation is avoided where memory resources of the CPU unit 100 are lacking.
As a second implementation method, a method is explained in which the functions installed on the CPU unit 100 of the PLC 2 and the support device 200 cooperate to provide the validity check data.
When a source code of the user program 440 as exemplified in
The variable table 20 associates variables available to a user program with actual function unit port numbers, and defines assignment of any variable name to a value collected at a certain port of a certain function unit. The network configuration 22 defines the connection relationship (network topology) between the CPU unit 100 and each function unit 150 in the control system 1, and so on.
Typically, by referring to the variable table 20 and the network configuration 22, the status information necessary to determine an output value of the validity check variable (special flag 442) can be specified. When a flag necessary to determine the output value of the validity check variable is specified, validity check data setting 444 for realizing the target special flag 442 is generated. The validity check data setting 444 is setting information for providing the validity check data designated in the CPU unit 100.
In the CPU unit 100, input/output data and status data are disposed on the main memory 106, and their respective values are subjected to input/output refresh (update) every control cycle.
The validity check data setting 444 is transferred from the support device 200 to the CPU unit 100. In this way, the support device 200 connected to the CPU unit 100 performs analysis of the source code of the user program and transmits information (validity check data setting 444) specified by the analysis to the CPU unit 100.
The CPU unit 100 interprets the validity check data setting 444 received from the support device 200, and secures a region for storing the validity check data in a predetermined region on the main memory 106. In this secured region, the validity check data of a variable name designated in the validity check data setting 444 may be stored.
Furthermore, as shown in
In this way, the CPU unit 100 adds a function of updating and holding the validity check data indicated by the validity check variable based on the validity check data setting 444 including specified information.
Since the validity check data (variable SST1 in this example) designated on the user program has been prepared on the CPU unit 100, a logging function 448 implemented in the support device 200 presents a state value at each timing to the user with reference to the designated validity check variable.
According to the second implementation method, the support device 200 and the CPU unit 100 of the PLC 2 cooperate to provide the validity check data. That is, the CPU unit 100 collects from the support device 200 the validity check data setting 444 including (1) the variable name of the validity check variable, and (2) the definition of the state value indicating the validity check variable and the logical operation. Then, the CPU unit 100 holds and updates the validity check data in accordance with the collected validity check data setting 444.
According to the second implementation method, since the CPU unit 100 will hold and update the validity check data, the validity check data can be referred to from any external device that is not limited to the support device 200 that created the user program 440, and versatility can further be enhanced. Also, since the validity check data is updated in the CPU unit 100, the validity check data can be updated in the same control cycle as the input/output data, and the validity check data can also be used for another sequence program.
Next, a processing procedure according to the second implementation method is explained.
Referring to
When the reflection on the CPU unit 100 is instructed (YES in step S202), the support device 200 analyzes a source code of the user program and determines whether or not a validity check variable has been designated (step S204). If the validity check variable has not been designated (NO in step S204), the processing in steps S206 to S210 is skipped.
If the validity check variable has been designated (YES in step S204), the support device 200 specifies a set of device variables indicated by the validity check variable in the user program with reference to a variable table and a network configuration and so on (step S206), generates the validity check data setting 444 indicating the validity check variable (step S208), and transfers it to the CPU unit 100 (step S210).
According to the validity check data setting 444 from the support device 200, the CPU unit 100 secures a region on the main memory 106 for holding the designated validity check data (step S250) and forms a data update logic for updating the validity check data (step S252). Then, the CPU unit 100 refers to a designated state value, and writes to the secured region, as the validity check data, a result of a logical operation on the referred state value (step S254). The CPU unit 100 determines whether or not a next control cycle has arrived (step S256), and if the next control cycle has arrived (YES in step S256), repeats the processing in step S254.
By accessing the CPU unit 100 at any timing and designating the validity check variable, the support device 200 or other external device is capable of acquiring a value of the corresponding validity check data.
In the above explanation, an example is shown in which the validity check variable is used in the user program. However, a function block may instead be used, as exemplified in the first implementation method described above. If a function block is used, the CPU unit 100 may automatically assign a variable name corresponding to the designated function block. Alternatively, each variable may be regarded as an object, and its property or method or the like may be used to designate or use each validity check variable.
Whichever method is used, it is a different manner of expression in programming and can be implemented in the same manner as described above.
As described above, in the second implementation method, since the validity check data is held inside the CPU unit 100 based on the validity check data setting 444 generated from the information of the user program created in the support device 200, the validity check data can be accessed from any external device. Hence, applicability of the validity check data can be enhanced. In addition, since the validity check data held inside the CPU unit 100 is updated in the same control cycle as normal input/output data and state values, it can also be commonly used among a plurality of abnormality processing logics.
As a third implementation method, a method is explained in which the validity check data is provided using substantially only the functions installed on the CPU unit 100 of the PLC 2.
The CPU unit 100 specifies a device variable corresponding to target input data designated from the support device 200, and specifies a target function unit from an address of the specified device variable ((1) in
In accordance with such a procedure, a variable name indicating the validity check data designated from support device 200 is defined in the CPU unit 100, and, in the CPU unit 100, a logic for updating the defined validity check data is automatically constructed. For a search for a network address as described above, the variable table and the network configuration and so on stored in the CPU unit 100 are referred to.
The variable name used as the validity check data and the input data being a target of the validity check data, which are transmitted from the support device 200 to the CPU unit 100, may be defined using a function block in the user program as shown in
Next, a processing procedure according to the third implementation method is explained.
Referring to
If these pieces of information are received (YES in step S300), the CPU unit 100 specifies a device variable corresponding to the designated target input data (step S302), and specifies a target function unit from an address of the specified device variable (step S304). Subsequently, the CPU unit 100 determines which network the specified function unit belongs to (step S306), and specifies the network related to the target function unit (step S308).
In this way, in response to the data being the target of the validity check data and the variable name used as the validity check data associated with the target data, the CPU unit 100 specifies a function unit holding the target data, and specifies a transmission path from the specified function unit to the CPU unit 100.
Based on a network address and a state value address of the function unit managing the specified network and so on, the CPU unit 100 specifies state values necessary to calculate the validity check data (step S310), and constructs a data update logic (step S312). Then, the CPU unit 100 repeats the update processing of the validity check data in accordance with the constructed data update logic (step S314).
In this way, the CPU unit 100 adds a command for updating the result of aggregation of the states of each of the communication units present on the specified transmission path as the value indicated by the designated validity check variable every predetermined cycle.
As described above, in the third implementation method, when specific input data is designated and the validity check variable indicating the validity check data to be associated with the input data is designated in the support device 200, the logic for calculating the designated validity check data is automatically constructed in the CPU unit 100. Hence, the user can create the user program without considering which hardware is used to collect the designated input data. By employing such a configuration, efficiency of creation of the user program can be improved. In addition, in the third implementation method, since the validity check data is held inside the CPU unit 100, the validity check data can be accessed from any external device connected to the CPU unit 100.
In the first to third implementations described above, a method of determining a logic or algorithm for calculating the validity check data according to the hardware configuration and the network configuration of the control system 1 at a timing when processing is performed has been exemplified. After the logic or algorithm has been determined, if a change occurs in the hardware configuration or the network configuration, such as addition, change or disuse of some unit, the occurrence of the change may be detected so as to reconstruct the logic or algorithm. By employing such an automatic reconstruction method, the necessary algorithm or logic can be dynamically optimized for the configuration change in the control system 1.
According to the control system and the control device constituting the control system according to the present embodiment, in developing a user program that uses some input data, a user (typically, a developer of the user program) does not need to be aware of via what kind of hardware and network the input data is collected. If the user designates the validity check data corresponding to the input data to be used in the user program, the validity check data reflecting one or a plurality of pieces of status information corresponding to a transmission path of the designated input data or the like can be used.
In addition, since the value of the validity check data is updated based on the logic or algorithm constructed according to the hardware configuration and the network configuration of the control system, even if a configuration change occurs later, response is possible without changing the user program.
In this way, according to the present embodiment, efficient programming can be realized even in a multistage or highly networked control system.
The embodiments disclosed herein are examples in all aspects and should not be interpreted as limitations. The scope of the present invention is indicated by claims instead of the above descriptions, and it is intended to include all modifications within the scope of the claims and the equivalents thereof.
Number | Date | Country | Kind |
---|---|---|---|
JP2017-030834 | Feb 2017 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2017/041653 | 11/20/2017 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2018/154884 | 8/30/2018 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5742624 | Irie | Apr 1998 | A |
7024463 | Hitomi | Apr 2006 | B1 |
7475393 | Essick, IV | Jan 2009 | B2 |
7822495 | Nixon | Oct 2010 | B2 |
10375615 | Shimoji | Aug 2019 | B2 |
20030016677 | Mauritz | Jan 2003 | A1 |
20050195827 | Yao | Sep 2005 | A1 |
20090051309 | Rehm | Feb 2009 | A1 |
20160091883 | Fujiwara | Mar 2016 | A1 |
20170068229 | Yaoita | Mar 2017 | A1 |
20170139393 | Boss | May 2017 | A1 |
Number | Date | Country |
---|---|---|
105629923 | Jun 2016 | CN |
102010020504 | Nov 2011 | DE |
2990896 | Mar 2016 | EP |
S58500090 | Jan 1983 | JP |
H07114412 | May 1995 | JP |
H086614 | Jan 1996 | JP |
H08211908 | Aug 1996 | JP |
2002278606 | Sep 2002 | JP |
2004094354 | Mar 2004 | JP |
2007108923 | Apr 2007 | JP |
2014099061 | May 2014 | JP |
2015001758 | Jan 2015 | JP |
2015176370 | Oct 2015 | JP |
2016099879 | May 2016 | JP |
1994004969 | Mar 1994 | WO |
2005060168 | Jun 2005 | WO |
Entry |
---|
“International Preliminary Report on Patentability (Form PCT/IPEA/409) of PCT/JP2017/041653,” completed on Sep. 3, 2018, with English translation thereof, pp. 1-10. |
“International Search Report (Form PCT/ISA/210) of PCT/JP2017/041653,” dated Dec. 26, 2017, with English translation thereof, pp. 1-4. |
“Written Opinion of the International Searching Authority (Form PCT/ISA/237) of PCT/JP2017/041653,” dated Dec. 26, 2017, with English translation thereof, pp. 1-8. |
“Search Report of Europe Counterpart Application”, dated Nov. 6, 2020, p. 1-p. 9. |
“Office Action of China Counterpart Application” with English translation thereof, dated Aug. 10, 2021, p. 1-p. 20. |
Number | Date | Country | |
---|---|---|---|
20190361418 A1 | Nov 2019 | US |