WO2022264424A1 - 制御装置及び制御方法 - Google Patents

制御装置及び制御方法 Download PDF

Info

Publication number
WO2022264424A1
WO2022264424A1 PCT/JP2021/023258 JP2021023258W WO2022264424A1 WO 2022264424 A1 WO2022264424 A1 WO 2022264424A1 JP 2021023258 W JP2021023258 W JP 2021023258W WO 2022264424 A1 WO2022264424 A1 WO 2022264424A1
Authority
WO
WIPO (PCT)
Prior art keywords
priority
processing request
unit
client
control device
Prior art date
Application number
PCT/JP2021/023258
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/JP2021/023258 priority Critical patent/WO2022264424A1/ja
Priority to DE112021007562.4T priority patent/DE112021007562T5/de
Priority to CN202180099248.6A priority patent/CN117480457A/zh
Priority to JP2023528933A priority patent/JPWO2022264424A1/ja
Publication of WO2022264424A1 publication Critical patent/WO2022264424A1/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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35391Sort, order entered data hierarchical

Definitions

  • the present invention relates to a control device and control method.
  • a communication interface for receiving an operation request via a network, a sub CPU and a main CPU for analyzing the received operation request and executing processing according to the analysis result, the sub CPU and the main CPU , communication tasks assigned to communication processing via the network connection interface are divided into high-speed communication tasks for high-speed response from the reception of operation requests to execution of processing according to analysis results, and normal tasks other than high-speed communication tasks.
  • Patent Document 1 there are only two priorities, a normal communication task and a high-speed communication task, which is insufficient to determine the priority of multiple applications. (backup)”, etc., with a high degree of freedom in priority level design.
  • Patent Document 1 distributes tasks with a determined priority, it is necessary to prepare tasks for the necessary priority levels in advance, which hinders the realization of multi-level priorities.
  • control device of the present disclosure is a control device that executes processing of a processing request to an industrial machine from a client, wherein when the processing request is received from the client, the priority set for the received processing request is and a priority changing unit for changing the priority of the received processing request based on the analysis result of the priority analyzing unit.
  • One aspect of the control method of the present disclosure is a control method for executing processing of a processing request to an industrial machine from a client, wherein when the processing request is received from the client, priority set for the received processing request is determined. and change the priority of the received processing request based on the analysis result of the priority.
  • multi-level priorities can be realized without preparing tasks for the necessary priority levels in advance.
  • FIG. 4 is a flowchart for explaining control processing of a numerical control device
  • FIG. 7 is a functional block diagram showing a functional configuration example of a control system according to a second embodiment
  • FIG. 4 is a flowchart for explaining control processing of a numerical control device
  • FIG. 11 is a functional block diagram showing a functional configuration example of a control system according to a third embodiment
  • FIG. 4 is a flowchart for explaining control processing of a numerical control device
  • each embodiment has a common configuration of executing a processing request from a client according to priority.
  • the priority is explicitly designated based on the user's input operation when the client generates the processing request command.
  • the priority for the processing request is not specified, and the priority for each processing request set in advance in the control device is applied to the processing request.
  • the difference from the first embodiment is that the priority is implicitly specified for each.
  • the explicit priority specified based on the input operation by the user when generating the command of the processing request in the client, and the implicit priority for each processing request preset in the control device This differs from the first and second embodiments in that the priority for the processing request is designated based on the combination of the degree and the degree.
  • the first embodiment will be described in detail, and then the parts of the second and third embodiments that are particularly different from the first embodiment will be described.
  • FIG. 1 is a functional block diagram showing a functional configuration example of a control system according to the first embodiment.
  • a machine tool is exemplified as an industrial machine
  • a numerical controller is exemplified as a controller.
  • the present invention is not limited to machine tools and numerical control devices, but is also applicable to industrial machines such as injection molding machines, industrial robots, and service robots, and robot control devices that control industrial robots and the like. It is possible.
  • the control system 1 has a numerical controller 10, a client 20, and a machine tool 30.
  • the numerical controller 10, client 20, and machine tool 30 may be directly connected to each other via a connection interface (not shown). Also, the numerical controller 10, the client 20, and the machine tool 30 may be interconnected via a network (not shown) such as a LAN (Local Area Network) or the Internet. In this case, the numerical control device 10, the client 20, and the machine tool 30 are provided with a communication section (not shown) for mutual communication through such connection.
  • a connection interface not shown
  • the numerical controller 10 the client 20, and the machine tool 30 may be interconnected via a network (not shown) such as a LAN (Local Area Network) or the Internet.
  • the numerical control device 10, the client 20, and the machine tool 30 are provided with a communication section (not shown) for mutual communication through such connection.
  • the machine tool 30 is a machine tool known to those skilled in the art, and operates based on operation commands from a numerical control device 10 as a control device.
  • the client 20 is, for example, a display device, a tablet, or the like. As shown in FIG. 1, the client 20 has an instruction generation unit 201, a priority designation unit 202, an instruction transmission unit 203, and a result reception unit 204.
  • the client 20 includes an arithmetic processing unit (not shown) such as a CPU (Central Processing Unit) in order to realize the operation of the functional blocks shown in FIG.
  • the client 20 also includes an auxiliary storage device (not shown) such as a ROM or HDD storing various control programs, and a RAM for storing data temporarily required when the arithmetic processing unit executes the program. (Random Access Memory) (not shown) is provided.
  • the arithmetic processing unit reads the OS and application software from the auxiliary storage device, develops the read OS and application software in the main storage device, and performs arithmetic processing based on the OS and application software. Based on this calculation result, the client 20 controls each piece of hardware. Thereby, the processing by the functional blocks in FIG. 1 is realized. That is, the client 20 can be realized by cooperation of hardware and software.
  • the command generation unit 201 receives an input such as a processing request from the user via an input device (not shown) such as a keyboard or touch panel included in the client 20, and generates a command for the received processing request.
  • an input device such as a keyboard or touch panel included in the client 20
  • the command generation unit 201 receives an input such as a processing request from the user via an input device (not shown) such as a keyboard or touch panel included in the client 20, and generates a command for the received processing request.
  • the priority specifying unit 202 receives, for example, a priority specification for the processing request generated by the command generating unit 201 based on the user's input operation of the input device (not shown) of the client 20, and executes the processing request from the client 20.
  • a priority specification for the processing request generated by the command generating unit 201 based on the user's input operation of the input device (not shown) of the client 20, and executes the processing request from the client 20.
  • API Application Programming Interface
  • a function such as change_priority_by_application( application_id, new_priority) may be provided to specify the priority for a particular element.
  • an argument for the session start function may be added when the session is open.
  • the command transmission unit 203 transmits the processing request generated by the command generation unit 201 to the numerical controller 10, which will be described later.
  • the result receiving unit 204 receives the processing result for the processing request transmitted by the command transmitting unit 203 from the numerical controller 10, which will be described later.
  • the result receiving unit 204 may display the received processing result on a display unit (not shown) such as a liquid crystal display included in the client 20, for example.
  • the numerical control device 10 is a numerical control device known to those skilled in the art, and generates an operation command based on a processing request from the client 20 and a processing program obtained from an external device (not shown) such as a CAD/CAM device. , and transmits the generated motion command to the machine tool 30 . Thereby, the numerical controller 10 controls the operation of the machine tool 30 . If the machine tool 30 is a robot or the like, the numerical controller 10 may be a robot controller or the like.
  • the numerical controller 10 has a control unit 110 and a storage unit 120. Furthermore, the control unit 110 has an instruction reception unit 111 , a priority analysis unit 112 , a priority change unit 113 , an instruction execution unit 114 and a result transmission unit 115 .
  • the storage unit 120 is a RAM, HDD (Hard Disk Drive), or the like.
  • the storage unit 120 stores control processing data 121 .
  • the control processing data 121 stores, for example, a machining program generated by an external device (not shown) such as a CAD/CAM device, and set values such as a tool correction amount and work coordinates.
  • the control unit 110 has a CPU, a ROM (Read Only Memory), a RAM, a CMOS (Complementary Metal-Oxide-Semiconductor) memory, etc., which are configured to communicate with each other via a bus, which is known to those skilled in the art. belongs to.
  • the CPU is a processor that controls the numerical controller 10 as a whole.
  • the CPU reads the system program and application program stored in the ROM through the bus, and controls the entire numerical controller 10 according to the system program and application program.
  • the control unit 110 is configured to realize the functions of the command receiving unit 111, the priority analyzing unit 112, the priority changing unit 113, the command executing unit 114, and the result transmitting unit 115.
  • CMOS memory is backed up by a battery (not shown), and configured as a non-volatile memory that retains the stored state even when the power of the numerical controller 10 is turned off.
  • the command receiving unit 111 is, for example, a web server (not shown) and communicates with the client 20 .
  • the command receiving unit 111 receives a processing request to the numerical controller 10 from the client 20, the command receiving unit 111 outputs the processing request to the priority analysis unit 112 and the command execution unit 114, which will be described later.
  • the priority analysis unit 112 When receiving a processing request from the client 20, the priority analysis unit 112 analyzes the priority set in the received processing request. Specifically, the priority analysis unit 112, for example, calls the API function that was executed when the client 20 generated the processing request received, and determines the priority of the processing instruction set in the argument of the API function. get. The priority analysis unit 112 outputs the acquired priority to the priority change unit 113 as an analysis result.
  • the priority change unit 113 changes the priority of the received processing request based on the analysis result of the priority analysis unit 112.
  • the priority changing unit 113 sets the changed priority of the processing request to the instruction executing unit 114, which will be described later.
  • the command execution unit 114 executes the task of the processing request received via the command reception unit 111 based on the priority changed by the priority change unit 113 . Specifically, the command execution unit 114 executes the task of the received processing request based on the changed priority while exchanging data with the control processing data 121, the machine tool 30, and the like. By doing so, the numerical controller 10 can realize multi-level priorities without preparing tasks for the required priority levels in advance.
  • the result transmission unit 115 is, for example, a web server (not shown), and transmits the execution result of the processing request executed by the command execution unit 114 to the client 20 .
  • FIG. 2 is a flowchart for explaining control processing of the numerical controller 10. As shown in FIG.
  • step S ⁇ b>11 the command receiving unit 111 receives from the client 20 a processing request command to the numerical controller 10 .
  • the command reception unit 111 outputs the command of the received processing request to the priority analysis unit 112 and the command execution unit 114 .
  • step S12 the priority analysis unit 112 calls the API function executed by the client 20 when the processing request received in step S11 was generated, thereby determining the priority set in the processing request received in step S11. To analyze.
  • step S13 the priority changing unit 113 changes the priority of the processing request received in step S11 based on the analysis result of step S12.
  • step S14 the command execution unit 114 executes the task of the processing request received in step S11 based on the priority changed in step S13.
  • step S15 the result transmission unit 115 transmits to the client 20 the execution result of the processing request executed in step S14.
  • the numerical controller 10 explicitly designates the priority for the processing request generated by the client 20, so that the task can be executed without preparing tasks for the required priority level in advance.
  • multi-level priority can be realized. That is, in the numerical control device 10 that can issue commands from an application through a communication interface, unlike the prior art, the priority of commands can be specified. Tasks can be prioritized and executed.
  • the first embodiment has been described above.
  • FIG. 3 is a functional block diagram showing a functional configuration example of a control system according to the second embodiment. Elements having functions similar to those of the control system 1 shown in FIG. 1 are denoted by the same reference numerals, and detailed description thereof is omitted.
  • the control system 1 has a numerical controller 10A, a client 20A, and a machine tool 30. As shown in FIG.
  • a client 20A according to the second embodiment has the same configuration as the client 20 according to the first embodiment. That is, as shown in FIG. 3, the client 20A has an instruction generator 201, an instruction transmitter 203, and a result receiver 204.
  • FIG. The instruction generation unit 201, the instruction transmission unit 203, and the result reception unit 204 have functions equivalent to those of the instruction generation unit 201, the instruction transmission unit 203, and the result reception unit 204 in the first embodiment. That is, the client 20A transmits the processing request to the numerical controller 10A, which will be described later, without specifying the priority of the generated processing request.
  • a numerical control device 10A according to the second embodiment has the same configuration as the numerical control device 10 according to the first embodiment. That is, as shown in FIG. 3, the numerical controller 10A has a control section 110a and a storage section 120a. Further, the control unit 110a has an instruction reception unit 111, a priority analysis unit 112a, a priority change unit 113, an instruction execution unit 114, and a result transmission unit 115. The storage unit 120 a also stores control processing data 121 and a priority table 122 .
  • the command receiving unit 111, the priority changing unit 113, the command executing unit 114, and the result transmitting unit 115 are the same as the command receiving unit 111, the priority changing unit 113, the command executing unit 114, and the result transmitting unit 115 in the first embodiment. have equivalent functionality. Also, the control processing data 121 is data equivalent to the control processing data 121 in the first embodiment.
  • the priority table 122 is data in which the priority for executing a processing request received by the instruction execution unit 114 from the client 20A is implicitly preset for each processing request.
  • the priority table 122 may be set according to communication session units, application units, client host units, login user units, or the like. For example, the priority table 122 may determine a high (low) priority application set based on an application identifier (ID or name) for each application. In addition, the priority table 122 determines a high (low) priority client set based on separately registered roles (display, SCADA (Supervisory Control And Data Acquisition), etc.) in the case of client host units. You may do so. Also, in the case of user units, the priority table 122 may determine a user set with a high (low) priority based on a user ID or a group ID.
  • the priority analysis unit 112a analyzes the priority of the received processing request based on the priority table 122.
  • the priority analysis unit 112a outputs the acquired priority to the priority change unit 113 as an analysis result.
  • FIG. 4 is a flow chart for explaining control processing of the numerical controller 10A.
  • the processing from step S11 and from step S13 to step S15 is the same as that from step S11 and step S13 to step S15 of the first embodiment shown in FIG. 2, and the description thereof is omitted.
  • step S12a the priority analysis unit 112a analyzes the priority of the processing request received from the client 20A in step S11 based on the priority table 122.
  • the numerical control device 10A implicitly designates the priority of the processing request command received from the client 20A based on the priority table 122, thereby obtaining the necessary priority level in advance. Multi-level priority can be realized without preparing separate tasks.
  • the second embodiment has been described above.
  • a third embodiment will be described.
  • the explicit priority specified based on the user's input operation when generating the processing request command in the client 20 is specified based on a combination of the implicit priority for each processing request that is set in advance.
  • the numerical controller 10B can realize multi-level priorities without preparing tasks for the necessary priority levels in advance.
  • FIG. 5 is a functional block diagram showing a functional configuration example of a control system according to the third embodiment. Elements having the same functions as those of the control system 1 shown in FIGS. 1 and 3 are denoted by the same reference numerals, and detailed description thereof is omitted.
  • the control system 1 has a numerical controller 10B, a client 20, and a machine tool 30. As shown in FIG. The client 20 and machine tool 30 have the same configuration as the client 20 and machine tool 30 in the first embodiment.
  • a numerical control device 10B according to the third embodiment has a configuration equivalent to that of the numerical control device 10 according to the first embodiment. That is, as shown in FIG. 5, the numerical controller 10B has a control section 110b and a storage section 120a. Further, the control unit 110b has an instruction reception unit 111, a priority analysis unit 112b, a priority change unit 113, an instruction execution unit 114, and a result transmission unit 115. The storage unit 120 a also stores control processing data 121 and a priority table 122 .
  • the command receiving unit 111, the priority changing unit 113, the command executing unit 114, and the result transmitting unit 115 are the same as the command receiving unit 111, the priority changing unit 113, the command executing unit 114, and the result transmitting unit 115 in the first embodiment. have equivalent functionality. Also, the control processing data 121 and the priority table 122 are data equivalent to the control processing data 121 and the priority table 122 in the second embodiment.
  • the priority analysis unit 112b When receiving a processing request from the client 20, the priority analysis unit 112b performs the received processing based on the combination of the explicit priority designated by the client 20 and the implicit priority based on the priority table 122. Analyze priority for requests. Specifically, for example, in the same way as the priority analysis unit 112 of the first embodiment, the priority analysis unit 112b, when receiving a processing request from the client 20, generates the received processing request. By calling the API function, the priority of the processing instruction set in the argument of the API function is obtained as the explicit priority. Also, the priority analysis unit 112b acquires the priority of the received processing request as an implicit priority based on the priority table 122, like the priority analysis unit 112a of the second embodiment.
  • the priority analysis unit 112b calculates the priority for the received processing request using the acquired explicit priority and implicit priority and the predefined function F(a,b). Note that a indicates explicit priority and b indicates implicit priority.
  • the priority analysis unit 112b outputs the priority calculated for the received processing request to the priority change unit 113 as an analysis result.
  • the function F(a,b) is, for example, a ratio change a ⁇ b/C (C is a constant), a weighted offset change a+(b/C), a geometric mean (a ⁇ b) 1/2 , etc. may be defined as
  • FIG. 6 is a flow chart for explaining control processing of the numerical controller 10B.
  • the processing from step S11 and from step S13 to step S15 is the same as that from step S11 and step S13 to step S15 of the first embodiment shown in FIG. 2, and the description thereof is omitted.
  • step S12b the priority analysis unit 112b, based on the combination of the explicit priority specified by the client 20 and the implicit priority based on the priority table 122, performs the processing request instruction received in step S11. Analyze priority for
  • the numerical controller 10B receives the By setting priorities for processing request commands, multi-level priorities can be realized without preparing tasks for the necessary priority levels in advance.
  • the third embodiment has been described above.
  • the numerical controllers 10, 10A, and 10B are not limited to the above-described embodiments, and can be used within the scope of achieving the objectives. Includes modifications, improvements, etc.
  • the numerical controllers 10, 10A, and 10B execute high-priority tasks prior to low-priority tasks, but the present invention is not limited to this.
  • the numerical controllers 10, 10A, and 10B can execute low-priority tasks while high-priority tasks are waiting for I/O. Unlike executing tasks in order of priority, processing performance per unit time can be improved.
  • the numerical control device 10 adds priority to the arguments of API functions executed from the client 20 so that the priority can be specified when calling the function, but the present invention is not limited to this.
  • the numerical control device 10 may be specified in communication session units, application units, client host units, login user units, or the like.
  • the numerical control device 10A does not receive priority information from the client 20A together with the processing request command in the case of implicit priority designation, but the present invention is not limited to this.
  • the numerical control device 10A may have the function of the priority designation section 202. FIG.
  • Each function included in the numerical controllers 10, 10A, and 10B according to the first, second, and third embodiments can be realized by hardware, software, or a combination thereof.
  • “implemented by software” means implemented by a computer reading and executing a program.
  • Non-transitory computer-readable media include various types of tangible storage media.
  • Examples of non-transitory computer-readable media include magnetic recording media (e.g., flexible discs, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical discs), CD-ROMs (Read Only Memory), CD- R, CD-R/W, semiconductor memory (eg, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM).
  • the program may also be supplied to the computer on various types of transitory computer readable medium. Examples of transitory computer-readable media include electrical signals, optical signals, and electromagnetic waves. Transitory computer-readable media can deliver the program to the computer via wired communication channels, such as wires and optical fibers, or wireless communication channels.
  • steps of writing a program recorded on a recording medium include not only processes that are executed chronologically in order, but also processes that are executed in parallel or individually, even if they are not necessarily processed chronologically. is also included.
  • control device and control method of the present disclosure can take various embodiments having the following configurations.
  • the numerical control device 10 of the present disclosure is a control device that executes processing of a processing request to the industrial machine from the client 20, and when receiving a processing request from the client 20, A priority analysis unit 112 that analyzes the priority and a priority change unit 113 that changes the priority of the received processing request based on the analysis result of the priority analysis unit 112 are provided. According to this numerical controller 10, multi-level priorities can be realized without preparing tasks for the necessary priority levels in advance.
  • the priority set to the processing request may be an explicit priority designated by the client 20 .
  • the numerical control device 10 explicitly designates the priority for the processing request generated by the client 20, so that the multi-level priority can be achieved without preparing tasks for the necessary priority levels in advance. degree can be achieved.
  • the priority set to the processing request may be a preset implicit priority.
  • the numerical control device 10A implicitly designates the priority for the command of the processing request received from the client 20, thereby achieving multi-level priority without preparing tasks for the necessary priority levels in advance. degree can be achieved.
  • the priority set for the processing request is either an explicit priority specified by the client 20 or a preset implicit priority. It may be a combination. By doing so, the numerical control device 10B sets the priority for the processing request command based on the combination of the explicit priority specified by the client 20 and the preset implicit priority. Therefore, multi-level priority can be realized without preparing tasks for the necessary priority levels in advance.
  • the industrial machine is the machine tool 30, and the controller is the numerical controller 10, 10A, 10B. good.
  • the effects (1) to (4) can be obtained.
  • the industrial machine may be an industrial robot, and the control device may be a robot control device.
  • the effects (1) to (4) can be obtained when the industrial machine is an industrial robot.
  • the control method of the present disclosure is a control method for executing processing of a processing request to the industrial machine from the client 20, and when receiving the processing request from the client 20, the priority set for the received processing request and change the priority for the received processing request based on the result of the priority analysis. According to this control method, the same effect as (1) can be obtained.
  • control system 10 10A, 10B numerical controller 110 control unit 111 command receiving unit 112 priority analyzing unit 113 priority changing unit 114 command receiving unit 115 result transmitting unit 120 storage unit 121 control processing data 122 priority table 20 client 201 Command generation unit 202 Priority designation unit 203 Command transmission unit 204 Result reception unit 30 Machine tool

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

