Program execution control system and program execution control device

By establishing a network connection between terminals of the program execution control system and determining and executing control instructions, the problem of difficult to control control objects connected to other terminals in the prior art is solved, and effective control of these objects is achieved.

JP7654268B2Active Publication Date: 2025-04-01AVAD KK
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2022199027
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-12-14
Publication Date
2025-04-01
Estimated Expiration
2042-12-14

AI Technical Summary

Technical Problem

In the prior art, it is difficult for a method of executing an independent program to control the control object connected to other terminals.

Method used

By establishing a network connection between the first terminal and the second terminal, the instruction execution control system of the first terminal is used to determine and execute corresponding control instructions to ensure that the control object is connected to the correct terminal.

Benefits of technology

It realizes effective control of control objects connected to other terminals, and improves the functionality and flexibility of the program execution control system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007654268000001
    Figure 0007654268000001
  • Figure 0007654268000002
    Figure 0007654268000002
  • Figure 0007654268000003
    Figure 0007654268000003
Patent Text Reader

Abstract

To control a device to be controlled that is connected to the other control device.SOLUTION: An instruction execution control system includes a first terminal 1 connected to a control device 5 that executes a first control program and a second terminal 2 connected to a control device 9 that executes a second control program, in which the first and second terminals are connected via a network NT. The first terminal 1 includes instruction determination means 12 for determining whether an externally input instruction is a first instruction or not, and instruction control means 14 for causing the control device 5 to execute the first instruction when it is determined that the instruction is the first instruction and transmit the instruction to the second terminal 2 when it is determined that the instruction is not the first instruction. The second terminal 2 includes instruction determination means 22 for determining whether an externally input instruction is a second instruction or not, and instruction control means 24 for causing the control device 9 to execute the second instruction when it is determined that the instruction is the second instruction and transmit the instruction to the first terminal 1 when it is determined that the instruction is not the second instruction.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a program execution control system and a program execution control device for controlling a created program. [Background technology]

[0002] As computer programming becomes more widespread, there is a strong demand for tools that enable young people to learn programming more efficiently, for example, to generate control programs for controlling devices to be controlled. To achieve this, an environment is required in which multiple terminals can share created programs via a network and check each other's execution status.

[0003] Patent Document 1 discloses a technique relating to a method for executing a standalone program, including the steps of executing a standalone program with a first main program, establishing a network connection between the first terminal and the second terminal with the first main program executed on the first terminal and the second main program executed on the second terminal, and realizing the transmission of image information from the first terminal to the second terminal and the transmission of a second operation command from the second terminal to the first terminal through the network connection. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Special Publication No. 2022-517562 Summary of the Invention [Problem to be solved by the invention]

[0005] However, in the method of executing a standalone program described in Patent Document 1, image information is transmitted from a first terminal to a second terminal, and a second operation command is transmitted from the second terminal to the first terminal, but no control objects such as a control device or a controlled device are connected to the first terminal or the second terminal, respectively, making it difficult to control a control object connected to the other of the first terminal and the second terminal.

[0006] The present invention has been made in consideration of the above problems, and has an object to provide a program execution control system and a program execution control device for controlling a control target connected to another terminal. [Means for solving the problem]

[0007] In order to achieve the above object, a first feature of the program execution control system according to the present invention is to An instruction execution control system in which a first terminal connected to a first control device that executes a first control program and a second terminal connected to a second control device that executes a second control program are connected via a network, The first terminal is a first command determination means for determining whether an externally input command is a first command for the first control program; a first command control means for causing the first control device to execute the first command when it is determined that the command is the first command, and for transmitting the command to the second terminal when it is determined that the command is not the first command, The second terminal is a second command determination means for determining whether or not an externally input command is a second command for the second control program; and a second command control means for causing the second control device to execute the second command when it is determined that the command is the second command, and for transmitting the command to the first terminal when it is determined that the command is not the second command. The point is... Effect of the Invention

[0008] According to the program execution control system and the program execution control device of the present invention, it is possible to control a control target device connected to the other control device. [Brief description of the drawings]

