(57)【要約】【課題】プログラマブルコントローラ間通信のための共有メモリ設定方式において、プログラマブルコントローラプログラムの管理の容易化と、共有メモリの領域設定の柔軟性を向上させること。【解決手段】プログラマブルコントローラの共有メモリ領域に、自身のノード番号を格納する第１の領域と、共有メモリ領域の設定情報を格納する第２の領域を備え、プログラマブルコントローラのシーケンスプログラムの中に共有メモリ領域設定情報を備えるように構成した。そして、シーケンスプログラムが実行されると、プログラマブルコントローラは、前記第１の領域に格納されたノード番号と前記シーケンスプログラム中の共有メモリ領域設定情報とから、自身に対応する設定情報を前記第２の領域に格納し、該第２の領域に格納された共有メモリ設定情報に基づいて自身の共有メモリ領域を設定する。【選択図】図２
2007241570.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルコントローラ間通信のための共有メモリ領域の設定方式であって、
プログラマブルコントローラの共有メモリ領域に、プログラマブルコントローラ自身のノード番号を格納する第１の領域と、該共有メモリ領域の設定情報を格納する第２領域を備え、
プログラマブルコントローラのシーケンスプログラムの中に共有メモリ領域設定情報を備え、
前記シーケンスプログラムが実行されると、プログラマブルコントローラは、前記第１の領域に格納されたノード番号と前記シーケンスプログラム中の共有メモリ領域設定情報とから、自身に対応する設定情報を前記第２の領域に格納し、該第２の領域に格納された共有メモリ領域設定情報に基づいて自身の共有メモリ領域を設定する、ことを特徴とする共有メモリ領域の設定方式。
【請求項２】
プログラマブルコントローラ間通信を行うための共有メモリ領域を備えたプログラマブルコントローラであって、
前記共有メモリ領域に、前記プログラマブルコントローラのノード番号を格納する第１の領域と、前記共有メモリ領域の設定情報を格納する第２の領域とを備え、
プログラマブルコントローラのシーケンスプログラム中に定義された共有メモリ領域の設定情報と前記ノード番号に基づいて、自身の共有メモリ領域設定情報を前記第２の領域に格納し、該格納した設定情報に基づいて共有メモリ領域の設定を行う手段、を備えることを特徴とするプログラマブルコントローラ。
【請求項３】
前記ノード番号は、前記プログラマブルコントローラの筐体に付随のロータリスイッチで指定されることを特徴とする請求項２記載のプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラ間通信のための共有メモリの設定方式に関する。
【背景技術】
【０００２】
近年、シーケンス制御を行う産業装置等でプログラマブルコントローラ（別名シーケンサ）が幅広く用いられている。（以下、プログラマブルコントローラをＰＬＣ（Ｐｒｏｇｒａｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒの略）と言う。）
複数のＰＬＣを用いてシステムを構築する場合もあり、このような場合にはＰＬＣ間で通信が行われる。図４にＰＬＣ間通信の説明を示す。
ＰＬＣ間の通信、すなわちＰＬＣ間のデータ送受信は、ＰＬＣ内の共有メモリ領域を用いて行われる。ＰＬＣ（ノード）では、共有メモリ領域のどの領域（アドレス）を自身のデータ送信領域として使用するかの設定が必要である。
【０００３】
この共有メモリ領域の設定方式には、次の２つの方式がある。
（１）各ＰＬＣプログラムの一部に、構成情報データとして共有メモリ領域のどのアドレスからどのアドレスまでを自身のデータ送信領域とするかを規定し、該情報に基づいて共有メモリ領域を用いる方式（図５）。
【０００４】
（２）予め共有メモリ領域を固定長のいくつかの領域に分割しておき、ロータリスイッチ等で指定されるノード番号により、該分割された共有メモリ領域のうちのいずれかの領域を自身のデータ送信領域として用いる方式（図６）。
【０００５】
これらの方式の場合、通信設定の変更、すなわち共有メモリ領域の設定を変更したい場合、システムを停止し、プログラムの更新やノードの番号を変更した後、システムを再起動しなければならないなどの問題があった。
【０００６】
また、前記（１）の方式では、シーケンスプログラムの部分が全く同じにもかかわらず、「構成情報データ」の部分が異なるために、結果的に各ＰＬＣプログラムが個々に異なることとなり、ＰＬＣ台数分のプログラムを管理しなければならない、という問題や、前記（２）の方式では、ＰＬＣの共有メモリは予め分割されており、領域の大きさや分割された領域数などの設定に柔軟性がない、などという問題があった。
【特許文献１】特開２００１−２４５０１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
そこで、本発明の課題は、ＰＬＣ間通信のための共有メモリ設定方式において、ＰＬＣプログラムの管理の容易化と、共有メモリの領域設定の柔軟性を向上させることにある。
【課題を解決するための手段】
【０００８】
上述した課題を解決するために、本発明では、ＰＬＣの共有メモリ領域内に「ノード番号情報」および「共有メモリ領域の設定情報」を格納する領域を設けるとともに、ＰＬＣのシーケンスプログラムの中にＰＬＣの共有メモリ領域をどのように分割するかを示した共有メモリ領域設定情報を含ませるように構成した。シーケンスプログラムが実行されると、ノード番号情報およびシーケンスプログラム内の設定情報から、ＰＬＣの「共有メモリ領域の設定情報」領域に共有メモリ領域の設定情報が格納され、該設定情報に基づいて自身がデータ送信領域として使用する領域を設定し、他のＰＬＣとデータ送受信を行う。本発明ではシーケンスプログラムにより共有メモリ領域が設定されるため、複数あるＰＬＣのシーケンスプログラムが共通のものとなり、プログラムの管理が容易となる。また、該シーケンスプログラムを変更することで共有メモリ領域の設定を容易に変更することができるため、共有メモリ領域設定の柔軟性を向上させることが可能であるといえる。
【０００９】
本発明の一態様によれば、プログラマブルコントローラ間通信のための共有メモリ領域の設定方式であって、プログラマブルコントローラの共有メモリ領域に、プログラマブルコントローラ自身のノード番号を格納する第１の領域と、該共有メモリ領域の設定情報を格納する第２領域を備え、プログラマブルコントローラのシーケンスプログラムの中に共有メモリ領域設定情報を備え、前記シーケンスプログラムが実行されると、プログラマブルコントローラは、前記第１の領域に格納されたノード番号と前記シーケンスプログラム中の共有メモリ領域設定情報とから、自身に対応する設定情報を前記第２の領域に格納し、該第２の領域に格納された共有メモリ領域設定情報に基づいて自身の共有メモリ領域を設定する、ことを特徴とする。これにより、シーケンスプログラムにより共有メモリ領域が設定されるため、複数のＰＬＣのシーケンスプログラムが共通のものとなり、プログラムの管理が容易となる。またシーケンスプログラムを変更して共有メモリ領域の設定の変更が可能で、共有メモリ領域設定の柔軟性を向上させることができる。
【発明の効果】
【００１０】
本発明のＰＬＣ間通信のための共有メモリ設定方式によれば、シーケンスプログラムにより共有メモリ領域が設定されるため、複数のＰＬＣのシーケンスプログラムが共通のものとなり、プログラムの管理が容易となる。また、該シーケンスプログラムを変更することで共有メモリ領域の設定の変更を容易にできるため、共有メモリ領域設定の柔軟性を向上させることが可能である。また、システム動作中にシーケンスプログラムで共有メモリ領域の設定情報を操作することが可能であるため、従来のシステムにおいて、共有メモリ領域の設定を変更等するためにシステムを停止／再起動しなければならなかった、という問題も解決される。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して、本発明の実施の形態について説明する。
図１は、本発明に関わるＰＬＣの内部構成を示す図である。情報処理を行う演算部としてのＣＰＵ１、システムメモリであるＲＯＭ２，バックアップメモリであるＥＥＰＲＯＭ３，プログラムデータメモリであるＲＡＭ４，入出力部としてのＩ／Ｏ部５、パソコンなどの上位情報処理装置と接続するインタフェース６を備え、これらがバス７で接続されている。また、図示されていないが、ＰＬＣは筐体上などの外部にユーザがノード番号等をセット可能なロータリスイッチやディップスイッチ等を備えている。
【００１２】
次に図２に本発明の共有メモリ設定方式を示す。尚、図２に示した共有メモリは図１のＲＡＭ４上に実現され、またＰＬＣプログラムはＲＯＭ２上に存在し、ＣＰＵ１で実行されるものとする。
【００１３】
図２に示すように本発明では、共有メモリ領域内に、「ノード番号情報」、「共有メモリ領域の設定情報」を格納する領域を設ける。
ノード番号情報には、ロータリスイッチやディップスイッチなどで設定されたノード番号の情報が格納される。また、共有メモリ領域の設定情報は、ノード自身が共有メモリのどの領域（アドレス）をデータ送信領域として使用するかの設定情報が格納される領域である。
【００１４】
ＰＬＣのシーケンスプログラム中には、ノード番号ごとの共有メモリ領域の設定情報が記載されており、シーケンスプログラムを実行すると、ＰＬＣの情報処理部であるＣＰＵは、共有メモリ内のノード番号情報を参照するとともに、共有メモリ領域の設定情報にその情報を格納する。そして、ノードの送信データは、格納された共有メモリ領域の設定情報に基づいて該当する領域に書き込まれ、これにより他のノードへのデータの送信が実現される。同様に、他のノードにおいても送信データが共有メモリに書き込まれ、データの書き込まれた領域を読み取ることで他のノードからの送信データの受信が実現される。
【００１５】
図３に、３台のＰＬＣ，すなわちノードＡ，ノードＢ、ノードＣ間で共有メモリ領域を用いて通信を行う例を示す。
ＰＬＣ（ノードＡ）、ＰＬＣ（ノードＢ）、ＰＬＣ（ノードＣ）はそれぞれノード番号が１、２、３と指定されており、指定されたノード番号が共有メモリのノード番号情報の格納領域に格納される。
【００１６】
共通のプログラムとして、ＰＬＣに配布されるシーケンスプログラムが実行されると、シーケンスプログラム中の共有メモリ領域の設定情報のうち、自身のノード番号に対応する部分の設定情報が共有メモリ領域の設定情報格納領域に格納される。
【００１７】
すると、ＰＬＣのうち例えばノードＡの送信データは、格納された共有メモリ領域の設定情報に基づいて領域Ａに書き込まれ、ノードＢ，ノードＣに送信されることになる。また、同様にノードＢやノードＣは送信データを領域Ｂ、領域Ｃにそれぞれ書き込み、ノードＡは共有メモリの領域Ｂ，領域Ｃを読み取ることで、ノードＢ、ノードＣが送信したデータを受信することができる。
【００１８】
このように本発明の方式によれば、シーケンスプログラムにより共有メモリ領域が設定されるため、複数のＰＬＣのシーケンスプログラムが共通のものとなり、プログラムの管理が容易となる。また、該シーケンスプログラムを変更することで共有メモリ領域の設定の変更を容易にできるため、共有メモリ領域設定の柔軟性を向上させることが可能である。また、ＰＬＣのシーケンスプログラムで共有メモリ領域の設定情報を操作するため、システム動作中での設定情報の変更が可能であり、従来のシステムにおいて、共有メモリ領域の設定を変更するためにシステムを停止／再起動しなければならなかった、という問題も解決される。
【００１９】
以上のように本発明の、ＰＬＣ間通信のための共有メモリの設定方式について詳細に説明したが、本発明は以上に述べたことに限定されるものではない。例えば、上記説明ではノード番号をロータリスイッチやディップスイッチなどを用いると述べたが、ＣＰＵの固有ＩＤ、ＰＬＣ筐体のシリアル番号など、ノードに固有の番号を用いるようにしてもかまわない。この他にも本発明の要旨を逸脱しない範囲で様々の構成、または形状をつくることができることはいうまでもない。
【図面の簡単な説明】
【００２０】
【図１】本発明に関わるプログラマブルコントローラの内部構成を示す図である。
【図２】本発明の共有メモリ領域の設定方式を示す図である。
【図３】本発明の共有メモリ領域の設定方式によるＰＬＣ間の通信の例を示す図である。
【図４】共有メモリを用いて行うＰＬＣ間通信を説明する図である。
【図５】従来の、ＰＬＣプログラム中の構成情報データによって共有メモリ領域の設定をし、通信を行う方式を説明する図である。
【図６】従来の、ノード番号により共有メモリ領域の設定をし、通信を行う方式を説明する図である。
【符号の説明】
【００２１】
１   ＣＰＵ
２   ＲＯＭ
３   ＥＥＰＲＯＭ  
４   ＲＡＭ
５   Ｉ／Ｏ部
６   インタフェース部
７   バス
【図１】
2007241570.tif 000003
【図２】
2007241570.tif 000004
【図３】
2007241570.tif 000005
【図４】
2007241570.tif 000006
【図５】
2007241570.tif 000007
【図６】
2007241570.tif 000008