特許第6243259号(P6243259)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ファナック株式会社の特許一覧

特許6243259プログラマブルコントローラのシーケンスプログラム置き換え方法
<>
  • 特許6243259-プログラマブルコントローラのシーケンスプログラム置き換え方法 図000002
  • 特許6243259-プログラマブルコントローラのシーケンスプログラム置き換え方法 図000003
  • 特許6243259-プログラマブルコントローラのシーケンスプログラム置き換え方法 図000004
  • 特許6243259-プログラマブルコントローラのシーケンスプログラム置き換え方法 図000005
  • 特許6243259-プログラマブルコントローラのシーケンスプログラム置き換え方法 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6243259
(24)【登録日】2017年11月17日
(45)【発行日】2017年12月6日
(54)【発明の名称】プログラマブルコントローラのシーケンスプログラム置き換え方法
(51)【国際特許分類】
   G05B 19/05 20060101AFI20171127BHJP
【FI】
   G05B19/05 A
【請求項の数】4
【全頁数】11
(21)【出願番号】特願2014-38349(P2014-38349)
(22)【出願日】2014年2月28日
(65)【公開番号】特開2015-162179(P2015-162179A)
(43)【公開日】2015年9月7日
【審査請求日】2016年8月23日
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】110001151
【氏名又は名称】あいわ特許業務法人
(72)【発明者】
【氏名】松尾 敏幸
(72)【発明者】
【氏名】望月 充
【審査官】 稲垣 浩司
(56)【参考文献】
【文献】 特開2013−168031(JP,A)
【文献】 特開2004−062371(JP,A)
【文献】 特開平08−190484(JP,A)
【文献】 特開2007−280214(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/05
(57)【特許請求の範囲】
【請求項1】
シーケンスプログラムを特定する識別情報をハッシュ関数によるシーケンスプログラムのハッシュ値とし、シーケンスプログラム編集装置でシーケンスプログラムを新規に作成及びバージョンアップする毎に、この新しいシーケンスプログラムと共に識別情報の履歴に当該シーケンスプログラムの識別情報を追加して記憶しておき、
プログラマブルコントローラに記憶するシーケンスプログラムのハッシュ値を識別情報として検出し、前記新しいシーケンスプログラムと共に記憶された識別情報の履歴を検索し、検出した識別情報と一致するものがあるとき、前記プログラマブルコントローラのシーケンスプログラムを前記新しいシーケンスプログラムに置き換えるようにしたプログラマブルコントローラのシーケンスプログラム置き換え方法。
【請求項2】
前記ハッシュ値の識別情報と共に、バージョンアップでのシーケンスプログラムの修正量を記憶しておき、識別情報の履歴の中からプログラマブルコントローラに記憶するシーケンスプログラムの識別情報と一致する識別情報が検索されたとき、一致した識別情報に対応して記憶されている修正量を抽出し、該修正量が設定値以下のとき、前記プログラマブルコントローラのシーケンスプログラムを前記新しいシーケンスプログラムに置き換えるようにした請求項1に記載のプログラマブルコントローラのシーケンスプログラム置き換え方法。
【請求項3】
前記修正量が設定値を超えているとき、シーケンスプログラムの置き換えを行うか否かを表示し、オペレータにより置き換えを実行するか否かを選択できるようにした請求項2に記載のプログラマブルコントローラのシーケンスプログラム置き換え方法。
【請求項4】
シーケンスプログラム編集装置で編集した新たなシーケンスプログラムと共に記憶する識別情報を検索し、プログラマブルコントローラに記憶するシーケンスプログラムの識別情報と一致するものがない場合、シーケンスプログラムの置き換えを行うか否かを表示し、オペレータにより置き換えを実行するか否かを選択できるようにした請求項1乃至3のいずれか1項に記載のプログラマブルコントローラのシーケンスプログラム置き換え方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラマブルコントローラに記憶するシーケンスプログラムを、シーケンスプログラム編集装置で編集、作成したシーケンスプログラムに置き換える方法に関する。
【背景技術】
【0002】
各種機器をシーケンス制御するプログラマブルコントローラを複数備えた種々のシステムが開発されており、このプログラマブルコントローラで実行するシーケンスプログラムは一台のシーケンスプログラム編集装置で編集、作成し、該編集、作成されたシーケンスプログラムを各プログラマブルコントローラに格納するようにしたものが一般的である。 各プログラマブルコントローラで実行するシーケンスプログラムは同一のものもあるが、一般的に異なったものである。そのため、シーケンスプログラム編集装置で作成、編集したシーケンスプログラムを対応するプログラマブルコントローラに誤りなく格納する必要がある。特に、シーケンスプログラムをバージョンアップする毎に、誤りなくプログラマブルコントローラに格納する必要があり、プログラマブルコントローラとシーケンスプログラムとの組み合わせの管理が、システムが大規模化しプログラマブルコントローラの数が多くなるほど、困難になっている。
【0003】
特許文献1には、プログラムコントローラで使用するプログラムデータを編集、作成するパソコン等の開発支援ツールに、複数のプログラマブルコントローラを接続したシステムにおいて、開発支援ツール内に、各プログラマブルコントローラに対応するホルダを設け、プログラマブルコントローラに対応するプログラムデータを特定するID番号と、ホルダ番号と、転送回数や転送日時の転送履歴情報とからなる識別コードを各ホルダおよび各プログラマブルコントローラに記憶させ、かつホルダには該識別コードと共にプログラムデータを格納し、開発支援ツールからプログラマブルコントローラにプログラムデータを送るときには、少なくともホルダに記憶するID番号とプログラマブルコントローラに記憶するID番号が一致したとき、すなわちホルダに記憶するプログラムデータとプログラマブルコントローラが対応したときに転送できるようにして、プログラマブルコントローラとプログラムデータの組み合わせを管理するようにして、プログラマブルコントローラのデータ管理方法、装置が記載されている。
【0004】
又、特許文献2にも、ユーザプログラムを作成する1台の開発支援装置に、複数のプログラマブルコントローラを接続ケーブルで接続し、各プログラマブルコントローラには当該プログラマブルコントローラの識別コードのID番号が登録されると共に、開発支援装置でユーザプログラムを作成したときには、このユーザプログラムに転送先のプログラマブルコントローラの識別コードのID番号を設定しておき、開発支援装置からプログラマブルコントローラにユーザプログラムを転送するとき、転送しようとするユーザプログラムに設定されているID番号と、プログラマブルコントローラに設定されているID番号とを比較し、一致するプログラマブルコントローラに対してだけユーザプログラムを転送するようにして、誤転送を防止するようにした開発支援装置が記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−62371号公報
【特許文献2】特開平8−190484号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
シーケンスプログラム編集装置で編集、作成されたシーケンスプログラムを、複数のプログラマブルコントローラ中のいずれかのプログラマブルコントローラに格納する場合、誤りなく対応するシーケンスプログラムをプログラマブルコントローラに格納する必要がある。そのために、前述した特許文献1、2に記載された従来技術では、シーケンスプログラムとプログラマブルコントローラに対応するID番号を設定しておき、シーケンスプログラムのID番号とプログラマブルコントローラのID番号が一致したときに、シーケンスプログラムをプログラマブルコントローラに転送できるようにしている。
【0007】
しかし、この従来技術の方法は、シーケンスプログラムとプログラマブルコントローラとを対応つけるものである。編集したシーケンスプログラムに対して、そのシーケンスプログラムを格納すべきプログラマブルコントローラを指定するID番号を付与する必要がある。
【0008】
一方、プログラマブルコントローラに使用されるシーケンスプログラムは、バージョンアップされた新しいシーケンスプログラムに置き換える必要性がでてくる。この場合、バージョンアップされた新しいシーケンスプログラムに置き換える際、上述した従来技術では、シーケンスプログラムを置き換えるプログラマブルコントローラをID番号等で指定しなければならず、誤動作、勘違いなどにより誤ったシーケンスプログラムを置き換えるということが生じる。すなわち、置き換え前後のシーケンスプログラムの対応が取れているかの確認がなされていないため、誤ったシーケンスプログラムの置き換えが発生する。
【0009】
そこで、本発明の目的は、プログラマブルコントローラに格納されているシーケンスプログラムを、シーケンスプログラム編集装置で編集、作成したシーケンスプログラムに置き換える際に、誤った置き換えが発生しないようにしたシーケンスプログラム置き換え方法を提供することにある。
【課題を解決するための手段】
【0011】
請求項に係る発明のシーケンスプログラム書き換え方法は、シーケンスプログラムを特定する識別情報をハッシュ関数によるシーケンスプログラムのハッシュ値とし、シーケンスプログラム編集装置でシーケンスプログラムを新規に作成及びバージョンアップする毎に、この新しいシーケンスプログラムと共に識別情報の履歴に当該シーケンスプログラムの識別情報を追加して記憶しておき、プログラマブルコントローラに記憶するシーケンスプログラムのハッシュ値を識別情報として検出し、前記新しいシーケンスプログラムと共に記憶された識別情報の履歴を検索し、検出した識別情報と一致するものがあるとき、前記プログラマブルコントローラのシーケンスプログラムを前記新しいシーケンスプログラムに置き換えるようにしたプログラマブルコントローラのシーケンスプログラム置き換え方法である。
【0012】
さらに、請求項に係る発明は、前記ハッシュ値の識別情報と共に、バージョンアップでのシーケンスプログラムの修正量を記憶しておき、識別情報の履歴の中からプログラマブルコントローラに記憶するシーケンスプログラムの識別情報と一致する識別情報が検索されたとき、該識別情報に対応して記憶されている修正量を抽出し、該修正量が設定値以下のとき、前記プログラマブルコントローラのシーケンスプログラムを前記新しいシーケンスプログラムに置き換えるようにした。
【0013】
又、請求項に係る発明は、前記修正量が設定値を超えているとき、シーケンスプログラムの置き換えを行うか否かを表示し、オペレータにより置き換えを実行するか否かを選択できるようにした。これにより、修正量が設定値を超え多いときには、オペレータが置き換えるか否かを考慮して、置き換えるか否かを決定できるようにして安全を図った。
【0014】
又、請求項に係る発明は、シーケンスプログラム編集装置で編集した新たなシーケンスプログラムと共に記憶する識別情報を検索し、プログラマブルコントローラに記憶するシーケンスプログラムの識別情報と一致するものがない場合、シーケンスプログラムの置き換えを行うか否かを表示し、オペレータにより置き換えを実行するか否かを選択できるようにした。これにより、プログラマブルコントローラに全く新たにシーケンスプログラムを格納するときや、または、それまでに格納されていたシーケンスプログラムとは全く異なるようなシーケンスプログラムを格納することも可能にした。
【発明の効果】
【0015】
本発明は、プログラマブルコントローラに記憶するシーケンスプログラムを置き換える際、置き換え前後のシーケンスプログラムの対応を確認して、置き換え可能なとき置き換えを実行するようにしたので、誤ったシーケンスプログラムの置き換えを防止できる。
又、シーケンスプログラムを特定する識別情報をシーケンスプログラムのハッシュ値とすることによって、バージョンアップで新たなシーケンスプログラムが編集される毎に識別情報の履歴を自動的に作成できるので、人為的ミスを防止でき、誤りなくバージョンアップしたシーケンスプログラムに置き換えることができる。さらに、識別情報と共にバージョンアップで修正した修正量を記憶することによって、プログラマブルコントローラのシーケンスプログラムをバージョンアップしたシーケンスプログラム置き換えるとき、置き換え前後のシーケンスプログラムの修正量を考慮することができる。
【図面の簡単な説明】
【0016】
図1】本発明のシーケンスプログラム置き換え方法を適用するシステムの一例の概要ブロック図である。
図2】本発明の第1の実施形態の概要を説明する説明図である。
図3】第1の実施形態におけるシーケンスプログラムの置き換え方法の動作流れ図である。
図4】本発明の第2の実施形態の概要を説明する説明図である。
図5】第2の実施形態におけるシーケンスプログラムの置き換え方法の動作流れ図である。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態を図面と共に説明する。
図1は、本発明のシーケンスプログラム置き換え方法を適用するシステムの一例の概要ブロック図である。
このシステムでは、一台のシーケンスプログラム編集装置1に1以上のプログラマブルコントローラが接続されており、図1に示す例では、複数のプログラマブルコントローラ2・・・が、RS−232C接続、Ethernet(登録商標)接続、USB接続等の通信経路3で接続されている例を示している。
シーケンスプログラム編集装置1は、プロセッサ11に、バス17を介して、メモリ12、キーボード等の入力装置13、表示装置14、外部記憶媒体を接続するインタフェース15、通信インタフェース16が接続されている。メモリ12は、システムプログラム記憶するROM、編集されたシーケンスプログラムや設定データ等を記憶する不揮発性メモリ、演算等に使用されるRAM等で構成されている。インタフェース15はメモリカード、USBメモリ等の記憶媒体と接続するためのものであり、通信インタフェース16は、プログラマブルコントローラ2・・・と接続する通信経路3と接続するためのものである。
【0018】
各プログラマブルコントローラ2・・・は、概略同一構成であり、1つのプログラマブルコントローラ2だけ詳述している。プロセッサ21にはバス28を介して、メモリ22、キーボード等の入力装置23、表示装置24、外部記憶媒体を接続するインタフェース25、通信インタフェース26、入出力回路27が接続されている。メモリ22は、システムプログラム記憶するROM、シーケンスプログラムや設定データ等を記憶する不揮発性メモリ、RAM等で構成されている。RAMはシーケンスプログラムが実行するときの各種信号を記憶する実行用信号メモリ、又、実行するシーケンスプログラムを格納し各種演算を行うワークメモリとして使用される。インタフェース25はメモリカード、USBメモリなどの記憶媒体と接続するためのものであり、通信インタフェース26はシーケンスプログラム編集装置1と通信経路3を介して接続するためのインタフェースであり、入出力回路27は、プログラマブルコントローラ2・・・がシーケンス制御する各種機器に接続するものである。
【0019】
上述したシーケンスプログラム編集装置1やプログラマブルコントローラ2・・・の構成は従来のものと変わりはなく、シーケンスプログラム編集装置1でシーケンスプログラムを作成編集し、各プログラマブルコントローラ2・・・は、接続された各種機器を、格納されているシーケンスプログラムを実行してシーケンス制御する点では、従来と同様である。従来と相違する点は、プログラマブルコントローラ2・・・のシーケンスプログラムをシーケンスプログラム編集装置1で編集作成したシーケンスプログラムに置き換えるとき、置き換え前後のシーケンスプログラムの対応を確認して置き換えができるようにした点である。
【0020】
図2は本発明の第1の実施形態の概要を説明する説明図である。
シーケンスプログラム編集装置1で、新たなシーケンスプログラムを編集、作成すると、該シーケンスプログラムに対して置き換え可能なシーケンスプログラムの識別情報V1、V2、・・・V8を設定登録する。
プログラマブルコントローラ2で実行しているシーケンスプログラム(図2では更新前のシーケンスプログラムと記している)を、編集した新しいシーンスプログラムに置き換えようとする場合、プログラマブルコントローラ2のシーケンスプログラムに設定されている識別情報を読み出し、該識別情報が、シーケンスプログラム編集装置1で新たに編集されたシーケンスプログラムに設定登録されている識別情報の中のいずれかに一致するか比較し、一致するものがあれば、置き換え可能であることから、プログラマブルコントローラ2のシーケンスプログラムをこの新しいシーケンスプログラムに置き換える。なお、一致する識別情報がないときには、オペレータが置き換えをするか否かを選択できるようにする。これは、プログラマブルコントローラ2に新規にシーケンスプログラムを格納する場合や、プログラマブルコントローラ2に記憶されているシーケンスプログラムとは全く異なるシーケンスプログラムを、プログラマブルコントローラに格納できるようにしたものである。
【0021】
図3は、この第1の実施形態におけるシーケンスプログラムの置き換え方法の動作流れ図である。
【0022】
シーケンスプログラム編集装置1では、新たなシーケンスプログラムを編集したとき、該シーケンスプログラムに置き換え可能な既存のシーケンスプログラムの識別情報V1、V2、・・・V8・・を設定登録する。そして、通信経路3で接続されている複数のプログラマブルコントローラ2・・・の中からこの新しいシーケンスプログラムに置き換えるプログラマブルコントローラ2を選択し、図3に示すシーケンスプログラムの置き換え動作を開始させる。プログラマブルコントローラ2のプロセッサ21は、現在登録されているシーケンスプログラムに付されている識別情報を読み取とり、シーケンスプログラム編集装置1に送信する(ステップS10)。シーケンスプログラム編集装置1のプロセッサ11は、新たに編集したシーケンスプログラムに対して設定されている識別情報の中に、送られてきた識別情報と一致するものがないか検索する(ステップS11)。検出されると(ステップS12の「Yes」)、置き換え可能であることから、シーケンスプログラム編集装置1が編集した新たなシーケンスプログラム及び当該シーケンスプログラムの識別情報をプログラマブルコントローラ2に送信する。プログラマブルコントローラ2のプロセッサ21は今まで記憶していたシーケンスプログラムおよび識別情報の代わりに、送られてきたシーケンスプログラムと識別情報に置き換え記憶し(ステップS13)、このシーケンスプログラムの置き換え処理を終了する。
【0023】
一方、プログラマブルコントローラ2に記憶されているシーケンスプログラムに付されている識別情報が新たに編集したシーケンスプログラムに対して設定されている識別情報の中から検出されないと(ステップS12で「No」)、シーケンスプログラム編集装置1のプロセッサ11は、表示装置14に置き換えてよいか等の確認のメッセージを表示し(ステップS14)、オペレータが入力装置13より、置き換えないことを入力すれば(ステップS15の「しない」)、新たなシーケンスプログラムを送信することなく、シーケンスプログラムの置き換えも行われない。また、プログラマブルコントローラ2に新たにシーケンスプログラムを格納するときや、それまでプログラマブルコントローラ2に記憶されているシーケンスプログラムとは全く異なるシーケンスプログラムをプログラマブルコントローラに格納する等のために、オペレータが、シーケンスプログラムの置き換えることを選択すれば(ステップS15の「する」)、ステップS13に進み、編集した新たなシーケンスプログラム及び当該シーケンスプログラムの識別情報をプログラマブルコントローラ2に送信し、プログラマブルコントローラ2ではシーケンスプログラムおよび識別情報の置き換えを行う。
【0024】
以上のように、本実施形態では、新たに編集されたシーケンスプログラムと、プログラマブルコントローラで使用されてきた更新前のシーケンスプログラムとの対応関係を確認して、シーケンスプログラムの置き換えを行うようにしたから、誤ったシーケンスプログラムの置き換えを確実に防止することができる。
【0025】
図4は、本発明の第2の実施形態の概要を説明する説明図である。
この例では、新しいシーケンスプログラムは、バージョンアップして編集作成される例を示している。又、識別情報としては、シーケンスプログラムが持つ固有の値を用いるものとしている。シーケンスプログラムの固有の値には、ハッシュ関数をシーケンスプログラム自身に適用して得られるハッシュ値を利用することができる。一般的なハッシュ関数の例としては、MD5やSHA1やCRCなどがある。この実施形態ではシーケンスプログラムのハッシュ値として、巡回冗長検査(CRC)の値を用いる。さらに、この実施形態では、前バージョンからの修正量も記憶し、修正量の大きさによってシーケンスプログラムの置き換えを行うか否かの選択をもできるようにしている。また、この修正量として変更ネット数等を用いる。
【0026】
シーケンスプログラム編集装置1で、シーケンスプログラムを新規に作成またはバージョンアップして新たなシーケンスプログラムを編集したとき、その作成編集したシーケンスプログラムのCRCの値を識別情報として、このシーケンスプログラムの識別情報の履歴に追加する。
【0027】
図4に示す例では、4回のバージョンアップが行われて新たなシーケンスプログラムがシーケンスプログラム編集装置1で編集された状態を示している。最初(番号1)に、新規に作成されたシーケンスプログラムの識別情報として、このシーケンスプログラムの固有の値としてCRCの値「0x00112233」が記憶され、修正量は、新規に作成したシーケンスプログラムであるから、零の「0x0」が記憶されている(CRCの値、修正量は16進法で表している)。同様に、新規のシーケンスプログラム(1番目のシーケンスプログラム)をバージョンアップして2番目に得られたシーケンスプログラムの識別情報(CRCの値)「0x0F1E2423」と、バージョンアップでの修正量(1番目のシーケンスプログラムからの修正量)「0x0F99」、さらにバージョンアップして3番目に得られたシーケンスプログラムの識別情報(CRCの値)「0x81863E2F」と、このバージョンアップでの修正量「0x0080」が記憶されており、同様に、バージョンアップして得られた4回目のシーケンスプログラムの識別情報(CRCの値)「0xE1C63909」と、修正量「0x0820」、当該バージョンアップで得られた5番目シーケンスプログラムの識別情報(CRCの値)「0x23F653D8」と、修正量「0x0010」が記憶されている。
【0028】
一方、プログラマブルコントローラ2で使用していたシーケンスプログラム(図4では更新前のシーケンスプログラムと記載)を、当該バージョンアップで更新した新しいシーケンスプログラムに置き換えるとき、プログラマブルコントローラ2のプロセッサ21は、プログラマブルコントローラ2に今まで登録されている(更新前の)シーケンスプログラムから識別情報としてのCRCの値を生成し(図4では、0x81863E2Fの値が生成されたことを表している)、シーケンスプログラム編集装置1に送信する。シーケンスプログラム編集装置1のプロセッサ11は、送られてきたCRCの値の識別情報と一致する識別情報が、バージョンアップで編集されたシーケンスプログラムに付加されている識別情報の履歴の中に存在しないか検索し、存在しているときは(図4では、番号3の2回バージョンアップされたシーケンスプログラムの識別情報と一致)、置き換え可能として、当該バージョンアップで新しくなったシーケンスプログラム(5番目のシーケンスプログラム)をプログラマブルコントローラ2に送信する。プログラマブルコントローラ2のプロセッサ21は、記憶するシーケンスプログラムをこの送られてきた新しいシーケンスプログラムに置き換える。
【0029】
ただし、この実施形態では、シーケンスプログラムの置き換えが可能と判断されても、この更新前のシーケンスプログラムから新たなシーケンスプログラムまでのバージョンアップでの修正量が所定値を超えるような場合は、オペレータが置き換えるか否かを選択できるようにしている。
【0030】
また、更新前のシーケンスプログラムの識別情報(CRCの値)が、シーケンスプログラム編集装置1で、バージョンアップで編集されたシーケンスプログラムに付加されている識別情報の履歴の中に存在しない場合にも、置き換えするか否かをオペレータが選択できるようにしている。
【0031】
図5は、この第2の実施形態におけるシーケンスプログラムの置き換え方法の動作流れ図である。
【0032】
シーケンスプログラム編集装置1では、新たなシーケンスプログラムを編集したとき、
CRCの値を求め、このCRCの値を当該シーケンスプログラムの識別情報として、バージョンアップして得られた識別情報の履歴に追加する。図4で示す例では、4回のバージョンアップが行われ、新規に作成されシーケンスプログラムに対する識別情報(CRCの値)「0x00112233」(1番目)から、当該4回目のバージョンアップでのシーケンスプログラムの識別情報(CRCの値)「0x23F653D8」(5番目)までの識別情報の履歴が、この新たに編集されたシーケンスプログラムに対応して記憶されている。
【0033】
そして、シーケンスプログラムを置き換えるプログラマブルコントローラ2を選択し、図5に示すシーケンスプログラムの置き換え動作を開始させる。プログラマブルコントローラ2は、現在登録されているシーケンスプログラムのCRCの値を算出して識別情報を求め、シーケンスプログラム編集装置1に送信する(ステップS20)。シーケンスプログラム編集装置1のプロセッサ11は、新たに編集したシーケンスプログラムに対して設定されている識別情報(CRCの値)の履歴の中に、送られてきた識別情報(CRCの値)と一致するものがあるか検索する(ステップS21)。一致するものがあると(ステップS22の「Yes」)、一致した識別情報より後の修正量を合計する(ステップS23)。すなわち、プログラマブルコントローラ2にその時点で格納されているシーケンスプログラムからシーケンスプログラム編集装置1で編集された新たなシーケンスプログラムまでバージョンアップを重ね、各バージョンアップでの修正量を合計した合計修正量を求める。図4の例では、番号3の識別情報が一致するから、プログラマブルコントローラ2はこの3番目の識別情報のシーケンスプログラムが格納されているものであり、このシーケンスプログラムより2回バージョンアップされて、5番目の識別情報を有する新たなシーケンスプログラムが編集作成されているものであるから、4番目、5番目の識別情報に対応して記憶されている修正量「0x0820」と「0x0010」を合計して、現在のシーケンスプログラムから、置き換えようとする新たなシーケンスプログラムまでの、バージョンアップまでの修正量を求める。
【0034】
この修正量が設定値を超えていないか判断する(ステップS24)。超えていなければ、置き換え可能として、この編集して得られたこの新たなシーケンスプログラをプログラマブルコントローラ2に送信する。プログラマブルコントローラ2のプロセッサ21は、記憶するシーケンスプログラムを、この送られてきた新しいシーケンスプログラムに置き換える(ステップS25)。
【0035】
一方、ステップS23で求めた修正量が設定値を超えると判断された場合には(ステップS24)、表示装置14にシーケンスプログラムを置き換えてよいかの確認メッセージを表示し(ステップS26)、オペレータが、入力装置13より、置き換えをすると入力すれば(ステップS27)、ステップS25に移行し、前述したようにシーケンスプログラムの置き換えを実行する。置き換えしないと入力すれば、シーケンスプログラムの置き換えを行うことなく終了する。
【0036】
又、ステップS22で、プログラマブルコントローラ2から送られてきた識別情報と一致する識別情報が、識別情報の履歴にないと判断された場合にも、ステップS26に移行し、前述したように、シーケンスプログラムの置き換えをするか否かの確認メッセージを表示装置14に表示し、置き換えを行うか否かをオペレータに選択させる。これは、プログラマブルコントローラ2に新規にシーケンスプログラムを格納するときや、プログラマブルコントローラ2に記憶されているシーケンスプログラムとは全く異なるシーケンスプログラムをプログラマブルコントローラに格納できるようにしたものである。
【0037】
この第2の実施形態では、通常行われているハッシュ値として巡回冗長検査(CRC)のCRC値を識別情報としたので、特別な手段を必要とせず、シーケンスプログラム編集装置1でシーケンスプログラムのバージョンアップを行う毎に、CRC値を求めて識別情報としてその履歴に付加するだけで、置き換え前後のシーケンスプログラムの対応をとって、誤りなくシーケンスプログラムの置き換えを実行することができるものである。
【0038】
上述した各実施形態では、シーケンスプログラム編集装置1とプログラマブルコントローラ2が通信経路3で接続されているものであったが、この通信経路の代わり、メモリカードやUSBメモリ等のリムーバブルな記憶媒体を介して、シーケンスプログラム編集装置1とプログラマブルコントローラ2間でシーケンスプログラム等のデータの送受を行うようにしてもよい。
【0039】
この場合、シーケンスプログラム編集装置1で新たなシーケンスプログラムを編集作成したとき、図2図4に示すように識別情報をシーケンスプログラムに付加設定したデータを作成し、これを、インタフェース15を介してメモリカードやUSBメモリ等の外部記憶媒体に記憶し、この記憶媒体をプログラマブルコントローラ2のインタフェース25に装着し、この記憶媒体に記憶された新たなシーケンスプログラムと識別情報に基づいて、プログラマブルコントローラ2のプロセッサ21が、図3もしくは、図5に示す動作処理を実行して、シーケンスプログラムの置き換えができるか否かの判断を行い、置き換えが可能であれば、この記憶媒体に記憶されている新たなシーケンスプログラムを(又、第1の実施形態においては識別情報も)プログラマブルコントローラ2に格納するようにすればよいものである。
【符号の説明】
【0040】
1 シーケンスプログラム編集装置
2 プログラマブルコントローラ
3 通信経路
図1
図2
図3
図4
図5