事前に必要な優先レベル分のタスクを用意することなく、多レベル優先度を実現すること。 制御装置は、クライアントからの産業機械に対する処理要求の処理を実行する制御装置であって、前記クライアントから前記処理要求を受信した場合、受信した前記処理要求に設定された優先度を解析する優先度解析部と、前記優先度解析部の解析結果に基づいて受信した前記処理要求に対する優先度を変更する優先度変更部と、を備える。

Description

制御装置及び制御方法
 本発明は、制御装置及び制御方法に関する。
 通信インタフェースを通じてアプリケーションから命令を発行することができる産業機械の制御装置において、従来は、命令の優先度を指定することができないため、定期メンテナンス処理(バックアップ等)が、より重要な制御処理の邪魔をしてしまい、制御処理に影響が出ることがあった。
 この点、ネットワークを介して操作要求を受信する通信インタフェースと、受信された操作要求を解析し解析結果に応じた処理を実行するサブCPU及びメインCPUと、を有し、サブCPU及びメインCPUが、ネットワーク接続インタフェースを介する通信処理に割り当てられる通信タスクを、操作要求の受信から解析結果に応じた処理の実行までの高速応答を用途とする高速用通信タスクと、高速用通信タスク以外の通常用通信タスクとに振り分け、内部制御周期にて、工作機械の制御に割り当てられる制御タスクに対し高速用通信タスクを優先して実行する技術が提案されている。例えば、特許文献1参照。
 また、制御装置において、アプリケーションプログラムを解釈して内部コマンドを生成する処理に関連付けられる優先度をより高い方向に変更するように設定することで、当該処理に割当てられる演算時間あるはプロセッサリソースを増大させる技術が提案されている。例えば、特許文献2参照。
