JP6584506B2 - 部品実装機に装備されるコントローラ - Google Patents

部品実装機に装備されるコントローラ Download PDF

Info

Publication number
JP6584506B2
JP6584506B2 JP2017527012A JP2017527012A JP6584506B2 JP 6584506 B2 JP6584506 B2 JP 6584506B2 JP 2017527012 A JP2017527012 A JP 2017527012A JP 2017527012 A JP2017527012 A JP 2017527012A JP 6584506 B2 JP6584506 B2 JP 6584506B2
Authority
JP
Japan
Prior art keywords
ring buffer
partial ring
log information
task
size
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2017527012A
Other languages
English (en)
Other versions
JPWO2017006437A1 (ja
Inventor
陽祐 寺西
陽祐 寺西
和弘 浅田
和弘 浅田
文則 伊藤
文則 伊藤
秀幸 熊澤
秀幸 熊澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of JPWO2017006437A1 publication Critical patent/JPWO2017006437A1/ja
Application granted granted Critical
Publication of JP6584506B2 publication Critical patent/JP6584506B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

本明細書に開示する技術は、電子部品を回路基板に実装する部品実装機に関し、詳しくは、部品実装機に装備されるコントローラに関する。
特許文献1(日本国特許公開公報2012−018617号公報)には、電子部品を基板に実装する電子部品実装用装置が開示されている。電子部品実装用装置は、リングバッファメモリを有する制御装置を備えている。制御装置は、制御プログラムを実行し、電子部品実装用装置の各部を制御することで、電子部品を基板に実装する。制御装置は、制御プログラムの実行履歴情報であるログデータを、リングバッファメモリに保存する。
一般的に、部品実装機では、プロセッサは複数のタスクを実行し、複数のタスクのそれぞれに関するログ情報をリングバッファに保存する。部品実装機に異常が発生した時は、作業者は、リングバッファに保存されているログ情報を用いて、複数のタスクのそれぞれの状態から部品実装機の異常を診断する。このため、部品実装機の状態を診断するためには、リングバッファに全てのタスクに関するログ情報が保存されていることが好ましい。特許文献1の電子部品実装用装置においては、単一のリングバッファに、複数のタスクに関するログ情報が保存される。このような構成によると、1つのタスクのログ情報が、他のタスクのログ情報により上書きされてしまう場合がある。これにより、リングバッファに、全てのタスクのログ情報が保存されていない場合が生じる。この場合、異常発生時の状態を確認することができないタスクがあるという問題が生じる。
本明細書に開示するコントローラは、電子部品を回路基板に実装する部品実装機に装備され、部品実装機の少なくとも一部の動作を制御する。コントローラは、複数のタスクを実行するプロセッサと、プロセッサが実行したタスクに関するログ情報を記憶するリングバッファと、を備えている。リングバッファは、複数のタスク毎に、当該タスクをプロセッサが実行したときのログ情報を記憶する部分リングバッファに分割されており、プロセッサは、処理周期毎に、複数のタスクのそれぞれについて、当該タスクに関するログ情報を、当該タスクに対応する部分リングバッファに保存するように構成されている。
上記のコントローラでは、ログ情報を記憶するリングバッファが、複数のタスク毎に、当該タスクに関するログ情報を記憶する部分リングバッファに分割されている。すなわち、部分リングバッファには、特定のタスクに関するログ情報のみが記憶される。このような構成によると、1つのタスクに関するログ情報が、他のタスクに関するログ情報によって上書きされることを防止することができる。この結果、リングバッファには、複数のタスクのそれぞれに関するログ情報が保存される。
コントローラが装備されている部品実装機の構成を模式的に表す側面図である。 コントローラの構成を示すブロック図である。 メインRAMに保存されるタスクに関する情報を説明する図である。 部分リングバッファを説明する概念図である。 実施例1のリングバッファ分割処理のフローチャートを示す図である。 リングバッファ分割処理により分割される前後の部分リングバッファの状態を説明する概念図である。 実施例2のリングバッファ分割処理のフローチャートを示す図である。 変形例のメインRAMを説明する概念図である。
以下に記載する技術要素は、それぞれ独立した技術要素であって、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。
(特徴1)プロセッサは、ログ情報を部分リングバッファに保存するときに、当該ログ情報に対応する時刻情報を、当該部分リングバッファに保存するように構成されていてもよい。このような構成によると、作業者は、時刻情報を確認することで、ログ情報が保存された時刻を確認することができる。
(特徴2)プロセッサは、予め定められた設定期間毎に、複数のタスクのそれぞれについて、当該プロセッサの全処理能力に占める当該タスクの占有率を算出し、設定期間毎に、複数のタスクのそれぞれについて、当該タスクについて算出された占有率に応じたサイズの部分リングバッファに前記リングバッファを分割してもよい。このような構成によると、プロセッサの全処理能力に占めるタスクの占有率に基づいて、部分リングバッファのサイズが決定される。これにより、リングバッファを、適切なサイズの部分リングバッファに分割することができる。
(特徴3)プロセッサは、予め定められた設定期間毎に、当該設定期間の間に複数の部分リングバッファのそれぞれに保存されたログ情報の情報サイズを算出し、設定期間毎に、複数のタスクのそれぞれについて、当該タスクについて算出された情報サイズと、当該設定期間に保存された全てのログ情報の情報サイズとの比に応じたサイズの部分リングバッファに分割してもよい。このような構成によると、予め定められた設定期間の間に複数の部分リングバッファのそれぞれに保存されたログ情報の情報サイズに基づいて、部分リングバッファが分割される。これにより、リングバッファを、適切なサイズの部分リングバッファに分割することができる。
(特徴4)複数のログ情報を記憶するサブメモリをさらに備えていてもよい。プロセッサは、複数の部分リングバッファのいずれかのサイズを変更するときは、複数の部分リングバッファのそれぞれに保存されているログ情報をサブメモリに退避し、ログ情報を前記サブメモリに退避した後に、複数の部分リングバッファのサイズを変更し、複数の部分リングバッファのサイズを変更した後に、サブメモリに退避されているログ情報を、複数の部分リングバッファのそれぞれに保存するように構成されていてもよい。このような構成によると、いずれかの部分リングバッファのサイズを変更するときは、変更前のログ情報がサブメモリに退避され、サイズ変更後にサブメモリに退避されているログ情報が分割されたリングバッファに復帰する。これにより、サイズ変更の前後でログ情報が適切に書き換えられ、分割後の部分リングバッファに、当該部分リングバッファに対応するタスクに関するログ情報を保存することができる。
次に、図1〜図4を用いて、コントローラ40を装備する部品実装機10について説明する。部品実装機10は、回路基板2に電子部品4を実装する装置である。部品実装機10は、表面実装機やチップマウンタとも称される。通常、部品実装機10は、はんだ印刷機、他の部品実装機及び基板検査機とともに併設され、一連の実装ラインを構成する。

図1に示すように、部品実装機10は、複数の部品フィーダ12と、フィーダ保持部14と、実装ヘッド16と、撮像ユニット20と、実装ヘッド16及び撮像ユニット20を移動させる移動装置18と、基板コンベア26と、操作パネル28と、コントローラ40を備える。
各々の部品フィーダ12は、複数の電子部品4を収容している。部品フィーダ12は、フィーダ保持部14に着脱可能に取り付けられ、実装ヘッド16へ電子部品4を供給する。部品フィーダ12の具体的な構成は特に限定されない。各々の部品フィーダ12は、例えば、巻テープ上に複数の電子部品4を収容するテープ式フィーダ、トレイ上に複数の電子部品4を収容するトレイ式フィーダ、又は、容器内に複数の電子部品4をランダムに収容するバルク式フィーダのいずれであってもよい。
移動装置18は、部品フィーダ12と回路基板2との間で実装ヘッド16及び撮像ユニット20を移動させる移動装置の一例である。本実施例の移動装置18は、移動ベース18aをX方向及びY方向に移動させるXYロボットである。移動装置18は、移動ベース18aを案内するガイドレールや、移動ベース18aをガイドレールに沿って移動させる移動機構や、その移動機構を駆動するサーボモータ30(図2に図示)によって構成されている。移動装置18は、部品フィーダ12及び回路基板2の上方に配置されている。移動ベース18aに対して実装ヘッド16及び撮像ユニット20が取付けられている。実装ヘッド16及び撮像ユニット20は、移動装置18によって部品フィーダ12の上方及び回路基板2の上方を移動する。

実装ヘッド16は、電子部品4を吸着する吸着ノズル6を備えている。吸着ノズル6は、実装ヘッド16に対して着脱可能とされている。吸着ノズル6は、Z方向(図面上下方向)に移動可能に実装ヘッド16に取り付けられている。吸着ノズル6は、実装ヘッド16に収容されたサーボモータ30(図2に図示)によって上下方向に昇降すると共に、電子部品4を吸着可能に構成されている。実装ヘッド16により電子部品4を回路基板2に実装するには、まず、部品フィーダ12に収容された電子部品4に吸着ノズル6の下面(吸着面)が当接するまで、吸着ノズル6を下方に移動させる。次いで、吸着ノズル6に電子部品4を吸着し、吸着ノズル6を上方に移動させる。次いで、移動装置18により実装ヘッド16を回路基板2に対して位置決めする。次いで、吸着ノズル6を回路基板2に向かって下降させることで、回路基板2に電子部品4を実装する。本明細書では、実装ヘッド16による上記の動作を実装処理という。
撮像ユニット20は、移動ベース18aに取り付けられている。このため、実装ヘッド16が移動すると、撮像ユニット20も一体となって移動する。撮像ユニット20は、カメラ支持部22とカメラ24を備えている。カメラ支持部22は、移動ベース18aに取り付けられている。カメラ支持部22には、カメラ24が取付けられている。カメラ24は、吸着ノズル6の側方(図面Y方向)に配置されており、吸着ノズル6の側面画像を撮像する。なお、実装ヘッド16により、吸着ノズル6を上下方向に昇降することで、カメラ24の撮像領域に含まれる吸着ノズル6の領域を調整することができる。

基板コンベア26は、回路基板2の部品実装機10への搬入、部品実装機10への位置決め、及び部品実装機10からの搬出を行う装置である。本実施例の基板コンベア26は、例えば、一対のベルトコンベアと、ベルトコンベアに取り付けられると共に回路基板2を下方から支持する支持装置(図示省略)と、ベルトコンベアを駆動するサーボモータ30(図2に図示)により構成することができる。操作パネル28は、作業者の指示を受け付ける入力装置であるとともに、作業者に対して各種の情報を表示するインターフェース装置でもある。
図2に示すように、コントローラ40は、上位制御装置110、サーボモータ30、カメラ24に接続されている。コントローラ40は、上位制御装置110から入力される指令及びカメラ24から入力される側面画像に基づいて、複数のサーボモータ30を制御し、電子部品4を回路基板2に実装する。
コントローラ40は、CPU50と、ROM60と、メインRAM70と、サブRAM80を備えている。CPU50は、コントローラ40の動作を制御するプロセッサである。CPU50は、ROM60、メインRAM70、サブRAM80に接続されている。ROM60には、複数のタスク62が記憶されている。複数のタスク62には、サーボモータ30の動作(トルクなど)を制御するサーボ処理タスク62a、カメラ24から送信される側面画像を処理するカメラ処理タスク62b、上位制御装置110及びカメラ24からの入力情報及びサーボモータ30への出力情報を処理するIO処理タスク62cが含まれている。CPU50は、ROM60に記憶されている複数のタスク62を実行することで、電子部品4を回路基板2に実装する。なお、CPU50の全処理能力に占める複数のタスク62のそれぞれの占有率は、CPU50が実行する処理内容によって、動的に変化する。
メインRAM70は、リングバッファを備えている。メインRAM70のリングバッファには、CPU50が実行したタスク62に対応するログデータ74が保存される。図3に示すように、メインRAM70には、ログデータ74とログデータ74が保存されるアドレス72(A、A、・・・、A)に関する情報が記録される。ログデータ74には、タスク62に関するログ情報74a(L、L、・・・、L)、及び、ログ情報74aに対応する時刻情報74b(T、T2、・・・、T)が含まれている。CPU50は、上位制御装置110から入力される指令に基づいて、メインRAM70に保存されているログデータ74を、上位制御装置110に送信する。作業者は、上位制御装置110に送信されるログデータ74を解析することで、タスク62の状態(すなわち、部品実装機10の状態)を確認することができる。
また、図4に示すように、メインRAM70のリングバッファは、複数のタスク62a〜62c毎に、当該タスク62a〜62cをCPU50が実行したときのログデータ74を記憶する複数の部分リングバッファ76a、76b、76cに分割されている。具体的には、メインRAM70のリングバッファは、サーボ処理タスク62aに対応する第1部分リングバッファ76aと、カメラ処理タスク62bに対応する第2部分リングバッファ76bと、IO処理タスク62cに対応する第3部分リングバッファ76cに分割されている。なお、複数の部分リングバッファ76a、76b、76cは、サイズ以外は、同一の構造を有している。以下では、複数の部分リングバッファ76a、76b、76cのいずれか1つを区別なく表す場合に「部分リングバッファ76」と表記する。CPU50は、処理周期毎に複数のタスク62を実行し、かつ、処理周期毎に、実行した複数のタスク62のそれぞれについて、当該タスク62に対応するログデータ74を、当該タスク62に対応する部分リングバッファ76に保存する。すなわち、部分リングバッファ76には、当該部分リングバッファ76に対応するタスク62のログデータ74のみが保存される。例えば、CPU50がサーボ処理タスク62aを実行したときは、そのログデータ74は部分リングバッファ76aに保存される。このような構成によると、部分リングバッファ76a〜76cに保存されているログデータ74が、異なる部分リングバッファ76a〜76cに対応するログデータ74によって上書きされることを防止することができる。CPU50は、上位制御装置110からの指令に基づいて、メインRAM70に保存されているログデータ74を、上位制御装置110に送信する。作業者は、上位制御装置110が受信するログデータ74を解析することで、部品実装機10が実行しているタスク62の状態を確認する。メインRAM70が、複数の部分リングバッファ76で構成されているため、上位制御装置110には、複数のタスク62a〜62cのそれぞれに対応するログデータ74が、確実に送信される。これにより、作業者は、複数のタスク62a〜62cのそれぞれの状態を、適切に判断することができる。
上述のように、CPU50の全処理能力に占める複数のタスク62a〜62cのそれぞれの占有率は、動的に変化する。一般的に、占有率が大きいタスク62の方が、占有率が小さいタスク62よりも多くのログデータ74を生成する。このため、部分リングバッファ76のサイズは、後述するリングバッファ分割処理において、タスク62の占有率に応じて、動的に変化することが可能に構成されている。なお、部品実装機10の運転開始時(デフォルト)の部分リングバッファ76のサイズは、部品実装機10の運転開始処理における各タスクの占有率に基づいて、設定されることが好ましい。
サブRAM80は、リングバッファを備えている。サブRAM80のリングバッファには、後述するリングバッファ分割処理中に、部分リングバッファ76a〜76cに記憶されているログデータ74が一時的に記憶される。なお、サブRAM80のサイズは、メインRAM70のサイズよりも大きいことが好ましい。
次に、図5、6を用いて、CPU50が実行するリングバッファ分割処理について説明する。リングバッファ分割処理は、第1設定期間t毎に実行される処理である。第1設定期間tは、予め設定されていてもよいし、操作パネル28から入力されるように構成されていてもよい。第1設定期間tが短いほうが、各タスクの占有率が急変した場合、例えば、部品実装機10が故障した場合などに、対応しやすくなる。なお、メインRAM70のリングバッファのサイズは、例えば、100Mbyteであり、リングバッファ分割処理前の部分リングバッファ76a、76b、76cのサイズは、例えば、20Mbyte、30Mbyte、50Mbyteとする。また、リングバッファ分割処理前の部分リングバッファ76a〜76cのサイズを第1分割サイズとし、リングバッファ分割処理後の部分リングバッファ76a〜76cのサイズを第2分割サイズとする。
まず、ステップS12において、CPU50は、第1設定期間t内に実行した複数のタスク62a〜62cのそれぞれについて、CPU50の全処理能力に占める各タスク62a〜62cの占有率を算出する。次いで、ステップS14において、CPU50は、ステップS12で算出した各タスク62a〜62cの占有率に基づいて、部分リングバッファ76a〜76cの第2分割サイズを設定する。上述したように、CPU50の占有率が高いタスク62a〜62cは、占有率が低いタスク62a〜62cよりも、多くのログデータ74を生成する。このため、CPU50は、占有率が高いタスク62a〜62cに対応する部分リングバッファ76a〜76cのサイズが、占有率が低いタスク62a〜62cに対応する部分リングバッファ76a〜76cのサイズよりも大きくなるように、第2分割サイズを設定する。具体的には、CPU50は、メインRAM70のリングバッファのサイズにタスク62a〜62cの占有率を乗じることで、部分リングバッファ76の第2分割サイズを設定する。例えば、タスク62a、62b、62cのそれぞれの占有率が、60%、20%、20%と算出された場合において、メインRAM70のリングバッファのサイズが100Mbyteであるとすると、部分リングバッファ76a、76b、76cの第2分割サイズは、それぞれ60Mbyte、20Mbyte、20Mbyteと設定される。
次いで、ステップS16において、CPU50は、メインRAM70のリングバッファに保存されているログデータ74を、サブRAM80に退避させる。この際、部分リングバッファ76a〜76c毎に、当該部分リングバッファ76a〜76cに記憶されているログデータ74をサブRAM80に退避させる。すなわち、サブRAM80は、タスク62a〜62cに応じて複数の領域に分割されており、分割された各領域に対応するタスク62のログデータ74が格納される。次いで、ステップS18において、CPU50は、メインRAM70のリングバッファを、ステップS14で設定した第2分割サイズに分割する。なお、メインRAM70のリングバッファを第2分割サイズに分割する際には、メインRAM70のリングバッファに確保されていたログデータ74がクリアされる。
次いで、ステップS20において、CPU50は、部分リングバッファ76の第2分割サイズが、第1分割サイズ以上か否かを判定する。部分リングバッファ76の第2分割サイズが第1分割サイズ以上の場合(S20でYES)、CPU50は、ステップS22に進む。ステップS22において、CPU50は、サブRAM80に退避されている当該部分リングバッファ76に対応するログデータ74を、当該部分リングバッファ76に再保存する(例えば、図6の部分リングバッファ76a)。この場合、リングバッファ分割処理前の部分リングバッファ76に保存されていた全てのログデータ74を、第2分割サイズに変更後の部分リングバッファ76に保存することができる。一方、部分リングバッファ76の第2分割サイズが第1分割サイズより小さい場合(S20でNO)、CPU50は、ステップS24に進む。ステップS24において、CPU50は、サブRAM80に退避されている当該部分リングバッファ76に対応するログデータ74を、当該部分リングバッファ76に選択的に再保存する(例えば、図6の部分リングバッファ76b、76c)。この場合、リングバッファ分割処理前に保存されていたログデータ74の全てを、第2分割サイズに変更された部分リングバッファ76に保存することができないためである。具体的には、CPU50は、時刻情報74bの新しいログデータ74を優先的に保存する。
上述の説明から明らかなように、本実施例のコントローラ40において、メインRAM70のリングバッファは、複数のタスク62a〜62cのそれぞれのログデータ74を記憶する複数の部分リングバッファ76に分割されている。これにより、部分リングバッファ76に保存されているログデータ74が、他の部分リングバッファ76に対応するタスク62に関するログデータ74により上書きされることを防止することができる。この結果、作業者は、複数のタスク62の状態を適切に判断することができる。
また、コントローラ40は、第1設定期間t毎に、リングバッファ分割処理を実行する。リングバッファ分割処理において、コントローラ40は、各タスク62の占有率に応じて、メインRAM70のリングバッファを分割する。これにより、CPU50の全処理能力に占める各タスク62の占有率の動的な変化に対応することができる。すなわち、リングバッファ分割処理により、部分リングバッファ76のサイズを、各タスク62の占有率の動的な変化に合わせることで、部分リングバッファ76のサイズを適切なサイズに調整することができる。
また、コントローラ40は、リングバッファ分割処理において、部分リングバッファ76のサイズを変更する前に、サブRAM80にログデータ74を待避させ、変更前のメインRAM70のリングバッファに記憶されているログデータ74をクリアしている。部分リングバッファ76に保存されるログデータ74を、サブRAM80に退避させることなく、部分リングバッファ76のサイズを変更する場合、サイズ変更後の部分リングバッファ76に、複数のタスク62に対応するログデータ74が保存される場合がある。一方、本実施例では、部分リングバッファ76のサイズを変更する前に、サブRAM80にログデータ74を待避させているため、部分リングバッファ76に対応するタスク62のログデータ74のみが、サイズ変更後の部分リングバッファ76に保存される。これによって、作業者は、部品実装機10の複数のタスク62の状態を適切に判断することができる。
図7を用いて、実施例2の部品実装機10について説明する。なお、実施例間で共通する構成については、同じ符号を付して説明を省略する。実施例2では、リングバッファ分割処理が実施例1のリングバッファ分割処理とは異なる。実施例2のリングバッファ分割処理は、第2設定期間t毎に実行される処理である。なお、第2設定期間tは、第1設定期間tと同様に設定することができる。
まず、ステップS112において、CPU50は、第2設定期間tの間に、複数の部分リングバッファ76a〜76cのそれぞれに保存されたログデータ74の情報サイズを算出する。次いで、ステップS114において、CPU50は、第2設定期間tの間にメインRAM70のリングバッファ(すなわち、部分リングバッファ76a〜76c)に保存されたログデータ74の情報サイズ(以下、第1情報サイズという)に対して、各部分リングバッファ76a〜76cに保存されたログデータ74の情報サイズの割合を算出する。第1情報サイズは、部分リングバッファ76a、76b、76cの情報サイズを足し合わせた値である。
次いでステップS116において、CPU50は、部分リングバッファ76a〜76cの情報サイズの割合に基づいて、部分リングバッファ76a〜76cの第2分割サイズを算出する。具体的には、CPU50は、メインRAM70のリングバッファのサイズにステップS114で算出された各部分リングバッファ76a〜76cの割合を乗じることで、部分リングバッファ76a〜76cの第2分割サイズを算出する。例えば、メインRAM70のリングバッファのサイズが100Mbyteであり、部分リングバッファ76a、76b、76cの情報サイズがそれぞれ6Mbyte、2Mbyte、2Mbyteである場合について説明する。この場合、第1情報サイズは、10Mbyteとなり、部分リングバッファ76a、76b、76cの割合は、60%、20%、20%と算出される。したがって、部分リングバッファ76a、76b、76cの第2分割サイズは、60Mbyte、20Mbyte、20Mbyteと算出される(図6参照)。
次いで、ステップS118において、CPU50は、メインRAM70のリングバッファに保存されているログデータ74を、サブRAM80に退避させる。次いで、ステップS120において、CPU50は、部分リングバッファ76a〜76cを、ステップS116で設定した第2分割サイズに変更する。
次いでステップS122において、CPU50は、各部分リングバッファ76a〜76cに対して、当該部分リングバッファ76a〜76cの第2分割サイズが、第1分割サイズ以上か否かを判定する。部分リングバッファ76の第2分割サイズが第1分割サイズ以上の場合(S122でYES)、CPU50は、ステップS124に進む。ステップS124において、CPU50は、サブRAM80に退避されている当該部分リングバッファ76に対応するログデータ74を、当該部分リングバッファ76に再保存する(例えば図6の部分リングバッファ76a)。この場合、リングバッファ分割処理前の部分リングバッファ76に保存されていた全てのログデータ74が、第2分割サイズに変更後の部分リングバッファ76に保存される。一方、部分リングバッファ76の第2分割サイズが第1分割サイズより小さい場合(S122でNO)、CPU50は、ステップS126に進む。ステップS126において、CPU50は、サブRAM80に退避されている当該部分リングバッファ76に対応するログデータ74を、当該部分リングバッファ76のサイズに応じたデータ量となるように選択的に再保存する(例えば、図6の部分リングバッファ76b、76c)。具体的には、CPU50は、時刻情報74bの新しいログデータ74を優先的に保存する。
上述の説明から明らかなように、第2実施例のコントローラ40は、第2設定期間t毎に、リングバッファ分割処理を実行する。リングバッファ分割処理において、コントローラ40は、第2設定期間tの間に、部分リングバッファ76a〜76cに保存されたログデータ74の情報サイズの割合に基づいて、部分リングバッファ76a〜76cのサイズを変更する。このため、部分リングバッファ76a〜76cの情報サイズの割合に基づいて、部分リングバッファ76a〜76cの第2分割サイズを算出することでも、各タスク62a〜62cのログ出力量の動的な変化に合わせることができる。これにより、部分リングバッファ76a〜76cのサイズを、適切なサイズに調整することができる。
以上、本明細書に開示の技術に係る実施例について詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
上記の各実施例では、コントローラ40は、メインRAM70とサブRAM80の2つのRAMを備えている。しかしながら、コントローラ40は、メインRAM70のみで構成されていてもよい。この場合、図8のように、メインRAM70を、プログラム領域172と、メインログ領域174と、サブログ領域178に分割する。例えば、メインRAMのサイズが2Gbyteである場合に、プログラム領域172、メインログ領域174、サブログ領域178のサイズを、1Gbyte、500Mbyte、500Mbyteに分割するなどである。プログラム領域172には、タスク62a〜62cの処理に関する情報が保存される。メインログ領域174は、複数の部分リングバッファ176a〜176cに分割されており、タスク62a〜62aのそれぞれに対応するログデータ74が保存される。複数の部分リングバッファ176のそれぞれのサイズは、リングバッファ分割処理によって動的に変化する。サブログ領域178には、リングバッファ分割処理中に、メインログ領域174(詳細には、部分リングバッファ176a〜176c)に記憶されているログデータ74が一時的に記憶される。この構成によれば、各実施例と同様の効果を奏することができる。

Claims (5)

  1. 電子部品を回路基板に実装する部品実装機に装備され、前記部品実装機の少なくとも一部の動作を制御するコントローラであって、
    複数のタスクを実行するプロセッサと、
    前記プロセッサが実行した前記タスクに関するログ情報を記憶するリングバッファと、を備えており、
    前記リングバッファは、前記複数のタスク毎に、当該タスクを前記プロセッサが実行したときのログ情報を記憶する部分リングバッファに分割されており、
    前記プロセッサは、
    処理周期毎に、前記複数のタスクのそれぞれについて、当該タスクに関するログ情報を、当該タスクに対応する前記部分リングバッファに保存し、
    予め定められた設定期間毎に、前記複数のタスクのそれぞれについて、当該プロセッサの全処理能力に占める当該タスクの占有率を算出し、
    前記設定期間毎に、前記複数のタスクのそれぞれについて、当該タスクについて算出された占有率に応じたサイズの部分リングバッファに前記リングバッファを分割するように構成されている、
    コントローラ。
  2. 電子部品を回路基板に実装する部品実装機に装備され、前記部品実装機の少なくとも一部の動作を制御するコントローラであって、
    複数のタスクを実行するプロセッサと、
    前記プロセッサが実行した前記タスクに関するログ情報を記憶するリングバッファと、を備えており、
    前記リングバッファは、前記複数のタスク毎に、当該タスクを前記プロセッサが実行したときのログ情報を記憶する部分リングバッファに分割されており、
    前記プロセッサは、
    処理周期毎に、前記複数のタスクのそれぞれについて、当該タスクに関するログ情報を、当該タスクに対応する前記部分リングバッファに保存し
    予め定められた設定期間毎に、当該設定期間の間に前記複数の部分リングバッファのそれぞれに保存された前記ログ情報の情報サイズを算出し、
    前記設定期間毎に、前記複数のタスクのそれぞれについて、当該タスクについて算出された情報サイズと、当該設定期間に保存された全てのログ情報の情報サイズとの比に応じたサイズの部分リングバッファに分割するように構成されている、
    コントローラ。
  3. 電子部品を回路基板に実装する部品実装機に装備され、前記部品実装機の少なくとも一部の動作を制御するコントローラであって、
    複数のタスクを実行するプロセッサと、
    前記プロセッサが実行した前記タスクに関するログ情報を記憶するリングバッファと、
    前記複数のログ情報を記憶するサブメモリと、を備えており、
    前記リングバッファは、前記複数のタスク毎に、当該タスクを前記プロセッサが実行したときのログ情報を記憶する部分リングバッファに分割されており、
    前記プロセッサは、
    処理周期毎に、前記複数のタスクのそれぞれについて、当該タスクに関するログ情報を、当該タスクに対応する前記部分リングバッファに保存し、
    前記複数の部分リングバッファのいずれかのサイズを変更するときは、前記複数の部分リングバッファのそれぞれに保存されている前記ログ情報を前記サブメモリに退避し、
    前記ログ情報を前記サブメモリに退避した後に、前記複数の部分リングバッファのサイズを変更し、
    前記複数の部分リングバッファのサイズを変更した後に、前記サブメモリに退避されているログ情報を、前記複数の部分リングバッファのそれぞれに保存するように構成されている、
    コントローラ。
  4. 前記複数のログ情報を記憶するサブメモリをさらに備えており、
    前記プロセッサは、前記複数の部分リングバッファのいずれかのサイズを変更するときは、前記複数の部分リングバッファのそれぞれに保存されている前記ログ情報を前記サブメモリに退避し、
    前記ログ情報を前記サブメモリに退避した後に、前記複数の部分リングバッファのサイズを変更し、
    前記複数の部分リングバッファのサイズを変更した後に、前記サブメモリに退避されているログ情報を、前記複数の部分リングバッファのそれぞれに保存するように構成されている、請求項1又は2に記載のコントローラ。
  5. 前記プロセッサは、前記ログ情報を前記部分リングバッファに保存するときに、当該ログ情報に対応する時刻情報を、当該部分リングバッファに保存するように構成されている、請求項1から4のいずれか一項に記載のコントローラ。
JP2017527012A 2015-07-07 2015-07-07 部品実装機に装備されるコントローラ Active JP6584506B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/069557 WO2017006437A1 (ja) 2015-07-07 2015-07-07 部品実装機に装備されるコントローラ

Publications (2)

Publication Number Publication Date
JPWO2017006437A1 JPWO2017006437A1 (ja) 2018-04-19
JP6584506B2 true JP6584506B2 (ja) 2019-10-02

Family

ID=57685095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017527012A Active JP6584506B2 (ja) 2015-07-07 2015-07-07 部品実装機に装備されるコントローラ

Country Status (2)

Country Link
JP (1) JP6584506B2 (ja)
WO (1) WO2017006437A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7464617B2 (ja) * 2019-10-03 2024-04-09 株式会社Fuji モータ駆動装置を備えた部品実装機

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003168895A (ja) * 2001-12-03 2003-06-13 Juki Corp 表面実装装置
JP2008171119A (ja) * 2007-01-10 2008-07-24 Nec Saitama Ltd 端末機器の不具合検出システム、その方法およびプログラム

Also Published As

Publication number Publication date
WO2017006437A1 (ja) 2017-01-12
JPWO2017006437A1 (ja) 2018-04-19

Similar Documents

Publication Publication Date Title
US11076520B2 (en) Production management device for mounting components on multiple board types
JP2007012929A (ja) 表面実装機の干渉チェック方法、干渉チェック装置、同装置を備えた表面実装機、及び実装システム
JP6584506B2 (ja) 部品実装機に装備されるコントローラ
JP5009939B2 (ja) 実装条件決定方法
JP4332586B2 (ja) 部品実装順序決定方法
JP4551319B2 (ja) 部品実装方法及び部品実装機
JP2012134303A (ja) 電子部品装着装置、および、電子部品装着方法
JPWO2016151833A1 (ja) 部品実装ラインの最適化装置および部品実装ラインの最適化方法
JP4399385B2 (ja) 装置タクト最適化方法、装置タクト最適化装置、実装処理装置
JP4995848B2 (ja) 実装条件決定方法
JP6386651B2 (ja) 電子部品装着装置
JP2006324421A (ja) 実装処理の最適化方法および部品実装システム
EP3331337B1 (en) Component mounting machine
JP6792393B2 (ja) 部品実装ラインの地震発生時緊急停止システム
JP6424236B2 (ja) 対基板作業管理装置
JP4887328B2 (ja) 実装条件決定方法
JP7235603B2 (ja) 部品実装用データの変更装置、変更プログラム、及び、表面実装機
JP6517048B2 (ja) 部品実装機
JP2005216945A (ja) フィーダ配置設定方法および同装置
US11330751B2 (en) Board work machine
JP7088809B2 (ja) ワーク作業装置、ワーク作業システム、及び、ワーク作業装置の制御方法
JP2521939B2 (ja) 加工装置
EP3021652B1 (en) Method for allocating electronic components and electronic component mounting system
WO2023112187A1 (ja) 部品実装システム、部品実装装置、部品実装方法、プログラムおよび記録媒体
JP6745878B2 (ja) 生産プログラム最適化システム及び生産管理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190801

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190827

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190903

R150 Certificate of patent or registration of utility model

Ref document number: 6584506

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250