(57)【要約】  廉価にアナログ入力点数を増加させることができるように、アナログ入力システムは、夫々、ＣＰＵユニット３０が接続されるバス４１に接続され、外部機器が出力するアナログ値を第１のデジタル値に変換するＡ／Ｄ変換装置２１ａと、前記ＣＰＵユニット３０へ転送する第２のデジタル値をバッファするバッファメモリ２３ａと、自ユニット２０ａの固有情報を記憶する不揮発性の記憶装置２２ａと、を備える１以上のアナログスレーブユニット２０ａと、前記バス４１に接続され、前記第１のデジタル値を入力として前記記憶装置２２ａに格納されている固有情報に基づく演算処理を実行して前記第２のデジタル値を算出する演算部１７を備え、前記演算処理と前記算出された第２のデジタル値を前記バッファメモリ２３ａに転送する処理とをアナログスレーブユニット２０ａの夫々に対して実行する、１つのアナログマスタユニット１０と、を備える。
2013018190.tif 000002
【特許請求の範囲】
【請求項１】
夫々、ＣＰＵユニットが接続されるバスに接続されるとともに、アナログ値を出力する外部機器に接続され、前記外部機器が出力するアナログ値を第１のデジタル値に変換するＡ／Ｄ変換装置と、前記ＣＰＵユニットへ転送する第２のデジタル値をバッファする第１のバッファメモリと、自ユニットの固有情報を記憶する不揮発性の記憶装置と、を備える１以上のスレーブ入力ユニットと、
前記バスに接続され、前記Ａ／Ｄ変換装置が出力した第１のデジタル値を入力として前記記憶装置に格納されている固有情報に基づく演算処理を実行して前記第２のデジタル値を算出する演算部を備え、前記演算部による演算処理と前記演算処理により算出された第２のデジタル値を前記第１のバッファメモリに転送する処理とを前記スレーブ入力ユニットの夫々に対して実行する、１つのマスタユニットと、
を備えることを特徴とするアナログ入力システム。
【請求項２】
前記演算処理は、スレーブ入力ユニット毎に予め設定された数値変換処理を含み、
前記固有情報は、自スレーブ入力ユニットに設定された数値変換処理を識別する識別情報である、
ことを特徴とする請求項１に記載のアナログ入力システム。
【請求項３】
前記演算処理は、スレーブ入力ユニット毎の補正処理を含み、
前記固有情報は、校正器が出力したアナログ基準値を自スレーブ入力ユニットが備えるＡ／Ｄ変換装置が変換して得られる、予め求められたデジタル基準値であって、
前記演算部は、前記デジタル基準値を用いて補正処理を実行する、
ことを特徴とする請求項１に記載のアナログ入力システム。
【請求項４】
前記１以上のスレーブ入力ユニットは、夫々、前記マスタユニットが前記バスを介して読み書き可能な第２のバッファメモリを備え、
前記マスタユニットは、前記Ａ／Ｄ変換装置が出力した第１のデジタル値および前記記憶装置が記憶している固有情報の取得と前記第２のデジタル値を転送する処理とを前記第２のバッファメモリを介して実行する、
ことを特徴とする請求項１に記載のアナログ入力システム。
【請求項５】
夫々、ＣＰＵユニットが接続されるバスに接続されるとともに、アナログ値の入力を受け付ける外部機器に接続され、第１のデジタル値を前記外部機器に出力するアナログ値に変換するＤ／Ａ変換装置と、前記ＣＰＵユニットから転送されてくる第２のデジタル値をバッファする第１のバッファメモリと、自ユニットの固有情報を記憶する不揮発性の記憶装置とを備える１以上のスレーブ出力ユニットと、
前記バスに接続され、前記第１のバッファメモリにバッファされた第２のデジタル値を入力として前記記憶装置に格納されている固有情報に基づく演算処理を実行して前記第１のデジタル値を算出する演算部を備え、前記演算部による演算処理と前記演算処理により算出された第１のデジタル値をスレーブ出力ユニットに転送する処理とを、スレーブ出力ユニットの夫々に対して実行する、１つのマスタユニットと、
を備えることを特徴とするアナログ出力システム。
【請求項６】
前記演算処理は、スレーブ出力ユニット毎に予め定められた数値変換処理を含み、
前記固有情報は、自スレーブ出力ユニットに予め定められた数値変換処理を識別する識別情報である、
ことを特徴とする請求項５に記載のアナログ出力システム。
【請求項７】
前記演算処理は、スレーブ出力ユニット毎の補正処理を含み、
前記固有情報は、自スレーブ出力ユニットが備えるＤ／Ａ変換装置が変換すると所定のアナログ基準値が得られる、予め求められたデジタル基準値であって、
前記演算部は、前記デジタル基準値を用いて補正処理を実行する、
ことを特徴とする請求項５に記載のアナログ出力システム。
【請求項８】
前記１以上のスレーブ出力ユニットは、夫々、前記マスタユニットが前記バスを介して読み書き可能な第２のバッファメモリを備え、
前記マスタユニットは、前記ＣＰＵユニットが前記第１のバッファメモリにバッファした第２のデジタル値および前記記憶装置が記憶している固有情報の取得と前記第１のデジタル値を転送する処理とを前記第２のバッファメモリを介して実行する、
ことを特徴とする請求項５に記載のアナログ出力システム。
【請求項９】
夫々、ＣＰＵユニットが接続されるバスに接続されるとともに、アナログ値を出力する第１の外部機器に接続され、前記第１の外部機器が出力するアナログ値を第１のデジタル値に変換するＡ／Ｄ変換装置と、前記ＣＰＵユニットへ転送する第２のデジタル値をバッファする第１のバッファメモリと、自ユニットの固有情報を記憶する不揮発性の記憶装置と、を備える１以上のスレーブ入力ユニットと、
夫々、前記バスに接続されるとともに、アナログ値の入力を受け付ける第２の外部機器に接続され、第３のデジタル値を前記第２の外部機器に出力するアナログ値に変換するＤ／Ａ変換装置と、前記ＣＰＵユニットから転送されてくる第４のデジタル値をバッファする第２のバッファメモリと、自ユニットの固有情報を記憶する不揮発性の記憶装置とを備える１以上のスレーブ出力ユニットと、
前記バスに接続され、前記スレーブ入力ユニットに対しては、前記Ａ／Ｄ変換装置が出力した第１のデジタル値を入力として前記記憶装置に格納されている固有情報に基づく第１の演算処理を実行して前記第２のデジタル値を算出し、前記スレーブ出力ユニットに対しては、前記第２のバッファメモリにバッファされた第４のデジタル値を入力として前記記憶装置に格納されている固有情報に基づく第２の演算処理を実行して前記第３のデジタル値を算出する、演算部を備え、前記演算部による第１の演算処理と前記第１の演算処理により算出された第２のデジタル値を前記第１のバッファメモリに転送する処理とを前記スレーブ入力ユニットの夫々に対して実行し、前記演算部による第２の演算処理と前記第２の演算処理により算出された第３のデジタル値をスレーブ出力ユニットに転送する処理とを、スレーブ出力ユニットの夫々に対して実行する、１つのマスタユニットと、
を備えることを特徴とするアナログ入出力システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラ（ＰＬＣ）に装着されるアナログ入力システム、アナログ出力システム、およびアナログ入出力システムに関する。
【背景技術】
【０００２】
ＰＬＣには、ベースユニットに１以上の機能ユニットが接続されて構成されるものがある。機能ユニットには、ＰＬＣ全体の制御を実行するＣＰＵユニット、被制御装置との間で入出力を行うアナログ入出力ユニット、他のＰＬＣとの間の通信を行う通信装置としてのネットワークユニットなどが用意されており、ユーザは所望の機能ユニットを組み合わせてＰＬＣを構築できる。ベースユニットにはバスが内蔵されており、ベースユニットに装着されている複数の機能ユニットはバスを介してデータを相互に送受信することができる。【０００３】
アナログ入出力ユニットは、ＣＰＵユニットが読み出し／書き込みできる共用メモリを用いてＣＰＵユニットとの間のデータの受け渡しを行う。なお、アナログ入出力ユニットとは、外部機器から入力されるアナログ値をＡ／Ｄ変換して、ＣＰＵユニットに受け渡すデジタル値を生成し、生成したデジタル値を共用メモリに書き込むアナログ入力ユニットと、ＣＰＵユニットが生成し、共用メモリに書き込まれたデジタル値をＤ／Ａ変換して、外部機器に出力するアナログ値を生成するアナログ出力ユニットとを総称したものである。【０００４】
ユーザは、ベースユニットにアナログ入出力ユニットを複数装着することによって、アナログ入出力点数を増加させることができる（例えば特許文献１、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１３４８３０号公報
【特許文献２】特開２００６−１６５７３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、アナログ入出力ユニットが扱うデジタル値はアナログ入力ユニットが具備するＡ／Ｄ変換装置が出力する値またはアナログ出力ユニットが具備するＤ／Ａ変換装置に入力される値そのものではなく、アナログ入力ユニット、アナログ出力ユニットの内部の演算部によって、何らかの数値変換されたものである。【０００７】
例えば、熱電対、白金測温抵抗体などの温度値が入力されるアナログ入力ユニットは、ＪＩＳ等の規格で定められている熱起電力表や、測温抵抗体抵抗値表に基づいて、Ａ／Ｄ変換装置の出力値を温度値に数値変換する。【０００８】
また、電圧や電流が入力されるアナログ入力ユニットは、０−１０Ｖ、１−５Ｖ、４−２０ｍＡなど範囲のアナログ入力をデジタル値に変換した後、変換後のデジタル値を０−４０００などの予め定められた範囲のデジタル値へ数値変換する。【０００９】
また、アナログ入出力ユニットは、数値変換だけでなく、変換されたデジタル値を元にアナログ入出力ユニット内で平均処理をさせたり、デジタル値が設定された範囲を超えたときにアラームを出力させたりするなど、アナログ入出力ユニット内において実現しなければならない機能を有している。【００１０】
従って、複数のアナログ入出力ユニットをベースユニットに接続してアナログ入出力点数を増加させる場合、全ての接続するアナログ入出力ユニットに演算部を持たせる必要があるため、コストアップの要因となるという課題があった。【００１１】
本発明は、上記に鑑みてなされたものであって、廉価にアナログ入力点数またはアナログ出力点数を増加させることができるアナログ入力システム、アナログ出力システム、およびアナログ入出力システムを得ることを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するために、本発明は、夫々、ＣＰＵユニットが接続されるバスに接続されるとともに、アナログ値を出力する外部機器に接続され、前記外部機器が出力するアナログ値を第１のデジタル値に変換するＡ／Ｄ変換装置と、前記ＣＰＵユニットへ転送する第２のデジタル値をバッファする第１のバッファメモリと、自ユニットの固有情報を記憶する不揮発性の記憶装置と、を備える１以上のスレーブ入力ユニットと、前記バスに接続され、前記Ａ／Ｄ変換装置が出力した第１のデジタル値を入力として前記記憶装置に格納されている固有情報に基づく演算処理を実行して前記第２のデジタル値を算出する演算部を備え、前記演算部による演算処理と前記演算処理により算出された第２のデジタル値を前記第１のバッファメモリに転送する処理とを前記スレーブ入力ユニットの夫々に対して実行する、１つのマスタユニットと、を備えることを特徴とする。
【発明の効果】
【００１３】
本発明にかかるアナログ入力システムによれば、アナログ入力ユニットとして機能するアナログスレーブユニットを複数接続することができるとともにアナログスレーブユニットに演算部を持たせる必要がないので、廉価にアナログ入力点数を増加させることができるようになる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明にかかる実施の形態のアナログ入力システム、アナログ出力システム、およびアナログ入出力システムを適用したＰＬＣの構成を示す図である。
【図２】図２は、アナログスレーブユニットに具備される記憶装置のメモリ構造を説明する図である。
【図３】図３は、アナログマスタユニットに具備される記憶装置のメモリ構造を説明する図である。
【図４】図４は、接続スレーブユニットテーブルのデータ構造を説明する図である。
【図５】図５は、入力信号の扱う際のアナログ入出力システムの動作を説明する図である。
【図６】図６は、出力信号を扱う際のアナログ入出力システムの動作を説明する図である。
【図７】図７は、比較例にかかる技術を説明する図である。
【発明を実施するための形態】
【００１５】
以下に、本発明にかかるアナログ入力システム、アナログ出力システム、およびアナログ入出力システムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１６】
実施の形態．
図１は、本発明にかかる実施の形態のアナログ入力システム、アナログ出力システム、およびアナログ入出力システムを適用したＰＬＣの構成を示す図である。
【００１７】
図１に示すように、ＰＬＣ１は、アナログマスタユニット１０と、複数（ここでは２つ）のアナログスレーブユニット２０ａ、２０ｂと、ＣＰＵユニット３０と、ベースユニット４０とを備えている。なお、アナログスレーブユニット２０ａは、アナログ入力ユニットであり、アナログスレーブユニット２０ｂは、アナログ出力ユニットであるとする。即ち、アナログマスタユニット１０およびアナログスレーブユニット２０ａは、アナログ入力システムを構成する。また、アナログマスタユニット１０およびアナログスレーブユニット２０ｂは、アナログ出力システムを構成する。また、アナログマスタユニット１０、アナログスレーブユニット２０ａ、２０ｂは、アナログ入出力システムを構成する。以降、アナログスレーブユニット２０ａ、２０ｂをアナログスレーブユニット２０と総称することがある。
【００１８】
ベースユニット４０は、アナログマスタユニット１０、アナログスレーブユニット２０ａ、２０ｂ、およびＣＰＵユニット３０が装着されており、これらの装着されているユニット間を電気的に接続するバス４１を備えている。
【００１９】
アナログマスタユニット１０は、外部機器から入力されたアナログ値をデジタル値に変換するＡ／Ｄ変換装置１１と、不揮発性の記憶装置１２と、演算部１７と、主にユニット間のデータ転送のためのバッファとして用いられる共用メモリ１５と、共用メモリ１５およびバス４１を介したデータ転送を制御するバス制御部１６とを備えている。なお、アナログマスタユニット１０は、アナログ値の入力端子を複数備えるようにしてもよい。
【００２０】
また、アナログスレーブユニット２０ａは、外部機器から入力されたアナログ値をデジタル値に変換するＡ／Ｄ変換装置２１ａと、不揮発性の記憶装置２２ａと、主にユニット間のデータ転送のためのバッファとして用いられる共用メモリ２５ａと、共用メモリ２５ａおよびバス４１を介してデータ転送を実行するバス制御部２６ａと、を備えている。なお、アナログスレーブユニット２０ａは、アナログ値の入力端子を複数備えるようにしてもよい。
【００２１】
また、アナログスレーブユニット２０ｂは、ＣＰＵユニット３０が生成したデジタル値を外部機器に出力するアナログ値に変換するＤ／Ａ変換装置２１ｂと、不揮発性の記憶装置２２ｂと、主にユニット間のデータ転送のためのバッファとして用いられる共用メモリ２５ｂと、共用メモリ２５ｂおよびバス４１を介したデータ転送を制御するバス制御部２６ｂと、を備えている。なお、アナログスレーブユニット２０ｂは、アナログ値の出力端子を複数備えるようにしてもよい。
【００２２】
ここで、アナログマスタユニット１０が具備する共用メモリ１５は、バッファメモリ１３およびユニット間Ｉ／Ｆエリア１４が確保されている。バッファメモリ１３は、ＣＰＵユニット３０が読み書き可能になっており、ＣＰＵユニット３０から送信されてきたデータや、ＣＰＵユニット３０に送信するデータが格納される。ユニット間Ｉ／Ｆエリア１４は、アナログスレーブユニット２０ａ、２０ｂから送信されてきたデータや、アナログスレーブユニット２０ａ、２０ｂに送信するデータが格納される。
【００２３】
一方、アナログスレーブユニット２０ａが具備する共用メモリ２５ａにも、バッファメモリ２３ａおよびユニット間Ｉ／Ｆエリア２４ａが確保されている。バッファメモリ２３ａは、ＣＰＵユニット３０が読み書き可能になっており、ＣＰＵユニット３０から送信されてきたデータや、ＣＰＵユニット３０に送信するデータがバッファされる。ユニット間Ｉ／Ｆエリア２４ａは、アナログマスタユニット１０が読み書き可能になっており、アナログマスタユニット１０に送信するデータや、アナログマスタユニット１０から送信されてきたデータが格納される。また、ユニット間Ｉ／Ｆエリア２４ａは、外部機器から入力されるアナログ値を取り込んでデジタル値に変換する周期を記述した変換周期設定値が格納される。
【００２４】
また、アナログスレーブユニット２０ｂが具備する共用メモリ２５ｂにも、バッファメモリ２３ｂおよびユニット間Ｉ／Ｆエリア２４ｂが確保されている。バッファメモリ２３ｂは、ＣＰＵユニット３０が読み書き可能になっており、ＣＰＵユニット３０から送信されてきたデータや、ＣＰＵユニット３０に送信するデータが格納される。ユニット間Ｉ／Ｆエリア２４ｂは、アナログマスタユニット１０が読み書き可能になっており、アナログマスタユニット１０に送信するデータや、アナログマスタユニット１０から送信されてきたデータが格納される。また、ユニット間Ｉ／Ｆエリア２４ｂは、ＣＰＵユニット３０から送信されてきたデジタル値を取り込んで外部機器に出力するアナログ値に変換する周期を記述した変換周期設定値が格納される。
【００２５】
アナログマスタユニット１０が備えるバス制御部１６は、自ユニット１０が備えるユニット間Ｉ／Ｆエリア１４とアナログスレーブユニット２０ａが備えるユニット間Ｉ／Ｆエリア２４ａとの間のデータ転送と、自ユニット１０が備えるユニット間Ｉ／Ｆエリア１４とアナログスレーブユニット２０ｂが備えるユニット間Ｉ／Ｆエリア２４ｂとの間のデータ転送と、を実行する。具体的には、例えば、アナログマスタユニット１０からアナログスレーブユニット２０ａへのデータ転送を実行する際には、バス制御部２６ａは、アナログマスタユニット１０がバス使用権を有しているときに、アナログマスタユニット１０のユニット間Ｉ／Ｆエリア１４に格納されたデータを読み出して、アナログスレーブユニット２０ａのユニット間Ｉ／Ｆエリア２４ａに書き込む。また、アナログスレーブユニット２０ａからアナログマスタユニット１０へのデータ転送を実行する際には、バス制御部１６は、アナログマスタユニット１０がバス使用権を有しているときに、アナログマスタユニット２０ａのユニット間Ｉ／Ｆエリア２４ａに格納されたデータを読み出して、自ユニット１０のユニット間Ｉ／Ｆエリア１４に読み出す。
【００２６】
このように、バス制御部１６は、アナログマスタユニット１０とアナログスレーブユニット２０との間のデータ転送を実行する。なお、バス制御部１６は、演算処理（後述する数値変換処理および補正処理）前のデジタル値をアナログスレーブユニット２０からアナログマスタユニット１０に転送し、演算処理済みのデジタル値をアナログマスタユニット１０からアナログスレーブユニット２０に転送する。なお、バス制御部１６によるデータ転送にかかるデータ転送元およびデータ転送先の指定は、演算部１７によってなされるものとする。
【００２７】
また、アナログスレーブユニット２０ａにおいては、バス制御部２６ａは、記憶装置２２ａとユニット間Ｉ／Ｆエリア２４ａとの間のデータ転送を実行することができる。同様に、アナログスレーブユニット２０ｂにおいては、バス制御部２６ｂは、記憶装置２２ｂとユニット間Ｉ／Ｆエリア２４ｂとの間のデータ転送を実行することができる。バス制御部２６ａ、２６ｂによるデータ転送にかかるデータ転送元およびデータ転送先の指定は、バス制御部１６およびバス４１を介して演算部１７から指定されるようにしてよい。
【００２８】
アナログマスタユニット１０が備える演算部１７は、アナログスレーブユニット２０ａがＡ／Ｄ変換して得たデジタル値に対して演算処理を行って、ＣＰＵユニット３０に入力するデジタル値を算出することができる。また、演算部１７は、ＣＰＵユニット３０がアナログスレーブユニット２０ｂに出力したデジタル値に対して演算処理を行って、アナログスレーブユニット２０ｂがＡ／Ｄ変換すると外部機器に出力するアナログ値が得られるようなデジタル値を算出する。
【００２９】
ここで、デジタル値に対して実行される数値変換処理のアルゴリズムは、アナログ入出力ユニットの種別（ユニット種別）によって異なる。熱電対、白金測温抵抗体などの温度値が入力される種別のアナログ入出力ユニットは、ＪＩＳ等の規格で定められている熱起電力表や、測温抵抗体抵抗値表に基づいて、Ａ／Ｄ変換後のデジタル値を温度値に変換する。また、電圧や電流が入力される種別のアナログ入出力ユニットは、０−１０Ｖ、１−５Ｖ、４−２０ｍＡなどのアナログ入力を０−４０００などの予め定められた範囲のデジタル値へ変換する。なお、数値変換処理の概念は、平均処理や、デジタル値が予め設定された範囲を超えたときにアラームを出力する処理を含む。
【００３０】
また、一般に、変換装置（Ａ／Ｄ変換装置、Ｄ／Ａ変換装置）は、内部で基準電圧（例えばＧＮＤ電圧および測定上限電圧）を生成して、生成した基準電圧のアナログ信号と入出力するアナログ値の比較の元に変換を行うようになっている。通常は、生成した基準電圧が誤差を含んでいたり、変換装置を構成する回路に誤差を含んでいたりするため、基準電圧をそのまま用いて変換を行うと、意図した変換値が得られないことがある。
【００３１】
そこで、本発明の実施の形態においては、ユニット種別や誤差を補正するときに基準となる値など、個々のユニットに固有の情報をアナログスレーブユニット２０の夫々に保持させておき、アナログマスタユニット１０においては、演算部１７は、夫々に保持されている固有情報に基づいて数値変換処理と補正処理とを実行するようにした。
【００３２】
図２は、アナログスレーブユニット２０ａに具備される記憶装置２２ａのメモリ構造を説明する図である。図示するように、記憶装置２２ａには、ユニット種別を記述したユニット種別情報２２１と、第１デジタル基準値２２２と、第２デジタル基準値２２３と、が予め格納されている。なお、ユニット種別情報２２１は、検索キーとして用いて後述の数値変換処理テーブル１２１を検索することによってアナログスレーブユニット２０に固有の数値変換処理を選択することができるものであればどのような情報であってよく、例えばユニット種別情報２２１として型番を採用することができる。
【００３３】
第１デジタル基準値２２２、第２デジタル基準値２２３は、校正器が生成したＧＮＤ電圧、測定上限電圧のアナログ信号の夫々をＡ／Ｄ変換装置２１ａが変換して得られたデジタル値とする。演算部１７は、アナログスレーブユニット２０ａに設定されたユニット種別情報２２１を参照してアナログスレーブユニット２０用の数値変換処理を選択し、当該選択した数値変換処理を実行してデジタル値を算出する。そして、数値変換処理後のデジタル値に対して、デジタル基準値２２２、２２３を用いて補正処理する。
【００３４】
記憶装置２２ｂのメモリ構造は、記憶装置２２ａと同様である。但し、第１デジタル基準値２２２、第２デジタル基準値２２３は、Ｄ／Ａ変換装置２１ｂが変換するとＧＮＤ電圧を示すアナログ値および測定上限電圧を示すアナログ値が夫々得られるデジタル値とする。
【００３５】
なお、基準電圧は、ＧＮＤ電圧および測定上限電圧だけに限定されない。補正処理のアルゴリズムを変更することによって、所望の電圧を基準電圧とすることができる。
【００３６】
図３は、記憶装置１２のメモリ構造を説明する図である。記憶装置１２には、複数の数値変換処理をユニット種別毎に記述した数値変換処理テーブル１２１が予め格納されている。数値変換処理テーブル１２１は、ユニット種別情報２２１を検索キーとして検索することによって、対応する数値変換処理を取得することができるようになっている。
【００３７】
また、アナログマスタユニット１０は、同一のバス４１に接続されているアナログスレーブユニット２０ａ、２０ｂの固有情報（ユニット種別、第１デジタル基準値、第２デジタル基準値）を管理する接続スレーブユニットテーブル１２２を保持する。図４は、接続スレーブユニットテーブル１２２のデータ構造を説明する図である。図示するように、接続スレーブユニットテーブル１２２は、アナログスレーブユニット２０毎に、識別ＩＤ、ユニット種別、第１デジタル基準値、および第２デジタル基準値を備えるエントリが登録されて構成されている。識別ＩＤは、バス４１のどの接続スロットに接続されているかを示す識別番号である。
【００３８】
接続スレーブユニットテーブル１２２を構成する個々のエントリは、例えば、起動時などに演算部１７によって登録される。具体的には、演算部１７は、バス制御部１６を制御して記憶装置２２ａ、２２ｂから夫々の固有情報をアナログマスタユニット１０のユニット間Ｉ／Ｆエリア１４に逐次読み出して、読み出した固有情報を接続スレーブユニットテーブル１２２に逐次登録する。なお、起動時に、バス制御部１６が自律的に固有情報を夫々のアナログスレーブユニット２０から読み出して、読み出した夫々の固有情報を接続スレーブユニットテーブル１２２に登録するようにしてもよい。
【００３９】
なお、ここでは、一例として、接続スレーブユニットテーブル１２２はユニット間Ｉ／Ｆエリア１４に保持されるものとして説明するが、接続スレーブユニットテーブル１２２はアナログマスタユニット１０内であればいかなる記憶領域に保持されるようにしてもよい。
【００４０】
ＣＰＵユニット３０は、アナログマスタユニット１０のバッファメモリ１３やアナログスレーブユニット２０ａのバッファメモリ２３ａに格納されているデジタル値を読み出したり、アナログスレーブユニット２０ｂのバッファメモリ２３ｂにデジタル値を書き込んだりするバス制御部３２と、バス制御部３２が読み出したデジタル値を入力として、ユーザプログラムに基づく演算を行って、アナログスレーブユニット２０ｂに書き込ませるデジタル値を算出する演算部３１と、を備えている。演算部３１は、具体的には、予め内蔵するユーザプログラムを一回実行（スキャン）する毎にデジタル値の入出力を行う。したがって、バッファメモリ１３、２３ａ上のデジタル値の読み出し、およびバッファメモリ２３ｂ上のデジタル値の更新は、ユーザプログラムのスキャン周期毎に実行される。
【００４１】
なお、変換周期設定値は、ユーザプログラムのスキャン周期と同じであってもよいし、異なる値であってもよい。
【００４２】
次に、図５および図６を参照して、本発明のアナログ入出力システムの動作を説明する。図５は、入力信号の扱う際のアナログ入出力システムの動作を説明する図であり、図６は、出力信号を扱う際のアナログ入出力システムの動作を説明する図である。
【００４３】
図示するように、ＰＬＣ１の起動時には、まず、演算部１７は、バス制御部１６を制御して、アナログスレーブユニット２０ａの記憶装置２２ａに格納されている固有情報を読み出して、読み出した固有情報をユニット間Ｉ／Ｆエリア１４に置かれている接続スレーブユニットテーブル１２２に登録する（ステップＳ１）。また、演算部１７は、バス制御部１６を制御して、アナログスレーブユニット２０ａのユニット間Ｉ／Ｆエリア２４ａに変換周期設定値を格納する（ステップＳ２）。
【００４４】
なお、ステップＳ１、ステップＳ２の動作は、アナログスレーブユニット２０ｂに対しても実行される。
【００４５】
アナログスレーブユニット２０ａでは、Ａ／Ｄ変換装置２１ａは、Ａ／Ｄ変換を行い、Ａ／Ｄ変換後のデータ（デジタル値）をユニット間Ｉ／Ｆエリア２４ａに格納する（ステップＳ３）。なお、ステップＳ３の動作は、ユニット間Ｉ／Ｆエリア２４ａに格納された変換周期設定値に記述されている変換周期で実行され、ユニット間Ｉ／Ｆエリア２４ａに置かれたＡ／Ｄ変換後のデータは、Ａ／Ｄ変換が実行される毎に更新される。
【００４６】
アナログマスタユニット１０では、演算部１７は、バス制御部１６を制御して、アナログスレーブユニット２０ａのユニット間Ｉ／Ｆエリア２４ａに格納されているＡ／Ｄ変換後のデータをアナログマスタユニット１０のユニット間Ｉ／Ｆエリア１４に読み出す（ステップＳ４）。
【００４７】
そして、演算部１７は、接続スレーブユニットテーブル１２２に登録されているアナログスレーブユニット２０ａのユニット種別情報２２１を検索キーとして記憶装置１２に格納されている数値変換処理テーブル１２１を検索して、検索により取得した数値制御処理と、接続スレーブユニットテーブル１２２に登録されているアナログスレーブユニット２０ａの第１デジタル基準値２２２および第２デジタル基準値２２３を用いた補正処理とを、ユニット間Ｉ／Ｆエリア１４に読み出したＡ／Ｄ変換後のデータに対して実行する（ステップＳ５）。そして、演算部１７は、バス制御部１６を制御して、数値変換処理および補正処理を実行して得たデータ（デジタル値）をアナログスレーブユニット２０ａのユニット間Ｉ／Ｆエリア２４ａに格納する（ステップＳ６）。
【００４８】
アナログスレーブユニット２０ａにおいては、バス制御部２６ａは、ステップＳ６の処理によりユニット間Ｉ／Ｆエリア２４ａに格納された数値変換処理および補正処理が実行されたデータをバッファメモリ１３ａに転送する（ステップＳ７）。
【００４９】
ＣＰＵユニット３０においては、バス制御部３２は、アナログスレーブユニット２０ａのバッファメモリ２３ａに格納されている数値変換処理および補正処理が実行されたデータを読み出す（ステップＳ８）。
【００５０】
バス制御部３２が読み出したデータは、演算部３１に送られ、ユーザプログラムの演算に使用される。
【００５１】
続いて、バス制御部３２は、演算部３１がユーザプログラムの演算により算出したデジタル値のデータを、アナログスレーブユニット２０ｂのバッファメモリ２３ｂに格納する（ステップＳ９）。
【００５２】
アナログスレーブユニット２０ｂでは、バス制御部２６ｂは、ステップＳ８の処理によりバッファメモリ２３ｂに格納されたデータをユニット間Ｉ／Ｆエリア２４ｂに転送する（ステップＳ１０）。
【００５３】
アナログマスタユニット１０においては、演算部１７は、バス制御部１６を制御して、ステップＳ９の処理によりユニット間Ｉ／Ｆエリア２４ｂに格納されたデータをアナログマスタユニット１０のユニット間Ｉ／Ｆエリア１４に読み出す（ステップＳ１１）。
【００５４】
そして、演算部１７は、接続スレーブユニットテーブル１２２に登録されているアナログスレーブユニット２０ｂの第１デジタル基準値２２２および第２デジタル基準値２２３を用いた補正処理と、接続スレーブユニットテーブル１２２に登録されているアナログスレーブユニット２０ｂのユニット種別情報２２１を検索キーとして数値変換処理テーブル１２１を検索して、検索により取得した数値制御処理とを、ステップＳ１０の処理によりユニット間Ｉ／Ｆエリア１４に読み出したデータに対して実行する（ステップＳ１２）。そして、演算部１７は、バス制御部１６を制御して、補正処理および数値変換処理を実行して得たデータ（デジタル値）をアナログスレーブユニット２０ｂのユニット間Ｉ／Ｆエリア２４ｂに格納する（ステップＳ１３）。
【００５５】
アナログスレーブユニット２０ｂにおいては、Ｄ／Ａ変換装置２１ｂは、ステップＳ１３の処理によりユニット間Ｉ／Ｆエリア２４ｂに格納されたデータを読み出して、読み出したデータをＤ／Ａ変換し、得られたアナログ値を外部機器に出力する（ステップＳ１４）。
【００５６】
なお、ステップＳ４〜ステップＳ７の動作は、例えばユニット間Ｉ／Ｆエリア２４ａに格納された変換周期設定値に記述されている変換周期と同じ周期で繰り返し実行される。また、ステップＳ８〜ステップＳ９の動作は、ユーザプログラムのスキャン周期で繰り返し実行される。また、ステップＳ１０〜ステップＳ１３の動作は、例えばユニット間Ｉ／Ｆエリア２４ｂに格納された変換周期設定値に記述されている変換周期と同じ周期で繰り返し実行される。また、ステップＳ１４の動作は、ユニット間Ｉ／Ｆエリア２４ｂに格納された変換周期設定値に記述されている変換周期で繰り返し実行される。
【００５７】
なお、本発明の実施の形態においては、アナログ入力システムは、アナログ入力ユニットとして機能するアナログスレーブユニット２０ａを１つ備えるとして説明したが、アナログ入力システムがアナログ入力ユニットとして機能するアナログスレーブユニットを複数備える場合においても、アナログマスタユニット１０は、上記実施の形態で説明した構成により、夫々のアナログスレーブユニットに対してデジタル値に対する演算処理を実行できることはいうまでもない。同様に、アナログ出力システムがアナログ出力ユニットとして機能するアナログスレーブユニットを複数備える場合においても、アナログマスタユニット１０は、夫々のアナログスレーブユニットに対してデジタル値に対する演算処理を実行できる。同様に、アナログ入出力システムが、アナログ入力ユニットとして機能するアナログスレーブユニットまたはアナログ出力ユニットとして機能するアナログスレーブユニットを複数備える場合においても、アナログマスタユニット１０は、夫々のアナログスレーブユニットに対してデジタル値に対する演算処理を実行できる。
【００５８】
次に、本発明の実施の形態と比較される技術（以降、比較例にかかる技術）について説明する。図７は、比較例にかかる技術を説明する図である。なお、以降、本発明の実施の形態と同一の構成要素には同一の符号を付して、重複する説明を省略するものとする。
【００５９】
図７に示すように、比較例にかかる技術によれば、ＰＬＣ２は、ＣＰＵユニット３０と、ベースユニット４０と、アナログマスタユニット６０、アナログマルチプレクスユニット７０ａ、およびアナログマルチプレクスユニット７０ｂからなるアナログ入出力システムとを備えている。ベースユニット４０は、バス４１を備えており、バス４１は、ＣＰＵユニット３０とアナログマスタユニット６０とを電気的に接続している。ＣＰＵユニット３０は、演算部３１およびバス制御部３２を備えている。
【００６０】
アナログマスタユニット６０は、アナログ値をデジタル値に変換するＡ／Ｄ変換装置６１と、タイミング生成部６２を備える演算部６３と、バス制御部６４とを備えている。また、アナログマルチプレクスユニット７０ａは、アナログマルチプレクサチャンネル切替７１ａと、アナログ信号変換回路７２ａとを備えている。同様に、アナログマルチプレクスユニット７０ｂは、アナログマルチプレクサチャンネル切替７１ｂとアナログ信号変換回路７２ｂとを備えている。
【００６１】
アナログマルチプレクスユニット７０ａ、７０ｂは、夫々複数のチャンネルの入力端子を備えている。夫々の入力端子には、仕様により定められた範囲のアナログ値が入力される。アナログマスタユニット６０では、タイミング生成部６２は、アナログマルチプレクスユニット７０ａ、７０ｂが備える全ての入力端子のうちから一つを選択する選択信号を切り替えるタイミングを生成する。演算部６３は、選択信号によって全ての入力端子が均等に選択されるように、タイミング生成部６２が生成したタイミングで切り替える。アナログマルチプレクスユニット７０ａにおいては、アナログマルチプレクサチャンネル切替７１ａは、選択信号が指定する入力端子からアナログ値を取り込んで、取り込んだアナログ値をアナログ信号変換回路７２ａに入力する。アナログ信号変換回路７２ａは、入力されたアナログ値をアナログマスタユニット６０がＡ／Ｄ変換可能な範囲のアナログ値に変換し、変換後のアナログ値をアナログマスタユニット６０のＡ／Ｄ変換装置６１に入力する。
【００６２】
同様に、アナログマルチプレクスユニット７０ｂにおいては、アナログマルチプレクサチャンネル切替７１ｂは、選択信号が指定する入力端子からアナログ値を取り込んで、取り込んだアナログ値をアナログ信号変換回路７２ｂに入力する。アナログ信号変換回路７２ｂは、入力されたアナログ値をアナログマスタユニット６０がＡ／Ｄ変換可能な範囲のアナログ値に変換し、変換後のアナログ値をアナログマスタユニット６０のＡ／Ｄ変換装置６１に入力する。
【００６３】
Ａ／Ｄ変換装置６１は、入力されたアナログ値をデジタル値に変換し、変換後のデジタル値を演算部６３に入力する。演算部６３は、入力されたデジタル値に対して数値変換処理を実行して、数値変換処理後のデジタル値をバス制御部６４に入力する。ＣＰＵユニット３０のバス制御部３２は、バス制御部６４に入力されたデジタル値を読み出す。
【００６４】
ここで、比較例にかかる技術によれば、外部機器から入力されるアナログ値の取り込み周期は、入力点数の増加に応じて取り込み周期が長くなってしまうという問題がある。また、アナログマルチプレクスユニット７０ａ、７０ｂは、アナログマスタユニット６０へアナログ値を入力するため、アナログ値の信号の立ち上り／立ち下がりに時間を要し、選択信号の切替間隔が長くなってしまい、結果として、アナログ値の取り込み周期がさらに長くなってしまうという問題がある。これに対して、本発明の実施の形態によれば、ユニット間はデジタル値のデータが転送されるので、信号の立ち上がり／立ち下がりにかかる時間が比較例にかかる技術に比して短い。また、アナログスレーブユニット２０毎に設定された変換周期でアナログ値の取り込みやアナログ値の出力を実行することができるので、アナログ値の取り込み周期やアナログ値の出力周期はアナログ入出力点数に依存することがない。
【００６５】
また、比較例にかかる技術によれば、アナログマルチプレクスユニット７０ａ、７０ｂは、アナログ回路で構成されており、アナログマスタユニット６０との間でアナログ信号が送受信される。一般に、アナログ回路では、抵抗や、オペアンプ等の部品のばらつきが、Ａ／Ｄ変換値、Ｄ／Ａ変換値に影響するため、これらによる誤差を補正する必要がある。そのため、アナログマルチプレクスユニット７０ａ、７０ｂでは、アナログマスタユニット６０に送信するアナログ値に含まれる誤差を修正する必要がある。従って、比較例にかかる技術によれば、ユーザは、ＰＬＣ２を構築する際に、入力端子毎の誤差を補正する必要があり、ユーザの負担が大きいという問題がある。なお、アナログ値の誤差の補正方法としては、入出力するアナログ値の大きさを可変抵抗を用いて調整する方法が一般的である。これに対して、本発明の実施の形態によれば、個々のアナログスレーブユニット２０に補正用のデジタル値の基準値を設定しておき、デジタル値に対して補正を行うようにしているので、ユーザは、誤差を補正するための調整を行う必要がない。
【００６６】
また、比較例にかかる技術によれば、アナログマルチプレクスユニット７０ａ、７０ｂは、アナログ値を出力するようになっているため、ユニットの固有情報を通知する手段を有さない。したがって、ユーザは、アナログマルチプレクスユニット７０ａ、７０ｂのユニット種別毎に、対応するアナログマスタユニット６０を用意する必要があるという問題がある。これに対して、本発明の実施の形態によれば、アナログマスタユニット１０とアナログスレーブユニット２０との間でデジタル値を送受信するようにし、アナログスレーブユニット２０からアナログマスタユニット１０に固有情報としてユニット種別情報２２１を転送することができ、アナログマスタユニット１０は、受信したユニット種別情報２２１に基づいて複数の数値変換処理のうちから対象のユニット種別の数値変換処理を選択することができるので、複数のユニット種別のアナログスレーブユニット２０に対してアナログマスタユニット１０を１つ用意するだけでよい。
【００６７】
また、比較例にかかる技術によれば、アナログマルチプレクスユニット７０ａ、７０ｂに入力されたアナログ値の夫々に対応するデジタル値は、バス制御部６４が備える共用メモリの予め入力端子毎に割り当てられたアドレスに夫々格納される。したがって、ユーザは、アナログマスタユニット６０の共用メモリのどこにマルチプレクスユニット７０ａ、７０ｂが割り付けられているかを確認してユーザプログラムを作成する必要があるという問題がある。これに対して、本発明の実施の形態によれば、アナログスレーブユニット２０は、夫々、ＣＰＵユニット３０から読み書き可能なバッファメモリ（バッファメモリ２３ａ、バッファメモリ２３ｂ）を備え、ＣＰＵユニット３０との間のデータの受け渡しを、夫々、当該バッファメモリを用いて実行するようにしているので、アナログマスタユニット１０が備えるバッファメモリ１３にアナログスレーブユニット２０毎の領域を割り当てる必要がなくなる。
【００６８】
以上説明したように、本発明の実施の形態によれば、アナログスレーブユニット２０aは、外部機器から入力されたアナログ値をＡ／Ｄ変換するＡ／Ｄ変換装置２１ａと、自ユニット２０ａの固有情報（ユニット種別情報２２１、第１デジタル基準値２２２、第２デジタル基準値２２３）を予め記憶する不揮発性の記憶装置２２ａと、ＣＰＵユニット３０との間でデータ転送を行うためのバッファメモリ２３ａとを備え、アナログマスタユニット１０は、Ａ／Ｄ変換装置２１ａが出力したデジタル値を入力として固有情報に基づく演算処理（数値変換処理および補正処理）を実行する演算部１７を備え、演算処理後のデジタル値をバッファメモリ２３ａに転送する、ように構成したので、アナログ入力ユニットとして機能するアナログスレーブユニットを複数接続することができるとともにアナログスレーブユニットに演算部を持たせる必要がないので、廉価にアナログ入力点数を増加させることができるようになる。
【００６９】
また、アナログスレーブユニット２０ｂは、外部機器に出力するアナログ値をＤ／Ａ変換により求めるＤ／Ａ変換装置２１ｂと、自ユニット２０ｂの固有情報（ユニット種別情報２２１、第１デジタル基準値２２２、第２デジタル基準値２２３）を予め記憶する不揮発性の記憶装置２２ｂと、ＣＰＵユニット３０との間でデータ転送を行うためのバッファメモリ２３ｂとを備え、アナログマスタユニット１０は、ＣＰＵユニット３０からバッファメモリ２３ｂに書き込まれたデジタル値を入力として固有情報に基づく演算処理（数値変換処理および補正処理）を実行して、Ｄ／Ａ変換装置２１ｂに入力するデジタル値を算出する演算部１７を備え、演算処理後のデジタル値をアナログスレーブユニット２０ｂに転送する、ように構成したので、アナログ出力ユニットとして機能するアナログスレーブユニットを複数接続することができるとともにアナログスレーブユニットに演算部を持たせる必要がないので、廉価にアナログ出力点数を増加させることができるようになる。
【００７０】
また、演算部１７は、アナログスレーブユニット２０ａに対しては、Ａ／Ｄ変換装置２１ａが出力したデジタル値を入力としてアナログスレーブユニット２０ａの固有情報に基づく演算処理を実行し、アナログスレーブユニット２０ｂに対しては、ＣＰＵユニット３０からバッファメモリ２３ｂに書き込まれたデジタル値を入力としてアナログスレーブユニット２０ｂの固有情報に基づく演算処理を実行するので、アナログ入力ユニットとして機能するアナログスレーブユニットまたはアナログ出力ユニットとして機能するアナログスレーブユニットを複数接続することができるとともにアナログスレーブユニットに演算部を持たせる必要がないので、廉価にアナログ入出力点数を増加させることができるようになる。
【産業上の利用可能性】
【００７１】
以上のように、本発明にかかるアナログ入力システム、アナログ出力システム、およびアナログ入出力システムは、ＰＬＣに装着されるアナログ入力システム、アナログ出力システム、およびアナログ入出力システムに適用して好適である。
【符号の説明】
【００７２】
１、２  ＰＬＣ
１０、６０  アナログマスタユニット
１１、２１ａ、６１  Ａ／Ｄ変換装置
１２、２２ａ、２２ｂ  記憶装置
１３、２３ａ、２３ｂ  バッファメモリ
１４、２４ａ、２４ｂ  ユニット間Ｉ／Ｆエリア
１５、２５ａ、２５ｂ  共用メモリ
１６、２６ａ、２６ｂ、３２、６４  バス制御部
１７、３１、６３  演算部
２０ａ、２０ｂ  アナログスレーブユニット
２１ｂ  Ｄ／Ａ変換装置
３０  ＣＰＵユニット
４０  ベースユニット
４１  バス
６２  タイミング生成部
７０ａ、７０ｂ  アナログマルチプレクスユニット
７１ａ、７１ｂ  アナログマルチプレクサチャンネル切替
７２ａ、７２ｂ  アナログ信号変換回路
１２１  数値変換処理テーブル
１２２  接続スレーブユニットテーブル
２２１  ユニット種別情報
２２２  第１デジタル基準値
２２３  第２デジタル基準値
【図１】
2013018190.tif 000003
【図２】
2013018190.tif 000004
【図３】
2013018190.tif 000005
【図４】
2013018190.tif 000006
【図５】
2013018190.tif 000007
【図６】
2013018190.tif 000008
【図７】
2013018190.tif 000009
【国際調査報告】
2013018190.tif 000010
2013018190.tif 000011