特開2015-215669号公報 特開2019-067046号公報
 特許文献1は、優先度として通常用通信タスクと高速用通信用タスクの2つしかなく、複数のアプリケーションの優先度を決めるには不十分であり、例えば、「制御>監視>記録>定期メンテナンス(バックアップ)」等のような自由度の高い優先レベル設計が必要である。
 しかしながら、特許文献1は、優先度が決まったタスクを振り分けるものであるため、事前に必要な優先レベル分のタスクを用意する必要があり、これが多レベル優先度の実現の足かせとなっている。
 そこで、事前に必要な優先レベル分のタスクを用意することなく、多レベル優先度の実現が望まれている。
 本開示の制御装置の一態様は、クライアントからの産業機械に対する処理要求の処理を実行する制御装置であって、前記クライアントから前記処理要求を受信した場合、受信した前記処理要求に設定された優先度を解析する優先度解析部と、前記優先度解析部の解析結果に基づいて受信した前記処理要求に対する優先度を変更する優先度変更部と、を備える。
 本開示の制御方法の一態様は、クライアントからの産業機械に対する処理要求の処理を実行する制御方法であって、前記クライアントから前記処理要求を受信した場合、受信した前記処理要求に設定された優先度を解析し、前記優先度の解析結果に基づいて受信した前記処理要求に対する優先度を変更する。
 一態様によれば、事前に必要な優先レベル分のタスクを用意することなく、多レベル優先度を実現することができる。
