WO2024062548A1 - 設定支援装置、制御システム、設定支援方法及びプログラム - Google Patents

設定支援装置、制御システム、設定支援方法及びプログラム Download PDF

Info

Publication number
WO2024062548A1
WO2024062548A1 PCT/JP2022/035109 JP2022035109W WO2024062548A1 WO 2024062548 A1 WO2024062548 A1 WO 2024062548A1 JP 2022035109 W JP2022035109 W JP 2022035109W WO 2024062548 A1 WO2024062548 A1 WO 2024062548A1
Authority
WO
WIPO (PCT)
Prior art keywords
control device
communication cycle
function
user
setting support
Prior art date
Application number
PCT/JP2022/035109
Other languages
English (en)
French (fr)
Inventor
章雄 出原
啓 寺田
研吾 井邊
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to PCT/JP2022/035109 priority Critical patent/WO2024062548A1/ja
Priority to JP2023511686A priority patent/JP7399349B1/ja
Publication of WO2024062548A1 publication Critical patent/WO2024062548A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt

Definitions

  • the present disclosure relates to a setting support device, a control system, a setting support method, and a program.
  • control devices such as motion controllers and programmable logic controllers
  • the cycle of this communication be short, but due to restrictions such as the communication protocol and the specifications of the controlled device, if the communication cycle is too short, normal communication will not be possible. Therefore, a technique for setting an appropriate communication cycle is needed.
  • Patent Document 1 discloses a control device that inquires about the communication cycle that can be set for each controlled device and determines the communication cycle based on parameters such as the communication cycle setting and communication overhead of each controlled device. has been done.
  • an object of the present disclosure is to provide a setting support device and the like that can determine the communication cycle of a control device in consideration of the internal processing of the control device.
  • a configuration support device is a configuration support device that supports configuration of a control device that communicates with a controlled device at a constant cycle, and allows a user to specify functions of the control device.
  • a function receiving means for accepting the function a cycle determining means for determining the communication cycle of the control device based on the specification received by the function receiving means, and a setting means for setting the communication cycle determined by the cycle determining means in the control device. .
  • the communication cycle of the control device can be determined in consideration of the internal processing of the control device.
  • a block diagram showing the overall configuration of a control system according to Embodiment 1 of the present disclosure A diagram showing an example of a function selection screen presented by the setting support device according to Embodiment 1 of the present disclosure.
  • a block diagram showing a functional configuration of a setting support device according to Embodiment 1 of the present disclosure A diagram showing an example of an execution time table stored in the storage unit of the setting support device according to Embodiment 1 of the present disclosure.
  • FIG. 1 A diagram showing an example of a program selection screen presented by the setting support device according to Embodiment 2 of the present disclosure.
  • a block diagram showing the functional configuration of a setting support device according to Embodiment 2 of the present disclosure A diagram showing an example of a function correspondence table stored in the storage unit of the setting support device according to Embodiment 2 of the present disclosure.
  • Flowchart illustrating an example of communication cycle determination operation by the setting support device according to Embodiment 2 of the present disclosure A diagram showing an example of a function selection screen presented by the setting support device according to Embodiment 3 of the present disclosure.
  • a diagram showing an example of a case where a function is automatically selected on the function selection screen presented by the setting support device according to Embodiment 3 of the present disclosure A block diagram showing a functional configuration of a setting support device according to Embodiment 1 of the present disclosure
  • Flowchart illustrating an example of communication cycle determination operation by the setting support device according to Embodiment 1 of the present disclosure A flowchart showing an example of an operation of determining a communication cycle by the setting assistance device according to the first embodiment of the present disclosure.
  • control system 1 includes a setting support device 10, a control device 20, and one or more controlled devices 30.
  • Control system 1 is an example of a control system according to the present disclosure.
  • the setting support device 10 is communicably connected to the control device 20.
  • the control device 20 is communicably connected to the controlled device 30. Although each controlled device 30 is connected in a daisy chain in FIG. 1, two or more controlled devices 30 may be directly communicably connected to the control device 20.
  • the setting support device 10 sets the control device 20, and the control device 20 controls the controlled device 30.
  • the control device 20 controls the controlled device 30 by communicating with the controlled device 30 at regular intervals.
  • the setting support device 10 is a setting support device for making settings necessary for the control device 20 to control each controlled device 30.
  • the setting support device 10 is, for example, a computer such as a PC (Personal Computer), an FA (Factory Automation) PC, a smartphone, or a tablet terminal. By installing the engineering tool program on the computer, the computer functions as the setting support device 10.
  • the setting support device 10 is an example of a setting support device according to the present disclosure.
  • the setting support device 10 transmits various parameter values, a control program to be operated by the control device 20, etc. to the control device 20.
  • the setting support device 10 sets the communication cycle in the control device 20 by transmitting data indicating the communication cycle to the control device 20 . Setting of the communication cycle will be described later. Further, the functional configuration of the setting support device 10 will also be described later.
  • the control device 20 controls the controlled device 30 by communicating with the controlled device 30 at regular intervals.
  • the control device 20 operates as a master for the controlled device 30.
  • the control device 20 is, for example, a control device such as a motion controller or a programmable logic controller.
  • the control device 20 communicates with the setting assistance device 10, and sets various parameters that it receives, updates the received control program, etc. In particular, the control device 20 sets its own communication cycle based on data indicating the communication cycle received from the setting assistance device 10.
  • the control device 20 is an example of a control device according to the present disclosure.
  • the controlled device 30 is controlled by the control device 20 by communicating with the control device 20 at regular intervals.
  • the controlled device 30 operates as a slave of the control device 20, which is the master.
  • the controlled device 30 is, for example, a servo amplifier that drives an actuator (not shown).
  • the controlled device 30 is an example of a controlled device according to the present disclosure.
  • FIG. 2 is a user interface screen presented to the user by the setting assistance device 10.
  • the screen shown in FIG. 2 presents a list of functions of the control device 20 that affect the communication cycle, among the functions of the control device 20, and allows the user to select a function required for the control device 20.
  • control process 1, control process 2, control process 3, etc. which are internal processes of the control device 20, are displayed for each item.
  • the functions of the control device 20 are realized by each internal process of the control device 20.
  • each item in the "Function” column displays the method, specific control content, whether or not it is enabled, etc. as sub-items.
  • the setting assistance device 10 determines the communication cycle based on the selected function and sets the determined communication cycle in the control device 20.
  • the functional configuration of the setting support device 10 will be explained with reference to FIG. 3.
  • the setting support device 10 includes 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.
  • the operation unit 11 accepts operations by the user.
  • the operation unit 11 is, for example, an input device such as a mouse, a keyboard, or a touch screen.
  • the display unit 12 displays various screens including the screen shown in FIG.
  • the display unit 12 is, for example, a display device such as a liquid crystal display or an organic EL (Electroluminescence) display. Note that the display unit 12 may be integrated with the operation unit 11 if it is a touch screen.
  • the communication unit 18 communicates with the control device 20.
  • the communication unit 18 is realized by, for example, a network interface.
  • the storage unit 19 stores data showing a list of each function that can be executed by the control device 20 and an execution time table to be described later. These data and tables are created in advance by, for example, the manufacturer of the engineering tool related to the setting support device 10.
  • the presentation unit 13 generates the screen shown in FIG. 2 and displays it on the display unit 12 to present a list of functions that affect the communication cycle of the control device 20 to the user for selection.
  • the presentation unit 13 generates the screen shown in FIG. 2 by referring to data showing a list of each function stored in the storage unit 19.
  • the user specifies the function of the control device 20 by operating the operation unit 11 and selecting a necessary function from the screen shown in FIG.
  • the presentation unit 13 is an example of presentation means according to the present disclosure.
  • the reception unit 14 accepts a function selection made by the user on the screen shown in FIG. 2 by operating the operation unit 11 as a designation of the function of the control device 20.
  • the reception unit 14 is an example of a function reception means according to the present disclosure.
  • the cycle determination unit 15 determines the communication cycle of the control device 20 based on the designation of the function of the control device 20 received by the reception unit 14.
  • the period determination section 15 includes an execution time calculation section 151, an overhead calculation section 152, and a period calculation section 153.
  • the cycle determining unit 15 is an example of cycle determining means according to the present disclosure.
  • the execution time calculation unit 151 calculates the time required for the control device 20 to execute the function selected by the user and accepted by the reception unit 14.
  • the execution time calculation unit 151 calculates the time required for execution with reference to an execution time table shown in FIG. 4 stored in the storage unit 19, which will be described later.
  • the execution time table shown in FIG. 4 includes a "Function” column similar to FIG. 2, an "Execution time” column, a "Proportional to the number of connections?” column, and a "Measurement included?” column. .
  • the "Execution Time” column indicates the execution time required when each item is selected.
  • the column “Proportional to the 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 “Measurement Yes?” column indicates whether or not the object is to be measured by the measurement unit 17, which will be described later.
  • the overhead calculation unit 152 calculates overhead caused by factors other than the control device 20.
  • the overhead caused by factors other than the control device 20 is, for example, a total delay time such as a delay time that occurs depending on the number of connected controlled devices 30 and a delay time that occurs when a communication frame passes through the controlled devices 30.
  • the cycle calculation unit 153 provides the control device 20 with the total time of the time required for the control device 20 to execute the selected function, calculated by the execution time calculation unit 151, and the overhead calculated by the overhead calculation unit 152. Calculate as the communication cycle to be set.
  • the cycle determination unit 15 determines the communication cycle calculated by the cycle calculation unit 153 as the communication cycle to be set in the control device 20.
  • the setting unit 16 sets the communication cycle in the control device 20 by transmitting data indicating the communication cycle determined by the cycle determining unit 15 to the control device 20 via the communication unit 18.
  • the setting unit 16 is an example of a setting means according to the present disclosure.
  • the measurement unit 17 sends a command to the control device 20, causes the control device 20 to execute the function corresponding to “Measurement Yes?” among the functions shown in FIG. 4, and measures the execution time required to execute the function. do.
  • the measurement unit 17 updates the execution time table stored in the storage unit 19 with the measured execution time. The measurement by the measurement unit 17 is performed when the control system 1 does not operate normally in the communication cycle set in the control device 20, as will be described later.
  • the setting support device 10 shown in FIG. 5 is realized by a computer such as a PC, an FA PC, a smartphone, a tablet terminal, or the like.
  • the setting support device 10 includes a processor 1001, a memory 1002, an interface 1003, and a secondary storage device 1004, which are connected to each other via a bus 1000.
  • the processor 1001 is, for example, a CPU (Central Processing Unit). Each function of the setting support device 10 is realized by the processor 1001 loading the engineering tool program stored in the secondary storage device 1004 into the memory 1002 and executing it.
  • CPU Central Processing Unit
  • the memory 1002 is a main storage device composed of, for example, RAM (Random Access Memory).
  • the memory 1002 stores the engineering tool program that the processor 1001 reads from the secondary storage device 1004. Furthermore, the memory 1002 functions as a work memory when the processor 1001 executes a program.
  • the interface 1003 is an I/O (Input/Output) interface such as a serial port, a USB (Universal Serial Bus) port, or a network interface.
  • I/O Input/Output
  • USB Universal Serial Bus
  • the interface 1003 is an I/O (Input/Output) interface such as a serial port, a USB (Universal Serial Bus) port, or a network interface.
  • the secondary storage device 1004 is, for example, a flash memory, a hard disk drive (HDD), or a solid state drive (SSD).
  • the secondary storage device 1004 stores the program of the engineering tool executed by the processor 1001.
  • the secondary storage device 1004 also realizes the functions of the memory unit 19.
  • the presentation unit 13 of the setting assistance device 10 presents the function selection screen as shown in FIG. 2 to the user (step S101).
  • the reception unit 14 of the setting support device 10 waits for the user to select a function (step S102). When the reception unit 14 accepts the function selection by the user, the operations from step S103 are continued.
  • the execution time calculation unit 151 of the cycle determination unit 15 of the setting support device 10 refers to the execution time table stored in the storage unit 19 and calculates the execution time required for the control device 20 to execute the function selected by the user. is calculated (step S103).
  • the overhead calculation unit 152 of the period determination unit 15 calculates the overhead caused by factors other than the control device 20 (step S104).
  • the cycle calculation unit 153 of the cycle determination unit 15 calculates the sum of the execution time calculated in step S103 and the overhead time calculated in step S104 as the communication cycle to be set.
  • the cycle determination unit 15 determines the calculated communication cycle as the communication cycle to be set (step S105).
  • the setting unit 16 of the setting support device 10 sets the communication cycle determined in step S105 to the control device 20 (step S106).
  • the setting support device 10 determines whether the control system 1 is operating normally at the communication cycle set in step S106 (step S107). This determination may be made, for example, by the setting section 16 or by the measuring section 17.
  • step S107: Yes the setting support device 10 ends the communication cycle determination operation.
  • step S107 When the control system 1 is not operating normally (step S107: No), the measurement unit 17 of the setting support device 10 causes the control device 20 to execute each function, and the measurement unit 17 causes the control device 20 to execute each function. The execution time is measured (step S108).
  • the measuring unit 17 updates the execution time table stored in the storage unit 19 with the execution time measured in step S108 (step S109).
  • the setting support device 10 then repeats the operations from step S103 and attempts to set the communication cycle again.
  • the control system 1 has been described above.
  • the user selects a function of the control device 20, calculates the execution time in the control device 20 based on the selected function, and determines the communication cycle. Therefore, according to the setting support device 10, the communication cycle of the control device 20 can be determined in consideration of the internal processing of the control device 20. Further, according to the setting support device 10, the communication cycle is automatically determined by the user selecting a necessary function on the screen shown in FIG. 2, so that the burden on the user regarding setting the communication cycle can be reduced.
  • the presentation unit 13 when the presentation unit 13 presents the screen shown in FIG. 2 to the user, it may also present not only the functions but also the degree of influence of each function on the communication cycle.
  • the presentation unit 13 may refer to the execution time table stored in the storage unit 19 and present the execution time of each function to the user.
  • the degree of influence of each function on the communication cycle may also be presented.
  • the setting assistance device 10 presents the screen shown in FIG. 7 to the user, and the user specifies the control program executed by the control device 20 as the analysis target.
  • the setting assistance device 10 analyzes the control program, identifies the functions required for the control device 20, and determines the communication cycle based on the identified functions.
  • the screen shown in FIG. 7 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 displayed control programs by selecting a radio button in the "selection" column.
  • the setting support device 10 differs from the first embodiment in that the cycle determination section 15 further includes an analysis section 154, as shown in FIG. Furthermore, as will be described later, the presentation unit 13, reception unit 14, execution time calculation unit 151, and storage unit 19 are also different from the first embodiment.
  • the presentation unit 13 differs from the first embodiment in that the presentation unit 13 presents the screen shown in FIG. 7 to the user instead of the screen shown in FIG. 2.
  • the presentation unit 13 allows the user to specify a control program to be analyzed by presenting the screen shown in FIG. 7 to the user.
  • the program to be specified may be the source file that is the source of the control program executed by the control device 20, or may be the binary file of the control program itself executed by the control device 20.
  • the reception unit 14 differs from the first embodiment in that the reception unit 14 accepts the designation of the control program by the user as the designation of the function of the control device 20.
  • the storage unit 19 differs from the first embodiment in that it further stores a function correspondence table as shown in FIG.
  • the function correspondence table is a table that associates functions called in a control program with functions of the control device 20 required by the functions.
  • the analysis unit 154 analyzes the control program accepted by the acceptance unit 14 and identifies the functions called in the control program.
  • the analysis unit 154 refers to the function correspondence table stored in the memory unit 19 and identifies the functions required for the control device 20 to execute the control program.
  • the analysis unit 154 is an example of an analysis means according to the present disclosure.
  • the analysis unit 154 analyzes the source file that is the source of the control program, which is written in a user-recognizable format such as C language, ladder diagram, or function block diagram, and analyzes the source file that is called by the control program. Identify the function that is Alternatively, the analysis unit 154 may identify the functions called by the control program by decompiling and analyzing the executable binary control program itself.
  • the execution time calculation unit 151 differs from the first embodiment in that the execution time calculation unit 151 calculates the execution time based on the function of the control device 20 specified by the analysis unit 154.
  • the presentation unit 13 of the setting support device 10 presents the program selection screen shown in FIG. 7 to the user (step S201).
  • the reception unit 14 of the setting support device 10 waits for the user to select a program (step S202).
  • the setting support device 10 executes the operations from step S203.
  • the analysis unit 154 of the cycle determining unit 15 of the setting support device 10 analyzes the program selected by the user, and specifies the functions necessary for the control device 20 to execute the program (step S203).
  • the execution time calculation unit 151 of the cycle determination unit 15 refers to the execution time table stored in the storage unit 19 and calculates the execution time required for the control device 20 to execute the function specified in step S203. (Step S204).
  • the control system according to the second embodiment has been described above.
  • the program specified by the user is analyzed to identify the functions necessary for the control device 20, and the communication cycle is determined based on the identified functions. Therefore, as in the case of the first embodiment, according to the setting support device 10 according to the second embodiment, the communication cycle of the control device 20 can be determined in consideration of the internal processing of the control device 20. Further, according to the setting support device 10 according to the second embodiment, the user only needs to specify a program instead of selecting functions one by one, so the burden on the user can be further reduced than in the first embodiment. .
  • the setting support device 10 presents the screen shown in FIG. 11 to the user, and not only allows the user to select a function, but also allows the user to input a required communication cycle.
  • the screen shown in FIG. 11 differs from the screen shown in FIG. 2, which is the screen for the first embodiment, in that an input field for allowing the user to input the required communication cycle is provided.
  • the required communication cycle is a communication cycle that the user requests from the control device 20, and the control device 20 is required to operate at a communication cycle equal to or less than this required communication cycle.
  • the setting support device 10 automatically selects a selectable function if there is a margin in the required communication cycle input by the user. 12, and a function to present to the user that it is impossible to satisfy the required communication cycle with the currently selected function.
  • FIG. 12 shows that "E control" of "control processing 2" is automatically selected. The user may decide on this automatic selection as is, or may select the function again based on the result of the automatic selection.
  • the period determination unit 15 differs from the first embodiment in that it further includes an automatic selection unit 155.
  • the automatic selection unit 155 will be described later.
  • the present embodiment differs from the first embodiment in that the presentation unit 13 presents the screen shown in FIG. 11 to the user instead of the screen shown in FIG. 2.
  • the presenter 13 also differs from the first embodiment in that the presentation unit 13 presents the screen shown in FIG. 12 to the user based on the result by the automatic selection unit 155 described below.
  • the presenter 13 also differs from the first embodiment in that when the communication cycle calculated by the cycle calculation unit 153 described below exceeds the required communication cycle, the presenter 13 presents to the user that the required communication cycle cannot be satisfied with the currently selected function.
  • the reception unit 14 differs from the first embodiment in that it accepts not only the function selection but also the input of the required communication cycle. Further, the reception unit 14 differs from the first embodiment in that it also accepts input on the screen shown in FIG. 12 presented by the presentation unit 13, that is, the screen after automatic selection has been performed.
  • the reception unit 14 according to the third embodiment is also an example of a periodic reception means according to the present disclosure.
  • the execution time table stored in the storage unit 19 differs from the first embodiment in that, as shown in FIG. 14, a "priority” column is newly provided. The higher the numerical value in the "Priority” column, the higher the priority. This "priority” is used during automatic selection by the automatic selection unit 155, which will be described later.
  • the automatic selection unit 155 first calculates the difference between the required communication cycle received by the reception unit 14 and the communication cycle calculated by the cycle calculation unit 153. This difference indicates how much margin the communication cycle based on the function currently selected by the user has compared to the required communication cycle.
  • the automatic selection unit 155 then refers to the execution time table stored in the memory unit 19, and based on the calculated difference, selects each function in order of priority, within a range in which the communication cycle does not exceed the required communication cycle.
  • the automatic selection unit 155 is an example of an automatic selection means according to the present disclosure.
  • FIGS. 15 and 16 An example of the communication cycle determination operation by the setting support device 10 according to the third embodiment will be described with reference to FIGS. 15 and 16.
  • FIGS. 15 and 16 each figure is connected by “A” and "B” and shows one process. Both “B” shown in FIG. 16 are connected to one "B” shown in FIG. 15.
  • steps S106 to S109 shown in FIG. 16 are the same as those in the first embodiment shown in FIG. 6, as indicated by the reference numerals, so a description thereof will be omitted.
  • the presentation unit 13 of the setting support device 10 presents the user with a required communication cycle input/function selection screen as shown in FIG. 11 (step S201).
  • the reception unit 14 of the setting support device 10 waits for the user to input a required communication cycle and select a function (step S202). When the receiving unit 14 receives the user's input of the required communication cycle and selection of the function, the operations from step S203 are continued.
  • the execution time calculation unit 151 of the cycle determination unit 15 of the setting support device 10 refers to the execution time table stored in the storage unit 19, and calculates the function selected by the user from the control device. 20 is calculated (step S203).
  • the overhead calculation unit 152 of the period determination unit 15 calculates the overhead caused by factors other than the control device 20, as in the first embodiment (step S204).
  • the cycle calculating unit 153 of the cycle determining unit 15 calculates a communication cycle that is the sum of the execution time calculated in step S203 and the overhead time calculated in step S204 (step S205).
  • the presentation unit 13 determines whether the calculated communication cycle exceeds the required communication cycle (step S206).
  • Step S206 When the calculated communication cycle exceeds the required communication cycle (Step S206: Yes), the presentation unit 13 presents to the user that it is impossible to satisfy the required communication cycle (Step S207). The setting support device 10 then ends the communication cycle determination operation.
  • step S206 When the calculated communication cycle does not exceed the required communication cycle (step S206: No), the automatic selection unit 155 calculates the difference between the required communication cycle and the calculated communication cycle (step S208).
  • the automatic selection unit 155 selects functions in descending order of priority within a range where the communication cycle does not exceed the required communication cycle (step S209).
  • the presentation unit 13 presents the user with a required communication cycle input/function selection screen that reflects the results automatically selected by the automatic selection unit 155 (step S210).
  • the reception unit 14 waits for the user to input a required communication cycle and select a function (step S211).
  • the presentation unit 13 determines whether the content received by the reception unit 14 is different from the content received in step S202 (step S212).
  • step S212 If there is a change from the received content (step S212: Yes), the setting support device 10 repeats the operations from step S203.
  • step S212 If there is no change from the received content (step S212: No), the same operations as in the first embodiment starting from step S106 are performed based on the selected content.
  • the control system 1 according to the third embodiment has been described above.
  • the user is required to input the required communication cycle, and if there is a margin in the communication cycle based on the function selected by the user, the function is automatically selected and presented to the user. , it is possible to give the user the ability to reselect functions. This allows the user to consider whether a more suitable function selection is possible.
  • automatic selection section 155 selected functions based on priority.
  • the automatic selection unit 155 may select the function by machine learning. For example, a learning model is generated in advance using the connection configuration of the controlled 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 features, and the learning model is automatically
  • the selection unit 1555 may automatically select a function based on the learning model.
  • the setting support device 10 includes a secondary storage device 1004.
  • the present invention is not limited to this, and a configuration may be adopted in which the secondary storage device 1004 is provided outside the configuration support device 10 and the configuration support device 10 and the secondary storage device 1004 are connected via the interface 1003.
  • removable media such as a USB flash drive or a memory card can also be used as the secondary storage device 1004.
  • the setting support device 10 may be configured with a dedicated circuit using an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or the like. good. Furthermore, in the hardware configuration shown in FIG. 5, part of the functions of the setting support device 10 may be realized by a dedicated circuit connected to the interface 1003, for example.
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the program used in the setting support device 10 is stored and distributed in a computer-readable recording medium such as a CD-ROM (Compact Disc Read Only Memory), DVD (Digital Versatile Disc), USB flash drive, memory card, HDD, etc. Is possible.
  • a computer-readable recording medium such as a CD-ROM (Compact Disc Read Only Memory), DVD (Digital Versatile Disc), USB flash drive, memory card, HDD, etc.
  • the above-mentioned program may be stored in a storage device of another server on the Internet, and the above-mentioned program may be downloaded from the server.
  • control system 10 setting support device, 11 operation unit, 12 display unit, 13 presentation unit, 14 reception unit, 15 period determination unit, 16 setting unit, 17 measurement unit, 18 communication unit, 19 storage unit, 20 control device, 30 Controlled equipment, 151 Execution time calculation unit, 152 Overhead calculation unit, 153 Period calculation unit, 154 Analysis unit, 155 Automatic selection unit, 1000 Bus, 1001 Processor, 1002 Memory, 1003 Interface, 1004 Secondary storage device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

