(57)【要約】  処理部からメモリへの不正な書き込みを制限できる情報処理装置及び作業機を提供すること。  情報処理装置は、処理部と、プログラムが記憶されたメモリと、処理部と、メモリとの間に接続され、処理部からメモリへの書き込みを制御するメモリコントローラと、メモリコントローラへリセット信号を出力し、処理部からメモリへの書き込みを制限するリセット回路と、を備える。
2020217303.tif 000002
【特許請求の範囲】
【請求項１】
処理部と、
プログラムが記憶されたメモリと、
前記処理部と、前記メモリとの間に接続され、前記処理部から前記メモリへの書き込みを制御するメモリコントローラと、
前記メモリコントローラへリセット信号を出力し、前記処理部から前記メモリへの書き込みを制限するリセット回路と、
を備える情報処理装置。
【請求項２】
前記処理部から許可信号を取得することに応じて、前記リセット信号による制限を解除する前記リセット回路を備える請求項１に記載の情報処理装置。
【請求項３】
前記処理部から前記許可信号を取得できない場合、前記リセット信号による制限を維持する前記リセット回路を備える請求項２に記載の情報処理装置。
【請求項４】
書き込みを制限する書き込み制限機能を有し、前記処理部から前記メモリコントローラを介して前記書き込み制限機能を解除可能な前記メモリと、
前記許可信号を出力し前記リセット回路による制限を解除し、且つ前記メモリコントローラを介して前記書き込み制限機能を解除した後、前記メモリへの書き込みを実行する前記処理部と、を備える請求項２又は請求項３に記載の情報処理装置。
【請求項５】
前記プログラムは、
前記情報処理装置の起動時に前記処理部により実行される起動プログラムを含む、請求項１乃至請求項４の何れか１項に記載の情報処理装置。
【請求項６】
コンフィグ情報に基づいて論理回路を構築するプログラマブル論理デバイスを備え、
前記プログラムは、
前記コンフィグ情報を含む、請求項１乃至請求項５の何れか１項に記載の情報処理装置。
【請求項７】
請求項１乃至請求項６の何れか１項に記載の情報処理装置を備え、作業に係わるデータを前記情報処理装置により処理する作業機。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、プログラムが記憶されたメモリに書き込みを行う情報処理装置、及びその情報処理装置を備える作業機に関するものである。
【背景技術】
【０００２】
従来、複数のＣＰＵと、その複数のＣＰＵからデータを書き込まれるメモリとを備える情報処理装置がある（例えば、特許文献１など）。特許文献１の情報処理装置は、複数のＣＰＵのうち、メモリに対する書き込みを行うＣＰＵ以外のＣＰＵの動作を停止させる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第ＷＯ２００８／０７８５６４号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ＣＰＵなどの処理部は、例えば、使用環境の気温が高かった場合に、熱によって処理にエラーが発生する可能性がある。この場合、処理部からメモリへ不正な書き込みが行われる可能性がある。【０００５】
本開示は、上記の課題に鑑みてなされたものであり、処理部からメモリへの不正な書き込みを制限できる情報処理装置及び作業機を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本明細書は、処理部と、プログラムが記憶されたメモリと、前記処理部と、前記メモリとの間に接続され、前記処理部から前記メモリへの書き込みを制御するメモリコントローラと、前記メモリコントローラへリセット信号を出力し、前記処理部から前記メモリへの書き込みを制限するリセット回路と、を備える情報処理装置を開示する。【０００７】
また、本開示の内容は、情報処理装置に限定されることなく、情報処理装置を備える作業機として実施しても有益である。
【発明の効果】
【０００８】
本開示の情報処理装置等によれば、処理部は、リセット回路によって、メモリへの書き込みを制限される。このため、仮に、処理エラーなどが発生し処理部がメモリへ不正な書き込みを実行しようとしても、リセット回路によって不正な書き込みを制限できる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態の部品装着システムの概略構成を示す平面図である。
【図２】部品装着機及びローダの概略構成を示す斜視図である。
【図３】多重通信システムのブロック図である。
【図４】第１多重処理装置の構成を示すブロック図である。
【図５】比較例と、本実施形態のメモリに対する書き込み動作のタイミングチャートである。
【発明を実施するための形態】
【００１０】
以下、本開示の一実施形態について図面を参照しながら説明する。図１は、本実施形態の部品装着システム１０の概略構成を示す平面図である。図２は、部品装着機２０及びローダ１３の概略構成を示す斜視図である。なお、以下の説明では、図１の左右方向をＸ方向と称し、前後方向をＹ方向と称し、Ｘ方向及びＹ方向に垂直な方向をＺ方向（上下方向）と称して説明する。
【００１１】
図１に示すように、部品装着システム１０は、生産ライン１１と、ローダ１３と、管理コンピュータ１５とを備えている。生産ライン１１は、Ｘ方向に並べられた複数の部品装着機２０を有し、基板１７に対する電子部品の装着等を行う。基板１７は、例えば、図１に示す左側の部品装着機２０から右側の部品装着機２０へと搬出され、搬送中に電子部品の装着等を実行される。
【００１２】
図２に示すように、部品装着機２０は、ベース２１と、モジュール２２とを備えている。ベース２１は、Ｙ方向に長い略長方形の箱型をなし、部品装着機２０を設置する工場の床等に載置される。ベース２１は、例えば、隣り合うモジュール２２の基板搬送装置２３の位置を合わせるように上下方向の位置を調整され、隣の部品装着機２０のベース２１と互いに固定されている。モジュール２２は、基板１７に対する電子部品の装着等を行う装置であり、ベース２１の上に載置されている。モジュール２２は、ベース２１に対して前後方向の手前側へ引き出し可能となっており、他のモジュール２２と交換可能となっている。
【００１３】
モジュール２２は、基板搬送装置２３と、フィーダ台２４と、ヘッド部２５と、ヘッド移動機構２７とを備える。基板搬送装置２３は、モジュール２２内に設けられ、基板１７をＸ方向に搬送する。フィーダ台２４は、モジュール２２の前面に設けられ、側面視がＬ字状の台である。フィーダ台２４は、Ｘ方向に複数配列されたスロット（図示略）を備える。フィーダ台２４の各スロットには、電子部品を供給するフィーダ２９が装着される。フィーダ２９は、例えば、電子部品を所定のピッチで収容するテープから電子部品を供給するテープフィーダである。なお、図１に示すように、モジュール２２の上部カバーの上には、部品装着機２０に対する操作入力を行うタッチパネル２６が設けられている。図２は、上部カバーやタッチパネル２６を取り外した状態を示している。
【００１４】
ヘッド部２５は、フィーダ２９から供給された電子部品を吸着する吸着ノズル（図示略）を備え、吸着ノズルで吸着した電子部品を基板１７に装着する。ヘッド部２５は、例えば、複数の吸着ノズルの位置や、個々の吸着ノズルの位置を変更する駆動源として電磁モータ（図示略）を有している。ヘッド移動機構２７は、モジュール２２の上部部分において、Ｘ方向及びＹ方向の任意の位置にヘッド部２５を移動させる。詳述すると、ヘッド移動機構２７は、ヘッド部２５をＸ方向に移動させるＸ軸スライド機構２７Ａと、ヘッド部２５をＹ方向に移動させるＹ軸スライド機構２７Ｂとを備える。Ｘ軸スライド機構２７Ａは、Ｙ軸スライド機構２７Ｂに取り付けられている。また、Ｘ軸スライド機構２７Ａは、後述する産業用ネットワークに接続される第３スレーブ６５（図３参照）を備える。第３スレーブ６５は、Ｘ軸スライド機構２７Ａに設けられたリレー８１やセンサ８３（図３参照）などの各種素子が接続され、装置本体部４１のマスター５３（図３参照）から受信した制御データＣＤに基づいて、各種素子の入出力する信号を処理する。
【００１５】
Ｙ軸スライド機構２７Ｂは、駆動源としてリニアモータ（図示略）を有している。Ｘ軸スライド機構２７Ａは、Ｙ軸スライド機構２７Ｂのリニアモータの駆動に基づいてＹ方向の任意の位置に移動する。また、Ｘ軸スライド機構２７Ａは、駆動源としてリニアモータ（図示略）を有している。ヘッド部２５は、Ｘ軸スライド機構２７Ａに取り付けられ、Ｘ軸スライド機構２７Ａのリニアモータの駆動に基づいてＸ方向の任意の位置に移動する。従って、ヘッド部２５は、Ｘ軸スライド機構２７Ａ及びＹ軸スライド機構２７Ｂの駆動にともなってモジュール２２の上部部分で任意の位置に移動する。
【００１６】
また、ヘッド部２５は、Ｘ軸スライド機構２７Ａにコネクタを介して取り付けられ、ワンタッチで着脱可能であり、種類の異なるヘッド部２５、例えば、ディスペンサヘッド等に変更できる。従って、本実施形態のヘッド部２５は、部品装着機２０（作業機の一例）に対して着脱可能となっている。また、ヘッド部２５には、基板１７を撮影するためのマークカメラ６９（図３参照）が下方を向いた状態で固定されている。マークカメラ６９は、ヘッド部２５の移動に伴って、基板１７の任意の位置を上方から撮像可能となっている。マークカメラ６９が撮像した画像データＧＤは、モジュール２２の本体制御装置５１（図３参照）において画像処理される。本体制御装置５１は、画像処理によって、基板１７に関する情報、装着位置の誤差等を取得する。
【００１７】
また、ヘッド部２５は、産業用ネットワークに接続される第２スレーブ６１（図３参照）を備える。第２スレーブ６１は、ヘッド部２５に設けられたリレー７５やセンサ７７などの各種素子が接続され、装置本体部４１のマスター５３（図３参照）から受信した制御データＣＤに基づいて、各種素子の入出力する信号を処理する。また、ヘッド部２５には、吸着ノズルに吸着保持した電子部品を撮像するパーツカメラ７１が設けられている。パーツカメラ７１が撮像した画像データＧＤは、モジュール２２の本体制御装置５１（図３参照）において画像処理される。本体制御装置５１は、画像処理によって、吸着ノズルにおける電子部品の保持位置の誤差等を取得する。
【００１８】
また、図２に示すように、ベース２１の前面には、上部ガイドレール３１と、下部ガイドレール３３と、ラックギヤ３５と、非接触給電コイル３７とが設けられている。上部ガイドレール３１は、Ｘ方向に延びる断面Ｕ字状のレールであり、開口部が下を向いている。下部ガイドレール３３は、Ｘ方向に延びる断面Ｌ字状のレールであり、垂直面がベース２１の前面に取り付けられ、水平面が前方に伸び出している。ラックギヤ３５は、下部ガイドレール３３の下部に設けられ、Ｘ方向に延び、前面に複数の縦溝が刻まれたギヤである。ベース２１の上部ガイドレール３１、下部ガイドレール３３及びラックギヤ３５は、隣接するベース２１の上部ガイドレール３１、下部ガイドレール３３及びラックギヤ３５と着脱可能に連結することができる。このため、部品装着機２０は、生産ライン１１に並んだ部品装着機２０の数を増減することができる。非接触給電コイル３７は、上部ガイドレール３１の上部に設けられ、Ｘ方向に沿って配置されたコイルであり、ローダ１３への電力の供給を行う。
【００１９】
ローダ１３は、部品装着機２０に対するフィーダ２９の補充及び回収を自動で行う装置であり、フィーダ２９をクランプする把持部（図示略）を備える。ローダ１３には、上部ガイドレール３１に挿入される上部ローラ（図示略）と、下部ガイドレール３３に挿入される下部ローラ（図示略）とが設けられている。また、ローダ１３には、駆動源としてモータが設けられている。モータの出力軸には、ラックギヤ３５と噛み合うギヤが取り付けられている。ローダ１３は、部品装着機２０の非接触給電コイル３７から電力の供給を受ける受電コイルを備えている。ローダ１３は、非接触給電コイル３７から受電した電力をモータに供給する。これにより、ローダ１３は、モータによってギヤを回転させることで、Ｘ方向（左右方向）へ移動することができる。また、ローダ１３は、上部ガイドレール３１及び下部ガイドレール３３内でローラを回転させ、上下方向や前後方向の位置を保持しながらＸ方向へ移動することができる。
【００２０】
図１に示す管理コンピュータ１５は、部品装着システム１０を統括的に管理する装置である。例えば、生産ライン１１の部品装着機２０は、管理コンピュータ１５の管理に基づいて、電子部品の装着作業を開始する。部品装着機２０は、基板１７を搬送しながらヘッド部２５によって電子部品の装着作業を行う。また、管理コンピュータ１５は、フィーダ２９の残りの電子部品の数を監視する。管理コンピュータ１５は、例えば、フィーダ２９の補給が必要であると判断すると、補給が必要な部品種を収容したフィーダ２９をローダ１３にセットする指示を画面に表示する。ユーザは、画面を確認して、フィーダ２９をローダ１３にセットする。管理コンピュータ１５は、所望のフィーダ２９がローダ１３にセットされたことを検出すると、ローダ１３に対して補給作業の開始を指示する。ローダ１３は、指示を受けた部品装着機２０の前方まで移動し、ユーザによってセットされたフィーダ２９を把持部で挟持してフィーダ台２４のスロットに装着する。これにより、新たなフィーダ２９が部品装着機２０に補給される。また、ローダ１３は、部品切れになったフィーダ２９を把持部で挟持してフィーダ台２４から引き出して回収する。このようにして、新たなフィーダ２９の補給及び部品切れとなったフィーダ２９の回収を、ローダ１３によって自動的行うことができる。
【００２１】
次に、部品装着機２０が備える多重通信システムについて説明する。図３は、部品装着機２０の多重通信システムの構成を示すブロック図である。図２に示すように、部品装着機２０は、装置本体部４１と、分岐スレーブ４３と、固定多重部４５をモジュール２２内に備えている。装置本体部４１、分岐スレーブ４３、及び固定多重部４５は、基板搬送装置２３の下方におけるモジュール２２内に設けられている。
【００２２】
図３に示すように、本実施形態の多重通信システムでは、モジュール２２内に固定された装置本体部４１、分岐スレーブ４３及び固定多重部４５と、モジュール２２内で移動する可動部（Ｘ軸スライド機構２７Ａ及びヘッド部２５）との間のデータ伝送を多重通信により行う。装置本体部４１は、本体制御装置５１と、マスター５３を有している。また、分岐スレーブ４３は、マスター５３と接続されている。固定多重部４５は、第１多重処理装置５５を備える。第１多重処理装置５５の第１スレーブ５７は、分岐スレーブ４３と接続されている。ヘッド部２５には、第２スレーブ６１を有する第２多重処理装置６３が設けられている。また、Ｘ軸スライド機構２７Ａには、第３スレーブ６５を有する第３多重処理装置６７が設けられている。
【００２３】
分岐スレーブ４３、第１スレーブ５７、第２スレーブ６１、及び第３スレーブ６５は、マスター５３によって制御される。マスター５３は、産業用ネットワークに接続される分岐スレーブ４３、第１スレーブ５７、第２スレーブ６１、及び第３スレーブ６５を制御する制御データＣＤの伝送を統括的に制御する。産業用ネットワークは、例えば、ＥｔｈｅｒＣＡＴ（登録商標）である。なお、本開示の産業用ネットワークとしては、ＥｔｈｅｒＣＡＴ（登録商標）に限らず、例えば、ＭＥＣＨＡＴＲＯＬＩＮＫ（登録商標）−ＩＩＩやＰｒｏｆｉｎｅｔ（登録商標）等の他のネットワーク（通信規格）を採用できる。
【００２４】
本体制御装置５１は、例えば、ＣＰＵを主体として構成される処理回路であり、マスター５３によって収集した制御データＣＤや、第１多重処理装置５５で受信した画像データＧＤ等を入力し、次の制御内容（装着する電子部品の種類や装着位置など）を決定する。また、本体制御装置５１は、決定した制御内容に応じた制御データＣＤをマスター５３から送信させる。マスター５３は、産業用ネットワークを介して分岐スレーブ４３、第１スレーブ５７、第２スレーブ６１、及び第３スレーブ６５へ制御データＣＤを送信する。
【００２５】
ヘッド部２５は、上記した第２多重処理装置６３、マークカメラ６９、パーツカメラ７１等を有している。第２スレーブ６１は、装置本体部４１のマスター５３から受信した制御データＣＤに基づいて、各種素子（リレー７５やセンサ７７など）で入出力される信号を処理する。例えば、制御データＣＤには、複数のスレーブ（第２スレーブ６１など）の各々に対応した書き込み領域及び読み込み領域が設定されている。第２スレーブ６１は、マスター５３から受信した制御データＣＤのうち、当該第２スレーブ６１用の読み込み領域から読み出したデータに基づいてリレー７５やセンサ７７を駆動する。また、第２スレーブ６１は、リレー７５の駆動結果の信号やセンサ７７の検出信号に応じたデータを、制御データＣＤのうち、当該第２スレーブ６１用の書き込み領域へ書き込む。第２スレーブ６１は、書き込みが終了した制御データＣＤを、マスター５３や他のスレーブ（第３スレーブ６５など）に向けて送信する。なお、制御データＣＤは、後述する多重の高速シリアル通信により伝送される。また、第１多重処理装置５５の第１スレーブ５７は、第２スレーブ６１と同様に、マスター５３から分岐スレーブ４３を介して受信した制御データＣＤに基づいて、固定多重部４５が備える各種素子を制御する。
【００２６】
また、Ｘ軸スライド機構２７Ａの第３スレーブ６５は、上記したヘッド部２５の第２スレーブ６１と同様に、制御データＣＤに基づいて、Ｘ軸スライド機構２７Ａに取り付けられたリレー８１やセンサ８３などを制御する。制御データＣＤは、例えば、マスター５３、分岐スレーブ４３、第１スレーブ５７、第２スレーブ６１、第１スレーブ５７、第３スレーブ６５、第１スレーブ５７、分岐スレーブ４３、マスター５３の順に各スレーブを循環して伝送される。第３スレーブ６５は、第１スレーブ５７を経由してマスター５３から受信した制御データＣＤの読み込み領域のデータに基づいてリレー８１等を制御する。また、第３スレーブ６５は、センサ８３の検出データ等を制御データＣＤの書き込み領域に書き込み第１スレーブ５７を経由してマスター５３へ送信する。
【００２７】
ヘッド部２５やＸ軸スライド機構２７Ａ等が備える各種素子（制御データＣＤによって制御される素子）は、特に限定されない。例えば、Ｘ軸スライド機構２７Ａのリレー８１は、Ｘ軸スライド機構２７Ａのリニアモータのブレーキを駆動する駆動信号を出力するリミットスイッチである。リレー８１は、駆動信号を出力してブレーキを駆動することで、例えば、Ｘ軸スライド機構２７Ａのオーバーランを抑制する。また、Ｘ軸スライド機構２７Ａのセンサ８３は、例えば、部品装着機２０に設定された基準高さ位置に基づいて、基板１７の上面の高さを計測する基板高さセンサである。
【００２８】
次に、上記した産業用ネットワークの制御データＣＤやパーツカメラ７１等の画像データＧＤを伝送する多重通信について説明する。本実施形態の部品装着機２０は、上記した固定多重部４５、Ｘ軸スライド機構２７Ａ及びヘッド部２５の間のデータ伝送を多重の高速シリアル通信によって実行する。図３に示すように、固定多重部４５は、上記した第１多重処理装置５５の他に、光変換モジュール８５，８７を有する。光変換モジュール８５は、ヘッド部２５が有する光変換モジュール８９と、光ファイバケーブル９１を介して接続されている。同様に、固定多重部４５の光変換モジュール８７は、Ｘ軸スライド機構２７Ａが有する光変換モジュール９３と、光ファイバケーブル９５を介して接続されている。光ファイバケーブル９１，９５は、例えば、ケーブル内の光ファイバ線の配置や太さを調整して、耐屈曲性を高めたものである。これにより、ヘッド部２５やＸ軸スライド機構２７Ａの移動にともなって光ファイバケーブル９１，９５が屈曲した場合であっても、光ファイバ線を損傷させることなく、安定してデータを伝送できる。なお、固定多重部４５、ヘッド部２５、Ｘ軸スライド機構２７Ａを接続する通信は、光通信に限らず、例えば、Ｇｉｇａｂｉｔ  Ｅｔｈｅｒｎｅｔ（登録商標）の通信規格に準拠したＬＡＮケーブルを用いたパケット通信でも良い。また、部品装着機２０が備える通信システムは、有線の通信システムに限らず、無線の通信システムでも良い。
【００２９】
次に、第１多重処理装置５５の構成について説明する。なお、第１多重処理装置５５以外の多重処理装置である第２多重処理装置６３及び第３多重処理装置６７の構成は、第１多重処理装置５５と同様の構成となっている。このため、以下の説明では、第１多重処理装置５５の構成について主に説明し、第２多重処理装置６３及び第３多重処理装置６７の構成の説明を省略する。
【００３０】
図４は、第１多重処理装置５５の構成を示している。図４に示すように、第１多重処理装置５５は、ＦＰＧＡ１０１と、メモリ１０５とを備えている。ＦＰＧＡ１０１は、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙであり、コンフィグ情報に基づいて、論理回路を構築可能なプログラマブル論理デバイスである。ＦＰＧＡ１０１は、上記した第１スレーブ５７の他に、多重処理部１２１、ＣＰＵ１２３、メモリコントローラ１２４、リセット回路１２５を備えている。第１スレーブ５７は、例えば、プログラマブル論理デバイスの論理回路の構築に使用されるＩＰコアである。なお、本開示のプログラマブル論理デバイスは、ＦＰＧＡに限らず、プログラマブルロジックデバイス（ＰＬＤ）、複合プログラマブルロジックデバイス（ＣＰＬＤ）でも良い。
【００３１】
多重処理部１２１は、後述するメモリ１０５に記憶されたコンフィグ情報１４２に基づいてＦＰＧＡ１０１に構築される論理回路であり、多重化の処理を実行する。例えば、多重処理部１２１は、産業用ネットワークの制御データＣＤ、本体制御装置５１からマークカメラ６９等に送信する撮像の開始信号などを入力し多重化する。多重処理部１２１は、例えば、時分割多重化方式（ＴＤＭ：Ｔｉｍｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅｘｉｎｇ）により多重化を行う。多重処理部１２１は、例えば、入力した各種データを、入力ポートに対して割り当てた一定時間（タイムスロット）に応じて多重化し、多重化した多重化データを、光変換モジュール８５（図３参照）を介してヘッド部２５へ送信する。また、多重処理部１２１は、ヘッド部２５やＸ軸スライド機構２７Ａから受信した多重化データの分離を行う。尚、図３及び図４に示す多重通信システムの構成は、一例であり適宜変更可能である。例えば、ヘッド部２５の吸着ノズルの駆動源である電磁モータのエンコーダのエンコーダ信号や、エンコーダに対する制御コマンドを多重化しても良い。また、図３に示す本実施形態の多重通信システムでは、Ｙ軸スライド機構２７Ｂが接続されていない。しかしながら、例えば、Ｙ軸スライド機構２７Ｂのリニアモータに取り付けたリニアスケールのエンコーダ信号を、多重通信システムにより伝送しても良い。
【００３２】
ＣＰＵ１２３は、ＦＰＧＡ１０１に実装される処理回路であり、例えば、アルテラ社製のＮＩＯＳ（登録商標）−ＩＩである。ＣＰＵ１２３は、例えば、バス１３１を介してメモリコントローラ１２４と接続されている。メモリコントローラ１２４は、例えば、バス１３２を介してメモリ１０５に接続されている。メモリ１０５は、例えば、ＥＰＣＱ（クワッド・シリアル・コンフィギュレーション・デバイス、登録商標)であり、制御プログラム１４１、コンフィグ情報１４２を記憶するフラッシュメモリを備えている。ＣＰＵ１２３は、バス１３１、メモリコントローラ１２４、バス１３２を介してメモリ１０５との間で各種の信号を送受信する。ここでいう各種の信号とは、クロック信号ｃｌｋやデータ信号ｄａｔａである。なお、上記した構成は、一例である。例えば、制御プログラム１４１やコンフィグ情報１４２を記憶する記憶装置は、ＥＰＣＱ（フラッシュメモリ）に限らず、ＥＥＰＲＯＭ等でも良い。
【００３３】
ＣＰＵ１２３は、例えば、部品装着機２０の起動時にＦＰＧＡ１０１へ電力を供給されると、メモリ１０５から制御プログラム１４１を読み出して実行する。ＣＰＵ１２３は、制御プログラム１４１を実行することで各種の制御を行う。なお、以下の説明では、制御プログラム１４１を実行するＣＰＵ１２３のことを、単にＣＰＵ１２３として記載する場合がある。例えば、「ＣＰＵ１２３は」という記載は、「制御プログラム１４１を実行するＣＰＵ１２３は」ということを意味する場合がある。
【００３４】
例えば、ＣＰＵ１２３は、各種の制御として、産業用ネットワークを介して第１スレーブ５７により送受信される制御データＣＤを処理する。ＣＰＵ１２３は、例えば、固定多重部４５に設けられたリレーやセンサ（図示略）の信号を第１スレーブ５７へ出力する。第１スレーブ５７は、リレーやセンサの信号に応じたデータを、制御データＣＤのうち、第１スレーブ５７用の書き込み領域へ書き込む。また、第１スレーブ５７は、マスター５３から受信した制御データＣＤのうち、第１スレーブ５７用の読み込み領域から読み出したデータをＣＰＵ１２３へ出力する。ＣＰＵ１２３は、第１スレーブ５７から入力したデータに基づいて、リレーやセンサを駆動する。従って、本実施形態の制御プログラム１４１は、部品装着機２０の各種作業の制御に用いられるプログラムである。なお、上記した制御プログラム１４１による制御内容は、一例である。例えば、第２多重処理装置６３のＣＰＵは、エンコーダ信号の処理やパーツカメラ７１の制御信号の処理などを実行しても良い。
【００３５】
また、ＣＰＵ１２３は、例えば、部品装着機２０の起動時にＦＰＧＡ１０１へ電力を供給されると、メモリ１０５からコンフィグ情報１４２を読み出して、ＦＰＧＡ１０１の論理回路の構築を実行する。ＣＰＵ１２３は、メモリ１０５から読み出したコンフィグ情報１４２に基づいて、多重処理部１２１などの論理回路を構築する。
【００３６】
また、本実施形態のメモリ１０５は、外部からの書き込みを制限する書き込み制限機能を有している。具体的には、メモリコントローラ１２４は、ステータスレジスタ１２４Ａを有する。メモリコントローラ１２４は、ステータスレジスタ１２４Ａのビット値に応じて、メモリ１０５に対する書き込みを制御する。また、メモリ１０５は、メモリコントローラ１２４と同様に、ステータスレジスタ１０５Ａを有する。メモリ１０５は、例えば、ステータスレジスタ１０５Ａのビット値として書き込みを許可する値が設定されている状態では、クロック信号ｃｌｋに同期してバス１３２を介してデータ信号ｄａｔａを取り込む。メモリ１０５は、取り込んだデータを、記憶領域の指定されたアドレスに書き込む。また、メモリ１０５は、ビット値として書き込みを禁止する値が設定されている状態では、データ信号ｄａｔａの取り込みや記憶領域への書き込みを禁止する。
【００３７】
また、メモリコントローラ１２４は、例えば、ステータスレジスタ１２４Ａのビット値と、メモリ１０５のステータスレジスタ１０５Ａのビット値とを同期させる。例えば、ＣＰＵ１２３は、メモリ１０５への書き込みを実行する場合、バス１３１を介してステータスレジスタ１２４Ａのビット値を、書き込みを許可する値に書き換える。メモリコントローラ１２４は、ステータスレジスタ１２４Ａの書き換えに応じて、メモリ１０５のステータスレジスタ１０５Ａのビット値を、書き込みを許可する値に書き換える。これにより、メモリ１０５は、書き込み可能な状態となる。
【００３８】
また、ＣＰＵ１２３は、メモリ１０５への書き込みを終了すると、ステータスレジスタ１２４Ａのビット値を、書き込みを禁止する値に変更する。メモリコントローラ１２４は、ステータスレジスタ１２４Ａの書き換えに応じて、メモリ１０５のステータスレジスタ１０５Ａのビット値を、書き込みを禁止する値に書き換える。これにより、メモリ１０５は、書き込みを禁止する状態となる。従って、本実施形態のメモリ１０５は、ＣＰＵ１２３からメモリコントローラ１２４を介して書き込み制限機能を解除可能となっている。なお、メモリ１０５の書き込み制限機能を実現する方法は、上記したステータスレジスタ１２４Ａ，１０５Ａを用いる方法に限らない。例えば、メモリ１０５は、バス１３２に含まれる特定の信号線の信号レベルに応じて、書き込みを許可又は禁止しても良い。例えば、メモリ１０５は、バス１３２に含まれる任意の信号線の信号レベルがハイレベルの場合に書き込みを許可し、ローレベルの場合に書き込みを禁止しても良い。また、メモリコントローラ１２４は、ステータスレジスタ１２４Ａのビット値に応じて、この信号線の信号レベルを変更しても良い。
【００３９】
また、図４に示すように、ＦＰＧＡ１０１は、リセット回路１２５を備えている。リセット回路１２５は、例えば、コンフィグ情報１４２に基づいて構築される論理回路である。ＣＰＵ１２３は、例えば、ＦＰＧＡ１０１の起動時に、メモリ１０５から読み出したコンフィグ情報１４２に基づいて、リセット回路１２５の論理回路を構築する。なお、リセット回路１２５は、論理回路に限らず、ＡＳＩＣなどの専用のハードウェアでも良い。
【００４０】
リセット回路１２５は、リセット信号ｒｅｓｔをメモリコントローラ１２４へ出力し、ＣＰＵ１２３からメモリ１０５への書き込みを制限する。従って、本実施形態の第１多重処理装置５５は、メモリ１０５の書き込み禁止機能に加え、リセット回路１２５によっても書き込みを制限し、２重に書き込みを制限する構成となっている。
【００４１】
リセット回路１２５は、例えば、バス１３３を介してＣＰＵ１２３と接続されている。リセット回路１２５は、バス１３３を介してクロック信号ｃｌｋ１や許可信号ＥＮを送受信する。また、リセット回路１２５は、メモリコントローラ１２４へリセット信号ｒｅｓｔを出力する。メモリコントローラ１２４は、例えば、ハイレベルのリセット信号ｒｅｓｔを入力している間は、動作を停止した状態となる。この状態では、ＣＰＵ１２３とメモリ１０５との間は切断された状態となる。従って、ハイレベルのリセット信号ｒｅｓｔがリセット回路１２５からメモリコントローラ１２４へ出力されている間、ＣＰＵ１２３は、メモリ１０５への書き込みを禁止される。
【００４２】
また、メモリコントローラ１２４は、例えば、ローレベルのリセット信号ｒｅｓｔを入力すると、動作状態となる。ＣＰＵ１２３は、ローレベルのリセット信号ｒｅｓｔを入力し動作しているメモリコントローラ１２４に対して、ステータスレジスタ１２４Ａの書き換えを行うことで、メモリ１０５への書き込みが可能となる。
【００４３】
また、リセット回路１２５は、例えば、ＣＰＵ１２３からバス１３３を介して入力する許可信号ＥＮの信号レベルに応じて、リセット信号ｒｅｓｔの信号レベルを変更する。例えば、リセット回路１２５は、ＣＰＵ１２３からハイレベルの許可信号ＥＮを入力している間、リセット信号ｒｅｓｔの信号レベルをハイレベルとする。これにより、メモリコントローラ１２４の動作を停止させ、メモリ１０５への書き込みを禁止することができる。
【００４４】
ＣＰＵ１２３は、例えば、メモリ１０５の書き込みを実行しない間、許可信号ＥＮの信号レベルをハイレベルとする。これにより、書き込みを実行しない通常状態では、リセット回路１２５は、ハイレベルのリセット信号ｒｅｓｔをメモリコントローラ１２４へ出力し、メモリコントローラ１２４を停止させた状態とする。なお、上記したリセット信号ｒｅｓｔや許可信号ＥＮの信号レベルは、一例である。例えば、メモリコントローラ１２４は、ローレベルのリセット信号を入力している間は、動作を停止する構成でも良い。
【００４５】
ＣＰＵ１２３は、外部から入力した情報により、メモリ１０５に記憶された制御プログラム１４１やコンフィグ情報１４２を更新する。ＣＰＵ１２３は、例えば、装置本体部４１や、管理コンピュータ１５から更新用のコンフィグ情報１４２等を入力しても良い。また、ヘッド部２５の第２多重処理装置６３のＣＰＵ（図示略）やＸ軸スライド機構２７Ａの第３多重処理装置６７のＣＰＵ（図示略）は、多重通信を介して第１多重処理装置５５からコンフィグ情報等を受信しても良い。また、第１多重処理装置５５は、コンフィグ情報１４２を入力する外部インターフェースを備えても良い。ここでいう外部インターフェースは、例えば、ＩＥＥＥ１１４９.１が規定するＪＴＡＧ（Ｊｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ）によって提案された規格に準拠した通信を実行するＪＴＡＧコネクタである。ＣＰＵ１２３は、ＪＴＡＧコネクタを介して入力したコンフィグ情報１４２により、メモリ１０５に記憶されたコンフィグ情報１４２を更新しても良い。
【００４６】
ＣＰＵ１２３は、このようなコンフィグ情報１４２や制御プログラム１４１を更新等する場合に、メモリ１０５への書き込みを実行する。リセット回路１２５は、例えば、ＣＰＵ１２３からローレベルの許可信号ＥＮを入力すると、リセット信号ｒｅｓｔの信号レベルをローレベルに変更する。これにより、メモリコントローラ１２４を動作させ、メモリ１０５への書き込みが可能となる。ＣＰＵ１２３は、許可信号ＥＮの信号レベルを変更することで、メモリコントローラ１２４の動作状態を変更し、メモリ１０５への書き込みを禁止又は許可することができる。なお、上記したリセット回路１２５による処理内容は、一例である。例えば、リセット回路１２５は、許可信号ＥＮの入力の有無に応じて、リセット信号ｒｅｓｔの出力の有無を変更しても良い。リセット回路１２５は、許可信号ＥＮの入力を検出すると、リセット信号ｒｅｓｔを出力する構成でも良い。これにより、ＣＰＵ１２３は、許可信号ＥＮの入力を制御することで、メモリ１０５への書き込みを制御できる。
【００４７】
従って、本実施形態のリセット回路１２５は、ＣＰＵ１２３（処理部の一例）からローレベルの許可信号ＥＮを取得することに応じて、リセット信号ｒｅｓｔによるメモリコントローラ１２４の制限を解除する。これによれば、ＣＰＵ１２３は、メモリ１０５への書き込みを実行したい場合、リセット回路１２５へローレベルの許可信号ＥＮを出力し、リセット回路１２５による制限を解除することで書き込むことができる。これにより、ＣＰＵ１２３は、許可信号ＥＮを制御することで、適切なタイミングでメモリ１０５への書き込みを実行することができる。
【００４８】
また、本実施形態のリセット回路１２５は、ＣＰＵ１２３からローレベルの許可信号ＥＮを取得できない場合、ハイレベルのリセット信号ｒｅｓｔを出力し、リセット信号ｒｅｓｔによる制限を維持する。これによれば、リセット回路１２５は、ＣＰＵ１２３からローレベルの許可信号ＥＮを取得できない間は、常にリセット信号ｒｅｓｔをハイレベルとし、書き込みを制限する。これにより、不正な書き込みをより確実に制限できる。
【００４９】
なお、許可信号ＥＮを取得する方法は、上記した方法に限らない。例えば、リセット回路１２５は、ＣＰＵ１２３の状態を監視し、ＣＰＵ１２３からの応答信号を、許可信号ＥＮとして取得しても良い。そして、リセット回路１２５は、ＣＰＵ１２３から正常に許可信号ＥＮを取得できない場合（例えば、一定時間だけ許可信号ＥＮを取得できない場合）、リセット信号ｒｅｓｔをハイレベルとし、書き込みを禁止しても良い。あるいは、リセット回路１２５は、ＣＰＵ１２３で発生するエラーを監視し、エラーを検出した場合にリセット信号ｒｅｓｔをハイレベルにして書き込みを禁止しても良い。
【００５０】
また、本実施形態のＣＰＵ１２３は、ローレベルの許可信号ＥＮを出力しリセット回路１２５による制限を解除し、且つメモリコントローラ１２４のステータスレジスタ１２４Ａを書き換え、メモリ１０５の書き込み制限機能を解除した後、メモリ１０５への書き込みを実行する。このような構成では、メモリ１０５への書き込みは、メモリ１０５自身の書き込み制限機能と、リセット回路１２５による制限との２つにより制限される。換言すれば、メモリ１０５への不正な書き込みを、２重に制限することができる。
【００５１】
また、上記したように、メモリ１０５に記憶された制御プログラム１４１及びコンフィグ情報１４２は、ＦＰＧＡ１０１の起動時に実行される。従って、本実施形態制御プログラム１４１及びコンフィグ情報１４２（プログラムの一例）は、第１多重処理装置５５（情報処理装置の一例）の起動時にＣＰＵ１２３（処理部の一例）により実行される起動プログラムである。このため、本実施形態によれば、起動時にＣＰＵ１２３で実行される起動プログラムを書き換える不正な書き込みを制限できる。その結果、第１多重処理装置５５、ひいては部品装着機２０をより安定して起動させることができる。
【００５２】
また、第１多重処理装置５５は、コンフィグ情報１４２に基づいて論理回路を構築するＦＰＧＡ１０１（プログラマブル論理デバイスの一例）を備える。メモリ１０５には、コンフィグ情報１４２（プログラムの一例）が記憶されている。これによれば、ＦＰＧＡ１０１の論理回路の構築に必要なコンフィグ情報１４２を書き換える不正な書き込みを制限できる。これにより、第１多重処理装置５５をより安定して起動させることができる。
【００５３】
次に、メモリ１０５への書き込み動作について説明する。一例として、部品装着機２０の起動後に、メモリ１０５に記憶されたコンフィグ情報１４２を書き換える動作について説明する。図５は、比較例と、本実施形態のメモリ１０５に対する書き込み動作のタイミングチャートを示している。
【００５４】
なお、図５に示すＰＯＷＥＲ  ＯＮの信号は、ＦＰＧＡ１０１へ電力の供給が開始されるタイミングを示している。ステータスレジスタの信号は、ステータスレジスタ１２４Ａ，１０５Ａの状態を示しており、書き込み禁止状態では立ち上り、書き込み許可状態では立ち下がる。ＦＰＧＡ，ＣＰＵ動作の信号は、ＦＰＧＡ１０１やＣＰＵ１２３の動作状態を示しており、ＦＰＧＡ１０１やＣＰＵ１２３が動作している状態では立ち上がり、動作を停止している状態では立ち下がる。リセット信号は、リセット信号ｒｅｓｔの信号レベルを示している。メモリ書き込み禁止の信号は、メモリ１０５の書き込み禁止状態を示しており、書き込み禁止状態では立ち上がり、書き込み許可状態では立ち下がる。メモリへの書き込みの信号は、メモリ１０５への書き込み状態を示しており、メモリ１０５の書き込みが行われている最中は立ち上がる。
【００５５】
まず、図５の上図に示す比較例のタイミングチャートについて説明する。比較例の構成は、例えば、リセット回路１２５を備えない構成である。まず、図５に示す時間Ｔ１において、部品装着機２０の起動に合わせてＦＰＧＡ１０１へ電力が供給される。ステータスレジスタ１２４Ａ，１０５Ａは、初期値として、書き込みを禁止するビット値が設定されている。このため、ステータスレジスタの信号は、書き込み禁止状態（ハイレベル）となる。ＦＰＧＡ１０１への電力供給が安定するまでの間、メモリ１０５への書き込みが禁止される。
【００５６】
時間Ｔ２において、ＦＰＧＡ１０１及びＣＰＵ１２３が起動処理を開始する。この時点では、メモリ１０５への書き込みが禁止されているものの、読み出しは可能となっている。ＣＰＵ１２３は、制御プログラム１４１をメモリ１０５から読み出して実行する。また、ＣＰＵ１２３は、コンフィグ情報１４２を読み出して多重処理部１２１の構築等を実行する。
【００５７】
次に、時間Ｔ５において、ＣＰＵ１２３は、コンフィグ情報１４２を書き換えるため、ステータスレジスタ１２４Ａ，１０５Ａのビット値を、書き込み可能な値に変更する。ＣＰＵ１２３は、ステータスレジスタ１２４Ａ，１０５Ａを変更した後、メモリ１０５の書き込み処理を実行する（時間Ｔ６〜時間Ｔ７）。これにより、コンフィグ情報１４２が新しいデータに書き換えられる。ＣＰＵ１２３は、書き込みを終了すると、ステータスレジスタ１２４Ａ，１０５Ａのビット値を、書き込み禁止を示す値に戻す（時間Ｔ８）。
【００５８】
ここで、このような比較例の構成では、ステータスレジスタ１２４Ａ，１０５Ａによって、メモリ１０５への書き込みを制限することができる。しかしながら、ＣＰＵ１２３の処理は、エラーが発生する可能性がある。例えば、ＣＰＵ１２３は、使用環境の熱によって処理内容にエラーが発生し、誤ってステータスレジスタ１２４Ａ，１０５Ａの値を変更し、コンフィグ情報１４２を書き換えてしまう可能性がある。あるいは、ＣＰＵ１２３は、ＣＰＵ１２３内のメモリ空間のアドレスの参照ミスによってエラーが発生し、コンフィグ情報１４２を書き換えてしまう可能性がある。これに対し、本実施形態では、リセット回路１２５によって、このような不正な書き込みを制限することができる。
【００５９】
図５の下図に示すように、例えば、ＦＰＧＡ１０１やＣＰＵ１２３は、時間Ｔ２から起動処理を開始、時間Ｔ３で起動処理を完了させる。部品装着機２０の電源を投入してから時間Ｔ３までの間は、ＣＰＵ１２３は、起動を完了していない。この間、ＣＰＵ１２３は、ローレベルの許可信号ＥＮを出力する。
【００６０】
リセット回路１２５は、起動した後、ＣＰＵ１２３からローレベルの許可信号ＥＮを入力すると、リセット信号ｒｅｓｔの信号レベルをローレベルにする。また、リセット回路１２５が起動していない状態では、リセット信号ｒｅｓｔは、ローレベルとなる。これにより、メモリコントローラ１２４を動作させ、ＣＰＵ１２３が、メモリ１０５から制御プログラム１４１及びコンフィグ情報１４２を読み込むことができる。
【００６１】
時間Ｔ３において、ＣＰＵ１２３は、制御プログラム１４１の実行や、コンフィグ情報１４２による論理回路の構築を完了させると、許可信号ＥＮをハイレベルにし、リセット信号ｒｅｓｔをハイレベルにする。これにより、ステータスレジスタ１２４Ａ，１０５Ａに加え、リセット回路１２５によって、メモリ１０５への書き込みを禁止することができる。その結果、上記したようなＣＰＵ１２３の処理でエラーが発生し、ステータスレジスタ１２４Ａ，１０５Ａのビット値を書き換えようとしても、リセット回路１２５からハイレベルのリセット信号ｒｅｓｔを出力し、メモリコントローラ１２４の動作を停止させることで、メモリ１０５への書き込みを禁止することができる。
【００６２】
次に、時間Ｔ４において、ＣＰＵ１２３は、メモリ１０５へ書き込みを実行するため、許可信号ＥＮをローレベルにし、リセット信号ｒｅｓｔをローレベルにする。これにより、メモリコントローラ１２４が動作状態となる。
【００６３】
そして、ＣＰＵ１２３は、比較例と同様に、時間Ｔ５において、コンフィグ情報１４２を書き換えるため、ステータスレジスタ１２４Ａ，１０５Ａのビット値を、書き込み可能な値に変更する。ＣＰＵ１２３は、ステータスレジスタ１２４Ａ，１０５Ａを変更した後、メモリ１０５の書き込み処理を実行する（時間Ｔ６〜時間Ｔ７）。
【００６４】
ＣＰＵ１２３は、書き込みを終了すると、ステータスレジスタ１２４Ａ，１０５Ａのビット値を、書き込みを禁止する値に戻す（時間Ｔ８）。この時点で、メモリ１０５への書き込みが禁止される。そして、ＣＰＵ１２３は、許可信号ＥＮをハイレベルにし、リセット信号ｒｅｓｔをハイレベルにする（時間Ｔ９）。これにより、メモリ１０５への書き込みが２重に禁止された状態となる。このようにして、本実施形態の第１多重処理装置５５は、リセット回路１２５によってメモリ１０５への不正な書き込みを制限することができる。
【００６５】
因みに、部品装着機２０は、作業機の一例である。ＣＰＵ１２３は、処理部の一例である。第１多重処理装置５５は、情報処理装置の一例である。制御プログラム１４１及びコンフィグ情報１４２は、プログラムの一例である。
【００６６】
以上、上記した本実施例によれば以下の効果を奏する。
本実施例の一態様では、メモリコントローラ１２４は、ステータスレジスタ１２４Ａによって、ＣＰＵ１２３からメモリ１０５への書き込みを制御する。リセット回路１２５は、メモリコントローラ１２４へリセット信号ｒｅｓｔを出力し、メモリ１０５への書き込みを制限する。これによれば、仮に、処理エラーなどが発生しＣＰＵ１２３がメモリ１０５へ不正な書き込みを実行しようとしても、リセット回路１２５によって不正な書き込みを制限できる。
【００６７】
尚、本開示は上記の実施形態に限定されるものではなく、本開示の趣旨を逸脱しない範囲内での種々の改良、変更が可能であることは言うまでもない。
例えば、上記実施形態の第１多重処理装置５５は、ＣＰＵ１２３、メモリコントローラ１２４、リセット回路１２５、メモリ１０５をそれぞれ１つ備えたが、複数備えても良い。例えば、複数のリセット回路１２５によって、複数のメモリ１０５に対する書き込みを個別に制限しても良い。
また、上記実施形態では、１つのマスター５３に対して３つのスレーブ（第１〜第３スレーブ５７，６１，６５）を接続したが、これに限らない。マスター５３の数は、２以上の複数個でも良い。また、スレーブの数は、２又は４以上の複数個でもよい。
また、多重通信は、時分割多重化方式以外、例えば、周波数多重化方式でも良い。
また、上記実施形態では本開示における作業機として、電子部品を基板１７に実装する部品装着機２０を採用した例について説明した。しかしながら、本開示における作業機は、部品装着機２０に限定されるものではなく、はんだ印刷装置などの他の対基板作業機を採用することができる。また、作業機は、例えば、工作機械や組立て作業を実施するロボットでも良い。
【符号の説明】
【００６８】
２０  部品装着機（作業機）、５５  第１多重処理装置（情報処理装置）、１０５  メモリ、１２３  ＣＰＵ（処理部）、１２４  メモリコントローラ、１２５  リセット回路、１４１  制御プログラム（プログラム）、１４２  コンフィグ情報（プログラム）、ｒｅｓｔ  リセット信号。
【図１】
2020217303.tif 000003
【図２】
2020217303.tif 000004
【図３】
2020217303.tif 000005
【図４】
2020217303.tif 000006
【図５】
2020217303.tif 000007
【国際調査報告】
2020217303.tif 000008
2020217303.tif 000009