第1実施形態に係る制御システムの機能的構成例を示す機能ブロック図である。 数値制御装置の制御処理について説明するフローチャートである。 第2実施形態に係る制御システムの機能的構成例を示す機能ブロック図である。 数値制御装置の制御処理について説明するフローチャートである。 第3実施形態に係る制御システムの機能的構成例を示す機能ブロック図である。 数値制御装置の制御処理について説明するフローチャートである。
 第1実施形態から第3実施形態について図面を参照して詳細に説明をする。
 ここで、各実施形態は、優先度に応じてクライアントからの処理要求を実行するという構成において共通する。
 ただし、優先度の指定において、第1実施形態ではクライアントにおいて処理要求の命令を生成するときにユーザによる入力操作に基づいて優先度が明示的に指定される。これに対し、第2実施形態ではクライアントにおいて処理要求の命令を生成するときに当該処理要求に対する優先度を指定せず、制御装置において予め設定された処理要求毎の優先度に基づいて処理要求に対して暗黙的に優先度が指定される点で、第1実施形態と相違する。また、第3実施形態ではクライアントにおいて処理要求の命令を生成するときにユーザによる入力操作に基づいて指定される明示的な優先度と、制御装置において予め設定された処理要求毎の暗黙的な優先度と、の組み合わせに基づいて処理要求に対する優先度が指定される点で、第1実施形態及び第2実施形態と相違する。
 以下では、まず第1実施形態について詳細に説明し、次に第2実施形態及び第3実施形態において特に第1実施形態と相違する部分について説明を行う。