設定支援装置(10)は、一定周期で被制御機器と通信を行う制御装置の設定を支援する。設定支援装置(10)は、ユーザによる制御装置の機能の指定を受け付ける受付部(14)と、受付部(14)が受け付けた指定に基づいて、制御装置の通信周期を決定する周期決定部(15)と、周期決定部(15)が決定した通信周期を制御装置に設定する設定部(16)と、を備える。

Description

設定支援装置、制御システム、設定支援方法及びプログラム
 本開示は、設定支援装置、制御システム、設定支援方法及びプログラムに関する。
 モーションコントローラ、プログラマブルロジックコントローラなどの制御装置の分野では、制御装置が被制御機器と一定周期で通信をすることが一般的である。
 この通信の周期は短い方が好ましいが、通信プロトコル、被制御機器の仕様等の制約により、通信周期が短すぎると正常に通信ができなくなってしまう。そのため、適切な通信周期を設定するための技術が必要とされている。
 特許文献1には、それぞれの被制御機器に対して設定可能な通信周期を問い合わせて、それぞれの被制御機器の通信周期設定、通信オーバヘッドなどのパラメータに基づいて通信周期を決定する制御装置が開示されている。
特開2020-149439号公報
 しかし、特許文献1に記載の制御装置は、制御装置の内部処理を考慮しないため、必ずしも適切な通信周期を設定できないおそれがある。
 本開示の目的は、上記の事情に鑑み、制御装置の内部処理を考慮して制御装置の通信周期を決定できる設定支援装置等を提供することにある。
 上記の目的を達成するため、本開示に係る設定支援装置は、一定周期で被制御機器と通信を行う制御装置の設定を支援する設定支援装置であって、ユーザによる制御装置の機能の指定を受け付ける機能受付手段と、機能受付手段が受け付けた指定に基づいて、制御装置の通信周期を決定する周期決定手段と、周期決定手段が決定した通信周期を制御装置に設定する設定手段と、を備える。
 本開示によれば、制御装置の内部処理を考慮して制御装置の通信周期を決定できる。
