WO2022264424A1 - 制御装置及び制御方法 - Google Patents
制御装置及び制御方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 143
- 230000008859 change Effects 0.000 abstract description 14
- 230000008569 process Effects 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 21
- 238000004891 communication Methods 0.000 description 17
- 230000005540 biological transmission Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001746 injection moulding Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/4155—Numerical 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35391—Sort, 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参照。
しかしながら、特許文献1は、優先度が決まったタスクを振り分けるものであるため、事前に必要な優先レベル分のタスクを用意する必要があり、これが多レベル優先度の実現の足かせとなっている。
ここで、各実施形態は、優先度に応じてクライアントからの処理要求を実行するという構成において共通する。
ただし、優先度の指定において、第1実施形態ではクライアントにおいて処理要求の命令を生成するときにユーザによる入力操作に基づいて優先度が明示的に指定される。これに対し、第2実施形態ではクライアントにおいて処理要求の命令を生成するときに当該処理要求に対する優先度を指定せず、制御装置において予め設定された処理要求毎の優先度に基づいて処理要求に対して暗黙的に優先度が指定される点で、第1実施形態と相違する。また、第3実施形態ではクライアントにおいて処理要求の命令を生成するときにユーザによる入力操作に基づいて指定される明示的な優先度と、制御装置において予め設定された処理要求毎の暗黙的な優先度と、の組み合わせに基づいて処理要求に対する優先度が指定される点で、第1実施形態及び第2実施形態と相違する。
以下では、まず第1実施形態について詳細に説明し、次に第2実施形態及び第3実施形態において特に第1実施形態と相違する部分について説明を行う。
図1は、第1実施形態に係る制御システムの機能的構成例を示す機能ブロック図である。ここでは、産業機械として工作機械を、また制御装置として数値制御装置を例示する。なお、本発明は、工作機械及び数値制御装置に限定されず、例えば射出成形機や産業用ロボット、サービス用ロボット等の産業機械、及び産業用ロボット等を制御するロボット制御装置に対しても適用可能である。
図1に示すように、制御システム1は、数値制御装置10、クライアント20、及び工作機械30を有する。
工作機械30は、当業者にとって公知の工作機械であり、制御装置としての数値制御装置10の動作指令に基づいて動作する。
クライアント20は、例えば、表示器やタブレット等である。
図1に示すように、クライアント20は、命令生成部201、優先度指定部202、命令送信部203、及び結果受信部204を有する。
なお、クライアント20は、図1の機能ブロックの動作を実現するために、CPU(Central Processing Unit)等の図示しない演算処理装置を備える。また、クライアント20は、各種の制御用プログラムを格納したROMやHDD等の図示しない補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった図示しない主記憶装置を備える。
これにより、API関数の呼び出し時に優先度を明示することができる。すなわち、後述する数値制御装置10は、クライアント20から処理要求を受信した場合、当該API関数の呼び出すことにより、受信した処理要求に対する優先度が明示的に分かる。
なお、優先度の指定方法は、関数単位に限らず、通信セッション単位、アプリケーション単位、クライアントホスト単位、ログインユーザ単位等で指定するようにしてもよい。例えば、特定の要素に対して、優先度を指定する、change_priority_by_application( application_id, new_priority)のような関数が用意されてもよい。ただし、セッション単位だけに関しては、オープンセッション時にセッション開始関数の引数を追加するようにしてもよい。
数値制御装置10は、当業者にとって公知の数値制御装置であり、クライアント20からの処理要求や、CAD/CAM装置等の外部装置(図示しない)から取得した加工プログラムに基づいて動作指令を生成し、生成した動作指令を工作機械30に送信する。これにより、数値制御装置10は、工作機械30の動作を制御する。なお、工作機械30がロボット等の場合、数値制御装置10は、ロボット制御装置等でもよい。
記憶部120は、RAMやHDD(Hard Disk Drive)等である。記憶部120は、制御処理データ121を記憶する。
制御処理データ121は、例えば、CAD/CAM装置等の外部装置(図示しない)により生成された加工プログラムや、工具補正量及びワーク座標等の設定値が格納される。
制御部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の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。
具体的には、優先度解析部112は、例えば、クライアント20が受信した処理要求を生成したときに実行されたAPI関数を呼び出し、API関数の引数に設定されている当該処理命令の優先度を取得する。優先度解析部112は、取得した優先度を解析結果として優先度変更部113に出力する。
具体的には、命令実行部114は、制御処理データ121や工作機械30等とデータを交換しつつ、変更された優先度に基づいて受信した処理要求のタスクを実行する。
そうすることで、数値制御装置10は、事前に必要な優先レベル分のタスクを用意することなく、多レベル優先度を実現することができる。
次に、本実施形態に係る数値制御装置10の制御処理に係る動作について説明する。
図2は、数値制御装置10の制御処理について説明するフローチャートである。
以上、第1実施形態について説明した。
次に、第2実施形態について説明する。上述したように、優先度の指定において、第1実施形態ではクライアント20において処理要求の命令を生成するときにユーザによる入力操作に基づいて優先度が明示的に指定される。これに対し、第2実施形態ではクライアント20Aにおいて処理要求の命令を生成するときに当該処理要求に対する優先度を指定せず、数値制御装置10Aにおいて予め設定された処理要求毎の優先度に基づいて処理要求に対して暗黙的に優先度が指定される点で、第1実施形態と相違する。
これにより、数値制御装置10Aは、事前に必要な優先レベル分のタスクを用意することなく、多レベル優先度を実現することができる。
以下、第2実施形態について説明する。
図3に示すように、制御システム1は、数値制御装置10A、クライアント20A、及び工作機械30を有する。
第2実施形態に係るクライアント20Aは、第1実施形態におけるクライアント20と同等の構成を有する。
すなわち、図3に示すように、クライアント20Aは、命令生成部201、命令送信部203、及び結果受信部204を有する。
命令生成部201、命令送信部203、及び結果受信部204は、第1実施形態における命令生成部201、命令送信部203、及び結果受信部204と同等の機能を有する。すなわち、クライアント20Aは、生成した処理要求に対する優先度を指定することなく、処理要求を後述する数値制御装置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は、通信セッション単位、アプリケーション単位、クライアントホスト単位、ログインユーザ単位等に応じて設定されてもよい。
例えば、優先度テーブル122は、アプリケーション単位の場合、アプリケーション識別子(ID又は名称)に基づいて、優先度の高い(低い)アプリケーションセットを決めるようにしてもよい。また、優先度テーブル122は、クライアントホスト単位の場合には、別途登録された役割(表示器、SCADA(Supervisory Control And Data Acquisition)等)に基づいて、優先度の高い(低い)クライアントセットを決めるようにしてもよい。また、優先度テーブル122は、ユーザ単位の場合には、ユーザIDやグループIDに基づいて優先度の高い(低い)ユーザセットを決めるようにしてもよい。
次に、第2実施形態に係る数値制御装置10Aの制御処理に係る動作について説明する。
図4は、数値制御装置10Aの制御処理について説明するフローチャートである。
なお、ステップS11、ステップS13からステップS15の処理は、図2の第1実施形態のステップS11、ステップS13からステップS15と同様であり、説明は省略する。
以上、第2実施形態について説明した。
次に、第3実施形態について説明する。上述したように、優先度の指定において、第3実施形態ではクライアント20において処理要求の命令を生成するときにユーザによる入力操作に基づいて指定される明示的な優先度と、数値制御装置10Bにおいて予め設定された処理要求毎の暗黙的な優先度と、の組み合わせに基づいて処理要求に対する優先度が指定される点で、第1実施形態及び第2実施形態と相違する。
これにより、数値制御装置10Bは、事前に必要な優先レベル分のタスクを用意することなく、多レベル優先度を実現することができる。
以下、第3実施形態について説明する。
図5に示すように、制御システム1は、数値制御装置10B、クライアント20、及び工作機械30を有する。
なお、クライアント20及び工作機械30は、第1実施形態におけるクライアント20及び工作機械30と同等の構成を有する。
第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は、例えば、第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等のように定義されてもよい。
次に、第3実施形態に係る数値制御装置10Bの制御処理に係る動作について説明する。
図6は、数値制御装置10Bの制御処理について説明するフローチャートである。
なお、ステップS11、ステップS13からステップS15の処理は、図2の第1実施形態のステップS11、ステップS13からステップS15と同様であり、説明は省略する。
以上、第3実施形態について説明した。
第1実施形態、第2実施形態、及び第3実施形態では、数値制御装置10、10A、10Bは、優先度の高いタスクが優先度の低いタスクに優先して実行したが、これに限定されない。例えば、数値制御装置10、10A、10Bは、マルチタスクシステムの場合、優先度が高いタスクのI/O待ち等の間に低優先度タスクも実行できるため、多レベルの優先度は、単純にタスクを優先度順に実行するのとは異なり、単位時間当たりの処理性能を向上させることができる。
また例えば、第1実施形態では、数値制御装置10は、クライアント20から実行するAPI関数の引数に優先度を追加し、関数呼び出し時に優先度を明示できるようにしたが、これに限定されない。例えば、数値制御装置10は、通信セッション単位、アプリケーション単位、クライアントホスト単位、ログインユーザ単位等で指定するようにしてもよい。
また例えば、第2実施形態では、数値制御装置10Aは、暗黙的な優先度指定の場合、クライアント20Aから処理要求の命令とともに優先度の情報が送られなかったが、これに限定されない。例えば、数値制御装置10Aは、優先度指定部202の機能を有してもよい。
この数値制御装置10によれば、事前に必要な優先レベル分のタスクを用意することなく、多レベル優先度を実現することができる。
そうすることで、数値制御装置10は、クライアント20が生成した処理要求に対して優先度を明示的に指定することにより、事前に必要な優先レベル分のタスクを用意することなく、多レベル優先度を実現することができる。
そうすることで、数値制御装置10Aは、クライアント20から受信した処理要求の命令に対する優先度を暗黙的に指定することにより、事前に必要な優先レベル分のタスクを用意することなく、多レベル優先度を実現することができる。
そうすることで、数値制御装置10Bは、クライアント20により指定された明示的優先度と、予め設定された暗黙的優先度と、の組み合わせに基づいて、処理要求の命令に対する優先度を設定することにより、事前に必要な優先レベル分のタスクを用意することなく、多レベル優先度を実現することができる。
そうすることで、産業機械が工作機械30の場合に、(1)から(4)の効果を奏することができる。
そうすることで、産業機械が産業用ロボットの場合に、(1)から(4)の効果を奏することができる。
この制御方法によれば、(1)と同様の効果を奏することができる。
10、10A、10B 数値制御装置
110 制御部
111 命令受信部
112 優先度解析部
113 優先度変更部
114 命令受信部
115 結果送信部
120 記憶部
121 制御処理データ
122 優先度テーブル
20 クライアント
201 命令生成部
202 優先度指定部
203 命令送信部
204 結果受信部
30 工作機械
Claims (7)
- クライアントからの産業機械に対する処理要求の処理を実行する制御装置であって、
前記クライアントから前記処理要求を受信した場合、受信した前記処理要求に設定された優先度を解析する優先度解析部と、
前記優先度解析部の解析結果に基づいて受信した前記処理要求に対する優先度を変更する優先度変更部と、
を備える制御装置。 - 前記処理要求に設定される優先度は、前記クライアントにより指定された明示的な優先度である、請求項1に記載の制御装置。
- 前記処理要求に設定される優先度は、予め設定された暗黙的な優先度である、請求項1に記載の制御装置。
- 前記処理要求に設定される優先度は、前記クライアントにより指定された明示的な優先度と、予め設定された暗黙的な優先度と、の組み合わせである、請求項1に記載の制御装置。
- 前記産業機械は工作機械であり、前記制御装置は数値制御装置である、請求項1から請求項4のいずれか1項に記載の制御装置。
- 前記産業機械は産業用ロボットであり、前記制御装置はロボット制御装置である、請求項1から請求項4のいずれか1項に記載の制御装置。
- クライアントからの産業機械に対する処理要求の処理を実行する制御方法であって、
前記クライアントから前記処理要求を受信した場合、受信した前記処理要求に設定された優先度を解析し、
前記優先度の解析結果に基づいて受信した前記処理要求に対する優先度を変更する、
制御方法。
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)
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 | 株式会社日立産機システム | コントロール装置 |
-
2021
- 2021-06-18 WO PCT/JP2021/023258 patent/WO2022264424A1/ja active Application Filing
- 2021-06-18 JP JP2023528933A patent/JPWO2022264424A1/ja active Pending
- 2021-06-18 DE DE112021007562.4T patent/DE112021007562T5/de active Pending
- 2021-06-18 CN CN202180099248.6A patent/CN117480457A/zh active Pending
Patent Citations (5)
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 |