<第1実施形態>
 図1は、第1実施形態に係る制御システムの機能的構成例を示す機能ブロック図である。ここでは、産業機械として工作機械を、また制御装置として数値制御装置を例示する。なお、本発明は、工作機械及び数値制御装置に限定されず、例えば射出成形機や産業用ロボット、サービス用ロボット等の産業機械、及び産業用ロボット等を制御するロボット制御装置に対しても適用可能である。
 図1に示すように、制御システム1は、数値制御装置10、クライアント20、及び工作機械30を有する。
 数値制御装置10、クライアント20、及び工作機械30は、図示しない接続インタフェースを介して互いに直接接続されてもよい。また、数値制御装置10、クライアント20、及び工作機械30は、LAN(Local Area Network)やインターネット等の図示しないネットワークを介して相互に接続されていてもよい。この場合、数値制御装置10、クライアント20、及び工作機械30は、かかる接続によって相互に通信を行うための図示しない通信部を備えている。
<工作機械30>
 工作機械30は、当業者にとって公知の工作機械であり、制御装置としての数値制御装置10の動作指令に基づいて動作する。
<クライアント20>
 クライアント20は、例えば、表示器やタブレット等である。
 図1に示すように、クライアント20は、命令生成部201、優先度指定部202、命令送信部203、及び結果受信部204を有する。
 なお、クライアント20は、図1の機能ブロックの動作を実現するために、CPU(Central Processing Unit)等の図示しない演算処理装置を備える。また、クライアント20は、各種の制御用プログラムを格納したROMやHDD等の図示しない補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった図示しない主記憶装置を備える。
 そして、クライアント20において、演算処理装置が補助記憶装置からOSやアプリケーションソフトウェアを読み込み、読み込んだOSやアプリケーションソフトウェアを主記憶装置に展開させながら、これらのOSやアプリケーションソフトウェアに基づいた演算処理を行う。この演算結果に基づいて、クライアント20が各ハードウェアを制御する。これにより、図1の機能ブロックによる処理は実現される。すなわち、クライアント20は、ハードウェアとソフトウェアが協働することにより実現することができる。
 命令生成部201は、例えば、クライアント20に含まれるキーボードやタッチパネル等の入力装置(図示しない)を介して、ユーザからの処理要求等の入力を受け付け、受け付けた処理要求の命令を生成する。
 優先度指定部202は、例えば、ユーザによるクライアント20の入力装置(図示しない)の入力操作に基づいて、命令生成部201により生成された処理要求に対する優先度の指定を受け付け、クライアント20から実行するAPI(Application Programming Interface)関数の引数に優先度を追加する。
 これにより、API関数の呼び出し時に優先度を明示することができる。すなわち、後述する数値制御装置10は、クライアント20から処理要求を受信した場合、当該API関数の呼び出すことにより、受信した処理要求に対する優先度が明示的に分かる。
 なお、優先度の指定方法は、関数単位に限らず、通信セッション単位、アプリケーション単位、クライアントホスト単位、ログインユーザ単位等で指定するようにしてもよい。例えば、特定の要素に対して、優先度を指定する、change_priority_by_application( application_id, new_priority)のような関数が用意されてもよい。ただし、セッション単位だけに関しては、オープンセッション時にセッション開始関数の引数を追加するようにしてもよい。
 命令送信部203は、命令生成部201により生成された処理要求を後述する数値制御装置10に送信する。
 結果受信部204は、命令送信部203により送信された処理要求に対する処理結果を後述する数値制御装置10より受信する。結果受信部204は、例えば、クライアント20に含まれる液晶ディスプレイ等の表示部(図示しない)に、受信した処理結果を表示するようにしてもよい。
<数値制御装置10>
 数値制御装置10は、当業者にとって公知の数値制御装置であり、クライアント20からの処理要求や、CAD/CAM装置等の外部装置(図示しない)から取得した加工プログラムに基づいて動作指令を生成し、生成した動作指令を工作機械30に送信する。これにより、数値制御装置10は、工作機械30の動作を制御する。なお、工作機械30がロボット等の場合、数値制御装置10は、ロボット制御装置等でもよい。
 図1に示すように、数値制御装置10は、制御部110、及び記憶部120を有する。さらに、制御部110は、命令受信部111、優先度解析部112、優先度変更部113、命令実行部114、及び結果送信部115を有する。
<記憶部120>
 記憶部120は、RAMやHDD(Hard Disk Drive)等である。記憶部120は、制御処理データ121を記憶する。
 制御処理データ121は、例えば、CAD/CAM装置等の外部装置(図示しない)により生成された加工プログラムや、工具補正量及びワーク座標等の設定値が格納される。
<制御部110>
 制御部110は、CPU、ROM(Read Only Memory)、RAM、CMOS(Complementary Metal-Oxide-Semiconductor)メモリ等を有し、これらはバスを介して相互に通信可能に構成される、当業者にとって公知のものである。
 CPUは数値制御装置10を全体的に制御するプロセッサである。CPUは、ROMに格納されたシステムプログラム及びアプリケーションプログラムを、バスを介して読み出し、前記システムプログラム及びアプリケーションプログラムに従って数値制御装置10全体を制御する。これにより、図1に示すように、制御部110が、命令受信部111、優先度解析部112、優先度変更部113、命令実行部114、及び結果送信部115の機能を実現するように構成される。RAMには一時的な計算データや表示データ等の各種データが格納される。また、CMOSメモリは図示しないバッテリでバックアップされ、数値制御装置10の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。
 命令受信部111は、例えば、Webサーバ(図示しない)であり、クライアント20との間で通信を行う。命令受信部111は、数値制御装置10に対する処理要求をクライアント20から受信した場合、後述する優先度解析部112及び命令実行部114に出力する。
 優先度解析部112は、クライアント20から処理要求を受信した場合、受信した処理要求に設定された優先度を解析する。
 具体的には、優先度解析部112は、例えば、クライアント20が受信した処理要求を生成したときに実行されたAPI関数を呼び出し、API関数の引数に設定されている当該処理命令の優先度を取得する。優先度解析部112は、取得した優先度を解析結果として優先度変更部113に出力する。
 優先度変更部113は、優先度解析部112の解析結果に基づいて受信した処理要求に対する優先度を変更する。優先度変更部113は、変更した処理要求の優先度を、後述する命令実行部114に設定する。
 命令実行部114は、優先度変更部113により変更された優先度に基づいて、命令受信部111を介して受信した処理要求のタスクを実行する。
 具体的には、命令実行部114は、制御処理データ121や工作機械30等とデータを交換しつつ、変更された優先度に基づいて受信した処理要求のタスクを実行する。
 そうすることで、数値制御装置10は、事前に必要な優先レベル分のタスクを用意することなく、多レベル優先度を実現することができる。
 結果送信部115は、例えば、Webサーバ(図示しない)であり、命令実行部114で実行された処理要求の実行結果をクライアント20に送信する。