本開示の実施の形態1に係る制御システムの全体構成を示すブロック図 本開示の実施の形態1に係る設定支援装置が提示する機能選択画面の一例を示す図 本開示の実施の形態1に係る設定支援装置の機能的構成を示すブロック図 本開示の実施の形態1に係る設定支援装置の記憶部が保存する実行時間テーブルの一例を示す図 本開示の実施の形態1に係る設定支援装置のハードウェア構成の一例を示す図 本開示の実施の形態1に係る設定支援装置による通信周期決定の動作の一例を示すフローチャート 本開示の実施の形態2に係る設定支援装置が提示するプログラム選択画面の一例を示す図 本開示の実施の形態2に係る設定支援装置の機能的構成を示すブロック図 本開示の実施の形態2に係る設定支援装置の記憶部が保存する関数対応テーブルの一例を示す図 本開示の実施の形態2に係る設定支援装置による通信周期決定の動作の一例を示すフローチャート 本開示の実施の形態3に係る設定支援装置が提示する機能選択画面の一例を示す図 本開示の実施の形態3に係る設定支援装置が提示する機能選択画面にて機能が自動選択された場合の一例を示す図 本開示の実施の形態1に係る設定支援装置の機能的構成を示すブロック図 本開示の実施の形態3に係る設定支援装置の記憶部が保存する実行時間テーブルの一例を示す図 本開示の実施の形態1に係る設定支援装置による通信周期決定の動作の一例を示すフローチャート 本開示の実施の形態1に係る設定支援装置による通信周期決定の動作の一例を示すフローチャート
 以下、図面を参照しながら、本開示の実施の形態に係る制御システムを説明する。各図面においては、同一又は同等の部分に同一の符号を付す。
