(57)【特許請求の範囲】
【請求項１】
ＰＬＣユニットおよび記憶部を有するプログラマブルロジックコントローラと、前記ＰＬＣユニットに実行させる演算式の演算式データを作成させる演算式データ作成支援装置と、を備えたＰＬＣシステムであって、
前記演算式データ作成支援装置は、演算に使用する変数となる入力情報および前記演算に使用する定数を含んだ前記演算式をユーザから受け付ける入力部と、前記演算式の計算順序を求める演算式処理部と、を有し、
前記記憶部は、前記入力情報、前記定数、および前記計算順序を含む前記演算式データを管理するための演算式データテーブルを保持し、
前記ＰＬＣユニットは、前記記憶部に接続され、前記入力情報および前記定数を用いて前記計算順序に従って前記演算式の演算を実行する演算部を備える
ことを特徴とするＰＬＣシステム。
【請求項２】
記憶部を備えたＰＬＣユニットを有するプログラマブルロジックコントローラと、前記ＰＬＣユニットに実行させる演算式の演算式データを作成させる演算式データ作成支援装置と、を備えたＰＬＣシステムであって、
前記演算式データ作成支援装置は、演算に使用する変数となる入力情報および前記演算に使用する定数を含んだ前記演算式をユーザから受け付ける入力部と、前記演算式の計算順序を求める演算式処理部と、を有し、
前記記憶部は、前記入力情報、前記定数、および前記計算順序を含む前記演算式データを管理するための演算式データテーブルを保持し、
前記ＰＬＣユニットは、前記記憶部に接続され、前記入力情報および前記定数を用いて前記計算順序に従って前記演算式の演算を実行する演算部を備える
ことを特徴とするＰＬＣシステム。
【請求項３】
前記演算式データ作成支援装置は、前記演算式に含まれる要素のデータ属性および内容を管理する演算属性情報テーブルを作成し、
前記プログラマブルロジックコントローラは、前記記憶部に接続して、前記演算属性情報テーブルを用いて、前記入力情報、前記定数、および前記計算順序を前記演算式データテーブルに書き込む
ことを特徴とする請求項１または２に記載のＰＬＣシステム。
【請求項４】
前記演算式処理部は、前記演算式を複数の二項式に分解し、複数の前記二項式の計算の優先順位を求め、
前記プログラマブルロジックコントローラは、前記二項式を前記優先順位に従って前記演算式データテーブルに書き込む
ことを特徴とする請求項１、２または３に記載のＰＬＣシステム。
【請求項５】
ＰＬＣユニットが実行する演算に使用する変数となる入力情報および前記演算に使用する定数を含んだ演算式をユーザから受け付ける入力部と、
前記演算式の計算順序を求める演算式処理部と、
を備え、
前記ＰＬＣユニットを有するプログラマブルロジックコントローラに設けられた記憶部に前記入力情報、前記定数、および前記計算順序を転送する
ことを特徴とする演算式データ作成支援装置。
【請求項６】
前記演算式処理部は、前記演算式を複数の二項式に分解し、複数の前記二項式の計算の優先順位を求める
ことを特徴とする請求項５に記載の演算式データ作成支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、ＰＬＣユニットと共用メモリを備えたＰＬＣシステムおよび演算式データ作成支援装置に関する。
【背景技術】
【０００２】
プログラマブルロジックコントローラ（ＰＬＣ：Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）を構成するＰＬＣユニットであるシーケンサユニットにおいて、従来技術ではユーザが作成した任意の演算式をユニット内部で計算する方法がなかった。ＰＬＣにて演算を実施させる場合、あらかじめ所望する演算式の計算順序どおりとなるようにラダー命令を組み合わせてラダープログラムを作成し、シーケンサＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内にて演算を実施させる方法をとる。そのため、複雑な演算を実施するには、それに応じたラダープログラムを作成する必要がある。【０００３】
かかる問題に対し、括弧や演算子の組み合わせによる演算式とその計算順序をラダー命令に変換し、あらかじめシーケンス制御機能を備えた装置に対しそのラダー命令を登録しておくことにより、装置内において演算を実行できる技術が提案されている（例えば、特許文献１参照)。【０００４】
また、ユニット内部で演算させる機能としては、アナログ入力チャンネルに入力されたアナログ値から得られたデジタル値に対し、あらかじめ設定した演算式に従って演算を施し、アナログ出力を行う簡易的な「ループ制御機能」を搭載したアナログ入出力ユニットが存在する（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１４３０９６号公報
【特許文献２】特開平７−７８００７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１により、ユーザが作成した任意の演算式をＰＬＣにて実施させることは可能である。しかし、このような従来の技術では、ラダープログラムを介して演算を実施するため、ラダープログラムの作成に手間がかかる、という問題があった。また、ラダープログラムの実行速度は、ラダープログラムを制御するＣＰＵ装置の制御周期、即ちスキャンタイムに依存してしまう。このスキャンタイムはラダープログラムの大きさが大きくなるほど長くなり、高速な演算が困難になるという問題点がある。【０００７】
また、特許文献２では、ユニットにて用意した固定パターンの演算式に限定していたため、ユーザは自由にユニットの演算方法を変更することができないという問題点がある。従って、複雑なラダープログラムを必要としないで、容易に任意の多項演算式を作成でき、ユーザが所望する自由かつ高度な演算をユニット内部において実現するＰＬＣシステムおよび演算式データ作成支援装置が求められていた。
【０００８】
本発明は、上記に鑑みてなされたもので、シーケンサＣＰＵ上での演算プログラムが不要になり、ラダープログラムの作成工数の削減が可能となるとともに、シーケンサＣＰＵのスキャンタイムに依存しない高度な演算が可能なＰＬＣシステムおよび演算式データ作成支援装置を提供する。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、ＰＬＣユニットおよび記憶部を有するプログラマブルロジックコントローラと、前記ＰＬＣユニットに実行させる演算式の演算式データを作成させる演算式データ作成支援装置と、を備えたＰＬＣシステムであって、前記演算式データ作成支援装置は、演算に使用する変数となる入力情報および前記演算に使用する定数を含んだ前記演算式をユーザから受け付ける入力部と、前記演算式の計算順序を求める演算式処理部と、を有し、前記記憶部は、前記入力情報、前記定数、および前記計算順序を含む前記演算式データを管理するための演算式データテーブルを保持し、前記ＰＬＣユニットは、前記記憶部に接続され、前記入力情報および前記定数を用いて前記計算順序に従って前記演算式の演算を実行する演算部を備えることを特徴とする。
【発明の効果】
【００１０】
本発明にかかるＰＬＣシステムは、シーケンサＣＰＵ上での演算プログラムが不要になり、ラダープログラムの作成工数の削減が可能となるとともに、シーケンサＣＰＵのスキャンタイムに依存しない高度な演算が可能になるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態におけるシーケンサユニットを含むＰＬＣシステムの構成を説明するブロック図
【図２】本発明の実施の形態における演算式データテーブルに格納される演算式データのデータ構造を説明する図
【図３】本発明の実施の形態にかかるＰＬＣシステムの概要を演算式データの流れと共に説明した図
【図４】本発明の実施の形態にかかる演算属性情報テーブルの例を説明する図
【図５】本発明の実施の形態にかかる演算属性情報テーブルにおけるデータ属性の種類を示す図
【図６】本発明の実施の形態にかかる演算子定数を説明する図
【図７】本発明の実施の形態における演算式データ作成ツールの表示画面である演算式入力エリアを説明する図
【図８】本発明の実施の形態において演算式データ作成ツールの演算式入力エリアにて作成した演算式データを演算属性情報テーブルに格納する処理を説明する図
【図９】本発明の実施の形態における演算式データ作成ツールの演算式処理部の処理フローの１例を説明する図
【図１０】本発明の実施の形態における演算式データ作成ツールの演算式処理部の処理フローの１例を説明する図
【図１１】本発明の実施の形態における演算式データ作成ツールの演算式処理部の処理フローの１例を説明する図
【図１２】本発明の実施の形態におけるシーケンサユニットの動作を説明するフローチャートを示す図
【図１３】本発明の実施の形態において演算式データ作成ツール上で演算式を作成した例を示す図
【図１４】本発明の実施の形態において演算式データ作成ツール上で作成した演算式の例を、演算式データ作成ツール内の演算属性情報テーブルに格納する処理を説明する図
【図１５】本発明の実施の形態において演算式データ作成ツール内で作成した演算式の例を、共用メモリ内の演算式データテーブルに転送する処理を説明する図
【図１６】図１５の場合における演算属性情報テーブルの様子を説明する図
【図１７】本発明の実施の形態において演算式データ作成ツール内で作成した演算式の例を、共用メモリ内の演算式データテーブルに転送する処理を説明する図
【図１８】図１７の場合における演算属性情報テーブルの様子を説明する図
【図１９】本発明の実施の形態において演算式データ作成ツール上で作成した演算式の例を、共用メモリ内の演算式データテーブルに転送完了した際の様子を説明する図
【図２０】図１９の場合における演算属性情報テーブルの様子を説明する図
【発明を実施するための形態】
【００１２】
以下に、本発明にかかるＰＬＣシステムおよび演算式データ作成支援装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１３】
実施の形態．
図１は、本発明の実施の形態におけるＰＬＣユニットであるシーケンサユニット１００を含むＰＬＣシステム１の構成を説明するブロック図である。図１に示すように、シーケンサユニット１００は、ユニット間バス３００を介してＣＰＵ装置２００に接続されており、シーケンサユニット１００およびＣＰＵユニットであるＣＰＵ装置２００はプログラマブルロジックコントローラであるＰＬＣ１０００の一部を構成している。シーケンサユニット１００としては、例えば、センサなどからのアナログ信号を外部から取り込み、アナログ値をデジタル値に変換するＡ／Ｄ変換ユニットや、入力パルスをカウントするカウンタユニットなどが該当する。しかし、本実施の形態にかかるシーケンサユニット１００の種類に対し、制約は設けない。シーケンサユニット１００は、演算式データ処理部１３１を備えた演算部１３０、演算部１３０に接続された内部メモリ１９０、共用メモリ１４０、およびユニット間バス３００とのインタフェースであるバスＩ／Ｆ（ｉｎｔｅｒｆａｃｅ）１６０を備える。共用メモリ１４０は、演算部１３０およびＣＰＵ装置２００から共にアクセス可能な記憶部である。
【００１４】
ＣＰＵ装置２００は、ユーザプログラムやユーザプログラムの実行に必要となるデータやユーザプログラムの実行結果であるデータを格納する外部メモリにアクセスするためのインタフェースである外部メモリＩ／Ｆ２１０と、ユーザプログラムの実行やＣＰＵ装置２００全体の制御を実行する演算部２２０と、ユーザプログラムの実行に必要となるデータやユーザプログラムの入出力値を格納するためのメモリである内部メモリ２３０と、ユーザプログラムの設定や内部メモリ２３０のデータの状態を表示するための周辺装置２０００を接続するためのインタフェースである周辺装置Ｉ／Ｆ２４０と、ユニット間バス３００を介してシーケンサユニット１００と通信を行うための通信インタフェースであるバスＩ／Ｆ２５０と、を備えている。
【００１５】
外部メモリＩ／Ｆ２１０、演算部２２０、内部メモリ２３０、周辺装置Ｉ／Ｆ２４０、およびバスＩ／Ｆ２５０は、それぞれ内部バス２６０で接続されている。なお、ＰＬＣ１０００およびＰＬＣ１０００に接続されたパーソナルコンピュータなどである周辺装置２０００を含むシステムをＰＬＣシステム１と呼ぶ。
【００１６】
周辺装置２０００には、ユーザによる演算式の作成を支援し、演算式の登録が可能となる演算式データ作成ツール５００を具備する。即ち、周辺装置２０００は、演算式データ作成支援装置として機能する。演算式データ作成ツール５００は、周辺装置２０００上のソフトウェアが実行されることにより実現される。さらに演算式データ作成ツール５００は、定数、変数となるシーケンサユニット１００に対する入力情報、「()：括弧」、演算子のいずれかを自由に組み合わせて入力し、多項演算式を作成できる演算式入力エリア５１０と、作成した演算式をシーケンサユニット１００に登録する演算式処理部５２０と、を具備する。なお、作成した演算式をシーケンサユニット１００に登録するとは、具体的には、共用メモリ１４０に、上記入力情報、定数などの演算式の情報を有する演算式データテーブル１４１を作成することである。
【００１７】
なお、以下の説明においては、説明を明確にするため、記憶領域、データ属性、演算子定数、および変数などの名前には「」を用いて囲って示すことがある。
【００１８】
シーケンサユニット１００に対する入力情報としては、例えば、Ａ／Ｄ変換ユニットであればセンサなどからのアナログ信号を変換したデジタル値や、カウンタユニットであればカウントした入力パルスが該当する。しかし、共用メモリ１４０に展開される情報であれば特に制約は設けず、シーケンサユニット１００へ入力される全ての情報を自由に演算対象として用いることができる。
【００１９】
ここでシーケンサユニット１００内の共用メモリ１４０について説明する。本発明の実施の形態においては、シーケンサユニット１００の演算部１３０が高速に読み出すことができる共用メモリ１４０内に演算式データテーブル１４１を確保し、ユーザが演算式データ作成ツール５００にて作成して登録した演算式は、このテーブルを介してシーケンサユニット１００に渡される。
【００２０】
図２は、最大５項からなる演算式における、演算式データテーブル１４１のデータ構造を説明する図である。複数の項からなる演算式を計算する場合、括弧の有無や演算子の優先順位により、計算の優先順位が決定され、優先度が高い二項式から計算する規則があるため、演算式データテーブル１４１に演算式を展開する際には、演算式を複数の二項式に分解し、シーケンサユニット１００が計算する順序どおりとなるように演算式データテーブル１４１に格納する。この際、演算式データテーブル１４１には、分解した二項式を「計算順序エリア１」から「計算順序エリア４」の順に、「第１項」、「演算子」、「第２項」に分けて「計算順序１」から「計算順序４」として格納する。さらに、最終的に計算する二項式の数をカウントし、「計算回数Ｓｅｑｕｅｎｃｅ」に格納しておく。
【００２１】
各計算順序で計算した結果は、演算式データテーブル１４１の「計算結果エリア」に順に格納する。なお、「計算順序エリア１」で計算した結果は、「計算結果１」というように、以降順序と結果を対応させて格納していく。ユーザが任意に作成した多項式の演算は、「計算回数Ｓｅｑｕｅｎｃｅ」で示される数の分だけ計算順序エリアの二項式を順に計算することによって、実現できる。
【００２２】
例えば「（３×（４−２））」の計算を行う場合、最初に「４」から「２」の減算を行い、次にこの減算の計算結果「２」に対し、「３」との乗算を行うという、合計２回の二項演算によって、全体の計算結果「６」を得る。そのため、本発明の実施の形態においては、最初に計算する「４−２」の演算式を「計算順序エリア１」に「計算順序１」として格納し、この計算結果「２」を「計算結果１」に格納する。さらに、二番目に計算する「計算結果１」と「３」との乗算式である「３×「計算結果１」」を「計算順序２」に格納する。そして、「計算回数Ｓｅｑｕｅｎｃｅ」には二項式の計算回数「２」を格納する。「計算順序１」から順に計算回数「２」回分の計算を行うことにより、全体の計算結果を得ることができる。
【００２３】
以上のように、演算式データテーブル１４１には、シーケンサユニット１００への入力情報のうち、演算部１３０が演算に使用するデータである変数としての入力情報が格納されているアドレス情報を格納する領域である「入力データ指定エリア」の他、演算部１３０が演算に使用するデータである定数を格納する領域である「定数指定エリア」、各計算順序において計算する二項式を格納する領域である「計算順序エリア」、二項式の計算回数である「計算回数Ｓｅｑｕｅｎｃｅ」を格納する領域である「計算回数格納エリア」、計算結果の小数点位置である「計算結果小数点位置」を指定する領域である「計算結果小数点位置格納エリア」、各計算順序における二項式の計算結果および登録された演算式の計算結果を格納する領域である「計算結果エリア」が確保されており、演算式データテーブル１４１はこれらの各エリアの情報を管理する。なお、図２に示す演算式データテーブル１４１のデータ構造は１例として５項からなる演算式のテーブルを示しているが、本実施の形態において項数は制限されない。
【００２４】
図１に戻り、シーケンサユニット１００は、上記した共用メモリ１４０のほか、シーケンサユニット１００全体の制御を実行する演算部１３０と、ユニット間バス３００を介してＣＰＵ装置２００と通信を行うための通信インタフェースであるバスＩ／Ｆ１６０と、を備えている。演算部１３０、共用メモリ１４０、バスＩ／Ｆ１６０間は、内部バス１７０でそれぞれ接続されている。
【００２５】
演算部１３０は、演算式データテーブル１４１内に展開された演算式データに従い、演算を実施する演算式データ処理部１３１を備える。演算部１３０はシーケンサユニット１００の内部制御周期ごとに実行されるため、高速かつ定周期の演算が保証されている。
【００２６】
次に、本発明の実施の形態にかかるＰＬＣシステム１の動作を説明する。
【００２７】
図３は、本発明の実施の形態にかかるＰＬＣシステム１の概要を演算式データの流れと共に説明した図である。ここでは、共用メモリ１４０が、ＰＬＣ１０００の内部ではあるが、シーケンサユニット１００の外部に設けられている。このように、共用メモリ１４０は、シーケンサユニット１００の演算部１３０およびＣＰＵ装置２００の両方からアクセス可能であれば、図１のようにシーケンサユニット１００の内部に必ずしも存在する必要はない。
【００２８】
まず、ユーザは、キーボード或いはタッチパネルなどの入力部を備えた演算式データ作成ツール５００の画面上に設けられた演算式入力エリア５１０にて、所望する演算式を作成する。演算式作成後、画面上に設けられたユニット書込みボタン５１を押下する。演算式データ作成ツール５００は、ユニット書込みボタン５１が押下された場合、まず演算式入力エリア５１０をサーチして演算属性情報テーブル１４２を作成する。演算属性情報テーブル１４２は、例えば演算式データ作成ツール５００内の記憶手段に備えられているが、後述するように共用メモリ１４０に備えられていてもよい。
【００２９】
演算属性情報テーブル１４２は、演算式入力エリア５１０にて入力した演算式データを格納するテーブルであり、演算式を構成する要素の「データ属性」および「内容」の二つの情報を持つ。図４は、最大５項からなる演算式データを格納する場合の演算属性情報テーブル１４２の例を説明する図である。図５は、本発明の実施の形態にかかる演算属性情報テーブルにおけるデータ属性の種類を示す図である。図６は、本発明の実施の形態にかかる演算子定数を説明する図である。
【００３０】
図４の中の「データ属性」は、演算式データの各要素が、共用メモリ１４０内のアドレスを参照する「アドレス情報」、定数または小数点位置を表す「直値」、括弧を表す「括弧定数」、演算子を表す「演算子定数」のいずれであるかという属性を格納するエリアである。図４の「データ属性」には、図５に示すように「１：開き括弧」、「２：閉じ括弧」、「３：演算子」、「４：値」として、その「数値データ」である１〜４のいずれかを格納しておく。「アドレス情報」および「直値」の属性は、「４：値」である。「括弧定数」の属性は、「１：開き括弧」または「２：閉じ括弧」である。そして、「演算子定数」の属性は、「３：演算子」である。
【００３１】
これらの「データ属性」は、多項演算式の項数が決定した段階、即ち、画面表示された段階であらかじめ確定され、ユーザの入力には左右されないデータである。一方、図４の「内容」は、ユーザが演算式入力エリア５１０にて作成した演算式を、各要素に応じて格納するエリアである。「内容」に格納される値は、図４の各「アドレス」に対応する「データ属性」により異なり、「データ属性」が「１：開き括弧」或いは「２：閉じ括弧」である場合は、括弧定数として、図５の「有：１」または「無：０」に対応する「格納値」である０または１が「内容」に格納される。「データ属性」が「３：演算子」である場合は、演算子定数として、図６に対応が示されている、「×：１」、「÷：２」、「＋：３」、および「−：４」に対応する「数値データ」である１〜４のいずれかの数値が「内容」に格納される。また、「データ属性」が「４：値」である場合は、図２の演算式データテーブル１４１内の「入力データ指定エリア」に対応する「アドレス」である０〜４、または「定数指定エリア」に対応する「アドレス」である５〜１４のいずれかであるアドレス０〜１４が「内容」に格納される。
【００３２】
図３に戻り、ＣＰＵ装置２００は、演算属性情報テーブル１４２をサーチし、データ属性に基づいて二項式に分解し、演算式データテーブル１４１に転送して書き込む。
【００３３】
以上の手順にて、演算式データ作成ツール５００にて作成した演算式データを演算式データテーブル１４１に転送する。シーケンサユニット１００は、演算式データテーブル１４１に転送された演算式データを読み出すことによって、演算を行う。
【００３４】
なお、演算式データ作成ツール５００は、前述したユニット書込みボタン５１の他、保存ボタン５０を備えてもよい。この場合、演算式データ作成ツール５００用のプロジェクトデータを周辺装置２０００に保存することができ、演算式の再利用などが容易に可能となる。
【００３５】
なお、演算には不要であるが、演算属性情報テーブル１４２を共用メモリ１４０の中に確保しておいてもよい。この場合、演算式データ作成ツール５００のプロジェクトデータが存在しない周辺装置２０００においても、演算式データ作成ツール５００上にユニット読み出しボタン５２を備えておくことにより、演算式データテーブル１４１および演算属性情報テーブル１４２を読み出すことによって、演算式データ作成ツール５００上に多項演算式を復元することが可能となる。
【００３６】
次に、演算式入力エリア５１０を用いた演算式の作成手順について説明する。図７は、本発明の実施の形態にかかる演算式データ作成ツール５００の表示画面である演算式入力エリア５１０を説明する図である。「開き括弧」および「閉じ括弧」は、それぞれの位置において「（）：括弧」を設置するか否かを選択する。「演算子」には、算術演算子（＋、−、×、÷）からいずれか一つを選択する。なお、「（：開き括弧」、「）：閉じ括弧」、および演算子は、図３のドラッグ＆ドロップエリア５３またはプルダウンによる簡単な操作により入力可能とする。
【００３７】
図７の「ＶＡＬＵＥ（１）」〜「ＶＡＬＵＥ（５）」には、シーケンサユニット１００への入力情報を使用する場合は、演算に使用する情報が格納されている共用メモリ１４０上のアドレスを入力し、定数を使用する場合は任意の数値を入力する。さらに「ＶＡＬＵＥ（１）」〜「ＶＡＬＵＥ（５）」に入力する情報が定数の場合は、「ＶＡＬＵＥ（１）小数点位置」〜「ＶＡＬＵＥ（５）小数点位置」に小数点以下何桁の数値であるかを入力する。また、「ＶＡＬＵＥ（１）属性情報」〜「ＶＡＬＵＥ（５）属性情報」には、「ＶＡＬＵＥ（１）」〜「ＶＡＬＵＥ（５）」に入力する情報が「入力情報」または「定数」のどちらであるかを入力する。なお、図７では最大５項からなる演算式を作成できるツールを例として示したが、本実施の形態においては演算式の項数に制約は設けない。
【００３８】
演算式入力エリア５１０にて演算式を作成後、「計算結果小数点位置」に数値を入力する。「計算結果小数点位置」は、周辺装置２０００上にて計算結果をモニタする際に、計算結果を小数点以下何桁表示するか判別する際に用いる。以上の入力を行った後、図３のユニット書込みボタン５１を押下する。ユニット書込みボタン５１が操作されると、演算式処理部５２０にて、演算式の登録処理を行う。
【００３９】
次に、演算式の登録処理について説明する。演算式データのうち、「ＶＡＬＵＥ（１）小数点位置」〜「ＶＡＬＵＥ（５）小数点位置」、「ＶＡＬＵＥ（１）属性情報」〜「ＶＡＬＵＥ（５）属性情報」、および「計算結果小数点位置」は演算式データテーブル１４１に格納される。一方、シーケンサユニット１００への入力情報、定数、演算子、「（：開き括弧」、「）：閉じ括弧」は、演算属性情報テーブル１４２に格納された後、演算式処理部５２０内にて、二項式に分解され、計算順序どおりとなるように演算式データテーブル１４１に格納される処理が実行される。
【００４０】
まず初めに、演算式データを演算属性情報テーブル１４２に格納する手順について述べる。図８は、本発明の実施の形態において演算式入力エリア５１０にて作成した演算式データを演算属性情報テーブル１４２に格納する処理を説明する図である。図８に示すとおり、演算式データの定数、シーケンサユニット１００への入力情報、演算子、「（：開き括弧」、「）:閉じ括弧」は、それぞれ固有の数値に変換された後に、演算属性情報テーブル１４２に格納される。このうち、シーケンサユニット１００への入力情報および定数については、演算式データテーブル１４１内の入力情報または定数が格納されているアドレスを格納する。また、演算子に関しては、それぞれの算術演算子において演算子定数である「×：１」、「÷：２」、「＋：３」、および「−：４」に変換する。「（：開き括弧」、「）：閉じ括弧」の場合は、それぞれの位置において括弧定数である「有：１」または「無：０」に変換する。
【００４１】
数値に変換された演算式データは、演算式処理部５２０が備える演算属性情報テーブル１４２に格納される。このとき、ツール上にて未入力または空欄の項目については、固定の数値０を格納し、ブランクであることを示す。演算属性情報テーブル１４２の最後には、「右端ポインタＰＲ」が設けられている。演算式データ作成ツール５００は、演算式入力エリア５１０の一番最後のデータをサーチし、前述した演算属性情報テーブル１４２内の該当するアドレスを「右端ポインタＰＲ」として格納しておく。
【００４２】
数値に変換した演算式データを演算属性情報テーブル１４２に格納する際には、演算式の左から演算属性情報テーブル１４２に順番に格納する。図８に示すとおり、演算式入力エリア５１０に、演算式のどの要素が入力されるかは項数によって決まるため、演算属性情報テーブル１４２の各アドレスに括弧、値、演算子のいずれが格納されるかについては、あらかじめ式の項数によって決定される。例えば、開き括弧の位置は図８の開き括弧エリアに該当するため、演算属性情報テーブル１４２の開き括弧が格納されるエリアは、アドレス０〜２、５〜７、１１、１２、１７である。そのため、演算属性情報テーブル１４２のデータ属性は、演算式データ作成ツール５００上で画面が開かれた時点であらかじめ数値を格納しておく。演算式処理部５２０は、演算属性情報テーブル１４２に格納されているデータ属性に基づいてテーブル内をサーチし、二項演算順を決定していく。
【００４３】
演算属性情報テーブル１４２に格納した演算式データは前述のとおり、演算式処理部５２０内にて二項式への分解、および計算順序どおりとなるように格納順を決定し、演算式データテーブル１４１に格納する。図９〜図１１は、本発明の実施の形態における演算式データ作成ツール５００の演算式処理部５２０の処理フローの１例を説明する図である。なお、図９〜図１１は処理手順の１例であり、この手順に限定されるものではない。
【００４４】
本手順では、前述のとおり、演算属性情報テーブル１４２の各アドレスのデータ属性をサーチすることによって、二項式への分解を行う。以下の手順にて示す「アドレス」は、共用メモリ１４０のアドレスを除いて演算属性情報テーブル１４２のアドレスを指す。フロー中の計算回数Ｓｅｑｕｅｎｃｅは二項式の演算回数、「アドレス検索用ポインタＮＵＭ」は演算属性情報テーブル１４２のうち現在検索しているアドレスを表す。
【００４５】
まず、図９において、計算回数を０回に初期化する、即ち、「計算回数Ｓｅｑｕｅｎｃｅ」＝０とする（ステップＳ１０１）。そして、演算属性情報テーブル１４２の「アドレス検索用ポインタＮＵＭ」は、「アドレス検索用ポインタＮＵＭ」＝０と初期化しておく（ステップＳ１０２）。
【００４６】
次に、演算式の中の括弧で括られた項を探す（ステップＳ１０３〜Ｓ１１１)。演算式中に括弧が複数存在した場合、最も内側の括弧で括られた演算式を最初に計算するという規則に基づき、括弧で括られた項を探す際は、演算式中の最も左側に存在する閉じ括弧を検索した後（ステップＳ１０３〜Ｓ１０６）、それに対応する開き括弧を検索する（ステップＳ１０７〜Ｓ１１１）。
【００４７】
まず、以下の手順にて閉じ括弧を検索する。最初に、「アドレス検索用ポインタＮＵＭ」に該当するアドレスのデータ属性および内容を取得し（ステップＳ１０３）、ステップＳ１０３で取得した「データ属性」が「２（閉じ括弧）」かつ、「内容」が「１（有）」であるか否かを判定する（ステップＳ１０４）。いずれかの条件が満たされなければ（ステップＳ１０４：Ｎｏ）、「アドレス検索用ポインタＮＵＭ」を１進め（ステップＳ１０５）、「アドレス検索用ポインタＮＵＭ」が「右端ポインタＰＲ」以上であるか否かを判定する（ステップＳ１０６）。「アドレス検索用ポインタＮＵＭ」が「右端ポインタＰＲ」未満である場合は（ステップＳ１０６：Ｎｏ）、ステップＳ１０３に移り次のアドレスを検索する。
【００４８】
ステップＳ１０３にて取得したデータ属性が「２（閉じ括弧）」かつ、内容が「１：（有）」であった場合（ステップＳ１０４：Ｙｅｓ）、「アドレス検索用ポインタＮＵＭ」が指すアドレスに、最初に演算する項を括る閉じ括弧が存在する。そこで、発見した閉じ括弧に対応する開き括弧を検出する（ステップＳ１０７〜Ｓ１１１）。
【００４９】
ステップＳ１０４にて発見した閉じ括弧に対応する開き括弧は、閉じ括弧の左側にあり、かつ閉じ括弧に最も近い開き括弧であるため、以下のように検索する。まず、「アドレス検索用ポインタＮＵＭ」を１戻し（ステップＳ１０７）、演算属性情報テーブル１４２の「アドレス検索用ポインタＮＵＭ」に該当するアドレスの「データ属性」および「内容」を取得する（ステップＳ１０８）。ステップＳ１０８にて取得した「データ属性」が「１（開き括弧）」、かつ「内容」が「１（有）」であるか否かを判定し（ステップＳ１０９)、いずれかの条件が満たされなければ（ステップＳ１０９：Ｎｏ）、「アドレス検索用ポインタＮＵＭ」が０以下であるか否かを判定する（ステップＳ１１０）。「アドレス検索用ポインタＮＵＭ」が０以下であった場合（ステップＳ１１０：Ｙｅｓ）、ステップＳ１０４で検出した閉じ括弧と対になる開き括弧が演算式中にて発見できなかったため、ユーザにエラーを通知し（ステップＳ１１１）、本処理を終了する。一方、ステップＳ１１０にて「アドレス検索用ポインタＮＵＭ」が１以上であった場合（ステップＳ１１０：Ｎｏ）は、ステップＳ１０７に移り、さらに前のアドレスを検索する。
【００５０】
ステップＳ１０９にて、「アドレス検索用ポインタＮＵＭ」に該当するアドレスの「データ属性」が「１（開き括弧）」であり、かつ「内容」が「１（有）」であった場合（ステップＳ１０９：Ｙｅｓ）は、「アドレス検索用ポインタＮＵＭ」が指すアドレスに、最初に演算する項を括る開き括弧が存在する。ステップＳ１０４にて発見した閉じ括弧とステップＳ１０９にて発見した開き括弧が最も内側の括弧であるため、これらの括弧で括られる演算式が最初に計算する式となる。
【００５１】
次に、図１０に示すように、検出した括弧内に存在する二項式を検出する（ステップＳ１１２〜Ｓ１３４）。四則演算を行う場合、乗算および除算の計算は加算および減算より先に計算するという規則に則り、二項式を検出する際は、乗算および除算の二項式を検索（ステップＳ１１２〜Ｓ１２７）したあと、加算および減算の二項式を検索する（ステップＳ１２８〜Ｓ１３４）。
【００５２】
乗算または除算の二項式は、演算子「×」または演算子「÷」を検索することにより発見する。まず、「アドレス検索用ポインタＮＵＭ」に１を加え（ステップＳ１１２）、演算属性情報テーブル１４２の「アドレス検索用ポインタＮＵＭ」に該当するアドレスの「データ属性」および「内容」を取得する（ステップＳ１１３）。ステップＳ１１３にて取得した「データ属性」が「３（演算子）」であり、かつ「内容」が「１（×）」または「２（÷）」であるか否かを判定し（ステップＳ１１４)、ステップＳ１１４にて取得したデータ属性が「３（演算子）」ではない、または内容が「１（×）」および「２（÷）」以外である場合（ステップＳ１１４：Ｎｏ）、「アドレス検索用ポインタＮＵＭ」を１進め（ステップＳ１１５）、「アドレス検索用ポインタＮＵＭ」がステップＳ１０４にて発見したアドレス、即ち、閉じ括弧が格納されているアドレス以上か否かを判定する（ステップＳ１１６）。閉じ括弧が格納されているアドレス未満の場合（ステップＳ１１６：Ｎｏ）、ステップＳ１１３に移る。
【００５３】
ステップＳ１１４にて取得したデータ属性が「３（演算子）」であり、かつ内容が「１（×）」および「２（÷）」であった場合（ステップＳ１１４：Ｙｅｓ)、この演算子にかかる項が、最初に計算する二項式となる。
【００５４】
次に、ステップＳ１１４にて検出した演算子にかかる第１項を検出する。演算子にかかる第１項は演算子の左側にあり、かつ演算子に最も近い値であるため、以下のように検索する。「アドレス検索用ポインタＮＵＭ」を１戻し（ステップＳ１１７）、演算属性情報テーブル１４２の「アドレス検索用ポインタＮＵＭ」に該当するアドレスの「データ属性」および「内容」を取得する（ステップＳ１１８）。ステップＳ１１８にて取得した「データ属性」が「４（値）」かつ「内容」が「０（ブランク）」以外であるか否かを判定し（ステップＳ１１９）、満たしていない場合（ステップＳ１１９：Ｎｏ）は、ステップＳ１１７に移り、さらに前のアドレスを検索する。ステップＳ１１４にて取得した「データ属性」が「４（値）」かつ「内容」が「０（ブランク）」以外であった場合（ステップＳ１１９：Ｙｅｓ）、この項がステップＳ１１４にて検出した演算子にかかる第１項となる。
【００５５】
次に、ステップＳ１１４にて検出した演算子にかかる第２項を検出する。演算子にかかる第２項は演算子の右側にあり、かつ演算子に最も近い値であるため、以下のように検索する。まず、「アドレス検索用ポインタＮＵＭ」に、ステップＳ１１４にて発見したアドレス、即ち、演算子が格納されているアドレスを復元し（ステップＳ１２０）、「アドレス検索用ポインタＮＵＭ」を１進め（ステップＳ１２１）、演算属性情報テーブル１４２の「アドレス検索用ポインタＮＵＭ」に該当するアドレスの「データ属性」および「内容」を取得する（ステップＳ１２２）。ステップＳ１２２にて取得した「データ属性」が「４（値）」かつ「内容」が「０（ブランク）」以外であるか否かを判定し（ステップＳ１２３）、この条件を満たしていない場合（ステップＳ１２３：Ｎｏ）は、ステップＳ１２１に移り、次のアドレスを検索する。ステップＳ１２２にて取得した「データ属性」が「４（値）」かつ「内容」が「０（ブランク）」以外であった場合（ステップＳ１２３：Ｙｅｓ）、この項がステップＳ１１４にて検出した演算子にかかる第２項となる。
【００５６】
ここまでの手順で最初に計算する二項式が確定したため、「計算回数Ｓｅｑｕｅｎｃｅ」に１を加え（ステップＳ１２４）、演算式データテーブル１４１への転送を行う。ステップＳ１１９にて発見したアドレスの内容「第１項」、ステップＳ１１４にて発見したアドレスの内容「演算子」、ステップＳ１２３にて発見したアドレスの内容「第２項」を演算式データテーブル１４１の「計算回数Ｓｅｑｕｅｎｃｅ」が示す計算順序エリアに格納する（ステップＳ１２５）。即ち、「計算回数Ｓｅｑｕｅｎｃｅ」が示す番号の計算順序エリアに格納する。さらに、第１項が格納されているアドレスには、「計算回数Ｓｅｑｕｅｎｃｅ」が示す計算の結果を表すアドレス２９〜３６を格納し（ステップＳ１２６）、演算子および第２項が格納されているアドレスには０、即ちブランクを格納する（ステップＳ１２７）。ここまでの手順で「計算回数Ｓｅｑｕｅｎｃｅ」が示す順序にて計算する二項式が格納できたため、ステップＳ１１３に移り、次の演算子を検索する。
【００５７】
ステップＳ１１６にて、「アドレス検索用ポインタＮＵＭ」が閉じ括弧が格納されているアドレス、即ち、ステップＳ１０４にて発見したアドレス以上の場合（ステップＳ１１６：Ｙｅｓ）、括弧内の乗算および除算の二項式の検索が完了したため、括弧内の加算および減算の二項式を検出するステップに移る（ステップＳ１２８〜Ｓ１３４）。
【００５８】
まず、「アドレス検索用ポインタＮＵＭ」に開き括弧が格納されているアドレス、即ちステップＳ１０９にて発見したアドレスを復元し（ステップＳ１２８）、演算属性情報テーブル１４２の「アドレス検索用ポインタＮＵＭ」に該当するアドレスの「データ属性」および「内容」を取得する（ステップＳ１２９）。ステップＳ１２９にて取得した「データ属性」が「３（演算子）」であり、かつ内容が「３（＋）」または「４（−）」であるか否かを判定し（ステップＳ１３０）、いずれかを満たしていない場合（ステップＳ１３０：Ｎｏ）、「アドレス検索用ポインタＮＵＭ」に１を加え（ステップＳ１３１）、「アドレス検索用ポインタＮＵＭ」が閉じ括弧が格納されているアドレス（ステップＳ１０４にて発見したアドレス）以上か否かを判定する（ステップＳ１３２）。「アドレス検索用ポインタＮＵＭ」が閉じ括弧が格納されているアドレス（ステップＳ１０４にて発見したアドレス）未満の場合（ステップＳ１３２：Ｎｏ）、ステップＳ１２９に移り、さらに次のアドレスを検索する。ステップＳ１３０にて、「アドレス検索用ポインタＮＵＭ」に該当するアドレスのデータ属性が「３（演算子）」であり、かつ内容が「３（＋）」または「４（−）」であった場合（ステップＳ１３０：Ｙｅｓ）、ステップＳ１１７〜Ｓ１２７と同様の処理を実施し（ステップＳ１３３）、二項式を計算順序エリアに格納し、ステップＳ１２９に戻る。
【００５９】
ステップＳ１３２にて、「アドレス検索用ポインタＮＵＭ」が閉じ括弧が格納されているアドレス以上の場合（ステップＳ１３２：Ｙｅｓ）、括弧の中の演算式の検索が完了したため、閉じ括弧が格納されているアドレス即ちステップＳ１０４にて発見したアドレスと、開き括弧が格納されているアドレス即ちステップＳ１０９にて発見したアドレスの内容に「０（ブランク)」を格納し（ステップＳ１３４）、ステップＳ１０３に移り、次に計算する括弧を検索する。
【００６０】
以上の手順を繰り返し、ステップＳ１０６にて「アドレス検索用ポインタＮＵＭ」が「右端ポインタＰＲ」以上となった場合（ステップＳ１０６：Ｙｅｓ）、演算式の最後まで検索が完了したため、括弧を判定するステップを終了し、図１１に示す括弧の外の演算式を探すステップに移行する（ステップＳ１３５〜Ｓ１４６）。括弧の外においても、四則演算の計算順序に従い、乗算および除算の二項式を検索（ステップＳ１３５〜Ｓ１４０）したあと、加算および減算の二項式を検索する（ステップＳ１４１〜Ｓ１４６）。
【００６１】
まず、「アドレス検索用ポインタＮＵＭ」を０、即ち先頭に戻し（ステップＳ１３５）、演算属性情報テーブル１４２の「アドレス検索用ポインタＮＵＭ」に該当するアドレスの「データ属性」および「内容」を取得する（ステップＳ１３６）。ステップＳ１３６にて取得した「データ属性」が「３（演算子）」であり、かつ「内容」が「１（×）」または「２（÷）」であるかを判定し（ステップＳ１３７）、いずれかを満たしていない場合（ステップＳ１３７：Ｎｏ）は、「アドレス検索用ポインタＮＵＭ」を１進め（ステップＳ１３８）、「アドレス検索用ポインタＮＵＭ」が「右端ポインタＰＲ」以上か否かを判定する（ステップＳ１３９）。「アドレス検索用ポインタＮＵＭ」が「右端ポインタＰＲ」未満である場合（ステップＳ１３９：Ｎｏ）、ステップＳ１３６に移り、次のアドレスを検索する。ステップＳ１３７にて、「アドレス検索用ポインタＮＵＭ」に該当するアドレスの「データ属性」が「３（演算子）」であり、かつ「内容」が「１（×）」または「２（÷）」であった場合(ステップＳ１３７：Ｙｅｓ）、ステップＳ１１７〜Ｓ１２７と同様の処理を実施し（ステップＳ１４０）、二項式を計算順序エリアに格納し、ステップＳ１３６に戻る。
【００６２】
ステップＳ１３９にて、「アドレス検索用ポインタＮＵＭ」が「右端ポインタＰＲ」以上である場合（ステップＳ１３９：Ｙｅｓ）、乗算および除算の二項式を検索するステップを終了し、加算および減算の二項式を検出するステップに移る（ステップＳ１４１〜Ｓ１４６)。まず「アドレス検索用ポインタＮＵＭ」を０、即ち先頭に戻し、（ステップＳ１４１)、演算属性情報テーブル１４２の「アドレス検索用ポインタＮＵＭ」に該当するアドレスの「データ属性」および「内容」を取得する（ステップＳ１４２）。ステップＳ１４２にて取得したデータ属性が「３（演算子）」であり、かつ内容が「３（＋）」または「４（−）」であるか否かを判定し（ステップＳ１４３）、いずれかの条件を満たしていない場合（ステップＳ１４３：Ｎｏ）、「アドレス検索用ポインタＮＵＭ」を１進め（ステップＳ１４４）、「アドレス検索用ポインタＮＵＭ」のアドレスが「右端ポインタＰＲ」以上か否かを判定する（ステップＳ１４５）。「アドレス検索用ポインタＮＵＭ」が「右端ポインタＰＲ」未満の場合（ステップＳ１４５：Ｎｏ）、ステップＳ１４２に移る。ステップＳ１４３にて、「アドレス検索用ポインタＮＵＭ」に該当するアドレスのデータ属性が「３（演算子）」であり、かつ内容が「３（＋）」または「４（−）」であった場合（ステップＳ１４３：Ｙｅｓ)、ステップＳ１４６に進みステップＳ１１７〜Ｓ１２７の手順にてステップＳ１１９にて発見したアドレスの内容である「第１項」、ステップＳ１１４にて発見したアドレスの内容である「演算子」、ステップＳ１２３にて発見したアドレスの内容である「第２項」を演算式データテーブル１４１の「計算回数Ｓｅｑｕｅｎｃｅ」が示す計算順序エリアに格納する。ステップＳ１４５にて、「アドレス検索用ポインタＮＵＭ」が「右端ポインタＰＲ」以上であった場合（ステップＳ１４５：Ｙｅｓ）は、加算および減算の二項式を検出するステップが完了し、括弧の外の演算式の検索が完了したため、本処理を終了する。
【００６３】
以上、演算式データを演算式データテーブル１４１に転送する処理について述べてきた。
【００６４】
次に、演算属性情報テーブル１４２に基づいて、シーケンサユニット１００が多項演算を実施する方法について説明する。図１２は、本発明の実施の形態におけるシーケンサユニット１００の動作を説明するフローチャートを示す図である。フロー中の「計算順序ポインタＯＲＤＥＲ」は、二項式の計算回数を表す。二項式を計算するたびに「計算順序ポインタＯＲＤＥＲ」を１進め、「計算順序ポインタＯＲＤＥＲ」が「計算回数Ｓｅｑｕｅｎｃｅ」と等しい値になった場合、演算式全体の計算が完了したと判断する。
【００６５】
まず、演算式データテーブル１４１のアドレス２７より、「計算回数Ｓｅｑｕｅｎｃｅ」を読み込む（ステップＳ２０１）。次に、「計算回数Ｓｅｑｕｅｎｃｅ」が０か否かが判定される（ステップＳ２０２）。「計算回数Ｓｅｑｕｅｎｃｅ」が０の場合（ステップＳ２０２：Ｙｅｓ）、演算処理を終了する。
【００６６】
ステップＳ２０２において「計算回数Ｓｅｑｕｅｎｃｅ」が０以外の場合（ステップＳ２０２：Ｎｏ）、「計算順序ポインタＯＲＤＥＲ」に１を格納し（ステップＳ２０３）、演算式データテーブル１４１の「計算順序ポインタＯＲＤＥＲ」が指す計算順序エリアから第１項、演算子、第２項を読み込む（ステップＳ２０４）。読み込んだデータは数値から演算式の各要素に変換し（ステップＳ２０５）、変換したデータに従って演算を実施する（ステップＳ２０６〜Ｓ２１１）。ステップＳ２０６においては、第１項および第２項がアドレス０〜４であるか否かが判定され、第１項および第２項がアドレス０〜４の場合（ステップＳ２０６：Ｙｅｓ）は、演算式データテーブル１４１の「入力データ指定エリア」より、アドレス情報を取得する（ステップＳ２０７）。
【００６７】
第１項および第２項がアドレス０〜４以外の場合（ステップＳ２０６：Ｎｏ）は、第１項および第２項がアドレス５〜１４であるか否かが判定される（ステップＳ２０８）。第１項および第２項がアドレス５〜１４である場合は（ステップＳ２０８：Ｙｅｓ）、「定数指定エリア」より直値および小数点位置を取得し、定数に変換する（ステップＳ２０９）。第１項および第２項がアドレス０〜１４以外である場合（ステップＳ２０８：Ｎｏ）は、「計算結果エリア」より該当する計算結果を取得する（ステップＳ２１０）。ステップＳ２０７、Ｓ２０９、Ｓ２１０の後は、変換したデータと演算子に従って、演算を実施する（ステップＳ２１１）。二項式の演算結果は、演算式データテーブル１４１の「計算順序ポインタＯＲＤＥＲ」が指す「計算結果エリア」に格納する（ステップＳ２１２）。
【００６８】
次に、「計算順序ポインタＯＲＤＥＲ」と「計算回数Ｓｅｑｕｅｎｃｅ」を比較し、両者が同一か否かが判定され（ステップＳ２１３）、両者が異なる場合（ステップＳ２１３：Ｎｏ）、「計算順序ポインタＯＲＤＥＲ」に１を加算し（ステップＳ２１４）、ステップＳ２０４に移行する。ステップＳ２１３にて「計算順序ポインタＯＲＤＥＲ」と「計算回数Ｓｅｑｕｅｎｃｅ」が等しい場合（ステップＳ２１３：Ｙｅｓ）は、演算式全体の演算が完了したため、演算式データテーブル１４１の「計算結果エリア」に演算結果を格納し（ステップＳ２１５）、演算処理を終了する。
【００６９】
以上により、ユーザが所望する任意の多項演算式を、シーケンサユニット１００にて演算することが可能となる。
【００７０】
一方、演算式データを演算式データ入力エリア５１０に復元する場合は、演算属性情報テーブル１４２に展開されている演算式データを、図８のデータ属性、演算子定数、括弧定数に従って数値データから演算式データに変換することにより、復元が可能となる。
【００７１】
ここまで、演算式データを復元する方法について述べてきた。このように、演算式データテーブル１４１および演算属性情報テーブル１４２を備えることにより、ユーザが所望する多項演算式をシーケンサユニット１００に高速演算させること、およびシーケンサユニット１００から読み出した多項演算式を周辺装置２０００内の演算式データ作成ツール５００上に復元することが可能となる。
【００７２】
ここからは、シーケンサユニット１００としてＡ／Ｄ変換ユニットを用いて説明する。Ａ／Ｄ変換ユニットのＣＨ１のデジタル値が共用メモリ１４０のアドレス１１に格納され、Ａ／Ｄ変換ユニットのＣＨ２のデジタル値が共用メモリ１４０のアドレス１２に格納される。そして、下記の（式１）をＡ／Ｄ変換ユニット内にて演算させる場合の処理について、具体例を用いて説明する。
Ａ×（（３０．１２３＋Ｂ）÷１００）・・・（式１）
（式１）において、ＡおよびＢは下記を表す。
Ａ：Ａ／Ｄ変換ユニットのＣＨ１のデジタル値
Ｂ：Ａ／Ｄ変換ユニットのＣＨ２のデジタル値
【００７３】
すなわち、（式１）はＣＨ２のデジタル値と定数３０．１２３との和を求め、さらにその和と定数１００との商を求め、さらにその商とＣＨ１のデジタル値との積を求める演算式を示している。
【００７４】
図１３は、本発明の実施の形態において演算式データ作成ツール５００上で演算式を作成した例を示す図である。図１３は、演算式入力エリア５１０に（式１）を入力した場合の処理を示す。計算結果は小数点以下３桁を表示するため、演算式入力エリア５１０の「計算結果小数点位置」には、３を入力している。演算式を入力した後、演算式データ作成ツール５００が備えるユニット書込みボタン５２を押下する。演算式データ作成ツール５００は、ユニット書込みボタン５２が押下された場合、図１の演算式処理部５２０にて、演算式の登録処理を行う。
【００７５】
図１４は、本発明の実施の形態において演算式データ作成ツール５００上で作成した演算式の例である（式１）を、演算式データ作成ツール５００内の演算属性情報テーブル１４２に格納する処理を説明する図である。図１４が示すように、演算式入力エリア５１０にて入力された演算式データのうち、演算式の定数、シーケンサユニット１００への入力情報、演算子、開き括弧、閉じ括弧は、数値データに変換されて、演算属性情報テーブル１４２に格納される。また、演算属性情報テーブル１４２の「右端ポインタＰＲ」には、演算式の最後のデータが格納されているアドレスを表す数値「１９」が格納される。
【００７６】
次に、演算属性情報テーブル１４２に格納された（式１）を、演算式データテーブル１４１に転送する処理を説明する。最初に、「計算回数Ｓｅｑｕｅｎｃｅ」は０回に初期化され（図９、ステップＳ１０１）、演算属性情報テーブル１４２の「アドレス検索用ポインタＮＵＭ」は０に初期化される（ステップＳ１０２）。次に、二項式への分解および計算順序の検索を行う。まず、以下の手順にて、先頭の閉じ括弧を検索する。「アドレス検索用ポインタＮＵＭ」は０なので、アドレス０の「データ属性」および「内容」を取得し（ステップＳ１０３）、取得した「データ属性」が「２（閉じ括弧）」かつ、「内容」が「１（有）」であるか否かを判定する（ステップＳ１０４）。演算属性情報テーブル１４２のアドレス０のデータ属性は「１（開き括弧）」のため（ステップＳ１０４：Ｎｏ）、「アドレス検索用ポインタＮＵＭ」を１進めて（ステップＳ１０５）、「アドレス検索用ポインタＮＵＭ」を１にして、「アドレス検索用ポインタＮＵＭ」が「右端ポインタＰＲ」以上であるか否かを判定する（ステップＳ１０６）。１である「アドレス検索用ポインタＮＵＭ」は１９である「右端ポインタＰＲ」未満のため（ステップＳ１０６：Ｎｏ）、ステップＳ１０３に移る。以降、「データ属性」が「２（閉じ括弧）」で、「内容」が「１（有）」のアドレス１４が「アドレス検索用ポインタＮＵＭ」に格納されるまで、ステップＳ１０３〜Ｓ１０６を繰り返す。
【００７７】
「アドレス検索用ポインタＮＵＭ」が１４になると、ステップＳ１０４において「アドレス検索用ポインタＮＵＭ」に該当するアドレスの「データ属性」が「２（閉じ括弧）」かつ、「内容」が「１（有）」であるため（ステップＳ１０４：Ｙｅｓ）、「アドレス検索用ポインタＮＵＭ」が指すアドレスに、最初に演算する項を括る閉じ括弧が存在する。次に、発見した閉じ括弧に対応する開き括弧を検出する（ステップＳ１０７〜Ｓ１１１）。
【００７８】
ステップＳ１０４にて発見した閉じ括弧に対応する開き括弧は、閉じ括弧の左側にあり、かつ閉じ括弧に最も近い開き括弧であるため、以下のように検索する。まず、「アドレス検索用ポインタＮＵＭ」を１戻し（ステップＳ１０７）、「アドレス検索用ポインタＮＵＭ」を１３にして、演算属性情報テーブル１４２の「アドレス検索用ポインタＮＵＭ」に該当するアドレスの「データ属性」および「内容」を取得する（ステップＳ１０８）。ステップＳ１０８にて取得した「データ属性」は「４（値）」であるため（ステップＳ１０９：Ｎｏ）、「アドレス検索用ポインタＮＵＭ」が０以下であるかを判定する（ステップＳ１１０）。ステップＳ１１０にて「アドレス検索用ポインタＮＵＭ」（＝１３）が１以上であるため（ステップＳ１１０：Ｎｏ）、ステップＳ１０７に移り、さらに前のアドレスを検索する。以降「アドレス検索用ポインタＮＵＭ」に６が格納されるまでステップＳ１０７〜Ｓ１１０を繰り返す。
【００７９】
その後、「アドレス検索用ポインタＮＵＭ」が６になると、「アドレス検索用ポインタＮＵＭ」に該当する「データ属性」が「１（開き括弧）」であり、かつ「内容」が「１（有）」であるため（ステップＳ１０９：Ｙｅｓ）、「アドレス検索用ポインタＮＵＭ」が指すアドレスに、最初に演算する項を括る開き括弧が存在する。以上にて発見したアドレス６の開き括弧とアドレス１４の閉じ括弧が最も内側の括弧であるため、これらの括弧で括られる演算式が最初に計算する式となる。
【００８０】
次に、検出した括弧内に存在する二項式を検出する（ステップＳ１１２〜Ｓ１３４）。このとき、四則演算の計算順序に従い、乗算および除算の二項式を検索（ステップＳ１１２〜Ｓ１２７）したあと、加算および減算の二項式を検索する（ステップＳ１２８〜Ｓ１３４）。
【００８１】
括弧内の乗算または除算の二項式は、演算子「×」および演算子「÷」を検索することにより発見する。まず、「アドレス検索用ポインタＮＵＭ」に１を加え（ステップＳ１１２）、「アドレス検索用ポインタＮＵＭ」を７にして、演算属性情報テーブル１４２の「アドレス検索用ポインタＮＵＭ」に該当するアドレス７の「データ属性」および「内容」を取得する（ステップＳ１１３）。アドレス７の「データ属性」は「１（開き括弧）」であるため（ステップＳ１１４：Ｎｏ）、「アドレス検索用ポインタＮＵＭ」を１進め（ステップＳ１１５）、「アドレス検索用ポインタＮＵＭ」を８にして、「アドレス検索用ポインタＮＵＭ」がステップＳ１０４にて発見したアドレス、即ち閉じ括弧が格納されているアドレス以上か否かを判定する（ステップＳ１１６）。「アドレス検索用ポインタＮＵＭ」（＝８）は閉じ括弧が格納されているアドレス（＝１４）未満であるため(ステップＳ１１６：Ｎｏ）、ステップＳ１１３に移る。以降「アドレス検索用ポインタＮＵＭ」に１４が格納されるまでステップＳ１１３〜Ｓ１１６を繰り返す。
【００８２】
「アドレス検索用ポインタＮＵＭ」が１４になると、ステップＳ１１６にて、「アドレス検索用ポインタＮＵＭ」は、閉じ括弧が格納されているアドレス「１４」以上となり（ステップＳ１１６：Ｙｅｓ）、括弧内の乗算および除算の演算式の検索が完了したため、括弧の中の演算子「＋」および演算子「−」の項を検出するステップに移る（ステップＳ１２８〜Ｓ１３４）。
【００８３】
まず、「アドレス検索用ポインタＮＵＭ」に開き括弧が格納されているアドレス「６」を復元し（ステップＳ１２８）、該当するアドレスの「データ属性」および「内容」を取得する（ステップＳ１２９)。以降、アドレス検索用ポインタを進め、加算および減算の項を検索し（ステップＳ１２９〜Ｓ１３３）、「アドレス検索用ポインタＮＵＭ」を１０まで進める。
【００８４】
「アドレス検索用ポインタＮＵＭ」に１０が格納されると、ステップＳ１３０において「アドレス検索用ポインタＮＵＭ」に該当するアドレスの「データ属性」が「３（演算子）」かつ「内容」が「３（＋）」であるため(ステップＳ１３０：Ｙｅｓ)、この演算子にかかる項が最初に計算する二項式となる。従って、ステップＳ１３３に進み、演算式データテーブル１４１の計算順序エリアに、ステップＳ１３０にて検出した演算子にかかる第１項、ステップＳ１３０にて検出した演算子、ステップＳ１３０にて検出した演算子にかかる第２項を格納する。ステップＳ１３３では、ステップＳ１１７〜Ｓ１２７と同様の処理を実行する。
【００８５】
具体的には、まず、ステップＳ１３０にて検出した演算子にかかる第１項を検出する。演算子にかかる第１項は演算子の左側にあり、かつ演算子に最も近い値であるため、以下のように検索する。「アドレス検索用ポインタＮＵＭ」を１戻し（ステップＳ１１７）、「アドレス検索用ポインタＮＵＭ」を９にして、演算属性情報テーブル１４２の「アドレス検索用ポインタＮＵＭ」に該当するアドレスの「データ属性」および「内容」を取得する（ステップＳ１１８）。アドレス９の「データ属性」は「２（閉じ括弧）」であるため（ステップＳ１１９：Ｎｏ）、ステップＳ１１７に移る。以降「アドレス検索用ポインタＮＵＭ」に８が格納されるまで、ステップＳ１１７〜Ｓ１１９を繰り返す。
【００８６】
「アドレス検索用ポインタＮＵＭ」が８になると、「アドレス検索用ポインタＮＵＭ」に該当するアドレスの「データ属性」が「４（値）」かつ「内容」がアドレス５であるため（ステップＳ１１９：Ｙｅｓ）、この項がステップＳ１１４にて検出した演算子にかかる第１項と決定される。
【００８７】
次に、ステップＳ１３０にて検出した演算子にかかる第２項を検出する。演算子にかかる第２項は演算子の右側にあり、かつ演算子に最も近い値であるため、以下のように検索する。まず、「アドレス検索用ポインタＮＵＭ」に、ステップＳ１３０にて発見したアドレスである「１０」、即ち演算子が格納されているアドレスを復元し（ステップＳ１２０）、「アドレス検索用ポインタＮＵＭ」を１進め（ステップＳ１２１）、「アドレス検索用ポインタＮＵＭ」を１１にして、演算属性情報テーブル１４２の該当するアドレス「１１」の「データ属性」および「内容」を取得する（ステップＳ１２２）。アドレス１１の「データ属性」は「１（開き括弧）」のため（ステップＳ１２３：Ｎｏ）、ステップＳ１２１に移る。以降「アドレス検索用ポインタＮＵＭ」に１３が格納されるまでステップＳ１２１〜Ｓ１２３を繰り返す。
【００８８】
「アドレス検索用ポインタＮＵＭ」が１３になると、ステップＳ１２３において「アドレス検索用ポインタＮＵＭ」に該当するアドレスの「データ属性」が「４（値）」かつ「内容」がアドレス１のため（ステップＳ１２３：Ｙｅｓ）、この項がステップＳ１１４にて検出した演算子にかかる第２項と決定される。
【００８９】
以上から二項式が検索できたため、「計算回数Ｓｅｑｕｅｎｃｅ」に１を加え（ステップＳ１２４）、ステップＳ１２５に移り、演算式データテーブル１４１への転送を行う。ステップＳ１１９にて発見したアドレス「８」の「内容」である「第１項」、ステップＳ１３０にて発見したアドレス「１０」の「内容」である「演算子」、ステップＳ１２３にて発見したアドレス「１３」の「内容」である「第２項」を演算式データテーブル１４１の「計算回数Ｓｅｑｕｅｎｃｅ」（＝１）に該当する計算順序エリアに格納する（ステップＳ１２５）。さらに、第１項が格納されているアドレスには、「計算回数Ｓｅｑｕｅｎｃｅ」（＝１）の計算結果を表すアドレス２９を格納し（ステップＳ１２６）、演算子および第２項が格納されているアドレスには０、即ちブランクを格納し（ステップＳ１２７）、ステップＳ１３３を終了して、ステップＳ１２９に移り、次の演算子を検索する。
【００９０】
以上までの処理の結果、演算式データテーブル１４１と演算属性情報テーブル１４２に格納されているデータを示すのが図１５および図１６である。演算式データテーブル１４１の計算順序エリア１に値が格納され、最初に計算する式が（３０．１２３＋ＣＨ２のデジタル値）であることがわかる。
【００９１】
図１５および図１６に図示するとおり、アドレス６の開き括弧とアドレス１４の閉じ括弧の中には、他に二項式がないため、「アドレス検索用ポインタＮＵＭ」に１４が格納されるまでステップＳ１２９〜Ｓ１３２を繰り返す。
【００９２】
「アドレス検索用ポインタＮＵＭ」が１４になると、ステップＳ１３２にて、「アドレス検索用ポインタＮＵＭ」は、閉じ括弧が格納されているアドレス「１４」以上となり（ステップＳ１３２：Ｙｅｓ）、括弧の中の演算式の検索が完了したため、開き括弧が格納されているアドレス「６」と閉じ括弧が格納されているアドレス「１４」の「内容」に「０(ブランク)」を格納し（ステップＳ１３４）、ステップＳ１０３に移り、次に計算する括弧を検索する。
【００９３】
以上までの手順を繰り返し、演算式中の括弧内の検索が完了した後の演算式データテーブル１４１および演算属性情報テーブル１４２の結果を図１７および図１８に示す。演算式データテーブル１４１の計算順序エリア２にデータが格納され、２番目に計算する式が（「計算順序１の結果」÷１００）であることがわかる。
【００９４】
次に、括弧を判定するステップを終了し演算子を探すステップに移行する（ステップＳ１３５〜Ｓ１４６）。括弧の外においても、四則演算の計算順序に従い、乗算および除算の二項式を検索したあと（ステップＳ１３５〜Ｓ１４０）、加算および減算の二項式を検索する（ステップＳ１４１〜Ｓ１４６）。
【００９５】
まず、「アドレス検索用ポインタＮＵＭ」を０、即ち先頭に戻し（ステップＳ１３５）、「アドレス検索用ポインタＮＵＭ」に該当するアドレスの「データ属性」および「内容」を取得する（ステップＳ１３６）。アドレス０の「データ属性」は「１（開き括弧）」のため（ステップＳ１３７：Ｎｏ）、「アドレス検索用ポインタＮＵＭ」を１進め（ステップＳ１３８）、「アドレス検索用ポインタＮＵＭ」が「右端ポインタＰＲ」以上か否か判定する（ステップＳ１３９）。「アドレス検索用ポインタＮＵＭ」（＝１）は「右端ポインタＰＲ」（＝１９）未満のため（ステップＳ１３９：Ｎｏ）、ステップＳ１３６に移る。以降「アドレス検索用ポインタＮＵＭ」に４が格納されるまでステップＳ１３６〜Ｓ１３９を繰り返す。
【００９６】
「アドレス検索用ポインタＮＵＭ」＝４に該当するアドレスの「データ属性」が「３（演算子）」であり、かつ「内容」が「１（×）」であるため（ステップＳ１３７：Ｙｅｓ）、ステップＳ１１７〜Ｓ１２７の手順にて「第１項」、「演算子」、および「第２項」を「計算回数Ｓｅｑｕｅｎｃｅ」が示す番号の計算順序エリアに格納する（ステップＳ１４０）。以降、演算式がないため、「アドレス検索用ポインタＮＵＭ」に１９が格納されるまでステップＳ１３６〜Ｓ１３９を繰り返す。
【００９７】
「アドレス検索用ポインタＮＵＭ」が１９になると、ステップＳ１３９において「アドレス検索用ポインタＮＵＭ」が「右端ポインタＰＲ」以上のため（ステップＳ１３９：Ｙｅｓ）、括弧の中の加算および減算の二項式を検出するステップに移る（ステップＳ１４１〜Ｓ１４６）。まず「アドレス検索用ポインタＮＵＭ」を０、即ち先頭に戻し（ステップＳ１４１）、該当するアドレスの「データ属性」および「内容」を取得する（ステップＳ１４２）。以降、取得した「データ属性」が「３（演算子）」であり、「内容」が「３（＋）」または「４（−）」であるアドレスを発見するまでアドレス検索用ポインタを進めるが（ステップＳ１４２〜Ｓ１４５）、括弧中に演算子がないため、「アドレス検索用ポインタＮＵＭ」を１９まで進める。「アドレス検索用ポインタＮＵＭ」が１９になると、ステップＳ１４５にて、「アドレス検索用ポインタＮＵＭ」が「右端ポインタＰＲ」（＝１９）以上となったため、加算および減算の二項式を検出するステップが完了する。ここまでの手順により、括弧の外の演算式の検索が完了したため、本処理を終了する。
【００９８】
ここまで、演算式データテーブル１４１への転送処理について、具体例を挙げて述べてきた。図１９および図２０は前記演算式データを書き込む処理を行った後の演算式データテーブル１４１および演算属性情報テーブル１４２を説明する図である。
【００９９】
次に、シ一ケンサユニット１００における計算処理について図１２を用いて説明する。まず、演算式データテーブル１４１の計算回数格納エリアより、「計算回数Ｓｅｑｕｅｎｃｅ」を読み込む（ステップＳ２０１）。「計算回数Ｓｅｑｕｅｎｃｅ」（＝３）は０以外のため（ステップＳ２０２：Ｎｏ）「計算順序ポインタＯＲＤＥＲ」を１に初期化し（ステップＳ２０３）、図１９の演算式データテーブル１４１の「計算順序ポインタＯＲＤＥＲ」（＝１）が示す「計算順序エリア１」から第１項の「内容」である「アドレス５」、演算子の「内容」である「３」、第２項の「内容」である「アドレス１」を読み込み（ステップＳ２０４）、数値データを演算式データに変換する（ステップＳ２０５）。第１項はアドレス０〜４以外であり（ステップＳ２０６：Ｎｏ）、アドレス５〜１４に該当するため（ステップＳ２０８：Ｙｅｓ）、定数指定エリアから直値および小数点位置を取得し、定数（＝３０．１２３）に変換する（ステップＳ２０９）。一方、第２項はアドレス０〜４に該当するため（ステップＳ２０６：Ｙｅｓ）、図１９のアドレス１に格納されている共用メモリ１４０のアドレス１２に格納されているＣＨ２のデジタル値を参照する（ステップＳ２０７）。
【０１００】
次に変換したデータに従って演算（３０．１２３＋ＣＨ２のデジタル値）を実施する（ステップＳ２１１）。演算結果は、演算式データテーブル１４１の「計算順序ポインタＯＲＤＥＲ」（＝１）が示す「計算結果エリア１」であるアドレス２９および３０に格納する（ステップＳ２１２）。
【０１０１】
次に、「計算順序ポインタＯＲＤＥＲ」（＝１）と「計算回数Ｓｅｑｕｅｎｃｅ」（＝３）とを比較する（ステップＳ２１３）。両者が異なるため（ステップＳ２１３：Ｎｏ）、「計算順序ポインタＯＲＤＥＲ」に１を加算し(ステップＳ２１４)、ステップＳ２０４に移行する。
【０１０２】
次に、図１９の演算式データテーブル１４１の「計算順序ポインタＯＲＤＥＲ」（＝２）が示す「計算順序エリア２」から第１項の「内容」である「アドレス２９」、演算子の「内容」である「２」、第２項の「内容」である「アドレス７」を読み込み（ステップＳ２０４）、数値データを演算式データに変換する（ステップＳ２０５）。第１項はアドレス０〜４以外（ステップＳ２０６：Ｎｏ）かつ、アドレス５〜１４以外のため（ステップＳ２０８：Ｎｏ）、計算結果エリアより該当する計算結果である図１９のアドレス２９、３０を参照する（ステップＳ２１０）。第２項はアドレス０〜４以外（ステップＳ２０６：Ｎｏ）かつ、アドレス５〜１４に該当するため（ステップＳ２０８：Ｙｅｓ）、「定数指定エリア」から直値および小数点位置を取得し、定数（＝１００）に変換する（ステップＳ２０９）。
【０１０３】
次に変換したデータに従って演算である（計算結果１÷１００）を実施する（ステップＳ２１１）。演算結果は演算式データテーブル１４１の「計算順序ポインタＯＲＤＥＲ」（＝２）が示す「計算結果エリア２」である図１９のアドレス３１、３２に格納する（ステップＳ２１２）。次に、「計算順序ポインタＯＲＤＥＲ」（＝２）と「計算回数Ｓｅｑｕｅｎｃｅ」（＝３）とを比較する（ステップＳ２１３）。両者が異なるため（ステップＳ２１３：Ｎｏ）、「計算順序ポインタＯＲＤＥＲ」に１を加算し（ステップＳ２１４）、ステップＳ２０４に移行する。
【０１０４】
次に、図１９の演算式データテーブル１４１の「計算順序ポインタＯＲＤＥＲ」（＝３）が示す「計算順序エリア３」から第１項の「内容」である「アドレス０」、演算子の「内容」である「１」、第２項の「内容」である「アドレス３１」を読み込み（ステップＳ２０４）、数値データを演算式データに変換する（ステップＳ２０５）。第１項はアドレス０〜４に該当するため（ステップＳ２０６：Ｙｅｓ）、「入力データ指定エリア」から該当する共用メモリ１４０のアドレス１１に格納されているＣＨ１のデジタル値を参照する（ステップＳ２０７）。第２項はアドレス０〜４以外（ステップＳ２０６：Ｎｏ）かつ、アドレス５〜１４以外のため（ステップＳ２０８：Ｎｏ）、該当する「計算結果エリア２」である図１９のアドレス３１、３２の計算結果を参照する。
【０１０５】
次に、変換したデータに従って演算（ＣＨ１のデジタル値＋計算結果２）を実施する（ステップＳ２１１）。演算結果は演算式データテーブル１４１の「計算順序ポインタＯＲＤＥＲ」（＝３）が示す「計算結果エリア」である図１９のアドレス３３、３４の「計算結果３」に格納する（ステップＳ２１２）。
【０１０６】
次に、「計算順序ポインタＯＲＤＥＲ」（＝３）と「計算回数Ｓｅｑｕｅｎｃｅ」（＝３）とを比較し（ステップＳ２１３）、両者は等しいため（ステップＳ２１３：Ｙｅｓ）、演算式データテーブル１４１の「計算結果エリア最終」（図１９のアドレス３７、３８）の「計算結果」に以上までの演算結果を格納し（ステップＳ２１５）、演算処理が終了となる。
【０１０７】
以上、ユーザが所望する任意の多項演算式を、シーケンサユニット１００の演算部１３０にて演算させる手順について説明してきた。
【０１０８】
なお、上記実施の形態における演算式は、１例として最大５項からなる演算式を対象としているが、最大Ｎ項からなる演算式において、演算式の各項をすべて１ワードのデータで表す場合、データの格納に必要な領域は（８Ｎ−１）ワードとなる。
【０１０９】
また、演算属性情報テーブル１４２の要素数は
【数１】
0005864033.tif 000002
である。
【０１１０】
なお、上記実施の形態においては、演算式データテーブル１４１は共用メモリ１４０に登録するとしたが、ＰＬＣシステム１内の不揮発性メモリ１４５に登録できるようにしてもよい。不揮発性メモリ１４５は、シーケンサユニット１００の内部に備えられていてもよいが、図３に示すようにシーケンサユニット１００の外部に備えられていてもよい。演算式データテーブル１４１を不揮発性メモリ１４５に登録する場合は、シーケンサユニット１００の電源をＯＦＦにしても登録した演算式データが消えないため、シーケンサユニット１００の起動時に毎回演算式データ作成ツール５００から演算パラメータ設定を行う必要がなくなる。
【０１１１】
以上説明したように、本実施の形態にかかるＰＬＣシステム１によれば、作成した多項演算式をシーケンサユニットに登録して、シーケンサユニット内部で演算できる機能を具備することにより、シーケンサＣＰＵ上での演算プログラムが不要になり、ラダープログラムの作成工数の削減が可能となるとともに、シーケンサＣＰＵのスキャンタイムに依存しない高度な演算が可能となる。
【０１１２】
さらに、本願発明は上記実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施の形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。更に、異なる実施の形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１１３】
１  ＰＬＣシステム、１００  シーケンサユニット、１３０  演算部、１３１  演算式データ処理部、１４０  共用メモリ、１４１  演算式データテーブル、１４２  演算属性情報テーブル、１４５  不揮発性メモリ、１６０  バスＩ／Ｆ、１７０  内部バス、２００  ＣＰＵ装置、２１０  外部メモリＩ／Ｆ、２２０  演算部、２３０  内部メモリ、２４０  周辺装置Ｉ／Ｆ、２５０  バスＩ／Ｆ、３００  ユニット間バス、５００  演算式データ作成ツール、５１０  演算式入力エリア、５２０  演算式処理部、１０００  ＰＬＣ、２０００  周辺装置。
【要約】
ＰＬＣユニットおよび記憶部を有するプログラマブルロジックコントローラと、前記ＰＬＣユニットに実行させる演算式の演算式データを作成させる演算式データ作成支援装置と、を備えたＰＬＣシステムであって、前記演算式データ作成支援装置は、演算に使用する変数となる入力情報および前記演算に使用する定数を含んだ前記演算式をユーザから受け付ける入力部と、前記演算式の計算順序を求める演算式処理部と、を有し、前記記憶部は、前記入力情報、前記定数、および前記計算順序を含む前記演算式データを管理するための演算式データテーブルを保持し、前記ＰＬＣユニットは、前記記憶部に接続され、前記入力情報および前記定数を用いて前記計算順序に従って前記演算式の演算を実行する演算部を備える。【図１】
0005864033.tif 000003
【図２】
0005864033.tif 000004
【図３】
0005864033.tif 000005
【図４】
0005864033.tif 000006
【図５】
0005864033.tif 000007
【図６】
0005864033.tif 000008
【図７】
0005864033.tif 000009
【図８】
0005864033.tif 000010
【図９】
0005864033.tif 000011
【図１０】
0005864033.tif 000012
【図１１】
0005864033.tif 000013
【図１２】
0005864033.tif 000014
【図１３】
0005864033.tif 000015
【図１４】
0005864033.tif 000016
【図１５】
0005864033.tif 000017
【図１６】
0005864033.tif 000018
【図１７】
0005864033.tif 000019
【図１８】
0005864033.tif 000020
【図１９】
0005864033.tif 000021
【図２０】
0005864033.tif 000022