(57)【要約】【課題】ラダープログラムの修正を伴う機械の改造を容易にし、作業工数を可及的に削減する。【解決手段】複数の機械７の夫々を制御するラダープログラムが格納されるラダープログラム格納領域３１３並びに複数の機械７に対し既に実施された改造内容を識別する識別情報及び改造に必要な修正プログラムが対応付けられて格納されるラダープログラム履歴情報３１２を有するデータベースと、データベースを管理するデータベース管理部３２とを備え、データベース管理部３２が、改造対象の機械に対して施される改造内容に対応する識別情報をラダープログラム履歴情報３１２から検索する識別情報検索部３２３と、検索された識別情報に対応する修正プログラムをラダープログラム履歴情報３１２から抽出し、改造対象の機械７のラダープログラムに修正プログラムをマージするマージ部３２４とを備えるラダープログラム管理装置を提供する。【選択図】図１
2018088178.tif 000002
【特許請求の範囲】
【請求項１】
複数の機械の夫々を制御するラダープログラムが格納されるラダープログラム格納領域、並びに、前記複数の機械に対して既に実施された改造の内容を識別する識別情報及び前記改造に必要とされた修正プログラムが対応付けられて格納されるラダープログラム履歴情報を有するデータベースと、
該データベースを管理するデータベース管理部と、
を備え、
前記データベース管理部が、
改造対象となる機械に対して施される改造の内容に対応する識別情報を前記ラダープログラム履歴情報から検索する識別情報検索部と、
前記検索された識別情報に対応する前記修正プログラムを前記ラダープログラム履歴情報から抽出し、前記改造対象となる機械の前記ラダープログラムに前記修正プログラムをマージするマージ部と、
を備えるラダープログラム管理装置。
【請求項２】
前記データベース管理部が、前記修正プログラムを生成する修正プログラム生成部を備え、
該修正プログラム生成部が、前記既に実施された改造において、オペレータによって修正された後のラダープログラムと当該修正前のラダープログラムとの差分である差分プログラムに、前記修正前のラダープログラムから検索された前記差分プログラム内の入出力信号に関連する箇所を追加することにより前記修正プログラムを生成する請求項１に記載のラダープログラム管理装置。
【請求項３】
前記マージ部が、前記ラダープログラムと前記修正プログラムとの間でコンフリクトが発生する場合に、前記コンフリクトを解消可能な複数のマージ候補を生成する請求項１又は２に記載のラダープログラム管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ラダープログラムの履歴を管理するのに好適なラダープログラム管理装置に関する。
【背景技術】
【０００２】
従来、遠隔地の数値制御装置内のラダープログラムの図番や版数を、ネットワークを介して取得し集中管理をする技術が知られている（例えば、特許文献１参照）。
また、従来、ラダープログラムの履歴を管理する技術が知られている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−１１０５４０号公報
【特許文献２】特開２００６−３３０８６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、その一方で、プログラマブルコントローラが制御を行う工作機械等の機械に、ロボット、温度センサ等の様々な周辺機器を組み合わせて使用する場合、その組み合わせ毎に、ラダープログラムを準備し管理する必要があった。特に、複数の周辺機器が接続された機械及びこれを制御するためのラダープログラムが既にあったとしても、他の機械にこれらの複数の周辺機器のうちの一つのみを増設する改造を行う場合、この周辺機器を制御するためのラダープログラムを改めて作成する必要があり、改造のための作業工数が多くかかってしまうという問題点があった。
【０００５】
本発明は、上述した事情に鑑みてなされたものであって、改造のための作業工数を可及的に削減することのできるラダープログラム管理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明は以下の手段を提供する。
本発明の一態様は、複数の機械の夫々を制御するラダープログラムが格納されるラダープログラム格納領域、並びに、前記複数の機械に対して既に実施された改造の内容を識別する識別情報及び前記改造に必要とされた修正プログラムが対応付けられて格納されるラダープログラム履歴情報を有するデータベースと、該データベースを管理するデータベース管理部と、を備え、前記データベース管理部が、改造対象となる機械に対して施される改造の内容に対応する識別情報を前記ラダープログラム履歴情報から検索する識別情報検索部と、前記検索された識別情報に対応する前記修正プログラムを前記ラダープログラム履歴情報から抽出し、前記改造対象となる機械の前記ラダープログラムに前記修正プログラムをマージするマージ部と、を備えるラダープログラム管理装置である。
【０００７】
この構成によれば、データベース内には、複数の機械の夫々を制御するラダープログラムが格納されるラダープログラム格納領域と、複数の機械に対して既に実施された改造の内容を識別する識別情報及び改造に必要とされた修正プログラムが対応付けられて格納されるラダープログラム履歴情報とが含まれている。そして、新たに同様の改造が実施される場合に、データベース管理部に備えられる識別情報検索部によって、当該改造において改造対象となる機械に対して施される改造の内容に対応する識別情報が、ラダープログラム履歴情報から検索される。続いて、データベース管理部に備えられるマージ部によって、検索された識別情報に対応する修正プログラムが、ラダープログラム履歴情報から抽出され、改造対象となる機械のラダープログラムに修正プログラムがマージされる。
【０００８】
このように、複数の機械の夫々のラダープログラムと、過去に実施された改造に対応する修正プログラムとがデータベース化されて集中管理されているため、新たにラダープログラムの修正を伴う改造を実施する場合の修正や保守が容易となり、改造にかかる作業工数を可及的に削減することができる。
【０００９】
上記本発明の一態様に係るラダープログラム管理装置において、前記データベース管理部が、前記修正プログラムを生成する修正プログラム生成部を備え、該修正プログラム生成部が、前記既に実施された改造において、オペレータによって修正された後のラダープログラムと当該修正前のラダープログラムとの差分である差分プログラムに、前記修正前のラダープログラムから検索された前記差分プログラム内の入出力信号に関連する箇所を追加することにより前記修正プログラムを生成する構成であってもよい。
【００１０】
この構成によれば、データベース管理部に備えられる修正プログラム生成部によって、既に実施された改造においてオペレータによって修正された後のラダープログラムと当該修正前のラダープログラムとの差分である差分プログラムに、修正前のラダープログラムから検索された差分プログラム内の入出力信号に関連する箇所が追加されることにより、修正プログラムが生成される。
【００１１】
このように、差分プログラムだけではなく、差分プログラム内の入出力信号に関連する箇所が差分プログラムに追加されるので、改造に対して必要かつ十分な修正プログラムを生成することができる。また、このようにすることで、修正プログラムの管理が容易となる。
【００１２】
上記本発明の一態様に係るラダープログラム管理装置において、前記マージ部が、前記ラダープログラムと前記修正プログラムとの間でコンフリクトが発生する場合に、前記コンフリクトを解消可能な複数のマージ候補を生成する構成であってもよい。
【００１３】
この構成によれば、マージ処理においてラダープログラムと修正プログラムとの間でコンフリクトが発生する場合に、マージ部によって、コンフリクトを解消可能な複数のマージ候補が生成される。
これにより、オペレータが容易にコンフリクトを解消させることができるため、改造にかかる作業工数を可及的に削減することができる。
【発明の効果】
【００１４】
本発明によれば、ラダープログラムの修正を伴う機械の改造を容易にし、作業工数を可及的に削減することができるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係るラダープログラム管理システムの概略構成を示すブロック図である。
【図２】図１のラダープログラム管理システムのラダープログラム管理部に備えられる機械情報データベースの内部構成を示す図である。
【図３】図１のラダープログラム管理システムで実行されるマージ処理の一例について説明する図である。
【図４】図１のラダープログラム管理システムで実行されるマージ処理の他の例について説明する図である。
【図５】図１のラダープログラム管理システムで実行されるマージ処理でコンフリクトが発生した場合の例について説明する図である。
【図６】図１のラダープログラム管理システムで実行されるマージ処理の他の例について説明する図である。
【図７】図１に示されるラダープログラム管理部のデータベース管理部に備えられる修正プログラム生成部で実行される処理について説明する図である。
【図８】図１のラダープログラム管理システムで実行される処理を示したフローチャートである。
【図９】図１のラダープログラム管理システムで管理されるラダープログラムが実行されるプログラマブルコントローラにおける信号の入出力を説明する図である。
【発明を実施するための形態】
【００１６】
以下に、本発明の一実施形態に係るラダープログラム管理装置を備えるラダープログラム管理システムについて図面を参照して説明する。
図１に示されるように、ラダープログラム管理システム１は、イーサネット（登録商標）やＦＬ−ＮＥＴ等の通信ネットワーク６を介して接続される工作機械等の機械７を制御するプログラマブルコントローラ（図９参照）で実行されるラダープログラムを管理するように構成されている。
【００１７】
ラダープログラム管理システム１は、互いにバスを介して接続された、不図示のプロセッサと、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等の主記憶装置と、ＨＤＤ（Hard Disk Drive）等の補助記憶装置と、キーボード等の入力装置と、モニタ等の出力装置と、外部機器との間で種々のデータのやりとりを行う外部インタフェースと、を備えている。補助記憶装置には、以下で説明する各機能を実現するプログラムが格納されており、プロセッサが補助記憶装置からプログラムを主記憶装置に読み出すことにより、プログラムが実行される。
【００１８】
ラダープログラム管理システム１は、機能的には、図１に示されるように、ラダー編集部２と、ラダープログラム管理部（ラダープログラム管理装置）３と、コンパイル部４と、通信部５と、を備えている。
【００１９】
ラダー編集部２は、ラダープログラム管理部３と接続されており、ラダープログラム管理部３によって管理されているラダープログラム等のデータをオペレータが編集できるように構成されている。
【００２０】
コンパイル部４は、ラダープログラム管理部３及び通信部５と接続されており、ラダープログラム管理部３で生成されたラダープログラムをコンパイルして、機械７において実行可能なオブジェクトコードを生成し、通信部５に送信するように構成されている。
【００２１】
通信部５は、通信ネットワーク６を介して機械７に接続されており、コンパイル部５で生成されたオブジェクトコードを送信先となる機械７に対して送信するように構成されている。
【００２２】
なお、図１では、説明のために、機械＃１及び機械＃２として参照される２台の機械７が通信ネットワーク６を介してラダープログラム管理システム１に接続されているが、これに限られず、３台以上の機械７がラダープログラム管理システム１に接続されていてもよい。また、本実施形態においては、これらの機械７は、同一機種であり、機械７自体を制御するためのラダープログラムはいずれも同一のものを使用しているが、これに限られず、異なる機種であり、機械７自体を制御するためのラダープログラムが互いに異なるものであってもよい。
【００２３】
以下、ラダープログラム管理部３について詳細に説明する。なお、以下の実施形態では、特に説明がない限り、機械＃１には周辺機器として機器＃１及び機器＃２が追加され、機械＃２に周辺機器として機器＃２が追加されているものと仮定して説明する。
【００２４】
ラダープログラム管理部３は、機械情報データベース（データベース）３１と、機械情報データベース３１を管理するデータベース管理部３２と、を備えている。
機械情報データベース３１は、機械改造履歴情報３１１と、ラダープログラム履歴情報３１２と、ラダープログラム格納領域３１３と、を備えている。
【００２５】
機械改造履歴情報３１１には、ラダープログラム管理システム１に接続された機械７に施された改造の履歴に関する情報が機械７毎に格納されている。本実施形態では、機械改造履歴情報３１１には、図２に示されるように、機械＃１、機械＃２の夫々について、改造内容とこれに対応する識別情報とが組になって格納された改造履歴テーブルＴ２が含まれる。図２に示される例では、機械＃１に対しては、「設置」、「機器＃１増設」及び「機器＃２増設」という改造が順に行われ、識別情報として“ＩＤ−０１”、“ＩＤ−０２”及び“ＩＤ−０３”が夫々割り当てられている。機械＃２に対しては、「設置」及び「機器＃２増設」という改造が順に行われ、識別情報として“ＩＤ−０１及び“ＩＤ−０３”が夫々割り当てられている。
【００２６】
ラダープログラム履歴情報３１２には、改造内容を示す識別情報とこれに対応する修正プログラムとが組になって格納された履歴情報テーブルＴ１が含まれる。図２に示される例では、識別情報“ＩＤ−０１”で識別される改造に必要な修正プログラムが「オリジナルプログラム」であり、識別情報“ＩＤ−０２”で識別される改造に必要な修正プログラムが「機器＃１増設用修正プログラム」であり、識別情報“ＩＤ−０３”で識別される改造に必要な修正プログラムが「機器＃２増設用修正プログラム」であることを示している。
【００２７】
ここで、修正プログラムとは、改造が行われた際に改造前のラダープログラムに対して新たに追加すべきプログラム部分のことである。例えば、機器＃２が増設された機械＃１を動作させるためには、機械＃１を動作させるためのオリジナルプログラムと機器＃２用増設用修正プログラムとが必要となる。修正プログラムは、過去にオペレータにより編集されたラダープログラムに基づいて、後述する修正プログラム生成部３２５において生成される。
【００２８】
ラダープログラム格納領域３１３には、機械７毎の最新のラダープログラムが格納されている。本実施形態では、機械＃１用の最新のラダープログラムと、機械＃２用の最新のラダープログラムとが格納される。
【００２９】
図１に示されるように、データベース管理部３２は、識別情報検索部３２３と、マージ部３２４と、を備えている。本実施形態では、データ入出力部３２１と、改造検出部３２２と、修正プログラム生成部３２５と、をさらに備えている。
【００３０】
データ入出力部３２１は、ラダー編集部２と、機械情報データベース３１と、改造検出部３２２と、修正プログラム生成部３２５とに接続されている。データ入出力部３２１は、機械情報データベース３１に格納された機械改造履歴情報３１１、ラダープログラム履歴情報３１２及びラダープログラム格納領域３１３に格納されたラダープログラムの各データを、ラダー編集部２においてオペレータに編集させるためのチェックアウト処理を行うように構成されている。また、データ入出力部３２１は、ラダー編集部２においてオペレータによって編集された各データを機械情報データベース３１に格納するためのチェックイン処理を行うように構成されている。
【００３１】
改造検出部３２２は、データ入出力部３２１と、識別情報検索部３２３とに接続されている。改造検出部３２２は、データ入出力部３２１において機械情報データベース３１からチェックアウトされた機械改造履歴情報３１１と、ラダー編集部２においてオペレータによって編集され機械情報データベース３１にチェックインされる機械改造履歴情報３１１との差分をとることにより、改造の検出を行うように構成されている。
【００３２】
識別情報検索部３２３は、改造検出部３２２と、機械情報データベース３１と、ラダー編集部２と、マージ部３２４とに接続されている。識別情報検索部３２３は、改造検出部３２２で検出された改造を示す識別情報を、機械情報データベース３１のラダープログラム履歴情報３１２から検索し、検索された識別情報をマージ部３２４に送信するように構成されている。また、改造検出部３２２で検出された改造を示す識別情報をラダープログラム履歴情報３１２内で見つけることができなかった場合には、ラダー編集部２に対して、過去に行われていない新規の改造である旨を通知するように構成されている。
【００３３】
マージ部３２４は、識別情報検索部３２３と、機械情報データベース３１と、コンパイル部４とに接続されている。マージ部３２４は、機械改造履歴情報３１１に格納された、識別情報検索部３２３から送信された識別情報に対応する修正プログラムと、ラダープログラム格納領域３１３に格納されているラダープログラムとをマージして、新たなラダープログラムを生成し、コンパイル部４に出力するように構成されている。
【００３４】
以下、図３から図６を参照してマージ部３２４で実行されるマージ処理の例について説明する。
図３に示される例では、機械＃１に対して機器＃１と機器＃２とを順に増設する改造が既に行われている。機器＃１が増設された際に、オペレータにより、バージョン１（Ｖｅｒ．１）であるオリジナルプログラムが編集されて、バージョン２Ａ（Ｖｅｒ．２Ａ）である機器＃１増設プログラムが生成され、機器＃１増設プログラムに基づいて、後述する修正プログラム生成部３２５によって機器＃１増設用修正プログラムが生成されている。その後、機器＃２がさらに増設された際に、オペレータにより、バージョン２Ａである機器＃１増設プログラムが編集されて、バージョン３（Ｖｅｒ．３）である機器＃１・機器＃２増設プログラムが生成され、機器＃１・機器＃２増設プログラムに基づいて、後述する修正プログラム生成部３２５によって機器＃２増設用修正プログラムが生成されている。ここで、機械＃２に対して新たに機器＃２が増設される場合、マージ部３２４は、バージョン１であるオリジナルプログラムに機器＃２増設用修正プログラムをマージすることで、バージョン２Ｂ（Ｖｅｒ．２Ｂ）である機器＃２増設プログラムを生成するように構成されている。生成された機器＃２増設プログラムは、コンパイル部４でコンパイルされた後、通信部５及び通信ネットワーク６を介して機械＃２にローディングされる。
【００３５】
図４に示される例では、機械＃１に対して機器＃１を増設し、機械＃２に対して機器＃２を増設する改造が既に行われている。機器＃１が機械＃１に増設された際に、オペレータにより、バージョン１であるオリジナルプログラムが編集されて、バージョン２Ａである機器＃１増設プログラムが生成され、機器＃１増設プログラムに基づいて、後述する修正プログラム生成部３２５によって機器＃１増設用修正プログラムが生成されている。そして、機器＃２が機械＃２に増設された際に、オペレータにより、バージョン１であるオリジナルプログラムが編集されて、バージョン２Ｂである機器＃２増設プログラムが生成され、機器＃２増設プログラムに基づいて、後述する修正プログラム生成部３２５によって機器＃２増設用修正プログラムが生成されている。ここで、機械＃２に対して新たに機器＃１が増設される場合、マージ部３２４は、バージョン２Ｂである機器＃２増設プログラムに機器＃１増設用修正プログラムをマージすることで、バージョン３である機器＃１・機器＃２増設プログラムを生成するように構成されている。
【００３６】
図４に示される例のようにオリジナルプログラムから派生したプログラムに対して修正プログラムをマージする場合に、例えば図５に示されるようなコンフリクトが発生することがある。図５の左上には、図４におけるバージョン２Ａの機器＃１増設プログラムが示されており、機器＃１を増設する改造、すなわち、識別情報“ＩＤ−０２”によって識別される改造において、ラング番号２で参照されるラングに接点Ｃ（ＩＤ−０２増設接点）を配置するような修正がなされている。当該修正部分が機器＃１増設用修正プログラムである。図５の左下には、図４におけるバージョン２Ｂの機器＃２増設プログラムが示されており、機器＃２を増設する改造、すなわち、識別情報“ＩＤ−０３”に対応する改造において、ラング番号２で参照されるラングに接点Ｄ（ＩＤ−０３増設接点）を配置するような修正がなされている。
【００３７】
この状況において、機器＃２増設プログラムに機器＃１増設用修正プログラムをマージしようとすると、ラング番号２で参照されるラングにおける接点Ｃと接点Ｄとの間でコンフリクトが発生し、一意にマージすることができない。そこで、マージ部３２４は、図５の右上に示されるような接点Ｃと接点Ｄとを直列に接続したＡＮＤ回路と、図５の右下に示されるような接点Ｃと接点Ｄとを並列で接続したＯＲ回路の２つの候補（マージ候補）を生成しオペレータに提示するように構成されている。そして、オペレータが、提示された候補のうちの一つを選択することで、コンフリクトが解消され、マージ部３２４において適切にマージ処理が実行される。また、これにより、オペレータが容易にコンフリクトを解消させることができるため、改造にかかる作業工数を可及的に削減することができる。
なお、マージ部３２４において生成される候補は２つに限られず、コンフリクトを解消可能な３つ以上の候補が生成されてもよい。
【００３８】
図６には、他のマージ例が示されている。機械＃２に対し、識別情報“ＩＤ−０３”によって識別される改造に伴うマージ処理を行う場合を想定する。マージされる修正プログラム内に、識別情報“ＩＤ−０２”によって識別される改造に伴う修正箇所が含まれている場合、マージ部３２４は、識別情報“ＩＤ−０３”によって識別される改造に伴う修正箇所のみを修正プログラムから抽出し、マージ処理を行うように構成されている。
【００３９】
修正プログラム生成部３２５は、図１に示されるように、データ入出力部３２１と、機械情報データベース３１と、コンパイル部４とに接続されている。修正プログラム生成部３２５は、データ入出力部３２１おいて機械情報データベース３１からチェックアウトされたラダープログラムと、データ入出力部３２１において機械情報データベース３１にチェックインされるラダープログラムとの差分に基づいて修正プログラムを生成するように構成されている。修正プログラムの生成方法の例について、図７を参照しながら説明する。
【００４０】
図７の左側下段に示されるようなオリジナルのラダープログラムが、機械情報データベース３１のラダープログラム格納領域３１３に格納されていると仮定する。ここで、機械＃１に機器＃１を増設するような改造が初めて行われる場合、オペレータは、当該改造に必要となるラダープログラムを作成するため、オリジナルのラダープログラムを、データ入出力部３２１を介して機械情報データベース３１からチェックアウトし、ラダー編集部２においてラダープログラムを編集する。オペレータは、例えば、図７の左側中段に示されるように、ラング番号２及びラング番号３で参照されるラングからなるラダープログラムをオリジナルのラダープログラムに追加するように編集し、編集後のラダープログラムを、データ入出力部３２１を介して、機械情報データベース３１にチェックインする。この際に、修正プログラム生成部３２５は、チェックアウトされたオリジナルのラダープログラムと、オペレータによって編集されてチェックインされたラダープログラムとの差分である差分プログラムを機器＃１増設用修正プログラムとして、機械情報データベース３１のラダープログラム履歴情報３１２に登録する。
【００４１】
次に、機器＃１が増設された機械＃１に機器＃２を増設するような改造が初めて行われる場合、オペレータは、当該改造に必要となるラダープログラムを作成するため、現在のラダープログラム、すなわち、機器＃１が増設された機械＃１を制御するためのラダープログラムを、データ入出力部３２１を介して機械情報データベース３１からチェックアウトし、ラダー編集部２において編集する。オペレータは、例えば、図７の左側上段に示されるように、ラング番号４で参照されるラングからなるラダープログラムを現在のラダープログラムに追加するように編集し、編集後のラダープログラムを、データ入出力部３２１を介して、機械情報データベース３１のラダープログラム格納領域３１３にチェックインする。この際に、修正プログラム生成部３２５は、チェックアウトされた現在のラダープログラムと、オペレータによって編集されてチェックインされたラダープログラムとの差分である差分プログラムと、この差分プログラムに含まれる入出力リレー（図９に示される入出力信号）と関連するリレーが配置されたラングとを組み合わせて、機器＃２増設用修正プログラムを生成する。
【００４２】
すなわち、図７に示される例では、ラング番号４で参照されるラングからなる差分プログラムに含まれる接点は、“Ｒ１０．０”として参照されるビット信号を入力信号として動作するところ、この入力信号に関連する出力信号は、ラング番号２で参照されるラングに配置されたコイルから出力される。従って、ラング番号４で参照されるラングからなる差分プログラムに、この差分プログラムの入力信号に関連する出力信号を出力するコイルが配置されたラング番号２で参照されるラングからなるプログラムを追加することで、機器＃２増設用修正プログラムが生成される。
【００４３】
なお、図９に示されるように、図７に示される入出力リレーに付された符号“Ｒ”は、プログラマブルコントローラの内部でやりとりされる内部信号であることを表している。図７に示される入出力リレーに付された符号“Ｆ”は、ＣＮＣ（数値制御装置）からプログラマブルコントローラに入力される入力信号であることを表している。図７に示される入出力リレーに付された符号“Ｙ”は、プログラマブルコントローラから外部機器に出力される出力信号であることを表している。また、図７に示されるラダープログラムでは使用されていないが、図９に示されるように、符号“Ｇ”は、プログラマブルコントローラからＣＮＣに出力される出力信号であることを表しており、符号”Ｘ”は、外部機器からプログラマブルコントローラに入力される入力信号を表している。
【００４４】
修正プログラム生成部３２５は、生成された機器＃２増設用修正プログラムを機械情報データベース３１のラダープログラム履歴情報３１２に登録するように構成されている。
さらに、修正プログラム生成部３２５は、オペレータによって編集された後のラダープログラムをコンパイル部４に送信するように構成されている。
【００４５】
なお、上述の例では、差分プログラムに対して、ラング単位のプログラムを追加して修正プログラムを生成しているが、ラング単位よりも小さい単位の部分的なプログラムを追加することで修正プログラムを生成してもよい。
【００４６】
次に、ラダープログラム管理システム１において実行されるラダープログラム管理方法について、図１及び図８を参照しながら説明する。
ラダープログラム管理システム１に通信ネットワーク６を介して接続された機械７に対して改造が行われると、オペレータによって、当該改造に関するデータがラダープログラム管理システム１に入力される（図８のステップＳ１）。より具体的には、ラダー編集部２によって、機械改造履歴情報３１１のうち当該改造の対象となる機械７についての改造履歴テーブルＴ２がデータ入出力部３２１を介して機械情報データベース３１からチェックアウトされる。チェックアウトされた改造履歴テーブルＴ２は、ラダー編集部２において、オペレータによって当該改造の内容に関する情報及びこれに対応する識別情報が追加された後で、データ入出力部３２１を介して機械情報データベース３１にチェックインされる。
【００４７】
この際に、改造検出部３２２によって、チェックアウトされる改造履歴テーブルＴ２と、チェックインされる改造履歴テーブルＴ２とを監視し、両者の差分をとることにより、改造検出が行われ（図８のステップＳ２）、改造がされたか否かの判断がなされる（図８のステップＳ３）。改造がなされていないと判断された場合には、データ入出力部３２１においてデータが入力されるまで待機する。
【００４８】
改造がなされたと判断された場合には、識別情報検索部３２３によって、当該改造を示す識別情報が、ラダープログラム履歴情報３１２を示す履歴情報テーブルＴ１から検索され（図８のステップＳ４）、履歴情報テーブルＴ１内に、当該改造を示す識別情報があったか否かが判断される（図８のステップＳ５）。
【００４９】
履歴情報テーブルＴ１内に当該改造を示す識別情報があった場合、マージ部３２４によって、ラダープログラム格納領域３１３に含まれる当該改造の対象となった機械７用のラダープログラムと、ラダープログラム履歴情報３１２の当該改造を示す識別情報に対応する修正プログラムとがマージされる（図８のステップＳ６）。
【００５０】
マージが終了すると、他の改造があるか否かが判断される（図８のステップＳ７）。他の改造がある場合には、ステップＳ４に戻る。
他の改造がない場合には、コンパイル部４によって、マージされたラダープログラムがコンパイルされ、オブジェクトコードが生成される（図８のステップＳ１０）。
そして、通信部５及び通信ネットワーク６を介して改造対象の機械７に対して生成されたオブジェクトコードをローディングして（図８のステップＳ１１）、処理を終了する。
このように、複数の機械７の夫々のラダープログラムと、過去に実施された改造に対応する修正プログラムとがデータベース化されて集中管理されているため、新たに過去に実施された改造と同様のラダープログラムの修正を伴う改造を実施する場合の修正や保守が容易となり、改造にかかる作業工数を可及的に削減することができる。
【００５１】
図８のステップＳ５において、当該改造を示す識別情報が履歴情報テーブルＴ１内になかった場合、識別情報検索部３２３からラダー編集部２に対して、当該改造を示す識別情報が履歴情報テーブルＴ１内にない旨が通知される。そして、ラダー編集部２は、この通知を受け、オペレータに対し、当該改造に必要な修正をラダープログラムに行うように促す。続いて、オペレータの指示により、ラダー編集部２によって、ラダープログラム格納領域３１３の当該改造の対象となる機械７についてのラダープログラムがデータ入出力部３２１を介して機械情報データベース３１からチェックアウトされる。チェックアウトされたラダープログラムは、ラダー編集部２において、オペレータによって当該改造に必要な修正がなされた後で、データ入出力部３２１を介して機械情報データベース３１にチェックインされる（図８のステップＳ８）。
【００５２】
この際に、修正プログラム生成部３２５によって、チェックアウトされたラダープログラムとチェックインされたラダープログラムとの差分に基づいて修正プログラムが生成され、ラダープログラム履歴情報３１２に格納される（図８のステップＳ９）。より具体的には、修正プログラムは、修正プログラム生成部３２５によって、既に実施された改造においてオペレータによって修正された後のラダープログラムと当該修正前のラダープログラムとの差分である差分プログラムに、修正前のラダープログラムから検索された差分プログラム内の入出力信号に関連する箇所が追加されることにより生成される。
【００５３】
このように、差分プログラムだけではなく、差分プログラム内の入出力信号に関連する箇所が差分プログラムに追加されるので、改造に対して必要かつ十分な修正プログラムを生成することができる。また、このようにすることで、修正プログラムの管理が容易となる。
【００５４】
また、チェックインされたラダープログラムは、修正プログラム生成部３２５によって、コンパイル部４に送信される。そして、コンパイル部４によって、ラダープログラムがコンパイルされ、オブジェクトコードが生成され（図８のステップＳ１０）、通信部５及び通信ネットワーク６を介して改造対象の機械７に対して生成されたオブジェクトコードがローディングされ（図８のステップＳ１１）、一連の処理が終了する。
【００５５】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこれらの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【００５６】
例えば、上記の実施形態では、修正プログラムをデータベース管理部３２に備えられる修正プログラム生成部３２５で生成しているが、必要な修正プログラムが予めラダープログラム履歴情報３１２に格納されている場合には、データベース管理部３２が修正プログラム生成部３２５を備えない構成であってもよい。
【００５７】
さらに、上記の実施形態では、データ入出力部３２１を介して入出力される機械改造履歴情報３１１がラダー編集部２において編集された際に、改造検出部３２２が自動的に改造を検出し、当該改造に対応する識別情報を識別情報検索部３２３に送信するように構成されているが、これに限定されない。例えば、データ入出力部３２１及び改造検出部３２２を省略し、ラダー編集部２においてオペレータが当該改造に対応する識別情報を入力し、ラダー編集部２がその識別情報を直接、識別情報検索部３２３に送信する構成としてもよい。この場合、機械情報データベース３１の機械改造履歴情報３１１を不要としてもよい。
【符号の説明】
【００５８】
７  機械
３１  機械情報データベース（データベース）
３２  データベース管理部
３１１  機械改造履歴情報
３１２  ラダープログラム履歴情報
３１３  ラダープログラム格納領域
３２３  識別情報検索部
３２４  マージ部
３２５  修正プログラム生成部
【図１】
2018088178.tif 000003
【図２】
2018088178.tif 000004
【図３】
2018088178.tif 000005
【図４】
2018088178.tif 000006
【図５】
2018088178.tif 000007
【図６】
2018088178.tif 000008
【図７】
2018088178.tif 000009
【図８】
2018088178.tif 000010
【図９】
2018088178.tif 000011