(実施の形態1)
 図1を参照しながら、実施の形態1に係る制御システム1を説明する。制御システム1は、設定支援装置10と制御装置20と1以上の被制御機器30とを備える。制御システム1は、本開示に係る制御システムの一例である。
 設定支援装置10は、制御装置20に通信可能に接続されている。制御装置20は、被制御機器30に通信可能に接続されている。図1では各被制御機器30はデイジーチェーンにて接続されているが、2以上の被制御機器30が制御装置20に直接通信可能に接続されていてもよい。
 制御システム1においては、設定支援装置10が制御装置20を設定し、制御装置20が被制御機器30を制御する。制御装置20は、被制御機器30と一定周期の通信をすることにより、被制御機器30を制御する。
 設定支援装置10は、制御装置20が各被制御機器30を制御するために必要な設定を行うための設定支援装置である。設定支援装置10は、例えばPC(Personal Computer)、FA(Factory Automation)用PC、スマートフォン、タブレット端末などのコンピュータである。当該コンピュータにエンジニアリングツールのプログラムがインストールされることにより、当該コンピュータは設定支援装置10として機能する。設定支援装置10は、本開示に係る設定支援装置の一例である。
 設定支援装置10は、制御装置20に各種パラメータ値、制御装置20にて動作させる制御プログラムなどを送信する。設定支援装置10は特に、通信周期を示すデータを制御装置20に送信して通信周期を制御装置20に設定する。通信周期の設定については後述する。また、設定支援装置10の機能的構成についても後述する。
 制御装置20は、一定周期で被制御機器30と通信することにより、被制御機器30を制御する。制御装置20は、被制御機器30のマスタとして動作する。制御装置20は、例えばモーションコントローラ、プログラマブルロジックコントローラなどの制御装置である。制御装置20は、設定支援装置10と通信し、受信した各種パラメータの設定、受信した制御プログラムの更新等を行う。制御装置20は特に、設定支援装置10から受信した通信周期を示すデータに基づいて、自身の通信周期を設定する。制御装置20は、本開示に係る制御装置の一例である。
 被制御機器30は、一定周期で制御装置20と通信することにより、制御装置20により制御される。被制御機器30は、マスタである制御装置20のスレーブとして動作する。被制御機器30は、例えば図示しないアクチュエータを駆動するサーボアンプである。被制御機器30は、本開示に係る被制御機器の一例である。
 図2を参照しながら、設定支援装置10による制御装置20への通信周期の設定を概略的に説明する。図2は、設定支援装置10がユーザに提示するユーザインタフェース画面である。図2に示す画面は、制御装置20の機能のうち通信周期に影響する機能の一覧を提示して制御装置20に必要な機能をユーザに選択させるための画面である。「機能」の列には、制御装置20の内部処理である制御処理1、制御処理2、制御処理3などが項目ごとに表示されている。制御装置20の機能は、制御装置20の各内部処理により実現される。また、「機能」の列の各項目には、サブ項目として方式、具体的な制御内容、有効か否かなどが表示されている。ユーザが、必要な機能を「選択」の列に設けられたチェックボックスにより選択して決定ボタンを選択することにより、設定支援装置10は、選択された機能に基づいて通信周期を決定し、決定した通信周期を制御装置20に設定する。
 図3を参照しながら、設定支援装置10の機能的構成を説明する。設定支援装置10は、操作部11と表示部12と提示部13と受付部14と周期決定部15と設定部16と計測部17と通信部18と記憶部19とを備える。
 操作部11は、ユーザによる操作を受け付ける。操作部11は、例えばマウス、キーボード、タッチスクリーンなどの入力装置である。
 表示部12は、図2に示す画面をはじめとする各種画面を表示する。表示部12は、例えば液晶ディスプレイ、有機EL(Electroluminescence)ディスプレイなどの表示装置である。なお、表示部12は、操作部11がタッチスクリーンである場合にはこれと一体となっていてもよい。
 通信部18は、制御装置20と通信する。通信部18は、例えばネットワークインタフェースにより実現される。
 記憶部19は、制御装置20が実行可能な各機能の一覧を示すデータと、後述する実行時間テーブルとを保存する。これらのデータ及びテーブルは、例えば設定支援装置10に係るエンジニアリングツールの製造者により予め作成される。
 提示部13は、図2に示す画面を生成して表示部12に表示することにより、制御装置20の通信周期に影響する機能の一覧を、ユーザに選択させるために提示する。提示部13は、記憶部19に保存されている各機能の一覧を示すデータを参照して、図2に示す画面を生成する。ユーザは、操作部11を操作して、図2に示す画面から必要な機能を選択することにより、制御装置20の機能を指定する。提示部13は、本開示に係る提示手段の一例である。
 受付部14は、図2に示す画面に対してユーザが操作部11の操作によって行った機能の選択を、制御装置20の機能の指定として受け付ける。受付部14は、本開示に係る機能受付手段の一例である。
 周期決定部15は、受付部14が受け付けた制御装置20の機能の指定に基づいて制御装置20の通信周期を決定する。周期決定部15は、実行時間算出部151とオーバヘッド算出部152と周期算出部153とを備える。周期決定部15は、本開示に係る周期決定手段の一例である。
 実行時間算出部151は、ユーザが選択し受付部14が受け付けた機能を、制御装置20が実行するのに要する時間を算出する。実行時間算出部151は、後述の記憶部19が保存する、図4に示す実行時間テーブルを参照して、実行に要する時間を算出する。
 図4に示す実行時間テーブルは、図2と同様の「機能」の列と、「実行時間」の列と、「接続数に比例?」の列と、「計測有?」の列とを含む。「実行時間」の列は、各項目が選択されたときに要する実行時間を示す。「接続数に比例?」の列は、制御装置20に接続された被制御機器30の数に比例して実行時間が増加するか否かを示す。「計測有?」の列は、後述する計測部17による計測の対象となるか否かを示す。
 オーバヘッド算出部152は、制御装置20以外の要因により生じるオーバヘッドを算出する。制御装置20以外の要因により生じるオーバヘッドとは、例えば被制御機器30の接続数に応じて生じる遅延時間、通信フレームが被制御機器30を通過する際に生じる遅延時間などの合計遅延時間である。
 周期算出部153は、実行時間算出部151が算出した、制御装置20が選択された機能を実行するのに要する時間と、オーバヘッド算出部152が算出したオーバヘッドとの合計時間を、制御装置20に設定すべき通信周期として算出する。
 周期決定部15は、周期算出部153が算出した通信周期を、制御装置20に設定すべき通信周期として決定する。
 設定部16は、通信部18を介して、周期決定部15が決定した通信周期を示すデータを制御装置20に送信することにより、制御装置20に通信周期を設定する。設定部16は、本開示に係る設定手段の一例である。
 計測部17は、制御装置20に命令を送信し、制御装置20に図4に示す各機能のうち「計測有?」に該当する機能を実行させ、当該機能の実行に要した実行時間を計測する。計測部17は、計測した実行時間にて記憶部19に保存されている実行時間テーブルを更新する。計測部17による計測は、後述するように、制御装置20に設定された通信周期では制御システム1が正常に稼働しなかったときに行われる。
 図5を参照しながら、設定支援装置10のハードウェア構成の一例を説明する。図5に示す設定支援装置10は、上述のように、例えばPC、FA用PC、スマートフォン、タブレット端末などのコンピュータにより実現される。
 設定支援装置10は、バス1000を介して互いに接続された、プロセッサ1001と、メモリ1002と、インタフェース1003と、二次記憶装置1004と、を備える。
 プロセッサ1001は、例えばCPU(Central Processing Unit:中央演算装置)である。プロセッサ1001が、二次記憶装置1004に記憶されたエンジニアリングツールのプログラムをメモリ1002に読み込んで実行することにより、設定支援装置10の各機能が実現される。
 メモリ1002は、例えば、RAM(Random Access Memory)により構成される主記憶装置である。メモリ1002は、プロセッサ1001が二次記憶装置1004から読み込んだエンジニアリングツールのプログラムを記憶する。また、メモリ1002は、プロセッサ1001がプログラムを実行する際のワークメモリとして機能する。
 インタフェース1003は、例えばシリアルポート、USB(Universal Serial Bus)ポート、ネットワークインタフェースなどのI/O(Input/Output)インタフェースである。インタフェースに入力装置及び表示装置が接続されることにより、操作部11及び表示部12の機能が実現される。また、インタフェース1003により通信部18の機能が実現される。
 二次記憶装置1004は、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)である。二次記憶装置1004は、プロセッサ1001が実行するエンジニアリングツールのプログラムを記憶する。また、二次記憶装置1004により記憶部19の機能が実現される。
 図6を参照しながら、設定支援装置10による通信周期決定の動作の一例を説明する。
 設定支援装置10の提示部13は、図2に示すような機能選択画面をユーザに提示する(ステップS101)。
 設定支援装置10の受付部14は、ユーザによる機能選択を待ち受ける(ステップS102)。受付部14がユーザによる機能選択を受け付けると、ステップS103からの動作が引き続き実行される。
 設定支援装置10の周期決定部15の実行時間算出部151は、記憶部19に保存されている実行時間テーブルを参照し、ユーザが選択した機能を制御装置20が実行するのに必要な実行時間を算出する(ステップS103)。
 周期決定部15のオーバヘッド算出部152は、制御装置20以外の要因により生じるオーバヘッドを算出する(ステップS104)。
 周期決定部15の周期算出部153は、ステップS103にて算出した実行時間とステップS104にて算出したオーバヘッドの時間とを合計を、設定すべき通信周期として算出する。周期決定部15は、この算出された通信周期を設定すべき通信周期として決定する(ステップS105)。
 設定支援装置10の設定部16は、ステップS105にて決定された通信周期を制御装置20に設定する(ステップS106)。
 設定支援装置10は、ステップS106により設定された通信周期にて、制御システム1が正常に稼働しているか否かを判定する(ステップS107)。この判定は、例えば設定部16が行ってもよいし、計測部17が行ってもよい。
 制御システム1が正常に稼働しているとき(ステップS107:Yes)、設定支援装置10は、通信周期決定の動作を終了する。
 制御システム1が正常に稼働していないとき(ステップS107:No)、設定支援装置10の計測部17は、制御装置20に各機能を実行させ、制御装置20が各機能を実行するのに要した実行時間を計測する(ステップS108)。
 計測部17は、ステップS108にて計測した実行時間にて、記憶部19に保存されている実行時間テーブルを更新する(ステップS109)。そして設定支援装置10は、ステップS103からの動作を繰り返し、再度通信周期の設定を試みる。
 以上、実施の形態1に係る制御システム1を説明した。制御システム1の設定支援装置10によれば、ユーザに制御装置20の機能を選択させ、選択した機能に基づいて制御装置20での実行時間を算出し、通信周期を決定する。そのため、設定支援装置10によれば、制御装置20の内部処理を考慮して制御装置20の通信周期を決定できる。また、設定支援装置10によれば、ユーザが図2に示す画面にて必要な機能を選択することにより自動的に通信周期が決定されるので、通信周期の設定に関するユーザの負担を軽減できる。
