JP2018116503A - プログラム、ホスト装置及び配列特定方法 - Google Patents

プログラム、ホスト装置及び配列特定方法 Download PDF

Info

Publication number
JP2018116503A
JP2018116503A JP2017007053A JP2017007053A JP2018116503A JP 2018116503 A JP2018116503 A JP 2018116503A JP 2017007053 A JP2017007053 A JP 2017007053A JP 2017007053 A JP2017007053 A JP 2017007053A JP 2018116503 A JP2018116503 A JP 2018116503A
Authority
JP
Japan
Prior art keywords
display
association
enumeration
hub
projector
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.)
Withdrawn
Application number
JP2017007053A
Other languages
English (en)
Inventor
潤 植田
Jun Ueda
潤 植田
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.)
Roland DG Corp
Original Assignee
Roland DG Corp
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 Roland DG Corp filed Critical Roland DG Corp
Priority to JP2017007053A priority Critical patent/JP2018116503A/ja
Priority to US15/869,756 priority patent/US10178362B2/en
Publication of JP2018116503A publication Critical patent/JP2018116503A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/12Picture reproducers
    • H04N9/31Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
    • H04N9/3102Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM] using two-dimensional electronic spatial light modulators
    • H04N9/3105Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM] using two-dimensional electronic spatial light modulators for displaying all colours simultaneously, e.g. by using two or more electronic spatial light modulators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/12Picture reproducers
    • H04N9/31Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
    • H04N9/3141Constructional details thereof
    • H04N9/3147Multi-projection systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y10/00Processes of additive manufacturing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/12Picture reproducers
    • H04N9/31Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
    • H04N9/3102Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM] using two-dimensional electronic spatial light modulators
    • H04N9/312Driving therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/12Picture reproducers
    • H04N9/31Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
    • H04N9/3129Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM] scanning a light beam on the display screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/388Volumetric displays, i.e. systems where the image is built up from picture elements distributed through a volume

Abstract

【課題】コンピュータが映像信号を2機のディスプレイに逆に出力しないようにする。【解決手段】ハブ40のポート41,43にそれぞれ接続された第一投影機21及び第二投影機23にハブ40を介してそれぞれ映像信号を出力するホスト装置5が、投影機21,23の接続先のポート番号と、投影機21,23のシリアル番号とを対応付けて取得する対応付け処理と、投影機21,23を列挙して、投影機21,23のディスプレイデバイス情報を取得するとともに、投影機21,23のシリアル番号を列挙順に取得する列挙処理と、対応付け処理により取得した対応付けと列挙処理により取得した列挙とを照合して、ポート番号順と同一配列順で、ディスプレイデバイス情報を配列の要素に格納する配列生成処理と、を実行する。【選択図】図2

Description