[0009] [Figure 1] FIG. 1 is a diagram illustrating a configuration of a program execution control system 100 according to a first embodiment of the present invention. [Diagram 2] FIG. 2 is an explanatory diagram illustrating a schematic flow of information in the program execution control system according to the first embodiment of the present invention. [Diagram 3] FIG. 1(a) is a diagram showing an example of an instruction generation display screen displayed on a display unit provided in a program execution control system according to a first embodiment of the present invention, and FIG. 1(b) is a diagram showing an example of an instruction generation display screen displayed on a display unit provided in a program execution control system according to a first embodiment of the present invention. [Figure 4] 4 is a flowchart showing a process in the program execution control system according to the first embodiment of the present invention. [Diagram 5] FIG. 10 is a diagram illustrating a configuration of a program execution control system according to a second embodiment of the present invention; [Figure 6] FIG. 11 is an explanatory diagram illustrating a schematic flow of information in a program execution control system according to a second embodiment of the present invention. [Figure 7] FIG. 10A is a diagram showing an example of an instruction generation display screen displayed on a display unit provided in a program execution control system according to a second embodiment of the present invention, and FIG. 10B is a diagram showing an example of a simulation execution screen displayed on a display unit provided in a program execution control system according to a second embodiment of the present invention. [Figure 8] 10 is a flowchart showing a process performed in a program execution control system according to a second embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. The same or equivalent parts and components are designated by the same or equivalent reference numerals throughout the drawings. However, it should be noted that the drawings are schematic and may differ from the actual product. In addition, the drawings may include parts with different dimensional relationships and ratios.

[0011] The embodiments described below are merely examples of devices for embodying the technical idea of ​​the present invention, and the technical idea of ​​the present invention does not limit the arrangement of each component to that described below. Various modifications can be made to the technical idea of ​​the present invention within the scope of the claims.

[0012] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.

[0013] <Example 1> FIG. 1 is a diagram illustrating the configuration of a program execution control system 100 according to a first embodiment of the present invention, and FIG. 2 is an explanatory diagram illustrating a schematic flow of information in the program execution control system 100 according to the first embodiment of the present invention.

[0014] As shown in FIG. 1, the program execution control system 100 includes a first terminal 1, a second terminal 2, a display unit 3, an input unit 4, a control device 5, a controlled device 6, a display unit 7, an input unit 8, a control device 9, and a controlled device 10, and the first terminal 1 and the second terminal 2 are connected via a network NT.

[0015] The program execution control system 100 is a system that can be used, for example, for learning computer programming (hereinafter, referred to as programming). The first terminal 1 and the second terminal 2, the display unit 3 and the display unit 7, the input unit 4 and the input unit 8, the control device 5 and the control device 9, and the controlled device 6 and the controlled device 10 each have the same configuration, so only the first terminal 1, the display unit 3, the input unit 4, the control device 5, and the controlled device 6 will be described.

[0016] The first terminal 1 is configured using a computer such as a tablet computer, a high-function mobile phone (a so-called smartphone), a notebook computer, a desktop computer, etc. Here, an example will be described in which a desktop computer is used as the first terminal 1. Details will be described later.

[0017] The display unit 3 includes an image output device such as an organic EL (electroluminescence) display or a liquid crystal display, and displays various screens such as a command generation display screen based on the output signal supplied from the first terminal 1.

[0018] The input unit 4 includes an input unit such as a mouse and a keyboard, and generates input signals such as commands in response to user operations and supplies them to the first terminal 1.

[0019] The control device 5 is a device controlled by the first terminal 1. The control device 5 is functionally equipped with a control means 51 and a storage means 52. The control device 5 and the first terminal 1 can communicate with each other by a wired or wireless communication method. For wired communication, a communication method conforming to various standards such as USB (Universal Serial Bus) can be used. For wireless communication, a communication method conforming to various standards such as IEEE (Institute of Electrical and Electronics Engineers) 802.15.1 (so-called Bluetooth) and IEEE 802.11 (so-called Wi-Fi) can be used.

[0020] The storage means 52 is composed of, for example, a non-volatile semiconductor and stores a first control program for controlling the control target device 6. The control means 51 is composed of, for example, a calculation device such as a CPU (Central Processing Unit), and becomes able to control the control target device 6 based on a first command supplied from the first terminal 1 by reading the first control program from the storage means 52 and executing the read first control program.