(実施の形態1の変形例)
 実施の形態1において提示部13が図2に示す画面をユーザに提示する際に、機能のみでなく機能ごとの通信周期に対する影響の度合いを併せて提示してもよい。例えば提示部13は、記憶部19に保存されている実行時間テーブルを参照し、各機能の実行時間を併せてユーザに提示してもよい。あるいは、当該機能を実行するのに必要な命令のステップ数の大小を定性的に表示することにより、機能ごとの通信周期に対する影響の度合いを併せて提示してもよい。
(実施の形態2)
 実施の形態2に係る制御システム1を説明する。実施の形態2に係る制御システム1の全体構成は、図1に示す実施の形態1の場合と同様である。
 実施の形態2においては、設定支援装置10が図7に示す画面をユーザに提示し、ユーザが制御装置20にて実行される制御プログラムを解析対象として指定する。これにより、設定支援装置10が当該制御プログラムを解析して制御装置20に必要な機能を特定し、特定した機能に基づいて通信周期を決定する。
 図7に示す画面は、解析対象となる制御プログラムのファイル名及びファイル形式と、選択対象となっている制御プログラムとを示す。ユーザは、「選択」の列にあるラジオボタンを選択することにより、一覧表示されている制御プログラムのうち1のプログラムを選択する。
 実施の形態2に係る設定支援装置10は、図8に示すように、周期決定部15が解析部154をさらに備える点が実施の形態1と異なる。また、後述するように、提示部13、受付部14、実行時間算出部151及び記憶部19についても実施の形態1と異なる点がある。
 提示部13は、図2に示す画面に代えて図7に示す画面をユーザに提示する点が実施の形態1と異なる。提示部13は、図7に示す画面をユーザに提示することにより、ユーザに解析対象となる制御プログラムを指定させる。指定させるプログラムは、制御装置20にて実行される制御プログラムの元となったソースファイルであってもよいし、制御装置20にて実行される制御プログラムのバイナリファイルそのものであってもよい。
 受付部14は、ユーザによる制御プログラムの指定を、制御装置20の機能の指定として受け付ける点が実施の形態1と異なる。
 記憶部19は、図9に示すような関数対応テーブルをさらに保存する点が実施の形態1と異なる。関数対応テーブルとは、制御プログラムにて呼び出されている関数と、当該関数が必要とする制御装置20の機能とを対応付けたテーブルである。
 解析部154は、受付部14が受け付けた制御プログラムを解析し、当該制御プログラムで呼び出されている関数を特定する。解析部154は、記憶部19に保存されている関数対応テーブルを参照し、制御装置20が当該制御プログラムを実行するために必要な機能を特定する。解析部154は、本開示に係る解析手段の一例である。
 解析部154は、例えばC言語、ラダー図、ファンクションブロックダイアグラムなどのユーザが認識可能な形式にて記載された、当該制御プログラムの元となったソースファイルを解析して、当該制御プログラムで呼び出されている関数を特定する。あるいは、解析部154は、実行バイナリ形式の制御プログラムそのものを逆コンパイルして解析することにより、当該制御プログラムで呼び出されている関数を特定してもよい。
 実行時間算出部151は、解析部154が特定した制御装置20の機能に基づいて実行時間を算出する点が実施の形態1と異なる。
 図10を参照しながら、実施の形態2に係る設定支援装置10による通信周期決定の動作のうち、図6に示す実施の形態1の場合と異なる点を説明する。
 設定支援装置10の提示部13は、図7に示すプログラム選択画面をユーザに提示する(ステップS201)。
 設定支援装置10の受付部14は、ユーザによるプログラムの選択を待ち受ける(ステップS202)。ユーザがプログラムを選択したら、設定支援装置10はステップS203からの動作を実行する。
 設定支援装置10の周期決定部15の解析部154は、ユーザが選択したプログラムを解析し、制御装置20が当該プログラムを実行するのに必要な機能を特定する(ステップS203)。
 周期決定部15の実行時間算出部151は、記憶部19に保存されている実行時間テーブルを参照し、ステップS203にて特定された機能を制御装置20が実行するのに必要な実行時間を算出する(ステップS204)。
 以降の動作は、実施の形態1の場合とほぼ同様である。ただし、ステップS109の動作のあとにステップS204からの動作が実行される点は実施の形態1と異なる。
 以上、実施の形態2に係る制御システムを説明した。実施の形態2に係る設定支援装置10によれば、ユーザが指定したプログラムを解析して制御装置20に必要な機能を特定し、特定した機能に基づいて通信周期を決定する。そのため、実施の形態1の場合と同様に、実施の形態2に係る設定支援装置10によれば、制御装置20の内部処理を考慮して制御装置20の通信周期を決定できる。また、実施の形態2に係る設定支援装置10によれば、ユーザは、機能を逐一選択するのではなくプログラムを指定すればよいので、ユーザの負担を実施の形態1の場合よりもさらに軽減できる。
