WO2021172334A1 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
WO2021172334A1
WO2021172334A1 PCT/JP2021/006798 JP2021006798W WO2021172334A1 WO 2021172334 A1 WO2021172334 A1 WO 2021172334A1 JP 2021006798 W JP2021006798 W JP 2021006798W WO 2021172334 A1 WO2021172334 A1 WO 2021172334A1
Authority
WO
WIPO (PCT)
Prior art keywords
command
control device
unit
application
distribution
Prior art date
Application number
PCT/JP2021/006798
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 DE112021001257.6T priority Critical patent/DE112021001257T5/de
Priority to US17/904,294 priority patent/US20230061169A1/en
Priority to CN202180017004.9A priority patent/CN115210663A/zh
Priority to JP2022503638A priority patent/JP7381711B2/ja
Publication of WO2021172334A1 publication Critical patent/WO2021172334A1/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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • 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/409Numerical 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 using manual data input [MDI] or by using control panel, e.g. controlling functions with the panel; characterised by control panel details or by setting parameters
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic

Definitions

  • the present invention relates to an information processing device, and more particularly to an information processing device that accesses data in a control device that controls an industrial machine.
  • the personal computer connected to the control device has a communication processing unit that serves as an interface with the control device.
  • the applications that access the data in the control device include those that access frequently with almost no interval, those that access regularly, and those that access sporadically. ..
  • the technology for dealing with such problems is open to the public (for example, Patent Document 1 etc.).
  • the priority of the data set by the application of the personal computer is transmitted to the control device.
  • the control device transmits the high-priority data first and stores it in the buffer, and adjusts the transmission interval according to the load of the control device and the allowable response time.
  • the information processing device senses a state of excessive distribution from an application accessing the control device, arbitrates the distribution order and the distribution interval according to the priority, and optimizes command distribution to the control device.
  • one aspect of the present invention is an information processing device that is connected to a control device and controls the distribution of the command to the control device when a command to access the control device is commanded from a plurality of applications.
  • a command analysis unit that analyzes the tendency of commands to access the control device for each application, and a command distribution mediation unit that mediates the distribution of commands to the control device based on the analysis results by the command analysis unit. It is an information processing device including.
  • the present invention it becomes possible to recognize and analyze the amount of access to the control device and the timing from individual applications, which has been difficult in the past. Further, by quantifying the access tendency of each application, it becomes possible to manage the access to the control device for each application. Therefore, it is possible to arbitrate and appropriately distribute access to the control device from a large number of applications. As a result, it is possible to prevent performance degradation due to access delay and processing delay.
  • FIG. 1 is a schematic hardware configuration diagram of an information processing device according to an embodiment of the present invention.
  • the information processing device 1 can be mounted on, for example, a personal computer attached to a control device that controls an industrial machine. Further, the information processing device 1 can be mounted on, for example, a personal computer, a fog computer, a cloud server, or the like connected to a control device for controlling an industrial machine via a wired / wireless network. In this embodiment, an example is shown in which the information processing device 1 is mounted on a personal computer connected to a control device for controlling an industrial machine via a wired / wireless network.
  • the CPU 11 included in the information processing device 1 is a processor that controls the information processing device 1 as a whole.
  • the CPU 11 reads the system program stored in the ROM 12 via the bus 22.
  • the CPU 11 controls the entire information processing apparatus 1 according to the system program. Temporary calculation data, display data, various data input from the outside, and the like are temporarily stored in the RAM 13.
  • the non-volatile memory 14 is composed of an HDD (Hard Disk Drive), an SSD (Solid State Drive), or the like.
  • the data written in the non-volatile memory 14 is retained in a stored state even when the power of the information processing apparatus 1 is turned off.
  • the non-volatile memory 14 stores data and control programs read from the external device 72 via the interface 15, data and programs input via the input device 71, and data acquired from the control device 3. Will be done.
  • the data and programs stored in the non-volatile memory 14 may be expanded in the RAM 13 at the time of execution / use. Further, various system programs such as a known analysis program are written in the ROM 12 in advance.
  • the interface 15 is an interface for connecting the CPU 11 of the information processing device 1 and an external device 72 such as a USB device. From the external device 72 side, for example, a control program used for controlling an industrial machine, each parameter, and the like can be read. Further, the control program and each parameter edited in the information processing device 1 may be stored in the external storage means via the external device 72 or transmitted to the control device 3 via the network 5. can.
  • each data read into the memory, data obtained as a result of executing the control program, the system program, etc. are output and displayed via the interface 18.
  • the input device 71 composed of a keyboard, a pointing device, and the like passes commands, data, and the like based on operations by the operator to the CPU 11 via the interface 19.
  • the interface 20 is an interface for connecting the CPU 11 of the information processing device 1 and the wired or wireless network 5.
  • a control device 3 that controls an industrial machine is connected to the network 5, and data is exchanged with and from the information processing device 1.
  • FIG. 2 shows a schematic block diagram of the functions provided by the information processing apparatus 1 according to the first embodiment of the present invention.
  • Each function included in the information processing apparatus 1 according to the present embodiment is realized by the CPU 11 included in the information processing apparatus 1 shown in FIG. 1 executing a system program and controlling the operation of each part of the information processing apparatus 1. ..
  • the information processing device 1 of the present embodiment includes a central processing unit 100, a communication interface unit 110, and a communication processing unit 120. Further, on the RAM 13 to the non-volatile memory 14, there is a storage unit 200 which is an area for storing information related to a command issued to access the control device 3 by the applications 300a, 300b, 300c, .... It is provided.
  • the central processing unit 100 is realized by executing the system program read from the ROM 12 by the CPU 11 and performing arithmetic processing mainly by the CPU 11 using the RAM 13 and the non-volatile memory 14.
  • the central processing unit 100 executes the programs of the applications 300a, 300b, 300c, ... That operate on the information processing apparatus 1, and controls the operations of the respective applications 300a, 300b, 300c, ....
  • the central processing unit 100 writes or reads from the respective applications 300a, 300b, 300c, ... To the storage unit 200, outputs a command to the communication interface unit 110, or receives data acquired from the control device 3 as a response to the command. Control delivery, etc.
  • the central processing unit 100 may be provided as a function of controlling the operation of an application by a general OS.
  • the communication interface unit 110 is realized by executing a system program read from the ROM 12 by the CPU 11 and performing arithmetic processing mainly by the CPU 11 using the RAM 13 and the non-volatile memory 14.
  • the communication interface unit 110 analyzes and arbitrates commands for access to the control device 3 commanded by the respective applications 300a, 300b, 300c, ....
  • the communication interface unit 110 outputs the command to the communication processing unit 120 based on the results of analysis and arbitration.
  • the communication interface unit 110 receives a response to a command from the communication processing unit 120, the communication interface unit 110 delivers the response to the application instructing the command.
  • the communication interface unit 110 includes a command analysis unit 112, a command distribution arbitration unit 114, and a command processing unit 116.
  • the command analysis unit 112 records the history of commands commanded for each application in the storage unit 200. Then, the command analysis unit 112 analyzes the tendency of the command commanded for each application stored in the storage unit 200. The command analysis unit 112 analyzes, for example, the type, frequency, periodicity of the command interval, etc. of the command commanded by the application, and issues the command commanded by the application frequently, periodically, sporadically, sporadically, or the like. Classify into types. Further, the command analysis unit 112 sets the priority of the application based on the priority of the command commanded by each application. Further, the command analysis unit 112 calculates parameters such as command intervals of commands by each application. Then, the command analysis unit 112 stores the analysis result of the application analyzed in this way in the storage unit 200. The command analysis unit 112 periodically analyzes the commands commanded by each application.
  • FIG. 3 is an example of a schematic flowchart of the analysis process of the command commanded for each application by the command analysis unit 112.
  • the number of elements means the number of commands in each cycle.
  • the effective distribution means a period in which the number of elements is not zero.
  • the number of effective distributions means the number of effective distributions in the n-cycle period.
  • the distribution interval means the time or the number of cycles between the effective distributions.
  • the type of the application is set to be frequent (steps SA03, SA04).
  • the threshold Th1 or more the maximum value or the average value of the difference in the number of elements in each cycle in the n cycle period is the threshold Th1 or more. If the number of distributions is less than the threshold Th2, the type of application is set to sporadic (steps SA05, SA06).
  • the threshold value Th2 or more when the number of effective distributions in the n-cycle period is the threshold value Th2 or more, the maximum value or the average value of the difference between the distribution intervals in the n-cycle period is compared with a predetermined threshold value Th3, and the distribution interval difference. If is less than the threshold Th3, the type of application is set to periodic (steps SA07, SA08). Then, if none of the conditions are met, the type of application is set to burst (step SA09).
  • Command analysis unit 112 further average distribution spacing Id av command, calculates the average instruction interval Ic av (step SA10, SA11), and acquires the priority set in advance for each command (step SA12).
  • FIG. 4 is a time chart exemplifying the commands commanded by each application.
  • FIG. 5 shows an example of the analysis result obtained by the command analysis unit 112 analyzing each application exemplified in the time chart of FIG. As illustrated in FIGS. 4 and 5, an application having a large number of commands commanded in the entire cycle is set as frequent. Applications with a small number of commands commanded in the entire cycle are set as sporadic. An application with a constant command cycle is set as periodic. Applications other than these are set as swarms.
  • the command distribution arbitration unit 114 arbitrates the output (distribution to the control device 3) of the command commanded by the application to the communication processing unit 120 based on the analysis result (classification content) of the command analysis unit.
  • the command distribution arbitration unit 114 is the same when commands are commanded excessively densely by a plurality of applications (for example, when the command interval of commands commanded by a plurality of applications is less than or equal to a predetermined allowable interval. (When commands are commanded from multiple applications at the timing), commands commanded by applications of type "sporadic" and applications of type "regular” are given priority to other commands to the communication processing unit 120. Is output, and the command processing unit 116 is instructed to delay the output of other commands.
  • the command distribution arbitration unit 114 issues a command having a high priority (command of priority D or priority C in the example of FIG. 4) to another command. Is output to the communication processing unit 120 with priority given to, and is instructed to the command processing unit 116 to delay the output of other commands. Further, the command distribution arbitration unit 114 outputs a command to the communication processing unit 120 while adjusting the command interval of the command to be equal to or greater than a predetermined allowable interval so as not to excessively transmit the command to the control device 3. Command the command processing unit 116.
  • FIG. 6 is a diagram showing an example of arbitration by the command distribution arbitration unit 114. As illustrated in FIG. 6, the command distribution arbitration unit 114 outputs a command of a low-priority application or a low-priority command when a command command conflict or an excessively dense command is given. Perform mediation to delay.
  • FIG. 7 is an example of a schematic flowchart of the command distribution arbitration process by the command distribution arbitration unit 114.
  • the command distribution arbitration unit 114 counts the number SC of the commands currently instructed by each application for each execution cycle (step SB01). Then, when the number of commanded commands does not exceed 3, the command distribution arbitration unit 114 instructs the command processing unit 116 to sequentially distribute the commanded commands at predetermined time intervals (step SB03). On the other hand, when the number of commands commanded exceeds 3, the command distribution arbitration unit 114 corrects the command distribution interval for each command with an allowable interval and a command interval (or a correction interval described later) (steps SB04 to SB08). ..
  • the command distribution arbitration unit 114 calculates the priority of each command based on the priority of the application that instructed the command and the priority of the command itself. As a result of the calculation, the command distribution arbitration unit 114 instructs the command processing unit 116 to distribute the commands in order from the command determined to have the highest priority (steps SB09 to SB12).
  • the command processing unit 116 converts the access command for the control device 3 output from the applications 300a, 300b, 300c, ... Into a format that can be interpreted by the control device 3 and hands it over to the communication processing unit 120.
  • the communication processing unit 120 is realized by executing a system program read from the ROM 12 by the CPU 11 and performing arithmetic processing mainly by the CPU 11 using the RAM 13 and the non-volatile memory 14 and input / output processing using the interface 20. NS.
  • the communication processing unit 120 outputs a command input from the communication interface unit to the control device 3 via the network 5.
  • the communication processing unit 120 receives a response from the control device 3, the communication processing unit 120 passes the received response to the communication interface unit 110.
  • the information processing device 1 can recognize and analyze the amount of access to the control device and the timing from individual applications, which has been difficult in the past. Further, by quantifying the access tendency of each application, it becomes possible to manage the access to the control device for each application. Therefore, it is possible to arbitrate and appropriately distribute access to the control device from a large number of applications. As a result, it is possible to prevent performance degradation due to access delay and processing delay.
  • the command distribution arbitration unit 114 automatically adjusts the information processing device 1, and the arbitration correction tool unit 130 can correct the adjustment amount. Therefore, there is no need to modify individual applications.
  • FIG. 8 shows a schematic block diagram of the functions provided by the information processing apparatus 1 according to the second embodiment of the present invention.
  • Each function of the information processing device 1 according to the present embodiment is realized by the CPU 11 executing a system program and controlling the operation of each part of the information processing device 1.
  • the information processing device 1 of the present embodiment further includes an arbitration correction tool unit 130 in addition to the central processing unit 100, the communication interface unit 110, and the communication processing unit 120. Further, on the RAM 13 to the non-volatile memory 14, there is a storage unit 200 which is an area for storing information related to a command issued to access the control device 3 by the applications 300a, 300b, 300c, .... It is provided.
  • the central processing unit 100, the communication interface unit 110, and the communication processing unit 120 included in the information processing device 1 according to the present embodiment are the central processing unit 100, the communication interface unit 110, and the communication processing unit included in the information processing device 1 according to the first embodiment. It has the same function as 120.
  • the arbitration correction tool unit 130 executes a system program read from the ROM 12 by the CPU 11 included in the information processing device 1 shown in FIG. 1, and mainly performs arithmetic processing using the RAM 13 and the non-volatile memory 14 by the CPU 11, and the interface 18, It is realized by performing the input / output process using 19.
  • the arbitration correction tool unit 130 displays the analysis result of the command analysis unit 112 on the display device 70.
  • the arbitration correction tool unit 130 displays a table of analysis results together with a time chart of command commands for each application, for example, as illustrated in FIG.
  • the correction interval column is a column used for correcting the command interval (the average interval at which commands are commanded in the application). In the correction interval column, the command interval of each application is basically displayed.
  • a value of the allowable interval (32 ms in the example of FIG. 9) is displayed in the correction interval column. If the application type is sporadic, the correction interval column will not be displayed (correction is not possible).
  • the operator can correct the command interval of the command in each application by editing the correction interval column while referring to the analysis result displayed on the display device 70.
  • the operator may be able to change the priority of each application by changing the priority column.
  • the arbitration correction tool unit 130 arbitrates and displays the command of each application displayed on the time chart based on the corrected content. You may try again.
  • the information processing device 1 uses the analysis result by the command analysis unit 112 to be transferred to the control device 3 from a large number of applications by the arbitration correction tool unit 130 and the command distribution arbitration unit 114. It is possible to mediate access and allocate it appropriately. Therefore, it is possible to prevent performance degradation due to access delay and processing delay.
  • Control device 5 Network 11 CPU 12 ROM 13 RAM 14 Non-volatile memory 15, 18, 19, 20, 21 Interface 22 Bus 70 Display device 71 Input device 72 External device 100 Central processing unit 110 Communication interface unit 112 Command analysis unit 114 Command distribution mediation unit 116 Command processing unit 120 Communication processing unit 130 Mediation correction tool unit 200 Storage unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Programmable Controllers (AREA)

Abstract

個々のアプリケーションが制御装置へアクセスする量やタイミングを認識し、統合的に管理・調停できる仕組みを提供すること。 本発明の情報処理装置1は、アプリケーション毎に、制御装置3に対してアクセスをするコマンドの指令の傾向を分析するコマンド分析部112と、コマンド分析部112による分析結果に基づいて、制御装置3に対するコマンドの配信を調停するコマンド配信調停部114と、を備える。

Description

情報処理装置
 本発明は、情報処理装置に関し、特に産業機械を制御する制御装置内のデータにアクセスする情報処理装置に関する。
 パーソナルコンピュータ上で動作するアプリケーションが制御装置内のデータにアクセスするために、制御装置に接続されたパーソナルコンピュータには、制御装置とのインタフェースとなる通信処理部が存在している。パーソナルコンピュータ上で動作するアプリケーションの内で、制御装置内のデータにアクセスするアプリケーションには、ほとんど間隔を空けず頻繁にアクセスするもの、定期的にアクセスするもの、散発的にアクセスするもの等がある。
 このようなアプリケーションが多数同時に動作している状態においては、制御装置内のデータに頻繁にアクセスするアプリケーションに妨げられて、他のアプリケーションのアクセスがしばしば遅延し、アプリケーションの動作が全体的に緩慢になる。
 このような課題に対処するための技術が公開されている(例えば、特許文献1等)。この技術では、パーソナルコンピュータのアプリケーションで設定したデータの優先度が制御装置へ伝達される。パーソナルコンピュータのアプリケーションから複数のデータが要求されたとき、制御装置は優先度の高いデータを先に送信しバッファへ格納すると共に、制御装置の負荷と応答許容時間に従って送信間隔を調整する。
特開2017-134459号公報
 全体のパフォーマンスを考慮せずにアプリケーションが制御装置へ頻繁にアクセスしたり、非常に多くのアプリケーションが同時に制御装置へアクセスしたりすることがある。この場合、パーソナルコンピュータと接続された制御装置において、アクセスの遅延によるパフォーマンス低下や、処理の遅延が発生する。このような状態で発生する問題としては、定期的に処理すべきデータへのアクセスが不定期になること、至急処理すべきイベントが発生していても処理が遅延すること、アプリケーションの動作が全体的に緩慢になること、などが挙げられる。
 この問題は、データの優先度と制御装置の負荷および応答許容時間に従って送信順序と送信時間を調整したとしても解決することが難しい。データ要求のコマンドに対して制御装置が返すデータの返信処理の効率化をしたとしても、パーソナルコンピュータから制御装置へのコマンド配信処理の効率化や負荷軽減はできない。書込み要求の送信データを効率的に処理することにはならないからである。
 このような問題を解決するには、アプリケーション毎に制御装置へのアクセスを調停し適切に配分する必要がある。そのためには、個々のアプリケーションが制御装置へアクセスする量やタイミングを認識し、総合的に管理・調停できる仕組みが必要となる。
 本発明による情報処理装置は、制御装置に対してアクセスするアプリケーションから過度に配信される状態を感知し、優先度に従って配信順序の調停と配信間隔の調停をして、制御装置に対するコマンド配信を最適化することにより、上記課題を解決する。
 そして、本発明の一態様は、制御装置と接続され、複数のアプリケーションから制御装置に対してアクセスをするコマンドが指令された際に、制御装置に対する該コマンドの配信を制御する情報処理装置であって、アプリケーション毎に、制御装置に対してアクセスをするコマンドの指令の傾向を分析するコマンド分析部と、コマンド分析部による分析結果に基づいて、制御装置に対するコマンドの配信を調停するコマンド配信調停部と、を備える情報処理装置である。
 本発明の一態様により、従来困難であった個々のアプリケーションからの制御装置へのアクセス量やタイミングの認識および分析が可能となる。また、個々のアプリケーションのアクセス傾向を数値化することで、アプリケーション毎の制御装置へのアクセスを管理することが可能になる。そのため、多数のアプリケーションからの制御装置へのアクセスを調停し適切に配分することが可能となる。その結果、アクセスの遅延によるパフォーマンス低下や、処理の遅延を防止することができる。
一実施形態による情報処理装置の概略的なハードウェア構成図である。 第1実施形態による情報処理装置の概略的な機能ブロック図である。 コマンド分析処理の概略的なフローチャートの例である。 アプリケーション毎のコマンド指令のタイムチャートの例である。 各アプリケーションのコマンド分析の分析結果の例である。 コマンド配信調停部によるコマンド配信の調停例である。 コマンド配信調停処理の概略的なフローチャートの例である。 第2実施形態による情報処理装置の概略的な機能ブロック図である。 調停補正ツール部が表示する画面の例である。
 以下、本発明の実施形態を図面と共に説明する。
 図1は本発明の一実施形態による情報処理装置の概略的なハードウェア構成図である。情報処理装置1は、例えば産業機械を制御する制御装置と併設されたパーソナルコンピュータに実装することができる。また、情報処理装置1は、例えば産業機械を制御する制御装置と有線/無線のネットワークを介して接続されたパーソナルコンピュータ、フォグコンピュータ、クラウドサーバ等に実装することができる。本実施形態では、情報処理装置1を、産業機械を制御する制御装置と有線/無線のネットワークを介して接続されたパソコンに実装した例を示す。
 本実施形態による情報処理装置1が備えるCPU11は、情報処理装置1を全体的に制御するプロセッサである。CPU11は、バス22を介してROM12に格納されたシステム・プログラムを読み出す。CPU11は、該システム・プログラムに従って情報処理装置1全体を制御する。RAM13には一時的な計算データや表示データ、及び外部から入力された各種データ等が一時的に格納される。
 不揮発性メモリ14は、HDD(Hard Disk Drive)やSSD(Solid State Drive)等で構成される。不揮発性メモリ14に書き込まれたデータは、情報処理装置1の電源がオフされても記憶状態が保持される。不揮発性メモリ14には、インタフェース15を介して外部機器72から読み込まれたデータや制御用プログラム、入力装置71を介して入力されたデータやプログラム、制御装置3から取得される各データ等が記憶される。不揮発性メモリ14に記憶されたデータやプログラムは、実行時/利用時にはRAM13に展開されても良い。また、ROM12には、公知の解析プログラムなどの各種システム・プログラムがあらかじめ書き込まれている。
 インタフェース15は、情報処理装置1のCPU11とUSB装置等の外部機器72と接続するためのインタフェースである。外部機器72側からは、例えば産業機械の制御に用いられる制御用プログラムや各パラメータ等を読み込むことができる。また、情報処理装置1内で編集した制御用プログラムや各パラメータ等は、外部機器72を介して外部記憶手段に記憶させたり、ネットワーク5を介して制御装置3に対して送信したりすることができる。
 表示装置70には、メモリ上に読み込まれた各データ、制御用プログラムやシステム・プログラム等が実行された結果として得られたデータ等がインタフェース18を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置71は、インタフェース19を介して作業者による操作に基づく指令、データ等をCPU11に渡す。
 インタフェース20は、情報処理装置1のCPU11と有線乃至無線のネットワーク5とを接続するためのインタフェースである。ネットワーク5には、産業機械を制御する制御装置3が接続され、情報処理装置1との間で相互にデータのやり取りを行っている。
 図2は、本発明の第1実施形態による情報処理装置1が備える機能を概略的なブロック図として示したものである。本実施形態による情報処理装置1が備える各機能は、図1に示した情報処理装置1が備えるCPU11がシステム・プログラムを実行し、情報処理装置1の各部の動作を制御することにより実現される。
 本実施形態の情報処理装置1は、中央処理部100、通信インタフェース部110、通信処理部120を備える。また、RAM13乃至不揮発性メモリ14上には、アプリケーション300a,300b,300c,…により制御装置3に対してアクセスするために発行されるコマンドに係る情報を記憶するための領域である記憶部200が設けられている。
 中央処理部100は、CPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。中央処理部100は、情報処理装置1上で動作するアプリケーション300a、300b、300c、…のプログラムを実行してそれぞれのアプリケーション300a、300b、300c、…の動作を制御する。中央処理部100は、それぞれのアプリケーション300a、300b、300c、…からの記憶部200への書き込みや読み出し、通信インタフェース部110に対するコマンドの出力や該コマンドに対する応答として制御装置3から取得されたデータの引き渡し等を制御する。中央処理部100は、一般的なOSによるアプリケーションの動作制御の機能として提供されていて良い。
 通信インタフェース部110は、CPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。通信インタフェース部110は、それぞれのアプリケーション300a、300b、300c、…から指令された制御装置3に対するアクセス用のコマンドの分析、調停を行う。通信インタフェース部110は、分析、調停の結果に基づいて該コマンドを通信処理部120へと出力する。また、通信インタフェース部110は、通信処理部120からコマンドに対する応答を受けると、該コマンドを指令したアプリケーションに対して該応答を引き渡す。通信インタフェース部110は、コマンド分析部112、コマンド配信調停部114、コマンド処理部116を備える。
 コマンド分析部112は、アプリケーション毎に指令されたコマンドの履歴を記憶部200に記録する。そして、コマンド分析部112は、記憶部200に記憶されたアプリケーション毎に指令されるコマンドの傾向を分析する。コマンド分析部112は、例えばアプリケーションから指令されるコマンドの種類、頻度、指令間隔の周期性等を分析して、アプリケーションから指令されるコマンドを、頻発的、定期的、散発的、群発的等のタイプに分類する。また、コマンド分析部112は、各アプリケーションが指令するコマンドの優先度に基づいて、該アプリケーションの優先度を設定する。更に、コマンド分析部112は、各アプリケーションによるコマンドの指令間隔等のパラメータを算出する。そして、コマンド分析部112は、このようにして分析されたアプリケーションの分析結果を記憶部200に記憶する。コマンド分析部112による、各アプリケーションから指令されるコマンドの分析は定期的に行われる。
 図3は、コマンド分析部112による、アプリケーション毎に指令されたコマンドの分析処理の概略的なフローチャートの例である。コマンド分析部112は、記憶部200からアプリケーション毎のコマンドの指令履歴を取得し、所定周期Ts(例えば、Ts=200ms)毎のコマンドの分布を作成する(ステップSA02)。そして、予め定めた所定のn周期期間における要素数、有効分布、有効分布数、分布間隔を算出する。ここで、要素数は各周期におけるコマンドの数を意味する。有効分布は要素数がゼロでない周期を意味する。有効分布数はn周期期間における有効分布の数を意味する。分布間隔は有効分布と有効分布の間の時間乃至周期数を意味する。そして、n周期期間における各周期の要素数差が予め定めた所定の閾値Th1よりも少ない場合、そのアプリケーションのタイプを頻発的と設定する(ステップSA03,SA04)。次に、n周期期間における各周期の要素数差の最大値乃至平均値が閾値Th1以上である場合には、n周期期間における有効分布数と予め定めた所定の閾値Th2とを比較し、有効分布数が閾値Th2よりも少ない場合にはそのアプリケーションのタイプを散発的と設定する(ステップSA05,SA06)。更に、n周期期間における有効分布数が閾値Th2以上である場合には、n周期期間における各分布間隔の差の最大値乃至平均値と予め定めた所定の閾値Th3とを比較し、分布間隔差が閾値Th3よりも小さい場合にはそのアプリケーションのタイプを定期的と設定する(ステップSA07,SA08)。そして、いずれの条件にも該当しない場合には、そのアプリケーションのタイプを群発的と設定する(ステップSA09)。
 コマンド分析部112は、更にコマンドの平均分布間隔Idav、平均指令間隔Icavを演算し(ステップSA10,SA11)、各コマンドに対して予め設定されている優先度を取得する(ステップSA12)。
 図4は、各アプリケーションが指令するコマンドをタイムチャートで例示したものである。また、図5は、図4のタイムチャートに例示される各アプリケーションをコマンド分析部112が分析した分析結果の例を示している。図4,5に例示されるように、全周期で指令されるコマンド数が多いアプリケーションは頻発的として設定される。全周期で指令されるコマンド数が少ないアプリケーションは散発的として設定される。コマンドの指令される周期が一定のアプリケーションは定期的として設定される。これら以外のアプリケーションは群発的として設定される。
 コマンド配信調停部114は、コマンド分析部の分析結果(分類内容)に基づいて、アプリケーションから指令されたコマンドの通信処理部120への出力(制御装置3への配信)を調停する。コマンド配信調停部114は、複数のアプリケーションからコマンドが過度に密に指令された場合(例えば、複数のアプリケーションから指令されるコマンドの指令間隔が予め定めた所定の許容間隔以下になる場合や、同じタイミングで複数のアプリケーションからコマンドが指令された場合)、タイプが「散発的」なアプリケーション、及びタイプが「定期的」なアプリケーションが指令するコマンドを、他のコマンドに優先して通信処理部120へと出力し、他のコマンドの出力を遅らせるようにコマンド処理部116へ指令する。また、コマンド配信調停部114は、複数のアプリケーションからコマンドが過度に密に指令された場合、優先度が高いコマンド(図4の例では優先度Dや優先度Cのコマンド)を、他のコマンドに優先して通信処理部120へと出力し、他のコマンドの出力を遅らせるようにコマンド処理部116へ指令する。また、コマンド配信調停部114は、制御装置3に対して過度にコマンドを送信しないように、コマンドの指令間隔を所定の許容間隔以上となるように調整しながら通信処理部120へコマンドを出力するようにコマンド処理部116へ指令する。図6は、コマンド配信調停部114による調停の例を示す図である。図6に例示されるように、コマンド配信調停部114は、コマンド指令の衝突や過度に密に指令がされている場合には、優先度の低いアプリケーションのコマンドや、優先度の低いコマンドの出力を遅らせる調停を行う。
 図7は、コマンド配信調停部114による、コマンド配信調停処理の概略的なフローチャートの例である。コマンド配信調停部114は、実行周期毎に、現在各アプリケーション指令されているコマンドの数SCをカウントする(ステップSB01)。そして、指令されているコマンド数が3を超えない場合、コマンド配信調停部114は、指令されたコマンドを順次既定の時間間隔で配信するようにコマンド処理部116に指令する(ステップSB03)。一方、指令されているコマンド数が3を超える場合、コマンド配信調停部114は、コマンド毎にコマンドの配信間隔を許容間隔及び指令間隔(又は後述する補正間隔)で修正する(ステップSB04~SB08)。
 そして、コマンド配信調停部114は、各コマンドの優先度を、該コマンドを指令したアプリケーションの優先度とコマンド自体の優先度とに基づいて算出する。算出した結果、最も優先度が高いと判定されたコマンドから順に配信するようにコマンド配信調停部114はコマンド処理部116に指令する(ステップSB09~SB12)。
 コマンド処理部116は、アプリケーション300a、300b、300c、…から出力された制御装置3に対するアクセス用のコマンドを、制御装置3が解釈可能な形式へと変換し、通信処理部120へと引き渡す。
 通信処理部120は、CPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理と、インタフェース20を用いた入出力処理が行われることで実現される。通信処理部120は、ネットワーク5を介して制御装置3に対して通信インタフェース部から入力されたコマンドを出力する。また、通信処理部120は、制御装置3から応答を受けると、受けた応答を通信インタフェース部110へと渡す。
 上記構成を備えた本実施形態による情報処理装置1は、従来困難であった個々のアプリケーションからの制御装置へのアクセス量やタイミングの認識および分析が可能である。また、個々のアプリケーションのアクセス傾向を数値化することで、アプリケーション毎の制御装置へのアクセスを管理することが可能になる。そのため、多数のアプリケーションからの制御装置へのアクセスを調停し適切に配分することが可能となる。その結果、アクセスの遅延によるパフォーマンス低下や、処理の遅延を防止することができる。
 従来は、制御装置3へのアクセスを調整するには、個々のアプリケーションを修正して、アクセス量やアクセスタイミングおよび間隔を調整する必要があった。本実施形態による情報処理装置1では、コマンド配信調停部114により自動的に調整され、調停補正ツール部130により調整量を補正できる。そのため、個々のアプリケーションを修正する必要がなくなる。
 図8は、本発明の第2実施形態による情報処理装置1が備える機能を概略的なブロック図として示したものである。本実施形態による情報処理装置1が備える各機能は、CPU11がシステム・プログラムを実行し、情報処理装置1の各部の動作を制御することにより実現される。
 本実施形態の情報処理装置1は、中央処理部100、通信インタフェース部110、通信処理部120に加えて、更に調停補正ツール部130を備える。また、RAM13乃至不揮発性メモリ14上には、アプリケーション300a,300b,300c,…により制御装置3に対してアクセスするために発行されるコマンドに係る情報を記憶するための領域である記憶部200が設けられている。
 本実施形態による情報処理装置1が備える中央処理部100、通信インタフェース部110、通信処理部120は、第1実施形態による情報処理装置1が備える中央処理部100、通信インタフェース部110、通信処理部120と同様の機能を備える。
 調停補正ツール部130は、図1に示した情報処理装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理と、インタフェース18,19を用いた入出力処理が行われることで実現される。調停補正ツール部130は、コマンド分析部112の分析結果を表示装置70に対して表示する。調停補正ツール部130は、例えば、図9に例示されるように、アプリケーション毎のコマンド指令のタイムチャートと共に、分析結果の表を表示する。図9の分析結果の表において、補正間隔の欄は指令間隔(当該アプリケーションにおけるコマンドが指令される平均的な間隔)を補正するために用いられる欄である。補正間隔の欄には、基本的にそれぞれのアプリケーションの指令間隔が表示される。また、指令間隔が予め定めた所定の許容間隔以下のアプリケーションについては、補正間隔の欄には許容間隔の値(図9の例では32ms)が表示される。なお、アプリケーションのタイプが散発的である場合には、補正間隔の欄は表示されない(補正ができない)。オペレータは、表示装置70に表示された分析結果を参照しながら、補正間隔の欄を編集することで、それぞれのアプリケーションにおけるコマンドの指令間隔を補正できる。また、オペレータは、優先度の欄を変更することで、各アプリケーションの優先度を変更できるようにしても良い。調停補正ツール部130は、オペレータによる補正間隔及びアプリケーションの優先度の補正が行われた場合、当該補正された内容に基づいて、タイムチャートに表示された各アプリケーションによるコマンドの指令を調停して表示し直すようにして良い。
 上記構成を備えた本実施形態による情報処理装置1は、コマンド分析部112による分析結果を利用して、調停補正ツール部130及びコマンド配信調停部114により、多数のアプリケーションからの制御装置3へのアクセスを調停し適切に配分することが可能である。そのため、アクセスの遅延によるパフォーマンス低下や、処理の遅延を防止することができる。
 以上、本発明の一実施形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
  1 情報処理装置
  3 制御装置
  5 ネットワーク
  11 CPU
  12 ROM
  13 RAM
  14 不揮発性メモリ
  15,18,19,20,21 インタフェース
  22 バス
  70 表示装置
  71 入力装置
  72 外部機器
  100 中央処理部
  110 通信インタフェース部
  112 コマンド分析部
  114 コマンド配信調停部
  116 コマンド処理部
  120 通信処理部
  130 調停補正ツール部
  200 記憶部

Claims (3)

  1.  制御装置と接続され、複数のアプリケーションから前記制御装置に対してアクセスをするコマンドが指令された際に、前記制御装置に対するアクセスを制御する情報処理装置であって、
     前記アプリケーション毎に、前記制御装置に対してアクセスをするコマンドの指令の傾向を分析するコマンド分析部と、
     前記コマンド分析部が分析したアプリケーション毎の前記制御装置に対するアクセスの傾向に基づいて、前記制御装置に対する前記コマンドの配信を調停するコマンド配信調停部と、
    を備える情報処理装置。
  2.  前記制御装置に対するアプリケーション毎のコマンドの配信状態を示すタイムチャートと、前記コマンド分析部による分析結果とを可視化し、前記コマンドの配信の調停に係るパラメータを補正する調停補正ツール部を更に備える、
    請求項1に記載の情報処理装置。
  3.  前記コマンド分析部による分析結果には、アプリケーション毎の優先度及びコマンド毎の優先度に係る情報を含み、
     前記コマンド配信調停部は、コマンドが過度に配信されている場合に、前記アプリケーション毎の優先度及び前記コマンド毎の優先度に従った配信順序でコマンドの配信を調停する、
    請求項1に記載の情報処理装置。
PCT/JP2021/006798 2020-02-27 2021-02-24 情報処理装置 WO2021172334A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE112021001257.6T DE112021001257T5 (de) 2020-02-27 2021-02-24 Informationsverarbeitungsvorrichtung
US17/904,294 US20230061169A1 (en) 2020-02-27 2021-02-24 Information processing device
CN202180017004.9A CN115210663A (zh) 2020-02-27 2021-02-24 信息处理装置
JP2022503638A JP7381711B2 (ja) 2020-02-27 2021-02-24 情報処理装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-031225 2020-02-27
JP2020031225 2020-02-27

Publications (1)

Publication Number Publication Date
WO2021172334A1 true WO2021172334A1 (ja) 2021-09-02

Family

ID=77491099

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/006798 WO2021172334A1 (ja) 2020-02-27 2021-02-24 情報処理装置

Country Status (5)

Country Link
US (1) US20230061169A1 (ja)
JP (1) JP7381711B2 (ja)
CN (1) CN115210663A (ja)
DE (1) DE112021001257T5 (ja)
WO (1) WO2021172334A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015180065A (ja) * 2012-05-10 2015-10-08 ソニー株式会社 受信装置、受信方法、送信装置、送信方法、及びプログラム
JP2019067046A (ja) * 2017-09-29 2019-04-25 オムロン株式会社 制御システムおよび制御装置
JP2019113921A (ja) * 2017-12-21 2019-07-11 ファナック株式会社 数値制御装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6517706B2 (ja) 2016-01-25 2019-05-22 ファナック株式会社 効率的に数値制御データの受け渡しをする数値制御システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015180065A (ja) * 2012-05-10 2015-10-08 ソニー株式会社 受信装置、受信方法、送信装置、送信方法、及びプログラム
JP2019067046A (ja) * 2017-09-29 2019-04-25 オムロン株式会社 制御システムおよび制御装置
JP2019113921A (ja) * 2017-12-21 2019-07-11 ファナック株式会社 数値制御装置

Also Published As

Publication number Publication date
CN115210663A (zh) 2022-10-18
JP7381711B2 (ja) 2023-11-15
JPWO2021172334A1 (ja) 2021-09-02
DE112021001257T5 (de) 2022-12-08
US20230061169A1 (en) 2023-03-02

Similar Documents

Publication Publication Date Title
US8312229B2 (en) Method and apparatus for scheduling real-time and non-real-time access to a shared resource
JP6406466B1 (ja) 制御装置、制御方法および制御プログラム
WO2018186358A1 (ja) 制御装置、制御方法および制御プログラム
WO2005119447A1 (ja) タスク管理方法、タスク管理装置、半導体集積回路、電子装置、およびタスク管理システム
JP7109549B2 (ja) サービスフロアの品質に基づくメモリ帯域幅のスケジューリング
JP6895235B2 (ja) 環境的に調整されたスラックを割り当てるためのシステム及び方法
US20090178042A1 (en) Managing A Workload In A Database
CN106406134B (zh) 具备学习控制装置的伺服控制系统
US6941428B2 (en) Memory controller optimization
US20160291676A1 (en) Information processing device, power control method, program, and control device
CN113316767A (zh) 处理器处的松弛度感知、动态优先级变化
WO2021172334A1 (ja) 情報処理装置
JP6517706B2 (ja) 効率的に数値制御データの受け渡しをする数値制御システム
JP2008204243A (ja) ジョブ実行制御方法およびシステム
JP2005092780A (ja) リアルタイムプロセッサシステム及び制御方法
JP6848278B2 (ja) ストレージ管理装置、性能調整方法及び性能調整プログラム
JP4367167B2 (ja) リアルタイムシステム、QoS適応制御装置及びそれらに用いるQoS適応制御方法並びにそのプログラム
US11481341B2 (en) System and method for dynamically adjusting priority-based allocation of storage system resources
JP7367365B2 (ja) タスク実行管理装置、タスク実行管理方法、および、タスク実行管理プログラム
US20050066097A1 (en) Resource management apparatus
JP7124023B2 (ja) コントローラ
JP2007004334A (ja) プログラマブルコントローラ
JP2010186347A (ja) ジョブスケジューリングシステム、ジョブスケジューリング方法及びプログラム
JP4999932B2 (ja) 仮想計算機システム及び仮想計算機重み付け設定処理方法及び仮想計算機重み付け設定処理プログラム
WO2019188182A1 (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: 21761525

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022503638

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 21761525

Country of ref document: EP

Kind code of ref document: A1