(57)【要約】【課題】外部デバイスとの間でデータ送受に用いるＭＯＤＢＵＳプロトコルで扱われるＭＯＤＢＵＳアドレスを任意にプログラマブルコントローラ側で割り付けることができるようにする。【解決手段】本ＰＬＣ１は、データのＭＯＤＢＵＳアドレスとそのデータを格納するメモリエリアのアドレスとを関連付けしたアドレス関連付けテーブル２３を備える。ＰＬＣ１は、ＭＯＤＢＵＳアドレスを持つデータを受信する時はそのデータをアドレス関連付けテーブルで割り付けたアドレスを持つメモリエリアに格納する。メモリエリアに格納しているデータを送信する時はメモリエリアのアドレスをアドレス関連付けテーブルを参照してＭＯＤＢＵＳアドレスに変換して送信する。【選択図】図２
2009104283.tif 000002
【特許請求の範囲】
【請求項１】
ＭＯＤＢＵＳでデータを送受処理する方式であって、当該方式は、上記データが持つＭＯＤＢＵＳアドレスと内部メモリアドレスとを関連付けしたアドレス関連付けテーブルを持ち、データ受信時はアドレス関連付けテーブルを参照してデータのＭＯＤＢＵＳアドレスをそれに対応する内部メモリアドレスのメモリエリアに格納処理し、上記メモリエリア内のデータ送信時はアドレス関連付けテーブルを参照してメモリエリアの内部メモリアドレスをＭＯＤＢＵＳアドレスに変換したうえでそのデータをそのＭＯＤＢＵＳアドレスのデータとして送信処理する、ＭＯＤＢＵＳデータ処理方式。
【請求項２】
請求項１に記載の方式を備えた、プログラマブルコントローラ等の制御機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばプログラマブルコントローラ（以下、ＰＬＣと称する）が、外部デバイスとの間で、ＭＯＤＢＵＳでデータを送受信処理する方式に関するものである。
【背景技術】
【０００２】
ＰＬＣと外部デバイスとで制御システムを構築した場合、ＰＬＣは、ＣＰＵと、システム制御プログラム（ファームウエア）や、ラダープログラム等のプログラムメモリや、入出力メモリ、内部リレーメモリ、データメモリ、等の内部メモリが、内部バスで相互接続され、ＣＰＵは、ラダープログラムをシステム制御プログラムに従い実行することで、外部デバイスである入出力機器を介して、被制御機器を制御する。この制御に際して、ＣＰＵは、内部メモリに格納されている各種データを参照しながらラダープログラムを実行する。このようなＰＬＣでは、外部デバイスと通信線で接続して通信する場合、外部デバイスの通信仕様に合う通信プロトコルが必要である。このための通信プロトコルを内部で作成するようにしたＰＬＣも提供されている（特許文献１参照）。
【０００３】
ところで、通信プロトコルの１つにＭＯＤＢＵＳが知られている。このＭＯＤＢＵＳは、Ｍｏｄｉｃｏｎ．ＩｎｃがＰＬＣ用に開発した通信プロトコルである。ＭＯＤＢＵＳの通信方式は、シングルマスタ−／マルチスレーブ方式であり、マスターのみが要求を発行することができ、スレーブはその要求に応答して応答メッセージを返送する。マスターからの要求は、デバイスアドレス、ファンクションコード、要求データ、エラーチェックであり、スレーブからの応答は、確認用デバイスアドレス、確認用ファンクションコード、応答データ、エラーチェックである。このＭＯＤＢＵＳ通信で、データの参照、変更を行う場合、データアドレスを用いる。このデータのタイプには、詳細な説明は略するが、コイル（Ｃｏｉｌ）タイプと、入力ステータス（Ｉｎｐｕｔ  Ｓｔａｔｕｓ）タイプと、入力レジスタ（Ｉｎｐｕｔ  Ｒｅｇｉｓｔｅｒ）タイプと、保持レジスタ（Ｈｏｌｄｉｎｇ  Ｒｅｇｉｓｔｅｒ）タイプの４種類がある。そしてＰＬＣではこのＭＯＤＢＵＳ通信をするための専用の通信ポートを備えたものが提供されている。
【０００４】
このようなＭＯＤＢＵＳで、従来、外部デバイスからのデータのＭＯＤＢＵＳアドレスは内部メモリ内のアドレスに固定的に割り付けられている。そのため、ＰＬＣでは外部デバイスとの間でデータ授受のためラダープログラムを作成する場合、そのＭＯＤＢＵＳアドレスを考慮して内部メモリ内のアドレスを割り付けてプログラムを作成する必要があり、そのプログラム作成の自在性に欠けていた。
【特許文献１】特開２００２−１８９５０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、外部的には外部デバイスとＭＯＤＢＵＳ通信することができる一方で、内部的にはＭＯＤＢＵＳデータを意識する必要なく自在にプログラミングすることができるようにしたものである。
【課題を解決するための手段】
【０００６】
本発明によるＭＯＤＢＵＳでデータを送受信処理する方式は、上記データが持つＭＯＤＢＵＳアドレスと内部メモリアドレスとを関連付けしたアドレス関連付けテーブルを持ち、データ受信時はアドレス関連付けテーブルを参照してデータのＭＯＤＢＵＳアドレスをそれに対応する内部メモリアドレスのメモリエリアに格納処理し、上記メモリエリア内のデータ送信時はアドレス関連付けテーブルを参照してメモリエリアの内部メモリアドレスをＭＯＤＢＵＳアドレスに変換したうえでそのデータをそのＭＯＤＢＵＳアドレスのデータとして送信処理することを特徴とするものである。
【０００７】
本発明では、例えば外部デバイスとＰＬＣとの間でＭＯＤＢＵＳ通信する場合、ＰＬＣ側では、外部との間ではＭＯＤＢＵＳアドレスを用いたデータ通信を行う一方、データ受信に際しては、内部的にはＭＯＤＢＵＳアドレスが内部で任意に定めたメモリアドレスに変換されてそのメモリアドレス対応のメモリエリアにデータが格納され、また、データ送信に際しては、送信するデータをその格納したメモリエリアから内部メモリアドレスで読み出し、外部へはアドレス関連付けテーブルでメモリアドレスがＭＯＤＢＵＳアドレスに変換されて送信されるので、内部的には外部との通信のためのプログラム作成の自在性が大きく向上する。
【発明の効果】
【０００８】
本発明によれば、ＰＬＣ等の制御機器側では、ＰＬＣ等の機器動作制御のためのプログラムを外部デバイスとのデータ送受のためのＭＯＤＢＵＳアドレスを意識せずに作成し、そのプログラム作成後に、ＭＯＤＢＵＳアドレスと内部メモリアドレスとの関連付けを行うことができるので、当該機器動作制御プログラムの作成上の自在性を大きく向上することができるようになる。
【発明を実施するための最良の形態】
【０００９】
以下、添付した図面を参照して、本発明の実施の形態に係るＭＯＤＢＵＳでデータを送受処理する方式を説明する。
【００１０】
図１はＰＬＣ１の内部ブロック構成を示す。
【００１１】
図１を参照して、ＰＬＣ１は、ラダープログラムを実行するＣＰＵ３、システム制御プログラム（ファームウエア）を格納するＲＯＭ等からなるシステム制御メモリ５、ラダープログラムやアプリケーションプログラム等を格納するＲＡＭ等からなるプログラムメモリ７、制御に使用する変数等のデータを記憶する内部メモリ９、入出力インターフェース１１、通信インターフェース１３を有し、これらは内部バス１５で相互に接続されている。
【００１２】
入出力インターフェース１１にはセンサやアクチュエータ等の各種入出力機器、機械や装置等の各種の被制御機器等の外部デバイス１７が接続される。通信インターフェース１３には、ＭＯＤＢＵＳで通信する外部デバイス１９が接続される。
【００１３】
ＰＬＣ１の内部メモリ９は、各種ＲＡＭから、例えば、入出力メモリ、内部リレーメモリ、データメモリ等を構成している。
【００１４】
図２は、外部デバイス１７，１９との間でＭＯＤＢＵＳプロトコルでデータの送受を行う場合において、そのデータを内部メモリ９に格納したり読み出したりするためのＰＬＣ１の内部機能ブロック構成を示す。
【００１５】
この内部機能ブロックを構成するソフトウエア（アプリケーションプログラム）は、プログラムメモリ７にインストールされている。
【００１６】
プログラムメモリ７にインストールされているソフトウエアは、外部デバイス１７，１９との間でＭＯＤＢＵＳデータを送受するためのデータ送受ソフトウエア、ＭＯＤＢＵＳアドレスと内部メモリ９内のメモリアドレスとを関連付けするアドレス関連付けソフトウエア、内部メモリ９のメモリエリアにデータを格納したり該メモリエリアからデータを読み出したりするためのデータ格納読み出しソフトウエア等である。
【００１７】
図２に示す機能ブロックにおいて、２１は、外部デバイス１７，１９からＭＯＤＢＵＳで送信されてくるデータを受信するデータ受信ブロックである（データ送受ソフトウエアに対応する）。
【００１８】
２３は、データ受信ブロック２１で受信したデータのＭＯＤＢＵＳアドレスとそのデータを格納する内部メモリ９内のメモリアドレスとを関連付けしたアドレス関連付けテーブルである（アドレス関連付けソフトウエアに対応する）。
【００１９】
２５は、データ受信ブロック２１で受信したデータのＭＯＤＢＵＳアドレスをアドレス関連付けテーブル２３を参照して内部メモリ９内のメモリアドレスに変換すると共に、その変換したメモリアドレスに対応するメモリエリアにデータを格納する受信側アドレス変換ブロックである（データ格納読み出しソフトウエアに対応する）。
【００２０】
２７は、内部メモリ９の各メモリエリアからデータを読み出すと共に、読み出したデータのメモリアドレスをアドレス関連付けテーブル２３を参照してＭＯＤＢＵＳアドレスに変換する送信側アドレス変換ブロックである（データ格納読み出しソフトウエアに対応する）。
【００２１】
２９は、送信側アドレス変換ブロック２７で読み出されＭＯＤＢＵＳアドレスにアドレス変換されたデータをＭＯＤＢＵＳデータとして送信するデータ送信ブロックである（データ送受ソフトウエアに対応する）。
【００２２】
そして、ＣＰＵ３は、上記プログラムメモリ７にダウンロードされたソフトウエアに従い、データ受信ブロック２１、受信側アドレス変換ブロック２５、送信側アドレス変換ブロック２７、データ送信ブロック２９の実行機能を有して、ＭＯＤＢＵＳデータの送受処理を実行する。
【００２３】
図３は、アドレス関連付けテーブル２３の一例を示す。このアドレス関連付けテーブル２３は説明の理解の一例にすぎず、ＭＯＤＢＵＳアドレスと内部メモリアドレスとの関連付けはユーザが任意に決定することができることは勿論である。
【００２４】
アドレス関連付け情報１は、ＭＯＤＢＵＳアドレス０００１と、内部メモリアドレスＳ１６−００４と、割付サイズ１とを関連付けする情報である。
【００２５】
アドレス関連付け情報２は、ＭＯＤＢＵＳアドレス０００２と、内部メモリアドレスＳ１６−０１０と、割付サイズ２とを関連付けする情報である。
【００２６】
アドレス関連付け情報３は、ＭＯＤＢＵＳアドレス０００３と、内部メモリアドレスＳ１６−０１３と、割付サイズ３とを関連付けする情報である。
【００２７】
アドレス関連付け情報４は、ＭＯＤＢＵＳアドレス０００４と、内部メモリアドレスＳ１６−００７と、割付サイズ４とを関連付けする情報である。
【００２８】
アドレス関連付け情報５は、ＭＯＤＢＵＳアドレス０００５と、内部メモリアドレスＳ１６−００１と、割付サイズ５とを関連付けする情報である。
【００２９】
本例では、割付サイズ１〜５の割付サイズ値は、いずれも１となる。図４を参照して、ＭＯＤＢＵＳアドレス０００１を持つデータ１がデータ受信ブロック２１で受信されると、そのデータ１は受信側アドレス変換ブロック２５に送られる。
【００３０】
受信側アドレス変換ブロック２５においては、アドレス関連付けテーブル２３のアドレス関連付け情報１を参照して、ＭＯＤＢＵＳアドレス０００１は内部メモリアドレスＳ１６−００４に割付サイズ１で関連付けして割付られていると判断し、内部メモリ９のアドレスＳ１６−００４にデータ１を格納する。
【００３１】
同様に、ＭＯＤＢＵＳアドレス０００２を持つデータ２がデータ受信ブロック２１で受信されると、受信側アドレス変換ブロック２５は、アドレス関連付けテーブル２３のアドレス関連付け情報２から、ＭＯＤＢＵＳアドレス０００２は内部メモリアドレスＳ１６−０１０に割付サイズ２で割付られていると判断し、内部メモリ９のアドレスＳ１６−０１０にデータ２を格納する。…（中略）…、ＭＯＤＢＵＳアドレス０００５を持つデータ５がデータ受信ブロック２１で受信されると、受信側アドレス変換ブロック２５は、アドレス関連付けテーブル２３のアドレス関連付け情報５から、ＭＯＤＢＵＳアドレス０００５は内部メモリアドレスＳ１６−００１に割付サイズ５で割付られていると判断し、内部メモリ９のアドレスＳ１６−００１にデータ５を格納する。
【００３２】
図５は、以上の格納実行により、データ１〜５それぞれのＭＯＤＢＵＳアドレスが内部メモリ９のアドレスＳ１６−００１〜Ｓ１６−００５に割り付けられ、割り付けられたアドレスＳ１６−００１〜Ｓ１６−００５に各データ１〜５がそれぞれ格納されている状態を示す。
【００３３】
次に、ＰＬＣ１は、内部メモリアドレスＳ１６−００４に格納しているデータ１の読み出し要求があると、図６で示すように、送信側アドレス変換ブロック２７は内部メモリアドレスＳ１６−００４からデータ１を読み出すと共に、アドレス関連付けテーブル２３を参照して、このデータ１のメモリアドレスをＭＯＤＢＵＳアドレス０００１に変換する。
【００３４】
そして、データ送信ブロック２９は送信側アドレス変換ブロック２７でアドレス変換されたデータ１をＭＯＤＢＵＳアドレス０００１のデータであるとして外部デバイスに送信する。
【００３５】
以下同様に、内部メモリアドレスＳ１６−０１０、Ｓ１６−０１３，Ｓ１６−００７，Ｓ１６００１のデータ２，３，４，５を読み出し、ＭＯＤＢＵＳアドレス０００２，０００３，０００４，０００５のデータとして送信する。
【００３６】
図７を参照して、外部デバイス１９ａ，１９ｂ，１９ｃそれぞれからＭＯＤＢＵＳアドレス０００１〜０００３、００１１〜００１３、００２１〜００２３のデータ１〜３、データ４〜６、データ７〜９がＰＬＣ１に送信されてきた場合を説明する。
【００３７】
まず、ＰＬＣ１はアドレス関連付けテーブル２３を参照して、外部デバイス１９ａのデータ１〜３を、矢印実線で示すように、内部メモリ９のメモリアドレスＳ１６−００１，Ｓ１６−１０１，Ｓ１６−２０１にそれぞれ格納し、外部デバイス１９ｂのデータ４〜６を、矢印破線で示すように、内部メモリ９のメモリアドレスＳ１６−００２，Ｓ１６−１０２，Ｓ１６−２０２にそれぞれ格納し、外部デバイス１９ｃのデータ７〜９を、矢印一点鎖線で示すように、内部メモリ９のメモリアドレスＳ１６−００３，Ｓ１６−１０３，Ｓ１６−２０３にそれぞれ格納する。
【００３８】
また、内部メモリアドレスＳ１６−００１〜００３，Ｓ１６−１０１〜１０３、Ｓ１６−２０１〜２０３それぞれに格納してあるデータ１〜３、データ４〜６、データ７〜９を読み出す場合も、アドレス関連付けテーブル２３を参照して読み出して送信する。
【００３９】
以上説明したように本実施の形態では、ＰＬＣ１にＭＯＤＢＵＳデータが持つＭＯＤＢＵＳアドレスと内部メモリアドレスとを関連付けしたアドレス関連付けテーブル２３を設け、ＭＯＤＢＵＳで外部デバイス１７，１９からデータを受信する時は、アドレス関連付けテーブル２３を参照してデータのＭＯＤＢＵＳアドレスをそれに対応する内部メモリ９のメモリアドレスに変換する。そして、上記各データを、その変換したメモリアドレスのメモリエリアに格納処理する。
【００４０】
また、メモリエリア内のデータを外部デバイス１７，１９にＭＯＤＢＵＳで送信する時はアドレス関連付けテーブル２３を参照してメモリエリアの内部メモリアドレスをＭＯＤＢＵＳアドレスに変換したうえでそのデータをそのＭＯＤＢＵＳアドレスのデータとして送信処理するようにしたものである。
【００４１】
その結果、本実施の形態では、外部デバイス１７，１９とＰＬＣ１との間でＭＯＤＢＵＳ通信する場合、ＰＬＣ１側では、外部デバイス１７，１９との間ではＭＯＤＢＵＳアドレスを用いたデータ通信を行うことができる一方、内部的にはＭＯＤＢＵＳアドレスを特に意識せずにそのデータを処理することができる。これにより、本実施の形態では、機器内部制御のためのプログラムの作成上での自在性が大きく向上する。
【図面の簡単な説明】
【００４２】
【図１】図１は本発明の実施の形態に係るＰＬＣの概略構成を示す図である。
【図２】図２は図１のＰＬＣの機能ブロック構成を示す図である。
【図３】図３はアドレス関連付けテーブルの構成を示す図である。
【図４】図４は外部デバイスから送信されるデータをＭＯＤＢＵＳアドレスから内部メモリの対応するアドレスに変換してそのアドレスのエリアに格納するときの動作説明に用いる図である。
【図５】図５はＭＯＤＢＵＳアドレスと内部メモリアドレスとの対応関係を示す図である。
【図６】図６は、内部メモリのアドレスに格納してあるデータを読み出してＭＯＤＢＵＳアドレスに変換して送信するときの動作説明に用いる図である。
【図７】図７は、複数の外部デバイスそれぞれの各データと、各データのＭＯＤＢＵＳアドレスと、内部メモリアドレスと、各内部メモリアドレスのエリアとの関係を示す図である。
【符号の説明】
【００４３】
１  ＰＬＣ（プログラマブルコントローラ）
３  ＣＰＵ
５  システム制御メモリ
７  プログラムメモリ
９  内部メモリ
１１  入出力インターフェース
１３  通信インターフェース
１７，１９  外部デバイス
２１  データ受信ブロック
２３  アドレス関連付けテーブル
２５  受信側アドレス変換ブロック
２７  送信側アドレス変換ブロック
２９  データ送信ブロック
【図１】
2009104283.tif 000003
【図２】
2009104283.tif 000004
【図３】
2009104283.tif 000005
【図４】
2009104283.tif 000006
【図５】
2009104283.tif 000007
【図６】
2009104283.tif 000008
【図７】
2009104283.tif 000009