(57)【要約】  シーケンスプログラムを構成するシーケンス命令の、構造化されたデータを持つアドレス型パラメータへのデータアクセスにあっては、従来はマニュアルに記載されたデータ構造を参照してオフセットアドレスを利用者が計算していたので計算間違により不正なデータ領域にアクセスするという欠点があったが、この欠点を解決するデータ構造自動識別方法を提供する。  データ構造情報をデータベースとして有し、構造化されたデータを持つアドレス型パラメータに入力された変数にアクセスするときは、データベースよりデータ構造情報を読み込み、データ構造を一覧として表示し（５４）、表示された一覧から任意の変数を選択することにより容易にシーケンス命令（５３）の任意のパラメータに設定することができる、という手順で処理する。
2007102313.tif 000002
【特許請求の範囲】
【請求項１】
入力装置と、表示装置と、構造化されたデータをアドレス型としてパラメータを持つシーケンス命令から構成されるシーケンスプログラムと前記構造化されたデータを、データメンバ名称、データ型、オフセットアドレス、オフセットビットアドレスをデータ構造情報として管理するデータ構造データベースとが記憶されたメモリと、ＣＰＵと、シーケンス命令のアドレス型パラメータのデータ構造情報が登録され管理するデータ構造データベースと、アドレス型パラメータに入力された変数を管理する変数登録データベースと、を備え、前記ＣＰＵによって前記表示装置シーケンスプログラムを表示し、前記シーケンスプログラム中のシーケンス命令のパラメータ領域に前記入力装置で入力された変数を認識するプログラミング装置において、
前記メモリに、さらに、前記データ構造データベースのデータが展開されるデータ構造情報記憶領域と、前記変数登録データベースのデータが展開される変数登録記憶領域とを備え、
前記ＣＰＵは、前記データ構造データベースに、コントローラがサポートする全シーケンス命令のアドレス型パラメータのデータ構造情報が管理番号で管理させ、前記シーケンスプログラム上のシーケンス命令のアドレス型パラメータに入力された変数を、前記入力されたシーケンス命令の名称とアドレス型パラメータの名称に基づいて前記データ構造データベースにて検索し、前記検索されて読み込まれた管理番号を、前記入力された変数のデータ構造識別番号として変数登録データベースに登録することを特徴とするプログラミング装置。
【請求項２】
前記ＣＰＵは、シーケンス命令の任意のパラメータに入力された変数を読み込み、前記変数登録データベースより前記入力された変数を検索し、前記検索されて読み込まれたデータ構造識別番号を基に前記データ構造データベースを検索し、前記検索されて読み込まれたデータ構造情報を基に、データメンバ名称とアドレスを一覧として前記表示装置に表示することを特徴とする請求項１記載のプログラミング装置。
【請求項３】
構造化されたデータをアドレス型としてパラメータを持つシーケンス命令から構成されるシーケンスプログラムが記憶されたプログラミング装置のアドレスパラメータのデータ構造自動識別方法であって、構造化された前記データを、データメンバ名称、データ型、オフセットアドレス、オフセットビットアドレスをデータ構造情報として管理するデータ構造データベースが記憶された記憶部を備えたデータ構造自動識別方法において、
前記データ構造データベースは、コントローラがサポートする全シーケンス命令のアドレス型パラメータのデータ構造情報が管理番号で管理され、
前記シーケンスプログラム上のシーケンス命令のアドレス型パラメータに入力された変数は、前記入力されたシーケンス命令の名称とアドレス型パラメータの名称に基づいて前記データ構造データベースを検索し、
前記検索されて読み込まれた管理番号を、前記入力された変数のデータ構造識別番号として変数登録データベースに登録する、という手順で処理されることを特徴とするデータ構造自動識別方法。
【請求項４】
前記シーケンス命令の任意のパラメータに入力された変数を読み込み、前記変数登録データベースより前記入力された変数を検索し、
前記検索されて読み込まれたデータ構造識別番号を基に前記データ構造データベースを検索し、
前記検索されて読み込まれたデータ構造情報を基に、データメンバ名称とアドレスを一覧として表示する、という手順で処理されることを特徴とする請求項３記載のデータ構造自動識別方法。
【請求項５】
前記一覧に表示されるデータメンバのアドレスは、前記データ構造データベースに登録されたオフセットアドレス、オフセットビットアドレスの相対アドレス値を、入力された変数のアドレス値に加算して表示することを特徴とする請求項４記載のデータ構造自動識別方法。
【請求項６】
前記一覧より、該当のデータメンバを選択することによって、シーケンス命令の任意のパラメータに変数を設定する、という手順で処理されることを特徴とする請求項５記載のデータ構造自動識別方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラのプログラミング装置およびアドレスパラメータのデータ構造自動識別方法およびそのプログラミング装置に関する。
【背景技術】
【０００２】
従来の構造化されたデータを持つアドレス型パラメータへのデータアクセスは、マニュアル等に記載されたデータ構造を参照し、前記アドレス型パラメータに入力された変数の絶対アドレス値に、前記マニュアルに記載されたデータメンバのオフセットアドレスを利用者が計算するという手順をとっているものがあった（特許文献１参照）。
このような手法にあっては、各データメンバ領域のアドレスの計算間違により、不正なデータ領域にアクセスするという問題があった。
図１０において、１０１はシーケンスプログラムであり、１０２は構造化されたデータをアドレス型パラメータ１０３としてもつシーケンス命令である。１０４は、アドレス型パラメータ１０３に入力された変数であり、１０５は、シーケンス命令の任意のパラメータに、構造化されたデータである変数１０４にアクセスするために、データ構造を記載したマニュアル等１０６を参照して、データアドレスオフセットをマニュアルで計算して入力した変数である。
このように、従来のプログラマブルコントローラのプログラミング装置では、構造化されたデータにアクセスするには、利用者が、データ構造が記載されたマニュアル等を参照しながらアドレスを計算する、という手順がとられていた。
【特許文献１】特開２００３−０２２１８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の構造化されたデータを持つアドレス型パラメータへのデータアクセスは、マニュアル等に記載されたデータ構造を参照し、前記アドレス型パラメータに入力された変数の絶対アドレス値に、前記マニュアルに記載されたデータメンバのオフセットアドレスを利用者が計算するという手順をとっているので、各データメンバ領域のアドレスの計算間違により、不正なデータ領域にアクセスするという問題があった。
本発明はこのような問題点に鑑みてなされたものであり、データ構造情報をデータベースとして有することにより、構造化されたデータを持つアドレス型パラメータに入力された変数にアクセスするときは、データベースよりデータ構造情報を読み込み、データ構造を一覧として表示することができ、表示された一覧から任意の変数を選択することができるプログラミング装置とアドレスパラメータのデータ構造自動識別方法を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記問題を解決するため、請求項１記載の発明は、プログラミング装置に係り、入力装置と、表示装置と、構造化されたデータをアドレス型としてパラメータを持つシーケンス命令から構成されるシーケンスプログラムと前記構造化されたデータを、データメンバ名称、データ型、オフセットアドレス、オフセットビットアドレスをデータ構造情報として管理するデータ構造データベースとが記憶されたメモリと、ＣＰＵと、シーケンス命令のアドレス型パラメータのデータ構造情報が登録され管理するデータ構造データベースと、アドレス型パラメータに入力された変数を管理する変数登録データベースと、を備え、前記ＣＰＵによって前記表示装置シーケンスプログラムを表示し、前記シーケンスプログラム中のシーケンス命令のパラメータ領域に前記入力装置で入力された変数を認識するプログラミング装置において、
前記メモリに、さらに、前記データ構造データベースのデータが展開されるデータ構造情報記憶領域と、前記変数登録データベースのデータが展開される変数登録記憶領域とを備え、
前記ＣＰＵは、前記データ構造データベースに、コントローラがサポートする全シーケンス命令のアドレス型パラメータのデータ構造情報が管理番号で管理させ、前記シーケンスプログラム上のシーケンス命令のアドレス型パラメータに入力された変数を、前記入力されたシーケンス命令の名称とアドレス型パラメータの名称に基づいて前記データ構造データベースにて検索し、前記検索されて読み込まれた管理番号を、前記入力された変数のデータ構造識別番号として変数登録データベースに登録することを特徴としている。
請求項２記載の発明は、請求項１記載のプログラミング装置において、前記ＣＰＵが、シーケンス命令の任意のパラメータに入力された変数を読み込み、前記変数登録データベースより前記入力された変数を検索し、前記検索されて読み込まれたデータ構造識別番号を基に前記データ構造データベースを検索し、前記検索されて読み込まれたデータ構造情報を基に、データメンバ名称とアドレスを一覧として前記表示装置に表示することを特徴としている。【０００５】
請求項３記載の発明はデータ構造自動識別方法に係り、構造化されたデータをアドレス型としてパラメータを持つシーケンス命令から構成されるシーケンスプログラムが記憶されたプログラミング装置のアドレスパラメータのデータ構造自動識別方法であって、構造化された前記データを、データメンバ名称、データ型、オフセットアドレス、オフセットビットアドレスをデータ構造情報として管理するデータ構造データベースが記憶された記憶部を備えたデータ構造自動識別方法において、前記データ構造データベースは、コントローラがサポートする全シーケンス命令のアドレス型パラメータのデータ構造情報が管理番号で管理され、前記シーケンスプログラム上のシーケンス命令のアドレス型パラメータに入力された変数は、前記入力されたシーケンス命令の名称とアドレス型パラメータの名称に基づいて前記データ構造データベースを検索し、前記検索されて読み込まれた管理番号を、前記入力された変数のデータ構造識別番号として変数登録データベースに登録する、という手順で処理されることを特徴としている。
また、請求項４記載の発明は、請求項３記載のデータ構造自動識別方法において、前記シーケンス命令の任意のパラメータに入力された変数を読み込み、前記変数登録データベースより前記入力された変数を検索し、前記検索されて読み込まれたデータ構造識別番号を基に前記データ構造データベースを検索し、前記検索されて読み込まれたデータ構造情報を基に、データメンバ名称とアドレスを一覧として表示する、という手順で処理されることを特徴としている。
また、請求項５記載の発明は、請求項４記載のデータ構造自動識別方法において、前記一覧に表示されるデータメンバのアドレスが、前記データ構造データベースに登録されたオフセットアドレス、オフセットビットアドレスの相対アドレス値を、入力された変数のアドレス値に加算して表示することを特徴としている。
請求項６記載の発明は、請求項５記載のデータ構造自動識別方法において、前記一覧より、該当のデータメンバを選択することによって、シーケンス命令の任意のパラメータに変数を設定する、という手順で処理されることを特徴としている。
【発明の効果】
【０００６】
以上のように、請求項１記載の発明によると、シーケンス命令のアドレス型パラメータに入力された変数が、入力されたシーケンス命令の名称とアドレス型パラメータの名称に基づいて予め準備したデータ構造データベースによって、データ構造を識別することができる使い勝手の良いプログラミング装置が得られる。
また、請求項２記載の発明によると、アドレス型パラメータに入力された変数にアクセスするとき、データ構造を一覧として表示するので、一覧から変数を容易に選択し、シーケンス命令の任意のパラメータに設定することができる使い勝手の良いプログラミング装置が得られる。
さらに、請求項３記載の発明によると、シーケンス命令のアドレス型パラメータに入力された変数は、前記入力されたシーケンス命令の名称とアドレス型パラメータの名称に基づいて予め準備したデータ構造データベースによって、データ構造を識別することができる。
また、請求項４記載の発明によると、アドレス型パラメータに入力された変数にアクセスするときは、データ構造データベースによって、データ構造を一覧として表示することができ、一覧から変数を容易に選択し、シーケンス命令の任意のパラメータに設定することができる。
また、請求項５記載の発明によると、前記記載の一覧には、入力された変数のアドレスにデータ構造のオフセットアドレスを加算して表示することができ、  そして、請求項６記載の発明によると、一覧表示から該当のデータメンバを選択することによって、シーケンス命令の任意のパラメータに変数を設定することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の方法を適用するプログラマブルコントローラ用プログラミング装置の構成を説明するブロック図である。
【図２】本発明のデータ構造情報記憶領域のデータ構を説明する構成図である。
【図３】本発明の変数登録記憶領域のデータ構成を説明する構成図である。
【図４】本発明の請求項１記載の構造化されたデータをアドレス型としてパラメータを持つシーケンス命令に変数が設定された状態を説明する構成図である。
【図５】本発明の請求項２、３記載のデータメンバ名称とアドレスを一覧として表示した状態を説明する構成図である。
【図６】本発明の請求項４記載の該当のデータメンバを選択しシーケンス命令の任意のパラメータに変数を設定した状態を説明する構成図である。
【図７】本発明の請求項１記載の処理手順を説明するフローチャートである。
【図８】本発明の請求項２，３記載の処理手順を説明するフローチャートである。
【図９】本発明の請求項２，３記載の処理手順を説明するフローチャートである。
【図１０】従来の構造化されたデータへのアクセス方法を説明する構成図である。
【符号の説明】
【０００８】
１１ 入力装置（キーボード）
１２ 表示装置
１３ 主制御部（ＣＰＵ）
１４ 記憶領域（メモリ）
１５ データ構造情報記憶領域
１６ 変数登録記憶領域
１７ データ構造データベース
１８ 変数登録データベース
２１ 管理番号
２２ シーケンス命令名称
２３ アドレス型パラメータ名称
２４ メンバ数
２５ メンバ名称
２６ データ型
２７ オフセットアドレス
２８ オフセットアドレス
３１ 登録番号
３２ 変数名称
３３ アドレス
３４ データ構造管理番号
４１ シーケンスプログラム
４２ シーケンス命令
４３ シーケンス命令名称
４４ パラメータ名称
４５ 変数
５１ シーケンスプログラム
５２ シーケンス命令
５３ 任意のパラメータ
５４ データメンバとアドレスの一覧
６１ シーケンスプログラム
６２ シーケンス命
６３ 任意のパラメータ
１０１ シーケンスプログラム
１０２ シーケンス命令
１０３ アドレス型パラメ
１０４ 変数
１０５ マニュアルで計算して入力した変数
１０６ データ構造を記載したマニュアル等
【発明を実施するための最良の形態】
【０００９】
以下、本発明の方法の具体的実施例について、図に基づいて説明する。
【実施例１】
【００１０】
図１は、本発明の方法を実施するプログラミング装置の構成を示す図である。図において１１は入力装置（キーボード）、１２は表示装置、１４は記憶領域（メモリ）で、いずれも主制御部（ＣＰＵ）１３に接続されている。
主制御部（ＣＰＵ）１３によって、表示装置１２にシーケンスプログラムを表示し、シーケンスプログラム中のシーケンス命令のパラメータ領域に、入力装置（キーボード）１１で入力された変数を認識する。
１７はデータ構造データベースで、予め、シーケンス命令のアドレス型パラメータのデータ構造情報が登録され管理されている。１８は変数登録データベースで、アドレス型パラメータに入力された変数を管理している。
また、１５は記憶領域（メモリ）上に設けられたデータ構造情報記憶領域で、主制御部（ＣＰＵ）１３によって、データ構造データベース１７のデータが展開され、１６は変数登録データベース１８のデータが展開されている。【００１１】
図２は、データ構造情報記憶領域１５のデータ構成図である。図において２１はシーケンス命令のアドレス型パラメータを識別するための管理番号であり、２２はシーケンス命令名称、２３はアドレス型パラメータ名称、２４は構造化されたデータを構成するメンバ数、２５はメンバ名称、２６はデータ型であり、ＢＩＴ／ＷＯＬＤ／ＬＯＮＧ／ＦＬＯＡＴのデータ種別を登録し、２７はオフセットアドレスであり、構造化されたデータの相対的なアドレス番号が登録されている。また、１８はオフセットビットアドレスで、データ型２６がＢＩＴ型の時に有効なデータであり、オフセットアドレス２７の相対的なビットアドレス番号が登録されている。【００１２】
図３は、変数登録記憶領域１６のデータ構成図である。図において３１は登録番号であり、シーケンス命令のアドレス型パラメータに入力された変数を管理している。３２は変数名称、３３は変数のアドレス、３４はデータ構造管理番号であり、データ構造情報記憶領域１５で構成される管理番号２１である。【００１３】
図４は、本発明の請求項１に記載の構造化されたデータをアドレス型としてパラメータを持つシーケンス命令に変数が設定された状態を示す図である。
図において、４１はシーケンスプログラムであり、４２はシーケンスプログラム４１を構成するシーケンス命令、４３はシーケンス命令名称、４４はパラメータ名称であり、構造化されたデータをアドレス型として持つパラメータである。また、４５はパラメータ４４に入力された変数である。
図において、入力された変数４５は、主制御部（ＣＰＵ）１３（図１）によって読み込まれ、シーケンス命令名称４３とパラメータ名称４４を基にデータ構造情報記憶領域１５（図１、図２）を検索し、検索されて読み込まれた管理番号２１を、前記入力された変数４５と共に、変数登録記憶領域１６（図１、図３）に登録する。【００１４】
図５は、本発明の請求項２、３に記載のデータメンバ名称とアドレスを一覧として表示状態を示す図である。図において、５１はシーケンスプログラムであり、５２はシーケンスプログラム５１を構成するシーケンス命令、「ＳＯＵＲＣＥ」や「ＤＥＳＴ」はシーケンス命令５２の任意のパラメータであり、５３は変数を記入する領域で、「１」や「ＭＡ００１００」は変数である。図では、登録記憶領域１６（図３）に登録済みの変数が入力された状態である。５４は、登録済み変数５３のデータメンバとアドレスを一覧表示した状態である。
任意のパラメータ５３に入力された登録済み変数は、主制御部（ＣＰＵ）１３（図１）によって読み込まれ、変数登録記憶領域１６（図１、図３）を検索し、検索されて読み込まれたデータ構造管理番号３４（図３）を基に、データ構造情報記憶領域１５（図１、図２）からメンバ名称２５（図２）、データ型２６、オフセットアドレス２７、オフセットビットアドレス２８を読み込み、アドレス３３（図３）に前記オフセットアドレス２７を換算し、データメンバ名称とアドレスを一覧として表示する。【００１５】
図６は、本発明の請求項４に記載の該当のデータメンバを選択しシーケンス命令の任意のパラメータに変数を設定した状態を示す図である。図において、６１はシーケンスプログラムであり、６２はシーケンスプログラム６１を構成するシーケンス命令、６３はシーケンス命令６２の任意のパラメータに変数が設定されている状態である。前記データメンバとアドレスの一覧５４から選択したデータメンバとアドレスが、任意のパラメータ６３に自動で設定される。【００１６】
図７は、本発明の請求項１記載の処理手順を示すフローチャートである。この図を用いて本発明の方法を、順を追って説明する。
はじめにＳｔｅｐ1で、入力装置（キーボード）１１（図１）で、図４のようなシーケンス命令のアドレス型パラメータに変数を入力する。例えば、シーケンス命令“ＭＳＧ−ＳＮＤ”４３のアドレス型パラメータ“ＰＡＲＡＭ”４４に、“ＭＡ００１００”４５の変数が入力される。
次に、Ｓｔｅｐ２で、主制御部（ＣＰＵ）１３（図１）は、Ｓｔｅｐ１で入力した変数“ＭＡ００１００”を読み込み、入力したシーケンス命令名称４３とアドレス型パラメータ名称４４を記憶領域に保持する。
次に、Ｓｔｅｐ３で、データ構造情報記憶領域１５（図２）のシーケンス命令名称２２とＳｔｅｐ２で保持したシーケンス命令名称を比較し、一致するシーケンス命令を検索する。
次に、Ｓｔｅｐ４で、データ構造情報記憶領域１５（図２）のアドレス型パラメータ名称２３とＳｔｅｐ２で保持したアドレス型パラメータ名称を比較し、一致するアドレス型パラメータ名称を検索する。
次に、Ｓｔｅｐ５で、シーケンス命令とアドレス型パラメータが一致した管理番号をデータ構造情報記憶領域１５から取得し、記憶領域に保持する。
次に、Ｓｔｅｐ６で、Ｓｔｅｐ１で入力された変数から、アドレス番号を取得する。アドレス番号は、入力された変数“ＭＡ００１００”４５の、先頭文字列から３文字以降がアドレスとなり、先頭文字の‘Ｍ’はアドレスの種別を意味し、先頭から２文字目の‘Ａ’はデータ型をあらわす。
最後に、Ｓｔｅｐ７で、変数登録記憶領域１６にＳｔｅｐ１で入力した変数４５を変数名称３２に、Ｓｔｅｐ６で取得したアドレス番号をアドレス３３に、Ｓｔｅｐ５で取得した管理番号をデータ構造管理番号３４それぞれ格納する。
このように、シーケンス命令のアドレス型パラメータに入力された変数は、シーケンス命令名称とアドレス型パラメータ名称を基に、データ構造情報記憶領域１５から管理番号を読み込むことにより、変数登録記憶領域１６に登録することができる。【００１７】
図８および図９は、本発明の請求項２，３記載の処理手順を示すフローチャートである。この図を用いて本発明の方法を順を追って説明する。
はじめに、Ｓｔｅｐ1で、入力装置（キーボード）１１（図１）で、図５のようなシーケンス命令５２の任意のパラメータ（例えば、「ＳＯＵＲＣＥ」パラメータ、「ＤＥＳＴ」パラメータ、・・・）の記入領域５３に変数（「１」や「ＭＡ００１００」）を入力する。例えば、シーケンス命令“ＳＴＯＲＥ”５２のパラメータ“ＤＥＳＴ”に、“ＭＡ００１００”５３の変数が入力される。
次に、Ｓｔｅｐ２で、主制御部（ＣＰＵ）１３は、Ｓｔｅｐ１で入力した変数“ＭＡ００１００”を読み込み、次に、Ｓｔｅｐ３で、変数登録記憶領域１６の変数名称と比較し、一致する変数名称を検索する。次に、Ｓｔｅｐ４で、一致したアドレス３３とデータ構造管理番号３４を取得し、記憶領域に保持する。
次に、図９のＳｔｅｐ５．１で、Ｓｔｅｐ４で取得したデータ構造管理番号３４を読み込み、Ｓｔｅｐ５．２で、データ構造情報記憶領域１５の管理番号２１と一致する番号を検索する。次に、Ｓｔｅｐ５．３で、一致した管理番号２１のメンバ数２４を取得し、Ｓｔｅｐ５．４で、取得したメンバ数分次の処理を繰り返し、一覧に表示させる処理をし、すべてのメンバを登録したら処理を終了する。
Ｓｔｅｐ５．５は、該当のメンバのデータ型２６、オフセットアドレス２７、オフセットビットアドレス２８を取得し、Ｓｔｅｐ４で取得したアドレス３３にオフセット値を加算して変数を生成する。生成されるアドレスは、次の式であり、データ型がＢＩＴデータの場合は、ビットアドレスを付加させる。
式：Ａｄｄｒｅｓｓ＝アドレス３３(図３)＋オフセットアドレス２７(図２)；
最後にＳｔｅｐ５．６（図８）で、メンバ名称２５とＳｔｅｐ５．５（図９）で生成した変数を一覧５４（図５）に表示させる。
このように、入力された変数が変数登録記憶領域１６に登録されていれば、データ構造管理番号３４によって、データ構造をメンバ名称とアドレスで一覧表示することができ、一覧から任意のアドレスを選択することにより、即座にシーケンス命令の任意のパラメータに変数を設定することができる。
【産業上の利用可能性】
【００１８】
本発明のプログラミング装置とデータ構造自動識別方法は、データ構造情報をデータベースとして有するので、構造化されたデータのアドレス型パラメータにアクセスするとき、データベースよりデータ構造情報を読み込み、データ構造を一覧として表示し、一覧から任意の変数を選択することができるので、プログラマブルコントローラだけではなく他のＦＡ用途への適用が期待できる。
【図１】
2007102313.tif 000003
【図２】
2007102313.tif 000004
【図３】
2007102313.tif 000005
【図４】
2007102313.tif 000006
【図５】
2007102313.tif 000007
【図６】
2007102313.tif 000008
【図７】
2007102313.tif 000009
【図８】
2007102313.tif 000010
【図９】
2007102313.tif 000011
【図１０】
2007102313.tif 000012
【国際調査報告】
2007102313.tif 000013
2007102313.tif 000014
2007102313.tif 000015