説明

プログラマブルコントローラ用プログラミング装置

【課題】
プログラマブルコントローラのプログラムはユーザによって、修正、編集等が行われるとプログラム名を変更して保存したり、そのまま上書き保存したりとプログラムの管理体制が雑になる可能性があり、この点を課題とする。
【解決手段】上記課題を解決するために、プログラマブルコントローラで動作するプログラムをプログラミングするプログラマブルコントローラのプログラミング装置において、既存のプログラムを有する既存ファイルを元にしてプログラムを作成、または編集する場合に、前記プログラムの作成、または編集を行うプログラム作成編集手段と、前記プログラム作成編集手段によって作成編集されたプログラムの保存時に、新規ファイルを作成し、前記既存ファイルのファイル名で保存するファイル保存手段と、前記ファイル保存手段によって保存された前記ファイル名の末尾に文字列を付加するファイル名文字列付加手段を設けるようにする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はプログラマブルコントローラ用プログラミング装置に関する。
【背景技術】
【0002】
本技術分野の背景技術として、特開2006−85279号公報(特許文献1)がある。この公報には、「ユーザの利便性を考慮しながら上書き処理を適切に実行し、かつ元ファイルの保護を行なうことができる、ファイル管理ラダープログラムを提供する。」と記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−85279号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
前記特許文献1には、上書き処理に対するファイル管理の仕組みが記載されている。しかし、特許文献1のファイル管理は既存ファイルと新規ファイルの変更点内容を管理することができない。
【0005】
このようなファイル管理では、例えば、新規ファイルに対しなんらかの問題が生じた時、原因追求として既存ファイルと新規ファイルでの比較が容易にできない場合がある。そしてこれらはプログラミング装置を対象とした場合でも考えられる。
【0006】
プログラミング装置は一般にはプログラミング装置単体での使用でなく、外部機器が別途用意され、外部機器に対しプログラムの書込みや読出しを行う。プログラマブルコントローラ用のプログラミング装置に接続される外部機器として、プログラマブルコントローラがある。
【0007】
プログラマブルコントローラにて演算処理されるラダープログラムは、制御盤設計者が設計・コーディングしたのち、エンドユーザへ引き渡されることが多い。引渡しの後、設備改修などの理由により、エンドユーザ自身の手によってラダープログラムが変更されることがしばしばある。
【0008】
この変更などのために、パソコンのデータや図面などの形態で制御盤設計者から引き渡されたラダープログラムと、プログラマブルコントローラにて実際に演算処理されているラダープログラムが一致しなくなるという事態が発生することがある。
【0009】
また、最終的にラダープログラムの変更・修正は、入出力信号の処理タイミングの調整や他周辺機器との通信同期調整などのため、プログラマブルコントローラが実設備に組み込まれた状態で行われることが多い。組み込まれる設備によっては僅かなタイミング調整を行うために「ラダープログラム修正→ラダープログラム書き込み→動作検証」を繰り返すことがある。
【0010】
それによって修正されたラダープログラムはユーザ自身の手によって、ラダープログラム名を変更して保存したり、そのまま上書き保存したりすると、ラダープログラムのバージョン管理等の管理体制が雑になってしまう可能性がある。
【0011】
また、新規にラダープログラムを作成する際、以前使用されていたラダープログラムを参照したり、以前使用されていたラダープログラムの一部を修正して新たなラダープログラムを作成する場合がある。
【0012】
この場合、新規ラダープログラムと流用対象のラダープログラムとの間で、動作する際の動作環境について、いくつかの環境の違いを検証する必要がある場合もある。例えば、プログラマブルコントローラのハードウェア仕様(CPUのバージョン等)が異なることで、微妙な動作の差異が生ずることがある。または、動作するプログラミングコントローラのファームウェアバージョンの差異が動作の差異に影響することもある。
【0013】
従って、プログラミング装置においては、これらの使用環境、動作環境に関する情報についても、管理することが必要とされる場合もある。
【0014】
よって本発明は、これらの管理体制、管理出来るようにする仕組み、構成について、ユーザのプログラム修正、プログラミングを支援することを課題とする。
【課題を解決するための手段】
【0015】
本発明は、上記課題に対して、改善を行うものである。
【0016】
本発明では、上書き処理時に既存ラダープログラムと新規ラダープログラムの変更点についての内容を共通の管理テーブルにて管理するファイル管理ラダープログラムを備えたプログラミング装置を提供する。
【0017】
例えば、プログラミング装置を用いて新規プログラムの作成、または既存プログラムの編集を行った場合において、ユーザ操作としては、例えば、見かけ上は、上書き保存処理を行ったとしても、既存プログラムの保護を行うことができるようにするものである。
【0018】
さらに新規プログラムと既存プログラムとの変更点や差異、または、新規プログラムの変更点、使用時のプログラマブルコントローラを構成するハードウェアに関する固有の情報などいった情報を自動的に読み出し、共通の管理テーブルで一元管理可能となり、ユーザに負荷をかけずに管理体制を提供できるようにする。
【0019】
また、上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
【0020】
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、「プログラマブルコントローラで動作するプログラムをプログラミングするプログラマブルコントローラのプログラミング装置において、前記プログラムの作成編集を行う作成編集手段と、前記作成編集されたプログラムの保存時に、新規ファイルを作成して、既存ファイルを上書きせずに既存ファイルを保護するファイル保存手段と、前記保存した新規ファイルのファイル名の末尾に自動的に文字列を付加するファイル名文字列付加手段と、前記新規ファイルの情報、既存ファイルと新規ファイルの差異を入力する管理情報入力手段と、前記新規ファイル作成時に、使用されるプログラマブルコントローラを構成するハードウェアに関する固有の情報を読み出し、管理テーブルに入力する管理情報入力手段と、前記入力された管理テーブルの内容を示す管理テーブルファイルを自動的に作成する管理テーブルファイル作成手段と、前記プログラマブルコントローラとの通信を行う通信手段とを有することを特徴とするプログラマブルコントローラ用プログラミング装置」を提供することを特徴とする。
【0021】
また、上記手段について、以下に他の表現にて、説明をする。
【0022】
プログラマブルコントローラで動作するプログラムをプログラミングするプログラマブルコントローラのプログラミング装置において、既存のプログラムを有する既存ファイルを元にしてプログラムを作成、または編集する場合に、前記プログラムの作成、または編集を行うプログラム作成編集手段と、前記プログラム作成編集手段によって作成編集されたプログラムの保存時に、新規ファイルを作成し、前記既存ファイルのファイル名で保存するファイル保存手段と、前記ファイル保存手段によって保存された前記ファイル名の末尾に文字列を付加するファイル名文字列付加手段と、前記プログラマブルコントローラとの通信を行う通信手段と、を有するようにする。
【0023】
また、既存ファイルが有する既存のプログラムを元にしてプログラムを作成、または編集して新規ファイルとして保存された回数をカウントする保存回数カウント手段を備え、前記ファイル名文字列付加手段で付加される前記文字列は、前記保存回数カウント手段から得られる保存カウント数とし、前記保存回数カウント手段は、前記保存カウント数を用いて新規ファイルが保存された場合には、保存カウント数に所定の数値を加算するようにする。
【0024】
また、前記ファイル保存手段によって保存されるファイルが有するプログラムに対する情報を管理する管理テーブルを有する管理テーブルファイルを作成する管理テーブルファイル作成手段を備え、前記新規ファイルが有するプログラムの情報を前記管理テーブルに入力する、または既存ファイルが有するプログラムの情報と新規ファイルが有するプログラムの情報との差異に関する情報を前記管理テーブルに入力する管理情報入力手段を設けるようにする。
【0025】
また、前記管理情報入力手段によって前記管理テーブルに入力される情報が、前記ファイル保存手段によって保存されるファイルのファイル名、または、前記ファイル保存手段によってファイルが保存された日時、時間に関する情報、または、前記プログラムを作成、または編集した操作者に関する情報の内の少なくとも1つを含むようにする。
【0026】
また、前記ファイル保存手段によって新規ファイルの保存時に、前記プログラマブルコントローラを構成するハードウェアに関する固有の情報を読出し、前記管理テーブルに入力する固有情報入力手段を設けるようにする。
【0027】
また、前記管理情報入力手段によって前記管理テーブルに入力される情報が、前記プログラマブルコントローラで動作する中央制御装置であるCPUのバージョンに関する情報、または、前記CPUを制御するファームウェアに関する情報の内の少なくとも1つを含むようにする。
【発明の効果】
【0028】
本発明によれば、プログラミング装置を用いて新規プログラムの作成、または既存プログラムの編集を行った場合での上書き保存処理によって既存プログラムは保護を行うことができ、さらに新規プログラムと既存プログラムの変更点の差異、新規プログラムの変更点、使用時のプログラマブルコントローラのハードウェアに関する固有の情報などといった情報を自動的に読み出し、共通の管理テーブルで一元管理可能となり、ユーザに負荷をかけずに管理する体制を提供することができるようにする。
【0029】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0030】
【図1】本発明に基づく実施例のプログラミング装置の構成図である。
【図2】本発明に基づく実施例の新規作成画面表示例である。
【図3】本発明に基づく実施例のラダープログラムの表示例である。
【図4】本発明に基づく実施例のラダープログラムの表示例である。
【図5】本発明に基づく実施例のラダープログラムの表示例である。
【図6】本発明に基づく実施例の上書き保存機能設定画面の表示例である。
【図7】本発明に基づく実施例の管理テーブル項目設定画面の表示例である。
【図8】本発明に基づく実施例の管理テーブル表示例である。
【図9】本発明に基づく実施例の管理テーブル表示例である。
【図10】本発明に基づく実施例の管理テーブル表示例である。
【図11】本発明に基づく実施例の管理テーブル表示例である。
【図12】本発明に基づく実施例の図2、図3、図4、図5の表示例を表示するための処理フローチャート図である。
【図13】本発明に基づく実施例の上書き保存を行う処理の詳細なフローチャート図である。
【図14】本発明に基づく実施例の管理テーブル更新を行う処理の詳細なフローチャート図である。
【図15】本発明に基づく実施例のプログラマブルコントローラの構成図である。
【発明を実施するための形態】
【0031】
以下、実施例を図面を用いて説明する。
【実施例1】
【0032】
本実施例ではプログラマブルコントローラ用プログラミング装置(以下、プログラミング装置と称する)において既存ラダープログラムの編集を行い、例えば、ユーザ操作によって、見かけ上の上書き保存動作を行った場合に、元のラダープログラムの保護を行い、管理テーブルを更新する例を説明する。
【0033】
図1は、本実施例のプログラマブルコントローラにおけるプログラミング装置のハードウェア構成図である。
【0034】
プログラミング装置は、CPU10、主記憶装置20、補助記憶装置30、入力装置40、表示などの出力を行う出力装置50、通信インターフェース60を有する。
【0035】
プログラミング装置とは、図1の構成の専用コンピュータだけでなく、図1の構成の汎用コンピュータ上で動作するソフトウェアのことでも良い。
【0036】
図15はプログラマブルコントローラのハードウェア構成図である。
【0037】
プログラマブルコントローラはCPU1510、主記憶装置1520、補助記憶装置1530、入力装置1540、表示などの出力を行う出力装置1550、通信インターフェース1560を有する。
【0038】
プログラマブルコントローラとプログラミング装置は通信インタフェース60と通信インタフェース1560の間で通信を行い、図3、図4に示すようなラダープログラムの書き込み、読み出し、照合などの処理が行われる。
【0039】
図2は図1のプログラミング装置の出力装置50に表示するラダープログラム新規作成時設定画面である。
【0040】
新規作成設定領域200は、ラダープログラム名称入力エリア210、設定を反映させるボタン220、設定をキャンセルさせるボタン230を有する。
【0041】
なお、新規作成設定領域200は、新規ラダープログラム作成時のみ表示され、既存ラダープログラム編集時には表示されない。
【0042】
図3は、図1のプログラミング装置で作成された既存のラダープログラムであり、図1プログラミング装置の出力装置50に表示された表示例である。プログラミング装置表示領域300は、ラダープログラムを表示する領域310、現在編集中のラダープログラム名の表示領域320を表示する領域を有する。
【0043】
プログラミング装置は、ラダープログラムを表示する領域310に、ユーザが入力したラダープログラムをシンボルとI/O番号を用いて表示する。
【0044】
図3においては、ラダープログラム名の表示領域320に、プログラム名称として、“TEST[R0]”が表示されている。
【0045】
図3は、一般的なラダープログラムである。図3では、接点X0がONすると、コイルMCS0がONする。接点X1がONすると、コイルY100がONし、接点X2がONすると、コイルY101がONするようなプログラムとなっている。
【0046】
図4は、図3のラダープログラムの編集後、上書き保存動作を行った場合に、プログラミング装置によって、ラダープログラム名の表示領域320に、プログラム名称として、“TEST[R1]”が表示されている表示例である。
【0047】
ユーザにてラダープログラムを表示する領域300に対し、既存ラダープログラムの編集を行い、ユーザにて上書き保存処理が行われると、新規ファイルとして図2に示すラダープログラム名称入力エリア210に入力したラダープログラム名の末尾に、図6に示す現在のラダープログラムの保存カウント数を表示するエリア611の保存カウント数を付加したラダープログラム名で保存する。
【0048】
この処理によって、図3に示す現在編集中のラダープログラム名の表示領域320に表示されていたプログラム名称の“TEST[R0]”が、保存後には、図4に示す現在編集中のラダープログラム名の表示領域320表示されるプログラム名称の“TEST[R1]”となる。
【0049】
上記処理によって、ユーザは意識することなく図3に示されているプログラム名称“TEST[R0]”のラダープログラムを保護することができる。即ち、ラダープログラムの作成、編集を行った後に、ユーザが見かけ上、上書き保存を行っても、図3に示されるプログラム名称“TEST[R0]”のラダープログラムは、プログラム名称の“TEST[R1]”として、上書きされることが無く、保護されるのである。
【0050】
図4では、プログラム名称の“TEST[R1]”は、ユーザーが指定した“TEST”に対して、プログラミング装置が演算によって、“[R1]”を生成して、付加、追加したものである。
【0051】
図6、図12の詳細は後述する。
【0052】
次に、管理テーブルの作成の動作について、説明する。
【0053】
図8は管理テーブルの表示例である。ラダープログラム間の差異を容易に管理するために、編集、修正の前後の関係を視覚的に、一目で把握できるように管理テーブルを使用する。
【0054】
管理テーブル領域800は管理項目810、保存時変更点を表示するエリア820、空きスペースエリア830を有する。
図3に示すラダープログラムを新規作成し、図4に示されるラダープログラムとして保存する。
【0055】
この保存動作によって、図12に示す管理テーブルを更新する処理1210が起動して、新規管理テーブルを作成する。図12に示す管理テーブルを更新する処理1210が図6に示す既存管理テーブルの保管先のパスを入力するエリア641に入力されているパスから図8の管理テーブルを検索する。
【0056】
検索したテーブルに対し、図7に示す管理項目720でユーザが指定した管理項目に関する図3のラダープログラムと図4のラダープログラムの差異、管理内容を図8で示される表示例を提供できるデータを有する管理テーブルに出力し保存する。保存後、図8の管理テーブルは新規変更点エリア840が追加された図9の管理テーブルとなる。
【0057】
また、図12に示す上書き保存、管理テーブル作成更新を行う処理1210が図6に示す既存管理テーブルの保管先のパスを入力するエリア641に入力されているパスから管理テーブルを検索できなかった場合、上書き保存、管理テーブル作成・更新を行う処理1210が新規管理テーブルを作成し、図7に示す管理項目720でユーザが指定した管理項目に関する図3のラダープログラムと図4のラダープログラムとの差異、管理内容を管理テーブルに出力し保存する。
【0058】
保存された管理テーブルは図9の表示例となる。保存後、図6に示す現在のラダープログラムの保存カウント数を表示するエリア611のカウント数を1加算する。
【0059】
上記処理によってユーザは意識することなく管理テーブルを更新することができる。図6、図7、図12は後述する。
【0060】
上記処理によってユーザは意識することなく管理テーブルを更新することができる。ラダープログラムの編集内容を管理テーブルに表示することによって、ユーザは視覚的にラダープログラムの差異を把握することができる。また、管理テーブルに変更日やプログラマブルコントローラのハードウェア・ソフトウェアバージョンを出力し記録することより、作成時の開発環境を把握することができ、今後の定期的な保守メンテナンスをスムーズに行うことができる。
【0061】
図9の管理テーブルの実施例では、変更日として、[2010/11/20」の記載が例示されている。しかしながら、この例示に限定されるものではなく、変更された時間に関する情報をプログラマブルコントローラ、またはプログラミング装置から取得して、管理テーブルとして、入力、記憶、記録、保存されるものでも良い、例えば、月日に限らず、日時、分、秒などの短時間の時間間隔を意味する時間情報であっても良い。
【0062】
なお、これらの情報は、図1、図15には、図示していないが、前記プログラマブルコントローラを構成するハードウェアに関する固有の情報を読出し、前記管理テーブルに入力する手段としての固有情報入力手段を設けるようにするものであっても良い。
【0063】
例えば、プログラミング装置に設けた前記固有情報入力手段が、前記プログラマブルコントローラとの通信を行う通信手段を介して、前記プログラマブルコントローラからハードウェアに関する情報を得て、管理テーブルを表示できるデータ領域に入力、記憶、記録、保存するものであっても良い。
【0064】
また、例えば、前記プログラマブルコントローラのハードウェアに関する情報を、前記プログラマブルコントローラの主記憶装置1520、補助記憶装置1530などの所定の記憶領域に書込み、記憶、記録、保存しておき、この所定の記憶領域を前記プログラミング装置に設けた前記固有情報入力手段が、前記プログラマブルコントローラとの通信を行う通信手段を介して、読出し、参照して、管理テーブルを表示できるデータ領域に入力、記憶、記録、保存するものであっても良い。
【0065】
または、例えば、前記プログラマブルコントローラのハードウェアに関する情報を、通信手段を介して、前記プログラミング装置に出力するプログラムが前記プログラマブルコントローラで動作できるように設けておき、前記プログラミング装置からの出力を要求する信号、指令、要求に対応して、前記プログラミング装置に出力するプログラムが起動、動作して、これらの情報を前記プログラミング装置に出力するようにするものであっても良い。
【0066】
そして、このプログラムによる出力を前記固有情報入力手段が、前記プログラマブルコントローラとの通信を行う通信手段を介して、読出し、参照して、管理テーブルを表示できるデータ領域に入力、記憶、記録、保存するものであっても良い。
【0067】
なお、上述の「前記プログラマブルコントローラのハードウェアに関する情報」は、これに限定されるものではなく、後述するが、CPUや、マイコンを制御するソフトウェアである「ファームウェア」、ハードウエアの基本的な制御をするためのソフトウェアの固有の情報に関するものの情報であっても良い。
【0068】
また、図9の管理テーブルでは、「CPU HARD.REV」との欄があり、「Ver.0132」などのバージョン情報が表示されている。これは、図9の管理テーブルの「CPU HARD.REV」との表示欄に、「Ver.0132」などのバージョン情報が表示できるように、データの記憶領域に記憶、記録、保存されるものである。
【0069】
しかしながら、この「CPU HARD.REV」の欄の例示する前記プログラマブルコントローラの前記CPU1510のバージョン情報に限定されるものではない。
【0070】
例えば、通信インターフェース1560が通信処理を実行できるように制御を行う通信用コントローラ、または通信マイクロコンピュータ(または、通信マイコン)を有する場合に、この通信用コントローラ、または通信マイクロコンピュータのバージョン情報を前記固有情報入力手段、前記固有情報取得手段が読み出し、または取得して、図9の管理テーブルに設けられた表示欄に表示できるように、データ領域に記憶、記録、書き込み、保存されるものでも良い。
【0071】
当然ながら、前記CPU1510、前記通信インターフェース1560が通信処理を実行できるように制御を行う通信用コントローラ、または通信マイクロコンピュータに限らず、前記プログラマブルコントローラを構成するハードウェアの固有の情報に関するものを読み出し、取得して、図9の管理テーブルで表示できるように、データ領域に記憶、記録、書き込み、保存されるものでも良い。
【0072】
なお、前述では、ハードウェアの固有の情報として、例示しているが、ソフトウェアに関する情報であっても良い。
【0073】
例えば、前記CPU1510を制御するソフトウェアとして、ファームウェアと呼ばれるものがある。このファームウェアの固有の情報に関するものを読み出し、取得して、図9の管理テーブルで表示できるように、データ領域に記憶、記録、書き込み、保存されるものでも良い。
【0074】
勿論、この「ファームウェア」との名称に限定されるものではなく、ハードウェアの基本的な制御をするためのソフトウェアの固有の情報に関するものであっても良い。
【0075】
また、前記固有情報入力手段は、前記プログラマブルコントローラを構成するハードウェアに関する固有の情報の読出し手段と、前記管理テーブルに入力する手段の両方を実行するとの例示を記載している。この点についても、一緒ではなく、別々の構成、手段とするものであっても良い。
【0076】
即ち、前記プログラマブルコントローラを構成するハードウェアに関する固有の情報を読出す固有情報取得手段と、読出された固有情報を前記管理テーブルの表示を行うデータ領域に入力する固有情報入力手段とを別の構成手段として、実現、実行、構成するものであっても良い。
【0077】
これらのハードウェアに関する固有の情報、または、ハードウェアの基本的な制御をするためのソフトウェアの固有の情報に関するものを管理テーブルで表示できるように、データ領域に記憶、記録、書き込み、保存されていると、以下のような利点を得られるものと予想される。
【0078】
それは、図9の実施例において、「2010/11/13」の“TEST[R00].PRJ”が「2010/11/20」の変更日に、“TEST[R01].PRJ”に変更された。
【0079】
この「2010/11/20」の変更日の変更内容は、「回路No.243」、「回路No.243」、「停電記憶エリア」、「IPアドレス」であると図9の管理テーブルからは参照出来る。
【0080】
前記プログラマブルコントローラに変更後の“TEST[R01].PRJ”を実行させると、正常動作、若しくは、設計仕様を満たす動作をしないなど、所望の動作をしない場合がある。
【0081】
この場合に、プログラムが正常動作を実行するものとして、変更されていても、前記CPU1510のバージョンの情報が異なるCPUの実装されたプログラマブルコントローラで、“TEST[R01].PRJ”を実行させたことで、所望の動作をしないことが予想される。
【0082】
即ち、プログラマブルコントローラが正常動作しない、所望の動作をしないのは、「2010/11/20」の変更日の「回路No.243」、「回路No.243」、「停電記憶エリア」、「IPアドレス」での変更内容が原因ではなく、前記CPU1510のバージョンの情報が異なるCPUであることが原因であることも充分に予想されるものである。
【0083】
このような場合には、図9に管理テーブルで、「CPU HARD.REV」の欄のプログラマブルコントローラのバージョン情報の違うことを見出せるので、正常動作しない、所望の動作をしない原因を、より早く発見することが可能となる。この点で、例えば、前記プログラマブルコントローラのメンテナンスなどが容易に実施可能となり、操作者の利便性、操作性などを従来よりも改善出来ることとなる。
【0084】
繰り返しとなるが、この点は、ハードウェアの固有の情報に関するものに限定されるものではなく、「ファームウェア」、ハードウェアの基本的な制御をするためのソフトウェアの固有の情報に関するものであっても同様である。これらの「ファームウェア」、ハードウェアの基本的な制御をするためのソフトウェアの固有の情報に関するものが異なることを図9の管理テーブルに設けた表示欄から見出せるようにすることで、前記プログラマブルコントローラのメンテナンスなどが容易に実施可能となり、操作者の利便性、操作性などを従来よりも改善出来ることとなる。
【0085】
更に、前述の実施例では、これらのハードウェアの固有の情報に関するもの、「ファームウェア」、ハードウェアの基本的な制御をするためのソフトウェアの固有の情報に関するものを、例えば、前記固有情報入力手段、固有情報取得手段が前記プログラマブルコントローラから読み出し、取得して、図9の管理テーブルの対応する表示欄に表示できるように、テータ領域に、記憶、記録、書き込み、保存されるものである。
【0086】
これらの実行手段が備わっていないプログラミング装置では、ユーザが、これらの情報を、各々確認したり、見つける必要があり、操作性としては、前記実施例と比較すると、良いものとは言えない。
【0087】
これらの点で、前記実施例では、図9の管理テーブルが表示でき、そして、その管理テーブルをプログラムの変更と対応させて、表示できるので、操作者の操作性の向上に大きく寄与するものである。
【0088】
ここで、「その管理テーブルをプログラムの変更と対応させて、表示できる」としているとは、前記ファイル保存手段によって保存が行われる際に、前記ファイル名文字列付加手段によって文字列が付加された前記ファイル名と文字列からなる名称が、図9の管理テーブルに表示できる欄を設けて、表示すること、表示できるようにデータ領域に記憶、記録、書き込み、保存されるようになっている構成のことなども含むのである。
【0089】
これは、例えば、図9で、プログラム名の“TEST[R00].PRJ”に対応させて、変更内容、変更日、「CPU HARD.REV」の欄(または、ハードウェアの固有の情報、「ファームウェア」、ハードウェアの基本的な制御をするためのソフトウェアの固有の情報に関するもの)の情報が表示できるようになっている。そして、プログラム名の“TEST[R01].PRJ”に対応させて、変更内容、変更日、「CPU HARD.REV」の欄(または、ハードウェアの固有の情報、「ファームウェア」、ハードウェアの基本的な制御をするためのソフトウェアの固有の情報に関するもの)の情報がが表示できるようになっている構成によって、操作者の操作性、利便性向上が図れていることを特徴とするものである。
【0090】
前述の繰り返しとなるが、本発明の前記実施例では、図9の管理テーブルの表示のように、ファイル名と文字列の名称であるプログラム名の“TEST[R01].PRJ”などに対応させて、変更内容、変更日、「CPU HARD.REV」の欄(または、ハードウェアの固有の情報、「ファームウェア」、ハードウェアの基本的な制御をするためのソフトウェアの固有の情報に関するもの)の情報が表示できるようになっている。
【0091】
この点で、“TEST[R01].PRJ”などのプログラムでプログラマブルコントローラが所望の動作をしないなどの場合に、前記変更内容の欄に記載されたプログラムへの変更内容が原因で、所望の動作をしないのか、それとも、プログラマブルコントローラの動作環境が変わったことが原因で、所望の動作をしないのであるかの判別に役立つものである。
【0092】
前記「CPU HARD.REV」の欄(または、ハードウェアの固有の情報、「ファームウェア」、ハードウェアの基本的な制御をするためのソフトウェアの固有の情報に関するもの)の情報は、一般には、表示されることが少なく、表示用のプログラム、ソフトウェアを動作させて、表示させる、または参照されるように出来るものである。
【0093】
または、上記の情報の内で、例えば、CPU、マイコンのバージョン情報については、プログラマブルコントローラの筐体、ケースを開けて、これらCPU、マイコンの表面に印字、刻印されたバージョン情報を直接読取る、参照することで、確認することが出来る。
【0094】
しかし、プログラマブルコントローラの筐体、ケースを開けることが、手間であるし、困難である場合もある。または、CPU,マイコンの表面には、場合によっては、冷却用のフィン、放熱器が設けられていると、現実問題として、CPU、マイコンの表面の印字、刻印などを直接読取ることが困難である場合が多いと予想される。
【0095】
また、これらのCPU,マイコンのバージョン情報などは、例えば仕様書などに記載されているとは限らず、若しくは記載されていても、予告も無く変更となっている場合も有り得る。
【0096】
これは、CPU,マイコンのバージョン情報に限定されず、前記ハードウェアの固有の情報、「ファームウェア」、ハードウェアの基本的な制御をするためのソフトウェアの固有の情報に関するものの情報でも同様のことが予想される。
【0097】
以上のことを含めると、前述の実施例の図9の管理テーブルにこれらの「CPU HARD.REV」の欄(または、ハードウェアの固有の情報、「ファームウェア」、ハードウェアの基本的な制御をするためのソフトウェアの固有の情報に関するもの)の情報が表示されていることは、メンテンス時などにおいて、操作者にとって、より有用であり、操作性、作業性の効率の向上、改善に役立つものである。
【0098】
更には、メンテンス時などにおいて、プログラマブルコントローラで動作させるプログラムが所望の動作をしないなどの場合に、操作者にとって、その原因がプログラムの変更によるものであると、思いがちである。その為、プログラムの変更内容を確認したり、更なる変更を行ったりすると、正常動作させるのが更に困難となると予想される。
【0099】
これに対し、本発明の上記実施例であれば、図9の管理テーブルに、「CPU HARD.REV」の欄(または、ハードウェアの固有の情報、「ファームウェア」、ハードウェアの基本的な制御をするためのソフトウェアの固有の情報に関するもの)の情報が表示されている為、この表示されること自体が、操作者に、変更内容にのみ、近視眼的にとらわれるのを抑制し、別の要因としてのこれらの動作環境などを含む情報にも目を向けて、メンテナンス、作業、操作をするように、注意喚起するということも可能とするものである。
【0100】
なお、上記実施例の内容にのみ限定されるものではなく、上記の管理テーブルの情報などが、ファイル名と文字列とを有する名称などと対応して、表示などされるようにするものであっても良いものである。
【実施例2】
【0101】
本実施例ではプログラミング装置においてラダープログラムの新規作成を行い、作成後上書き保存動作を行った場合に、管理テーブルを新規作成する例を説明する。
【0102】
図5は、図1のプログラミング装置でラダープログラムが新規作成され、その出力装置50に表示された表示例である。プログラミング装置表示領域300は、ラダープログラムを表示する領域310、現在編集中のラダープログラム名の表示領域320を表示する領域を有する。
【0103】
図5においては、ラダープログラム名の表示領域320に、プログラム名称として、図2の新規ラダープログラム作成画面で入力した“TEST”が表示されている。図5のラダープログラムは、編集などによって、変更などが行われていない為、保存カウント数の文字列の”[R1]”などが付加されていない。
【0104】
図3は、図5のラダープログラムの新規作成後、上書き保存動作を行った場合に、プログラミング装置によって、ラダープログラム名の表示領域320に、プログラム名称として、“TEST[R0]”が表示されている表示例である。
【0105】
ユーザにてラダープログラムを表示する領域310のラダープログラムに対し編集を行い、ユーザにて保存処理が行われると、図12に示す上書き保存、管理テーブル作成・更新を行う処理1210が処理を開始し、図2に示すラダープログラム名称入力エリア210に入力したラダープログラム名の末尾に図6に示す現在のラダープログラムの保存カウント数を表示するエリア611の保存カウント数を付加したラダープログラム名で、前記編集の行われたラダープログラムを含むファイルを保存する。
【0106】
図3では、プログラム名称の“TEST[R0]”は、ユーザが指定した“TEST”に対して、プログラミング装置が演算によって、“[R0]”を生成して、追加したものである。
【0107】
保存後、図5に示す現在編集中のラダープログラム名の表示領域320は図3に示す現在編集中のラダープログラム名の表示領域320に示される表示となる。図6、図12の詳細は後述する。
【0108】
次に、管理テーブルの作成の動作について、説明する。
【0109】
図5に示すラダープログラムを新規作成し、図3に示されるラダープログラムとして保存する。この保存動作によって、図12に示す管理テーブルを更新する処理1220が起動して、新規管理テーブルを作成する。
【0110】
管理テーブルには、図7に示す管理項目720でユーザが指定した管理項目に関する図4のラダープログラムの管理内容を管理テーブルに出力し保存する。
【0111】
新規作成された管理テーブルは図8となる。保存後、図6に示す現在のラダープログラムの保存カウント数を表示するエリア611のカウント数を1加算する。その結果、図3のプログラム名称と図8のプログラム名称が対応するようになる。上記処理によってユーザは意識することなく管理テーブルを新規作成することができる。
【0112】
図6は、図1のプログラミング装置の出力装置50に表示する上書き保存機能設定の表示例である。
【0113】
上書き保存機能設定表示領域600は、上書き処理時ラダープログラム名を変更する機能を有効にするチェックボックス610、上書き処理時ラダープログラム名を変更する機能を無効にするチェックボックス660、現在のラダープログラムの保存カウント数を表示するエリア611、現在のラダープログラムの保存カウント数を0にリセットするボタン612、管理テーブルの更新をする機能を有効にするチェックボックス620、管理テーブルの更新する機能を無効にするチェックボックス650、新規管理テーブルを使用するチェックボックス630、新規管理テーブルの管理項目内容を設定するボタン631、既存の管理テーブルを使用するチェックボックス640、既存管理テーブルの保管先のパスを入力するエリア641、上記設定した内容を編集中のラダープログラムに反映させるボタン670、上記設定した内容を編集中のラダープログラムに反映させないボタン680を有する。
【0114】
図6に示す上書き保存機能設定表示領域600をプログラミング装置出力装置50に表示することにより、ユーザ独自の判断で設定することが可能となる。
【0115】
図7は、図1のプログラミング装置の出力装置50に表示する管理項目設定の表示例である。
【0116】
管理項目設定表示領域700は、管理項目の候補を表示するエリア710、現在設定されている管理テーブルにて管理する項目を表示するエリア720、管理する項目に追加するボタン730、管理する項目から削除するボタン740、上記管理項目に関する設定を反映させるボタン750、上記管理項目に関する設定を反映させないボタン760を有する。
【0117】
管理項目設定表示領域700は、新規管理テーブル作成時のみ有効であり、既存の管理テーブルを使用する場合、管理項目は既存管理テーブルの管理項目が反映される。
【0118】
管理項目設定表示領域700は、図6に示す新規管理テーブルの管理項目内容を設定するボタン631がクリックされると図1のプログラミング装置の出力装置50に表示する。
【0119】
図12は図3、図4、図5、図8、図9、図11、の表示例を表示するための処理フローチャート図である。
【0120】
本実施例における処理を行うために、まずは、保存カウンタを読み出す処理1200が現在のラダープログラムの保存カウント数を表示するエリア611の現在値を読み出す。続いて、上書き保存、管理テーブル更新を行う処理1210が上書き保存、管理テーブルを更新する。
【0121】
上書き保存、管理テーブル更新を行う処理1210の処理の詳細は図13に示しており、後述する。最後に保存カウンタを1加算する処理1220が保存カウンタを1加算する。
【0122】
なお、上記説明では、保存カウンタを1加算するとの説明をしているが、これに限定されるものではなく、保存カウンタの値が更新されて、更新前と重複しない値とするものであれば良い。従って、「1加算」に限定されるものでなく、例えば、所定の数値を加算するものであっても良い。更には、初期値を適宜選択することで、加算ではなく、所定の数値を減算するものであっても良い。
【0123】
図13は上書き保存を行い、管理テーブルを更新する処理1210の処理の詳細なフローチャート図である。上書き保存時、プログラム名を変更して保存するか否か判断し(ステップ1310)、上書き処理時ラダープログラム名を変更する機能を無効にするチェックボックス660にチェックがあれば(ステップ1310−NO)、そのまま上書き保存を行う(ステップ1350)。上書き処理時ラダープログラム名を変更する機能を有効にするチェックボックス610にチェックがあれば(ステップ1310−YES)、既存ラダープログラムは上書きされず、新規ファイルとして図2に示すラダープログラム名称入力エリア210に入力したラダープログラム名の末尾に、図6に示す現在のラダープログラムの保存カウント数を表示するエリア611の保存カウント数を付加したラダープログラム名で保存する。なお、上書き処理時ラダープログラム名を変更する機能を無効にするチェックボックス660と上書き処理時ラダープログラム名を変更する機能を有効にするチェックボックス610の二項目は、両方にチェックがある、または両方にチェックがないということは存在しない。
【0124】
この点で、ユーザ操作によって、前記の「両方にチェックがある」ような入力を受付けないようにするようにしても良い。または「両方にチェックがない」場合には、警告表示を画面に判り易く表示して、チェックを要求するか、例えば、「OK」のボタン670が指示さても、次の処理を実行しないようにするようにしても良い。
【0125】
上書き保存処理終了後、管理テーブルへ更新するか否かを判断する(ステップ1330)。管理テーブルへ更新する機能を無効にするチェックボックス650にチェックがあればそのまま図13の処理は終了する(ステップ1330−NO)。管理テーブルへ更新する機能を有効にするチェックボックス620にチェックがあれば次に管理テーブル作成・更新を行う(ステップ1330−YES)。なお、管理テーブルへ更新する機能を無効にするチェックボックス650と管理テーブルへ更新する機能を有効にするチェックボックス620の二項目は、両方にチェックがある、または両方にチェックがないということは存在しない。
【0126】
この点で、ユーザ操作によって、前記の「両方にチェックがある」ような入力を受付けないようにするようにしても良い。または「両方にチェックがない」場合には、警告表示を画面に判り易く表示して、チェックを要求するか、例えば、「OK」のボタン670が指示さても、次の処理を実行しないようにするようにしても良い。
【0127】
管理テーブルへ更新する機能を有効にするチェックボックス620にチェックがある場合、管理テーブルの作成・更新の処理を行う。新規管理テーブルを使用するか否か判断する(ステップ1340)。
【0128】
新規管理テーブルを使用するチェックボックス630にチェックがある場合(ステップ1340−YES)、新規管理テーブルを作成する(ステップ1370)。新規管理テーブルを作成する場合、管理テーブルに出力される管理項目は図7に示す管理項目設定表示領域700の設定内容が反映される。
【0129】
既存の管理テーブルを使用するチェックボックス640にチェックがある場合(ステップ1340−NO)、既存管理テーブルの保管先のパスを入力するエリア641から既存の管理テーブルを検索する。検索できた場合(ステップ1360−YES)は検索した管理テーブルを使用し、検索できなかった場合(ステップ1360−NO)は新たに新規管理テーブルを作成する(ステップ1370)。
【0130】
その後、新規作成または既存の管理テーブルに対し、管理項目に対応した既存ラダープログラムと新規ラダープログラムの差異、新規ラダープログラムの管理内容を管理テーブルに更新する処理を行う(ステップ1380)。管理項目に対応した既存ラダープログラムと新規ラダープログラムの差異、新規ラダープログラムの管理内容を管理テーブルに更新する処理は図14に示しており、後述する。
【0131】
図14は、管理項目に対応した既存ラダープログラムと新規ラダープログラムの差異、新規ラダープログラムの管理内容を管理テーブルに更新する処理のフローチャート図である。処理開始時にプログラマブルコントローラの接続状態を確認する(ステップ1410)。
【0132】
プログラマブルコントローラと接続状態であれば(ステップ1410-YES)プログラマブルコントローラのハードウェアバージョン・ソフトウェアバージョンを読み出す(ステップ1420)。その後、管理テーブルが新規作成されたものか判別する(ステップ1430)。
【0133】
新規作成された管理テーブルであれば(ステップ1430−YES)、管理テーブルの先頭行に管理項目に対応した管理内容をプログラミング装置の主記憶装置50から読み出して管理テーブルに出力し、図14の処理を終了する(ステップ1450)。
【0134】
既存の管理テーブルであれば(ステップ1430−NO)、確認後、管理テーブル先頭行から参照し、管理内容が出力されているか確認する(ステップ1440)。
【0135】
出力されていなければ(ステップ1440−NO)、参照した行に対し、管理項目に対応した既存ラダープログラムと新規ラダープログラムの差異、管理内容をプログラミング装置の主記憶装置50から読み出して管理テーブルに出力する(ステップ1470)。
【0136】
出力されていれば(ステップ1440−YES)、次の行を参照し(ステップ1460)、管理内容が出力されていない行を見つけるまで繰り返す。
【実施例3】
【0137】
本実施例はプログラミング装置とプログラマブルコントローラが接続時、未接続時のそれぞれの例を説明する。
【0138】
図10は管理テーブルの表示例である。
【0139】
図10の管理テーブル領域800は管理項目810、保存時変更点を表示するエリア820、空きスペースエリア830、新規更新内容表示エリア840、項目未出力エリア860を有する。
【0140】
図11は図10の管理テーブルから更新された管理テーブルである。
【0141】
図11の管理テーブル領域800は管理項目810、保存時変更点を表示するエリア820、空きスペースエリア830、項目未出力エリア860を有する。
【0142】
図14、管理項目に対応した既存ラダープログラムと新規ラダープログラムの差異、新規ラダープログラムの管理内容を管理テーブルに更新する処理時、ユーザが指定した管理テーブルの管理項目にプログラマブルコントローラのハードウェアバージョン、あるいはプログラマブルコントローラのソフトウェアバージョンなどのプログラマブルコントローラのハードウェア固有の情報が指定されている場合、図1、プログラミング装置の通信インターフェース60と図15、プログラマブルコントローラの通信インターフェース1560との間が接続状態であれば、図1、プログラミング装置の通信インターフェース60と図15、プログラマブルコントローラの通信インターフェース1560を介してプログラマブルコントローラを構成するハードウェアのハードウェアバージョン、プログラマブルコントローラのソフトウェアバージョンを読み出す。
【0143】
プログラマブルコントローラのハードウェアバージョン・ソフトウェアバージョンはプログラミング装置とプログラマブルコントローラの間であらかじめ決めてある通信手順を用いる。
【0144】
プログラミング装置からプログラマブルコントローラのそれぞれハードウェアバージョン・ソフトウェアバージョンを読み出すコマンドをプログラマブルコントローラに送信し、受信したプログラマブルコントローラは主記憶装置1520に格納されているハードウェアバージョン・ソフトウェアバージョンを送り返す。
【0145】
プログラミング装置が受信したら管理テーブルにハードウェアバージョン・ソフトウェアバージョンを出力する。
【0146】
図1、プログラミング装置の通信インターフェース60と図15、プログラマブルコントローラの通信インターフェース1560との間が未接続状態であれば、プログラマブルコントローラのハードウェアバージョン、プログラマブルコントローラのソフトウェアバージョンの項目は管理テーブルに出力せず、図11の管理テーブル表示例未出力項目860のように空白となる。
【0147】
上記処理によって、管理テーブルを参照することによってプログラマブルコントローラの過去の接続状態を把握することができる。
【0148】
上記において、プログラマブルコントローラを構成するハードウェアのハードウェアバージョン、プログラマブルコントローラのソフトウェアバージョンと説明した。
【0149】
このハードウェアのハードウェアバージョンとは、例えば、プログラマブルコントローラを制御する中央制御装置であるCPU、またはマイクロコンピュウータであるマイコンのバージョンに関する情報などがあげられる。
【0150】
また、プログラマブルコントローラのソフトウェアバージョンについても、例えば、前記CPU,またはマイコンを制御するファームウェアなども含むものであっても良い。
【0151】
なお、上記にて、本発明に基づく実施例の説明を行ったが、文字通り実施例であって、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【符号の説明】
【0152】
10:CPU、20:主記憶装置、30:補助記憶装置、40:入力装置、50:出力装置、60:通信インターフェース60、1510:CPU、1520:主記憶装置、1530:補助記憶装置、1540:入力装置、1550:出力装置、1560:通信インターフェース、200:新規作成設定領域、210:ラダープログラム名称入力エリア、300:プログラミング装置表示領域、320:ラダープログラム名の表示領域、310:ラダープログラムを表示する領域、611:保存カウント数を表示するエリア、700: 管理項目設定表示領域、800:管理テーブル領域。

【特許請求の範囲】
【請求項1】
プログラマブルコントローラで動作するプログラムをプログラミングするプログラマブルコントローラ用プログラミング装置において、
既存のプログラムを有する既存ファイルを元にしてプログラムを作成、または編集する場合に、
前記プログラムの作成、または編集を行うプログラム作成編集手段と、
前記プログラム作成編集手段によって作成編集されたプログラムの保存時に、新規ファイルを作成し、前記既存ファイルのファイル名で保存するファイル保存手段と、
前記ファイル保存手段によって保存された前記ファイル名の末尾に文字列を付加するファイル名文字列付加手段と、
前記プログラマブルコントローラとの通信を行う通信手段と、
を有する
ことを特徴とするプログラマブルコントローラ用プログラミング装置。
【請求項2】
請求項1に記載のプログラマブルコントローラ用プログラミング装置において、
前記ファイル保存手段によって保存されるファイルが有するプログラムに対する情報を管理する管理テーブルを有する管理テーブルファイルを作成する管理テーブルファイル作成手段を備え、
前記新規ファイルが有するプログラムの情報を前記管理テーブルに入力する、または既存ファイルが有するプログラムの情報と新規ファイルが有するプログラムの情報との差異に関する情報を前記管理テーブルに入力する管理情報入力手段を設ける
ことを特徴とするプログラマブルコントローラ用プログラミング装置。
【請求項3】
請求項2に記載のプログラマブルコントローラ用プログラミング装置において、
前記管理情報入力手段によって前記管理テーブルに入力される情報が、
前記ファイル保存手段によって保存されるファイルのファイル名、
または、前記ファイル保存手段によってファイルが保存された日時、時間に関する情報、
または、前記プログラムを作成、または編集した操作者に関する情報、
の内の少なくとも1つを含む
ことを特徴とするプログラマブルコントローラ用プログラミング装置。
【請求項4】
請求項2に記載のプログラマブルコントローラ用プログラミング装置において、
前記ファイル保存手段によって新規ファイルの保存時に、前記プログラマブルコントローラを構成するハードウェアに関する固有の情報を読出し、前記管理テーブルに入力する固有情報入力手段
を設ける
ことを特徴とするプログラマブルコントローラ用プログラミング装置。
【請求項5】
請求項4に記載のプログラマブルコントローラ用プログラミング装置において、
前記管理情報入力手段によって前記管理テーブルに入力される情報が、
前記プログラマブルコントローラで動作する中央制御装置であるCPUのバージョンに関する情報、
または、前記CPUを制御するファームウェアに関する情報、
の内の少なくとも1つを含む
ことを特徴とするプログラマブルコントローラ用プログラミング装置。
【請求項6】
請求項1に記載のプログラマブルコントローラ用プログラミング装置において、
既存ファイルが有する既存のプログラムを元にしてプログラムを作成、または編集して新規ファイルとして保存された回数をカウントする保存回数カウント手段を備え、
前記ファイル名文字列付加手段で付加される前記文字列は、前記保存回数カウント手段から得られる保存カウント数とし、
前記保存回数カウント手段は、前記保存カウント数を用いて新規ファイルが保存された場合には、保存カウント数に所定の数値を加算する
ことを特徴とするプログラマブルコントローラ用プログラミング装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2013−30034(P2013−30034A)
【公開日】平成25年2月7日(2013.2.7)
【国際特許分類】
【出願番号】特願2011−166199(P2011−166199)
【出願日】平成23年7月29日(2011.7.29)
【出願人】(502129933)株式会社日立産機システム (1,140)
【Fターム(参考)】