(実施の形態3)
 実施の形態3に係る制御システム1を説明する。実施の形態3に係る制御システム1の全体構成は、図1に示す実施の形態1の場合と同様である。
 実施の形態3においては、設定支援装置10が図11に示す画面をユーザに提示し、ユーザに機能を選択させるのみならず、ユーザに必要通信周期を入力させる。図11に示す画面では、実施の形態1の場合の画面である図2の場合と比べて、必要通信周期をユーザに入力させるための入力欄が設けられている点が異なる。必要通信周期とは、ユーザが制御装置20に要求する通信周期であり、制御装置20はこの必要通信周期以下の通信周期にて動作することが必要とされる。
 以下に説明するように、設定支援装置10は、実施の形態1と同様の機能に加えて、ユーザが入力した必要通信周期に余裕があれば選択可能な機能があればそれを自動的に選択して図12に示すようなユーザに提示する機能と、現状の選択された機能では当該必要通信周期を満たすことが不可能である旨をユーザに提示する機能とを有する。図12では、「制御処理2」の「E制御」が自動的に選択されていることが示されている。ユーザは、この自動選択をそのまま決定してもよいし、自動選択の結果を踏まえて機能の選択をやり直してもよい。
 以下、図13を参照しながら、実施の形態3に係る設定支援装置10の各機能部のうち実施の形態1と異なる点を説明する。
 周期決定部15は、自動選択部155をさらに備える点が実施の形態1と異なる。自動選択部155については後述する。
 提示部13は、図2に示す画面に代えて図11に示す画面をユーザに提示する点が実施の形態1と異なる。また、提示部13は、後述の自動選択部155による結果を踏まえて図12に示す画面をユーザに提示する点が実施の形態1と異なる。また、提示部13は、後述の周期算出部153が算出した通信周期が必要通信周期を超えるとき、現状の選択された機能では当該必要通信周期を満たすことが不可能である旨をユーザに提示する点が実施の形態1と異なる。
 受付部14は、機能選択のみでなく必要通信周期の入力も受け付ける点が実施の形態1と異なる。また、受付部14は、提示部13が提示した図12に示す画面、つまり自動選択が行われた後の画面に対しても入力を受け付ける点が実施の形態1と異なる。実施の形態3に係る受付部14は、本開示に係る周期受付手段の一例でもある。
 記憶部19に保存される実行時間テーブルについて、図14に示すように、「優先度」の列が新たに設けられている点が実施の形態1と異なる。「優先度」の列の数値は、高いほど優先度が高いことを示す。この「優先度」は、後述の自動選択部155による自動選択の際に使用される。
 自動選択部155は、まず、受付部14が受け付けた必要通信周期と周期算出部153が算出した通信周期との差を算出する。この差は、現在ユーザが選択した機能に基づく通信周期が、必要通信周期と比べてどのくらい余裕があるかを示すものとなる。
 自動選択部155は次に、記憶部19に保存されている実行時間テーブルを参照し、上記の算出された差に基づいて、通信周期が必要通信周期を超えない範囲内で、各機能を優先度の高い順に選択する。自動選択部155は、本開示に係る自動選択手段の一例である。
 図15及び図16を参照しながら、実施の形態3に係る設定支援装置10による通信周期決定の動作の一例を説明する。図15及び図16に示すフローチャートは、「A」及び「B」にて各図が接続され、1つの処理を示す。図16に示す2つの「B」はいずれも、図15に示す1つの「B」へと接続されている。
 なお、図16に示すステップS106からS109までの動作は、符号が示すとおり図6に示す実施の形態1の場合と同様であるため説明を省略する。
 設定支援装置10の提示部13は、図11に示すような必要通信周期入力・機能選択画面をユーザに提示する(ステップS201)。
 設定支援装置10の受付部14は、ユーザによる必要通信周期入力・機能選択を待ち受ける(ステップS202)。受付部14がユーザによる必要通信周期入力・機能選択を受け付けると、ステップS203からの動作が引き続き実行される。
 設定支援装置10の周期決定部15の実行時間算出部151は、実施の形態1の場合と同様に、記憶部19に保存されている実行時間テーブルを参照し、ユーザが選択した機能を制御装置20が実行するのに必要な実行時間を算出する(ステップS203)。
 周期決定部15のオーバヘッド算出部152は、実施の形態1の場合と同様に、制御装置20以外の要因により生じるオーバヘッドを算出する(ステップS204)。
 周期決定部15の周期算出部153は、ステップS203にて算出した実行時間とステップS204にて算出したオーバヘッドの時間とを合計した通信周期を算出する(ステップS205)。
 提示部13は、算出された通信周期が必要通信周期を超えるか否かを判定する(ステップS206)。
 算出された通信周期が必要通信周期を超えるとき(ステップS206:Yes)、提示部13は、必要通信周期を満たすことが不可能である旨をユーザに提示する(ステップS207)。そして設定支援装置10は、通信周期決定の動作を終了する。
 算出された通信周期が必要通信周期を超えないとき(ステップS206:No)、自動選択部155は、必要通信周期と算出された通信周期との差を算出する(ステップS208)。
 自動選択部155は、算出された差に基づいて、通信周期が必要通信周期を超えない範囲内で優先度の高い順に機能を選択する(ステップS209)。
 提示部13は、自動選択部155により自動選択された結果を反映した必要通信周期入力・機能選択画面をユーザに提示する(ステップS210)。
 受付部14は、ステップS202同様、ユーザによる必要通信周期入力・機能選択を待ち受ける(ステップS211)。
 提示部13は、受付部14が受け付けた内容が、ステップS202にて受け付けた内容と変化があるか否かを判定する(ステップS212)。
 受け付けた内容と変化がある場合(ステップS212:Yes)、設定支援装置10は、ステップS203からの動作を繰り返す。
 受け付けた内容と変化がない場合(ステップS212:No)、選択された内容に基づいてステップS106以下の実施の形態1の場合と同様の動作が実行される。
 以上、実施の形態3に係る制御システム1を説明した。実施の形態3に係る設定支援装置10によれば、ユーザに必要通信周期を入力させ、ユーザが選択した機能に基づく通信周期に余裕がある場合には自動で機能を選択してユーザに提示し、ユーザに機能の再選択の余地を与えることができる。これにより、ユーザはより適した機能選択が可能か否かを検討することができる。
