(57)【要約】【課題】  シーケンスプログラムと連携して動作する検索処理機能をコントローラに内蔵し、データの検索対象となるファイルを直接検索・展開でき検索時間の向上と割付等に必要な作業を軽減すること【解決手段】  ファイルシステム１２ｃには、ＣＰＵユニット１１のメモリ領域１１ｂに設定する複数種類分の設定データをＣＳＶファイルとして持つと共に、その複数種類分のデータの中から所定のデータを特定するためのキーデータを、設定データと同一行のＣＳＶファイルの１列目にセットする。このキーデータ列は、任意の列で指定できる。ＣＰＵユニット１１で実行するシーケンスプログラムが必要とするデータを特定するキーをデータ検索部１２ｂが取得すると、データ検索部は、ファイルの一列目を検索してキーに一致するものを探し、該当する行を抽出して展開用ファイルを作成する。データ展開部１２ｄは、展開用ファイルの各列のデータを予め設定されたメモリ領域１１ｂの各アドレスに格納して展開処理を行う。【選択図】        図７
2010271878.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルコントローラを構成するユニットであって、
そのプログラマブルコントローラに設定する複数種類分のデータをファイルとして記憶保持するデータ記憶手段と、
前記プログラマブルコントローラで実行するシーケンスプログラムが必要とするデータを特定する特定情報を取得する取得手段と、
その取得手段で取得した前記特定情報に基づき、前記データ記憶手段に記憶保持されたファイルを検索し、その特定情報で規定されるデータを検出するデータ検索手段と、
そのデータ検索手段で検索された結果に基づき、前記特定情報で特定されるデータを前記シーケンスプログラムから参照可能なメモリに展開する展開手段を備え、
前記特定情報は、前記ファイルと一体に格納されるようにしたことを特徴とするプログラマブルコントローラ用ユニット。
【請求項２】
前記特定情報は、前記ファイルのファイル名の少なくとも一部に用いられ、
前記展開手段は、前記データ検索手段で検索されたファイル内に複数種類分のデータが存在する場合、そのファイル内の予め設定された箇所に存在するデータを抽出して展開するものであることを特徴とする請求項１に記載のプログラマブルコントローラ用ユニット。
【請求項３】
前記特定情報は、前記ファイル内のデータとして格納されていることを特徴とする請求項１に記載のプログラマブルコントローラ用ユニット。
【請求項４】
前記ファイル内のデータは、固定長ファイルの特定範囲或いは、特定文字で区切られたファイルの特定位置にあることを特徴とする請求項３に記載のプログラマブルコントローラ用ユニット。
【請求項５】
請求項１から４のいずれか１項に記載のプログラマブルコントローラ用ユニットと、
前記シーケンスプログラムを実行するＣＰＵユニットと、
を備えたことを特徴するプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラ用ユニット及びプログラマブルコントローラに関するもので、より具体的には、プログラマブルコントローラが実行するシーケンスプログラムが参照するデータの設定機能の改良に関する。
【背景技術】
【０００２】
ＦＡ（Factory Automation）におけるネットワークシステムは、生産工場内に配備された産業ロボットその他の生産設備の入力機器及び出力機器の制御を司る１または複数のＰＬＣ（Programmable Logic Controller）と、そのＰＬＣにより動作が制御される機器とが、制御系のネットワークに接続される。それらＰＬＣと機器は、その制御系のネットワークを介してサイクリックに通信を行なうことで、ＩＮデータ及びＯＵＴデータ（以下Ｉ／Ｏデータという）の送受を行ない、生産設備を制御する。
【０００３】
より具体的には、ＰＬＣのＣＰＵユニットにおける制御は、ＩＮデータである入力機器のＯＮ信号またはＯＦＦ信号を入力し、入力したＯＮ／ＯＦＦ情報をユーザプログラムによって論理演算し、演算結果であるＯＵＴデータを出力機器へ出力する。その出力が出力機器に対する動作指示となって出力機器が動作することにより、生産設備を制御する。この制御は、ＣＰＵユニットにダウンロードされたラダープログラム等のシーケンスプログラムを実行することで行われる。
【０００４】
ところで、このシーケンスプログラムの実行中に、必要なデータを検索する場合、特許文献１に開示された情報検索システムのように、上位のコンピュータに都度問合せを行い、検索結果をＣＰＵユニットのメモリ上に展開してもらう方法が提案されている。また、予め固定的に決められたデータ群を記憶保持しておき、その中から所望のデータを選択してＣＰＵユニットのメモリ上に展開する方法もある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３３２８６６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示された上位にその都度問い合わせる方式では、検索で上位のコンピュータを経由するために時間がかかり、必要なタイミングでデータを取得できないという問題点がある。
【０００７】
一方、後者の予め固定的に決められた複数種類のデータ群から該当する１のデータ群を選択する場合、上位コンピュータに問い合わせる必要がないので時間はかからないが、データの登録・修正に際して、実際のデータの登録以外にシーケンスプログラムから検索するための割付をコントローラにする必要があり、現場作業者の作業工数が増加するという問題点がある。
【０００８】
すなわち、複数種類のデータ群からなるファイルは、ＰＬＣを構成する所定のユニットの記憶手段に保存する。このファイルは、例えば、生産工場等の現場とは別の場所で作成され、メモリカード等に格納された状態でＰＬＣに実装される。ただし、このままの状態ではデータを検索することはできず、別途設定ツールを用いてファイル内のデータを特定するためのキーと、そのキーに対応するデータ格納された場所等を関連づけたテーブルを別途作成して設定する必要がある。そして、実際のデータ群の選択を行う場合、選択するキーを取得すると、テーブルを参照してそのキーに対応するデータが格納された場所（ファイル名や、ファイル内の存在位置（ＣＳＶファイルであれば、ｎ行目等））を認識し、必要なデータ群を抽出して展開することになる。そのため、仮に、展開するデータが格納されたファイルを修正し、新たなデータ群を追加した場合、係るファイルに対する修正・更新処理に加えて、上記のテーブルについての修正作業も必要となる。さらに、テーブルの修正は、設定ツール装置で行うことから、生産工場で行うことになり、その煩雑さが増すという課題がある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明のプログラマブルコントローラ用ユニットでは、（１）プログラマブルコントローラを構成するユニットであって、そのプログラマブルコントローラに設定する複数種類分のデータをファイルとして記憶保持するデータ記憶手段と、前記プログラマブルコントローラで実行するシーケンスプログラムが必要とするデータを特定する特定情報を取得する取得手段と、その取得手段で取得した前記特定情報に基づき、前記データ記憶手段に記憶保持されたファイルを検索し、その特定情報で規定されるデータを検出するデータ検索手段と、そのデータ検索手段で検索された結果に基づき、前記特定情報で特定されるデータを前記シーケンスプログラムから参照可能なメモリに展開する展開手段を備え、前記特定情報は、前記ファイルと一体に格納されるようにした。
【００１０】
このプログラマブルコントローラ用ユニットは、実施形態では、データ収集ユニット１２に実現されているが、データ収集機能はなくても良い。特定情報は、実施形態では、キー（キーデータ）に対応する。データ記憶手段は、実施形態では、外部記録メディア２０，ファイルシステム１２ｃに対応する。特定情報は、ファイルと一体に格納されるため、データを追加したりしてファイルの更新等をした場合でも、特定情報とデータの格納場所等を関連づけるテーブル等を別途用意する必要が無く、係るファイルの更新時においてプログラマブルコントローラを設置している生産現場等にて設定ツール装置などを用いて当該テーブルの再設定作業をする必要がないので更新処理が容易になる。つまり、ファイルシステムに外部からファイルをコピーするだけで検索可能になるため、現場での面倒な登録・修正作業が不要になり工数が削減される。また、現場での登録作業ミスを防ぐことができる。もちろん、データの検索機能を同じコントローラ内に持つため、上位コンピュータを経由する場合に比べてデータの検索・展開速度が向上する。
【００１１】
（２）前記特定情報は、前記ファイルのファイル名の少なくとも一部に用いられ、前記展開手段は、前記データ検索手段で検索されたファイル内に複数種類分のデータが存在する場合、そのファイル内の予め設定された箇所（たとえば、ファイルがＣＳＶ形式のような表形式であれば、ｎ番目・ｎ列目等）に存在するデータを抽出して展開するものとすることができる。ファイル名の検索の場合、（３）等のファイルの内部を検索するもの比べて簡易かつ迅速に行うことができる。ファイル名は、拡張子を除く部分の全てをキーと同じ文字列にしても良いし、他の文字を含むようにしてもよい。
【００１２】
（３）前記特定情報は、前記ファイル内のデータとして格納されているようにしてもよい。（４）この場合に、前記ファイル内のデータは、固定長ファイルの特定範囲或いは、特定文字で区切られたファイルの特定位置にあるものとしてもよい。このようにすると、該当するデータを簡単に一意に特定できる。
【００１３】
（５）本発明のプログラマブルコントローラは、上記の（１）から（４）のいずれか１つに記載のプログラマブルコントローラ用ユニットと、シーケンスプログラムを実行するＣＰＵユニットと、を備えて構成することができる。
【発明の効果】
【００１４】
シーケンスプログラムと連携して動作する検索処理機能をコントローラに内蔵し、データの検索対象となるファイルを直接検索・展開することで、検索時間の向上と割付等に必要な作業を軽減することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明に係るプログラマブルコントローラの好適な一実施形態を示す図である。
【図２】本発明に係るプログラマブルコントローラの好適な一実施形態を構成するＣＰＵユニットとデータ収集ユニットの機能を示すブロック図である。
【図３】レシピファイルのデータ構造の一例を示す図である。
【図４】機能を説明するフローチャートである。
【図５】機能を説明する図である。
【図６】他の実施形態におけるレシピファイルのデータ構造の一例を示す図である。
【図７】その機能を説明するフローチャートである。
【図８】その機能を説明する図である。
【発明を実施するための形態】
【００１６】
図１は、本発明に係るプログラマブルコントローラ（ＰＬＣ）１０の好適な一実施形態を示している。このＰＬＣ１０は、複数のユニットを連結して構成されるビルディングブロックタイプである。この複数のユニットは、少なくとも１つのＣＰＵユニット１１を有し、更に、データ収集ユニット１２を備える。また、ＰＬＣ１０は、例えば、電源ユニット１３や通信ユニット１４やＩＯユニット１５などの通常のユニットも備えている。これらの各ユニットは、ユニットの側面に設けられたコネクタ同士を接続することで、電気的に接続される。この接続により、各ユニットは、システムバス（内部バス）にて接続され、ユニット間でのデータの送受が行なわれる。もちろん、ＰＬＣを構成するユニットは、上記のものに限ることはなく、目的に応じて適宜追加・削除される。
【００１７】
ＣＰＵユニット１１は、ハードウェアとしては、ＭＰＵと、システムメモリと、ワークメモリと、ユーザメモリと、ＩＯメモリと、演算ＡＳＩＣと、バスインターンフェースと、を備えている。ＭＰＵは、ＣＰＵユニット用のマイクロプロセッサユニットであり、システムメモリに格納されているシステムプログラムを実行することによってＰＬＣ全体を統括制御する。また、ユーザメモリに格納されているユーザプログラムの一部を実行するように構成される場合もある。ユーザプロクラムは、ラダープログラム言語等で記述されるシーケンスプログラムである。
【００１８】
システムメモリは、ＣＰＵユニット用のシステムプログラムを格納する不揮発性のメモリである。ワークメモリは、ＭＰＵが動作する際にワークとして使用されるメモリであり、ＲＡＭ等で実現される。ユーザメモリは、ＰＬＣを動作させて外部機器を制御するためにユーザが作成するプログラム（ユーザプログラム）を格納するメモリである。ＩＯメモリは、ＩＯユニットに接続された入力機器やネットワークを介して接続された入力機器から入手したデータを格納したり、ユーザプログラムの実行結果としてＩＯユニット等を介して外部の出力機器へ出力するデータを格納したりする。また、このＩＯメモリには、ＣＰＵユニットの動作を規定するパラメータなども格納する。これらのメモリは、機能に応じて別々に説明したが、実機においては、複数のメモリを物理的に同じメモリの異なる番地に割り当てるようにしても良い。
【００１９】
演算ＡＩＳＣは、ユーザメモリに格納されているユーザプログラムを実行するためのＡＳＩＣである。また、バスインタフェースは、システムバスとのインタフェースを司るものである。
【００２０】
データ収集ユニット（ストレージ＆プロセッシングユニット：ＳＰＵ）１２は、メモリカード等の着脱可能な外部記録メディア２０を装着し、設定ツール装置により設定された条件に従って、製造履歴情報、検査情報、各種プロセス情報などのデータを収集し、収集したデータをＣＳＶファイルとして外部記録メディア２０に保存する。これにより、この外部記録メディア２０に保存されたＣＳＶファイル形式のデータをパソコンなどに転送することで、パソコンにて解析・管理できる。この転送は、外部記録メディア２０をデータ収集ユニット１２から取り外してパソコン等に装着することで行っても良いし、外部記録メディア２０はデータ収集ユニット１２内に装着したままオンラインにより行っても良い。
【００２１】
また、このデータ収集ユニット１２には、レシピ機能と称されるパラメータ等の設定機能がある。このレシピ機能は、ＣＰＵユニット１１のＩＯメモリの所定のメモリエリアに対して動作パラメータなどの数値や文字列データを一括して書き込む機能である。これにより、多品種少量生産における対象製品の変更や生産量の変更などの生産条件が頻繁に変わる場合などにおいて、必要なパラメータ等の設定を簡単に行える。このとき一括して書き込む元となるデータをレシピデータと称し、このレシピデータは、ＣＳＶファイルとして外部記録メディア２０に格納されている。そして、ＣＰＵユニット１１におけるシーケンシャルプログラムの実行中に、データ展開の指示を受けると、データ収集ユニット１２は、指定された“キー”に該当するデータ群（ＣＳＶファイルの表中の一列分のデータ）を検出し、係る各データを予め指定されたＣＰＵユニット１１のＩＯメモリ内のそれぞれのアドレスに格納する処理を実行する。なお、上記の各ユニットを構成するハードウェア構成自体は、従来のものと同様である。
【００２２】
図２は、上記のレシピ機能を実現する機能に着目して記載した機能ブロック図である。図に示すように、ＣＰＵユニット１１には、シーケンシャルプログラム実行部１１ａと、シーケンシャルプログラムの実行に伴い、参照するメモリ領域１１ｂとを備えている。シーケンシャルプログラム実行部１１ａは、上述したハードウェアとしては、シーケンシャルプログラムが格納されたユーザメモリと、そのシーケンシャルプログラムを実行するＭＰＵやＡＳＩＣ等により実現される。メモリ領域１１ｂは、ＩＯメモリにより実現される。シーケンシャルプログラム中に、データ展開をする対象の「キー」がセットされている場合、データ収集ユニット１２にデータ展開要求をする。ここで「キー」とは、展開するデータを特定するための識別情報である。データ展開要求は、例えば、書き込み要求ビットをＯＮにし、データ収集ユニット１２側で係る書き込み要求ビットのＯＮ／ＯＦＦを確認することでデータ展開要求があったことを知るようにしても良いし、メッセージ等で積極的に通知するようにしても良い。
【００２３】
データ収集ユニット１２は、キー受渡部１２ａと、データ検索部１２ｂと、ファイルシステム１２ｃと、データ展開部１２ｄと、を備えている。キー受渡部１２ａは、シーケンスプログラムからの指示（データ展開要求）を受けてメモリ領域１１ｂに格納されているデータのキーを読み出し、データ検索部１２ｂに渡す。データ検索部１２ｂは、シーケンスプログラムから受け渡されたキーに基づき、ファイルシステム１２ｃに格納されたファイルを検索し、必要なデータ（レシピデータ）を検索して抽出する機能を持つ。具体的には、後述する。ファイルシステム１２ｃは、データ検索部１２ｂが検索するデータが格納されたファイルを保持するもので、上述した外部記録メディア２０等により実現される。データ展開部１２ｄは、データ検索部１２ｂにより検索されたデータを、所定の手順にしたがってメモリ領域１１ｂに展開するものであり、係る展開する手順・機能は、従来と同様である。
【００２４】
図３は、ファイルシステム１２ｃに格納されるファイルのデータ構造の一例を示している。本実施形態では、メモリ領域１１ｂに展開する対象となるデータ（各種の設定パラメータ等）は、ＣＳＶファイル形式で格納される。この点では、従来のものと同様である。そして、本実施形態では、ＣＳＶファイルのファイル名をキーにしている。つまり、検索対象のデータが含まれるＣＳＶファイルのファイル名が、「ｘｙｚ．ｃｓｖ」とすると、「ｘｙｚ」がキーとなる。このように、各レシピデータが格納されたデータファイルであるＣＳＶファイルと一体となった情報であるファイル名をキーにすることで、設定パラメータ等の展開対象のデータを作成したユーザが、当該データを保存する際にそのファイル名に「キー」を使用・設定するだけでよく、一連のファイルの作成・保存処理により「キー」と実際のデータとの関連づけが行われる。また、そのファイルに格納されたデータを修正したり、新たな設定パラメータを１または複数行分追加したりするような場合でも、そのまま内容の修正後にファイルを保存するだけでよく、従来のように、別途、キーとレシピデータとを関連づけたテーブル等を作成する必要はない。
【００２５】
なお、図から明らかなように、このレシピデータを格納したデータファイルは、ＣＳＶの表形式であり、１行分のデータが、一括して展開する対象となるレシピデータのデータ群となる。そして、１つのファイルは、複数行分のデータが格納されており、キーで指定された当該展開用のデータファイル中のうちの実際に展開する一行分のデータは、後述するように予め設定ツール装置にて設定されている。従って、展開要求により指定される「キー」に一致するファイルが検出された場合には、当該ファイル中の上記の予め設定された特定の一行分のデータが実際にメモリ領域１１ｂに展開されることになる。
【００２６】
次に、図４，図５を用いて、データ検索部１２ｂ並びにデータ展開部１２ｄによる上述した「キーにより特定される展開対象のデータを検出し、展開する処理」を実行する具体的な機能・アルゴリズムを説明する。
【００２７】
まず、データ検索部１２ｂは、シーケンスプログラムからのデータ展開要求（データ検索要求）を取得すると、メモリ領域１１ｂに格納されたキーデータを取得する（Ｓ１）。つまり、シーケンスプログラム実行部１１ａは、プログラム中に「データ検索要求」が存在する場合、Ｉ／Ｏメモリ等のメモリ領域１１ｂにキーデータを格納後、メモリに割付られた要求ＢＩＴというフラグをＯＮにすることでデータ検索要求をする。そして、データ検索部１２ｂは定期的にメモリを監視し要求ＢＩＴがＯＮになったことを検出するとメモリ領域１１ｂ中の所定のアドレス（キーデータを格納するアドレス）に格納されたデータを読み出す。そして、データ検索部１２ｂは、所定のアドレスにキーデータがあるか否か、すなわち、読み出したデータがキーデータであるか否かを判断する（Ｓ２）。つまり、上記のアドレスにデータが無い場合はもちろん、ファイル名として使用できない文字等が含まれている場合にも適切なキーデータでないと判断することができる。キーデータが無い場合、データ検索部１２ｂは、シーケンスプログラム実行部１１ａに向けて検索異常通知を発行する（Ｓ８）。この検索異常通知は、ＣＰＵユニットのメモリに割り付けられた応答エリアに所定の値（検索異常を示す値）をセットすることで行う。シーケンスプログラム実行部１１ａは、この応答エリアを監視し、検索異常であったことを認識し、設定された所定の処理を実行する。
【００２８】
データ検索部１２ｂは、取得したキーデータに基づき、該当するファイルを検索すると共に、シーケンスプログラム実行部１１ａに向けて検索処理中の通知を発行する（Ｓ３）。つまり、外部記録メディア２０に格納されたファイルのファイル名をサーチし、取得したキーデータに一致するファイル名を探す。
【００２９】
そして、キーデータに一致するファイル名のファイルがない（Ｓ４でＮｏ）場合には、処理ステップＳ８に飛び、データ検索部１２ｂは、シーケンスプログラム実行部１１ａに向けて検索異常通知を発行する（Ｓ８）。一方、キーデータに一致するファイル名のファイル（対象ファイル）が検出された場合（Ｓ４でＹｅｓ）、データ検索部１２ｂは、その対象ファイルをファイルコピーし、展開用ファイルとする（Ｓ５）。つまり、展開用ファイルは、図３に示すように、キーデータにファイル名が一致したファイルの内容が、そのまま全部コピーされたものであり、実際に展開するレシピデータはもちろん、それ以外のデータも含まれたものとなる。
【００３０】
データ展開部１２ｄは、予め設定された展開条件に従い、展開用ファイル中の所定のデータをメモリ領域１１ｂの所定のアドレスに格納する展開処理を実行する（Ｓ６）。すなわち、設定ツール装置により、事前に展開用ファイル（対象ファイル）の何番目の行のデータを使用するかが設定される。これにより、キーデータに基づいて対象ファイルが決定されると、一義的にそのファイルの中の複数行のデータのうちの一行のデータ群が特定される。そして、その特定されたデータ群が、実際に展開されるデータ群となる。この複数行のうちの中の一行は、たとえば、使用するＰＬＣ（ＣＰＵユニット）にあわせて設定したり、複数工程からなる生産ラインにおいて、第１工程の制御を司るＰＬＣの場合にはｎ番目、第２工程の制御を司るＰＬＣの場合にはｍ番目としたり、製造対象の製品にあわせて設定したりすることになる。なお、ここでは、展開対象のデータ群を１行分としたが、複数行を指定しても良い。
【００３１】
また、設定ツール装置により、予め列ごとに、転送先のメモリ領域１１ｂのアドレスが設定される。従って、データ展開部１２ｄは、上記の各設定された展開条件に従い、展開用ファイルの中の展開対象の行を特定し、当該行に属するデータ群（レシピデータ）を読み出すとともに、各データが属する行の各列に割り付けられたアドレスを取得し、各データをメモリ領域１１ｂ内の対応するそれぞれのアドレスに格納することで、展開処理を実行する。
【００３２】
そして、展開処理が完了したならば、データ展開部１２ｄは、シーケンスプログラム実行部１１ａに向けて検索完了通知を発行する（Ｓ７）。この検索完了通知は、ＣＰＵユニットのメモリに割り付けられた応答エリアに、データ展開部１２ｄが検索完了に対応する値をセットすることで行う。これに伴い、シーケンスプログラム実行部１１ａは、レシピデータが正しくセットされたことを認識し、以後、そのセットされたレシピデータに基づいて処理を実行する。
【００３３】
図６〜図８に基づき、別の検索方式について説明する。図６は、ファイルシステム１２ｃに格納されるファイルのデータ構造の一例を示している。この実施形態でもメモリ領域１１ｂに展開する対象となるデータ（各種の設定パラメータ等）は、ＣＳＶファイル形式で格納される。この点では、上記のファイル検索方式の実施形態と同様である。そして、本実施形態では、ＣＳＶファイルのデータ内に、キーを格納している。具体的には、そのファイルのある列をキーデータ列に設定し、その列に各行のデータについてのキーを入力する。そして、本実施形態では、１列目をキーの格納場所であるキーデータ列とし、２列目以降を設定パラメータ等の実際に展開するデータを格納場所とする。このキーデータ列は、任意の列で指定できる。具体的には、設定ツールを用いてどの列をキーデータ列にするかの展開条件をデータ収集ユニット１２のメモリにセットする。また、データ検索要求を受けた場合に検索するファイルも、設定ツールにより事前に設定する。従って、展開要求により指定される「キー」を取得すると、データ検索部１２ｂは、上記の設定された展開条件に従い、データ収集ユニット１２が記憶保持する複数のファイルの中から所望の検索対象のファイルを特定すると共に、キーデータ列である１列目を先頭からサーチする。そして、キーデータに一致する文字列が検出された場合には、その行のデータが展開対象のデータ群となり、実際にメモリ領域１１ｂに展開することになる。また、ユーザは、新規なレシピデータを追加したい場合には、この検索対象ファイルを開くと共に、新たに行を追加するとともに、その追加した行の１列目にそのレシピデータを特定するためのキーを入力し、２列目以降に実際の設定データ等を入力する。そして、そのファイルを保存（上書保存）する。従来では、係るレシピデータを追加した場合、そのファイルを保存した後、キーとレシピデータの格納場所を関連づけた検索用のテーブルについても修正する必要があるが、本実施形態では係る処理は不要で、簡単にレシピデータの追加・変更等の更新処理が行える。
【００３４】
次に、図７，図８を用いて、データ検索部１２ｂ並びにデータ展開部１２ｄによる上述した「キーにより特定される展開対象のデータを検出し、展開する処理」を実行する具体的な機能・アルゴリズムを説明する。
【００３５】
まず、データ検索部１２ｂは、シーケンスプログラム実行部１１ａによるキーデータのセット並びに要求ＢＩＴのＯＮにともなうシーケンスプログラムからのデータ展開要求（データ検索要求）を取得すると、メモリ領域１１ｂに格納された文字列のキーデータを取得する（Ｓ１）。そして、データ検索部１２ｂは、所定のアドレスにキーデータがあるか否か、すなわち、読み出したデータがキーデータであるか否かを判断する（Ｓ２）。キーデータが無い場合、データ検索部１２ｂは、シーケンスプログラム実行部１１ａに向けて検索異常通知を発行する（Ｓ８）。これらの処理は、上述した実施形態と同様である。
【００３６】
データ検索部１２ｂは、実際の展開対象のデータの検索処理を開始し、シーケンスプログラム実行部１１ａに向けて検索処理中の通知を発行する（Ｓ１３）。つまり、外部記録メディア２０に、予め設定ツールにより指定された対象データファイルが格納されているか否かを判断する（Ｓ１４）。具体的には、ＣＳＶ形式の所定のファイル（ファイル名等により対象のものか否かを判断）が格納されているか否かを判断し、存在していない（Ｓ１４でＮｏ）場合には、処理ステップＳ８に飛び、データ検索部１２ｂは、シーケンスプログラム実行部１１ａに向けて検索異常通知を発行する（Ｓ８）。
【００３７】
一方、存在している場合には、その対象データファイル内のキーデータ列である１列目を先頭からサーチし、取得したキーデータに一致する文字列のデータを検索する（Ｓ１５）。そして、キーデータ列にキーデータに一致するデータがない（Ｓ１６でＮｏ）場合には、処理ステップＳ８に飛び、データ検索部１２ｂは、シーケンスプログラム実行部１１ａに向けて検索異常通知を発行する（Ｓ８）。一方、キーデータ列中にキーデータに一致するデータが検出された場合（Ｓ１６でＹｅｓ）、データ検索部１２ｂは、そのファイルからキーデータに一致する該当行のデータ群を抽出し、展開用ファイルとする（Ｓ１７：図６参照）。この展開用ファイルは、展開対象となるレシピデータのみの１行分のデータが格納されたものになる。
【００３８】
データ展開部１２ｄは、展開用ファイルのデータをメモリ領域１１ｂの所定のアドレスに格納する展開処理を実行する（Ｓ１８）。すなわち、設定ツール装置により、展開条件として各列についてそれぞれの転送先のメモリ領域１１ｂのアドレスが設定されるので、データ展開部１２ｄは、上記の各設定された展開条件に従い、展開用ファイルの中のデータ群を読み出すとともに、各データが属する列に割り付けられたアドレスを取得し、各データをメモリ領域１１ｂ内の対応するそれぞれのアドレスに格納することで、展開処理を実行する。
【００３９】
そして、展開処理が完了したならば、データ展開部１２ｄは、ＣＰＵユニットのメモリに割り付けられた応答エリアに、データ展開部１２ｄが検索完了に対応する値をセットすることで、シーケンスプログラム実行部１１ａに向けて検索完了通知を発行する（Ｓ７）。以降の処理は、上述したファイル名検索の場合と同様である。
【符号の説明】
【００４０】
１０  ＰＬＣ
１１  ＣＰＵユニット
１１ａ  シーケンスプログラム実行部
１１ｂ  メモリ領域
１２  データ収集ユニット
１２ａ  キー受渡部
１２ｂ  データ検索部
１２ｃ  ファイルシステム
１２ｄ  データ展開部
２０  外部記録メディア
【図１】
2010271878.tif 000003
【図２】
2010271878.tif 000004
【図３】
2010271878.tif 000005
【図４】
2010271878.tif 000006
【図５】
2010271878.tif 000007
【図６】
2010271878.tif 000008
【図７】
2010271878.tif 000009
【図８】
2010271878.tif 000010