[0021] The controlled device 6 is a device controlled by the control device 5 that executes the first control program. The controlled device 6 can be any device that complies with a predetermined standard that can be recognized by the control device 5. Here, an example using an LED board in which light emitting elements such as LEDs (Light Emitting Diodes) are arranged in an 8×8 matrix will be described. The controlled device 6 is not limited to an LED board, and can be any device such as an 8-segment LED, a device that displays an image based on a command, a device that outputs a sound based on a command, a toy or industrial robot that performs an operation based on a command, or a sensor device that acquires a value based on a command. The control device 5 and the controlled device 6 can communicate with each other by a wired or wireless communication method. For wired communication, a communication method that complies with various standards such as a general-purpose I / O port, a Universal Serial Bus (USB), or IEEE (Institute of Electrical and Electronics Engineers) 1394 can be used. For wireless communication, a communication method that complies with various standards such as IEEE802.15.1 (so-called Bluetooth) or IEEE802.11 (so-called Wi-Fi) can be used.

[0022] The first terminal 1 executes the execution control program, and thereby has the following functions: command generating means 11, command determining means 12, communication means 13, command control means 14, and display control means 15.

[0023] The command generating means 11 generates commands for the controlled device 6 and the controlled device 10 based on the user input from the input unit 4. For example, the command generating means 11 generates a command to turn on the LED board of the controlled device 6 for 1000 (milliseconds), or generates a command to turn on the LED board of the controlled device 10 for 500 (milliseconds) and then turn it off for 500 (milliseconds) to make it blink. The command generating means 11 can generate both a first command corresponding to the first control program and a second command corresponding to the second control program. For example, when the user selects the controlled device 6 from the input unit 4 and performs an operation to generate a command, the command generating means 11 generates a first command corresponding to the first control program, and when the user selects the controlled device 10 from the input unit 4 and performs an operation to generate a command, the command generating means 11 generates a second command corresponding to the second control program.

[0024] The command determination means 12 determines whether an externally input command, that is, a command transmitted from the second terminal 2 or a command generated by the command generation means 11, is a first command corresponding to the first control program. Here, the first control program is a program executed by the control means 51 to control the control target device 6. When the control means 51 executes the first control program, a first command corresponding to the first control program is supplied from the first terminal 1, so that the control target device 6 can be controlled based on the supplied command. Whether the command generated by the command generation means 11 is a first command corresponding to the first control program may be determined, for example, by defining a keyword corresponding to the first control program and determining that the command corresponds to the first control program when the keyword is input. Alternatively, a list of first commands corresponding to the first control program that are generated by the command generation means 11 may be stored in advance in the internal memory of the first terminal 1, and the command determination means 12 may determine that the command generated by the command generation means 11 corresponds to the first control program when the command is in the list. In addition, an IP address or MAC address may be set in the control device 5 that executes the first control program, a token or encryption information may be set, or information identifiable within any network may be set, and it may be determined whether or not the first control program is compatible based on any of these pieces of information transmitted together with the command.

[0025] The control means 51 is able to execute the supplied first instruction by executing the first control program by the control means 51. On the other hand, if the instruction generated by the instruction generating means 11 is not the first instruction, even if it is supplied to the control means 51, the control means 51 cannot execute the supplied instruction.

[0026] The communication means 13 is an interface for transmitting and receiving commands to and from the second terminal 2. When transmitting a command, the communication means 13 transmits the command to the second terminal 2 based on identification information that can uniquely identify the second terminal 2. Here, an example in which the first terminal 1 and the second terminal 2 are connected via a network NT will be described, but the number of connected control devices is not limited to two. When three or more control devices are connected, it is also possible to transmit a command based on the identification information of each connected control device, and it is also possible to transmit a command to all control devices connected to the network NT. The identification information may be, for example, an IP address or a MAC address, or may be information that can be identified within an arbitrary network, such as a keyword, and may be any information that can identify a control device.

[0027] When the command determination means 12 determines that the command is the first command, the command control means 14 causes the control device 5 to execute the first command. When the command determination means 12 determines that the command is not the first command, the command control means 14 determines that the command is a second command for the second control program, and transmits the command to the second terminal 2 with the second terminal 2 as the destination.

[0028] When it is determined that the command received from the second terminal 2 is the first command, the command control means 14 causes the control device 5 to execute the first command.

[0029] The display control means 15 causes various screens such as a command generation display screen to be displayed on the display unit 3. Specifically, the display control means 15 causes commands generated by the command generation means 11 and commands transmitted from the second terminal 2 to be displayed on the command generation display screen, and causes the display unit 3 to display status information of the control target device 6 received from the control device 5.

[0030] 3(a) is a diagram showing an example of an instruction generation display screen displayed on the display unit 3 included in the program execution control system 100 according to the first embodiment of the present invention, and (b) is a diagram showing an example of an instruction generation display screen displayed on the display unit 7 included in the program execution control system 100 according to the first embodiment of the present invention. Here, an example in which a first instruction and a second instruction are generated in the first terminal 1 will be described.

[0031] As shown in Fig. 3(a), the command generation display screen displays a command statement "send keyword "a1" to the program linkage destination" as a command P110. Here, the keyword "a1" indicates the first terminal 1. Therefore, the command P110 is executed by the control device 5 as the first command.

[0032] Next to the command P110, a command P120 is generated. The command P120 is a command statement that "sends a command to the program link destination as the keyword "b1". In this case, the keyword "b1" indicates the second terminal 2.

[0033] Command P120 includes commands P121 to P123 to be transmitted. Command P121 is a command to "turn built-in LED (PA1) 'ON'", command P122 is a command to "pause (1000) milliseconds", and command P123 is a command to "turn built-in LED (PA1) 'OFF'". By transmitting these commands P121 to P123 to the second terminal 2, the control device 9 connected to the second terminal 2 controls the control target device 10, thereby lighting up the LED board for 1000 (milliseconds).

[0034] Since the destination of the transmitted command P110 is the first terminal 1, command P130 is displayed as a command to receive command P110. On the command generation display screen, a command statement to "Receive keyword "a1" at the program link destination" is displayed as command P130. Command P130 includes command P131. Command P131 is a command to "display the character string "receive keyword"," and when this command is executed, the control device 5 connected to the first terminal 1 controls the controlled device 6, thereby displaying "receive keyword" on the LED board.

[0035] As shown in FIG. 3(b), on the second terminal 2, the command statement "Receive keyword 'b1' from program link destination" is displayed as the command P220 on the command generation display screen.

[0036] Command P220 includes commands P221 to P223. Command P221 is a command statement for "displaying the character string "Execute received program command". Command P222 is a command statement for executing the received commands P121 to P123. As a result, the control device 9 connected to the second terminal 2 controls the controlled device 10 to light up the LED board for 1000 (milliseconds). Command P223 is a command statement for "displaying the character string "End received program command".

[0037] As described above, according to the program execution control system 100 of the first embodiment of the present invention, the first terminal 1 has a command determination means 12 which determines whether an externally input command is a first command for the first control program, and a command control means 14 which, if it is determined that the command is the first command, causes the control device 5 to execute the first command, and, if it is determined that the command is not the first command, transmits the command to the second terminal 2.

[0038] This allows the first terminal 1 to control the control target (control device 9 and controlled device 10) connected to the second terminal 2 via the network NT in real time. Conversely, the control target (control device 5 and controlled device 6) connected to the first terminal 1 from the second terminal 2 via the network NT can be controlled in real time. Therefore, for example, when a user operating the first terminal 1 and a user operating the second terminal 2 are simultaneously creating a program, the second command created on the first terminal 1 side can be executed on the control target (control device 9 and controlled device 10), so that the user operating the second terminal 2 can understand programming better and learn it faster. Conversely, the first command created on the second terminal 2 side can be executed on the control target (control device 5 and controlled device 6), so that the user operating the first terminal 1A can understand programming better and learn it faster. That is, mutual learning of programming can be realized.

[0039] FIG. 4 is a flowchart showing the process performed by the program execution control system 100 according to the first embodiment of the present invention.

[0040] As shown in FIG. 4, in step S101, the first terminal 1 creates a project or selects a project that has already been created based on a user operation.

[0041] In step S103, the first terminal 1 receives a connection request from the second terminal 2. At this time, the second terminal 2 transmits identification information that uniquely identifies the second terminal 2, and optionally an encryption key.

[0042] In step S105, the user creates a program, which is a group of control commands, through the input unit 4, or edits the program displayed on the display unit 3. As a result, the command generating means 11 generates commands and updates the project.

[0043] In step S107, the first terminal 1 starts the program.

[0044] In step S109, the command determination means 12 of the first terminal 1 determines whether the command generated by the command generation means 11 is a communication command or not. Specifically, the command determination means 12 determines that the command generated by the command generation means 11 is not a communication command if it is a first command corresponding to the first control program, and determines that the command generated by the command generation means 11 is a communication command if it is not the first command corresponding to the first control program.

[0045] If it is determined that the command is a communication command (step S109; YES), in step S111, the command control means 14 transmits the command to all terminals connected to the network NT or to a specified destination terminal via the communication means 13. Here, the command is encrypted with an encryption key, and then the encrypted command is transmitted to the second terminal 2.

[0046] On the other hand, if it is determined that the command is not a communication command (step S109; NO), then in step S113, the command control means 14 causes the control device 5 to execute the first command.

[0047] Furthermore, in step S115, if a command has been received from the second terminal 2 (YES), in step S117, the command control means 14 causes the control device 5 to execute the received communication command (here, the first command).

[0048] Then, steps S109 to S117 are repeatedly executed until the execution of the series of instructions constituting the program started in step S107 is completed.

[0049] In step S219, when the execution of the series of instructions constituting the program started in step S107 is completed, the program is terminated.

[0050] Similarly, in the second terminal 2, in step S201, the second terminal 2 creates a project or selects a project that has already been created based on a user operation.

[0051] In step S203, the second terminal 2 transmits a connection request from the first terminal 1. At this time, the first terminal 1 transmits identification information that uniquely identifies the first terminal 1 and, optionally, an encryption key.

[0052] In step S205, the user creates a program, which is a set of instructions, through the input unit 8, or edits the program, which is a set of instructions, displayed on the display unit 7. As a result, the instruction generating means 21 generates instructions and updates the project.

[0053] In step S207, the second terminal 2 starts the program.

[0054] In step S209, if a command has been received from the first terminal 1 (YES), in step S211, the command control means 24 causes the control device 9 to execute the received communication command (here, the second command).

[0055] Furthermore, in step S213, the command determination means 22 of the second terminal 2 determines whether the command generated by the command generation means 21 is a communication command or not. Specifically, the command determination means 22 determines that the command generated by the command generation means 21 is not a communication command if it is a second command corresponding to the second control program, and determines that the command generated by the command generation means 21 is a communication command if it is not a second command corresponding to the second control program.

[0056] If it is determined that the command is a communication command (step S213; YES), in step S115, the command control means 24 transmits the command to all terminals connected to the network NT or to a specified destination terminal via the communication means 23. Here, the command is encrypted with an encryption key, and then the encrypted command is transmitted to the first terminal 1.

[0057] On the other hand, if it is determined that the command is not a communication command (step S213; NO), in step S217, the command control means 24 causes the control device 9 to execute the second command.

[0058] Then, steps S209 to S217 are repeatedly executed until the execution of the series of instructions constituting the program started in step S207 is completed.

[0059] In step S219, when the execution of the series of instructions constituting the program started in step S207 is completed, the program is terminated.

[0060] <Example 2> In the second embodiment of the present invention, a configuration in which the program execution control system 100 according to the first embodiment of the present invention is further provided with a simulation means will be described as an example.

[0061] FIG. 5 is a diagram illustrating the configuration of a program execution control system 101 according to a second embodiment of the present invention, and FIG. 6 is an explanatory diagram illustrating a schematic flow of information in the program execution control system 101 according to the second embodiment of the present invention.

[0062] As shown in FIG. 5, the program execution control system 101 includes a first terminal 1A, a second terminal 2A, a display unit 3, an input unit 4, a control device 5, a controlled device 6, a display unit 7, an input unit 8, a control device 9, and a controlled device 10, and the first terminal 1A and the second terminal 2A are connected via a network NT.

[0063] Of these components, the display unit 3, the input unit 4, the control device 5, the controlled device 6, the display unit 7, the input unit 8, the control device 9, and the controlled device 10 have the same configuration as the respective components of the program execution control system 100 according to Example 1 of the present invention, and therefore their explanations are omitted.

[0064] The first terminal 1A is configured using a computer such as a tablet computer, a highly functional mobile phone (a so-called smartphone), a notebook computer, a desktop computer, etc. Here, an example in which a desktop computer is used as the first terminal 1A will be described. Details will be described later.

[0065] The first terminal 1A functionally has a command generating means 11, a command determining means 12, a communication means 13, a command control means 14A, and a display control means 15. Of these components, the command generating means 11, the command determining means 12, the communication means 13, and the display control means 15 have the same configurations as those of the program execution control system 100 according to the first embodiment of the present invention, and therefore the description thereof will be omitted.

[0066] When the command determination means 12 determines that the command generated by the command generation means 11 is the first command, the command control means 14A causes the control device 5 to execute the first command and transmits the first command to the second terminal 2A via the network NT. At this time, the first command to be transmitted to the second terminal 2A is summarized based on a predetermined rule such as whether the next command is a command including a temporary stop or whether it is a command to be executed depending on the determination result of the control device 5, and transmitted as a group of commands.

[0067] Furthermore, when the command determining means 12 determines that the command generated by the command generating means 11 is not the first command, the command control means 14A transmits this command to the second terminal 2A via the network NT.

[0068] Furthermore, when the command control means 14A determines that the command received from the second terminal 2A is the first command, it causes the control device 5 to execute the first command and transmits the first command to the second terminal 2A via the network NT.

[0069] The second terminal 2A is configured using a computer such as a tablet computer, a high-function mobile phone (a so-called smartphone), a notebook computer, a desktop computer, etc. Here, an example in which a desktop computer is used as the second terminal 2A will be described. Details will be described later.

[0070] The second terminal 2A has, in terms of its functions, a command generating means 21, a command determining means 22, a communication means 23, a command control means 24A, a display control means 25, and a simulation means 30. Of these components, the command generating means 21, the command determining means 22, the communication means 23, and the display control means 25 have the same configurations as the command generating means 11, the command determining means 12, the communication means 13, and the display control means 15, respectively, of the program execution control system 100 according to the first embodiment of the present invention, and therefore a description thereof will be omitted.

[0071] When the command transmitted from the first terminal 1A is the first command, the command control means 24A causes the simulation means 30 to execute the first command.

[0072] Furthermore, if the command transmitted from the first terminal 1A is not the first command, the command control means 24A judges that it is the second command, and causes the control device 9 to execute this command.

[0073] When the command control means 24A determines that the command generated by the command generating means 21 is the second command, it causes the control device 9 to execute the second command, and when it determines that the command is not the second command, it determines that the command is the first command and transmits this command to the first terminal 1.

[0074] The simulation means 30 simulates the control device 5 and the controlled device 6 controlled by the control device 5. That is, by receiving the first command, the simulation means 30 operates like the control device 5 and the controlled device 6 on software.

[0075] 7(a) is a diagram showing an example of an instruction generation display screen displayed on the display unit 3 included in the program execution control system 101 according to the second embodiment of the present invention, and (b) is a diagram showing an example of a simulation execution screen displayed on the display unit 7 included in the program execution control system 101 according to the second embodiment of the present invention. Here, an example in which a first instruction and a second instruction are generated in the first terminal 1 will be described.

[0076] When a command is sent from the second terminal 2 as the keyword "a1", the command statement "Receive a command as the keyword "a1" at the program link destination" is displayed as a command P320 on the command generation display screen as shown in Fig. 7(a). Here, the keyword "a1" indicates the first terminal 1.

[0077] Command P320 includes commands P321 to P323 for transmission. Command P321 is a command to "display the character string "Execute the received program command", command P322 is a command to execute the received program, and command P323 is a command to "display the character string "End the received program command".

[0078] When the first terminal 1 receives the command P320, the first terminal 1 causes the control device 5 to execute the received command P320. For example, if the command P322 is a command to turn on the LED board for 1000 (milliseconds), the control device 5 turns on the LED board of the control target device 6 for 1000 (milliseconds) in accordance with this command.