<数値制御装置10の制御処理>
 次に、本実施形態に係る数値制御装置10の制御処理に係る動作について説明する。
 図2は、数値制御装置10の制御処理について説明するフローチャートである。
 ステップS11において、命令受信部111は、数値制御装置10に対する処理要求の命令をクライアント20から受信する。命令受信部111は、受信した処理要求の命令を優先度解析部112及び命令実行部114に出力する。
 ステップS12において、優先度解析部112は、ステップS11で受信した処理要求を生成したときにクライアント20で実行されたAPI関数を呼び出すことで、ステップS11で受信した処理要求に設定された優先度を解析する。
 ステップS13において、優先度変更部113は、ステップS12の解析結果に基づいてステップS11で受信した処理要求に対する優先度を変更する。
 ステップS14において、命令実行部114は、ステップS13で変更された優先度に基づいて、ステップS11で受信した処理要求のタスクを実行する。
 ステップS15において、結果送信部115は、ステップS14で実行された処理要求の実行結果をクライアント20に送信する。
 以上により、第1実施形態に係る数値制御装置10は、クライアント20が生成した処理要求に対して優先度を明示的に指定することにより、事前に必要な優先レベル分のタスクを用意することなく、多レベル優先度を実現することができる。すなわち、通信インタフェースを通じてアプリケーションから命令を発行することができる数値制御装置10において、従来とは異なり、命令の優先度を指定することができるようになるため、優先度の高いタスクが優先度の低いタスクに優先して実行できるようになる。
 以上、第1実施形態について説明した。
<第2実施形態>
 次に、第2実施形態について説明する。上述したように、優先度の指定において、第1実施形態ではクライアント20において処理要求の命令を生成するときにユーザによる入力操作に基づいて優先度が明示的に指定される。これに対し、第2実施形態ではクライアント20Aにおいて処理要求の命令を生成するときに当該処理要求に対する優先度を指定せず、数値制御装置10Aにおいて予め設定された処理要求毎の優先度に基づいて処理要求に対して暗黙的に優先度が指定される点で、第1実施形態と相違する。
 これにより、数値制御装置10Aは、事前に必要な優先レベル分のタスクを用意することなく、多レベル優先度を実現することができる。
 以下、第2実施形態について説明する。
 図3は、第2実施形態に係る制御システムの機能的構成例を示す機能ブロック図である。なお、図1の制御システム1の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
 図3に示すように、制御システム1は、数値制御装置10A、クライアント20A、及び工作機械30を有する。
<クライアント20A>
 第2実施形態に係るクライアント20Aは、第1実施形態におけるクライアント20と同等の構成を有する。
 すなわち、図3に示すように、クライアント20Aは、命令生成部201、命令送信部203、及び結果受信部204を有する。
 命令生成部201、命令送信部203、及び結果受信部204は、第1実施形態における命令生成部201、命令送信部203、及び結果受信部204と同等の機能を有する。すなわち、クライアント20Aは、生成した処理要求に対する優先度を指定することなく、処理要求を後述する数値制御装置10Aに送信する。
<数値制御装置10A>
 第2実施形態に係る数値制御装置10Aは、第1実施形態における数値制御装置10と同等の構成を有する。
 すなわち、図3に示すように、数値制御装置10Aは、制御部110a、及び記憶部120aを有する。さらに、制御部110aは、命令受信部111、優先度解析部112a、優先度変更部113、命令実行部114、及び結果送信部115を有する。また、記憶部120aは、制御処理データ121、及び優先度テーブル122を記憶する。
 命令受信部111、優先度変更部113、命令実行部114、及び結果送信部115は、第1実施形態における命令受信部111、優先度変更部113、命令実行部114、及び結果送信部115と同等の機能を有する。
 また、制御処理データ121は、第1実施形態における制御処理データ121と同等のデータである。
 優先度テーブル122は、命令実行部114がクライアント20Aから受信する処理要求を実行する優先度が、処理要求毎に暗黙的に予め設定されたデータである。
 なお、優先度テーブル122は、通信セッション単位、アプリケーション単位、クライアントホスト単位、ログインユーザ単位等に応じて設定されてもよい。
 例えば、優先度テーブル122は、アプリケーション単位の場合、アプリケーション識別子(ID又は名称)に基づいて、優先度の高い(低い)アプリケーションセットを決めるようにしてもよい。また、優先度テーブル122は、クライアントホスト単位の場合には、別途登録された役割(表示器、SCADA(Supervisory Control And Data Acquisition)等)に基づいて、優先度の高い(低い)クライアントセットを決めるようにしてもよい。また、優先度テーブル122は、ユーザ単位の場合には、ユーザIDやグループIDに基づいて優先度の高い(低い)ユーザセットを決めるようにしてもよい。
 優先度解析部112aは、例えば、クライアント20Aから処理要求を受信した場合、優先度テーブル122に基づいて、受信した処理要求に対する優先度を解析する。優先度解析部112aは、取得した優先度を解析結果として優先度変更部113に出力する。
<数値制御装置10Aの制御処理>
 次に、第2実施形態に係る数値制御装置10Aの制御処理に係る動作について説明する。
 図4は、数値制御装置10Aの制御処理について説明するフローチャートである。
 なお、ステップS11、ステップS13からステップS15の処理は、図2の第1実施形態のステップS11、ステップS13からステップS15と同様であり、説明は省略する。
 ステップS12aにおいて、優先度解析部112aは、優先度テーブル122に基づいて、ステップS11でクライアント20Aから受信した処理要求に対する優先度を解析する。
 以上により、第2実施形態に係る数値制御装置10Aは、優先度テーブル122に基づいて、クライアント20Aから受信した処理要求の命令に対する優先度を暗黙的に指定することにより、事前に必要な優先レベル分のタスクを用意することなく、多レベル優先度を実現することができる。
 以上、第2実施形態について説明した。
<第3実施形態>
 次に、第3実施形態について説明する。上述したように、優先度の指定において、第3実施形態ではクライアント20において処理要求の命令を生成するときにユーザによる入力操作に基づいて指定される明示的な優先度と、数値制御装置10Bにおいて予め設定された処理要求毎の暗黙的な優先度と、の組み合わせに基づいて処理要求に対する優先度が指定される点で、第1実施形態及び第2実施形態と相違する。
 これにより、数値制御装置10Bは、事前に必要な優先レベル分のタスクを用意することなく、多レベル優先度を実現することができる。
 以下、第3実施形態について説明する。
 図5は、第3実施形態に係る制御システムの機能的構成例を示す機能ブロック図である。なお、図1及び図3の制御システム1の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
 図5に示すように、制御システム1は、数値制御装置10B、クライアント20、及び工作機械30を有する。
 なお、クライアント20及び工作機械30は、第1実施形態におけるクライアント20及び工作機械30と同等の構成を有する。