本発明は、プログラム、ホスト装置及び配列特定方法に関する。
光硬化性樹脂に光を照射して、立体物を造形する造形装置が知られている(特許文献1〜3参照)。
特許文献1には、樹脂槽内の光硬化性樹脂の上方に設置された2機の走査型レーザー照射器を備えた造形装置が開示されている。2機の走査型レーザー照射器によってレーザー光のスポットを光硬化性樹脂の表面に沿って二次元的に変位させる。これにより、光硬化性樹脂のうち露光部分が硬化し、造形物が形成される。
特許文献2,3には、樹脂槽内の光硬化性樹脂の下方に設置された2機の投影機を備えた造形装置が開示されている。コンピュータが2機の投影機に別々の映像信号を出力するので、映像信号に従った映像が2機の投影機によって光硬化性樹脂に投影される。これにより、光硬化性樹脂のうち露光部分が硬化し、造形物が形成される。
特開平4−113828号公報 特開2015−16610号公報 特開2015−201760号公報
ところで、造形装置の2機の投影機がUSBハブ等のハブに接続されている場合、そのハブがコンピュータに初めて接続されると、コンピュータがプラグアンドプレイ機能によって2機の投影機を接続順に投影機を自動的に認識する。ハブを用いるため、2機の投影機の認識順が不定であり、どちらの投影機が先に認識されるか分からない。
一方、コンピュータが2機の投影機を識別して制御するために、2機の投影機の制御プログラムでは配列が宣言されている。配列の要素には、投影機のディスプレイデバイス情報が格納される。ディスプレイデバイス情報は、コンピュータ上で稼働中のオペレーティングシステムから列挙処理によって取得されたものである。この列挙処理がコンピュータによって実行されると、2機の投影機のディスプレイデバイス情報は、最初のプラグアンドプレイ処理における投影機の認識順に列挙される。その認識順と同じ列挙順序でディスプレイデバイス情報が配列の要素に格納されると、先に認識された投影機のディスプレイデバイス情報が配列の1番目の要素に格納され、後に認識された投影機のディスプレイデバイス情報が配列の2番目の要素に格納される。ところが、上述のように2機の投影機の認識順、つまり列挙順が不定であるので、先に認識・列挙された投影機のディスプレイデバイス情報が配列の2番目の要素に格納すべきものを、配列の1番目の要素に誤って格納してしまうという事象が生じることがある。この場合、投影機によって投影される映像が逆になってしまう。つまり、一方の投影機に出力すべき映像信号が他方の投影機に出力されてしまい、他方の投影機に出力すべき映像信号が一方の投影機によって投影されてしまう。
そこで、本発明は上記事情に鑑みてなされたものであり、本発明が解決しようとする課題は、コンピュータが映像信号を2機のディスプレイに逆に出力しないようにすることである。
上記課題を解決するための主たる発明は、ハブの第一下流側ポート及び第二下流側ポートにそれぞれ接続された第一ディスプレイ及び第二ディスプレイに前記ハブを介して映像信号を出力するコンピュータに、前記第一ディスプレイ及び前記第二ディスプレイのそれぞれの接続先のポート番号と、前記第一ディスプレイ及び前記第二ディスプレイのシリアル番号とを対応付けて取得する対応付け処理と、前記第一ディスプレイ及び前記第二ディスプレイを列挙して、前記第一ディスプレイ及び前記第二ディスプレイのそれぞれのディスプレイデバイス情報を取得するとともに、前記第一ディスプレイ及び前記第二ディスプレイのシリアル番号を列挙順に取得する列挙処理と、前記対応付け処理により取得した対応付けと前記列挙処理により取得した列挙とを照合して、前記対応付け処理により取得した前記ポート番号順と同一配列順で、前記列挙処理により取得した前記ディスプレイデバイス情報を配列の要素に格納する配列生成処理と、を実行させるためのプログラムである。
本発明の他の特徴については、後述する明細書及び図面の記載により明らかにする。
本発明によれば、第一ディスプレイに出力すべき映像信号を確実に第一ディスプレイに出力することができ、第二ディスプレイに出力すべき映像信号を確実に第二ディスプレイに出力することができる。
図1は、破断された状態で示された造形装置及びホスト装置を備える造形システムの構成図である。 図2は、造形装置のブロック図である。 図3は、ホスト装置のブロック図である。 図4は、設定情報データベースの説明図である。 図5は、ホスト装置の処理の流れを示したフローチャートである。 図6は、互いに対応付けられたポート番号との説明図である。 図7は、列挙したディスプレイデバイスのディスプレイデバイス情報とシリアル番号の説明図である。 図8は、列挙したディスプレイデバイスのディスプレイデバイス情報とシリアル番号の説明図である。 図9は、配列の説明図である。
以下、図面を参照して、本発明の実施形態について説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい種々の限定が付されているが、本発明の範囲を以下の実施形態及び図示例に限定するものではない。
<1.造形システム>
図1は造形システム1の概略図である。図1に示すように、造形システム1は造形装置2及びホスト装置5を備える。ホスト装置5と造形装置2は、USB(Universal Serial Bus)の規格に準拠したUSBケーブル4を介して接続されている。ホスト装置5と造形装置2はUSBの規格に準拠した方式で相互に通信を行う。ホスト装置5がUSB規格の通信におけるホスト(親)であり、造形装置2がUSB規格の通信におけるデバイス(子)である。特に、造形装置2はハブ接続型のコンパウンドデバイス(compound device)である。
<2.造形装置>
造形装置2は、二次元的なスライス造形物を順次生成して積層することによって、これらスライス造形物の積層体である三次元的な造形物を造形する装置である。図1及び図2を参照して、造形装置2について詳細に説明する。ここで、図2は造形装置2のブロック図である。
図1に示すように、造形装置2は筐体20、第一投影機21、第二投影機23、樹脂槽24、昇降装置25及びホルダ26等を備える。更に、図2に示すように、造形装置2はメインコントローラ22、USBハブ40、メモリ29及びデバイス30を備える。
図1に示すように、筐体20は中空を有した箱状に形成されている。筐体20の天板が透光性材料(透明材料)からなるか、筐体20の天板には開口が形成されている。筐体20の天板上には樹脂槽24が設置されている。樹脂槽24の上面が開放されており、樹脂槽24の少なくとも底板が透光性材料(透明材料)からなる。樹脂槽24には、紫外線等の光によって硬化する光硬化性樹脂27が貯留される。
筐体20上には昇降装置25が設けられている。昇降装置25にはホルダ26が設けられており、昇降装置25がメインコントローラ22によって制御されることによってホルダ26を昇降させる。昇降装置25がホルダ26を下降させると、ホルダ26が樹脂槽24内の光硬化性樹脂27に浸漬される。
筐体20内には、樹脂槽24の底に映像を投影する第一投影機21及び第二投影機23が設けられている。投影機21,23は何れも投影方式のディスプレイであり、樹脂槽24の底には、投影機21,23の投影映像が合成されて表示される。投影機21,23によって投影される映像は、光の明暗の分布によって表される映像(例えば、モノクロ映像、二値映像又はグレースケール映像)である。
図2に示すように、USBハブ40は下流側ポート41〜43、上流側ポート45及びハブコントローラ46を有する。上流側ポート45がUSBケーブル4を介してホスト装置5に接続されている。第一下流側ポート41が第一投影機21に接続され、第二下流側ポート43が第二投影機23に接続され、第三下流側ポート42がメインコントローラ22に接続されている。USBハブ40は、USBの規格に準拠した方式で、ホスト装置5と投影機21,23及びメインコントローラ22との間の信号を管理する。
下流側ポート41〜43には、互いに異なる値のポート番号が割り当てられている。例えば、第一下流側ポート41のポート番号が“1”であり、第二下流側ポート43のポート番号が“3”であり、第三下流側ポート42のポート番号が“2”である。
第一投影機21にはUSBコントローラが内蔵されている。第一投影機21は、ホスト装置5からUSBハブ40を介して転送された第一映像信号をUSBコントローラにより入力し、その第一映像信号に従った映像を樹脂槽24の底に投影する。第二投影機23にもUSBコントローラが内蔵され、第二投影機23はホスト装置5から転送された第二映像信号に従った映像を樹脂槽24の底に投影する。
メインコントローラ22はマイクロコンピュータを有する。投影機21,23及び昇降装置25がメインコントローラ22によって制御され、その制御のためにホスト装置5がUSBハブ40を介してメインコントローラ22に指令を出力する。つまり、メインコントローラ22は、ホスト装置5の指令に従って投影機21,23及び昇降装置25を制御する。これにより、造形装置2が造形動作する。
造形装置2の造形動作は以下の通りである。まず、図1において二点鎖線で示すように、昇降装置25がホルダ26を下降させることによって、ホルダ26が樹脂槽24内の樹脂27に浸漬される。その後、投影機21,23の光源が間欠的に点灯するとともに、昇降装置25がホルダ26を間欠的に一定距離だけ上昇させる。ここで、投影機21,23の光源の消灯タイミングが昇降装置25の作動タイミング(ホルダ26が上昇するタイミング)に同期し、投影機21,23の光源の点灯タイミングが昇降装置25の停止タイミング(ホルダ26の上昇が停止するタイミング)に同期する。それゆえ、昇降装置25の各回の停止時には、投影機21,23が映像信号に従った映像を樹脂槽24の底に所定露光時間だけ投影する。従って、昇降装置25の各回の停止時には、樹脂槽24の底にある樹脂27のうち映像の明部に相当する部分(露光部分)が光(例えば紫外線)によって硬化し、映像の明部の形状をした二次元的なスライス造形物(硬化樹脂)が樹脂槽24の底に形成される。昇降装置25の各回の作動時には、スライス造形物がホルダ26とともに上昇される。このように、投影機21,23による投影・露光とホルダ26の上昇とが交互に繰り返されることにより、ホルダ26の下の三次元的な造形物が下方へ成長する。
図2に示すように、USBハブ40にはハブコントローラ46が内蔵されている。USBハブ40のハブコントローラ46は、ホスト装置5(特にUSBホストコントローラ54)がUSBハブ40を認識するための識別情報を予め記憶している。識別情報には、ベンダID(idVendor)、プロダクトID(idProduct)及びシリアル番号(iSerialNumber)等が含まれる。
ホスト装置5と造形装置2がUSBケーブル4によって接続されると、USBの規格に準拠したエニュメレーション(enumeration)処理がUSBハブ40のハブコントローラ46とホスト装置5のUSBホストコントローラ54(図3参照)との間で行われ、ホスト装置5がUSBハブ40をUSBハブデバイスとして認識する(いわゆる、プラグアンドプレイ機能)。エニュメレーション処理の際、USBハブ40のハブコントローラ46がホスト装置5のUSBホストコントローラ54の要求に応じてUSBハブ40の識別情報(ベンダID、プロダクトID及びシリアル番号)をUSBホストコントローラ54に転送する。
第一投影機21のUSBコントローラは、ホスト装置5が第一投影機21を識別するための識別情報(デバイスディスクリプタ)を予め記憶している。ホスト装置5と造形装置2がUSBケーブル4によって接続されると、USBの規格に準拠したエニュメレーション処理が第一投影機21のUSBコントローラとホスト装置5のUSBホストコントローラ54との間で行われ、ホスト装置5が第一投影機21をディスプレイデバイスとして認識する。
第一投影機21と同様に、第二投影機23のUSBコントローラが第二投影機23の識別情報(デバイスディスクリプタ)を予め記憶しており、エニュメレーション処理の際、第二投影機23のUSBコントローラが第二投影機23の識別情報をホスト装置5のUSBホストコントローラ54に転送する。投影機21,23は同一機種であるので、第一投影機21のベンダID及びプロダクトIDは第二投影機23のベンダIDとプロダクトIDと同じであるが、第一投影機21のシリアル番号が第二投影機23のシリアル番号と相違する。
メインコントローラ22には、USBコントローラが内蔵されている。メインコントローラ22のUSBコントローラは、ホスト装置5が造形装置2(特にメインコントローラ22)を認識するための識別情報(ベンダID、プロダクトID及びシリアル番号)を予め記憶している。ホスト装置5と造形装置2がUSBケーブル4によって接続されると、USBコントローラとUSBホストコントローラ54との間のエニュメレーション処理によってホスト装置5が造形装置2を特定プリンタ及びUSB標準プリンタとして認識する。エニュメレーション処理の際、USBコントローラが識別情報をUSBホストコントローラ54に転送する。
ここで、USBハブ40とホスト装置5との間のエニュメレーション処理は、投影機21,23及びメインコントローラ22とホスト装置5との間のエニュメレーション処理よりも前に行われる。投影機21,23及びメインコントローラ22のエニュメレーション処理の順番は不定であり、USBハブ40を介してホスト装置5との接続が確立された順である。
メインコントローラ22の処理に必要なプログラムはメモリ29に格納されている。また、メモリ29は、メインコントローラ22の処理の際にワークエリアをメインコントローラ22に提供する。メインコントローラ22には、各種のデバイス30が接続されている。デバイス30は例えば入力装置(例えば、押しボタン、押しキー、スイッチ等)、出力装置(例えば、発光素子、スピーカ、ドットマトリックス表示器等)である。
<3.ホスト装置>
ホスト装置5はパーソナルコンピュータである。ホスト装置5は、処理ユニット51、システムメモリ52、補助記憶装置53、USBホストコントローラ54、システムバス55及びビデオコントローラ56を備える。処理ユニット51、システムメモリ52、補助記憶装置53、USBホストコントローラ54及びビデオコントローラ56はシステムバス55に接続されている。処理ユニット51はCPU(central processing unit)を有する。システムメモリ52はRAM(random access memory)を有する。補助記憶装置53は半導体記憶装置又はハードディスクドライブを有する。
ビデオコントローラ56には表示装置8が接続されている。ビデオコントローラ56は、処理ユニット51の指令に従って映像信号を生成して、その映像信号を表示装置8に出力する。これにより、表示装置8には、映像信号に従った映像が表示される。
USBホストコントローラ54には、入力装置(例えばキーボード、ポインティングデバイス等)7が接続されている。USBホストコントローラ54が入力装置7とシステムバス55との間の信号の転送を制御し、これによりユーザーは入力装置7を通じてコマンドや情報等をホスト装置5に入力することができる。
USBホストコントローラ54は、処理ユニット51の指令に従って、USBの規格に準拠した方式で、USBハブ40との通信を制御する。更に、USBホストコントローラ54は、処理ユニット51の指令に従って、USBハブ40を介して投影機21,23及びメインコントローラ22との通信を制御する。
補助記憶装置53には、オペレーティングシステム(以下、OSという)61及び制御プログラム62が格納されている。OS61は、例えばWindows(登録商標)、Android(登録商標)、Linux(登録商標)、iOS(登録商標)又はmacOS(登録商標)である。OS61は、処理ユニット51によって実行されて、コンピュータとしてのホスト装置5上で稼働する。システムメモリ52は処理ユニット51にワークエリアを提供するものであり、稼働されたOS61はシステムメモリ52に展開される。
OS61には、設定情報データベース69が組み込まれている。設定情報データベース69には、OS61に関する各種の設定情報や、OS61に認識された各種のデバイスの設定情報等が登録されている。
OS61にはプラグアンドプレイ(plug-and-play)機能が組み込まれている。OS61のプラグアンドプレイ機能は、造形装置2がホスト装置5に初めて接続された場合に、ホスト装置5に対して、USBハブ40、第一投影機21、第二投影機23及び造形装置2の検出及び認識をさせて、これらのドライバをOS61にインストールさせる。ホスト装置5上で稼働されたOS61では、投影機21,23がOS61上において抽象化されたディスプレイデバイスとして認識され、造形装置2(特にメインコントローラ22)がOS61上において抽象化された特定プリンタ及びUSB標準プリンタとして認識され、USBハブ40がOS61上において抽象化されたUSBハブデバイスとして認識される。
なお、投影機21,23が抽象化されたディスプレイデバイスは、USBデバイスとしてもOS61に設定登録されている。造形装置2が抽象化されたUSB標準プリンタも、USBデバイスとしてもOS61に設定登録されている。
造形装置2が抽象化された特定プリンタには、名称及び一意のプラグアンドプレイデバイスIDがOS61のプラグアンドプレイ機能によって割り当てられている。図4に示すように、特定プリンタの名称情報69a及びプラグアンドプレイデバイスID69bは、設定情報データベース69に登録されている。
また、造形装置2が抽象化されたUSB標準プリンタには、一意のデバイスIDがOS61のプラグアンドプレイ機能によって割り当てられている。図4に示すように、USB標準プリンタのデバイスID69cは、設定情報データベース69に登録されている。USB標準プリンタのデバイスID69cは、メインコントローラ22のUSBコントローラからホスト装置5に転送されたベンダIDとプロダクトIDとシリアル番号の組合せである。
USBハブ40が抽象化されたUSBハブデバイスには、一意のデバイスIDがOS61のプラグアンドプレイ機能によって割り当てられている。図4に示すように、USBハブデバイスのデバイスID69dは、設定情報データベース69に登録されている。USBハブデバイスのデバイスID69dは、USBハブ40のハブコントローラ46からホスト装置5に転送されたベンダIDとプロダクトIDとシリアル番号の組合せである。
第一投影機21が抽象化された第一ディスプレイデバイスには、一意のデバイスIDがOS61のプラグアンドプレイ機能によって割り当てられている。第二投影機23が抽象化された第二ディスプレイデバイスには、一意のデバイスIDがOS61のプラグアンドプレイ機能によって割り当てられている。図4に示すように、第一ディスプレイデバイス及び第二ディスプレイデバイスのデバイスID69e,69hは、設定情報データベース69に登録されている。第一ディスプレイデバイスのデバイスIDは、第一投影機21のUSBハブコントローラ46からホスト装置5に転送されたベンダIDとプロダクトIDとシリアル番号の組合せである。第二ディスプレイデバイスのデバイスIDは、第二投影機23のUSBハブコントローラ46からホスト装置5に転送されたベンダIDとプロダクトIDとシリアル番号の組合せである。
また、図4に示すように、第一投影機21のディスプレイデバイス情報69fが、第一ディスプレイデバイスのデバイスID69eに対応付けられて、設定情報データベース69に登録されている。第一投影機21が接続された第一下流側ポート41のポート番号69gが、OS61のプラグアンドプレイ機能によって、第一ディスプレイデバイスのデバイスIDに対応付けられて、設定情報データベース69に登録されている。
また、第二投影機23のディスプレイデバイス情報69iが、第二ディスプレイデバイスのデバイスID69hに対応付けられて、設定情報データベース69に登録されている。第二投影機23が接続された第二下流側ポート43のポート番号69jが、OS61のプラグアンドプレイ機能によって、第二ディスプレイデバイスのデバイスID69hに対応付けられて、設定情報データベース69に登録されている。
OS61には、制御プログラム62がインストールされている。処理ユニット51が稼働中のOS61上において制御プログラム62を実行すると、造形装置2がホスト装置5によって制御される。造形装置2がホスト装置5によって制御されると、造形装置2が上述のような造形動作をする。造形動作以外の動作(例えば、試運転動作、メンテナンス動作、初期化動作等)も処理ユニット51による制御プログラム62の実行によって実現される。
制御プログラム62には、制御プログラム62における投影機21,23の配列順を特定するための配列順特定プログラムモジュール63が組み込まれている。このモジュール63もプログラムである。ユーザーが入力装置7によってホスト装置5に制御開始の指令した場合、処理ユニット51が制御プログラム62を実行するが、最初に配列順特定プログラムモジュール63が処理ユニット51によって実行される。図5は、配列順特定プログラムモジュール63に従った処理ユニット51の処理順序を示したフローチャートである。
(1) ステップS1:ハブ特定処理
ステップS1では、処理ユニット51は、USBハブ40がOS61上において抽象化されたUSBハブデバイスのデバイスIDを取得することによって、そのUSBハブデバイスを特定する。具体的には次の通りである。
まず、処理ユニット51は、特定プリンタの名称を指定することによって特定プリンタに割り当てられたプラグアンドプレイデバイスIDを稼働中のOS61に問い合わせ、その結果を特定プリンタのプラグアンドプレイデバイスIDとして取得する(ステップS11)。OS61がWindowsである場合、OS61に組み込まれているWindows API(アプリケーションプログラムインタフェース)の幾つかの関数(例えば、EnumPrinter()関数、OpenPrinter()関数及びGetPrinterDataEx()関数)の処理が処理ユニット51によって実行されることによって、稼働中のOS61が設定情報データベース69を参照して、特定プリンタのプラグアンドプレイデバイスID69bの値が結果として返る。
次に、処理ユニット51が、特定プリンタのプラグアンドプレイデバイスIDを指定することによってUSB標準プリンタのデバイスIDをOS61に問い合わせ、問い合わせの結果をUSB標準プリンタのデバイスIDとして取得する(ステップS12)。OS61がWindowsである場合、Windows APIの幾つかの関数(例えば、CM_Get_Device_ID()関数等)の処理が処理ユニット51によって実行されることによって、稼働中のOS61が設定情報データベース69を参照して、USB標準プリンタのデバイスID69cの値が結果として返る。
次に、処理ユニット51が、USB標準プリンタのデバイスIDを指定することによってUSBハブデバイスのデバイスIDをOS61に問い合わせ、その結果をUSBハブのデバイスIDを取得する(ステップS13)。OS61がWindowsである場合、Windows APIの幾つかの関数(例えば、CM_Get_Device_ID()関数等)の処理が処理ユニット51によって実行されることによって、稼働中のOS61が設定情報データベース69を参照して、USBハブのデバイスID69dの値が結果として返る。以上のステップS11〜S13の処理によってホスト装置5に組み込まれた複数のUSBハブ(ルートハブも含む)の中からUSBハブ40が特定される。
(2) ステップS2:対応付け処理
次のステップS2では、処理ユニット51が、USBハブデバイスのデバイスIDを指定してOS61に要求することによって、USBハブデバイスの下位にあるUSBデバイス(但し、USB標準プリンタを除く)の接続先のポート番号と、そのUSBデバイスのシリアル番号とを対応付けて取得する。具体的には、処理ユニット51が、USBデバイスとしてのディスプレイデバイス毎に、接続先のポート番号の特定とシリアル番号の取得を行う。OS61がWindowsである場合、Windows APIの幾つかの関数(例えばSetupDiGetDeviceRegistryProperty()関数等)の処理が処理ユニット51によって実行されることによって、稼働中のOS61が設定情報データベース69を参照して、接続先のポート番号69g,69jの値が結果として返る。また、Windows APIの幾つかの関数(例えばCM_Get_Device_ID()関数等)の処理が処理ユニット51によって実行されることによって、稼働中のOS61が設定情報データベース69を参照して、USBデバイスとしての第一ディスプレイデバイス及び第二ディスプレイデバイスのデバイスID69e,69hの値が結果として返る。ここで、返り値であるデバイスIDはベンダIDとプロダクトIDとシリアル番号の組合せであるので、処理ユニット51がデバイスIDからシリアル番号を抽出する。
図6は、処理ユニット51が取得したポート番号とシリアル番号との対応付けの一例を示したものである。第一下流側ポート41の下位に第一投影機21が接続されているので、第一下流側ポート41に割り当てられたポート番号(図6における値は“1”)は、第一投影機21が抽象化された第一ディスプレイデバイスのデバイスID中のシリアル番号(図6における値は“0123456789ABCDEF”)に対応付けられる。第二下流側ポート43に割り当てられたポート番号(図6における値は“3”)は、第一投影機21が抽象化された第一ディスプレイデバイスのデバイスID中のシリアル番号(図6における値は“0987654321FEDCBA”)に対応付けられる。なお、ポート番号及びシリアル番号の具体的な値は図6に示すものに限るものではない。
(3) ステップS3:列挙処理
次のステップS3では、処理ユニット51が、投影機21,23が抽象化された第一ディスプレイデバイス及び第二ディスプレイデバイスのデバイス情報とシリアル番号を取得する。具体的には、次の通りである。
処理ユニット51が、OS61に認識された第一ディスプレイデバイス及び第二ディスプレイデバイスをOS61に列挙させて、OS61に認識された第一ディスプレイデバイス及び第二ディスプレイデバイスのデバイス情報を取得する(ステップS31)。OS61がWindowsである場合、Windows APIの関数(例えばEnumDisplayDevices()関数)の処理が処理ユニット51によって実行されることによって、稼働中のOS61が設定情報データベース69を参照して、ディスプレイデバイス情報が列挙されて返る。
ここで、ディスプレイデバイスの列挙順は、造形装置2が最初にホスト装置5に接続された際のOS61がプラグアンドプレイ機能によって投影機21,23を初めて認識した順である。つまり、OS61がプラグアンドプレイ機能によって第二投影機23より先に第一投影機21を認識した場合、図7に示すように、処理ユニット51は先に列挙された第一ディスプレイデバイスのデバイス情報(図7における値は“AAAAAA”)を先に取得し、その後、後に列挙された第二ディスプレイデバイスのデバイス情報(図7における値は“BBBBBB”)を取得する。一方、OS61がプラグアンドプレイ機能によって第一投影機21より先に第二投影機23を認識した場合、図8に示すように、処理ユニット51は先に列挙された第二ディスプレイデバイスのデバイス情報(図8における値は“BBBBBB”)を先に取得し、その後、後に列挙された第二ディスプレイデバイスのデバイス情報(図8における値は“AAAAAA”)を取得する。なお、図7及び図8は、ディスプレイデバイス情報とシリアル番号の列挙の一例を示したものである。
次に、処理ユニット51が、OS61に要求することによって、列挙された第一ディスプレイデバイス及び第二ディスプレイデバイスのシリアル番号をディスプレイデバイス情報の列挙順に取得する(ステップS32)。OS61がWindowsである場合、Windows APIの幾つかの関数(例えばRegEnumValue()関数等)の処理が処理ユニット51によって実行されることによって、稼働中のOS61が設定情報データベース69を参照して、ディスプレイデバイスのデバイスIDが返る。返り値であるデバイスIDはベンダIDとプロダクトIDとシリアル番号であるので、処理ユニット51がデバイスIDからシリアル番号を抽出する。
ここで、OS61がプラグアンドプレイ機能によって第二投影機23よりも先に第一投影機21を認識した場合、図7に示すように、処理ユニット51は先に列挙された第一ディスプレイデバイスのシリアル番号(図7における値は“0123456789ABCDEF”)を先に取得し、その後、後に列挙された第二ディスプレイデバイスのシリアル番号(図7における値は“0987654321FEDCBA”)を取得する。一方、OS61がプラグアンドプレイ機能によって第一投影機21より先に第二投影機23を認識した場合、図8に示すように、処理ユニット51は先に列挙された第二ディスプレイデバイスのシリアル番号(図8における値は“0987654321FEDCBA”)を先に取得し、その後、後に列挙された第二ディスプレイデバイスのシリアル番号(図8における値は“0123456789ABCDEF”)を取得する。
(4) ステップS4
次のステップS4では、処理ユニット51が、ステップS2の対応付けとステップS3の列挙とを照合して、ステップS2の対応付けにおけるポート番号の順(具体的には昇順)と同一配列順で、ディスプレイデバイス情報を配列の要素に格納する。
具体的には、処理ユニット51は、ステップS2の対応付けとステップS3の列挙とを照合して、ポート番号順にステップS2の対応付けのシリアル番号と同一の値のシリアル番号をステップS3の列挙の中から検索する。そして、処理ユニット51は、ステップS3の列挙を参照して、検索順と同一の配列順で、検索したシリアル番号と同一列挙順のディスプレイデバイス情報を配列の要素に格納する。
ステップS2において取得したポート番号とシリアル番号が図6に示すような値であり、ステップS3で取得したディスプレイデバイス情報及びシリアル番号が図7又は図8に示すような値である場合、ステップS4で生成される配列は図9に示すようになる。図6〜図9に示すように、第一ディスプレイデバイス及び第二ディスプレイデバイスのデバイス情報の列挙順に関わらず、配列Array[ ]の1番目の要素には第一ディスプレイデバイスのデバイス情報が格納され、配列Array[ ]の2番目の要素には第二ディスプレイデバイスのデバイス情報が格納される。
この配列は制御プログラム62において宣言された配列であって、制御プログラム62における第一ディスプレイデバイスと第二ディスプレイデバイスの配列順を特定するものである。この配列が宣言された制御プログラム62が処理ユニット51によって実行されると、第一投影機21と第二投影機23が正しい配列順で制御される。つまり、処理ユニット51は、第一投影機21に出力すべき第一映像信号を第一投影機21に確実に出力するように制御し、第二投影機23に出力すべき第二映像信号を第二投影機23に確実に出力するように制御する。
<4. 効果>
以上のように、ステップS2の対応付けとステップS3の列挙とが照合されることによって、ステップS2の対応付けにおけるポート番号順と同一配列順で、第一ディスプレイデバイスと第二ディスプレイデバイスのデバイス情報が配列の要素に格納されたため、制御プログラム62における第一ディスプレイデバイスと第二ディスプレイデバイスの配列順が第一投影機21と第二投影機23の配列順に確実に一致する。つまり、第一投影機21に出力すべき第一映像信号が第一投影機21に確実に出力され、第二投影機23に出力すべき第二映像信号が第二投影機23に確実に出力される。
また、ステップS11〜S13の処理によって、ホスト装置5に組み込まれた複数のUSBハブ(ルートハブも含む)の中からUSBハブ40を特定することができる。
<5. 変形例>
上記実施形態では、ホスト装置5によって制御される装置が造形装置2であり、その装置に内蔵されたディスプレイが投影方式のディスプレイ21,23であり、ホスト装置5からそれらディスプレイ21,23にぞれぞれ映像信号が出力された。
それに対して、ホスト装置5によって制御される装置は、2台のディスプレイ(例えば、液晶ディスプレイ)、USBハブ及びメインコントローラを有したハブ接続型コンパウンドデバイスであれば、造形装置に限るものではない。この場合、その装置を制御プログラム62によって制御するべく制御プログラム62の内容を設計変更するが、設計変更された制御プログラム62に組み込まれた配列順特定プログラムモジュール63の内容は、上述したものと同様である。
また、上記実施形態では、第一投影機21が接続される第一下流側ポート41のポート番号が、第二投影機23が接続される第二下流側ポート43のポート番号よりも小さかった。それに対して、第一投影機21が接続される第一下流側ポート41のポート番号が、第二投影機23が接続される第二下流側ポート43のポート番号よりも大きくてもよい。この場合、次のステップS4では、処理ユニット51が、ステップS2の対応付けとステップS3の列挙とを照合して、ステップS2の対応付けにおけるポート番号の降順と同一配列順で、ディスプレイデバイス情報を配列の要素に格納する。
また、第一投影機21及び第二投影機23に加えて更に別の投影機がUSBハブ40に接続されてもよい。
1…造形システム, 2…造形装置, 5…ホスト装置, 21…第一投影機(第一ディスプレイ), 23…第二投影機(第二ディスプレイ), 40…USBハブ(ハブ), 41…第一下流側ポート, 42…第二下流側ポート, 51…処理ユニット, 53…補助記憶装置, 61…オペレーティングシステム, 62…制御プログラム, 63…配列順特定プログラムモジュール

Claims (4)

  1. ハブの第一下流側ポート及び第二下流側ポートにそれぞれ接続された第一ディスプレイ及び第二ディスプレイに前記ハブを介して映像信号を出力するコンピュータに、
    前記第一ディスプレイ及び前記第二ディスプレイのそれぞれの接続先のポート番号と、前記第一ディスプレイ及び前記第二ディスプレイのシリアル番号とを対応付けて取得する対応付け処理と、
    前記第一ディスプレイ及び前記第二ディスプレイを列挙して、前記第一ディスプレイ及び前記第二ディスプレイのそれぞれのディスプレイデバイス情報を取得するとともに、前記第一ディスプレイ及び前記第二ディスプレイのシリアル番号を列挙順に取得する列挙処理と、
    前記対応付け処理により取得した対応付けと前記列挙処理により取得した列挙とを照合して、前記対応付け処理により取得した前記ポート番号順と同一配列順で、前記列挙処理により取得した前記ディスプレイデバイス情報を配列の要素に格納する配列生成処理と、を実行させるためのプログラム。
  2. 前記ハブのデバイスIDを取得することによって前記ハブを特定する特定処理を更に前記コンピュータに実行させるとともに、
    前記対応付け処理において、前記特定処理に取得したデバイスIDを指定して、前記コンピュータのオペレーティングシステムに問い合わせることによって、前記ポート番号と前記シリアル番号を対応付けて取得する
    請求項1に記載のプログラム。
  3. ハブの第一下流側ポート及び第二下流側ポートにそれぞれ接続された第一ディスプレイ及び第二ディスプレイに前記ハブを介してそれぞれ映像信号を出力するホスト装置であって、
    前記第一ディスプレイ及び前記第二ディスプレイのそれぞれの接続先のポート番号と、前記第一ディスプレイ及び前記第二ディスプレイのシリアル番号とを対応付けて取得する対応付け処理と、
    前記第一ディスプレイ及び前記第二ディスプレイを列挙して、前記第一ディスプレイ及び前記第二ディスプレイのそれぞれのディスプレイデバイス情報を取得するとともに、前記第一ディスプレイ及び前記第二ディスプレイのシリアル番号を列挙順に取得する列挙処理と、
    前記対応付け処理により取得した対応付けと前記列挙処理により取得した列挙とを照合して、前記対応付け処理により取得した前記ポート番号順と同一配列順で、前記列挙処理により取得した前記ディスプレイデバイス情報を配列の要素に格納する配列生成処理と、を実行するホスト装置。
  4. ハブの第一下流側ポート及び第二下流側ポートにそれぞれ接続された第一ディスプレイ及び第二ディスプレイに前記ハブを介してそれぞれ映像信号を出力するホスト装置が、
    前記第一ディスプレイ及び前記第二ディスプレイのそれぞれの接続先のポート番号と、前記第一ディスプレイ及び前記第二ディスプレイのシリアル番号とを対応付けて取得する対応付け処理と、
    前記第一ディスプレイ及び前記第二ディスプレイを列挙して、前記第一ディスプレイ及び前記第二ディスプレイのそれぞれのディスプレイデバイス情報を取得するとともに、前記第一ディスプレイ及び前記第二ディスプレイのシリアル番号を列挙順に取得する列挙処理と、
    前記対応付け処理により取得した対応付けと前記列挙処理により取得した列挙とを照合して、前記対応付け処理により取得した前記ポート番号順と同一配列順で、前記列挙処理により取得した前記ディスプレイデバイス情報を配列の要素に格納する配列生成処理と、を実行する配列順特定方法。
JP2017007053A 2017-01-18 2017-01-18 プログラム、ホスト装置及び配列特定方法 Withdrawn JP2018116503A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017007053A JP2018116503A (ja) 2017-01-18 2017-01-18 プログラム、ホスト装置及び配列特定方法
US15/869,756 US10178362B2 (en) 2017-01-18 2018-01-12 Non-transitory computer-readable medium, host device, and array determination method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017007053A JP2018116503A (ja) 2017-01-18 2017-01-18 プログラム、ホスト装置及び配列特定方法

Publications (1)

Publication Number Publication Date
JP2018116503A true JP2018116503A (ja) 2018-07-26

Family

ID=62841376

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017007053A Withdrawn JP2018116503A (ja) 2017-01-18 2017-01-18 プログラム、ホスト装置及び配列特定方法

Country Status (2)

Country Link
US (1) US10178362B2 (ja)
JP (1) JP2018116503A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10688732B2 (en) * 2017-06-22 2020-06-23 Young Optics Inc. Three dimensional printing device
JP2020062794A (ja) * 2018-10-17 2020-04-23 Dgshape株式会社 箔転写装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04113828A (ja) 1990-09-04 1992-04-15 Ishikawajima Harima Heavy Ind Co Ltd 大型立体樹脂モデルの製造方法及びその装置
US8782237B2 (en) * 2010-01-28 2014-07-15 Intel Corporation Audio/video streaming in a topology of devices
JP2015016610A (ja) 2013-07-10 2015-01-29 ローランドディー.ジー.株式会社 画像投影システムおよび画像投影方法
JP6377392B2 (ja) 2014-04-08 2018-08-22 ローランドディー.ジー.株式会社 画像投影システムおよび画像投影方法

Also Published As

Publication number Publication date
US10178362B2 (en) 2019-01-08
US20180205917A1 (en) 2018-07-19

Similar Documents

Publication Publication Date Title
ES2443265B1 (es) Banco de fabricación o verificación de mazos eléctricos
CN103412769B (zh) 外接卡参数配置方法、设备以及系统
US10120658B2 (en) Method and system for realizing software development tasks
CN106708597A (zh) 一种基于Openstack创建集群环境的方法、装置及系统
US11816809B2 (en) Alignment- and orientation-based task assistance in an AR environment
CN105045663A (zh) 快速部署虚拟机的方法与系统
JP2018116503A (ja) プログラム、ホスト装置及び配列特定方法
CN104102511A (zh) 一种基于SQL Server的脚本自动升级系统及方法
CN108274733A (zh) 立体打印方法与立体打印系统
CN103744710A (zh) 操作系统的安装方法及系统
US20170344385A1 (en) Information processing apparatus, information processing method, and storage medium
JP6827741B2 (ja) 情報処理装置、制御方法、およびプログラム
KR101533603B1 (ko) 인식방법 및 인식장치
CN105205123A (zh) 一种数据库间数据交互方法和装置
JP6036222B2 (ja) デバイス制御装置、ホスト装置およびホスト装置の制御方法
US10277615B2 (en) Maintenance of distributed computing systems
CN114265595A (zh) 一种基于智能合约的云原生应用开发与部署系统和方法
TW200912650A (en) KVM switch identifying peripheral for computer and method thereof
JP2902461B2 (ja) 実装データ変換方法
CN106528152A (zh) 一种基于模型驱动软件开发的信息系统
JP2021182303A (ja) 操作領域の規定方法、操作領域の規定プログラム、情報処理装置、空間表示システム
CN112148301A (zh) 一种非编译的Android系统客制化版本集成制作的方法、系统及存储介质
CN207851800U (zh) 一种智能开关组的通用检测追溯系统
US9720659B2 (en) Sparse object instantiation
EP4116868A1 (en) System and method for cable plugging assistance

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191223

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20200708