(57)【特許請求の範囲】
【請求項１】
データをバイナリ式のフォーマット（内部フォーマット）で処理するＣＰＵと、このＣＰＵが実行するシーケンスプログラムを格納するプログラムメモリと、ＣＰＵがシーケンスプログラムの実行に際して扱うデータ等の格納に用いる内部メモリとを備えたプログラマブルコントローラであって、
上記プログラムメモリには、外部デバイスとの間で外部フォーマットのデータを送受するデータ送受ソフトウエアと、データのフォーマットを外部フォーマットから内部フォーマットに変換して上記内部メモリに格納し、上記内部メモリに格納したデータを読出し、その読出したデータを内部フォーマットから外部フォーマットに変換するデータフォーマット変換ソフトウエアと、上記シーケンスプログラムに基づく命令の実行により、上記データをバイナリ式で格納、読出し処理するデータ処理ソフトウエアとが記憶されており、
上記ＣＰＵは、
上記データ送受ソフトウエアに従い、外部デバイスから送信されてくるデータを受信し、
上記データフォーマット変換ソフトウエアと上記データ処理ソフトウエアに従い、受信したデータのフォーマットを外部フォーマットから内部フォーマットに変換すると共に、変換したデータを上記内部メモリに格納し、
上記データ処理ソフトウエアに従い、上記シーケンスプログラムに基づく命令の実行により、データをバイナリ式で格納、読出し処理し、
上記データフォーマット変換ソフトウエアと上記データ処理ソフトウエアに従い、上記内部メモリからデータを読出すと共に、読出したデータのデータフォーマットを内部フォーマットから外部フォーマットに変換し、
上記データ送受ソフトウエアに従い、データを外部フォーマットで送信する、
ことを特徴とするプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば内部で扱うデータ形式（フォーマット）がバイナリ式であるプログラマブルコントローラ（以下、ＰＬＣと称する）が、外部デバイスとの間で、上記フォーマットとは相違するフォーマットでデータを送受処理する方式に関するものである。
【背景技術】
【０００２】
ＰＬＣと外部デバイスとで制御システムを構築した場合、ＰＬＣは、ＣＰＵと、システム制御プログラム（ファームウエア）や、ラダープログラム等のプログラムメモリや、入出力メモリ、内部リレーメモリ、データメモリ、等の内部メモリが、内部バスで相互接続され、ＣＰＵは、ラダープログラムをシステム制御プログラムに従い実行することで、外部デバイスである入出力機器を介して、被制御機器を制御する。この制御に際して、ＣＰＵは、内部メモリに格納されている各種データを参照しながらラダープログラムを実行する。このようなＰＬＣでは、外部デバイスと通信線で接続して通信する場合、外部デバイスの通信仕様に合う通信プロトコルが必要である。このための通信プロトコルを内部で作成するようにしたＰＬＣも提供されている（特許文献１参照）。
【０００３】
ところで、ＰＬＣは、内部でデータを処理する場合、ＣＰＵが実行しやすいバイナリ式と、アプリケーションに依存し浮動小数点式と、の２種類でデータを処理することが一般的となっている。そして、外部デバイスとの通信プロトコルで扱うデータ形式には、例えば８ビットヘキサデシマル（Ｈｅｘ）、符号付き１６ビットバイナリ、符号無し１６ビットバイナリ、１６ビットＨｅｘ、１６ビットＢＣＤ等、きわめて多様である。そのため、従来では、ＰＬＣ内部に、外部デバイスとのデータ通信で扱う多様なフォーマットに合わせてフォーマットをバイナリ式に変換して対応している。
【０００４】
しかしながら、上記データフォーマット変換は、ＰＬＣ内のＣＰＵに対してソフトウエア処理負荷が大きくなり、また、ＣＰＵが対応すべきプログラムサイズも増加するために、データのフォーマット変換にかかる時間が増加し、内部でのデータ処理速度が減少する（特許文献２参照。）。なお、データのフォーマット変換については、以下の特許文献も参照することができる。
【特許文献１】特開２００２−１８９５０５号公報
【特許文献２】特開２００５−２３５２１３号公報
【特許文献３】特開２００５−０９２５３３号公報
【特許文献４】特開２００３−２０８３８２号公報
【特許文献５】特開２００４−３１８４２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、外部デバイスとの通信で扱うデータの多様なフォーマットに対応することができる一方で、ＰＬＣ等の制御機器内部のＣＰＵに対するソフトウエア処理負荷を軽減可能として内部でのデータ処理速度を向上できるようにしたものである。
【課題を解決するための手段】
【０００６】
本発明によるプログラマブルコントローラは、データをバイナリ式のフォーマット（内部フォーマット）で処理するＣＰＵと、このＣＰＵが実行するシーケンスプログラムを格納するプログラムメモリと、ＣＰＵがシーケンスプログラムの実行に際して扱うデータ等の格納に用いる内部メモリとを備えたプログラマブルコントローラであって、上記プログラムメモリには、外部デバイスとの間で外部フォーマットのデータを送受するデータ送受ソフトウエアと、データのフォーマットを外部フォーマットから内部フォーマットに変換して上記内部メモリに格納し、上記内部メモリに格納したデータを読出し、その読出したデータを内部フォーマットから外部フォーマットに変換するデータフォーマット変換ソフトウエアと、上記シーケンスプログラムに基づく命令の実行により、上記データをバイナリ式で格納、読出し処理するデータ処理ソフトウエアとが記憶されており、上記ＣＰＵは、上記データ送受ソフトウエアに従い、外部デバイスから送信されてくるデータを受信し、上記データフォーマット変換ソフトウエアと上記データ処理ソフトウエアに従い、受信したデータのフォーマットを外部フォーマットから内部フォーマットに変換すると共に、変換したデータを上記内部メモリに格納し、上記データ処理ソフトウエアに従い、上記シーケンスプログラムに基づく命令の実行により、データをバイナリ式で格納、読出し処理し、上記データフォーマット変換ソフトウエアと上記データ処理ソフトウエアに従い、上記内部メモリからデータを読出すと共に、読出したデータのデータフォーマットを内部フォーマットから外部フォーマットに変換し、上記データ送受ソフトウエアに従い、データを外部フォーマットで送信することを特徴とするものである。
【０００７】
本発明では、外部デバイスとの通信プロトコルで扱うデータ形式として、例えば８ビットヘキサデシマル（Ｈｅｘ）、符号付き１６ビットバイナリ、符号無し１６ビットバイナリ、１６ビットＨｅｘ、１６ビットＢＣＤ等、きわめて多様であっても、ＰＬＣのＣＰＵは、当該ＣＰＵが実行しやすいバイナリ式でデータを処理することができるので、ＣＰＵはデータフォーマット変換を外部デバイスとのデータ送受時のみ、そのデータ送受ソフトウエアを実行するだけで済むからソフトウエア処理負荷が小さく済むと共に、内部ではデータを高速で処理することができ、高速なＰＬＣを得ることができる。
【発明の効果】
【０００８】
本発明によれば、外部デバイスとの通信データのフォーマットが多様であっても、内部ＣＰＵではバイナリ式でデータを扱うことが可能であるので、データフォーマット変換に要していたソフトウエア処理の負荷が軽減されＣＰＵのデータ処理速度が向上し、結果として、高速なＰＬＣを提供することができるようになる。
【発明を実施するための最良の形態】
【０００９】
以下、添付した図面を参照して、本発明の実施の形態に係るＰＬＣにおけるデータ送受処理方式を説明する。図１はＰＬＣ１の内部ブロック構成を示す。
【００１０】
図１を参照して、ＰＬＣ１は、データを符号付き３２ビットバイナリ式のフォーマット（内部フォーマット）と、３２ビット浮動小数点でのフォーマットで処理してラダープログラムを実行するＣＰＵ３、システム制御プログラム（ファームウエア）を格納するＲＯＭ等からなるシステム制御メモリ５、ラダープログラムやアプリケーションプログラム等を格納するＲＡＭ等からなるプログラムメモリ７、制御に使用する変数等のデータを記憶する内部メモリ９、入出力インターフェース１１、通信インターフェース１３を有し、これらは内部バス１５で相互に接続されている。
【００１１】
入出力インターフェース１１にはセンサやアクチュエータ等の各種入出力機器、機械や装置等の各種の被制御機器等の外部デバイス１７が接続される。通信インターフェース１３には、ＭＯＤＢＵＳで通信する外部デバイス１９が接続される。
【００１２】
ＰＬＣ１の内部メモリ９は、各種ＲＡＭから、例えば、入出力メモリ、内部リレーメモリ、データメモリ等を構成している。
【００１３】
図２は、外部デバイス１９との間でＭＯＤＢＵＳプロトコルでデータの送受を行う場合において、そのデータを内部メモリ９に格納したり読出したりするためのＰＬＣ１の内部機能ブロック構成を示す。
【００１４】
この内部機能ブロックを構成するソフトウエア（アプリケーションプログラム）は、プログラムメモリ７にインストールされている。
【００１５】
プログラムメモリ７にインストールされているソフトウエアは、外部デバイス１９との間で外部フォーマットのデータを送受するデータ送受ソフトウエア、データのフォーマットを外部フォーマットから内部フォーマットに変換して内部メモリ９に格納し、内部メモリ９に格納したデータを読出し、その読出したデータを内部フォーマットから外部フォーマットに変換するデータフォーマット変換ソフトウエア、上記シーケンスプログラムに基づく命令の実行により、上記データを上記バイナリ式で格納、読出し処理するデータ処理ソフトウエア、等である。
【００１６】
図２に示す機能ブロックにおいて、２１は、外部デバイス１９からＭＯＤＢＵＳで送信されてくるデータを受信するデータ受信ブロックである（データ送受ソフトウエアに対応する）。
【００１７】
２３は、データ受信ブロック２１で受信したデータのフォーマットを外部フォーマットから内部フォーマットに変換すると共に、変換したデータを内部メモリ９に格納するデータフォーマット変換／データ格納ブロックである（データフォーマット変換ソフトウエア、データ処理ソフトウエアに対応する）。
【００１８】
２５は、シーケンスプログラムに基づく命令の実行により、データをバイナリ式で格納、読出し処理するデータ処理ブロックである（データ処理ソフトウエアに対応する）、
２７は、内部メモリ９からデータを読出すと共に、読出したデータのデータフォーマットを内部フォーマットから外部フォーマットに変換するデータ読出し／データフォーマット変換ブロックである（データフォーマット変換ソフトウエア、データ処理ソフトウエアに対応する）。
【００１９】
２９は、データを外部フォーマットで送信するデータ送信ブロックである（データ送受ソフトウエアに対応する）。
【００２０】
そして、ＣＰＵ３は、上記プログラムメモリ７にダウンロードされたソフトウエアに従い、データ受信ブロック２１、データフォーマット変換／データ格納ブロック２３、データ処理ブロック２５、データ読出し／データフォーマット変換ブロック２７、データ送信ブロック２９の実行機能を有して、ＭＯＤＢＵＳデータの送受処理を実行する。
【００２１】
図３を参照して、外部デバイス１９からＰＬＣ１を見た場合のデータフォーマットは、図３（ａ）の表に示すように、８ビットヘキサデシマル（Ｈｅｘ）、符号付き１６ビットバイナリ、符号無し１６ビットバイナリ、１６ビットＨｅｘ、１６ビットＢＣＤ、符号付き３２ビットバイナリ、３２ビットＢＣＤ、ならびに３２ビット浮動小数点である。一方、ＰＬＣ１のＣＰＵ３内部で扱うデータは、図３（ｂ）の表に示すように、符号付き３２ビットバイナリと３２ビット浮動小数点である。そして、図２で示すように、ＰＬＣ１のデータ受信ブロック２１は、外部デバイス１９から図３（ａ）の表に示すフォーマットのデータを受信する。また、データ送信ブロック２９は、外部デバイス１９に図３（ａ）の表に示すフォーマットのデータを送信する。この場合、データ受信ブロック２１とデータ送信ブロック２９では、通信設定条件として、センサやアクチュエータ等の各種入出力機器、機械や装置等の各種の被制御機器等の当該ＰＬＣ１をサポートする外部デバイス１７との通信のための内部通信プロトコル（ＩＭＭプロトコル）と、外部デバイス１９とのＭＯＤＢＵＳによる通信プロトコルとにより、データ受信、データ送信することが可能になっている。
【００２２】
受信側データフォーマット変換／データ格納ブロック２３では、受信データを図３（ａ）の表に示すデータフォーマットから図３（ｂ）の表に示すデータフォーマットに変換する。この場合、浮動小数点は変換不要である。また、外部デバイス１７の場合は、ＰＬＣ１と同様に、符号付き３２ビットバイナリであれば、変換不要である。
【００２３】
そして、受信側データフォーマット変換／データ格納ブロック２３は、符号付き３２ビットバイナリに変換したデータを内部メモリ９に格納する。データ処理ブロック２５では、シーケンスプログラムであるラダープログラムの命令実行に伴い扱うデータを処理したり各種演算をして内部メモリ９にデータを格納したり読出したりする。
【００２４】
送信側データ読出し／データフォーマット変換ブロック２７では、内部メモリ９からデータを読出すと共に、その読出したデータを外部デバイス１９との間での通信プロトコルに対応したデータフォーマットに変換する。例えば、外部デバイス１９が８ビットＨｅｘであれば、内部メモリ９に格納している符号付き３２ビットバイナリ式のデータを８ビットＨｅｘに変換する。
【００２５】
こうしてフォーマットを変換されたデータは、データ送信ブロック２９から外部デバイス１９に送信される。
【００２６】
以上説明したように本実施の形態では、外部デバイス１９との通信プロトコルで扱うデータフォーマットが多様であっても、ＰＬＣ１のＣＰＵ３は、当該ＣＰＵ３が実行しやすいバイナリ式でデータを処理することができるので、ＣＰＵ３はデータ送受処理に必要なソフトウエア処理負荷が小さく済むようになり、内部でデータを高速で処理することができ、高速なＰＬＣを得ることができる。
【図面の簡単な説明】
【００２７】
【図１】図１は本発明の実施の形態に係るＰＬＣの概略構成を示す図である。
【図２】図２は図１のＰＬＣの機能ブロック構成を示す図である。
【図３】図３（ａ）は外部デバイスから見たデータフォーマットを示す表図、図３（ｂ）はＰＬＣのＣＰＵ内部で扱うデータフォーマットを示す表図である。
【符号の説明】
【００２８】
１  ＰＬＣ（プログラマブルコントローラ）
３  ＣＰＵ
５  システム制御メモリ
７  プログラムメモリ
９  内部メモリ
１１  入出力インターフェース
１３  通信インターフェース
１７，１９  外部デバイス
２１  データ受信ブロック
２３  受信側データフォーマット変換／データ格納ブロック
２５  データ処理ブロック
２７  送信側データ読出し／データフォーマット変換ブロック
２９  データ送信ブロック
【図１】
0005076216.tif 000002
【図２】
0005076216.tif 000003
【図３】
0005076216.tif 000004