(57)【要約】【課題】複数の機械におけるラダープログラムをより効率的に修正すること。【解決手段】複数の機械と、機械で使用されるラダープログラムの編集を行う端末装置と、複数の機械及び端末装置とネットワークを介して接続され、ラダープログラムの管理を行うサーバと、を含み、端末装置は、ラダープログラムの編集を行うラダープログラム編集部を備え、サーバは、端末装置によるラダープログラムの編集内容を取得する編集内容取得部と、複数の機械のうち、端末装置において編集された前記ラダープログラムと同一のラダープログラムを保有する機械に対し、ラダープログラムの編集内容を送信する編集内容送信部と、を備える。【選択図】図１
2020119294.tif 000002
【特許請求の範囲】
【請求項１】
複数の機械と、前記機械で使用されるラダープログラムの編集を行う端末装置と、前記複数の機械及び前記端末装置とネットワークを介して接続され、前記ラダープログラムの管理を行うサーバと、を含み、
前記端末装置は、
前記ラダープログラムの編集を行うラダープログラム編集部を備え、
前記サーバは、
前記端末装置による前記ラダープログラムの編集内容を取得する編集内容取得部と、
前記複数の機械のうち、前記端末装置において編集された前記ラダープログラムと同一のラダープログラムを保有する前記機械に対し、前記ラダープログラムの編集内容を送信する編集内容送信部と、
を備えるラダープログラム編集システム。
【請求項２】
前記端末装置の前記ラダープログラム編集部は、前記複数の機械が保有する前記ラダープログラムの識別情報に基づいて、同一の識別情報を有する前記ラダープログラムを保有する前記機械を、前記ラダープログラムの編集を行う対象の前記機械として選択し、
前記サーバの前記編集内容送信部は、前記端末装置によって編集された前記ラダープログラムの識別情報が、前記端末装置によって選択された前記機械が保有する前記ラダープログラムの識別情報と一致する場合に、選択された前記機械に対し、前記ラダープログラムの編集内容を送信する請求項１に記載のラダープログラム編集システム。
【請求項３】
前記機械は、
実行用のラダープログラムと、当該実行用のラダープログラムに対応する編集用のラダープログラムとを記憶する記憶部と、
前記実行用のラダープログラムを実行するプログラム実行部と、
前記編集用のラダープログラムを編集するプログラム編集部と、
を備え、
前記プログラム編集部は、前記実行用のプログラムの実行中において前記編集用のラダープログラムの編集を行い、前記実行用のプログラムの周期毎に、編集後の前記編集用のラダープログラムに実行対象を切り替える請求項１または２に記載のラダープログラム編集システム。
【請求項４】
前記ラダープログラム編集システムは、複数の前記サーバを備え、ネットワーク構成において、前記サーバそれぞれの下位層に複数の前記機械を含み、
前記サーバの前記編集内容送信部は、当該サーバ及び他の前記サーバの下位層に属する前記機械において、前記端末装置において編集された前記ラダープログラムと同一のラダープログラムを保有する前記機械に対し、前記ラダープログラムの編集内容を送信する請求項１から３のいずれか１項に記載のラダープログラム編集システム。
【請求項５】
複数の機械及び前記機械で使用されるラダープログラムの編集を行う端末装置とネットワークを介して接続され、前記ラダープログラムの管理を行うサーバであって、
前記端末装置による前記ラダープログラムの編集内容を取得する編集内容取得部と、
前記複数の機械のうち、前記端末装置において編集された前記ラダープログラムと同一のラダープログラムを保有する前記機械に対し、前記ラダープログラムの編集内容を送信する編集内容送信部と、
を備えるサーバ。
【請求項６】
複数の機械とネットワークを介して接続され、前記機械で使用されるラダープログラムの編集を行う端末装置であって、
前記ラダープログラムの編集を行うラダープログラム編集部と、
前記複数の機械のうち、編集された前記ラダープログラムと同一のラダープログラムを保有する前記機械に対し、前記ラダープログラムの編集内容を送信する編集内容送信部と、
を備える端末装置。
【請求項７】
複数の機械と、前記機械で使用されるラダープログラムの編集を行う端末装置と、前記複数の機械及び前記端末装置とネットワークを介して接続され、前記ラダープログラムの管理を行うサーバと、を含むラダープログラム編集システムで実行されるラダープログラム編集方法であって、
前記端末装置が、
前記ラダープログラムの編集を行うラダープログラム編集ステップと、
前記サーバが、
前記端末装置による前記ラダープログラムの編集内容を取得する編集内容取得ステップと、
前記複数の機械のうち、前記端末装置において編集された前記ラダープログラムと同一のラダープログラムを保有する前記機械に対し、前記ラダープログラムの編集内容を送信する編集内容送信ステップと、
を含むラダープログラム編集方法。
【請求項８】
複数の機械及び前記機械で使用されるラダープログラムの編集を行う端末装置とネットワークを介して接続され、前記ラダープログラムの管理を行うサーバを構成するコンピュータに、
前記端末装置による前記ラダープログラムの編集内容を取得する編集内容取得機能と、
前記複数の機械のうち、前記端末装置において編集された前記ラダープログラムと同一のラダープログラムを保有する前記機械に対し、前記ラダープログラムの編集内容を送信する編集内容送信機能と、
を実現させるプログラム。
【請求項９】
複数の機械とネットワークを介して接続され、前記機械で使用されるラダープログラムの編集を行う端末装置を構成するコンピュータに、
前記ラダープログラムの編集を行うラダープログラム編集機能と、
前記複数の機械のうち、編集された前記ラダープログラムと同一のラダープログラムを保有する前記機械に対し、前記ラダープログラムの編集内容を送信する編集内容送信機能と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ラダープログラム編集システム、サーバ、端末装置、ラダープログラム編集方法及びプログラムに関する。
【背景技術】
【０００２】
従来、工作機械等の機械を使用する設備（工場等）において、機械を制御するためのプログラムが用いられている（例えば、特許文献１参照）。
このような設備において、プログラムとしてラダープログラムが用いられることがある。機械のラダープログラムを修正する場合、端末装置からラダープログラムの変更操作を行うことにより、対象となる機械のラダープログラムが変更される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−０９４４３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ラダープログラムの変更を行う従来の技術において、端末装置からラダープログラムの変更操作を行うことができる機械は１台であることから、同一構成の機械が複数稼働している状況においても、これら複数の機械に対して同一の変更操作を繰り返して修正する必要があった。
【０００５】
本発明の課題は、複数の機械におけるラダープログラムをより効率的に修正することである。
【課題を解決するための手段】
【０００６】
（１）本発明の一態様のラダープログラム編集システムは、複数の機械と、前記機械で使用されるラダープログラムの編集を行う端末装置と、前記複数の機械及び前記端末装置とネットワークを介して接続され、前記ラダープログラムの管理を行うサーバと、を含み、前記端末装置は、前記ラダープログラムの編集を行うラダープログラム編集部を備え、前記サーバは、前記端末装置による前記ラダープログラムの編集内容を取得する編集内容取得部）と、前記複数の機械のうち、前記端末装置において編集された前記ラダープログラムと同一のラダープログラムを保有する前記機械に対し、前記ラダープログラムの編集内容を送信する編集内容送信部と、を備える。
【０００７】
（２）  また、本発明の一態様のサーバは、複数の機械及び前記機械で使用されるラダープログラムの編集を行う端末装置とネットワークを介して接続され、前記ラダープログラムの管理を行うサーバであって、前記端末装置による前記ラダープログラムの編集内容を取得する編集内容取得部と、前記複数の機械のうち、前記端末装置において編集された前記ラダープログラムと同一のラダープログラムを保有する前記機械に対し、前記ラダープログラムの編集内容を送信する編集内容送信部と、を備える。
【０００８】
（３）  また、本発明の一態様の端末装置は、複数の機械とネットワークを介して接続され、前記機械で使用されるラダープログラムの編集を行う端末装置であって、前記ラダープログラムの編集を行うラダープログラム編集部と、前記複数の機械のうち、編集された前記ラダープログラムと同一のラダープログラムを保有する前記機械に対し、前記ラダープログラムの編集内容を送信する編集内容送信部と、を備える。
【０００９】
（４）  また、本発明の一態様のラダープログラム編集方法は、複数の機械と、前記機械で使用されるラダープログラムの編集を行う端末装置と、前記複数の機械及び前記端末装置とネットワークを介して接続され、前記ラダープログラムの管理を行うサーバと、を含むラダープログラム編集システムで実行されるラダープログラム編集方法であって、前記端末装置が、前記ラダープログラムの編集を行うラダープログラム編集ステップと、前記サーバが、前記端末装置による前記ラダープログラムの編集内容を取得する編集内容取得ステップと、前記複数の機械のうち、前記端末装置において編集された前記ラダープログラムと同一のラダープログラムを保有する前記機械に対し、前記ラダープログラムの編集内容を送信する編集内容送信ステップと、を含む。
【００１０】
（５）  また、本発明の一態様のプログラムは、複数の機械及び前記機械で使用されるラダープログラムの編集を行う端末装置とネットワークを介して接続され、前記ラダープログラムの管理を行うサーバを構成するコンピュータに、前記端末装置による前記ラダープログラムの編集内容を取得する編集内容取得機能と、前記複数の機械のうち、前記端末装置において編集された前記ラダープログラムと同一のラダープログラムを保有する前記機械に対し、前記ラダープログラムの編集内容を送信する編集内容送信機能と、を実現させる。
【００１１】
（６）  また、本発明の一態様のプログラムは、複数の機械とネットワークを介して接続され、前記機械で使用されるラダープログラムの編集を行う端末装置を構成するコンピュータに、前記ラダープログラムの編集を行うラダープログラム編集機能と、前記複数の機械のうち、編集された前記ラダープログラムと同一のラダープログラムを保有する前記機械に対し、前記ラダープログラムの編集内容を送信する編集内容送信機能と、を実現させる。
【発明の効果】
【００１２】
本発明の一態様によれば、複数の機械におけるラダープログラムをより効率的に修正することができる。
【図面の簡単な説明】
【００１３】
【図１】第１実施形態に係るラダープログラム編集システムのシステム構成を示す模式図である。
【図２】第１実施形態に係るラダープログラム編集端末の構成例を示す模式図である。
【図３】第１実施形態に係るラダープログラム管理サーバの構成例を示すブロック図である。
【図４】第１実施形態に係る機械の構成例を示すブロック図である。
【図５】ラダープログラム編集システムが実行するラダープログラム編集処理の流れを説明するフローチャートである。
【図６】ラダープログラム編集システムが実行するラダープログラム編集処理の流れを説明するフローチャートである。
【図７】ラダープログラム編集システムが実行するラダープログラム編集処理の流れを説明するフローチャートである。
【図８】ラダープログラム編集システムが実行するラダープログラム編集処理の流れを説明するフローチャートである。
【図９】ラダープログラム編集システムが実行するラダープログラム編集処理の流れを説明するフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について、図面を参照して説明する。
［第１実施形態］
［構成］
図１は、第１実施形態に係るラダープログラム編集システム１のシステム構成を示す模式図である。
図１に示すように、ラダープログラム編集システム１は、ラダープログラム編集端末１０（端末装置）と、ラダープログラム管理サーバ２０（サーバ）と、工作機械等の複数の機械３０とを含んで構成され、ラダープログラム編集端末１０、ラダープログラム管理サーバ２０及び複数の機械３０は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やインターネット等のネットワーク４０を介して通信可能に構成されている。
なお、ラダープログラム編集システム１において、ネットワーク構成上、複数の機械３０は最下層のＥＤＧＥ層に属し、ラダープログラム編集端末１０及びラダープログラム管理サーバ２０は分散処理のための中間層にあたるＦＯＧ層に属している。そして、ネットワーク構成上の最上位（ＦＯＧ層の上位）となるＣＬＯＵＤ層には、全体を統合して管理するサーバ等が属している。また、ＣＬＯＵＤ層の下位には１または複数のＦＯＧ層が接続され、ＦＯＧ層の下位には１または複数のＥＤＧＥ層が接続されている。
【００１５】
ラダープログラム編集端末１０は、ラダープログラムの編集を行うユーザによって使用され、ラダープログラムの編集を行うためのユーザインターフェース（ＵＩ）画面を表示する。そして、ラダープログラム編集端末１０は、ユーザによって入力されたラダープログラムの編集内容を、ラダープログラム管理サーバ２０を介して、対象となる機械３０に適用する。このとき、ラダープログラム編集端末１０は、複数の機械３０において、同一のラダープログラムを保有する機械３０をグループとして指定し、グループ全体に対して、一括してラダープログラムの編集を行う。これにより、ユーザは、複数の機械３０におけるラダープログラムをより効率的に修正することができる。
【００１６】
ラダープログラム管理サーバ２０は、当該ラダープログラム管理サーバ２０が属するＦＯＧ層の下位に接続されているＥＤＧＥ層の複数の機械３０について、これらの機械３０が保有するラダープログラムに関する情報（以下、「ラダープログラム情報」と称する。）を管理している。ラダープログラム情報には、ラダープログラムの属性を特定可能な情報が含まれ、例えば、ラダープログラムを実行する機械３０の名称（機械名称）、ラダープログラムの更新日時及びラダープログラムの識別情報（ここではＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）のデータとする）が含まれている。
そして、ラダープログラム管理サーバ２０は、ラダープログラム編集端末１０からラダープログラムの編集が行われる場合に、ラダープログラム編集端末１０に機械３０が保有するラダープログラムに関する情報（以下、「ラダープログラム情報」と称する。）を提供する。また、ラダープログラム管理サーバ２０は、ラダープログラム編集端末１０によって選択された機械３０に対し、ラダープログラム編集端末１０から送信されたラダープログラムの編集内容を一括して送信し、選択された機械３０全体のラダープログラムを更新する。ラダープログラムを編集する対象の機械３０は、ラダープログラム情報におけるラダープログラムの識別情報（ＣＲＣ）によって、ラダープログラムの編集対象としての適切性が確認されるため、誤った機械３０が選択される事態を抑制することができる。なお、ラダープログラム管理サーバ２０は、ラダープログラムの編集が行われた場合、ラダープログラム情報に編集内容を反映させる。
【００１７】
機械３０は、工場等の設備において使用される機械（工作機械等）によって構成され、当該機械３０が保有するラダープログラムによって動作が制御される。本実施形態において、機械３０は、実行時に用いられる実行用のラダープログラムと、編集時に用いられる編集用のラダープログラムを保有しており、実行用のラダープログラムを機械３０が実行している際にも、編集用のラダープログラムを編集することが可能となっている。
【００１８】
［ラダープログラム編集端末１０の構成］
図２は、第１実施形態に係るラダープログラム編集端末１０の構成例を示す模式図である。
図２に示すように、ラダープログラム編集端末１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、ＲＯＭ１２と、ＲＡＭ１３と、入力部１４と、表示部１５と、記憶部１６と、通信部１７とを備えている。
【００１９】
ＣＰＵ１１は、記憶部１６に記憶された各種プログラムを実行することにより、ラダープログラム編集端末１０全体を制御する。例えば、ＣＰＵ１１は、ラダープログラムの編集を行うためのＵＩ画面を表示して、ラダープログラムの編集を受け付ける処理（以下、「ラダープログラム編集処理（端末側）」と称する。）のためのプログラムを実行する。ラダープログラム編集処理（端末側）のためのプログラムを実行することにより、ＣＰＵ１１には、機能的構成として、（ラダープログラム編集部としての）ＵＩ制御部１１ａと、状態管理部１１ｂと、コマンド送受信部１１ｃと、が形成される。
【００２０】
ＵＩ制御部１１ａは、ユーザによってラダープログラムの編集が行われる場合に、ラダープログラムの編集内容の入力あるいは編集結果の表示を行うためのＵＩ画面を表示部１５に表示する。例えば、ＵＩ制御部１１ａは、ＵＩ画面において、ラダープログラム管理サーバ２０との通信に関する情報、編集対象とする機械３０の選択を行うための情報、ラダープログラムの編集内容を表す情報等を表示する。
【００２１】
状態管理部１１ｂは、ラダープログラム編集端末１０の通信状態や、ラダープログラムの編集の進捗状態等、ラダープログラム編集処理（端末側）における各種処理状態を管理する。
コマンド送受信部１１ｃは、ラダープログラムの編集に関する各種コマンドをラダープログラム管理サーバ２０に送信したり、ラダープログラム管理サーバ２０から送信される各種コマンド（通知等）を受信したりする。
【００２２】
ＲＯＭ１２には、ラダープログラム編集端末１０を制御するための各種システムプログラムが予め書き込まれている。
ＲＡＭ１３は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の半導体メモリによって構成され、ＣＰＵ１１が各種処理を実行する際に生成されるデータを記憶する。
入力部１４は、キーボードやマウス、または、タッチセンサ等の入力装置によって構成され、ユーザによるラダープログラム編集端末１０への各種情報の入力を受け付ける。
【００２３】
表示部１５は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）等の表示装置によって構成され、ラダープログラム編集端末１０の各種処理結果を表示する。
記憶部１６は、ハードディスク、フラッシュメモリ等の不揮発性の記憶装置によって構成され、ラダープログラム編集処理（端末側）のためのプログラム等を記憶する。
通信部１７は、有線または無線ＬＡＮやＵＳＢ等、所定の通信規格に基づいて信号処理を行う通信インターフェースを備え、ラダープログラム編集端末１０が他の装置との間で行う通信を制御する。
【００２４】
［ラダープログラム管理サーバ２０の構成］
図３は、第１実施形態に係るラダープログラム管理サーバ２０の構成例を示すブロック図である。
図３に示すように、ラダープログラム管理サーバ２０は、ＣＰＵ２１と、ＲＯＭ２２と、ＲＡＭ２３と、入力部２４と、表示部２５と、記憶部２６と、通信部２７とを備えている。
【００２５】
ＣＰＵ２１は、記憶部２６に記憶された各種プログラムを実行することにより、ラダープログラム管理サーバ２０全体を制御する。例えば、ＣＰＵ２１は、ラダープログラム編集端末１０によるラダープログラムの編集を複数の機械３０に一括して適用する処理（以下、「ラダープログラム編集処理（サーバ側）」と称する。）のためのプログラムを実行する。ラダープログラム編集処理（サーバ側）のためのプログラムを実行することにより、ＣＰＵ２１には、機能的構成として、ラダープログラム情報管理部２１ａと、状態管理部２１ｂと、（編集内容取得部及び編集内容送信部としての）コマンド送受信部２１ｃと、が形成される。
【００２６】
ラダープログラム情報管理部２１ａは、複数の機械３０それぞれに関するラダープログラム情報を管理する。例えば、ラダープログラム情報管理部２１ａは、機械３０が新たに接続された場合に、その機械３０が保有するラダープログラムに関する情報（ラダープログラム情報）を取得し、取得したラダープログラム情報をラダープログラム情報データベース２６ａ（後述）に記憶する。また、ラダープログラム情報管理部２１ａは、機械３０におけるラダープログラムの編集が行われた場合に、ラダープログラム情報データベース２６ａにおけるラダープログラム情報を編集後の内容に更新する。
【００２７】
状態管理部２１ｂは、ラダープログラム管理サーバ２０の通信状態や、ラダープログラムの編集の進捗状態等、ラダープログラム編集処理（サーバ側）における各種処理状態を管理する。
コマンド送受信部２１ｃは、ラダープログラムの編集に関する各種コマンドを機械３０に送信したり、機械３０から送信される各種コマンド（通知等）をラダープログラム編集端末１０に送信したりする。
【００２８】
ＲＯＭ２２には、ラダープログラム管理サーバ２０を制御するための各種システムプログラムが予め書き込まれている。
ＲＡＭ２３は、ＤＲＡＭ等の半導体メモリによって構成され、ＣＰＵ２１が各種処理を実行する際に生成されるデータを記憶する。
入力部２４は、キーボードやマウス、または、タッチセンサ等の入力装置によって構成され、ユーザによるラダープログラム管理サーバ２０への各種情報の入力を受け付ける。
【００２９】
表示部２５は、ＬＣＤ等の表示装置によって構成され、ラダープログラム管理サーバ２０の各種処理結果を表示する。
記憶部２６は、ハードディスク、フラッシュメモリ等の不揮発性の記憶装置によって構成され、システム管理処理のためのプログラム等を記憶する。また、記憶部２６には、機械３０が保有するラダープログラムに関するラダープログラム情報を記憶するラダープログラム情報データベース２６ａ（図示せず）が形成される。
ラダープログラム情報データベース２６ａには、各機械３０について、ラダープログラムの属性を特定可能な情報（例えば、ラダープログラムを実行する機械３０の名称（機械名称）、ラダープログラムの更新日時及びラダープログラムのＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）のデータ等）が記憶されている。
通信部２７は、有線または無線ＬＡＮやＵＳＢ等、所定の通信規格に基づいて信号処理を行う通信インターフェースを備え、ラダープログラム管理サーバ２０が他の装置との間で行う通信を制御する。
【００３０】
［機械３０の構成］
図４は、第１実施形態に係る機械３０の構成例を示すブロック図である。
図４に示すように、機械３０は、ＣＰＵ３１と、ＲＯＭ３２と、ＲＡＭ３３と、入力部３４と、表示部３５と、記憶部３６と、通信部３７と、加工部３８とを備えている。これらのうち、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、入力部３４、表示部３５、記憶部３６及び通信部３７は、機械３０を制御するＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）あるいはマイコン等の情報処理装置として実装される。
【００３１】
ＣＰＵ３１は、記憶部３６に記憶された各種プログラムを実行することにより、機械３０全体を制御する。例えば、ＣＰＵ３１は、ラダープログラム編集端末１０による編集の操作に応じて、ラダープログラム管理サーバ２０を介して実行されるラダープログラムを編集する処理（以下、「ラダープログラム編集処理（機械側）」と称する。）のためのプログラムを実行する。ラダープログラム編集処理（機械側）のためのプログラムを実行することにより、ＣＰＵ３１には、機能的構成として、（プログラム編集部としての）プログラム編集部３１ａと、（プログラム実行部としての）プログラム実行部３１ｂと、状態管理部３１ｃと、コマンド送受信部３１ｄと、が形成される。
【００３２】
プログラム編集部３１ａは、ラダープログラム管理サーバ２０から送信されるコマンドに応じて、編集用のラダープログラムを編集する。例えば、プログラム編集部３１ａは、ラダープログラム管理サーバ２０から送信されたコマンドがラダープログラムに要素を追加する内容である場合、編集用のラダープログラムにおいて、コマンドに示されている部分に指示された要素を追加する。また、プログラム編集部３１ａは、ラダープログラム管理サーバ２０から送信されたコマンドがラダープログラムの要素を変更する内容である場合、編集用のラダープログラムにおいて、コマンドに示されている部分の要素を指示された内容に変更する。さらに、プログラム編集部３１ａは、ラダープログラム管理サーバ２０から送信されたコマンドがラダープログラムの要素を削除する内容である場合、編集用のラダープログラムにおいて、コマンドに示されている部分の要素を削除する。
【００３３】
プログラム実行部３１ｂは、ラダープログラムの実行が指示された場合、実行用のラダープログラムを実行する。なお、本実施形態において、実行用のラダープログラムは、ループを繰り返すプログラム構成を有しており、ループが終了するタイミング（以下、「周期」とも称する。）毎に、実行用のラダープログラムを終了して、実行対象を編集用のラダープログラムに切り替えることが可能である。
【００３４】
状態管理部３１ｃは、機械３０の通信状態、ラダープログラムの編集の進捗状態あるいはラダープログラムの実行状態等、ラダープログラム編集処理（機械側）における各種処理状態を管理する。
コマンド送受信部３１ｄは、ラダープログラムの編集に関する各種コマンドをラダープログラム管理サーバ２０から受信したり、機械３０における状態を通知するための各種コマンドをラダープログラム管理サーバ２０に送信したりする。
【００３５】
ＲＯＭ３２には、機械３０を制御するための各種システムプログラムが予め書き込まれている。
ＲＡＭ３３は、ＤＲＡＭ等の半導体メモリによって構成され、ＣＰＵ３１が各種処理を実行する際に生成されるデータを記憶する。
入力部３４は、キーボードやボタン、または、タッチセンサ等の入力装置によって構成され、ユーザによる機械３０への各種情報の入力を受け付ける。
【００３６】
表示部３５は、ＬＣＤ等の表示装置によって構成され、機械３０の各種処理結果を表示する。
記憶部３６は、ハードディスク、フラッシュメモリ等の不揮発性の記憶装置によって構成され、ラダープログラム編集処理（機械側）のためのプログラム等を記憶する。また、記憶部３６には、機械３０を制御するための実行用のラダープログラムのデータ及び編集用のラダープログラムのデータがそれぞれ記憶されている。編集用のラダープログラムは、実行用のラダープログラムと同一のラダープログラムであり、ラダープログラムの編集が行われた場合、逐次、これらの内容が同期される。
通信部３７は、有線または無線ＬＡＮやＵＳＢ等、所定の通信規格に基づいて信号処理を行う通信インターフェースを備え、機械３０が他の装置との間で行う通信を制御する。
加工部３８は、切削加工やせん断加工等、機械３０におけるワークの加工を実行するユニットである。
【００３７】
［動作］
次に、ラダープログラム編集システム１の動作を説明する。
図５〜９は、ラダープログラム編集システム１が実行するラダープログラム編集処理の流れを説明するフローチャートである。ラダープログラム編集処理は、ラダープログラム編集端末１０、ラダープログラム管理サーバ２０及び機械３０が連携して実行する処理である。したがって、以下、ラダープログラム編集端末１０が実行するラダープログラム編集処理（端末側）、ラダープログラム管理サーバ２０が実行するラダープログラム編集処理（サーバ側）及び機械３０が実行するラダープログラム編集処理（機械側）の流れを対応付けて説明する。なお、図５〜９における破線の矢印は、各装置間における主な情報の流れを表している。
【００３８】
ステップＱ１において、機械３０の状態管理部３１ｃは、機械３０に備えられたスイッチの操作あるいは遠隔的な操作に応じて、機械３０の電源を投入する。
ステップＰ１において、ラダープログラム管理サーバ２０のラダープログラム情報管理部２１ａは、機械３０から機械名称及びラダープログラムのＣＲＣを取得し、ラダープログラム情報データベース２６ａのラダープログラム情報を更新する。
ステップＳ１において、ラダープログラム編集端末１０のコマンド送受信部１１ｃは、ラダープログラム管理サーバ２０に接続し、機械３０のラダープログラム情報を要求する。
【００３９】
ステップＰ２において、ラダープログラム管理サーバ２０のラダープログラム情報管理部２１ａは、機械３０のラダープログラム情報をラダープログラム編集端末１０に送信する。
ステップＳ２において、ラダープログラム編集端末１０のＵＩ制御部１１ａは、ＣＲＣが一致する機械３０をグループにまとめてＵＩに表示し、ラダープログラムの編集を行う機械３０の選択を受け付けて機械３０への接続を開始する。また、ＵＩ制御部１１ａは、接続する機械３０の一覧をラダープログラム管理サーバ２０に送信する。
ステップＰ３において、ラダープログラム管理サーバ２０のコマンド送受信部２１ｃは、ラダープログラム編集端末１０から接続する機械３０の一覧を受信し、状態管理部２１ｂは、機械３０のラダープログラムのＣＲＣが一覧の記載内容と一致することを確認して、選択された機械３０を記憶する。また、状態管理部２１ｂは、選択された機械３０への接続を開始する。
【００４０】
ステップＱ２において、機械３０の状態管理部３１ｃは、ラダープログラム管理サーバ２０からの接続を受け付ける。
ステップＰ４において、ラダープログラム管理サーバ２０のコマンド送受信部２１ｃは、選択された機械との接続が完了したことをラダープログラム編集端末１０に送信する。
ステップＳ３において、ラダープログラム編集端末１０の状態管理部１１ｂは、機械３０への接続の完了を確認する。また、コマンド送受信部１１ｃは、接続した機械３０にラダープログラムを送信させるコマンド（ラダープログラム送信コマンド）をラダープログラム管理サーバ２０に送信する。
【００４１】
ステップＰ５において、ラダープログラム管理サーバ２０のコマンド送受信部２１ｃは、選択された機械３０にラダープログラム送信コマンドを送信する。なお、選択された全ての機械３０は同一のラダープログラムを記憶することから、ラダープログラム管理サーバ２０のコマンド送受信部２１ｃは、選択された全ての機械３０にラダープログラム送信コマンドを送信せずに、選択された機械３０の内、１台の機械３０に対してラダープログラム送信コマンドを送信するようにしてもよい。
ステップＱ３において、機械３０のコマンド送受信部３１ｄは、ラダープログラム送信コマンドを受信し、ラダープログラムをラダープログラム管理サーバ２０に送信する。
ステップＰ６において、ラダープログラム管理サーバ２０のコマンド送受信部２１ｃは、機械３０から受信したラダープログラムをラダープログラム編集端末１０に送信する。なお、ラダープログラム管理サーバ２０のコマンド送受信部２１ｃは、選択された複数の機械３０からラダープログラムを受信した場合、受信したラダープログラムのうち、１つのラダープログラムをラダープログラム編集端末１０に送信するようにしてもよい。
【００４２】
ステップＳ４において、ラダープログラム編集端末１０のコマンド送受信部１１ｃは、ラダープログラム管理サーバ２０からラダープログラムを受信する。
ステップＳ５において、ラダープログラム編集端末１０のＵＩ制御部１１ａは、受信したラダープログラムを開いて編集操作を開始する。また、コマンド送受信部１１ｃは、ラダープログラムの編集を開始したことを示すコマンド（編集開始コマンド）をラダープログラム管理サーバ２０に送信する。
ステップＰ７において、ラダープログラム管理サーバ２０のコマンド送受信部２１ｃは、ラダープログラム編集端末１０から編集開始コマンドを受信し、選択された機械３０に編集開始コマンドを送信する。
【００４３】
ステップＱ４において、機械３０のコマンド送受信部３１ｄは、編集開始コマンドを受信する。また、プログラム編集部３１ａは、編集用のラダープログラムの編集を開始する。
ステップＰ８において、ラダープログラム管理サーバ２０のコマンド送受信部２１ｃは、選択された機械３０からの編集開始コマンドの受信の通知を待機する。また、コマンド送受信部２１ｃは、機械３０における編集開始コマンドの受信の確認後、編集開始コマンドの受信が確認されたことをラダープログラム編集端末１０に送信する。
ステップＳ６において、ラダープログラム編集端末１０のコマンド送受信部１１ｃは、機械３０における編集開始コマンドの受信を確認する。
【００４４】
ステップＳ７において、ラダープログラム編集端末１０のＵＩ制御部１１ａは、ＵＩ画面において、ラダープログラムの編集操作を実行する。また、コマンド送受信部１１ｃは、編集操作に応じたコマンドをラダープログラム管理サーバ２０に送信する。
ステップＰ９において、ラダープログラム管理サーバ２０のコマンド送受信部２１ｃは、ラダープログラム編集端末１０から送信されるコマンドを受信し、選択された機械３０に受信したコマンドを送信する。
ステップＱ５において、機械３０のコマンド送受信部３１ｄは、ラダープログラム管理サーバ２０からコマンドを受信する。また、プログラム編集部３１ａは、コマンドの指示に従って編集用のラダープログラムを編集する。
【００４５】
ステップＰ１０において、ラダープログラム管理サーバ２０の状態管理部２１ｂは、選択された機械３０からのコマンドの受信の通知（コマンド受信通知）を待機する。また、コマンド送受信部２１ｃは、コマンドの受信が確認されたことをラダープログラム編集端末１０に送信する。
ステップＳ８において、ラダープログラム編集端末１０の状態管理部１１ｂは、機械３０におけるコマンドの受信を確認する。
ステップＳ７、ステップＰ９、ステップＱ５、ステップＰ１０及びステップＳ８の処理は、ラダープログラムの編集操作に応じて、適宜繰り返される。
【００４６】
ステップＳ９において、ラダープログラム編集端末１０のＵＩ制御部１１ａは、ラダープログラムの編集操作を終了する。また、コマンド送受信部１１ｃは、ラダープログラムの編集が終了したことを示すコマンド（編集終了コマンド）をラダープログラム管理サーバ２０に送信する。
ステップＰ１１において、ラダープログラム管理サーバ２０のコマンド送受信部２１ｃは、ラダープログラム編集端末１０から編集終了コマンドを受信し、選択された機械３０に編集終了コマンドを送信する。
【００４７】
ステップＱ６において、機械３０のプログラム編集部３１ａは、編集終了コマンドを受信後、編集用のラダープログラムの編集を終了する。また、プログラム実行部３１ｂは、実行用のラダープログラムの周期の終端（ループの終了タイミング）で実行中のラダープログラムの実行を停止する。また、状態管理部３１ｃは、編集用のラダープログラムを実行用のラダープログラムに上書きし、プログラム実行部３１ｂは、新たな実行用のラダープログラムの実行を開始する。また、コマンド送受信部３１ｄは、編集終了コマンドの実行が終了したことの通知をラダープログラム管理サーバ２０に送信する。
【００４８】
ステップＰ１２において、ラダープログラム管理サーバ２０の状態管理部２１ｂは、選択された機械３０からの編集終了コマンドの実行終了の通知を待機する。また、コマンド送受信部２１ｃは、終了の確認後、ラダープログラム編集端末１０に編集終了コマンドの実行終了の通知を送信する。
ステップＳ１０において、ラダープログラム編集端末１０の状態管理部１１ｂは、機械３０において編集終了コマンドの実行が終了したことを確認する。
【００４９】
ステップＳ１１において、ラダープログラム編集端末１０のコマンド送受信部１１ｃは、接続を切断するためのコマンド（切断コマンド）をラダープログラム管理サーバ２０に送信する。
ステップＰ１３において、ラダープログラム管理サーバ２０のコマンド送受信部２１ｃは、接続の切断コマンドを受信し、選択された機械３０に切断コマンドを送信する。また、コマンド送受信部２１ｃは、切断の確認後、ラダープログラム編集端末１０に機械３０と切断されたことの通知を送信する。
ステップＳ１２において、ラダープログラム編集端末１０の状態管理部１１ｂは、機械３０と切断されたことを確認する。
ステップＳ１３において、ラダープログラム編集端末１０の状態管理部１１ｂは、ラダープログラム管理サーバ２０との接続を切断する。
【００５０】
このような処理により、ラダープログラム編集システム１においては、ラダープログラム編集端末１０において、複数の機械３０のうち、同一のラダープログラム（ＣＲＣが同一であるもの）を保有する機械３０が選択される。そして、ラダープログラム編集端末１０は、選択した機械３０が保有するラダープログラムに対する編集内容の入力を受け付け、受け付けられた編集内容がラダープログラム管理サーバ２０を介して、選択された機械３０に送信される。選択された機械３０では、編集用のラダープログラムにラダープログラム管理サーバ２０から送信された編集内容を適用し、実行中のラダープログラムの周期の終端において、編集されたラダープログラムに実行対象を切り替える。
これにより、複数の機械３０におけるラダープログラムをより効率的に修正することができる。
【００５１】
また、ラダープログラム編集システム１においては、ラダープログラム情報におけるラダープログラムのＣＲＣによって、機械３０について、選択対象としての適切性が確認される。
そのため、ラダープログラムの編集対象として、誤った機械３０が選択される事態を抑制することができる。
また、機械３０において、実行用のラダープログラム及び編集用のラダープログラムが保有されているため、実行用のラダープログラムの実行中に編集用のラダープログラムを編集することが可能となる。
そのため、機械３０がラダープログラムの実行中であっても、ラダープログラムを編集し、編集されたラダープログラムを逐次実行することが可能となる。
【００５２】
［変形例１］
上述の実施形態において、ラダープログラム編集端末１０は、ラダープログラム管理サーバ２０を介して機械３０に接続するものとしたが、これに限られない。例えば、ラダープログラム編集端末１０がラダープログラム管理サーバ２０の機能を備え、ラダープログラム編集端末１０が機械３０にネットワーク４０を介して接続することとしてもよい。
この場合、ラダープログラム編集端末１０は、複数の機械３０のうち同一のラダープログラムを保有しているものに対し、より少ない手順によって、自装置に入力された編集内容を一括して適用することができる。
【００５３】
［変形例２］
上述の実施形態において、ラダープログラム管理サーバ２０は、自装置が属するＦＯＧ層の下位のＥＤＧＥ層に属する機械３０を対象として、ラダープログラムの編集を行うものとしたが、これに限られない。例えば、ラダープログラム管理サーバ２０が属するＦＯＧ層と同階層にある他のＦＯＧ層内のラダープログラム管理サーバ２０と連携することにより、複数のＦＯＧ層の下位のＥＤＧＥ層に属する機械３０を対象として、ラダープログラムの編集を行うこととしてもよい。
これにより、異なるＦＯＧ層間のラダープログラム管理サーバ２０が連携し、異なるＦＯＧ層に接続された機械３０を選択して、一括してラダープログラムの編集を行うことができる。
【００５４】
なお、本発明は、上述の実施形態及び変形例に限定されるものではなく、種々の変更及び変形等が可能である。
例えば、ラダープログラム情報に含まれる識別情報として、ラダープログラムのＣＲＣのデータを例に挙げて説明したが、これに限られない。即ち、ラダープログラムを識別可能な情報であれば、ハッシュ値等の各種情報を識別情報として用いることができる。
【００５５】
また、上述の実施形態において、ラダープログラム編集端末１０及びラダープログラム管理サーバ２０等の機能の一部または全部を、ネットワークを介して通信可能な他の装置に備え、複数の装置全体として、ラダープログラム編集システム１の機能を実現する構成としてもよい。
【００５６】
以上説明した実施形態のラダープログラム編集システム１の機能の全部または一部は、ハードウェア、ソフトウェアまたはこれらの組合せにより実現することができる。ここで、ソフトウェアによって実現されるとは、プロセッサがプログラムを読み込んで実行することにより実現されることを意味する。ハードウェアで構成する場合、ラダープログラム編集システム１の機能の一部または全部を、例えば、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ゲートアレイ、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、ＣＰＬＤ（Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）等の集積回路（ＩＣ）で構成することができる。
【００５７】
ラダープログラム編集システム１の機能の全部または一部をソフトウェアで構成する場合、ラダープログラム編集システム１の動作の全部または一部を記述したプログラムを記憶した、ハードディスク、ＲＯＭ等の記憶部、演算に必要なデータを記憶するＤＲＡＭ、ＣＰＵ、及び各部を接続するバスで構成されたコンピュータにおいて、演算に必要な情報をＤＲＡＭに記憶し、ＣＰＵで当該プログラムを動作させることで実現することができる。
【００５８】
これらのプログラムは、様々なタイプのコンピュータ可読媒体（ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。コンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。コンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、ＤＶＤ−ＲＯＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＤＶＤ−Ｒ、ＤＶＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュメモリ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。また、これらのプログラムは、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。
【００５９】
以上、本発明の実施形態について詳細に説明したが、前述した実施形態は、本発明を実施するにあたっての具体例を示したに過ぎない。本発明の技術的範囲は、前記実施形態に限定されるものではない。本発明は、その趣旨を逸脱しない範囲において種々の変更が可能であり、それらも本発明の技術的範囲に含まれる。
【符号の説明】
【００６０】
１  ラダープログラム編集システム
１０  ラダープログラム編集端末
１１，２１，３１  ＣＰＵ
１１ａ  ＵＩ制御部
１１ｂ，２１ｂ，３１ｃ  状態管理部
１１ｃ，２１ｃ，３１ｄ  コマンド送受信部
１２，２２，３２  ＲＯＭ
１３，２３，３３  ＲＡＭ
１４，２４，３４  入力部
１５，２５，３５  表示部
１６，２６，３６  記憶部
１７，２７，３７  通信部
２０  ラダープログラム管理サーバ
２１ａ  ラダープログラム情報管理部
２６ａ  ラダープログラム情報データベース
３０  機械
３１ａ  プログラム編集部
３１ｂ  プログラム実行部
３８  加工部
４０  ネットワーク
【図１】
2020119294.tif 000003
【図２】
2020119294.tif 000004
【図３】
2020119294.tif 000005
【図４】
2020119294.tif 000006
【図５】
2020119294.tif 000007
【図６】
2020119294.tif 000008
【図７】
2020119294.tif 000009
【図８】
2020119294.tif 000010
【図９】
2020119294.tif 000011