<数値制御装置10B>
 第3実施形態に係る数値制御装置10Bは、第1実施形態における数値制御装置10と同等の構成を有する。
 すなわち、図5に示すように、数値制御装置10Bは、制御部110b、及び記憶部120aを有する。さらに、制御部110bは、命令受信部111、優先度解析部112b、優先度変更部113、命令実行部114、及び結果送信部115を有する。また、記憶部120aは、制御処理データ121、及び優先度テーブル122を記憶する。
 命令受信部111、優先度変更部113、命令実行部114、及び結果送信部115は、第1実施形態における命令受信部111、優先度変更部113、命令実行部114、及び結果送信部115と同等の機能を有する。
 また、制御処理データ121及び優先度テーブル122は、第2実施形態における制御処理データ121及び優先度テーブル122と同等のデータである。
 優先度解析部112bは、クライアント20から処理要求を受信した場合、クライアント20により指定された明示的優先度と、優先度テーブル122に基づく暗黙的優先度と、の組み合わせに基づいて、受信した処理要求に対する優先度を解析する。
 具体的には、優先度解析部112bは、例えば、第1実施形態の優先度解析部112と同様に、クライアント20から処理要求を受信した場合、受信した処理要求を生成したときに実行されたAPI関数を呼び出すことで、API関数の引数に設定されている当該処理命令の優先度を明示的優先度として取得する。また、優先度解析部112bは、第2実施形態の優先度解析部112aと同様に、優先度テーブル122に基づいて、受信した処理要求に対する優先度を暗黙的優先度として取得する。優先度解析部112bは、取得した明示的優先度及び暗黙的優先度と、予め定義した関数F(a、b)と、を用いて、受信した処理要求に対する優先度を算出する。なお、aは明示的優先度を示し、bは暗黙的優先度を示す。優先度解析部112bは、受信した処理要求に対して算出した優先度を解析結果として優先度変更部113に出力する。
 なお、関数F(a、b)は、例えば、割合変更a×b/C(Cは定数)、重みつきオフセット変更a+(b/C)、相乗平均(a×b)1/2等のように定義されてもよい。
<数値制御装置10Bの制御処理>
 次に、第3実施形態に係る数値制御装置10Bの制御処理に係る動作について説明する。
 図6は、数値制御装置10Bの制御処理について説明するフローチャートである。
 なお、ステップS11、ステップS13からステップS15の処理は、図2の第1実施形態のステップS11、ステップS13からステップS15と同様であり、説明は省略する。
 ステップS12bにおいて、優先度解析部112bは、クライアント20により指定された明示的優先度と、優先度テーブル122に基づく暗黙的優先度と、の組み合わせに基づいて、ステップS11で受信した処理要求の命令に対する優先度を解析する。
 以上により、第3実施形態に係る数値制御装置10Bは、クライアント20により指定された明示的優先度と、優先度テーブル122に基づく暗黙的優先度と、の組み合わせに基づいて、クライアント20から受信した処理要求の命令に対する優先度を設定することにより、事前に必要な優先レベル分のタスクを用意することなく、多レベル優先度を実現することができる。
 以上、第3実施形態について説明した。
 以上、第1実施形態、第2実施形態、及び第3実施形態について説明したが、数値制御装置10、10A、10Bは、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
<変形例1>
 第1実施形態、第2実施形態、及び第3実施形態では、数値制御装置10、10A、10Bは、優先度の高いタスクが優先度の低いタスクに優先して実行したが、これに限定されない。例えば、数値制御装置10、10A、10Bは、マルチタスクシステムの場合、優先度が高いタスクのI/O待ち等の間に低優先度タスクも実行できるため、多レベルの優先度は、単純にタスクを優先度順に実行するのとは異なり、単位時間当たりの処理性能を向上させることができる。
<変形例2>
 また例えば、第1実施形態では、数値制御装置10は、クライアント20から実行するAPI関数の引数に優先度を追加し、関数呼び出し時に優先度を明示できるようにしたが、これに限定されない。例えば、数値制御装置10は、通信セッション単位、アプリケーション単位、クライアントホスト単位、ログインユーザ単位等で指定するようにしてもよい。