(実施の形態3の変形例)
 実施の形態3では、自動選択部155は優先度に基づいて機能を選択した。これに代えて、自動選択部155は、機械学習により機能を選択してもよい。例えば、被制御機器30の接続構成、制御装置20の各内部処理の実行時間、通信周期、ユーザが選択した機能、ユーザが入力した必要通信周期を特徴量とした学習モデルを予め生成し、自動選択部1555は当該学習モデルに基づいて自動的に機能を選択してもよい。
(その他の変形例)
 図5に示すハードウェア構成においては、設定支援装置10が二次記憶装置1004を備えている。しかし、これに限らず、二次記憶装置1004を設定支援装置10の外部に設け、インタフェース1003を介して設定支援装置10と二次記憶装置1004とが接続される形態としてもよい。この形態においては、USBフラッシュドライブ、メモリカードなどのリムーバブルメディアも二次記憶装置1004として使用可能である。
 また、図5に示すハードウェア構成に代えて、ASIC(Application Specific Integrated Circuit:特定用途向け集積回路)、FPGA(Field Programmable Gate Array)などを用いた専用回路により設定支援装置10を構成してもよい。また、図5に示すハードウェア構成において、設定支援装置10の機能の一部を、例えばインタフェース1003に接続された専用回路により実現してもよい。
 設定支援装置10で用いられるプログラムは、CD-ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、USBフラッシュドライブ、メモリカード、HDD等のコンピュータ読み取り可能な記録媒体に格納して配布することが可能である。そして、かかるプログラムを特定の又は汎用のコンピュータにインストールすることによって、当該コンピュータを設定支援装置10として機能させることが可能である。
 また、上述のプログラムをインターネット上の他のサーバが有する記憶装置に格納しておき、当該サーバから上述のプログラムがダウンロードされるようにしてもよい。
 本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本開示を説明するためのものであり、本開示の範囲を限定するものではない。つまり、本開示の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。
 1 制御システム、10 設定支援装置、11 操作部、12 表示部、13 提示部、14 受付部、15 周期決定部、16 設定部、17 計測部、18 通信部、19 記憶部、20 制御装置、30 被制御機器、151 実行時間算出部、152 オーバヘッド算出部、153 周期算出部、154 解析部、155 自動選択部、1000 バス、1001 プロセッサ、1002 メモリ、1003 インタフェース、1004 二次記憶装置。

