(57)【要約】【課題】デバイスアドレスの計算を行うことなく各データにアクセスする。【解決手段】シーケンスプログラム３７を格納するシーケンスプログラムメモリ３３と、シーケンスプログラム３７の命令に対する処理手順を記憶するシステムメモリ３１と、外部接続される入出力装置に関するデータを格納するデータメモリ３０と、を備えたプログラマブルコントローラにおいて、データメモリ３０に格納された１次元のデータを２次元テーブルのデータとして扱うための処理手順であって、２次元テーブルの識別番号、行数、列数、および先頭デバイスアドレスが入力されたテーブル定義命令の各要素を、データメモリ３０に格納させる手順を示したテーブル定義処理手順をシステムメモリ３１に記憶させた。【選択図】    図３
2010198132.tif 000002
【特許請求の範囲】
【請求項１】
シーケンスプログラムを格納するシーケンスプログラムメモリと、前記シーケンスプログラムの命令に対する処理手順を記憶するシステムメモリと、少なくとも外部接続される入出力装置に関するデータを格納するデータメモリと、を備えたプログラマブルコントローラにおいて、
前記データメモリに格納された１次元のデータを２次元テーブルのデータとして扱うための処理手順であって、少なくとも２次元テーブルの識別番号、行数、列数、および先頭デバイスアドレスが入力されたテーブル定義命令の各要素を、前記データメモリに格納させる手順を示したテーブル定義処理手順を前記システムメモリに記憶したことを特徴とするプログラマブルコントローラ。
【請求項２】
前記システムメモリは、
少なくとも２次元テーブルの識別番号、行番号、および列番号が入力されたテーブル要素書込み命令の各要素に基づいて、前記入出力装置に関するデータを２次元テーブルの要素データとして前記データメモリに書込む手順を示したテーブル要素書込み処理手順と、
少なくとも２次元テーブルの識別番号、行番号、および列番号が入力されたテーブル要素読出し命令の各要素に基づいて、前記データメモリに格納された２次元テーブルの要素データを読出す手順を示したテーブル要素読出し処理手順と、
を記憶したことを特徴とする請求項１に記載のプログラマブルコントローラ。
【請求項３】
前記システムメモリは、
少なくとも２次元テーブルの識別番号および行番号が入力されたテーブル行データ書込み命令の各要素に基づいて、前記入出力装置に関するデータを２次元テーブルの行データとして前記データメモリに書込む手順を示したテーブル行データ書込み処理手順と、
少なくとも２次元テーブルの識別番号および行番号が入力されたテーブル行データ読出し命令の各要素に基づいて、前記データメモリに格納された２次元テーブルの行データを読出す手順を示したテーブル行データ読出し処理手順と、
を記憶したことを特徴とする請求項１に記載のプログラマブルコントローラ。
【請求項４】
前記システムメモリは、
少なくとも２次元テーブルの識別番号および列番号が入力されたテーブル列データ書込み命令の各要素に基づいて、前記入出力装置に関するデータを２次元テーブルの列データとして前記データメモリに書込む手順を示したテーブル列データ書込み処理手順と、
少なくとも２次元テーブルの識別番号および列番号が入力されたテーブル列データ読出し命令の各要素に基づいて、前記データメモリに格納された２次元テーブルの列データを読出す手順を示したテーブル列データ読出し処理手順と、
を記憶したことを特徴とする請求項１に記載のプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、被制御機器のシーケンス制御を行うプログラマブルコントローラに関するものである。
【背景技術】
【０００２】
プログラマブルコントローラ（以下単に「ＰＣ」と称する）は、内部にデバイスデータを有しており、ユーザによって作成されたシーケンスプログラムに従い、そのデバイスデータをリード／ライトすることによって、工場における生産設備、例えば、ＰＣに接続されたリレー、スイッチ、センサ等の入力装置の状態取得や、アクチュエータ、バルブなどの出力装置の制御に用いられている。デバイスデータには、例えば生産品のサイズや色といったレシピデータや、生産品毎の生産個数、不良品個数といった実績データも格納されている。そのため、運用者は、入出力装置の制御に必要なデータを、レシピデータから取得するようにシーケンスプログラムを作成することによって、生産品の変更を柔軟に行うことができる。また、制御結果を、実績データとして格納するようにシーケンスプログラムを作成すれば、生産にかかる部材の在庫管理などを容易に行うこともできる。
【０００３】
上述したレシピデータや実績データなどのデータは、上位の計算機システムが扱いやすいように、ファイルとしてＰＣ内に保存されているが、ＰＣがこれらのデータにアクセスするためには、これらのデータをデバイスメモリ上に読出さなければならない。一方、これらのデータは、ＣＳＶ（Comma  Separated  Values）に代表される２次元のデータテーブル（以下単位「テーブル」と称する）形式でファイルに保存されているのが一般的である。すなわち、テーブル内の要素であるテーブルデータ（レシピデータや実績データなど）を一意に特定するためには、テーブルの行（Column）番号と列（Row）番号を指定すればよいのであるが、デバイスメモリには行と列という概念が無くテーブルデータがデバイスメモリ上に連続的に配置されているため、ＰＣがデバイスメモリ上のデバイスデータにアクセスする際、デバイスアドレスを計算しなければならない。
【０００４】
ここで、下記特許文献１を代表とする従来技術では、ＰＣがテーブル上のテーブルデータにアクセスする場合、以下のような処理が行われていた。まず、テーブルデータは、デバイスアドレスに対して連続的に配置される。次に、ＰＣが目的とするデータをデバイスメモリから取得する場合、デバイスメモリ内の先頭デバイスデータから目的とするデータまでのオフセットを算出し、先頭デバイスアドレスとオフセットとを用いて、目的とするデータに対応するデバイスアドレスを算出する。その結果、ＰＣは、目的とするテーブルデータにアクセスすることができる。
【０００５】
【特許文献１】特開２００４−２５２８４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１を代表とする従来技術では、デバイスメモリ内の先頭デバイスデータから目的とするデータまでのオフセットの計算を、行および列のそれぞれについて行うというステップを経てデバイスアドレスを算出しなければならないため、デバイスアドレスを算出するシーケンスプログラムの肥大化および複雑化を招来し、シーケンスプログラムの生産性が低下するという課題があった。
【０００７】
本発明は、上記に鑑みてなされたものであって、シーケンスプログラムの生産性を高めることができるプログラマブルコントローラを得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明にかかるプログラマブルコントローラは、シーケンスプログラムを格納するシーケンスプログラムメモリと、前記シーケンスプログラムの命令に対する処理手順を記憶するシステムメモリと、少なくとも外部接続される入出力装置に関するデータを格納するデータメモリと、を備えたプログラマブルコントローラにおいて、前記データメモリに格納された１次元のデータを２次元テーブルのデータとして扱うための処理手順であって、少なくとも２次元テーブルの識別番号、行数、列数、および先頭デバイスアドレスが入力されたテーブル定義命令の各要素を、前記データメモリに格納させる手順を示したテーブル定義処理手順を前記システムメモリに記憶したことを特徴とする。
【発明の効果】
【０００９】
本発明にかかるプログラマブルコントローラによれば、２次元テーブルの識別番号、行数、列数、および先頭デバイスアドレスが入力されたテーブル定義命令の各要素を、データメモリに格納させる手順を示したテーブル定義処理手順をシステムメモリに記憶させ、２次元テーブルの識別番号、行番号、および列番号に基づいて、目的とするデータにアクセスするようにしたので、デバイスアドレスを算出するステップが従来技術に比してコンパクト化され、シーケンスプログラムの生産性を高めることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１０】
以下に、本発明にかかるプログラマブルコントローラの実施の形態を図面に基づき詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
本実施の形態．
図１は、プログラマブルコントローラの基本構成を示す機能ブロック図である。ＰＣは、ＭＰＵ１２、システムメモリ１１、シーケンスプログラムメモリ１３、データメモリ１０を有して構成されている。
【００１２】
シーケンスプログラムメモリ１３は、ＰＣに接続されたアクチュエータやバルブなどの装置を制御するために作成されたシーケンスプログラム（以下単に「プログラム」と称する）１７を格納する。システムメモリ１１は、プログラム１７の各命令に対する処理手順データである命令実行手段１６として記憶する。データメモリ１０は、ワークメモリ１４およびデバイスメモリ１５を有しており、ワークメモリ１４は、前述した命令を実行する際に必要となるシステムデータを格納し、デバイスメモリ１５は、命令の入出力対象となるデータを一時的に格納する。
【００１３】
（テーブルの構成）
図２は、本実施の形態にかかるプログラマブルコントローラで使用されるテーブルの一例を示す図である。テーブル２０は、行番号２２および列番号２３で特定される複数の要素２１で構成される。行番号２２および列番号２３は、それぞれ０から始まる連続した整数で示されている。また、行番号２２および列番号２３の最大値は、実際の行数および列数からそれぞれ「１」を減じた値で示される。そのため、図２に示されるテーブル２０は、行数および列数がそれぞれ「５」と「６」である。また、行番号２２の最大値は、「４」であり、列番号２３の最大値は、「５」である。なお、特定の行に属する要素２１の集まりは、行要素２４として示され、特定の列に属する要素２１の集まりは、列要素２５として示される。また、要素２１、行要素２４、列要素２５に格納されたデータを、それぞれ、要素データ、行データ、列データと呼ぶ。
【００１４】
（プログラマブルコントローラの構成）
図３は、本実施の形態にかかるプログラマブルコントローラの構成を示す機能ブロック図である。図３に示されるＰＣは、図１に示されたＰＣと同様に、ＭＰＵ３２、システムメモリ３１、シーケンスプログラムメモリ３３、データメモリ３０を有して構成されている。さらに、システムメモリ３１は、命令実行手段１６（図１参照）に対応するテーブルデータアクセス部３６を有しており、データメモリ３０は、ワークメモリ３４およびデバイスメモリ３５を有している。
【００１５】
（テーブルデータアクセス部）
テーブルデータアクセス部３６は、命令実行手段１６と同様に、プログラム１７の各命令に対する処理手順データを記憶する。処理手順データは、その処理内容に応じて、テーブル定義処理手順、テーブル要素読出し処理手順、テーブル要素書込み処理手順、テーブル行データ読出し処理手順、テーブル行データ書込み処理手順、テーブル列データ読出し処理手順、およびテーブル列データ書込み処理手順として機能構成される。例えば、プログラム３７のテーブル定義処理手順に対応する処理手順データが、システムメモリ３１上に記憶され、この処理手順データは、機能的にはテーブル定義処理手順と呼ぶことができる。
【００１６】
（ワークメモリ）
ワークメモリ３４は、テーブル定義格納領域３８を有している。このテーブル定義格納領域３８は、テーブル定義命令に指定された各テーブル定義を格納する。テーブル定義の詳細については、後述する。
【００１７】
（デバイスメモリ）
デバイスメモリ３５は、テーブルデータ格納領域３９ａと読出し／書込みデータ格納領域３９ｂとを有している。テーブルデータ格納領域３９ａには、テーブル２０内のデータが格納される。読出し／書込みデータ格納領域３９ｂには、テーブル要素書込み処理手順などが実行された際に、テーブル２０に書込まれるデータが一時的に格納される。また、テーブル要素読出し処理手順などが実行された際に、読出し対象要素のデバイスアドレスに対応するデータであって、テーブル２０から読出された要素２１のデータが一時的に格納される。
【００１８】
（テーブル定義処理手順）
図４は、テーブル定義命令の一例を示す図である。図４に示されるテーブル定義命令には、テーブル定義命令であることを一意に識別するための文字列（ニーモニックと呼ばれる）４１と４つの引数が指定される。ニーモニック４１には「TBLDEF」を指定し、第一引数４５にはテーブル識別番号を指定し、第二引数４４にはテーブル行数を指定し、第三引数４３にはテーブル列数を指定する。第四引数４２にはテーブル２０の先頭デバイスアドレス（以下単に「先頭デバイスアドレス」と称する）を指定する。なお、上述したテーブル定義命令には４つの引数４１〜４４が指定されているが、これらの限定されるものではない。
【００１９】
テーブル定義命令に対応するテーブル定義処理手順がシステムメモリ３１に格納されている場合において、ＭＰＵ３２がプログラム３７のテーブル定義命令を取得し、テーブル定義処理手順が実行された場合、テーブル定義命令に指定されたテーブル２０の行数、列数、および先頭デバイスアドレスは、テーブル定義格納領域３８に格納される。以下、テーブル定義処理手順が実行されたとき、テーブル定義格納領域３８に格納される各テーブル定義を具体的に説明する。
【００２０】
（テーブル定義格納領域）
図５は、テーブル定義格納領域の一例を示す図である。図５に示されるテーブル定義格納領域３８には、例えば、テーブル識別番号「１」に対応する各テーブル定義（テーブル２０の行数、列数、および先頭デバイスアドレス）が上から順に格納される。さらに、テーブル識別番号「２」に対応する各テーブル定義が格納される。
【００２１】
図６は、テーブル定義命令の各要素とテーブル定義格納領域との対応関係を示す図である。図６の左側に示されるテーブル定義命令は、その具体例として、テーブル定義命令のニーモニック「TBLDEF」、テーブル２０の識別番号「Ｋ１」、行数「Ｋ５」、列数「Ｋ６」、および先頭デバイスアドレス「Ｄ１００」が指定されたものである。このテーブル定義命令に対応するテーブル定義処理手順が実行された場合、図６の右側に示されるテーブル定義格納領域３８には、上述したように、テーブル識別番号「１」に対応するテーブル２０の行数「５」、列数「６」、および先頭デバイスアドレス「Ｄ１００」が上から順に格納される。なお、テーブル２０の識別番号、行数、および列数の記号「Ｋ」は、各テーブル定義を表す記号の一例を示すものであり、これに限定されるものではない。
【００２２】
このように、本実施の形態にかかるプログラマブルコントローラは、データメモリ３０に格納された１次元のデータを２次元テーブルのデータとして扱うための処理手順であって、少なくとも２次元テーブルの識別番号、行数、列数、および先頭デバイスアドレスが入力されたテーブル定義命令の各要素を、データメモリ３０に格納させる手順を示したテーブル定義処理手順を、システムメモリ３１に記憶している。
【００２３】
（テーブル要素読出し処理手順）
次に、テーブル要素読出し処理手順について説明する。図７は、テーブル要素読出し命令の一例を示す図である。図７に示されるテーブル要素読出し命令には、テーブル要素読出し命令であることを一意に識別するためのニーモニック７１と４つの引数が指定される。具体的には、ニーモニック７１には「TBLELMRD」が指定され、第一〜第四引数７５〜７２には、それぞれ、テーブル２０の識別番号、行番号、および列番号ならびに読出しデータ格納領域３９ｂが指定される。なお、上述したテーブル定義命令には、４つの引数７２〜７５が指定されているが、これらの限定されるものではなく、少なくとも第一〜第三引数７３〜７５が指定されていればよい。このように、本実施の形態にかかるプログラマブルコントローラは、少なくとも２次元テーブルの識別番号、行番号、および列番号が入力されたテーブル要素読出し命令の各要素に基づいて、データメモリ３０に格納された２次元テーブルの要素データを読出す手順を示したテーブル要素読出し処理手順をシステムメモリ３１に記憶している。
【００２４】
図８は、読出し対象要素のデバイスアドレスを算出するフローチャートである。テーブル要素読出し処理手順が実行された場合、ＭＰＵ３２は、テーブル要素読出し命令に指定された、テーブル２０の識別番号、行番号、および列番号ならびに読出しデータ格納領域３９ｂを取得する（ステップＳ８１）。
【００２５】
テーブル識別番号に対応するテーブル定義（例えば、図６に示されるテーブル識別番号「１」の行数「５」、列数「６」、および先頭デバイスアドレス「Ｄ１００」）が、テーブル定義格納領域３８に存在しない場合（ステップＳ８２,Ｎｏ）、テーブル要素読出し動作を終了する。一方、テーブル定義がテーブル定義格納領域３８に存在する場合（ステップＳ８２,Ｙｅｓ）、テーブル定義格納領域３８からテーブル識別番号に対応するテーブル定義（テーブル２０の行数、列数、および先頭デバイスアドレス）を取得する（ステップＳ８３）。
【００２６】
テーブル行番号がテーブル行数の範囲内にない場合（ステップＳ８４,Ｎｏ）、または、テーブル列番号がテーブル列数の範囲内にない場合（ステップＳ８５,Ｎｏ）、テーブル要素読出し動作を終了する。一方、テーブル行番号がテーブル行数の範囲内であり（ステップＳ８４,Ｙｅｓ）、かつ、テーブル列番号がテーブル列数の範囲内にある場合（ステップＳ８５,Ｙｅｓ）、ＭＰＵ３２は、「読出し対象要素のデバイスアドレス＝先頭デバイスアドレス＋（テーブル行番号×テーブル列数）＋テーブル列番号」なる計算式によって、読出し対象要素のデバイスアドレスを算出する（ステップＳ８６）。ＭＰＵ３２は、読出し対象要素のデバイスアドレスに対応する要素２１のデータを、テーブル２０から読み出し、読出しデータ格納領域３９ｂに格納する（ステップＳ８７）。
【００２７】
（テーブル行データ読出し処理手順）
次に、テーブル行データ読出し処理手順について説明する。図９は、テーブル行データ読出し命令の一例を示す図である。図９に示されるテーブル行データ読出し命令には、テーブル行データを読出す命令であることを一意に識別するためのニーモニック９１と３つの引数が指定される。具体的には、ニーモニック９１には「TBLROWRD」が指定され、第一〜第三引数９４〜９２には、それぞれ、テーブル２０の識別番号および行番号ならびに読出しデータ格納領域３９ｂが指定される。なお、上述したテーブル定義命令には、３つの引数９２〜９４が指定されているが、これらの限定されるものではなく、少なくとも第一〜第二引数９３〜９４が指定されていればよい。このように、本実施の形態にかかるプログラマブルコントローラは、少なくとも２次元テーブルの識別番号および行番号が入力されたテーブル行データ読出し命令の各要素に基づいて、データメモリ３０に格納された２次元テーブルの行データを読出す手順を示したテーブル行データ読出し処理手順をシステムメモリ３１に記憶している。
【００２８】
図１０は、読出し対象行データのデバイスアドレスを算出するフローチャートである。テーブル行データ読出し処理手順が実行された場合、ＭＰＵ３２は、テーブル行データ読出し命令に指定された、テーブル２０の識別番号および行番号ならびに読出しデータ格納領域３９ｂを取得する（ステップＳ１０１）。
【００２９】
テーブル識別番号に対応するテーブル定義が、テーブル定義格納領域３８に存在しない場合（ステップＳ１０２,Ｎｏ）、テーブル行データ読出し動作を終了する。一方、テーブル定義がテーブル定義格納領域３８に存在する場合（ステップＳ１０２,Ｙｅｓ）、テーブル定義格納領域３８からテーブル識別番号に対応するテーブル定義（テーブル２０の行数、列数、および先頭デバイスアドレス）を取得する（ステップＳ１０３）。
【００３０】
テーブル行番号がテーブル行数の範囲内にない場合（ステップＳ１０４,Ｎｏ）、テーブル行データ読出し動作を終了する。一方、テーブル行番号がテーブル行数の範囲内にある場合（ステップＳ１０４,Ｙｅｓ）、ＭＰＵ３２は、読出し対象行データの先頭デバイスが列番号「０」に対応しているため、テーブル要素読出し処理手順で用いた計算式の列番号部分を「０」として、「読出し対象行データのデバイスアドレス＝先頭デバイスアドレス＋（テーブル行番号×テーブル列数）」なる計算式によって、読出し対象行データのデバイスアドレスを算出する（ステップＳ１０５）。ＭＰＵ３２は、読出し対象行データのデバイスアドレスに対応する列数分の行データを、テーブル２０から読み出し、読出しデータ格納領域３９ｂに格納する（ステップＳ１０６）。
【００３１】
（テーブル列データ読出し処理手順）
最後に、テーブル列データ読出し処理手順について説明する。図１１は、テーブル列データ読出し命令の一例を示す図である。図１１に示されるテーブル列データ読出し命令には、テーブル行データ読出し命令と同様に、ニーモニック１１１と３つの引数が指定される。具体的には、ニーモニック１１１には「TBLCLMRD」が指定され、第一〜第三引数１１４〜１１２には、それぞれ、テーブル２０の識別番号および列番号ならびに読出しデータ格納領域３９ｂが指定される。なお、上述したテーブル定義命令には、３つの引数１１２〜１１４が指定されているが、これらの限定されるものではなく、少なくとも第一〜第二引数１１４〜１１５が指定されていればよい。このように、本実施の形態にかかるプログラマブルコントローラは、少なくとも２次元テーブルの識別番号および列番号が入力されたテーブル列データ読出し命令の各要素に基づいて、データメモリに格納された２次元テーブルの列データを読出す手順を示したテーブル列データ読出し処理手順をシステムメモリ３１に記憶している。
【００３２】
図１２は、読出し対象列データのデバイスアドレスを算出するフローチャートである。テーブル列データ読出し処理手順が実行された場合、ＭＰＵ３２は、テーブル列データ読出し命令に指定された、テーブル２０の識別番号および列番号ならびに読出しデータ格納領域３９ｂを取得する（ステップＳ１２１）。
【００３３】
テーブル識別番号に対応するテーブル定義が、テーブル定義格納領域３８に存在しない場合（ステップＳ１２２,Ｎｏ）、テーブル列データ読出し動作を終了する。一方、テーブル定義がテーブル定義格納領域３８に存在する場合（ステップＳ１２２，Ｙｅｓ）、テーブル定義格納領域３８からテーブル定義（テーブル２０の行数、列数、および先頭デバイスアドレス）を取得する（ステップＳ１２３）。
【００３４】
テーブル列番号がテーブル列数の範囲内にない場合（ステップＳ１２４,Ｎｏ）、テーブル列データ読出し動作を終了する。一方、テーブル列番号がテーブル列数の範囲内にある場合（ステップＳ１２４,Ｙｅｓ）、ＭＰＵ３２は、読出し対象の列データの先頭デバイスが行番号「０」に対応しているため、テーブル要素読出し処理手順で用いた計算式の行番号部分を「０」として、「読出し対象列データのデバイスアドレス＝先頭デバイスアドレス＋テーブル列番号」なる計算式によって、データ格納デバイスアドレスを算出する（ステップＳ１２５）。ＭＰＵ３２は、読出し対象列データのデバイスアドレスに対応する行数分の列データを、テーブル２０から読み出し、読出しデータ格納領域３９ｂに格納する（ステップＳ１２６）。
【００３５】
なお、テーブル要素書込み命令には、ニーモニックとして「TBLELMWR」が指定されるとともに、テーブル２０の識別番号、行番号、および列番号ならびにデータ格納領域３９ｂが指定される。また、テーブル行データ書込み命令には、ニーモニックとして「TBLROWWR」が指定されるとともに、テーブル２０の識別番号および行番号ならびにデータ格納領域３９ｂが指定される。また、テーブル列データ書込み命令には、ニーモニックとして「TBLCLMWR」が指定されるとともに、テーブル２０の識別番号および列番号ならびにデータ格納領域３９ｂが指定される。このように、本実施の形態にかかるプログラマブルコントローラは、少なくとも２次元テーブルの識別番号、行番号、および列番号が入力されたテーブル要素書込み命令の各要素に基づいて、入出力装置に関するデータを２次元テーブルの要素データとしてデータメモリ３０に書込む手順を示したテーブル要素書込み処理手順をシステムメモリ３１に記憶している。また、少なくとも２次元テーブルの識別番号および行番号が入力されたテーブル行データ書込み命令の各要素に基づいて、入出力装置に関するデータを２次元テーブルの行データとしてデータメモリ３０に書込む手順を示したテーブル行データ書込み処理手順をシステムメモリ３１に記憶している。さらに、少なくとも２次元テーブルの識別番号および列番号が入力されたテーブル列データ書込み命令の各要素に基づいて、入出力装置に関するデータを２次元テーブルの列データとしてデータメモリ３０に書込む手順を示したテーブル列データ書込み処理手順をシステムメモリ３１に記憶している。
【００３６】
以上説明したように、本実施の形態にかかるプログラマブルコントローラによれば、デバイスメモリ３５に格納された１次元のデータを２次元のテーブルのデータとして扱うための処理手順であって、任意サイズの２次元テーブルを定義するテーブル定義処理手順をシステムメモリ３１に記録させ、２次元テーブルの識別番号、行番号、および列番号に基づいて目的とするデータにアクセスするようにしたので、デバイスアドレスを算出するステップが従来技術に比してコンパクト化され、シーケンスプログラム３７の肥大化および複雑化を招来するということがなくなる。その結果、プログラマの負担が軽減され、シーケンスプログラム３７の生産性を高めることが可能である。また、シーケンスプログラム３７の記録媒体容量を有効利用することができる。また、本実施の形態にかかるプログラマブルコントローラによれば、アクセス対象のデータを直感的に理解することができるため、従来技術に比してシーケンスプログラム３７の可読性が向上し、シーケンスプログラム３７の管理を容易化することもできる。
【００３７】
なお、本実施の形態に示したプログラマブルコントローラの構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、一部を省略する等、変更して構成することも可能であることは無論である。
【産業上の利用可能性】
【００３８】
以上のように、本発明にかかるプログラマブルコントローラは、２次元のテーブル形式で格納されているデータを処理するプログラマブルコントローラに適用可能であり、特に、テーブルのデータにアクセスする場合において、データに対応するデバイスアドレスを算出するためのシーケンスプログラムのサイズの肥大化および複雑化を回避することができる発明として有用である。
【図面の簡単な説明】
【００３９】
【図１】プログラマブルコントローラの基本構成を示す機能ブロック図である。
【図２】本実施の形態にかかるプログラマブルコントローラで使用されるテーブルの一例を示す図である。
【図３】本実施の形態にかかるプログラマブルコントローラの構成を示す機能ブロック図である。
【図４】テーブル定義命令の一例を示す図である。
【図５】テーブル定義格納領域の一例を示す図である。
【図６】テーブル定義命令の各要素とテーブル定義格納領域との対応関係を示す図である。
【図７】テーブル要素読出し命令の一例を示す図である。
【図８】読出し対象要素のデバイスアドレスを算出するフローチャートである。
【図９】テーブル行データ読出し命令の一例を示す図である。
【図１０】読出し対象行データのデバイスアドレスを算出するフローチャートである。
【図１１】テーブル列データ読出し命令の一例を示す図である。
【図１２】読出し対象列データのデバイスアドレスを算出するフローチャートである。
【符号の説明】
【００４０】
１０，３０  データメモリ
１１，３１  システムメモリ
１２，３２  ＭＰＵ
１３，３３  シーケンスプログラムメモリ
１４，３４  ワークメモリ
１５，３５  デバイスメモリ
１６  命令実行手段
１７，３７  シーケンスプログラム
２０  テーブル
２１  要素
２２  行番号
２３  列番号
２４  行要素
２５  列要素
３６  テーブルデータアクセス部
３８  テーブル定義格納領域
３９ａ  テーブルデータ格納領域
３９ｂ  読出し／書込みデータ格納領域
４１，７１，９１，１１１  ニーモニック
４２，７２  第四引数
４３，７３，９２，１１２  第三引数
４４，７４，９３，１１３  第二引数
４５，７５，９４，１１４  第一引数
【図１】
2010198132.tif 000003
【図２】
2010198132.tif 000004
【図３】
2010198132.tif 000005
【図４】
2010198132.tif 000006
【図５】
2010198132.tif 000007
【図６】
2010198132.tif 000008
【図７】
2010198132.tif 000009
【図８】
2010198132.tif 000010
【図９】
2010198132.tif 000011
【図１０】
2010198132.tif 000012
【図１１】
2010198132.tif 000013
【図１２】
2010198132.tif 000014