Engineering tools and equipment
The engineering tool device addresses remote control challenges by verifying execution module performance before program distribution, ensuring stable and accurate program execution.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- KK TOSHIBA
- Filing Date
- 2022-10-25
- Publication Date
- 2026-07-08
AI Technical Summary
In remote control of field equipment, developers face challenges in accurately assessing the processing performance of execution modules, leading to potential issues with achieving intended processing speeds and control processing obstacles.
An engineering tool device equipped with a first holding unit for control programs, a second holding unit for execution module performance information, and a determination processing unit to verify if the execution module can meet the processing time requirements before distributing the program.
This approach enables more stable and accurate program development over a network, ensuring that control programs are executed within the intended processing time, thereby preventing control processing failures.
Smart Images

Figure 0007886796000001 
Figure 0007886796000002 
Figure 0007886796000003
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate to an engineering tool device.
Background Art
[0002] Generally, when equipment to be controlled is installed at a site, the control program of the execution module for controlling the field equipment to be controlled is also stored in the equipment within the site. Also, in such a case, it has been common for the user to execute improvements and updates to the control program while checking the operation of the field equipment.
[0003] On the other hand, remote control and remote management of field equipment to be controlled are being advanced via a network. In such a case, program development such as version upgrades for the execution module may be performed via a network using an engineering tool device.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] However, in remote control, it becomes difficult for developers who are remote to grasp the processing performance of the execution module. Therefore, according to the execution module, there is a risk that the processing speed intended by the program cannot be achieved and an obstacle may occur in the control processing of the field equipment to be controlled.
[0006] In order to solve such problems, the problem in the present embodiment is to provide an engineering tool device that can more stably perform program development via a network.
Means for Solving the Problems
[0007] According to this embodiment, the engineering tool device comprises a first holding unit, a second holding unit, and a determination processing unit. The first holding unit holds a control program. The second holding unit holds information regarding the performance of an execution module that controls the control device. The determination processing unit uses the performance information to determine whether the execution module can achieve the processing time set in the control program. If the determination processing unit determines that it can achieve the time, it transmits the control program to the execution module via the network. [Effects of the Invention]
[0008] This allows for more stable program development over a network. [Brief explanation of the drawing]
[0009] [Figure 1] A diagram showing an example configuration of the control system according to the first embodiment. [Figure 2] Block diagrams showing example configurations for each device. [Figure 3] This figure illustrates an example of a processing sequence according to this embodiment. [Figure 4] A diagram showing the processing sequence when it is determined that periodicity is not being maintained. [Figure 5] A block diagram showing an example of the configuration of each device in the control system according to the second embodiment. [Figure 6] A diagram showing an example of a processing sequence in the control system according to the second embodiment. [Figure 7] A diagram showing the processing sequence according to the second embodiment when periodicity is not maintained. [Figure 8] A block diagram showing an example of the configuration of a control system according to a modified example of the second embodiment. [Figure 9] A diagram showing a processing sequence according to a modified example of the second embodiment. [Figure 10] A block diagram showing an example configuration of the control system according to the third embodiment. [Figure 11]A diagram showing an example of a processing sequence according to the third embodiment. [Modes for carrying out the invention]
[0010] Hereinafter, an engineering tool apparatus according to an embodiment of the present invention will be described in detail with reference to the drawings. Note that the embodiments shown below are merely examples of embodiments of the present invention, and the present invention is not limited to these embodiments. Furthermore, in the drawings referenced in this embodiment, the same or similar reference numerals are used for identical parts or parts having similar functions, and repeated descriptions may be omitted. Also, the dimensional ratios in the drawings may differ from the actual ratios for illustrative purposes, and some components may be omitted from the drawings.
[0011] (First Embodiment) (composition) Figure 1 shows an example configuration of a control system according to the first embodiment. As shown in Figure 1, the control system 100 comprises an engineering tool device 1, a plurality of execution modules 3, and a development device 4. Note that the execution modules 3 may be referred to as communication modules.
[0012] For example, the engineering tool device 1 and the execution module 3, and the engineering tool device 1 and the development device 4 are configured to communicate with each other via, for example, a network 2. The engineering tool device 1 is, for example, a server, and is a device that can determine whether or not the development program can be distributed based on the performance of multiple execution modules 3. The engineering tool device 1 can also provide a development environment on the cloud via the network 2.
[0013] The execution module 3 is, for example, an industrial controller that controls industrial field devices arranged at the site. This execution module 3 can execute a program (controller software) distributed from the engineering tool device 1 via the network 2. By executing the distributed program, the execution module 3 controls, for example, an actuator 6 that drives field devices using the measurement data of the sensor 5. Note that the execution module 3 may be singular. Also, multiple execution modules 3 may be arranged at the same site or at different sites. The performance of multiple execution modules 3 may be different from each other or may be unified.
[0014] The development device 4 is, for example, a personal computer and is a device operated by a developer to develop a control program. For example, the development device 4 can develop a control program using a human machine interface (HMI) provided by the engineering tool device 1 via the network 2. In this way, the developer can also develop a control program in a cloud environment via the network 2.
[0015] Figure 2 is a block diagram showing a configuration example of each device. As shown in Figure 2, the engineering tool device 1 includes a communication unit 11, a control program holding unit 12, a control program management unit 13, and a control execution information holding unit 14. The communication unit 11 communicates with a plurality of execution modules 3 and a development device 4 via the network 2. The communication unit 11 is an interface that can realize communication with other devices via various communication methods such as the Internet using, for example, a wired or wireless line. For example, the communication unit 11 may use a WAN (Wide Area Network), a LAN (Local Area Network), or a PAN (Personal Area Network).
[0016] The control program holding unit 12 holds the control program developed using the development device 4. The control program holding unit 12 may include various RAMs (Random Access Memories), for example, or may include a storage medium such as an HDD (Hard Disk Drive) or SSD (Solid State Drive). Note that the control program holding unit 12 according to the present embodiment corresponds to the first holding unit.
[0017] The control program management unit 13 determines whether it is possible to determine the periodicity of the control program and distribute it to the execution module 3. This periodicity corresponds to, for example, the control cycle time of a control program that is repeatedly executed. In a more detailed example, the control cycle time is the time obtained by multiplying the number of predetermined units included in the control program by the operation time for executing one predetermined unit. In this case, the control program management unit 13 compares the time obtained by multiplying the number of predetermined units included in the control program by the operation time for executing one predetermined unit with the processing time set for the control program, thereby determining whether the processing within the processing time set for the execution module 3 can be achieved. Note that the control program management unit 13 according to the present embodiment corresponds to the determination processing unit.
[0018] For example, when the control program is a ladder program, the control operation is described by a plurality of operation steps. The developer performs development by determining the execution time of the program in which a plurality of operation steps are described as the control cycle time. In this case, the processing time per one operation step of the ladder program × the number of operation steps of the ladder program becomes the control cycle time. In this case, the control program management unit 13 compares the processing time per one operation step of the ladder program × the number of operation steps of the ladder program with the control cycle time set for the ladder program, thereby determining whether the processing within the control cycle time set for the execution module 3 can be achieved.
[0019] The control program holding unit 12 can also generate a control program in accordance with the operation input from the development device 4 via the network 2. As described above, for example, the control program holding unit 12 provides a human-machine interface (HMI) to the development device 4 via the network 2, and the developer of the development device 4 can develop a control program using the human-machine interface.
[0020] The control execution information holding unit 14 holds information regarding the performance of the execution module 3 that controls the control device. For example, the control execution information holding unit 14 holds the computation time required to execute a predetermined unit of the control program as information regarding the performance of the execution module 3. More specifically, if the control program is a ladder program, it holds the time required for the execution module 3 to execute one computation step (unit computation step) as execution information necessary to determine periodicity. The control execution information holding unit 14 may be equipped with various types of RAM (Random Access Memory), or it may be equipped with a storage medium such as an HDD (Hard Disk Drive) or SSD (Solid State Drive). In this embodiment, the control execution information holding unit 14 corresponds to the second holding unit.
[0021] The execution module 3 is composed of, for example, a CPU (Central Processing Unit). The execution module 3 has a communication unit 31, a control program holding unit 32, a control program execution unit 33, and a control program compilation unit 34. The communication unit 31 communicates with the engineering tool device 1 via the network 2. The communication unit 31 is an interface that can communicate with other devices via various communication methods, such as the Internet using wired or wireless lines. For example, the communication unit 11 may use a WAN (Wide Area Network), LAN (Local Area Network), or PAN (Personal Area Network).
[0022] The control program holding unit 32 holds the control program (source code) distributed from the engineering tool device 1 via the network 2. The control program execution unit 33 executes the executable program (object code) and uses the measurement data from the sensor 5 to control the actuator 6 that drives the field equipment.
[0023] The control program compilation unit 34 analyzes the control program (source code) written in a programming language and stored in the control program storage unit 32, and converts it into a control program (object) in a format that can be executed by the control program execution unit 33. The control program compilation unit 34 can also store the executable control program (object) in the control program storage unit 32. In this case, the control program compilation unit 34 executes the executable control program (object) read from the control program storage unit 32.
[0024] The development device 4 comprises a communication unit 41, a display unit 42, and an operation unit 43. The communication unit 41 communicates with the engineering tool device 1 via the network 2. The communication unit 41 is an interface that can communicate with other devices via various communication methods, such as the internet using wired or wireless lines. The display unit 42 is a monitor. The operation unit 43 includes a keyboard, mouse, and the like.
[0025] The development device 4 installs editing software provided by the engineering tool device 1, for example, via the network 2. The developer uses the editing software, for example, to write a program that describes the operation of the machine. This program is, for example, a ladder program. As described above, the control operation is described by a ladder program using multiple calculation steps. The developer sets the execution time of the program, which contains multiple calculation steps, as the control cycle time and performs development. In this embodiment, the development device 4 includes the number of calculation steps in the ladder program and the control cycle time as metadata for the developed control program (source code).
[0026] (action) An example of a processing sequence according to this embodiment will be explained using Figure 3. Figure 3 is a diagram illustrating an example of a processing sequence according to this embodiment. Here, an example of a processing sequence up to the execution of the control program in the execution module 3 will be explained. The overall processing flow consists of a processing block T1 which is a series of processes that save execution information, a processing block T2 which is a series of processes that save the control program, and a processing block T3 which is a series of processes that distribute the control program.
[0027] In processing block T1, under the control of the control program management unit 13, execution information regarding the processing time per calculation step of the execution module 3 and the execution module ID are obtained from the execution module 3 via the communication unit 11, network 2, and communication unit 31 (t10). Subsequently, the control program management unit 13 associates the obtained execution information and execution module ID of the execution module 3 and stores them in the control execution information holding unit 14 (t11).
[0028] In processing block T2, under the control of the control program management unit 13, the control program (source code), control program ID, and metadata are acquired from the development device 4 via the communication unit 11, network 2, and communication unit 41 (t20). The metadata includes, as described above, the number of calculation steps in the ladder program and information on the first control cycle time. Subsequently, the control program management unit 13 associates the acquired control program (source code), metadata, and control program ID and stores them in the control program holding unit 12 (t21).
[0029] In processing block T3, first, the communication unit 41 of the development device 4 sends the control program ID of the control program to be distributed and the destination execution module ID of the control program to be distributed to the engineering tool device 1 according to the input information from the operation unit 43 (t30). Subsequently, the control program management unit 13 calculates the number of calculation steps of the ladder program based on the processing time per calculation step in the execution module 3 of the destination execution module ID, and calculates the second control cycle time of the execution module 3.
[0030] Next, the control program management unit 13 compares the second control cycle time of the execution module 3 with the first control cycle time associated with the control program (source code). The control program management unit 13 determines that if the second control cycle time of the execution module 3 is less than or equal to the first control cycle time associated with it, periodicity is maintained and the control program (source code) can be distributed to the execution module 3. On the other hand, if the second control cycle time is greater than the first control cycle time associated with it, periodicity is not maintained and the control program (source code) cannot be distributed to the execution module 3 (t31). Subsequently, if the control program management unit 13 determines that periodicity is maintained through the periodicity check, it sends the control program to the execution module 3 with the recipient execution module ID (t32).
[0031] Next, the control program execution unit 33 of the execution module 3 stores the received control program in the control program holding unit 32 (t33). Subsequently, the control program compilation unit 34 compiles the control program (source code) held in the control program holding unit 32 (t34). Note that although the control program (source code) is transmitted here, it is not limited to this. For example, the control program management unit 13 of the engineering tool device 1 may be equipped with a compilation function, and the compiled executable control program (object) may be transmitted.
[0032] Next, the control program execution unit 33 of the execution module 3 executes the control program (t35) and notifies the engineering tool device 1 that it has been executed (t36). Then, the control program management unit 13 of the engineering tool device 1 notifies the development device 4 of the execution so that the developer can confirm the execution on the display unit 42 (t37). Alternatively, the engineering tool device 1 may notify the development device 4 when it has sent the control program, informing the developer that the program has been sent.
[0033] Figure 4 shows the processing sequence when the periodicity check determines that periodicity is not maintained. As shown in Figure 4, processing block T3a shows the processing sequence when it is determined that periodicity is not maintained. In processing step t31, the same processing as in processing block T3 is performed. Then, when the periodicity check determines that periodicity is not maintained, the control program management unit 13 sends an execution failure notification to the development device 4 indicating that the control program cannot be executed, so that the developer can confirm it on the display unit 42 (t38).
[0034] As described above, according to this embodiment, the control program management unit 13 of the engineering tool device 1 compares the second control cycle time of the execution module 3 with the first control cycle time associated with the control program. This allows the control program management unit 13 to verify whether or not the periodicity of the control program is maintained in the execution module 3. Therefore, the control program to be distributed is verified in advance to be executable within the control cycle time before execution in the execution module 3. As a result, only control programs that can be executed periodically can be distributed to the execution module 3.
[0035] (Second Embodiment) In the control system 100 according to the first embodiment, execution information was used to determine the periodicity of the control program. In contrast, the control system 100 according to the second embodiment differs from the control system 100 according to the first embodiment in that it is possible to simulate execution including the performance of input / output devices such as the sensor 5 and actuator 6. The differences from the control system 100 according to the first embodiment will be explained below.
[0036] (composition) Figure 5 is a block diagram showing an example of the configuration of each device in the control system 100 according to the second embodiment. As shown in Figure 5, the engineering tool device 1 differs from the control system 100 according to the first embodiment in that it further includes a control program simulation execution unit 15 and a simulation input / output unit 16.
[0037] The control program simulation execution unit 15 configures an execution environment that simulates the equipment performance of the execution module 3, according to the equipment information including the CPU information and memory amount of the execution module 3. This control program simulation execution unit 15 configures the simulated execution environment using, for example, a CPU equivalent to that of the execution module 3. In this case, the control program simulation execution unit 15 can configure the simulated execution environment by, for example, using container virtualization technology to limit the proportion of CPU usage and memory usage of the engineering tool device 1.
[0038] The simulated input / output unit 16 configures a simulated input / output environment according to the performance information of input / output devices such as the sensor 5 and the actuator 6. For example, the simulated input / output environment is an environment that can generate simulated input / output signals equivalent to the operation of the sensor 5 and the actuator 6 without actually operating the sensor 5 and the actuator 6.
[0039] (action) Figure 6 shows an example of a processing sequence in the control system 100 according to the second embodiment. As shown in Figure 6, the processing sequence in the control system 100 according to the second embodiment is similar to that of the control system 100 according to the first embodiment, and includes a processing block T1a which is a series of processes for saving execution information, a processing block T2 which is a series of processes for saving the control program, and processing blocks T3b and T3c which are a series of processes for distributing the control program. More specifically, in processing block T1a, the execution information to be acquired includes CPU information of the execution module 3, memory amount, performance information of the sensor 5, and performance information of the actuator 6. Furthermore, processing block T2 according to the second embodiment is equivalent to processing block T2 according to the first embodiment.
[0040] In the periodicity verification processing block t31a, the control program management unit 13 determines whether periodicity is maintained based on the processing results of the simulated operation of the control program simulation execution unit 15. The control program simulation execution unit 15 compiles the control program (source) to match the simulated execution environment and executes the control program. In this case, the control program simulation execution unit 15 works in conjunction with the simulated input / output unit 16 to perform a simulated execution equivalent to that of the actual environment of the execution module 3.
[0041] The control program management unit 13 determines whether the first control cycle time is maintained by comparing the first control cycle time of the metadata with the second control cycle time obtained by the simulated operation of the control program simulation execution unit 15. Subsequent processing is equivalent to that of processing block T3 according to the first embodiment.
[0042] Figure 7 shows the processing sequence when it is determined that periodicity is not maintained during the periodicity check according to the second embodiment. Processing block T3c differs from processing block T3a according to the first embodiment in that the periodicity check processing block t31a is performed in processing block T3c. That is, in processing block T3c, the control program simulation execution unit 15 performs a simulated execution equivalent to the actual environment of the execution module 3 by working in conjunction with the simulation input / output unit 16 as an evaluation of periodicity. The processing sequence after periodicity check is the same as the processing sequence according to the first embodiment.
[0043] Thus, the control program simulation execution unit 15 of the control system 100 according to the second embodiment can construct a simulated execution environment using the CPU information, memory amount, performance information of the sensor 5, and performance information of the actuator 6 of the execution module 3. This makes it possible to evaluate the periodicity performance of the execution module 3 in a real environment with higher accuracy. Therefore, developers can develop control programs that are better suited to the performance of the execution module 3. As a result, the execution module 3 can receive control programs that make more effective use of its computing resources.
[0044] (Modified version of the second embodiment) The control system 100 according to a modification of the second embodiment differs from the control system 100 according to the second embodiment in that it sends the execution environment configured by the engineering tool device 1 to the execution module 3. The differences from the control system 100 according to the second embodiment will be explained below. (composition) Figure 8 is a block diagram showing an example configuration of a control system 100 according to a modified example of the second embodiment. As shown in Figure 8, the execution module 3 according to the modified example of the second embodiment differs from the execution module 3 according to the second embodiment in that it further includes a control program execution environment operation unit 35. On the other hand, the execution module 3 according to the modified example of the second embodiment can also be configured without a control program holding unit 32, a control program execution unit 33, and a control program compilation unit 34.
[0045] The control program execution environment operator 35 operates the execution environment configured by the control program simulation execution unit 15. This execution environment is equivalent to a configuration combining the control program (object) and the control program execution unit 33. The execution environment can also include middleware and software necessary to operate as a controller. The execution environment may be constructed using a virtual machine or using container virtualization technology. Furthermore, multiple control programs may be contained within the virtual machine or container that constitutes the execution environment.
[0046] (action) Figure 9 is a diagram showing a processing sequence related to a modified example of the second embodiment. As shown in Figure 9, processing blocks T1a, T2, and T3c are equivalent to the processing sequence according to the second embodiment. On the other hand, in processing block T3d related to the modified example of the second embodiment, after the periodicity confirmation process (t31a), if the periodicity is satisfied, the control program simulation execution unit 15 of the engineering tool device 1 provides the execution module 3 with an execution environment corresponding to the execution environment used for the simulation execution (t40).
[0047] Furthermore, the execution module 3 performs processing operations according to the provided execution environment (t41). The subsequent processing (t36, t37) is equivalent to the processing block T3b according to a modified example of the second embodiment.
[0048] As described above, in the control system 100 according to the modification of the second embodiment, the control program simulation execution unit 15 of the engineering tool device 1 provides the execution module 3 with an execution environment corresponding to the execution environment used for simulation execution. This makes it possible to run the execution environment used for evaluation on the execution module 3, enabling developers to develop control programs that are better suited to the performance of the execution module 3. Furthermore, by running it on the execution module 3, it is possible to reduce the number of functions in the execution module 3. Moreover, since the execution environment is configured to suit the individual information of the execution module 3, it is possible to evaluate periodicity without unifying the compilation environment of the execution module 3.
[0049] (Third embodiment) The control system 100 according to the first embodiment differs from the control system 100 according to a modification of the second embodiment in that it is possible to simulate execution including communication over a wide area network. The differences from the control system 100 according to a modification of the second embodiment will be explained below.
[0050] (composition) Figure 10 is a block diagram showing an example configuration of the control system 100 according to the third embodiment. As shown in Figure 10, the control system 100 according to the third embodiment differs from the control system 100 according to the second embodiment in that it further includes a remote execution module 7.
[0051] The remote execution module 7 is used for remote control and management of the execution module 3. Therefore, the communication time via network 2 must also be considered when remotely controlling the execution module 3.
[0052] This remote execution module 7 comprises a communication unit 71 and a control program execution environment operation unit 72. The communication unit 71 is an interface that enables communication with other devices via various communication methods, such as the Internet using wired or wireless lines. The control program execution environment operation unit 72 operates the execution environment configured by the control program simulation execution unit 15. Note that there may be multiple remote execution modules 7.
[0053] Furthermore, the execution module 3 includes a simulated input / output unit 36 and a control input / output application unit 37. On the other hand, it is possible to have a configuration without a control program execution environment operation unit 35. The simulated input / output unit 36 configures a simulated input / output environment according to the performance information of input / output devices such as the sensor 5 and actuator 6. That is, the simulated input / output environment is an environment that can generate simulated input / output signals equivalent to the operation of the sensor 5 and actuator 6 without actually operating the sensor 5 and actuator 6. In addition, the simulated input / output unit 36 can communicate the simulated input / output signals with the control program simulation execution unit of the engineering tool device 1 via the network 2.
[0054] The control input / output application unit 37 can control input / output devices such as the sensor 5 and actuator 6 according to control signals transmitted via the network 2. Furthermore, it communicates the output signals of the input / output devices such as the sensor 5 and actuator 6 with the control program execution environment operation unit 72 of the remote execution module 7 via the network 2.
[0055] Furthermore, in order to minimize the communication time between the engineering tool device 1 and the execution module 3, and the communication time between the remote execution module 7 and the execution module 3, the engineering tool device 1 and the remote execution module 7 can be installed and evaluated on the same local area network. Alternatively, they may be installed on the same site.
[0056] (action) Figure 11 is a diagram showing an example of a processing sequence according to the third embodiment. As shown in Figure 11, processing blocks T1a and T2 are equivalent to the processing sequence according to a modification of the second embodiment. On the other hand, in processing block T3e according to the third embodiment, first, the communication unit 41 of the development device 4 sends the control program ID of the control program to be distributed, the execution module ID of the distribution destination, and the remote execution module ID of the remote execution module 7 to be used to the engineering tool device 1 according to the input information of the operation unit 41 (t50).
[0057] The control program simulation execution unit 15 configures an execution environment that simulates the performance of the execution module 3, according to the CPU information and memory size of the execution module 3. Subsequently, the control program simulation execution unit 15 requests simulated input / output signals from the simulated input / output unit 36 of the execution module 3. The simulated input / output unit 36 exchanges simulated input / output signals with the control program simulation execution unit 15 in response to the request (t52).
[0058] In the periodicity verification processing block t53, the control program management unit 13 determines whether periodicity is maintained based on the processing results of the simulated operation of the control program simulation execution unit 15. The control program management unit 13 determines whether the first control period time is maintained by comparing the first control period time in the metadata with the second control period time obtained by the simulated operation of the simulation execution unit 15. Subsequently, after the periodicity verification process (t53), if the periodicity is satisfied, the control program management unit 13 provides the remote execution module 7 with the execution environment corresponding to the execution environment used for the simulated execution of the control program simulation execution unit 15 and the execution module ID of the execution module 3 (t54).
[0059] Next, the control program execution environment operation unit 72 of the remote execution module 7 performs processing operations according to the provided execution environment (t55). The control program execution environment operation unit 72 requests input / output signals from the control input / output application unit 37 of the execution module 3 (t56). If the control input / output application unit 37 responds to the request, it starts input / output signal communication (t57).
[0060] Next, the control program execution environment operation unit 72 of the remote execution module 7 notifies the engineering tool device 1 that the control program has been executed (t58). Then, the control program management unit 13 of the engineering tool device 1 notifies the development device 4 of the execution so that the developer can confirm the execution on the display unit 42 (t59).
[0061] On the other hand, if the control program management unit 13 determines that the periodicity cannot be maintained during the periodicity check, it issues an execution failure notification to the development device 4, similar to the processing block T3c in the modified example of the second embodiment, so that the developer can confirm the execution failure on the display unit 42.
[0062] As described above, in this embodiment, the simulated input / output unit 36 is placed on the execution module 3. This allows the control program simulation execution unit 15 of the engineering tool device 1 to simulate and execute the control program, including the communication time via the network 2. Therefore, developers can develop control programs that are better suited to the performance of the execution module 3, even in remote control.
[0063] Although several embodiments have been described above, these embodiments are presented only as examples and are not intended to limit the scope of the invention. The novel apparatus, method, and program described herein can be implemented in a variety of other forms. Furthermore, various omissions, substitutions, and modifications can be made to the embodiments of the apparatus, method, and program described herein, without departing from the spirit of the invention. [Explanation of Symbols]
[0064] 1: Engineering tool device, 2: Network, 3: Execution module, 4: Development device, 11: Communication unit, 12: Control program storage unit, 13: Control program management unit, 14: Control execution information storage unit.
Claims
1. A first holding unit that holds the control program, A second storage unit that holds information regarding the performance of the execution module that controls the control device, The system includes a determination processing unit that uses the performance information to determine whether, when the control program is executed in the execution module, one cycle of processing can be completed within a first processing time set in the control program, The engineering tool device, wherein the determination processing unit determines that it can complete the processing of one cycle, and transmits the control program to the execution module via the network.
2. The performance information of the execution module is the computation time required to execute a predetermined unit of the control program. The engineering tool apparatus according to claim 1, wherein the determination processing unit determines whether the execution module can complete the processing within the first processing time based on a second processing time obtained by multiplying the number of predetermined units included in the control program by the calculation time, and the first processing time set in the control program.
3. The engineering tool apparatus according to claim 2, wherein the determination processing unit compares the second processing time with the first processing time, and determines that the execution module can complete the processing within the first processing time if the second processing time is less than or equal to the first processing time.
4. The engineering tool device further comprises a communication unit that communicates with the execution module via a network, The engineering tool apparatus according to claim 1, wherein the determination processing unit transmits the control program to the execution module using the communication unit.
5. The system further comprises a control program simulation execution unit that simulates the execution of the control program for the execution module, including the processing operations of the input / output devices controlled by the execution module. The engineering tool apparatus according to claim 1, wherein the determination processing unit determines whether the execution module can achieve the first processing time by having the control program simulate execution unit execute the control program.
6. The engineering tool device according to claim 5, wherein the control program simulation execution unit simulates and executes the control program, including the communication time via the network.
7. The engineering tool device according to claim 5, wherein the control program simulation execution unit simulates the operation of an input / output device controlled by the execution module, and communicates simulated input / output signals via the network to simulate the execution of the control program.
8. The engineering tool device according to claim 5, wherein the control program simulation execution unit simulates and executes the control program in an execution environment corresponding to the CPU of the execution module and the memory capacity of the execution module.
9. The engineering tool apparatus according to claim 2, wherein the determination processing unit generates the control program in accordance with the operation input from the development device via the network.
10. The control program is a program that describes the operation of the control device step by step, and the predetermined unit of the control program corresponds to the calculation step, as described in claim 2.