(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022187112
(43)【公開日】2022-12-19
(54)【発明の名称】バックアップシステムおよび装置
(51)【国際特許分類】
G06F 8/70 20180101AFI20221212BHJP
G06K 7/14 20060101ALI20221212BHJP
【FI】
G06F8/70
G06K7/14 017
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021094949
(22)【出願日】2021-06-07
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
2.JAVASCRIPT
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】迫田 美香
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376DA11
5B376DA21
(57)【要約】
【課題】制御プログラムのプログラムコードならびにパラメータを効率良くバックアップすることができるバックアップシステムを提供する。
【解決手段】バックアップシステムは、装置の動作を制御するための制御プログラムであって、制御プログラムのプログラムコードおよびパラメータを画像オブジェクトとして出力可能なビジュアルプログラミング言語により記述されている制御プログラムと、一群のプログラムコードとプログラムコードに対応する一意のモジュールIDとの対応関係を表す対応情報と、を格納する記憶部と、制御プログラムを表す画像オブジェクトに関連付けられているプログラムコードに対応するモジュールIDおよびパラメータを二次元コードに変換するための符号化部と、変換された二次元コードを出力するための出力部と、を有する装置と、出力された二次元コードを画像認識して取得する二次元コード取得部、を有する端末装置と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
バックアップシステムであって、
製造に用いられる装置であって、
前記装置の動作を制御するための制御プログラムであって、前記制御プログラムのプログラムコードおよびパラメータを画像オブジェクトとして出力可能なビジュアルプログラミング言語により記述されている制御プログラムと、一群の前記プログラムコードと前記プログラムコードに対応する一意のモジュールIDとの対応関係を表す対応情報と、を格納する記憶部と、
前記制御プログラムを表す前記画像オブジェクトに関連付けられている前記プログラムコードに対応する前記モジュールIDおよび前記パラメータを二次元コードに変換するための符号化部と、
変換された前記二次元コードを出力するための出力部と、を有する装置と、
出力された前記二次元コードを画像認識して取得する二次元コード取得部、を有する端末装置と、を備える、
バックアップシステム。
【請求項2】
請求項1に記載のバックアップシステムであって、
前記符号化部は、
前記画像オブジェクトに関連付けられている前記プログラムコードに対応する前記モジュールIDおよび前記パラメータをテキストデータとして抽出し、
抽出した前記テキストデータを前記二次元コードに変換する、
バックアップシステム。
【請求項3】
請求項1または請求項2に記載のバックアップシステムであって、
前記端末装置は、さらに、取得した前記二次元コードを用いて、前記プログラムコードおよび前記パラメータを復号化する復号化部を備える、
バックアップシステム。
【請求項4】
製造に用いられる装置であって、
前記装置の動作を制御するための制御プログラムであって、前記制御プログラムのプログラムコードおよびパラメータを画像オブジェクトとして出力可能なビジュアルプログラミング言語により記述されている制御プログラムと、一群の前記プログラムコードと前記プログラムコードに対応する一意のモジュールIDとの対応関係を表す対応情報と、を格納する記憶部と、
前記制御プログラムを表す前記画像オブジェクトに対応する前記モジュールIDおよび前記パラメータを二次元コードに変換するための符号化部と、
変換された前記二次元コードを出力するための出力部と、を備える、
装置。
【請求項5】
請求項4に記載の装置であって、
前記符号化部は、
前記画像オブジェクトに関連付けられている前記プログラムコードに対応する前記モジュールIDおよび前記パラメータをテキストデータとして抽出し、
抽出した前記テキストデータを前記二次元コードに変換する、
装置。
【請求項6】
請求項4または請求項5に記載の装置であって、
さらに、出力された前記二次元コードを画像認識して取得する二次元コード取得部と、
取得した前記二次元コードを用いて、前記プログラムコードおよび前記パラメータを復号化する復号化部を備える、
装置。
【請求項7】
バックアップ方法であって、
製造に用いられる装置の動作を制御するための制御プログラムであって、前記制御プログラムのプログラムコードおよびパラメータを画像オブジェクトとして出力可能なビジュアルプログラミング言語により記述されている制御プログラムを表す前記画像オブジェクトに対応する前記パラメータと、前記プログラムコードに対応する一意のモジュールIDとを、テキストデータとして抽出し、
抽出した前記テキストデータを二次元コードに変換し、
変換された前記二次元コードを出力し、
出力された前記二次元コードを端末装置に画像認識させて取得させる、
バックアップ方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、バックアップシステムおよび装置に関する。
【背景技術】
【0002】
情報漏洩を防止するために外部メモリを使用することなくデータをバックアップすることができるデバイスが知られている(例えば、特許文献1)。このデバイスは、デバイス内に保存されている機密情報データを二次元バーコード等に変換し、変換した二次元コードを紙面上に印刷することによって、データをバックアップする。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
バックアップするデータの対象には、装置の動作を制御するための制御プログラムや各種パラメータなど、装置の動作環境を示すデータが含まれ得る。二次元コードの容量には上限があるため、従来の技術では、制御プログラムをバックアップする場合には、多量の紙面が必要となり得る。そのため、バックアップの対象となるデータのデータ量を抑えつつ効率良くバックアップするための技術が望まれていた。
【課題を解決するための手段】
【0005】
本開示は、以下の形態として実現することが可能である。
【0006】
(1)本開示の一形態によれば、バックアップシステムが提供される。このバックアップシステムは、製造に用いられる装置であって、前記装置の動作を制御するための制御プログラムであって、前記制御プログラムのプログラムコードおよびパラメータを画像オブジェクトとして出力可能なビジュアルプログラミング言語により記述されている制御プログラムと、一群の前記プログラムコードと前記プログラムコードに対応する一意のモジュールIDとの対応関係を表す対応情報と、を格納する記憶部と、前記制御プログラムを表す前記画像オブジェクトに関連付けられている前記プログラムコードに対応する前記モジュールIDおよび前記パラメータを二次元コードに変換するための符号化部と、変換された前記二次元コードを出力するための出力部と、を有する装置と、出力された前記二次元コードを画像認識して取得する二次元コード取得部、を有する端末装置と、を備える。
この形態のバックアップシステムによれば、ビジュアルプログラミング言語により記述されている制御プログラムのプログラムコードに対応付けられるモジュールIDならびにパラメータをバックアップ対象とすることにより、変換後のテキストデータのデータ量を、プログラミング言語で記述される制御プログラムのデータ量よりも小さくすることができる。したがって、制御プログラムのプログラムコードならびにパラメータを、データ量が限られる二次元コードに変換することができ、効率良くバックアップすることができる。
(2)上記形態のバックアップシステムにおいて、前記符号化部は、前記画像オブジェクトに関連付けられている前記プログラムコードに対応する前記モジュールIDおよび前記パラメータをテキストデータとして抽出し、抽出した前記テキストデータを前記二次元コードに変換してよい。
この形態のバックアップシステムによれば、テキストデータを用いた簡易な方法により、制御プログラムのプログラムコードならびにパラメータを二次元コードに変換することができる。
(3)上記形態のバックアップシステムにおいて、前記端末装置は、さらに、取得した前記二次元コードを用いて、前記プログラムコードおよび前記パラメータを復号化する復号化部を備えてよい。
この形態のバックアップシステムによれば、制御プログラムのプログラムコードおよびパラメータを端末装置に復号化することができ、端末装置で制御プログラムを編集することができる。
(4)本開示の他の形態によれば、製造に用いられる装置が提供される。この装置は、前記装置の動作を制御するための制御プログラムであって、前記制御プログラムのプログラムコードおよびパラメータを画像オブジェクトとして出力可能なビジュアルプログラミング言語により記述されている制御プログラムと、一群の前記プログラムコードと前記プログラムコードに対応する一意のモジュールIDとの対応関係を表す対応情報と、を格納する記憶部と、前記制御プログラムを表す前記画像オブジェクトに対応する前記モジュールIDおよび前記パラメータを二次元コードに変換するための符号化部と、変換された前記二次元コードを出力するための出力部と、を備える。
この形態の装置によれば、ビジュアルプログラミング言語により記述されている制御プログラムのプログラムコードに対応付けられるモジュールIDならびにパラメータをバックアップ対象とすることにより、変換後のテキストデータのデータ量を、プログラミング言語で記述される制御プログラムのデータ量よりも小さくすることができる。したがって、制御プログラムのプログラムコードならびにパラメータを、データ量が限られる二次元コードに変換することができ、効率良くバックアップすることができる。
(5)上記形態の装置において、前記符号化部は、前記画像オブジェクトに関連付けられている前記プログラムコードに対応する前記モジュールIDおよび前記パラメータをテキストデータとして抽出し、抽出した前記テキストデータを前記二次元コードに変換してよい。
この形態の装置によれば、テキストデータを用いた簡易な方法により、制御プログラムのプログラムコードならびにパラメータを二次元コードに変換することができる。
(6)上記形態の装置において、さらに、出力された前記二次元コードを画像認識して取得する二次元コード取得部と、取得した前記二次元コードを用いて、前記プログラムコードおよび前記パラメータを復号化する復号化部を備えてよい。
この形態の装置によれば、二次元コードを用いてバックアップされたデータを復号化することができる。
本開示は、バックアップシステムや装置以外の種々の形態で実現することも可能である。例えば、バックアップ方法、端末装置、バックアップシステムの制御方法、製造用装置の制御方法、端末装置の制御方法、これらの制御方法を実現するコンピュータプログラム、そのコンピュータプログラムを記録した一時的でない記録媒体等の形態で実現することができる。
【図面の簡単な説明】
【0007】
【
図1】第1実施形態としてのバックアップシステムの機能構成を示すブロック図。
【
図3】本実施形態のバックアップ方法を示すフロー図。
【
図4】バックアップデータの復号化方法を示すフロー図。
【
図5】製造用装置の駆動部が動作する様子の一例を示す第一の説明図。
【
図6】製造用装置の駆動部が動作する様子の一例を示す第二の説明図。
【
図7】ビジュアルプログラミング言語によって出力される画像オブジェクトを示す説明図。
【
図8】ビジュアルプログラミング言語の画像オブジェクトの例を示す第一の説明図。
【
図9】ビジュアルプログラミング言語の画像オブジェクトの例を示す第二の説明図。
【
図10】ビジュアルプログラミング言語の画像オブジェクトの例を示す第三の説明図。
【
図11】ビジュアルプログラミング言語の画像オブジェクトの例を示す第四の説明図。
【
図12】ビジュアルプログラミング言語の画像オブジェクトの例を示す第五の説明図。
【
図13】ビジュアルプログラミング言語の画像オブジェクトの例を示す第六の説明図。
【
図14】モジュールおよびパラメータが抽出されたテキストデータを示す説明図。
【
図17】第2実施形態としてのバックアップシステムを示す説明図。
【発明を実施するための形態】
【0008】
A.第1実施形態:
図1および
図2を用いて、本開示の第1実施形態としてのバックアップシステム300の構成について説明する。
図1は、本開示の第1実施形態としてのバックアップシステム300の機能構成を示すブロック図である。バックアップシステム300は、製造用装置100と、端末装置200とを備えている。バックアップシステム300は、製造用装置100の制御プログラムに含まれる各種パラメータなどを含む装置の動作環境に関するデータをバックアップするために用いられる。
【0009】
製造用装置100は、例えば、製品を搬送するための搬送装置である。具体的には、製造用装置100は、複数のローラ上に搬送物を載せて移動させるローラコンベアである。製造用装置100は、制御装置80と、駆動部90と、センサ96とを備えている。製造用装置100は、搬送装置のほか、加工機、溶接機、成形機、塗装機、表面処理機など、製品の製造に用いられる種々の装置であってよい。本開示において、「装置」には、例えば、給排水設備、電気設備、熱源設備、通信設備、搬送設備など、製造に用いられることを前提とする設備も含まれる。
【0010】
駆動部90は、制御装置80による制御のもとで動作を制御される。本実施形態では、駆動部90は、例えば、ローラ上の搬送物を所定の位置まで移動させるための電動シリンダである。センサ96は、例えば、製品の到着あるいは通過を検出する光電センサである。センサ96は、光センサ、音センサ、熱センサ、電流センサ、電圧センサ、距離センサ、気圧センサ、加速度センサ、回転速度センサ、湿度センサ、圧力センサ、ならびに磁気センサなどの種々のセンサであってよい。センサ96は、カメラであってもよく、この場合には、例えば、製品に表示された図形などを画像認識することにより、製品の到着ならびに通過の検出とともに、図形に関連付けられた製品の種類や製造番号、製品の搬送先といった製品に関する種々の情報を併せて取得することができる。センサ96による検出結果は、制御装置80に出力される。
【0011】
制御装置80は、製造用装置100の各部の動作を統率する。制御装置80は、中央演算処理装置(CPU)60、記憶部70、受信部30、二次元コード取得部40、ならびに出力部50を備えている。CPU60、記憶部70、受信部30、二次元コード取得部40、ならびに出力部50は、バス82を介して互いに接続されており、双方向に通信可能である。
【0012】
CPU60は、記憶部70に格納されている各種プログラムを実行することによって、制御部61、符号化部62、復号化部66、として機能する。記憶部70は、たとえば、RAM、ROM、ハードディスクドライブ(HDD)などである。HDDまたはROMには、本実施形態において提供される機能を実現するための各種プログラムが格納されており、HDDから読み出された各種プログラムはRAM上に展開されて、CPU60によって実行される。
【0013】
記憶部70は、駆動部90などの製造用装置100の各部の動作を制御するための制御プログラム72と、モジュールID対応表74と、を格納している。本実施形態では、制御プログラム72は、プログラムコード722およびパラメータ724を画像オブジェクトとして出力可能なビジュアルプログラミング言語により記述されている。プログラムコード722は、例えば、python、Java、PHP、JavaScriptなどのいわゆるテキスト言語を用いて記述されている。プログラムコード722には、後述するように、モジュールごとに一意のモジュールIDが対応付けられている。ビジュアルプログラミング言語としては、例えば、Blockly、SCRATCH、MakeCode、MESHなどを用いることができる。本実施形態では、画像オブジェクトを用いて、制御プログラム72のモジュールと、パラメータとを編集すし、製造用装置100の動作環境を編集することができる。編集された製造用装置100の動作環境などの設定データは、記憶部70に記憶される。ビジュアルプログラミング言語は、いわゆるブロックタイプ、フロータイプなどの種類を問わず、種々のビジュアルプログラミング言語を用いてよい。モジュールID対応表74は、一群のプログラムコード722と、プログラムコード722に対応する一意のモジュールIDとの対応関係を表す対応情報の一例である。
【0014】
制御部61は、制御プログラム72に基づいて駆動部90の動作を制御する。符号化部62は、制御プログラム72を表す画像オブジェクトに対応するモジュールIDおよびパラメータ724を、二次元コードCD1に変換する。本実施形態では、符号化部62は、画像オブジェクトに対応付けられたモジュールIDと、パラメータ724とをテキストデータとして抽出し、抽出したテキストデータを二次元コードCD1に変換する。符号化部62は、テキストデータの抽出を省略して、モジュールIDと、パラメータ724とを二次元コードに変換してもよい。復号化部66は、二次元コードを用いて、プログラムコード722と、パラメータ724とを復号化する。
【0015】
受信部30は、無線通信もしくは有線通信を介して、センサ96による検出結果を受信する。二次元コード取得部40は、二次元コードを画像認識するためのカメラである。出力部50は、符号化部62によって生成された二次元コードCD1を出力する。本実施形態では、出力部50は、製造用装置100に設けられるディスプレイである。出力部50は、二次元コードの出力方法として、ディスプレイ上に二次元コードCD1の画像を表示する。二次元コードの出力方法は、画像表示には限らず、紙や布などの記録媒体に印刷されてもよい。出力部50は、情報漏洩を防止する観点から、無線通信や有線通信などを用いないことが好ましい。
【0016】
図2は、端末装置200の内部機能構成を示すブロック図である。端末装置200は、例えば、タブレットやスマートフォン、ノートパソコンなどの携帯情報機器である。端末装置200は、他の機器との間の通信機能の有無を問わず、ネットワークに接続されていなくてもよい。端末装置200には、本開示の機能が実現できることを前提として、デジタルカメラや携帯ゲーム機などの携帯機器が含まれてよい。
【0017】
端末装置200は、二次元コード取得部240と、出力部250と、中央演算処理装置(CPU)260と、記憶部270と、を備えている。二次元コード取得部240と、出力部250と、CPU260と、記憶部270とは、バス210を介して互いに接続されており、双方向に通信可能である。記憶部270は、たとえば、RAM、ROM、ハードディスクドライブ(HDD)である。HDDまたはROMには本実施形態において提供される機能を実現するための各種プログラムが格納されており、HDDから読み出された各種プログラムはRAM上に展開されて、CPU260によって実行される。記憶部270には、二次元コード取得部240によって取得された二次元コードCD1が格納される。
【0018】
二次元コード取得部240は、二次元コードCD1を画像認識するカメラであり、二次元コードCD1を画像データとして取得する。出力部250は、記憶部270に格納された二次元コードCD1を出力する。本実施形態では、出力部250は、端末装置200に設けられるディスプレイである。出力部250は、二次元コードCD1の出力方法として、端末装置200のディスプレイに二次元コードCD1を表示する。出力部250による二次元コードCD1の出力方法は、ディスプレイへの表示には限らず、記録媒体に印刷されてもよい。
【0019】
図3は、本実施形態のバックアップ方法を示すフロー図である。本フローは、例えば、使用者によるバックアップの開始を指示する操作を、製造用装置100が受け付けることによって開始する。バックアップを開始する指示は、製造用装置100と、端末装置200とのいずれから出力されてもよい。ステップS10では、符号化部62は、モジュールID対応表74に従って、制御プログラム72のプログラムコード722に対応付けられるモジュールIDと、パラメータ724とをテキストデータとして抽出する。
【0020】
ステップS20では、符号化部62は、抽出したテキストデータを、二次元コードCD1に変換する。ステップS30では、変換された二次元コードCD1は、出力部50によって出力される。本実施形態では、二次元コードCD1は、出力部50としてのディスプレイに表示されることで出力される。ステップS40では、端末装置200の二次元コード取得部240によって、出力部50に表示された二次元コードCD1が画像データとして端末装置200に取得される。取得された二次元コードCD1は、端末装置200の記憶部270に格納される。以上により、制御プログラム72のプログラムコード722と、パラメータ724とのバックアップは完了する。
【0021】
図4は、バックアップデータの復号化方法を示すフロー図である。本フローは、例えば、使用者によるバックアップデータの復号化を開始する指示を、端末装置200が受け付けることによって開始する。バックアップデータの復号化を開始する指示は、製造用装置100と、端末装置200とのいずれから出力されてもよい。ステップS110では、端末装置200の記憶部270に格納された二次元コードCD1は、出力部250としての端末装置200のディスプレイに出力される。
【0022】
ステップS120では、製造用装置100によって、出力部250に表示された二次元コードCD1の画像が読み取られる。例えば、二次元コードCD1をディスプレイに表示した状態の端末装置200を、製造用装置100の二次元コード取得部40で撮像することにより、製造用装置100は、二次元コードCD1を取得することができる。取得された二次元コードCD1は、一時的に記憶部70に格納される。
【0023】
ステップS130では、復号化部66は、記憶部70に一時的に格納された二次元コードCD1を解析して、テキストデータに復号化する。テキストデータは、ステップS20で符号化部62による変換後のテキストデータとは、一致していなくてもよい。ステップS140では、復号化部66は、例えば、モジュールID対応表74を用いるなど、変換されたテキストデータを解析して、制御プログラム72のプログラムコード722と、パラメータ724とを復号化する。以上により、バックアップデータの復号化は完了する。
【0024】
図5および
図6を用いて、製造用装置100の詳細について説明する。
図5は、製造用装置100の駆動部90が動作する様子の一例を示す第一の説明図である。
図6は、製造用装置100の駆動部90が動作する様子の一例を示す第二の説明図である。
【0025】
図5および
図6には、製造用装置100の一例が示されており、製造用装置100の駆動部90と、光電センサとしてのセンサ96と、制御装置80とが示されている。駆動部90は、例えば、電動シリンダであり、図示しないモータによって、ボールねじ94が回転されることにより、製品WKを搬送するための搬送部92が搬送方向D1に沿って往復移動する。なお、
図5に示す搬送部92の位置は、搬送方向D1における最も上流側であり、
図6に示す搬送部92の位置は、搬送方向D1における最も下流側である。
図5に示す搬送部92の位置を、「後進端」とも呼び、
図6に示す搬送部92の位置を、「前進端」とも呼ぶ。
【0026】
図5および
図6の例では、製品WKは、コンベア130上を搬送方向D1に沿って搬送される。
図5に示すように、製造用装置100は、初期状態では、搬送部92を後進端に配置した状態で待機する。製品WKが前工程PS0から工程PS1に投入されると、製造用装置100は、センサ96によって製品WKを検知する。製品WKを検知すると、製造用装置100は、駆動部90を駆動させて搬送部92を、下流側に向かう方向D2に沿って、前進端まで移動させる。この結果、製品WKは、後工程PS2へと搬送される。
図6に示すように、前進端まで移動した搬送部92は、駆動部90の制御によって、搬送方向D1の上流側に向かう方向D3に沿って後進端へと移動されて、再び初期状態へと戻る。
【0027】
図7とともに、適宜に
図8から
図13を参照して、ビジュアルプログラミング言語の詳細について説明する。
図7は、ビジュアルプログラミング言語によって出力される画像オブジェクトを示す説明図である。
図7に示すように、制御プログラム72は、ビジュアルプログラミング言語により、視認可能なブロック状の画像オブジェクトで出力される。使用者は、このブロック状の画像オブジェクトを編集することにより、制御プログラム72のパラメータ等を編集することができる。
【0028】
図7に示すブロック状の各画像オブジェクトには、プログラムコード722による実行命令が記述されている。プログラムコード722による実行命令は、画像オブジェクトのタイプごとに関連付けられて記述されている。これらの画像オブジェクトを予め定められた規則に従ってつなぎ合わせることにより、制御プログラム72を編集することができる。
図7に示すように、画像オブジェクトには、プログラムコード722ごとに対応する複数のタイプがあり、画像オブジェクトには、そのタイプごとに異なるモジュールIDが割り当てられている。
【0029】
図8から
図13を用いて、画像オブジェクトのタイプについて説明する。
図8は、ビジュアルプログラミング言語の画像オブジェクトの例を示す第一の説明図である。
図8に示す画像オブジェクトM1は、いわゆるループを実行するプログラムコードが記述されている。例えば、連結部E11に連結された画像オブジェクトの条件が成立している場合には、連結部E12に連結された画像オブジェクトの内容が繰り返し実行される。例えば、
図7に示す、画像オブジェクトM2が実行されることによりループから抜け出すことができる。
図7には、画像オブジェクトM1の一例としての画像オブジェクトM1aが示されている。
【0030】
図9は、ビジュアルプログラミング言語の画像オブジェクトの例を示す第二の説明図である。
図9に示す画像オブジェクトM3では、連結部E31に連結された画像オブジェクトの条件が成立している場合に、連結部E32に連結された画像オブジェクトの内容が実行されるプログラムコードが記述されている。
図7には、画像オブジェクトM3の例としての画像オブジェクトM3a~M3cが示されている。
【0031】
図10は、ビジュアルプログラミング言語の画像オブジェクトの例を示す第三の説明図である。
図10に示す画像オブジェクトM4には、連結部E41に連結された画像オブジェクトの条件が成立している場合に、連結部E42に連結された画像オブジェクトの内容を実行するプログラムコードが記述されている。連結部E41に連結された画像オブジェクトの条件が成立していない場合には、連結部E43に連結された画像オブジェクトの内容を実行するプログラムコードが記述されている。
図7には、画像オブジェクトM4の一例としての画像オブジェクトM4aが示されている。
【0032】
図11は、ビジュアルプログラミング言語の画像オブジェクトの例を示す第四の説明図である。
図11に示す画像オブジェクトM6は、条件を設定するために用いられる画像オブジェクトである。画像オブジェクトM6は、パラメータを設定するための画像オブジェクトP1を嵌め合わせるための嵌合部E61と、パラメータを設定するための画像オブジェクトP2を嵌め合わせるための嵌合部E62とを有している。本実施形態では、画像オブジェクトP1には、起動、センサ、前進指令、前進端、後進指令、後進端、搬出完了、異常、進入可などの予め定められたパラメータが選択可能である。画像オブジェクトP2には、true、falseなどの予め定められたパラメータが選択可能である。画像オブジェクトM6には、パラメータを設定するためのドロップダウンリストP3が配置されている。ドロップダウンリストP3は、嵌合部E61と、嵌合部E62とを対比するためのパラメータが含まれる。ドロップダウンリストP3では、例えば、=、≠、<、≦、>、≧などのパラメータを設定することができる。
図7には、画像オブジェクトM6の例としての画像オブジェクトM6a~M6dが示されている。
【0033】
図12は、ビジュアルプログラミング言語の画像オブジェクトの例を示す第五の説明図である。
図12に示す画像オブジェクトM7は、条件を設定するための画像オブジェクトであり、ブロック状の画像オブジェクトP1を嵌め合わせるための嵌合部E71と、ブロック状の画像オブジェクトP2を嵌め合わせるための嵌合部E72と、ドロップダウンリストP4とを有している。
図11に示す画像オブジェクトM6とは、ドロップダウンリストの内容が異なる。ドロップダウンリストP4では、例えば、「かつ」、「または」などのパラメータを設定することができる。
図7には、画像オブジェクトM7の一例としての画像オブジェクトM7aが示されている。
【0034】
図13は、ビジュアルプログラミング言語の画像オブジェクトの例を示す第六の説明図である。
図13に示す画像オブジェクトM5は、実行内容を設定することができる画像オブジェクトであり、ブロック状の画像オブジェクトP1,P2を嵌め合わせるための嵌合部E51と、ドロップダウンリストP5を有している。ドロップダウンリストP5では、例えば、画像オブジェクトP1と同じ内容のパラメータを設定することができる。
図7には、画像オブジェクトM5の一例としての画像オブジェクトM5a、M5b、M5cが示されている。
【0035】
以上のことから、
図7に示すビジュアルプログラミング言語は、以下の制御を実行し、
図5および
図6を用いて説明した製造用装置100の動作を実現されることが理解できる。
(1)画像オブジェクトM1によれば、画像オブジェクトM6aの条件が成立している間、具体的には、製造用装置100が起動されている間(起動=true)、画像オブジェクトM2が実行されることによりループから抜け出すまで、画像オブジェクトM4aの内容が繰り返し実行される。
(2)画像オブジェクトM4aによれば、画像オブジェクトM6bの条件が成立している場合、画像オブジェクトM2により、画像オブジェクトM1のループから抜け出す。画像オブジェクトM6bの条件が成立していない場合、画像オブジェクトM3a~M3cの内容が順に実行される。具体的には、製造用装置100に異常が発生している場合(異常=true)、画像オブジェクトM2によりループから抜け出して、画像オブジェクトM4aの処理を終了する。製造用装置100に異常が発生していない場合には、画像オブジェクトM3a~M3cの内容が順に実行される。
(3)画像オブジェクトM3aによれば、製品WKの搬送が完了しておらず(搬送完了=false)、かつ、センサ96が製品WKを検出している場合には(センサ=true)、搬送部92を前進させる(前進指令=true)。画像オブジェクトM3bによれば、搬送部92が前進端に配置されている場合には(前進端=true)、搬送部92の前進を停止し(前進指令=false)、搬送部92を後進させる(後進指令=true)。画像オブジェクトM3cによれば、搬送部92が後進端に位置し(後進端=true)、かつ、センサ96が製品WKを検出していない場合には(センサ=false)、搬送部92の後進を停止し(後進指令=false)、前工程PS0から新たな製品WKの受け入れを許可する(進入可=true)。
【0036】
図14から
図16を用いて、プログラムコードに対応するモジュールIDおよびパラメータのバックアップ方法の詳細について説明する。
図14は、モジュールIDおよびパラメータ724が抽出されたテキストデータを示す説明図である。
図14に示すテキストデータは、
図7に示した制御プログラム72を符号化部62が抽出したテキストデータである。符号化部62は、ビジュアルプログラミング言語により記述されている制御プログラム72を、例えば、モジュールID対応表74を用いるなど、予め設定された規則に従って
図14に示すテキストデータとして抽出する。
【0037】
図15は、モジュールID対応表74を示す説明図である。モジュールID対応表74は、一群のプログラムコード722と、各プログラムコード722に対応する一意のモジュールIDとの対応関係を表している。
図15では、技術の理解を容易にするために、プログラムコード722を、プログラムコード722に対応する画像オブジェクトのタイプで示している。モジュールIDは、例えば、
図7から
図13を用いて示した画像オブジェクトM1~M7のそれぞれに対して割り当てられている。モジュールIDは、例えば、ASCIIなどに準拠した半角・大文字のアルファベット3文字を用いたテキストデータとして抽出される。
図15では、画像オブジェクトM1~M7に、モジュールIDとして、半角・大文字のアルファベット「AAA」~「GGG」が割り当てられている例が示されている。
【0038】
図15に示すように、パラメータは、画像オブジェクトの画面表示に対応する一意のテキストデータが割り当てられている。パラメータは、ASCIIなどに準拠した半角・小文字のアルファベット、数字、ならびに「_(Low Line)」「-(Hyphen-Minus)」「'(Apostrophe)」などの一部の記号、を用いたテキストデータとして抽出される。本実施形態では、「‘(Grave Accent)」は用いられない。モジュールIDおよびパラメータを抽出する際のテキストデータに使用される文字などの規則は、上記の例には限定されず、種々の文字、数字、記号を用いて設定されてよく、これらを任意に組み合わせて設定されてよい。
【0039】
図14に示すように、テキストデータに付した符号M1,M6a,M4a,M6b,M5b,M5c,M2は、
図7に示す各画像オブジェクトに付した符号M1,M6a,M4a,M6b,M5b,M5c,M2と対応している。
図14に示すように、符号化部62によるテキストデータの抽出では、画像オブジェクトの連結関係、すなわちプログラムコード722の実行順序が、例えば、以下に示すように、予め設定された規則に従って変換される。
(1)一つの画像オブジェクトは、そのプログラムコード722に対応するモジュールIDに対応するテキストから、次に記述される同じモジュールIDに対応するテキストまでで形成される。例えば、画像オブジェクトM6aでは、矢印C1で示すように、画像オブジェクトM6に対応するモジュールIDのテキスト「FFF」から、矢印C2で示すように、次のテキスト「FFF」までが一つの画像オブジェクトM6aならびにそれに含まれるパラメータに対応するテキストデータである。なお、矢印C4で示すテキスト「‘」は、モジュールからの離脱を意味する。
(2)モジュールIDのテキスト間に記述されるテキストデータは、パラメータの内容を示している。例えば、画像オブジェクトM6aでは、矢印C1で示すテキスト「FFF」から、矢印C2で示す次のテキスト「FFF」までに含まれるテキスト「sen1-f1-e0」が、画像オブジェクトM6aに含まれるパラメータを記述している。
(3)モジュールID間に含まれるパラメータが複数存在する場合には、矢印C3で示すテキスト「-」を用いて記述される。例えば、画像オブジェクトM6aでは、互いにテキスト「-」を用いて連結されるテキスト「sen1」「f1」「e0」との3つのパラメータが連続して順に含まれていることが記述されている。
(4)モジュールIDごとの連結関係には、テキスト「_」が利用されている。
第一の例としては、テキスト「_」を記述しないことにより、隣接する階層に連結されていることが示されている。例えば、
図7に示すように、テキスト「AAA」とテキスト「FFF」とがテキスト「_」を用いることなく連続して記述されていることにより、画像オブジェクトM1の連結部E11、すなわち画像オブジェクトM1に隣接する階層に画像オブジェクトM6が連結されていることが記述されている。
第二の例としては、二つのテキスト「_」を連続して記述することにより、次の階層にモジュールが連結されていることが示されている。例えば、
図7に示すように、画像オブジェクトM1に連結された画像オブジェクトM6aを離脱して、画像オブジェクトM1の次の階層に画像オブジェクトM4aが連結されていることは、矢印C2,C4で示すテキスト「FFF'」の後に、矢印C5で示す二つのテキスト「_」が記述され、さらに画像オブジェクトM4に対応するテキスト「DDD」が記述されることによって形成されている。
第三の例としては、一つのテキスト「_」を記述することにより、同じ階層に異なるモジュールが連結されていることが示されている。例えば、
図7に示すように、画像オブジェクトM3cの連結部E32に、画像オブジェクトM5bと、画像オブジェクトM5cとが同じ階層で連結されていることは、
図14の矢印C6で示すように、一つのテキスト「_」を用いて、画像オブジェクトM5bの離脱に対応するテキスト「EEE'」と、画像オブジェクトM5cに対応するテキスト「EEE」とが連結されていることによって形成されている。
【0040】
図16は、二次元コードの一例を示す説明図である。
図16には、
図15で示したテキストデータから変換された二次元コードCD1が示されている。二次元コードとしては、例えば、QRコード(登録商標)、マイクロQRコード、iQRコード、PDF417などの種々の二次元コードを用いることができる。本実施形態では、二次元コードCD1は、8ビットバイトデータで文字列を表示することができるQRコードである。
【0041】
QRコードの容量には、上限がある。例えば、バージョン40のQRコードの容量は、ASCIIに準拠した英数字を用いたテキストデータで数千文字程度である。そのため、制御プログラム72を構成するプログラミング言語のデータを、そのままQRコードに変換する場合には、一つのQRコードでは足りず、多量のQRコードが必要となり得る。QRコードのバージョンや、文字列の表示モードなどは、バックアップ対象となるテキストデータのデータ量に基づいて任意に設定されてよい。
【0042】
以上、説明したように、本実施形態のバックアップシステム300は、製造用装置100と、端末装置200とを備える。製造用装置100は、記憶部70と、制御プログラム72を表す画像オブジェクトに関連付けられているプログラムコード722に対応するモジュールIDおよびパラメータ724を二次元コードCD1に変換するための符号化部62と、変換された二次元コードCD1を出力するための出力部50とを備える。記憶部70には、制御プログラム72のプログラムコード722およびパラメータ724を画像オブジェクトとして出力可能なビジュアルプログラミング言語により記述されている制御プログラム72と、一群のプログラムコード722とプログラムコード722に対応する一意のモジュールIDとの対応関係を表すモジュールID対応表74とが格納されている。端末装置200は、出力された二次元コードCD1を画像認識して取得する二次元コード取得部40、を備える。本実施形態のバックアップシステム300によれば、ビジュアルプログラミング言語により記述されている制御プログラム72のプログラムコード722ならびにパラメータ724、モジュールの実行順序を含む設定データをバックアップ対象とすることにより、変換後のテキストデータのデータ量を、プログラミング言語で記述される制御プログラム72のデータ量よりも小さくすることができる。したがって、制御プログラム72のプログラムコード722ならびにパラメータ724を、データ量が限られる二次元コードCD1に変換することができ、効率良くバックアップすることができる。また、端末装置200は、製造用装置100によって出力された二次元コードCD1を画像データとして取得できる。そのため、製造用装置100をネットワークに接続する必要がなくなる。また、バックアップデータを取得する際に、端末装置200などの周辺機器や記憶媒体を製造用装置100のI/Fに接続する必要がなくなる。したがって、データのバックアップに伴う情報漏洩を低減または防止することができる。
【0043】
本実施形態のバックアップシステム300によれば、符号化部62は、画像オブジェクトに関連付けられているプログラムコード722に対応するモジュールIDおよびパラメータ724をテキストデータとして抽出し、抽出したテキストデータを二次元コードCD1に変換する。したがって、テキストデータを用いた簡易な方法により、制御プログラム72のプログラムコード722ならびにパラメータ724を二次元コードCD1に変換することができる。
【0044】
本実施形態の製造用装置100は、記憶部70と、プログラムコード722に対応するモジュールIDおよびパラメータ724を二次元コードCD1に変換するための符号化部62と、変換された二次元コードCD1を出力するための出力部50とを備える。記憶部70には、ビジュアルプログラミング言語により記述されている制御プログラム72と、一群のプログラムコード722とプログラムコード722に対応する一意のモジュールIDとの対応関係を表すモジュールID対応表74とが格納されている。本実施形態の製造用装置100によれば、ビジュアルプログラミング言語により記述されている制御プログラム72のモジュールIDならびにパラメータ、モジュールの実行順序を含む設定データをバックアップ対象とすることにより変換後のテキストデータのデータ量を、プログラミング言語で記述される制御プログラム72のデータ量よりも小さくすることができる。したがって、制御プログラム72のプログラムコード722ならびにパラメータ724を、データ量が限られる二次元コードCD1に変換することができ、効率良くバックアップすることができる。また、端末装置200は、製造用装置100によって出力された二次元コードCD1を画像データとして取得できる。そのため、製造用装置100をネットワークに接続する必要がなくなる。また、バックアップデータを取得する際に、端末装置200などの周辺機器や記憶媒体を製造用装置100のI/Fに接続する必要がなくなる。したがって、データのバックアップに伴う情報漏洩を低減または防止することができる。
【0045】
本実施形態の製造用装置100によれば、符号化部62は、画像オブジェクトに関連付けられているプログラムコード722に対応するモジュールIDおよびパラメータ724をテキストデータとして抽出し、抽出したテキストデータを二次元コードCD1に変換する。したがって、テキストデータを用いた簡易な方法により、制御プログラム72のプログラムコード722ならびにパラメータ724を二次元コードCD1に変換することができる。
【0046】
B.第2実施形態:
図17は、第2実施形態としてのバックアップシステム300bを示す説明図である。第2実施形態のバックアップシステム300bは、端末装置200に代えて、制御プログラム272の符号化および復号化の機能を有する端末装置200bを備えている。バックアップシステム300bのそれ以外の構成は、第1実施形態のバックアップシステム300と同様である。
【0047】
端末装置200bのCPU260は、記憶部270に格納されている各種プログラムを実行することによって、符号化部262、復号化部266として機能する。符号化部262は、第1実施形態で示した符号化部62と同様に、製造用装置100の制御プログラム272を表す画像オブジェクトに関連付けられているプログラムコードに対応するモジュールIDおよびパラメータを、二次元コードに変換する。復号化部266は、第1実施形態で示した復号化部66と同様に、二次元コードを制御プログラム272に復号化する。
【0048】
記憶部270は、製造用装置100の制御プログラム272と、第1実施形態で示したモジュールID対応表74と同じモジュールID対応表274とを格納している。本実施形態では、端末装置200bを用いて、制御プログラム272を編集することができる。制御プログラム272は、プログラムコードおよびパラメータを画像オブジェクトとして出力可能なビジュアルプログラミング言語により記述されている。使用者は、例えば、製造用装置100から取得した二次元コードCD1から、復号化部266によって、製造用装置100の制御プログラム72を、制御プログラム272として端末装置200bに復号化し、端末装置200bを用いて制御プログラム272を編集することができる。
【0049】
端末装置200bの使用者は、例えば、制御プログラム272を、端末装置200bを用いて編集し、編集後の制御プログラム272符号化部262および符号化部262によって、二次元コードCD2として生成することができる。出力部250によって出力された二次元コードCD2を用いて、製造用装置100にプログラムコードおよびパラメータとして復号化することにより、編集後の制御プログラム272を製造用装置100に反映させることができる。
【0050】
本実施形態のバックアップシステム300bによれば、端末装置200bは、取得した二次元コードCD1を用いて、プログラムコードならびにパラメータを復号化するための復号化部266を備える。したがって、プログラムコード722およびパラメータ724を端末装置200bに復号化し、端末装置200bでプログラムコード722およびパラメータ724を編集することができる。
【0051】
本実施形態の製造用装置100によれば、二次元コードCD2を画像認識して取得する二次元コード取得部40と、取得した二次元コードCD2を用いて、ビジュアルプログラミング言語のパラメータ724に復号化するための復号化部66と、を備える。製造用装置100は、製造用装置100とは異なる装置で編集されたプログラムコード722ならびにパラメータ724を、二次元コードCD2を介して復号化することができる。製造用装置100にプログラムコード722およびパラメータ724を復号化する機能を持たせることにより、端末装置200などの他の装置に復号化部を備える必要がなくなり、端末装置200などの他の装置の構成を簡素にすることができる。
【0052】
C.他の実施形態:
本開示に記載の制御部及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の制御部及びその手法は、一つ以上の専用ハードウエア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載の制御部及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウエア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。
【0053】
本開示は、上述の実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態中の技術的特徴は、上述の課題の一部又は全部を解決するために、あるいは、上述の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【符号の説明】
【0054】
30…受信部、40…二次元コード取得部、50…出力部、60…CPU、61…制御部、62…符号化部、66…復号化部、70…記憶部、72…制御プログラム、74…モジュールID対応表、80…制御装置、82…バス、90…駆動部、92…搬送部、94…ボールねじ、96…センサ、100…製造用装置、200,200b…端末装置、210…バス、240…二次元コード取得部、250…出力部、260…CPU、262…符号化部、266…復号化部、270…記憶部、272…制御プログラム、274…モジュールID対応表、300,300b…バックアップシステム、722…プログラムコード、724…パラメータ、CD1,CD2…二次元コード、E11,E12,E31,E32,E41,E42,E43…連結部、E51,E61,E62,E71,E72…嵌合部、M1~M7,P1,P2…画像オブジェクト、PS0…前工程、PS1…工程、PS2…後工程、P3~P5…ドロップダウンリスト、WK…製品