JP3635813B2 - プログラミング方法 - Google Patents
プログラミング方法 Download PDFInfo
- Publication number
- JP3635813B2 JP3635813B2 JP26821996A JP26821996A JP3635813B2 JP 3635813 B2 JP3635813 B2 JP 3635813B2 JP 26821996 A JP26821996 A JP 26821996A JP 26821996 A JP26821996 A JP 26821996A JP 3635813 B2 JP3635813 B2 JP 3635813B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- programming device
- password
- programmable controller
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Programmable Controllers (AREA)
Description
【0001】
【発明の属する技術分野】
この発明は、様々な分野の自動制御に使用されるプログラマブルコントローラ(以下、略してPCと称する)と、このPCに記憶されるプログラムを作成又は修正するためのそのプログラミング装置によるプログラミング方法に関する。
【0002】
【従来の技術】
図3はプログラマブルコントローラとそのプログラミング装置の構成を示すブロック図である。この図において、1はプログラミング装置、2はプログラマブルコントローラであって、プログラミング装置1は処理部11、記憶部12、入力装置13、表示装置14及びインタフェース部15で構成されている。また、プログラマブルコントローラ2は、処理部21、記憶部22、プログラミング装置1との間のデータの入出力のためのインターフェース23及び外部機器との間のデータの入出力のためのインターフェス24(図ではI/Oで示してある)で構成されている。
【0003】
プログラミング装置1の処理部11はCPUを主体とするプログラミング装置1の演算処理部であり、この処理部11はキーボードなどの入力装置13から入力されたデータを受けて、表示装置14にその内容を表示させたり、種々のデータを記憶する記憶部14との間でデータの授受を行ったり、インタフェース15を介してPC2との間でデータの授受などを行う。
【0004】
PC2はプログラミング装置で作成され記憶部22に記憶されているプログラムによって、インターフェース24を介して入力される外部機器からのデータを基に決められた演算処理した上でインターフェース24を介して外部機器にデータを送る、という操作が処理部21で繰り返し実行さて外部機器に対する制御が行われる。
【0005】
図4は図3のPCとプログラミング装置とを機能別に分けて示した機能ブロック図である。この図において、プログラミング装置1はプログラム作成部31、プログラム格納部32及びPC格納処理部33からなっている。なお、この図においては図を分かり安くするために略号を使っている。すなわち、Pgはプログラム、PCはプログラマブルコントローラ(以下にはPCと記載してある) 、ETはエントリーテーブル、Ad はアドレスである。
【0006】
作成、修正されるプログラムはプログラム格納部32に格納されていて、図で「Pg入力」と示されているプログラムを作るためのデータが図3の入力装置13から入力され、このデータに基づいてプログラム作成部31がその時点でのプログラムにデータを追加したり修正したりすることを繰り返すことによってプログラムの作成又は修正が行われる。PC格納処理部33は、PCにデータを送るときの制御を行うものであり、図3のインターフェース15を機能的には含んでいる。プログラム作成部31及びインターフェース15を除くPC格納処理部33は図3の処理部11で処理されるソフトウエアで構成されている。
【0007】
PC格納処理部33は、完成したプログラムデータに他のプログラムと区別するためのプログラム番号及びプログラムデータを送ることを示すデータを加えた形のデータにしてPC2に送る。
PC2はプログラム格納処理部41、プログラム格納部42及びプログラムエントリーテーブル43からなっている。プログラミング装置1から送られてきたデータはプログラム格納処理部41でまずプログラム番号がプログラムエントリーテーブル43に既に格納されたプログラム番号と一致しているかどうかが調べられ、一致していなければ、プログラム番号にプログラム先頭アドレスが追加されたデータがプログラムエントリーテーブル43に格納され、プログラム本体はプログラム格納部42に格納される。先頭アドレスはプログラム格納部42の空き領域の中の値が最も小さなアドレスとして決定される。一致するプログラム番号があるときには、古いプログラムが新しいプログラムに書き換えられる。このとき先頭アドレスも同じなのでプログラムエントリーテーブル43は変更されない。
【0008】
図5は図4のプログラミング装置でプログラムを新たに作成するかすでにあるプログラムを修正するかするときの順序を示すフローチャートであり、それぞれのステップの符号で、先頭英字にSを付けたステップは実行を、先頭英字にCを付けた菱形状のステップは判定を示す。
この図において、まず最初にステップS1において、図4のようにプログラミング装置1をPC2に接続する。ついでステップS2及びステップC1でプログラムを新規作成するのか既に作成されているプログラムを修正するのかの判定をし、新たにプログラムを作成の場合には直ちにステップS5のプログラム作成をし、プログラム修正の場合には、ステップS3で対象となる既成のプログラムをプログラム格納部に格納する操作が行なわれる。プログラミング装置の種類にもよるが、既成プログラムはフロッピーディスクなどの外部記憶装置に格納されていることが多いので、この外部記憶装置からプログラミング装置1にプログラムをコピーする。修正されたプログラムをここで新プログラムと名付けると、新たに作成された新プログラムと同じように、ステップS6でプログラム格納コマンドが作成される。プログラム格納コマンドはプログラムを格納することを指示するコマンドとプログラム番号、プログラム本体が一つのデータになったもので、このプログラム格納コマンドがPC2に送られる。この操作のことをロードと呼んでおり、このような操作をすることからプログラミング装置1のことをローダと呼ぶこともある。このステップまではプログラミング装置1又はその使用者によって行われるものである。
【0009】
プログラム格納コマンドを受けたPC2は、ステップS8でプログラムエントリーテーブル43に同じ番号のプログラムがあるかどうかをプログラム格納処理部41が調べ、ステップC2によって判定して、もし有ったら旧プログラムを新プログラムに書き換える。したがって旧プログラムは消去される。また、同じ番号のプログラムが無かったら、ステップS10で新プログラムの番号、先頭アドレスをプログラムエントリーテーブル43に格納し、ステップS11で新プログラムをプログラム格納部42の空き領域に格納する。
【0010】
ところで、PCで使用されるプログラムは大きく分けて、▲1▼システムプログラム、▲2▼ユーザプログラムの2種類がある。システムプログラムはPCが稼働するために必要な基本的なプログラムであり(その取扱者を以下、使用者1と称する)、ユーザプログラムはPCの使用者(以下、使用者2と称する)が作成した実際の自動制御の対象に応じたプログラムである。そして、使用者2がシステムプログラムを変更するようなことはなく,また、間違ってそのようなことをするとPCが正常な動作をしなくなることも有り得る。
【0011】
このようなことから、システムプログラムについては使用者2が変更したりすることができないように従来のPCでは次のような対策が採用されている。
▲1▼ユープログラムとシステムプログラムとで格納部を別にする。
▲2▼システムプログラムをROMに格納して容易に変更することが不可能なようにする。
▲3▼システムプログラムとユーザプログラムとを同じ格納部に格納するが、その代わりにそれぞれのプログラムガどちらに属するかが明らかに分かるようにプログラム番号(又はプログラム名)を区別する。プログラミング装置でプログラム番号でシステムプログラムかユーザプログラムかを判定し、システムプログラムの変更を拒否するロック機能を設ける。
【0012】
【発明が解決しようとする課題】
ところで、前述のような対策には次のような問題がある。
▲1▼の方法について、PCからみればシスシステムプログラムとユーザプログラムとの区別はないのに二重管理機能が必要になってソフト、ハードの一方又は両方で構成が複雑になる。また、格納部を構成するメモリの利用効率が悪いという問題がある。
▲2▼の方法について、システムプログラムの変更が困難であるという問題がある。場合によっては、使用者1によるシステムプログラムの変更を必要とすることがあるので、そのときにシステムプログラムがROMに記憶されていると、その変更が困難である。
▲3▼の方法について、プログラム番号(プログラム名)の区別は複数のプログラミング装置について全て共通にしなければならないが、その管理が面倒であり、混乱と間違いの要因になる。
【0013】
この発明の目的はこのような問題を解決し、使用者2が簡単にシステムプログラムを変更することができないようにして、システムプログラムが不用意に変更されたりすることがないよう安全を期すとともに、必要ならば使用者1によるシステムプログラムの変更が容易で、その上、ハード、ソフトが複雑になることなく、メモリの利用効率も良いプログラミング方法。
【0014】
【課題を解決するための手段】
上記課題を解決するためにこの発明によれば、プログラミング装置が、プログラムを作成又は修正するプログラム作成部と、作成又は修正されるプログラムを格納するプログラム格納部と、プログラマブルコントローラとの間のデータの入出力を制御するプログラマブルコントローラ格納処理部とを備え、プログラマブルコントローラが、プログラミング装置との間のデータの入出力を制御するプログラム格納処理部と、プログラミング装置から送られたプログラムを格納しておくプログラム格納部と、プログラミング装置から送られたプログラム格納コマンドに含まれるプログラム番号とプログラム先頭アドレスとを格納するプログラムエントリーテーブルとを備え、プログラマブルコントローラ格納処理部が、作成又は修正されたプログラムにそのプログラム番号とプログラムのロードを指示するコマンドとを付加したデータからなるプログラム格納コマンドを生成してプログラマブルコントローラに送り、プログラム格納処理部が、プログラミング装置から送られたプログラム格納コマンドに含まれるプログラム番号と同じプログラム番号がプログラムエントリーテーブルに存在するか否かを判定し、存在しないときにはプログラム格納コマンドに含まれる新プログラムをプログラム格納部に格納するとともに、プログラム番号と先頭アドレスとをプログラムエントリーテーブルに格納し、同じプログラム番号が存在するときには旧プログラムを新プログラムに書き換えて格納するプログラミング方法において、プログラミング装置に、このプログラミング装置固有のパスワードを登録するパスワード登録部を設け、プログラマブルコントローラ格納処理部によってこのパスワードをプログラム格納コマンドに組み込み、プログラマブルコントローラのプログラミング装置格納処理部によって、プログラミング装置から送られたプログラム格納コマンドに含まれるプログラム番号及びパスワードと、プログラムエントリーテーブルに格納されているプログラム番号とパスワードとをそれぞれ比較して、プログラム番号が一致するプログラムが無い場合にはプログラム格納コマンドに含まれる新プログラムをプログラム格納部に格納するとともに、そのプログラム番号、パスワード及び先頭アドレスをプログラムエントリーテーブルに書き込んで格納し、プログラム番号が一致してしかもパスワードが一致するプログラムがあるときには、プログラム格納部の同じプログラム番号とパスワードを持つ旧プログラムをプログラム格納コマンドに含まれる新プログラムに書換え、プログラム番号が一致しパスワードが一致しないときには、プログラム格納コマンドに含まれるプログラムをプログラム格納部に格納しないようにしたことによって、使用者1と使用者2とで異なるプログラミング装置を使用すれば、それぞれのプログラミング装置は互いにパスワードが異なるので、使用者2が間違ってシステムプログラムを修正するか、一つのシステムプログラムと同じプログラム番号のユーザプログラムを作成したとしても、パスワードが異なることからPCのプログラム格納部にそのプログラムを格納することができないので、元のシステムプログラムが置き換えられてしまうことがない。
【0015】
また、プログラム番号が一致しパスワードが一致しないときに、プログラム格納コマンドに含まれる新プログラムをプログラム格納部に格納することを拒否するとともに、書込みを失敗した旨の応答をする書込み失敗応答コードをプログラマブルコントローラからプログラミング装置に送ることによって、プログラミング装置は書込み失敗に応じた適性な対処を実行することができる。そして、書込み失敗応答コードを受けてその旨を表示装置に表示するようにすれば、使用者は自身の失敗を容易に気付く。
【0016】
【発明の実施の形態】
以下この発明を実施例に基づいて説明する。図1はこの発明の実施例を示すプログラマブルコントローラとそのプログラミング装置の機能ブロック図であり、図2と同じブロックには同じ符号を、類似のブロックには添字Aを付けて重複する説明を省く。この図の図4と異なる点は、プログラミング装置1Aにパスワード登録部34Aを追加したこと、このパスワード登録部34Aに登録されたパスワードを処理又は格納するためにPC格納処理部33A、プログラム格納処理部41A及びプログラムエントリーテーブル43Aがそれぞれ図4のものと異なる機能が追加されている。パスワード登録部34Aにはそのプログラミング装置1固有のパスワードが登録されていて、プログラムが作成されたときにプログラム格納コマンドにこのパスワードが他のデータとともに組み込まれる。すなわち、PC格納処理部において作成されるプログラム格納コマンドは、格納指示コマンド、プログラム番号、パスワード及びプログラム本体からなっている。このプログラム格納コマンドがPC2に送られて、プログラム格納処理部41Aでプログラムエントリーテーブル43Aのプログラム番号だけでなくパスワードも比較判定される。
【0017】
なお、パスワードを用いてプログラムの保護をするという方法は、特開平6−222815号公報にもあり、公知の技術であるが、この発明では、このパスワードをプログラミング装置それぞれに固有のものを登録して、異なるプログラミング装置で1つのプログラムを修正することを拒否する構成が採用されているという点で前述の公報とは異なる発明である。
【0018】
図2は図1のプログラマブルコントローラとそのプログラミング装置においてプログラムを新規作成又は修正する場合のフローチャートであり、図5と同じスナップには同じ符号を付けて重複する説明を省く。また、内容が変更になるステップ及び追加したステップには二字目をPにして、従来と同じステップと区別してある。
【0019】
ステップSP6でプログラム格納コマンドを作成するときに、図1のパスワード登録部34Aに登録されているそのプログラミング装置固有のパスワードをプログラム格納コマンドに組み込む。
ステップSP12及びステップCP3で、プログラムエントリーテーブル43Aに同じプログラム番号があるときに、そのプログラム番号のプログラムのパスワードとプログラム格納コマンドのパスワードとを比較して、一致したときには従来と同じステップS9で旧プログラムを新プログラムに書換え、一致しないときには新プログラムの書き込みを行わないで、代わりに書込み失敗をプログラミング装置1Aに知らせる応答コードをプログラミング装置1Aに送る。
【0020】
プログラミング装置1Aはこのプログラム書込み失敗応答コードを受けて、その旨を図3の表示装置14に表示することによって使用者2は間違ってプログラムの作成又は変更をしたことに気付くことになる。
使用者2が使用するプログラミング装置は前述のように使用者1とは異なる装置であるのが普通なので、使用者2が間違ってシステムプログラムを修正したとしてもPCに格納することができないので、システムプログラムが変更されることによる問題が生ずることはない。
【0021】
【発明の効果】
この発明は前述のように、プログラミング装置ごとに固有のパスワードを登録しておき、作成又は修正したプログラムをPCに送るときのコマンドにこのパスワードを組み込んでおき、PCではプログラム番号とパスワードとの両方が一致したときだけ旧プログラムを新プログラムに書換え、プログラム番号が一致してもパスワードが異なるときには書換えをしないようにしたことによって、間違って使用者2がシステムプログラムを変更したり、一つのシステムプログラムと同じプログラム番号のプログラムを作ったりしたとしても、使用者2は使用者1が使用するプログラミング装置とは違うプログラミング装置を使用するので、PCに格納されているシステムプログラムとパスワードが異なることから、たとえプログラム番号が一致しても旧プログラムが新プログラムに書換えられることはなく、システムプログラムが変更されることによる問題が生じないという効果が得られる。この場合、システムプログラムとユーザープログラムとは同じプログラム格納部に格納しておいてよいので二重管理が不要になり、またプログラム格納部のメモリも利用効率が悪いという問題も生じない。もちろん、システムプログラムの格納にROMを使用しないので使用者1によるシステムプログラムの変更は容易である。
【0022】
また、プログラマブルコントローラが新プログラムをプログラム格納部に書き込んで格納することを拒否したときに、書込み失敗応答コードをプログラミング装置に送れば、これを受けてプログラミング装置は書込み失敗に応じた適切な対処を実行することができ、書込み失敗応答コードを受けてその旨を表示装置に表示するようにすれば、使用者は自身の失敗を容易に気付くので使用者は後の適切な対処を的確迅速に行うことができるという効果が得られる。
【図面の簡単な説明】
【図1】この発明の実施例を示すプログラマブルコントローラとそのプログラミング装置の機能ブロック図
【図2】図1のプログラマブルコントローラとそのプログラミング装置の、プログラムの新規作成又は修正時のフローチャート
【図3】プログラマブルコントローラとそのプログラミング装置の構成を示すブロック図
【図4】図3のプログラマブルコントローラとそのプログラミング装置の機能ブロック図
【図5】図4のプログラマブルコントローラとそのプログラミング装置の、プログラムの新規作成又は修正時のフローチャート
【符号の説明】
1,1A…プログラミング装置、2,2A…プログラマブルコントローラ、31…プログラム作成部、32…プログラム格納部、33,33A…プログラマブルコントローラ格納処理部、34A…パスワード登録部、41,41A…プログラム格納処理部、42…プログラム格納部、43,43A…プログラムエントリーテーブル
【発明の属する技術分野】
この発明は、様々な分野の自動制御に使用されるプログラマブルコントローラ(以下、略してPCと称する)と、このPCに記憶されるプログラムを作成又は修正するためのそのプログラミング装置によるプログラミング方法に関する。
【0002】
【従来の技術】
図3はプログラマブルコントローラとそのプログラミング装置の構成を示すブロック図である。この図において、1はプログラミング装置、2はプログラマブルコントローラであって、プログラミング装置1は処理部11、記憶部12、入力装置13、表示装置14及びインタフェース部15で構成されている。また、プログラマブルコントローラ2は、処理部21、記憶部22、プログラミング装置1との間のデータの入出力のためのインターフェース23及び外部機器との間のデータの入出力のためのインターフェス24(図ではI/Oで示してある)で構成されている。
【0003】
プログラミング装置1の処理部11はCPUを主体とするプログラミング装置1の演算処理部であり、この処理部11はキーボードなどの入力装置13から入力されたデータを受けて、表示装置14にその内容を表示させたり、種々のデータを記憶する記憶部14との間でデータの授受を行ったり、インタフェース15を介してPC2との間でデータの授受などを行う。
【0004】
PC2はプログラミング装置で作成され記憶部22に記憶されているプログラムによって、インターフェース24を介して入力される外部機器からのデータを基に決められた演算処理した上でインターフェース24を介して外部機器にデータを送る、という操作が処理部21で繰り返し実行さて外部機器に対する制御が行われる。
【0005】
図4は図3のPCとプログラミング装置とを機能別に分けて示した機能ブロック図である。この図において、プログラミング装置1はプログラム作成部31、プログラム格納部32及びPC格納処理部33からなっている。なお、この図においては図を分かり安くするために略号を使っている。すなわち、Pgはプログラム、PCはプログラマブルコントローラ(以下にはPCと記載してある) 、ETはエントリーテーブル、Ad はアドレスである。
【0006】
作成、修正されるプログラムはプログラム格納部32に格納されていて、図で「Pg入力」と示されているプログラムを作るためのデータが図3の入力装置13から入力され、このデータに基づいてプログラム作成部31がその時点でのプログラムにデータを追加したり修正したりすることを繰り返すことによってプログラムの作成又は修正が行われる。PC格納処理部33は、PCにデータを送るときの制御を行うものであり、図3のインターフェース15を機能的には含んでいる。プログラム作成部31及びインターフェース15を除くPC格納処理部33は図3の処理部11で処理されるソフトウエアで構成されている。
【0007】
PC格納処理部33は、完成したプログラムデータに他のプログラムと区別するためのプログラム番号及びプログラムデータを送ることを示すデータを加えた形のデータにしてPC2に送る。
PC2はプログラム格納処理部41、プログラム格納部42及びプログラムエントリーテーブル43からなっている。プログラミング装置1から送られてきたデータはプログラム格納処理部41でまずプログラム番号がプログラムエントリーテーブル43に既に格納されたプログラム番号と一致しているかどうかが調べられ、一致していなければ、プログラム番号にプログラム先頭アドレスが追加されたデータがプログラムエントリーテーブル43に格納され、プログラム本体はプログラム格納部42に格納される。先頭アドレスはプログラム格納部42の空き領域の中の値が最も小さなアドレスとして決定される。一致するプログラム番号があるときには、古いプログラムが新しいプログラムに書き換えられる。このとき先頭アドレスも同じなのでプログラムエントリーテーブル43は変更されない。
【0008】
図5は図4のプログラミング装置でプログラムを新たに作成するかすでにあるプログラムを修正するかするときの順序を示すフローチャートであり、それぞれのステップの符号で、先頭英字にSを付けたステップは実行を、先頭英字にCを付けた菱形状のステップは判定を示す。
この図において、まず最初にステップS1において、図4のようにプログラミング装置1をPC2に接続する。ついでステップS2及びステップC1でプログラムを新規作成するのか既に作成されているプログラムを修正するのかの判定をし、新たにプログラムを作成の場合には直ちにステップS5のプログラム作成をし、プログラム修正の場合には、ステップS3で対象となる既成のプログラムをプログラム格納部に格納する操作が行なわれる。プログラミング装置の種類にもよるが、既成プログラムはフロッピーディスクなどの外部記憶装置に格納されていることが多いので、この外部記憶装置からプログラミング装置1にプログラムをコピーする。修正されたプログラムをここで新プログラムと名付けると、新たに作成された新プログラムと同じように、ステップS6でプログラム格納コマンドが作成される。プログラム格納コマンドはプログラムを格納することを指示するコマンドとプログラム番号、プログラム本体が一つのデータになったもので、このプログラム格納コマンドがPC2に送られる。この操作のことをロードと呼んでおり、このような操作をすることからプログラミング装置1のことをローダと呼ぶこともある。このステップまではプログラミング装置1又はその使用者によって行われるものである。
【0009】
プログラム格納コマンドを受けたPC2は、ステップS8でプログラムエントリーテーブル43に同じ番号のプログラムがあるかどうかをプログラム格納処理部41が調べ、ステップC2によって判定して、もし有ったら旧プログラムを新プログラムに書き換える。したがって旧プログラムは消去される。また、同じ番号のプログラムが無かったら、ステップS10で新プログラムの番号、先頭アドレスをプログラムエントリーテーブル43に格納し、ステップS11で新プログラムをプログラム格納部42の空き領域に格納する。
【0010】
ところで、PCで使用されるプログラムは大きく分けて、▲1▼システムプログラム、▲2▼ユーザプログラムの2種類がある。システムプログラムはPCが稼働するために必要な基本的なプログラムであり(その取扱者を以下、使用者1と称する)、ユーザプログラムはPCの使用者(以下、使用者2と称する)が作成した実際の自動制御の対象に応じたプログラムである。そして、使用者2がシステムプログラムを変更するようなことはなく,また、間違ってそのようなことをするとPCが正常な動作をしなくなることも有り得る。
【0011】
このようなことから、システムプログラムについては使用者2が変更したりすることができないように従来のPCでは次のような対策が採用されている。
▲1▼ユープログラムとシステムプログラムとで格納部を別にする。
▲2▼システムプログラムをROMに格納して容易に変更することが不可能なようにする。
▲3▼システムプログラムとユーザプログラムとを同じ格納部に格納するが、その代わりにそれぞれのプログラムガどちらに属するかが明らかに分かるようにプログラム番号(又はプログラム名)を区別する。プログラミング装置でプログラム番号でシステムプログラムかユーザプログラムかを判定し、システムプログラムの変更を拒否するロック機能を設ける。
【0012】
【発明が解決しようとする課題】
ところで、前述のような対策には次のような問題がある。
▲1▼の方法について、PCからみればシスシステムプログラムとユーザプログラムとの区別はないのに二重管理機能が必要になってソフト、ハードの一方又は両方で構成が複雑になる。また、格納部を構成するメモリの利用効率が悪いという問題がある。
▲2▼の方法について、システムプログラムの変更が困難であるという問題がある。場合によっては、使用者1によるシステムプログラムの変更を必要とすることがあるので、そのときにシステムプログラムがROMに記憶されていると、その変更が困難である。
▲3▼の方法について、プログラム番号(プログラム名)の区別は複数のプログラミング装置について全て共通にしなければならないが、その管理が面倒であり、混乱と間違いの要因になる。
【0013】
この発明の目的はこのような問題を解決し、使用者2が簡単にシステムプログラムを変更することができないようにして、システムプログラムが不用意に変更されたりすることがないよう安全を期すとともに、必要ならば使用者1によるシステムプログラムの変更が容易で、その上、ハード、ソフトが複雑になることなく、メモリの利用効率も良いプログラミング方法。
【0014】
【課題を解決するための手段】
上記課題を解決するためにこの発明によれば、プログラミング装置が、プログラムを作成又は修正するプログラム作成部と、作成又は修正されるプログラムを格納するプログラム格納部と、プログラマブルコントローラとの間のデータの入出力を制御するプログラマブルコントローラ格納処理部とを備え、プログラマブルコントローラが、プログラミング装置との間のデータの入出力を制御するプログラム格納処理部と、プログラミング装置から送られたプログラムを格納しておくプログラム格納部と、プログラミング装置から送られたプログラム格納コマンドに含まれるプログラム番号とプログラム先頭アドレスとを格納するプログラムエントリーテーブルとを備え、プログラマブルコントローラ格納処理部が、作成又は修正されたプログラムにそのプログラム番号とプログラムのロードを指示するコマンドとを付加したデータからなるプログラム格納コマンドを生成してプログラマブルコントローラに送り、プログラム格納処理部が、プログラミング装置から送られたプログラム格納コマンドに含まれるプログラム番号と同じプログラム番号がプログラムエントリーテーブルに存在するか否かを判定し、存在しないときにはプログラム格納コマンドに含まれる新プログラムをプログラム格納部に格納するとともに、プログラム番号と先頭アドレスとをプログラムエントリーテーブルに格納し、同じプログラム番号が存在するときには旧プログラムを新プログラムに書き換えて格納するプログラミング方法において、プログラミング装置に、このプログラミング装置固有のパスワードを登録するパスワード登録部を設け、プログラマブルコントローラ格納処理部によってこのパスワードをプログラム格納コマンドに組み込み、プログラマブルコントローラのプログラミング装置格納処理部によって、プログラミング装置から送られたプログラム格納コマンドに含まれるプログラム番号及びパスワードと、プログラムエントリーテーブルに格納されているプログラム番号とパスワードとをそれぞれ比較して、プログラム番号が一致するプログラムが無い場合にはプログラム格納コマンドに含まれる新プログラムをプログラム格納部に格納するとともに、そのプログラム番号、パスワード及び先頭アドレスをプログラムエントリーテーブルに書き込んで格納し、プログラム番号が一致してしかもパスワードが一致するプログラムがあるときには、プログラム格納部の同じプログラム番号とパスワードを持つ旧プログラムをプログラム格納コマンドに含まれる新プログラムに書換え、プログラム番号が一致しパスワードが一致しないときには、プログラム格納コマンドに含まれるプログラムをプログラム格納部に格納しないようにしたことによって、使用者1と使用者2とで異なるプログラミング装置を使用すれば、それぞれのプログラミング装置は互いにパスワードが異なるので、使用者2が間違ってシステムプログラムを修正するか、一つのシステムプログラムと同じプログラム番号のユーザプログラムを作成したとしても、パスワードが異なることからPCのプログラム格納部にそのプログラムを格納することができないので、元のシステムプログラムが置き換えられてしまうことがない。
【0015】
また、プログラム番号が一致しパスワードが一致しないときに、プログラム格納コマンドに含まれる新プログラムをプログラム格納部に格納することを拒否するとともに、書込みを失敗した旨の応答をする書込み失敗応答コードをプログラマブルコントローラからプログラミング装置に送ることによって、プログラミング装置は書込み失敗に応じた適性な対処を実行することができる。そして、書込み失敗応答コードを受けてその旨を表示装置に表示するようにすれば、使用者は自身の失敗を容易に気付く。
【0016】
【発明の実施の形態】
以下この発明を実施例に基づいて説明する。図1はこの発明の実施例を示すプログラマブルコントローラとそのプログラミング装置の機能ブロック図であり、図2と同じブロックには同じ符号を、類似のブロックには添字Aを付けて重複する説明を省く。この図の図4と異なる点は、プログラミング装置1Aにパスワード登録部34Aを追加したこと、このパスワード登録部34Aに登録されたパスワードを処理又は格納するためにPC格納処理部33A、プログラム格納処理部41A及びプログラムエントリーテーブル43Aがそれぞれ図4のものと異なる機能が追加されている。パスワード登録部34Aにはそのプログラミング装置1固有のパスワードが登録されていて、プログラムが作成されたときにプログラム格納コマンドにこのパスワードが他のデータとともに組み込まれる。すなわち、PC格納処理部において作成されるプログラム格納コマンドは、格納指示コマンド、プログラム番号、パスワード及びプログラム本体からなっている。このプログラム格納コマンドがPC2に送られて、プログラム格納処理部41Aでプログラムエントリーテーブル43Aのプログラム番号だけでなくパスワードも比較判定される。
【0017】
なお、パスワードを用いてプログラムの保護をするという方法は、特開平6−222815号公報にもあり、公知の技術であるが、この発明では、このパスワードをプログラミング装置それぞれに固有のものを登録して、異なるプログラミング装置で1つのプログラムを修正することを拒否する構成が採用されているという点で前述の公報とは異なる発明である。
【0018】
図2は図1のプログラマブルコントローラとそのプログラミング装置においてプログラムを新規作成又は修正する場合のフローチャートであり、図5と同じスナップには同じ符号を付けて重複する説明を省く。また、内容が変更になるステップ及び追加したステップには二字目をPにして、従来と同じステップと区別してある。
【0019】
ステップSP6でプログラム格納コマンドを作成するときに、図1のパスワード登録部34Aに登録されているそのプログラミング装置固有のパスワードをプログラム格納コマンドに組み込む。
ステップSP12及びステップCP3で、プログラムエントリーテーブル43Aに同じプログラム番号があるときに、そのプログラム番号のプログラムのパスワードとプログラム格納コマンドのパスワードとを比較して、一致したときには従来と同じステップS9で旧プログラムを新プログラムに書換え、一致しないときには新プログラムの書き込みを行わないで、代わりに書込み失敗をプログラミング装置1Aに知らせる応答コードをプログラミング装置1Aに送る。
【0020】
プログラミング装置1Aはこのプログラム書込み失敗応答コードを受けて、その旨を図3の表示装置14に表示することによって使用者2は間違ってプログラムの作成又は変更をしたことに気付くことになる。
使用者2が使用するプログラミング装置は前述のように使用者1とは異なる装置であるのが普通なので、使用者2が間違ってシステムプログラムを修正したとしてもPCに格納することができないので、システムプログラムが変更されることによる問題が生ずることはない。
【0021】
【発明の効果】
この発明は前述のように、プログラミング装置ごとに固有のパスワードを登録しておき、作成又は修正したプログラムをPCに送るときのコマンドにこのパスワードを組み込んでおき、PCではプログラム番号とパスワードとの両方が一致したときだけ旧プログラムを新プログラムに書換え、プログラム番号が一致してもパスワードが異なるときには書換えをしないようにしたことによって、間違って使用者2がシステムプログラムを変更したり、一つのシステムプログラムと同じプログラム番号のプログラムを作ったりしたとしても、使用者2は使用者1が使用するプログラミング装置とは違うプログラミング装置を使用するので、PCに格納されているシステムプログラムとパスワードが異なることから、たとえプログラム番号が一致しても旧プログラムが新プログラムに書換えられることはなく、システムプログラムが変更されることによる問題が生じないという効果が得られる。この場合、システムプログラムとユーザープログラムとは同じプログラム格納部に格納しておいてよいので二重管理が不要になり、またプログラム格納部のメモリも利用効率が悪いという問題も生じない。もちろん、システムプログラムの格納にROMを使用しないので使用者1によるシステムプログラムの変更は容易である。
【0022】
また、プログラマブルコントローラが新プログラムをプログラム格納部に書き込んで格納することを拒否したときに、書込み失敗応答コードをプログラミング装置に送れば、これを受けてプログラミング装置は書込み失敗に応じた適切な対処を実行することができ、書込み失敗応答コードを受けてその旨を表示装置に表示するようにすれば、使用者は自身の失敗を容易に気付くので使用者は後の適切な対処を的確迅速に行うことができるという効果が得られる。
【図面の簡単な説明】
【図1】この発明の実施例を示すプログラマブルコントローラとそのプログラミング装置の機能ブロック図
【図2】図1のプログラマブルコントローラとそのプログラミング装置の、プログラムの新規作成又は修正時のフローチャート
【図3】プログラマブルコントローラとそのプログラミング装置の構成を示すブロック図
【図4】図3のプログラマブルコントローラとそのプログラミング装置の機能ブロック図
【図5】図4のプログラマブルコントローラとそのプログラミング装置の、プログラムの新規作成又は修正時のフローチャート
【符号の説明】
1,1A…プログラミング装置、2,2A…プログラマブルコントローラ、31…プログラム作成部、32…プログラム格納部、33,33A…プログラマブルコントローラ格納処理部、34A…パスワード登録部、41,41A…プログラム格納処理部、42…プログラム格納部、43,43A…プログラムエントリーテーブル
Claims (3)
- プログラミング装置が、プログラムを作成又は修正するプログラム作成部と、作成又は修正されるプログラムを格納するプログラム格納部と、プログラマブルコントローラとの間のデータの入出力を制御するプログラマブルコントローラ格納処理部とを備え、プログラマブルコントローラが、プログラミング装置との間のデータの入出力を制御するプログラム格納処理部と、プログラミング装置から送られたプログラムを格納しておくプログラム格納部と、プログラミング装置から送られたプログラム格納コマンドに含まれるプログラム番号とプログラム先頭アドレスとを格納するプログラムエントリーテーブルとを備え、プログラマブルコントローラ格納処理部が、作成又は修正されたプログラムにそのプログラム番号とプログラムのロードを指示するコマンドとを付加したデータからなるプログラム格納コマンドを生成してプログラマブルコントローラに送り、プログラム格納処理部が、プログラミング装置から送られたプログラム格納コマンドに含まれるプログラム番号と同じプログラム番号がプログラムエントリーテーブルに存在するか否かを判定し、存在しないときにはプログラム格納コマンドに含まれる新プログラムをプログラム格納部に格納するとともに、プログラム番号と先頭アドレスとをプログラムエントリーテーブルに格納し、同じプログラム番号が存在するときには旧プログラムを新プログラムに書き換えて格納するプログラミング方法において、
プログラミング装置に、このプログラミング装置固有のパスワードを登録するパスワード登録部を設け、プログラマブルコントローラ格納処理部によってこのパスワードをプログラム格納コマンドに組み込み、プログラマブルコントローラのプログラミング装置格納処理部によって、プログラミング装置から送られたプログラム格納コマンドに含まれるプログラム番号及びパスワードと、プログラムエントリーテーブルに格納されているプログラム番号とパスワードとをそれぞれ比較して、プログラム番号が一致するプログラムが無い場合にはプログラム格納コマンドに含まれる新プログラムをプログラム格納部に格納するとともに、そのプログラム番号、パスワード及び先頭アドレスをプログラムエントリーテーブルに書き込んで格納し、プログラム番号が一致してしかもパスワードが一致するプログラムがあるときには、プログラム格納部の同じプログラム番号とパスワードを持つ旧プログラムをプログラム格納コマンドに含まれる新プログラムに書換え、プログラム番号が一致しパスワードが一致しないときには、プログラム格納コマンドに含まれるプログラムをプログラム格納部に格納しないことを特徴とするプログラミング方法。 - プログラム番号が一致しパスワードが一致しないときに、プログラム格納コマンドに含まれる新プログラムをプログラム格納部に格納しないとともに、書き込みを失敗した旨の応答をする書込み失敗応答コードをプログラマブルコントローラからプログラミング装置に送ることを特徴とする請求項1記載のプログラミング方法。
- プログラミング装置が、書込み失敗応答コードを受けてその旨を表示装置に表示することを特徴とする請求項2記載のプログラミング方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26821996A JP3635813B2 (ja) | 1996-10-09 | 1996-10-09 | プログラミング方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26821996A JP3635813B2 (ja) | 1996-10-09 | 1996-10-09 | プログラミング方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10116108A JPH10116108A (ja) | 1998-05-06 |
JP3635813B2 true JP3635813B2 (ja) | 2005-04-06 |
Family
ID=17455575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26821996A Expired - Fee Related JP3635813B2 (ja) | 1996-10-09 | 1996-10-09 | プログラミング方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3635813B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4715698B2 (ja) * | 2006-09-26 | 2011-07-06 | 富士電機システムズ株式会社 | プログラマブルコントローラのプログラミング装置、及び、プログラマブルコントローラシステム |
JP2011113198A (ja) * | 2009-11-25 | 2011-06-09 | Koyo Electronics Ind Co Ltd | パスワードによるプログラム保護方法 |
US9632821B2 (en) | 2010-12-21 | 2017-04-25 | Mitsubishi Electric Corporation | Information processing apparatus with external update and restore processes |
WO2021009917A1 (ja) * | 2019-07-18 | 2021-01-21 | 三菱電機株式会社 | 作業支援システム |
-
1996
- 1996-10-09 JP JP26821996A patent/JP3635813B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10116108A (ja) | 1998-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006236069A (ja) | 制御システム | |
JP2875842B2 (ja) | プログラマブルコントローラ | |
JP3635813B2 (ja) | プログラミング方法 | |
JPH03223901A (ja) | 半導体製造装置 | |
JP3734285B2 (ja) | ファームウエア更新装置、ファームウエア更新方法 | |
JP2921480B2 (ja) | 電子計算機システムにおける保守モード立ち上げ方法 | |
JP2629384B2 (ja) | ダウンラインロード起動制御方式 | |
JPH1145103A (ja) | プログラミング装置並びに割込処理記述方法、プログラマブルコントローラ、及び記録媒体 | |
JP2856492B2 (ja) | プログラム処理装置 | |
JP2762665B2 (ja) | プログラマブルコントローラのブログラミング装置 | |
JPH11167525A (ja) | 不揮発性メモリ混載マイコン及びその不揮発性メモリ書換え方法並びに不揮発性メモリ混載マイコンの不揮発性メモリ書換えプログラムを記録した記録媒体 | |
JP3730684B2 (ja) | プログラマブルコントローラ用表示装置およびその表示情報書込方法 | |
JP2713583B2 (ja) | 電子機器 | |
JPH11249876A (ja) | 画面遷移制御システム、プログラム開発支援装置、プログラム開発方法、および記録媒体 | |
JPS62100805A (ja) | 制御装置 | |
JPH09114513A (ja) | 数値制御システム | |
JPH0367306A (ja) | プログラマブルコントローラ | |
JPH05158680A (ja) | Rom書替え処理方式 | |
JP2000112800A (ja) | ファイル履歴管理システム | |
JP2837457B2 (ja) | オンライン画面における入力禁止フィールドの操作性向上方式 | |
JPH0612251A (ja) | プログラム起動装置 | |
JPS62116099A (ja) | 電子式ボタン電話装置 | |
JPH09258968A (ja) | 制御装置 | |
JPH01255930A (ja) | パッチ適用方式 | |
JPH1031513A (ja) | 監視制御システムのユーザインタフェースシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041201 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041214 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041227 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |