Setting assistance device, control system, setting assistance method, and recording medium
By setting the auxiliary device to receive user function specifications, determining and setting the communication cycle of the control device, the problem of internal processing not being considered in the prior art is solved, the appropriateness and efficiency of communication are improved, and the burden on users is reduced.
Patent Information
- Application Number
- CN202280097688.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-21
- Publication Date
- 2025-11-28
- Estimated Expiration
- 2042-09-21
AI Technical Summary
In the prior art, the control device fails to fully consider internal processing when setting the communication cycle, resulting in an inappropriate communication cycle and affecting the communication effect.
By setting an auxiliary device, the system receives user-specified functions, uses a cycle determination unit to determine the communication cycle of the control device based on the function specification, and sets it to the control device through a setting unit.
This system enables the communication cycle to be determined based on the internal processing of the control device, improving the appropriateness and efficiency of communication and reducing the user's setup burden.
Smart Images

Figure CN119487463B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to a setting assistance device, a control system, a setting assistance method, and a computer-readable recording medium storing a program. BACKGROUND
[0002] In the field of control devices such as motion controllers and programmable logic controllers, the control device generally communicates with a controlled device at a constant cycle.
[0003] It is preferable that the cycle of the communication be short, but due to constraints of the communication protocol, the specifications of the controlled device, and the like, if the communication cycle is too short, normal communication becomes impossible. Therefore, a technique for setting an appropriate communication cycle is required.
[0004] A control device is disclosed in Patent Literature 1, which inquires about a settable communication cycle for each controlled device, and decides the communication cycle based on parameters such as the communication cycle setting, communication overhead, and the like of each controlled device.
[0005] Patent Literature 1: Japanese Patent Application Publication No. 2020-149439 SUMMARY
[0006] However, the control device described in Patent Literature 1 does not take into account the internal processing of the control device, and therefore it is not necessarily possible to set an appropriate communication cycle.
[0007] In view of the above, an object of the present application is to provide a setting assistance device and the like that can take into account the internal processing of a control device to decide the communication cycle of the control device.
[0008] To achieve the above object, the setting assistance device according to the present application assists in the setting of a control device that communicates with a controlled device at a constant cycle, and includes a function reception unit that receives a designation of a function of the control device by a user, a cycle decision unit that decides the communication cycle of the control device based on the designation received by the function reception unit, and a setting unit that sets the communication cycle decided by the cycle decision unit to the control device.
[0009] EFFECT OF THE INVENTION
[0010] According to the present application, it is possible to decide the communication cycle of a control device taking into account the internal processing of the control device. BRIEF DESCRIPTION OF DRAWINGS
[0011] Figure 1 is a block diagram showing the overall structure of a control system according to Embodiment 1 of the present application.
[0012] Figure 2FIG. 1 is a diagram showing an example of a function selection screen prompted by the setting assistance device according to Embodiment 1 of the present application.
[0013] Figure 3 FIG. 2 is a block diagram showing a functional structure of the setting assistance device according to Embodiment 1 of the present application.
[0014] Figure 4 FIG. 3 is a diagram showing an example of an execution schedule saved by the storage section of the setting assistance device according to Embodiment 1 of the present application.
[0015] Figure 5 FIG. 4 is a diagram showing an example of a hardware structure of the setting assistance device according to Embodiment 1 of the present application.
[0016] Figure 6 FIG. 5 is a flowchart showing an example of an action of deciding a communication cycle by the setting assistance device according to Embodiment 1 of the present application.
[0017] Figure 7 FIG. 6 is a diagram showing an example of a program selection screen prompted by the setting assistance device according to Embodiment 2 of the present application.
[0018] Figure 8 FIG. 7 is a block diagram showing a functional structure of the setting assistance device according to Embodiment 2 of the present application.
[0019] Figure 9 FIG. 8 is a diagram showing an example of a function correspondence table saved by the storage section of the setting assistance device according to Embodiment 2 of the present application.
[0020] Figure 10 FIG. 9 is a flowchart showing an example of an action of deciding a communication cycle by the setting assistance device according to Embodiment 2 of the present application.
[0021] Figure 11 FIG. 10 is a diagram showing an example of a function selection screen prompted by the setting assistance device according to Embodiment 3 of the present application.
[0022] Figure 12 FIG. 11 is a diagram showing an example of a case where a function is automatically selected in the function selection screen prompted by the setting assistance device according to Embodiment 3 of the present application.
[0023] Figure 13 FIG. 12 is a block diagram showing a functional structure of the setting assistance device according to Embodiment 3 of the present application.
[0024] Figure 14 FIG. 13 is a diagram showing an example of an execution schedule saved by the storage section of the setting assistance device according to Embodiment 3 of the present application.
[0025] Figure 15 is a flowchart showing one example of an operation of deciding a communication cycle by the setting assistance device according to Embodiment 1 of the present application.
[0026] Figure 16 is a flowchart showing one example of an operation of deciding a communication cycle by the setting assistance device according to Embodiment 1 of the present application. DETAILED DESCRIPTION
[0027] Hereinafter, a control system according to an embodiment of the present application will be described with reference to the accompanying drawings. In the drawings, like or equivalent components are designated by like reference numerals, and description thereof will not be repeated. Figure 1
[0028] (Embodiment 1)
[0029] Hereinafter, a control system according to an embodiment of the present application will be described with reference to the accompanying drawings. In the drawings, like or equivalent components are designated by like reference numerals, and description thereof will not be repeated. Figure 1 Hereinafter, a control system according to an embodiment of the present application will be described with reference to the accompanying drawings. In the drawings, like or equivalent components are designated by like reference numerals, and description thereof will not be repeated.
[0030] The setting assistance device 10 is communicably connected to the control device 20. The control device 20 is communicably connected to the controlled devices 30. In the control system 1, the setting assistance device 10 and the control device 20 are communicably connected via a network 40. Figure 2 In the control system 1, the setting assistance device 10 and the control device 20 are communicably connected via a network 40. In the control system 1, the setting assistance device 10 and the control device 20 are communicably connected via a network 40.
[0031] In the control system 1, the setting assistance device 10 performs setting to the control device 20, and the control device 20 controls the controlled devices 30. The control device 20 controls the controlled devices 30 by communicating with the controlled devices 30 at a constant cycle.
[0032] The setting assistance device 10 is a setting assistance device for performing setting required for the control of the controlled devices 30 by the control device 20. The setting assistance device 10 is, for example, a computer such as a PC (Personal Computer), a PC for FA (Factory Automation), a smartphone, a tablet terminal, or the like. The computer functions as the setting assistance device 10 by installing a program of an engineering design tool thereon. The setting assistance device 10 is one example of the setting assistance device according to the present application.
[0033] The setting auxiliary device 10 sends various parameter values and control programs executed by the control device 20 to the control device 20. Specifically, the setting auxiliary device 10 sends data representing the communication cycle to the control device 20 to set the communication cycle. The setting of the communication cycle will be described later. Furthermore, the functional structure of the setting auxiliary device 10 will also be described later.
[0034] Control device 20 controls controlled device 30 by communicating with the controlled device 30 at a constant period. Control device 20 operates as the host of the controlled device 30. Control device 20 is, for example, a motion controller, a programmable logic controller, or other control device. Control device 20 communicates with setting aid 10 to set various received parameters, update received control programs, etc. Specifically, control device 20 sets its own communication period based on data representing the communication period received from setting aid 10. Control device 20 is an example of the control device involved in this invention.
[0035] The controlled device 30 is controlled by the control device 20 by communicating with it at a constant period. The controlled device 30 operates as a slave device of the control device 20, acting as the master device. The controlled device 30 is, for example, a servo amplifier that drives an actuator (not shown). The controlled device 30 is an example of the controlled device according to the present invention.
[0036] While referring to Figure 2 The setting of the communication cycle to the control device 20 by the setting auxiliary device 10 is briefly explained. Figure 2 This is the user interface screen that the setting auxiliary device 10 displays to the user. Figure 3 The screen shown provides a list of functions affecting the communication cycle within the control device 20, allowing the user to select the desired function. In the "Function" column, the internal processing of the control device 20, such as Control Processing 1, Control Processing 2, and Control Processing 3, is displayed for each item. The functions of the control device 20 are implemented through these internal processes. Furthermore, each item in the "Function" column displays the method, specific control content, and whether it is active, as sub-items. The user selects the desired function using the checkboxes in the "Select" column, then selects the confirmation button. This sets the auxiliary device 10 to determine the communication cycle based on the selected function, and sets the determined communication cycle to the control device 20.
[0037] While referring to Figure 2The functional configuration of the setting assistance device 10 will be described. The setting assistance device 10 has an operation section 11, a display section 12, a presentation section 13, a reception section 14, a period determination section 15, a setting section 16, a measurement section 17, a communication section 18, and a storage section 19.
[0038] The operation section 11 receives an operation by a user. The operation section 11 is, for example, a mouse, a keyboard, a touch panel, or the like.
[0039] The display section 12 displays various screens including the screen shown in Figure 2 The display section 12 is, for example, a liquid crystal display, an organic EL (Electroluminescence) display, or the like. Further, the display section 12 can be integrated with the operation section 11 in the case where the operation section 11 is a touch panel.
[0040] The communication section 18 communicates with the control device 20. The communication section 18 is realized by, for example, a network interface.
[0041] The storage section 19 stores data indicating a list of functions that the control device 20 can execute, and an execution schedule to be described later. These data and the schedule are created in advance by, for example, a manufacturer of an engineering design tool with which the setting assistance device 10 is involved.
[0042] The presentation section 13 presents a list of functions of the control device 20 that affect a communication period to the user by generating the screen shown in Figure 2 and displaying it on the display section 12. The presentation section 13 generates the screen shown in Figure 2 by referring to the data indicating the list of functions stored in the storage section 19. The user selects a desired function from the screen shown in Figure 2 by operating the operation section 11, thereby designating a function of the control device 20. The presentation section 13 is an example of the presentation unit to which the present application relates.
[0043] The reception section 14 receives a selection of a function made by the user on the screen shown in Figure 4 by operating the operation section 11, as designation of a function of the control device 20. The reception section 14 is an example of the function reception unit to which the present application relates.
[0044] The period determination section 15 determines a communication period of the control device 20 based on the designation of the function of the control device 20 received by the reception section 14. The period determination section 15 has an execution time calculation section 151, an overhead calculation section 152, and a period calculation section 153. The period determination section 15 is an example of the period determination unit to which the present application relates.
[0045] The execution time calculation section 151 calculates the time required for the control device 20 to execute the function selected by the user and received by the reception section 14. The execution time calculation section 151 refers to the execution time table shown in FIG. 6, which is stored in the storage section 19 described later, to calculate the time required for execution. Figure 4 The execution time table shown in FIG. 6 includes the same columns of "Function", "Execution time", "Proportional to number of connections?", and "Measured?" as the execution time table shown in FIG. 5. The column of "Execution time" indicates the execution time required when each item is selected. The column of "Proportional to number of connections?" indicates whether the execution time increases in proportion to the number of controlled devices 30 connected to the control device 20. The column of "Measured?" indicates whether it is an object of measurement by the measurement section 17 described later.
[0046] Figure 2 The execution time table shown in FIG. 6 includes the same columns of "Function", "Execution time", "Proportional to number of connections?", and "Measured?" as the execution time table shown in FIG. 5. The column of "Execution time" indicates the execution time required when each item is selected. The column of "Proportional to number of connections?" indicates whether the execution time increases in proportion to the number of controlled devices 30 connected to the control device 20. The column of "Measured?" indicates whether it is an object of measurement by the measurement section 17 described later. Figure 4
[0047] The overhead calculation section 152 calculates the overhead generated due to factors other than the control device 20. The overhead generated due to factors other than the control device 20 refers to, for example, the total delay time of the delay time generated in correspondence with the number of connections of the controlled devices 30, the delay time generated when a communication frame passes through the controlled devices 30, and the like.
[0048] The cycle calculation section 153 calculates the total time of the time required for the control device 20 to execute the selected function calculated by the execution time calculation section 151 and the overhead calculated by the overhead calculation section 152, as the communication cycle that should be set to the control device 20.
[0049] The cycle decision section 15 decides the communication cycle calculated by the cycle calculation section 153 as the communication cycle that should be set to the control device 20.
[0050] The setting section 16 sets the communication cycle to the control device 20 by transmitting data indicating the communication cycle decided by the cycle decision section 15 to the control device 20 via the communication section 18. The setting section 16 is an example of the setting unit to which the present application relates.
[0051] The measurement section 17 transmits a command to the control device 20 to cause the control device 20 to execute Figure 5 The measurement section 17 measures the execution time required for execution of the function corresponding to "Measured?" among the functions shown in FIG. 6. The measurement section 17 updates the execution time table stored in the storage section 19 with the measured execution time. The measurement by the measurement section 17 is performed when the control system 1 does not operate normally in the communication cycle set to the control device 20, as described later.
[0052] The cycle calculation section 153 calculates the total time of the time required for the control device 20 to execute the selected function calculated by the execution time calculation section 151 and the overhead calculated by the overhead calculation section 152, as the communication cycle that should be set to the control device 20. Figure 5 An example of a hardware configuration of the setting assistance device 10 will be described. As described above, Figure 6 The setting assistance device 10 illustrated is implemented by a computer such as a PC, a PC for an FA, a smartphone, a tablet terminal, or the like.
[0053] The setting assistance device 10 has a processor 1001, a memory 1002, an interface 1003, and a secondary storage device 1004 connected to each other via a bus 1000.
[0054] The processor 1001 is, for example, a CPU (Central Processing Unit). The processor 1001 implements each function of the setting assistance device 10 by executing a program of an engineering design tool stored in the secondary storage device 1004 after reading the program into the memory 1002.
[0055] The memory 1002 is, for example, a main storage device constituted by a RAM (Random Access Memory). The memory 1002 stores a program of an engineering design tool read from the secondary storage device 1004 by the processor 1001. In addition, the memory 1002 functions as a work memory when the processor 1001 executes the program.
[0056] The interface 1003 is, for example, an I / O (Input / Output) interface such as a serial port, a USB (Universal Serial Bus) port, a network interface, or the like. The functions of the operation section 11 and the display section 12 are implemented by connecting an input device and a display device to the interface. In addition, the function of the communication section 18 is implemented by the interface 1003.
[0057] The secondary storage device 1004 is, for example, a flash memory, an HDD (Hard Disk Drive), or an SSD (Solid State Drive). The secondary storage device 1004 stores a program of an engineering design tool executed by the processor 1001. In addition, the function of the storage section 19 is implemented by the secondary storage device 1004.
[0058] An example of an operation of the setting assistance device 10 will be described with reference to Figure 2 An example of an operation of the setting assistance device 10 will be described with reference to
[0059] The prompting section 13 of the setting assistance device 10 prompts a function selection screen illustrated to the user (step S101). Figure 2 The prompting section 13 of the setting assistance device 10 prompts a function selection screen illustrated to the user (step S101).
[0060] The receiving section 14 of the setting assistance device 10 waits for a function selection by the user (step S102). If the receiving section 14 receives a function selection by the user, the operation from step S103 onward is continued.
[0061] The execution time calculation section 151 of the cycle decision section 15 of the setting assistance device 10 refers to the execution time table held in the storage section 19 to calculate the execution time required for the control device 20 to execute the function selected by the user (step S103).
[0062] The overhead calculation section 152 of the cycle decision section 15 calculates the overhead generated due to factors other than the control device 20 (step S104).
[0063] The cycle calculation section 153 of the cycle decision section 15 calculates the sum of the execution time calculated in step S103 and the overhead time calculated in step S104 as the communication cycle that should be set. The cycle decision section 15 decides the calculated communication cycle as the communication cycle that should be set (step S105).
[0064] The setting section 16 of the setting assistance device 10 sets the communication cycle decided in step S105 to the control device 20 (step S106).
[0065] The setting assistance device 10 determines whether the control system 1 is operating normally within the communication cycle set by step S106 (step S107). This determination can be made by the setting section 16 or by the measurement section 17, for example.
[0066] When the control system 1 is operating normally (step S107: Yes), the setting assistance device 10 ends the operation of deciding the communication cycle.
[0067] When the control system 1 is not operating normally (step S107: No), the measurement section 17 of the setting assistance device 10 causes the control device 20 to execute each function and measures the execution time required for the control device 20 to execute each function (step S108).
[0068] The measurement section 17 updates the execution time table held in the storage section 19 with the execution time measured in step S108 (step S109). Then, the setting assistance device 10 repeats the operation from step S103 to attempt to set the communication cycle again.
[0069] The control system 1 according to Embodiment 1 has been described above. According to the setting assistance device 10 of the control system 1, the function of the control device 20 is selected by the user, the execution time in the control device 20 is calculated based on the selected function, and the communication cycle is decided. Therefore, according to the setting assistance device 10, the communication cycle of the control device 20 can be decided taking into account the internal processing of the control device 20. In addition, according to the setting assistance device 10, the communication cycle of the control device 20 can be set again by the user selecting the function of the control device 20. Figure 2The user selects a desired function from the displayed screen, thereby automatically determining the communication period, and thus the user's burden related to the setting of the communication period can be reduced.
[0070] (Modified example of Embodiment 1)
[0071] In Embodiment 1, when the prompting unit 13 prompts the user with the screen shown in Figure 1 , it can also prompt not only the functions but also the degree of influence of each function on the communication period. For example, the prompting unit 13 can refer to the execution schedule saved in the storage unit 19, and prompt the user of the execution time of each function together. Alternatively, it can also prompt the degree of influence of each function on the communication period by qualitatively showing the size of the number of steps of commands required to execute the function.
[0072] (Embodiment 2)
[0073] The control system 1 related to Embodiment 2 will be described. The overall structure of the control system 1 related to Embodiment 2 is the same as that of Embodiment 1 shown in Figure 7
[0074] In Embodiment 2, the setting assistance device 10 prompts the user with the screen shown in Figure 7 , and the user designates a control program to be executed by the control device 20 as an analysis target. Thereby, the setting assistance device 10 analyzes the control program to determine the functions required for the control device 20, and determines the communication period based on the determined functions.
[0075] Figure 8 The screen shown in shows the file name and file format of the control program to be analyzed, and the control program to be selected. The user selects one of the control programs displayed in the list by selecting the radio button present in the "Select" column.
[0076] The setting assistance device 10 related to Embodiment 2 differs from Embodiment 1 in that, as shown in Figure 2 , the period determination unit 15 further has an analysis unit 154. In addition, as described later, the prompting unit 13, the receiving unit 14, the execution time calculation unit 151, and the storage unit 19 also have differences from Embodiment 1.
[0077] The prompting unit 13 differs from Embodiment 1 in that, instead of the screen shown in Figure 7 , the screen shown in Figure 7 is prompted to the user. The prompting unit 13 prompts the user of the execution time of each function by referring to the execution schedule saved in the storage unit 19. Figure 9The screen shown prompts the user, thereby causing the user to specify the control program that is the analysis target. The specified program can be a source file that is the basis of the control program executed by the control device 20, or can be a binary file of the control program itself executed by the control device 20.
[0078] The receiving section 14 differs from Embodiment 1 in that it receives the specification of the control program by the user as the specification of the function of the control device 20.
[0079] The storage section 19 differs from Embodiment 1 in that it also holds Figure 10 The function correspondence table shown. The function correspondence table refers to a table that associates a function called by the control program with the function of the control device 20 that needs the function.
[0080] The analysis section 154 analyzes the control program received by the receiving section 14, and determines the function called by the control program. The analysis section 154 refers to the function correspondence table held in the storage section 19, and determines the function needed by the control device 20 to execute the control program. The analysis section 154 is one example of the analysis unit to which the present application relates.
[0081] The analysis section 154 analyzes the source file that is the basis of the control program, which is described in a form that the user can recognize, such as C language, ladder diagram, function block diagram, etc., and determines the function called by the control program. Alternatively, the analysis section 154 can also analyze by decompiling the control program itself in binary form, and thereby determine the function called by the control program.
[0082] The execution time calculation section 151 differs from Embodiment 1 in that it calculates the execution time based on the function of the control device 20 determined by the analysis section 154.
[0083] The analysis section 154 analyzes the control program received by the receiving section 14, and determines the function called by the control program. The analysis section 154 refers to the function correspondence table held in the storage section 19, and determines the function needed by the control device 20 to execute the control program. The analysis section 154 is one example of the analysis unit to which the present application relates. Figure 6 The operation of the setting assistance device 10 of Embodiment 2 will be described below, focusing on the differences from Embodiment 1. Figure 7 The operation of the setting assistance device 10 of Embodiment 2 will be described below, focusing on the differences from Embodiment 1.
[0084] The prompting section 13 of the setting assistance device 10 prompts the user with Figure 1 the program selection screen shown (step S201).
[0085] The receiving section 14 of the setting assistance device 10 waits for the selection of the program by the user (step S202). If the user selects a program, the setting assistance device 10 executes the operation starting from step S203.
[0086] The analysis section 154 of the cycle decision section 15 of the setting assistance device 10 analyzes the program selected by the user, and determines the functions required for the control device 20 to execute the program (step S203).
[0087] The execution time calculation section 151 of the cycle decision section 15 refers to the execution time table stored in the storage section 19, and calculates the execution time required for the control device 20 to execute the functions determined in step S203 (step S204).
[0088] The actions thereafter are substantially the same as in the case of the embodiment 1. However, the embodiment 3 differs from the embodiment 1 in that the actions from step S204 are executed after the action of step S109.
[0089] The control system according to the embodiment 2 is described above. According to the setting assistance device 10 according to the embodiment 2, the program specified by the user is analyzed to determine the functions required for the control device 20, and the communication cycle is decided based on the determined functions. Therefore, as in the case of the embodiment 1, according to the setting assistance device 10 according to the embodiment 2, the communication cycle of the control device 20 can be decided taking into account the internal processing of the control device 20. In addition, according to the setting assistance device 10 according to the embodiment 2, the user does not select the functions one by one but only specifies the program, and thus the burden on the user can be further reduced compared to the case of the embodiment 1.
[0090] (Embodiment 3)
[0091] The control system 1 according to the embodiment 3 is described. The overall structure of the control system 1 according to the embodiment 3 is the same as that of the embodiment 1 shown in Figure 11 .
[0092] In the embodiment 3, the setting assistance device 10 prompts the user with the screen shown in Figure 11 , and not only allows the user to select the functions but also allows the user to input the required communication cycle. In the screen shown in Figure 2 , compared to the screen in the case of the embodiment 1, i.e., the screen shown in Figure 12 , an input field for the user to input the required communication cycle is provided. The required communication cycle refers to the communication cycle requested by the user to the control device 20, and the control device 20 needs to operate with a communication cycle shorter than or equal to the required communication cycle.
[0093] As described below, the setting assistance device 10 has the following function in addition to the same functions as the embodiment 1: if the required communication cycle input by the user has a margin, the function is automatically selected as long as the function is selectable, and the communication cycle is decided as in the embodiment 1. Figure 12The system displays a prompt to the user; and also prompts the user that the currently selected function cannot meet the required communication cycle. Figure 13 The system shows that "E control" for "Control Processing 2" has been automatically selected. Users can confirm this automatic selection directly or reselect the function based on the result of the automatic selection.
[0094] The following is a reference. Figure 2 The differences between the functional parts of the setting assistance device 10 in Embodiment 3 and Embodiment 1 will be explained.
[0095] The difference between the cycle determination unit 15 and embodiment 1 is that it also has an automatic selection unit 155. The automatic selection unit 155 will be described later.
[0096] The difference between the prompt section 13 and embodiment 1 is that it replaces... Figure 11 The image shown will Figure 12 The displayed screen prompts the user. Furthermore, the difference between the prompt unit 13 and Embodiment 1 is that the prompt is based on the result obtained from the automatic selection unit 155 described later. Figure 12 The displayed screen prompts the user. Furthermore, the difference between the prompt unit 13 and Embodiment 1 is that, when the communication period calculated by the period calculation unit 153 (described later) exceeds the required communication period, the prompt unit 13 prompts the user that the currently selected function cannot meet the required communication period.
[0097] The receiving unit 14 differs from Embodiment 1 in that it not only receives function selection but also receives input for the required communication cycle. Furthermore, the receiving unit 14 differs from Embodiment 1 in that it responds to prompts from the prompting unit 13. Figure 14 The screen shown, i.e., the screen after automatic selection, also receives input. The receiving unit 14 according to Embodiment 3 is an example of the periodic receiving unit of the present invention.
[0098] Regarding the execution schedule stored in storage unit 19, the difference from embodiment 1 is as follows: Figure 15 A new "Priority" column has been set up as shown. The higher the value in the "Priority" column, the higher the priority. This "Priority" is used during automatic selection performed by the automatic selection unit 155, which will be described later.
[0099] The automatic selection unit 155 first calculates the difference between the required communication cycle received by the receiving unit 14 and the communication cycle calculated by the cycle calculation unit 153. This difference indicates how much margin there is between the communication cycle based on the currently selected function and the required communication cycle.
[0100] Next, the automatic selection unit 155 refers to the execution schedule stored in the storage unit 19 and, based on the difference calculated above, selects each function in descending order of priority, within a communication cycle that does not exceed the required communication cycle. The automatic selection unit 155 is an example of the automatic selection unit of the present invention.
[0101] While referring to Figure 16 as well as Figure 15 Here is an example of the operation of determining the communication cycle by the setting assistance device 10 in Implementation 3. Figure 16 as well as Figure 16 The flowchart shown connects the diagrams via "A" and "B", thus illustrating one process. Figure 15 Both of the "B"s shown are related to Figure 16 The diagram shows a single "B" connection.
[0102] also, Figure 6 The actions from step S106 to step S109 are shown as indicated by the labels. Figure 11 The situation is the same as in Implementation Method 1 shown, so the description is omitted.
[0103] The prompt section 13 of the setting auxiliary device 10 will Figure 5 The required communication cycle input / function selection screen is displayed to the user (step S201).
[0104] The receiving unit 14 of the auxiliary device 10 waits for the user to input the desired communication cycle / function selection (step S202). If the receiving unit 14 receives the user's desired communication cycle input / function selection, the operation starting from step S203 continues.
[0105] In the same manner as in Embodiment 1, the execution time calculation unit 151 of the cycle determination unit 15 of the setting auxiliary device 10 calculates the execution time required for the control device 20 to perform the user-selected function by referring to the execution time schedule stored in the storage unit 19 (step S203).
[0106] The overhead calculation unit 152 of the cycle determination unit 15 calculates the overhead caused by factors other than the control device 20, just like in Embodiment 1 (step S204).
[0107] The cycle calculation unit 153 of the cycle determination unit 15 calculates the communication cycle obtained by summing the execution time calculated in step S203 and the overhead time calculated in step S204 (step S205).
[0108] The prompting unit 13 determines whether the calculated communication period exceeds the required communication period (step S206).
[0109] When the calculated communication period exceeds the required communication period (step S206: Yes), the prompting section 13 prompts the user of the fact that the required communication period cannot be satisfied (step S207). Then, the setting assistance device 10 ends the operation of deciding the communication period.
[0110] When the calculated communication period does not exceed the required communication period (step S206: No), the automatic selection section 155 calculates the difference between the required communication period and the calculated communication period (step S208).
[0111] The automatic selection section 155 selects the functions in order of priority from high to low within the range where the communication period does not exceed the required communication period based on the calculated difference (step S209).
[0112] The prompting section 13 prompts the user of the required communication period input / function selection screen reflecting the result of the automatic selection by the automatic selection section 155 (step S210).
[0113] The receiving section 14 waits for the required communication period input / function selection by the user as in step S202 (step S211).
[0114] The prompting section 13 determines whether or not there is a change in the content received by the receiving section 14 compared with the content received in step S202 (step S212).
[0115] In the case where there is a change compared with the received content (step S212: Yes), the setting assistance device 10 repeats the operation from step S203.
[0116] In the case where there is no change compared with the received content (step S212: No), the same operation as in the case of Embodiment 1 is performed from step S106 onward based on the selected content.
[0117] The control system 1 related to Embodiment 3 has been described above. According to the setting assistance device 10 related to Embodiment 3, the required communication period is input by the user, and in the case where the communication period based on the function selected by the user has a margin, the function is automatically selected and prompted to the user, and the user can be provided with a margin for reselecting the function. Thus, the user can study whether or not a more appropriate function selection can be made.
[0118] (Modified example of Embodiment 3)
[0119] In embodiment 3, the automatic selection unit 155 selects functions based on priority. Alternatively, the automatic selection unit 155 may also select functions through machine learning. For example, a learning model may be generated in advance, and the automatic selection unit 1555 automatically selects functions based on this learning model, which uses the connection structure of the control device 30, the execution time of each internal process of the control device 20, the communication cycle, the function selected by the user, and the required communication cycle input by the user as feature quantities.
[0120] (Other variations)
[0121] exist Figure 5 In the hardware structure shown, the setting assistance device 10 has a secondary storage device 1004. However, it is not limited to this; the secondary storage device 1004 can also be located outside the setting assistance device 10, and the setting assistance device 10 can be connected to the secondary storage device 1004 via the interface 1003. In this method, removable media such as USB flash drives and memory cards can also be used as the secondary storage device 1004.
[0122] Alternatively, it can be replaced Figure 5 The hardware structure shown comprises a setup assistance device 10 consisting of dedicated circuits using ASICs (Application-Specific Integrated Circuits), FPGAs (Field Programmable Gate Arrays), etc. Additionally, in In the hardware structure shown, a portion of the function of the setting auxiliary device 10 can also be implemented through, for example, a dedicated circuit connected to the interface 1003.
[0123] The program used by the setup assistance device 10 can be stored and distributed on computer-readable recording media such as CD-ROM (Compact Disc Read Only Memory), DVD (Digital Versatile Disc), USB flash drive, memory card, and HDD. Furthermore, by installing the program onto a specific or general-purpose computer, that computer can function as the setup assistance device 10.
[0124] Alternatively, the program can be stored on a storage device of another server on the Internet and downloaded from that server.
[0125] The present application can realize various embodiments and modifications without departing from the broad spirit and scope of the present application. In addition, the above-described embodiments are for describing the present application, not for limiting the scope of the present application. That is, the scope of the present application is not represented by the embodiments, but by the claims. And, various modifications implemented within the scope of the claims and within the meaning of the disclosed equivalent are considered to fall within the scope of the present application.
[0126] Explanation of reference numerals
[0127] 1 Control system, 10 Setting assist device, 11 Operation section, 12 Display section, 13 Prompt section, 14 Receiving section, 15 Period decision section, 16 Setting section, 17 Measuring section, 18 Communication section, 19 Storage section, 20 Control device, 30 Controlled device, 151 Execution time calculation section, 152 Overhead calculation section, 153 Period calculation section, 154 Analysis section, 155 Automatic selection section, 1000 Bus, 1001 Processor, 1002 Memory, 1003 Interface, 1004 Secondary storage device.
Claims
1. A setting assistance device that assists in setting a control device that communicates with a controlled device at a constant cycle, wherein the setting assistance device having: a presentation unit that presents a list of functions of the control device that affect a communication cycle for selection by a user; a function receiving unit that receives selection of the list of functions presented by the presentation unit by the user as designation of a function of the control device; a cycle receiving unit that receives designation of a communication cycle required by the user, a required communication cycle; an automatic selection unit that automatically selects a function of the control device that affects a communication cycle within a range that does not exceed the required communication cycle; a cycle determining unit that calculates a time required to execute the designated function of the control device based on the designation of the function received by the function receiving unit, and determines a communication cycle of the control device based on the calculated time; and a setting unit that sets the communication cycle determined by the cycle determining unit to the control device, the list of functions further includes an input field for inputting the required communication cycle, the presentation unit further presents the list of functions including the function automatically selected by the automatic selection unit to the user.
2. The setting assistance device according to claim 1, wherein the presentation unit further presents a degree of influence of each function on a communication cycle.
3. A control system having: the setting assistance device according to claim 1 or 2; and the control device.
4. A setting assistance method that assists in setting a control device that communicates with a controlled device at a constant cycle, wherein a list of functions of the control device that affect a communication cycle is presented for selection by a user, selection by the user via the presented list is received as designation of a function of the control device, designation of a communication cycle required by the user, a required communication cycle, is received, a function of the control device that affects a communication cycle is automatically selected within a range that does not exceed the required communication cycle, a time required to execute the designated function of the control device is calculated based on the received designation of the function, and a communication cycle of the control device is determined based on the calculated time, the determined communication cycle is set to the control device, the list of functions further includes an input field for inputting the required communication cycle, in the presentation, the list of functions including the automatically selected function is presented to the user.
5. A recording medium that is computer-readable and stores a program that assists in setting a control device that communicates with a controlled device at a constant cycle, wherein, the program causes a computer to perform: presenting a list of functions of the control device that affect a communication cycle for selection by a user, receiving selection of the list of functions presented by the presentation unit by the user as designation of a function of the control device, receiving designation of a communication cycle required by the user, a required communication cycle, automatically selecting a function of the control device which affects the communication cycle within a range not exceeding the required communication cycle, calculating a time required for executing the specified function on the control device based on the received designation of the function, deciding the communication cycle of the control device based on the calculated time, setting the decided communication cycle to the control device, the list of functions further includes an input field for inputting the required communication cycle, in the prompt, the list of functions including the automatically selected function is prompted to the user.
Citation Information
Patent Citations
Control system, support unit, and program for support unit
JP2020149439A
Radio communication apparatus, radio communication system, and radio communication method
CN105814962A
Control system, support device, and program for support device
CN113498495A