<変形例3>
 また例えば、第2実施形態では、数値制御装置10Aは、暗黙的な優先度指定の場合、クライアント20Aから処理要求の命令とともに優先度の情報が送られなかったが、これに限定されない。例えば、数値制御装置10Aは、優先度指定部202の機能を有してもよい。
 なお、第1実施形態、第2実施形態、及び第3実施形態に係る数値制御装置10、10A、10Bに含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
 プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(Tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
 なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 以上を換言すると、本開示の制御装置及び制御方法は、次のような構成を有する各種各様の実施形態を取ることができる。
 (1)本開示の数値制御装置10は、クライアント20からの産業機械に対する処理要求の処理を実行する制御装置であって、クライアント20から処理要求を受信した場合、受信した処理要求に設定された優先度を解析する優先度解析部112と、優先度解析部112の解析結果に基づいて受信した処理要求に対する優先度を変更する優先度変更部113と、を備える。
 この数値制御装置10によれば、事前に必要な優先レベル分のタスクを用意することなく、多レベル優先度を実現することができる。
 (2) (1)に記載の数値制御装置10において、処理要求に設定される優先度は、クライアント20により指定された明示的な優先度であってもよい。
 そうすることで、数値制御装置10は、クライアント20が生成した処理要求に対して優先度を明示的に指定することにより、事前に必要な優先レベル分のタスクを用意することなく、多レベル優先度を実現することができる。
 (3) (1)に記載の数値制御装置10Aにおいて、処理要求に設定される優先度は、予め設定された暗黙的な優先度であってもよい。
 そうすることで、数値制御装置10Aは、クライアント20から受信した処理要求の命令に対する優先度を暗黙的に指定することにより、事前に必要な優先レベル分のタスクを用意することなく、多レベル優先度を実現することができる。
 (4) (1)に記載の数値制御装置10Bにおいて、処理要求に設定される優先度は、クライアント20により指定された明示的な優先度と、予め設定された暗黙的な優先度と、の組み合わせであってもよい。
 そうすることで、数値制御装置10Bは、クライアント20により指定された明示的優先度と、予め設定された暗黙的優先度と、の組み合わせに基づいて、処理要求の命令に対する優先度を設定することにより、事前に必要な優先レベル分のタスクを用意することなく、多レベル優先度を実現することができる。
 (5) (1)から(4)のいずれかに記載の数値制御装置10、10A、10Bにおいて、産業機械は工作機械30であり、制御装置は数値制御装置10、10A、10Bであってもよい。
 そうすることで、産業機械が工作機械30の場合に、(1)から(4)の効果を奏することができる。
 (6) (1)から(4)のいずれかに記載の制御装置において、産業機械は産業用ロボットであり、制御装置はロボット制御装置であってもよい。
 そうすることで、産業機械が産業用ロボットの場合に、(1)から(4)の効果を奏することができる。
 (7)本開示の制御方法は、クライアント20からの産業機械に対する処理要求の処理を実行する制御方法であって、クライアント20から処理要求を受信した場合、受信した処理要求に設定された優先度を解析し、優先度の解析結果に基づいて受信した処理要求に対する優先度を変更する。
 この制御方法によれば、(1)と同様の効果を奏することができる。
 1 制御システム
 10、10A、10B 数値制御装置
 110 制御部
 111 命令受信部
 112 優先度解析部
 113 優先度変更部
 114 命令受信部
 115 結果送信部
 120 記憶部
 121 制御処理データ
 122 優先度テーブル
 20 クライアント
 201 命令生成部
 202 優先度指定部
 203 命令送信部
 204 結果受信部
 30 工作機械

Claims (7)

  1.  クライアントからの産業機械に対する処理要求の処理を実行する制御装置であって、
     前記クライアントから前記処理要求を受信した場合、受信した前記処理要求に設定された優先度を解析する優先度解析部と、
     前記優先度解析部の解析結果に基づいて受信した前記処理要求に対する優先度を変更する優先度変更部と、
     を備える制御装置。
  2.  前記処理要求に設定される優先度は、前記クライアントにより指定された明示的な優先度である、請求項1に記載の制御装置。
  3.  前記処理要求に設定される優先度は、予め設定された暗黙的な優先度である、請求項1に記載の制御装置。
  4.  前記処理要求に設定される優先度は、前記クライアントにより指定された明示的な優先度と、予め設定された暗黙的な優先度と、の組み合わせである、請求項1に記載の制御装置。
  5.  前記産業機械は工作機械であり、前記制御装置は数値制御装置である、請求項1から請求項4のいずれか1項に記載の制御装置。
  6.  前記産業機械は産業用ロボットであり、前記制御装置はロボット制御装置である、請求項1から請求項4のいずれか1項に記載の制御装置。
  7.  クライアントからの産業機械に対する処理要求の処理を実行する制御方法であって、
     前記クライアントから前記処理要求を受信した場合、受信した前記処理要求に設定された優先度を解析し、
     前記優先度の解析結果に基づいて受信した前記処理要求に対する優先度を変更する、
     制御方法。
PCT/JP2021/023258 2021-06-18 2021-06-18 制御装置及び制御方法 WO2022264424A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/JP2021/023258 WO2022264424A1 (ja) 2021-06-18 2021-06-18 制御装置及び制御方法
DE112021007562.4T DE112021007562T5 (de) 2021-06-18 2021-06-18 Steuervorrichtung und Steuerverfahren
CN202180099248.6A CN117480457A (zh) 2021-06-18 2021-06-18 控制装置以及控制方法
JP2023528933A JPWO2022264424A1 (ja) 2021-06-18 2021-06-18

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/023258 WO2022264424A1 (ja) 2021-06-18 2021-06-18 制御装置及び制御方法

Publications (1)

Publication Number Publication Date
WO2022264424A1 true WO2022264424A1 (ja) 2022-12-22

Family

ID=84526005

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/023258 WO2022264424A1 (ja) 2021-06-18 2021-06-18 制御装置及び制御方法

Country Status (4)

Country Link
JP (1) JPWO2022264424A1 (ja)
CN (1) CN117480457A (ja)
DE (1) DE112021007562T5 (ja)
WO (1) WO2022264424A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001333103A (ja) * 2000-05-24 2001-11-30 Nec Telecom Syst Ltd Ipパケットの優先制御方式
JP2015215669A (ja) * 2014-05-08 2015-12-03 三菱電機株式会社 数値制御装置および制御システム
JP2019061467A (ja) * 2017-09-26 2019-04-18 オムロン株式会社 サポート装置およびサポートプログラム
JP2019067046A (ja) * 2017-09-29 2019-04-25 オムロン株式会社 制御システムおよび制御装置
WO2019097800A1 (ja) * 2017-11-16 2019-05-23 株式会社日立産機システム コントロール装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001333103A (ja) * 2000-05-24 2001-11-30 Nec Telecom Syst Ltd Ipパケットの優先制御方式
JP2015215669A (ja) * 2014-05-08 2015-12-03 三菱電機株式会社 数値制御装置および制御システム
JP2019061467A (ja) * 2017-09-26 2019-04-18 オムロン株式会社 サポート装置およびサポートプログラム
JP2019067046A (ja) * 2017-09-29 2019-04-25 オムロン株式会社 制御システムおよび制御装置
WO2019097800A1 (ja) * 2017-11-16 2019-05-23 株式会社日立産機システム コントロール装置

Also Published As

Publication number Publication date
CN117480457A (zh) 2024-01-30
DE112021007562T5 (de) 2024-03-28
JPWO2022264424A1 (ja) 2022-12-22

Similar Documents

Publication Publication Date Title
US7472184B2 (en) Framework for restricting resources consumed by ghost agents
CN109478147B (zh) 分布式计算系统中的自适应资源管理
Farokhi et al. Self-adaptation challenges for cloud-based applications: A control theoretic perspective
WO2015136960A1 (ja) コントローラ
US20130054887A1 (en) Dynamic record management for systems utilizing virtual storage access method (vsam)
US10877803B2 (en) Control apparatus, control method and non-transitory storage medium
KR20170048164A (ko) 로봇 제어 시스템 및 방법
WO2012056537A1 (ja) プログラマブルコントローラ
WO2022264424A1 (ja) 制御装置及び制御方法
KR20130051076A (ko) 응용프로그램 스케줄링 방법 및 장치
CN113961353A (zh) 一种ai任务的任务处理方法和分布式系统
JP2007221364A (ja) コントローラ、制御システム及び制御装置の拡張方法
JP2008204243A (ja) ジョブ実行制御方法およびシステム
EP3920030A1 (en) Data processing
JP6833116B1 (ja) データ処理装置、データ処理方法およびプログラム
WO2018192177A1 (zh) 基于ros和orocos的机器人控制方法和系统
US11474588B2 (en) Method and apparatus for controlling power efficiency of processor based on polling I/O
WO2010064394A1 (ja) データ処理システム、そのコンピュータプログラムおよびデータ処理方法
WO2023037414A1 (ja) 制御装置
WO2022190424A1 (ja) 情報処理装置およびプログラム
WO2022190425A1 (ja) 制御装置および制御方法
WO2022162787A1 (ja) 数値制御システム、タスク割り当て変更装置及び数値制御方法
US20230062604A1 (en) Application execution environment selection based on resource usage profiles
KR20160035446A (ko) 공장 자동화 시스템의 제어방법
JP2021189461A (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: 21946098

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18289637

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2023528933

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 202180099248.6

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 112021007562

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21946098

Country of ref document: EP

Kind code of ref document: A1