Claims (8)

  1.  一定周期で被制御機器と通信を行う制御装置の設定を支援する設定支援装置であって、
     ユーザによる前記制御装置の機能の指定を受け付ける機能受付手段と、
     前記機能受付手段が受け付けた前記指定に基づいて、前記制御装置の通信周期を決定する周期決定手段と、
     前記周期決定手段が決定した前記通信周期を前記制御装置に設定する設定手段と、
     を備える設定支援装置。
  2.  前記制御装置の通信周期に影響する機能の一覧を前記ユーザに選択させるために提示する提示手段をさらに備え、
     前記機能受付手段は、前記提示手段が提示した前記一覧を介した前記ユーザによる選択を前記制御装置の機能の指定として受け付ける、
     請求項1に記載の設定支援装置。
  3.  前記提示手段はさらに、機能ごとの通信周期に対する影響の度合いを提示する、
     請求項2に記載の設定支援装置。
  4.  前記ユーザが必要とする通信周期である必要通信周期の指定を受け付ける周期受付手段と、
     前記必要通信周期を超えない範囲で前記制御装置の通信周期に影響する機能を自動的に選択する自動選択手段と、
    をさらに備え、
     前記機能の一覧はさらに、前記必要通信周期を入力させるための入力欄を含み、
     前記提示手段はさらに前記自動選択手段により自動的に選択された機能を含む前記機能の一覧を前記ユーザに提示する、
     請求項2又は3に記載の設定支援装置。
  5.  解析手段をさらに備え、
     前記機能受付手段は、前記ユーザによる、前記制御装置を制御する制御プログラムの指定を前記制御装置の機能の指定として受け付け、
     前記解析手段は、前記制御プログラムを解析して前記制御プログラムの実行に必要な機能を特定し、
     前記周期決定手段は、前記解析手段が特定した機能に基づいて前記制御装置の通信周期を決定する、
     請求項1に記載の設定支援装置。
  6.  請求項1から5のいずれか1項に記載の設定支援装置と、前記制御装置とを備える、
     制御システム。
  7.  一定周期で被制御機器と通信を行う制御装置の設定を支援する設定支援方法であって、
     ユーザによる前記制御装置の機能の指定を受け付け、
     受け付けた前記指定に基づいて、前記制御装置の通信周期を決定し、
     決定した前記通信周期を前記制御装置に設定する、
     設定支援方法。
  8.  一定周期で被制御機器と通信を行う制御装置の設定を支援するプログラムであって、
     コンピュータに、
     ユーザによる前記制御装置の機能の指定を受け付けさせ、
     受け付けた前記指定に基づいて、前記制御装置の通信周期を決定させ、
     決定した前記通信周期を前記制御装置に設定させる、
     プログラム。
PCT/JP2022/035109 2022-09-21 2022-09-21 設定支援装置、制御システム、設定支援方法及びプログラム WO2024062548A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2022/035109 WO2024062548A1 (ja) 2022-09-21 2022-09-21 設定支援装置、制御システム、設定支援方法及びプログラム
JP2023511686A JP7399349B1 (ja) 2022-09-21 2022-09-21 設定支援装置、制御システム、設定支援方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/035109 WO2024062548A1 (ja) 2022-09-21 2022-09-21 設定支援装置、制御システム、設定支援方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2024062548A1 true WO2024062548A1 (ja) 2024-03-28

Family

ID=89122222

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/035109 WO2024062548A1 (ja) 2022-09-21 2022-09-21 設定支援装置、制御システム、設定支援方法及びプログラム

Country Status (2)

Country Link
JP (1) JP7399349B1 (ja)
WO (1) WO2024062548A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009157752A (ja) * 2007-12-27 2009-07-16 Akuseru:Kk デバイスコントローラ
JP4807475B1 (ja) * 2011-03-15 2011-11-02 オムロン株式会社 演算ユニット、出力制御方法、およびプログラム
JP2017079009A (ja) * 2015-10-21 2017-04-27 株式会社キーエンス プログラマブル・ロジック・コントローラのモニタ装置
WO2020067286A1 (ja) * 2018-09-28 2020-04-02 オムロン株式会社 制御システム、サポート装置、サポートプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7003952B2 (ja) * 2019-03-14 2022-01-21 オムロン株式会社 制御システム、サポート装置およびサポート装置用のプログラム
JP2022133624A (ja) * 2021-03-02 2022-09-14 オムロン株式会社 情報処理装置、方法およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009157752A (ja) * 2007-12-27 2009-07-16 Akuseru:Kk デバイスコントローラ
JP4807475B1 (ja) * 2011-03-15 2011-11-02 オムロン株式会社 演算ユニット、出力制御方法、およびプログラム
JP2017079009A (ja) * 2015-10-21 2017-04-27 株式会社キーエンス プログラマブル・ロジック・コントローラのモニタ装置
WO2020067286A1 (ja) * 2018-09-28 2020-04-02 オムロン株式会社 制御システム、サポート装置、サポートプログラム

Also Published As

Publication number Publication date
JP7399349B1 (ja) 2023-12-15

Similar Documents

Publication Publication Date Title
JP6583070B2 (ja) 設定支援装置、設定支援方法、情報処理プログラム、および記録媒体
EP3699709B1 (en) Servo motor adjusting device and servo motor adjusting method
US10203681B2 (en) Sequence-program-creation supporting apparatus
JP2018173858A (ja) 複数の機械のデータ収集を管理するデータ収集管理システム、データ収集管理方法及びプログラム
JP5934428B2 (ja) プログラマブル表示器、プログラマブルコントローラシステム、プログラム
JP2021096637A (ja) エンジニアリングユニットおよび開発支援方法
WO2024062548A1 (ja) 設定支援装置、制御システム、設定支援方法及びプログラム
JP6859965B2 (ja) 設定支援装置及び設定支援プログラム
JP5566473B2 (ja) システム設計装置
JP4941674B2 (ja) シミュレーション・システム
WO2017183265A1 (ja) データベース構築装置、データベース構築方法、および、データベース構築プログラム
JP6405266B2 (ja) グラフ表示装置、グラフ表示方法、およびプログラム
JP7294609B2 (ja) ソフトウェアの操作シナリオの生成を支援するプログラム、方法およびソフトウェアの操作シナリオの生成を支援する装置
JP5870214B2 (ja) プログラマブルコントローラシステム、そのプログラマブル表示器、支援装置、プログラム
JP2017220142A (ja) プログラミング装置
JP6591116B1 (ja) プログラマブルロジックコントローラのcpuユニット、プログラマブルロジックコントローラ、方法、及びコンピュータ
JP5280741B2 (ja) 分析装置の製造支援システム
WO2023203604A1 (ja) シミュレーション用プログラム、シミュレーション装置及び制御方法
JP2017162108A (ja) I/oモジュール管理装置、i/oモジュール管理方法
JP2021177314A (ja) 生産性改善支援システム及び生産性改善支援方法
JP2022015062A (ja) エンジニアリング装置及びエンジニアリング方法
JP2023096331A (ja) シナリオ管理システム、シナリオ管理方法、及びシナリオ管理プログラム
JP2022013144A (ja) 機器操作装置、機器操作システム、コントローラ、および機器操作方法
JP2015011600A (ja) エンジニアリング装置および関連制御デバイス特定方法
JP2022015059A (ja) エンジニアリング装置及びエンジニアリング方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22959512

Country of ref document: EP

Kind code of ref document: A1