[0079] After that, the first terminal 1 transmits a command P320 to the second terminal 2 via the network NT. In the second terminal 2, the simulation means 30 executes the command P320. As a result, as shown in Fig. 7(b), the LED board of the controlled device 6 is lit for 1000 (milliseconds) in the simulated image 101.

[0080] FIG. 8 is a flowchart showing the process performed by the program execution control system 101 according to the second embodiment of the present invention.

[0081] 8, in step S301, the first terminal 1A starts a program, and in step S303, the command control means 14A reads source code, which is a group of commands generated by the command generating means 11, or source code, which is a group of commands transmitted from the second terminal 2A. Here, a case where the source code, which is a group of commands of the first command, is read will be described as an example.

[0082] In step S305, the instruction control means 14A extracts the next instruction, thereby making it possible to extract the instructions contained in the program one by one.

[0083] In step S307, the command control means 14A judges whether the next command is a command including a temporary stop. Here, a command including a temporary stop refers to a command that temporarily stops processing or a command that requires a predetermined time to complete execution.

[0084] If the next instruction is an instruction including a temporary pause (step S307; YES), in step S309, the instruction control means 14A stacks the source code of the next instruction in the internal memory.

[0085] On the other hand, if the next instruction does not include a temporary stop (step S307; NO), in step S311, the instruction control means 14A determines whether the next instruction is an instruction to be executed depending on the judgment result of the control device 5, such as a conditional branch process such as an IF statement, or a loop process such as a for~while statement.

[0086] If it is an instruction to be executed depending on the judgment result of the control device 5 (step S311; YES), in step S319, the instruction control means 14A causes the control device 5 to execute the first instruction, and then transmits the source code of the first instruction stacked in the internal memory and erases the first instruction from the internal memory.

[0087] On the other hand, if the command does not depend on the judgment result of the control device 5 (step S311; NO), in step S313, the command control means 14A stacks the source code of the next first command in the internal memory, and then in step S315, the command control means 14A causes the control device 5 to execute the first command.

[0088] In step S317, the command control means 14A judges whether or not there is a next command.

[0089] If there is a next command (step S317; YES), the process proceeds to step S305.

[0090] On the other hand, if there is no next instruction (step S317; NO), the instruction control means 14A transmits the source code of the first instruction stacked in the internal memory, and then erases the first instruction from the internal memory.

[0091] In step S331, the first terminal 1A ends the program started in step S301, and notifies the second terminal 2A of the end of the program.

[0092] On the other hand, in the second terminal 2A, when the program of the first terminal 1A is started in step S401, a simulation start command is transmitted to the simulation means 30. In response to this, the simulation means 30 starts a simulation of the control device 5 and the control target device 6 controlled by the control device 5.

[0093] In step S405, if the command determination means 22 of the second terminal 2 determines that the command generated by the command generation means 21 is a communication command, the command control means 24A transmits the command to all terminals connected to the network NT or to a specified destination terminal via the communication means 23. Here, the command is encrypted with an encryption key, and then the encrypted command is transmitted to the first terminal 1A.

[0094] Furthermore, in step S407, upon receiving the first command from the first terminal 1A, the simulation means 30 executes the first command.

[0095] When the first terminal 1A notifies the second terminal 2A of the end of the program in step S409, the second terminal 2A ends the program and stops the simulation by the simulation means 30 in step S411.

[0096] As described above, according to the program execution control system 101 of the second embodiment of the present invention, the first terminal 1A is provided with a command control means 14A that, when it is determined that the command is the first command, causes the control device 5 to execute the first command and transmits the first command to the second terminal 2A, and, when it is determined that the command is not the first command, transmits a command to the second terminal 2A. The second terminal 2A is provided with a simulation means 30 that simulates the control device 5 and the controlled device 6 controlled by the control device 5, and a command control means 24A that, when the command transmitted from the first terminal 1A is the first command, causes the simulation means 30 to execute the first command, and, when the command transmitted from the first terminal 1A is the second command, causes the control device 9 to execute the second command.

[0097] As a result, the second terminal 2A can simulate the control device 5 and the controlled device 6, so that, for example, the user can transmit from the input unit 4 a command to blink the LED board of the controlled device 6, and can also transmit a command to blink the LED board to the controlled device 6 displayed on the display unit 7. In addition, when the user transmits a command to blink the LED board of the controlled device 6 from the input unit 8, the second terminal 2A receives a command from the first terminal 1A to blink the LED board of the controlled device 6 being simulated by the simulation means 30. As a result, the control state of the controlled device 6 and the control target device 6 being simulated by the simulation means 30 can be made the same.

[0098] Therefore, for example, when a user operating the first terminal 1A is providing programming guidance to a user operating the second terminal 2A, the commands created on the first terminal 1A side and the control state of the controlled device 6 when those commands are executed can be shared in real time while programming, so that the user operating the second terminal 2A can gain a better understanding of programming and learn it more quickly.

[0099] In the program execution control system 101 according to the second embodiment of the present invention, the input unit 4 generates an input signal such as a command by a user operation and supplies it to the first terminal 1, but the present invention is not limited to this and may be configured to include an input unit that can directly input to the control device 5. This input unit may be an input device that generates an input signal such as a command by a user operation and supplies it to the first terminal 1, or may be a sensor that detects the positions of various devices, the lighting state, the temperature and pressure of objects, etc. This enables the control device 5 to control the controlled device 6 taking into account various input information. [Explanation of symbols]

[0100] 1,1A 1st terminal 2,2A 2nd terminal 3,7 Display 4,8 Input section 5,9 Control device 6,10 Controlled Equipment 11 Instruction generation means 12 Command judgment means 13. Means of communication 14, 14A Command and control means 15 Display control means 21 Instruction generation means 22 Command judgment means 23 Means of communication 24 Command and control means 24A Command and Control Means 25 Display control means 30 Simulation Methods 51 Control Means 52 Memory means 100,101 Program execution control system

Claims

1. A program execution control system in which a first terminal connected to a first control device that executes a first control program and a second terminal connected to a second control device that executes a second control program are connected via a network, The first terminal is a first command determination means for determining whether an externally input command is a first command for the first control program; a first command control means for causing the first control device to execute the first command and transmitting the first command to the second terminal when it is determined that the command is the first command, and for transmitting the command to the second terminal when it is determined that the command is not the first command, The second terminal is a simulation means for simulating the first control device and a control target device controlled by the first control device; and second command control means for causing the simulation means to execute the first command when the command transmitted from the first terminal is the first command, and for causing the second control device to execute the second command when the command transmitted from the first terminal is the second command.

2. A program execution control system comprising:

2. Among the commands to be transmitted to the second terminal, the first commands for the simulation means are grouped according to a predetermined rule and transmitted as a group of commands.

2. The program execution control system according to claim 1.

3. A first control device that executes a first control program and a second terminal that has a simulation means that simulates a control target device controlled by the first control device, the second terminal being connected via a network and connected to the first control device, a first command determination means for determining whether an externally input command is a first command for the first control program; a first command control means for transmitting the first command to the second terminal when it is determined that the command is the first command and for causing the first control device to execute the first command and for causing the simulation means to perform a simulation, and for transmitting the command to the second terminal when it is determined that the command is not the first command; A first terminal comprising:

4. A second terminal connected to a first control device that executes a first control program, causes the first control device to execute a first command corresponding to the first control program and transmits the first command to the second terminal, and transmits a command to the second terminal if the command is not the first command, the second terminal being connected via a network to a first terminal and connected to a second control device that executes a second control program, a simulation means for simulating the first control device and a control target device controlled by the first control device; second instruction control means for causing the simulation means to execute the first instruction when the instruction transmitted from the first terminal is a first instruction for the first control program, and for causing the second control device to execute the second instruction when the instruction transmitted from the first terminal is the second instruction; A second terminal comprising:

Citation Information

Patent Citations

  • Device and method for information processing and storage medium

    JP1999110226A

  • Communication system, programmable display, information processing device, operation control method, information processing method, and program

    JP2016012172A

  • Standalone program execution method, apparatus, device, and computer program

    JP2022517562A

  • Selective token clash checking for a data write

    US20170289290A1

  • Single management point for a storage system or storage area network

    US7124179B1