[go: up one dir, main page]

JP2008282363A - プログラマブルコントローラ、プログラム作成支援装置、コンピュータプログラム及びplcシステム - Google Patents

プログラマブルコントローラ、プログラム作成支援装置、コンピュータプログラム及びplcシステム Download PDF

Info

Publication number
JP2008282363A
JP2008282363A JP2007128551A JP2007128551A JP2008282363A JP 2008282363 A JP2008282363 A JP 2008282363A JP 2007128551 A JP2007128551 A JP 2007128551A JP 2007128551 A JP2007128551 A JP 2007128551A JP 2008282363 A JP2008282363 A JP 2008282363A
Authority
JP
Japan
Prior art keywords
program
module
storage unit
programmable controller
error
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.)
Granted
Application number
JP2007128551A
Other languages
English (en)
Other versions
JP5039428B2 (ja
Inventor
Riichi Yamazaki
理威智 山▲崎▼
Masayuki Fujiwara
正之 藤原
Tomonobu Kitagawa
知伸 北川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Keyence Corp
Original Assignee
Keyence Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Keyence Corp filed Critical Keyence Corp
Priority to JP2007128551A priority Critical patent/JP5039428B2/ja
Publication of JP2008282363A publication Critical patent/JP2008282363A/ja
Application granted granted Critical
Publication of JP5039428B2 publication Critical patent/JP5039428B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Programmable Controllers (AREA)

Abstract

【課題】 プログラムを更新するためのモジュールがアップロードされPLCにおいて、上記プログラムを変更することなく、アップロードされたモジュールのエラーチェックを行うことを目的とする。
【解決手段】 PLC1が、複数のモジュールからなるプログラム5を記憶するプログラム記憶部15と、プログラム作成支援装置2からアップロードされたモジュールmodAを記憶する更新データ記憶部12と、モジュールmodAについてエラーチェックを行うエラーチェック部13と、モジュールmodAをプログラム記憶部15へ書き込むプログラム変更部14とを備え、モジュールmodAのアップロード時に、そのエラーチェックを行い、エラーチェック結果に基づいてプログラム5の更新を行う。
【選択図】 図3

Description

本発明は、プログラムマブルコントローラに係り、更に詳しくは、制御プログラムを繰り返し実行する運用モードと、上記制御プログラムの実行を停止する非運用モードとを切り替え可能なプログラマブルコントローラ、当該プログラマブルコントローラ用のプログラムを作成し、当該プログラマブルコントローラへ書き込むためのプログラム作成支援装置、当該プログラム作成支援装置をコンピュータ上で実現するためのコンピュータプログラム、並びに、上記プログラムマブルコントローラ及びプログラム作成支援装置を含むPLCシステムに関する。
プログラマブルコントローラ(以下、PLCと略す)は、FA(Factory Automation)制御システムにおいて広く使用されているシーケンス制御装置であり、ラダープログラムと呼ばれる専用プログラムに従って動作する。このため、PLC内のラダープログラムを書き換えることによって、所望のシーケンス制御装置を実現することができる。このラダープログラムは、通常、パーソナルコンピュータに専用プログラムをインストールしたプログラム作成支援装置を用いて作成され、通信ケーブルを介してPLCへ転送(アップロード)される。
この様にしてアップロードされたラダープログラムがエラーを含んでいる場合、当該PLCは正常に動作することができないため、予めラダープログラムのエラーチェックを行っておく必要がある。通常は、ラダープログラムのアップロード前にプログラム作成支援装置内においてエラーチェックが行われるが、ラダープログラムのアップロード後にPLC内において簡単なエラーチェックを行うものもあった。
一般に、PLCは、ラダープログラムを実行している運用モード(いわゆるRUNモード)と、ラダープログラムを実行していない非運用モード(いわゆるPROGRAMモード)とがあり、両モードはユーザ操作によって切り替えられる。PLC内でのエラーチェックは、ラダープログラムの実行前、つまり、非運用モード中に行わなければ意味がないことから、エラーチェックを行っている従来のPLCでは、ラダープログラムのアップロードを非運用モード中のみに制限し、運用モードへ切り替えられる前にエラーチェックを実行している。このエラーチェックの結果、エラーが発見された場合には、警告メッセージが出力されるとともに、誤って実行されることがないように当該ラダープログラムは消去される。
しかしながら、システムの一時停止及び再開による影響が大きく、PLCを頻繁に非運用モードへ切り替えることが許されない制御システムもある。このような制御システムのために、運用モード時にもラダープログラムをアップロードできるPLCもある。ただし、このようなPLCでは、運用モード中であるが故に、アップロードされたラダープログラムについてエラーチェックを行うことができず、エラーを含むプログラムをアップロードすれば、PLCが正常に動作しなくなる。
つまり、非運用モード時にアップロードされたラダープログラムについては、PLC内でエラーチェックを行うことができるが、運用モード時にアップロードされたラダープログラムについては、PLC内でエラーチェックを行うことはできない。従って、ラダープログラムを運用モード中にアップロードする場合には、プログラム作成支援装置内において十分なエラーチェックを行っておく必要がある。
また、最近のPLCの高速化、高機能化にともなって、ラダープログラムは大型で複雑なものとなり、1つのラダープログラムの開発を複数の設計者が共同で行うというケースが増えてきた。大規模なラダープログラムを複数の設計者で開発する場合、1つのラダープログラムを複数のモジュールに分割し、これらのモジュールごとに設計者が割り当てられる。各設計者は、それぞれの端末装置において自らが担当しているモジュールを作成し、異なる端末装置において作成された各モジュールをマージ(結合)することによって1つのラダープログラムが得られる。
このマージ処理をいずれかの端末装置において行う場合、端末装置間におけるモジュールを受け渡しが必要となる。このようなマージ処理が1回限りであれば問題ないが、いずれかの設計者がモジュールを編集するたびにマージ処理が必要になることから、通常は、モジュールの受け渡しが頻繁に発生し、そのバージョン管理も必要となり、共同開発にともなって煩雑で非効率的な作業が発生していた。このため、各端末装置からPLCへモジュールをアップロードし、PLC内でマージ処理を行うという設計手法を採用することが望ましい。
しかしながら、モジュール間の整合性を含む十分なエラーチェックを行うためには、マージ処理後にエラーチェックを実行する必要があり、PLC内でマージ処理を行うとすれば、エラーチェックもPLC内で行わなければならない。そうすると、運用モードのPLCに対し、各端末装置からモジュールをアップロードすることはできないという問題があった。
また、エラーチェックを行っているPLCは、エラーが発見されたラダープログラムを消去することにより、誤って運用モードへ切り替えられ、エラーを含むラダープログラムが実行されるのを防止している。しかしながら、エラー内容を詳細に解析するためには、エラーチェックの対象となったラダープログラムを入手する必要があり、PLC内で行われたマージ処理をいずれかの端末装置において再現しなければならない。そのためには、端末装置間でモジュールの受け渡しを行う必要があり、煩雑であるという問題があった。
なお、特許文献1には、PLC内のラダープログラムを解析するための従来技術が開示されている。この従来技術は、ラダープログラムの実行結果をPLCから出力し、デバッグ装置に取り込んで解析するというものであり、ラダープログラムの実行後にデバッグを行うことを目的とするものである。
特開2003−122405号公報
本発明は、上記の事情に鑑みてなされたものであり、運用モード時の実行対象となるプログラムを変更することなく、アップロードされたプログラムのエラーチェックを行うことができるPLCを提供することを目的とする。特に、運用モード中にアップロードされたプログラムのエラーチェック結果に基づいて実行対象となる制御プログラムを変更するPLCを提供することを目的とする。
また、運用モード時の実行対象となるプログラムが複数のモジュールで構成され、このプログラムを更新するためのモジュールがアップロードされた場合に、実行対象としての上記プログラムを変更することなく、アップロードされたモジュールのエラーチェックを行うPLCを提供することを目的とする。特に、運用モード中にアップロードされたモジュールについてのエラーチェック結果に基づいて実行対象となるプログラムを変更するPLCを提供することを目的とする。
また、上記PLCへプログラムを送信するためのプログラム作成支援装置、及び、コンピュータを上記プログラム作成支援装置として機能させるためのコンピュータプログラムを提供することを目的とする。
第1の本発明によるプログラマブルコントローラは、制御プログラムを繰り返し実行する運用モード及び上記制御プログラムの実行を停止する非運用モードを切り替え可能なプログラマブルコントローラであって、上記制御プログラムを記憶する第1プログラム記憶部と、外部装置から新たなプログラムを受信するデータ受信手段と、上記新たなプログラムを記憶する第2プログラム記憶部と、上記新たなプログラムについてエラーチェックを行うエラーチェック手段と、上記エラーチェックの結果に基づいて、上記新たなプログラムを上記第1プログラム記憶部へ書き込むプログラム変更手段とを備えて構成される。
第2の本発明によるプログラマブルコントローラは、上記構成に加えて、上記データ受信手段は、上記新たなプログラムを運用モード中に受信可能であり、上記プログラム変更手段は、運用モード中に、上記新たなプログラムを上記第1プログラム記憶部へ書き込み可能となるように構成される。
第3の本発明によるプログラマブルコントローラは、上記構成に加えて、上記第1プログラム記憶部が、上記制御プログラムとして複数のモジュールを保持し、上記データ受信手段が、新たなモジュールを受信し、上記第2プログラム記憶部が、上記新たなモジュールを記憶し、上記エラーチェック手段が、上記第1プログラム記憶部及び上記第2プログラム記憶部を参照して上記新たなモジュールのエラーチェックを行い、上記プログラム変更手段は、上記エラーチェックの結果に基づいて、上記新たなモジュールを上記第1記憶部へ書き込むように構成される。
第4の本発明によるプログラム作成支援装置は、制御プログラムを繰り返し実行する運用モード及び上記制御プログラムの実行を停止する非運用モードを切り替え可能なプログラマブルコントローラに対し、上記制御プログラムを更新するための新たなプログラムを送信するプログラム作成支援装置であって、上記プログラマブルコントローラ内において行われるエラーチェックの結果に基づいて上記制御プログラムを更新するためのプログラムとして、上記新たなプログラムを上記プログラマブルコントローラへ送信するプログラム送信手段と、上記エラーチェックの結果を上記プログラマブルコントローラから受信するエラー情報受信手段と、受信した上記エラーチェック結果を表示する表示手段とを備えて構成される。
第5の本発明によるプログラム作成支援装置は、上記構成に加えて、上記エラー情報受信手段が、上記プログラマブルコントローラから、上記制御プログラムの更新が上記エラーチェックの結果に基づき行われなかった旨の通知を受信するように構成される。
第6の本発明によるプログラム作成支援装置は、上記構成に加えて、上記プログラム送信手段が、運用モード中の上記プログラマブルコントローラに対し、上記新たなプログラムを送信することができ、上記エラー情報受信手段が、運用モード中の上記プログラマブルコントローラから、上記制御プログラムの更新が上記エラーチェックの結果に基づき行われなかった旨の通知を受信するように構成される。
第7の本発明によるプログラム作成支援装置は、上記構成に加えて、上記エラーチェックの結果に基づいて上記制御プログラムの変更についてユーザの意思確認を行うプログラム変更確認手段と、非運用モード中の上記プログラマブルコントローラに対し、上記意思確認の結果を送信する意思確認結果送信手段とを備えて構成される。
第8の本発明によるプログラム作成支援装置は、上記構成に加えて、上記制御プログラムが、複数のモジュールからなり、上記プログラム送信手段が、上記プログラマブルコントローラ内において行われるエラーチェックの結果に基づいて上記制御プログラムを更新するためのプログラムとして、新たなモジュールを上記プログラマブルコントローラへ送信するように構成される。
第9の本発明によるプログラム作成支援装置は、上記構成に加えて、上記エラーチェックの結果に基づいて、上記制御プログラムを構成するモジュールを上記プログラマブルコントローラから受信するプログラム受信手段とを備え、上記表示手段が、上記プログラム受信手段が受信した上記モジュールを表示するように構成される。
第10の本発明によるコンピュータプログラムは、制御プログラムを繰り返し実行する運用モード及び上記制御プログラムの実行を停止する非運用モードを切り替え可能なプログラマブルコントローラに対し、上記制御プログラムを更新するための新たなプログラムを送信するプログラム作成支援装置としてコンピュータを機能させるためのコンピュータプログラムであって、上記プログラマブルコントローラ内において行われるエラーチェックの結果に基づいて上記制御プログラムを更新するためのプログラムとして、上記新たなプログラムを上記プログラマブルコントローラへ送信するプログラム送信手段と、上記エラーチェックの結果を上記プログラマブルコントローラから受信するエラー情報受信手段と、受信した上記エラーチェック結果を表示する表示手段として機能させるように構成される。
第11の本発明によるコンピュータプログラムは、上記構成に加えて、上記エラーチェックの結果に基づいて上記制御プログラムの変更についてユーザの意思確認を行うプログラム変更確認手段と、非運用モード中の上記プログラマブルコントローラに対し、上記意思確認の結果を送信する意思確認結果送信手段として機能させるように構成される。
第12の本発明によるPLCシステムは、制御プログラムを繰り返し実行する運用モード及び上記制御プログラムの実行を停止する非運用モードを切り替え可能なプログラマブルコントローラと、プログラム作成支援装置からなるPLCシステムであって、上記プログラム作成支援装置が、新たなプログラムを上記プログラマブルコントローラへ送信するプログラム送信手段を有し、上記プログラマブルコントローラが、上記制御プログラムを記憶する第1プログラム記憶部と、上記新たなプログラムを受信するデータ受信手段と、上記新たなプログラムを記憶する第2プログラム記憶部と、上記新たなプログラムについてエラーチェックを行うエラーチェック手段と、上記エラーチェックの結果に基づいて、上記新たなプログラムを上記第1プログラム記憶部へ書き込むプログラム変更手段とを有する。
本発明によれば、運用モード時の実行対象となるプログラムを変更することなく、アップロードされたプログラムのエラーチェックを行うPLCを提供することができる。特に、運用モード中にアップロードされたプログラムのエラーチェック結果に基づいて実行対象となる制御プログラムを変更するPLCを提供することができる。
また、運用モード時の実行対象となるプログラムが複数のモジュールで構成され、このプログラムを更新するためのモジュールがアップロードされた場合に、実行対象としての上記プログラムを変更することなく、アップロードされたモジュールのエラーチェックを行うPLCを提供することができる。特に、運用モード中にアップロードされたモジュールについてのエラーチェック結果に基づいて実行対象となるプログラムを変更するPLCを提供することができる。
実施の形態1.
[システムの概略構成]
図1は、本発明の実施の形態1によるPLC(Programable Logic Controller)システムの概略構成の一例を示した図である。このシステムは、1つのPLC1、当該PLC1に接続された複数のプログラム作成支援装置2、入力装置3及び出力装置4によって構成される。
PLC1は、センサーなどの入力装置3と、モータなどの出力装置4が接続され、入力装置3からの検出信号に基づいて、出力装置4への制御信号を生成する小型コントローラであり、その動作は、PLC1内に保持しているプログラムによって決定される。このPLC1は、運用モード及び非運用モードがユーザによって切り替えられ、運用モード時には、上記プログラムが繰り返し実行され、非運用モード時には、上記プログラムの実行を停止している。
プログラム作成支援装置2は、ユーザがPLC1用のプログラムを作成するための端末装置であり、専用の端末装置であってもよいが、通常は、パーソナルコンピュータに専用ソフトウエアをインストールすることによって実現される。ユーザは、このプログラム作成支援装置2上において、プログラムを作成し、作成されたプログラムのエラーチェックを行い、エラーチェック後のプログラムをコンパイルしてソースコードからオブジェクトコード(実行コード)へ変換する。この様にして生成されたプログラムのオブジェクトコードが、プログラム作成支援装置2からPLC1へアップロードされる。また、アップロードだけでなく、PLC1内のプログラムをプログラム作成支援装置2へダウンロードして編集することもできる。
図示したPLCシステムは、1つのプログラムを複数の設計者が共同で開発するためのものである。各プログラム作成支援装置2は、それぞれ異なる設計者が利用している端末装置であり、複数のプログラム作成支援装置2が、通信ケーブルを介して、1つのPLC1にネットワーク接続されている。従って、各設計者は、独自にプログラムの編集、エラーチェック、コンパイル及びアップロードをそれぞれ行うことができる。
図2は、PLC1用のプログラム5の概略について説明するための図である。プログラム5は、PLC1によって順次に実行される多数の命令コードによって構成されている。また、1つのプログラム5を複数の設計者で共同開発する場合、プログラム5は、複数のモジュールmodA〜modDに分割され、各モジュールmodA〜modDに異なる設計者が割り当てられる。つまり、各モジュールmodA〜modDは、図1に示された異なるプログラム作成支援装置2において、それぞれ作成され、共通のPLC1へそれぞれアップロードされる。これらのモジュールmodA〜modDは、PLC1内でマージ(結合)され、PLC1内で実行されるプログラム5となる。
各モジュールmodA〜modDは、モジュール単独でのエラーチェックが各プログラム作成支援装置2内において行われ、各モジュールmodA〜modDをマージして得られるプログラム5全体についてのエラーチェックは、PLC1内において行われる。
また、各モジュールmodA〜modDには、識別データidA〜idDがそれぞれ含まれている。識別データidA〜idDは、モジュールの新規作成時に生成され、その後もモジュールが変更されるたびに更新されるデータであり、異なるモジュールmodA〜modDには異なる識別データidA〜idDが格納されており、同じモジュールであっても、バージョンが異なれば、異なる識別データが格納されている。ただし、複製されたモジュールには、複製前のモジュールと同じ識別データが格納されている。つまり、識別データidA〜idDは、モジュールの編集に固有のデータである。
[PLC1の詳細構成]
図3は、図1のPLC1の一構成例を示したブロック図である。このPLC1は、データ入出力部11、更新データ記憶部12、エラーチェック部13、プログラム更新部14、プログラム記憶部15、プログラム実行部16、入力装置I/F(interface)部17及び出力装置I/F部18によって構成される。
データ入出力部11は、有線又は無線の通信回線を介して、各プログラム作成支援装置2と接続され、双方向のデータ通信を行っている。プログラム作成支援装置2からアップロードされたプログラム5は、データ入出力部11によって受信され、更新データ記憶部13に格納される。また、プログラム作成支援装置2からプログラム5のダウンロード要求を受信した場合には、更新データ記憶部12又はプログラム記憶部15に格納されているプログラムを要求元のプログラム作成支援装置2へ送信する。
更新データ記憶部12は、プログラム作成支援装置2からアップロードされたプログラム5が格納される記憶手段である。プログラム5が複数のモジュールで構成され、プログラム5を更新するためのモジュールがアップロードされた場合には、当該アップロードされたモジュールが更新データ記憶部12に格納される。
プログラム記憶部15は、運用モード時に実行対象となるプログラム5を記憶する記憶手段である。ここでは、実行対象となるプログラム5が、複数のモジュールmodA〜modDからなるものとする。なお、各モジュールmodA〜modD内には、識別データidA〜idD及び更新時刻データがそれぞれ格納されている。このプログラム記憶部15に書き込まれるのは、更新データ記憶部12に一旦格納され、エラーチェックが行われたプログラム5であるが、例外的な場合、例えばモジュールmodA〜modDがPLC1に最初に書き込まれるような場合には、エラーチェックを行うことなく、プログラム作成支援装置2からプログラム記憶部15へ直接書き込むこともできる。
プログラム実行部16は、プログラム記憶部15内のプログラム5に基づいて動作するプロセッサである。例えば、入力装置I/F部17を介して、入力装置3から入力される検出信号に基づいて制御信号を生成し、出力装置I/F部17を介して、上記制御信号を出力装置4へ出力している。このプログラム実行部16は、運用モード中には上記プログラムを繰り返し実行しているが、非運用モード中には、上記制御プログラムの実行を停止している。
エラーチェック部13は、更新データ記憶部12及びプログラム記憶部15に格納されているプログラム又はモジュールに基づいて、エラーチェックを行っている。このエラーチェック処理は、プログラム又はモジュールがPLC1へアップロードされた場合に実行される。エラーチェック処理の対象は、実行対象のプログラム5を更新データ記憶部12内のデータによって更新したプログラムである。つまり、プログラム5がアップロードされ、更新データ記憶部12に書き込まれた場合には、当該プログラム5についてエラーチェックが行われる。一方、モジュールmodAがアップロードされ、更新データ記憶部12に書き込まれた場合には、実行対象のプログラム5をアップロードされた新たなモジュールmodAで更新したプログラムについてエラーチェックが行われる。
ただし、新たなモジュールmodAによるプログラム5の更新は、エラーチェック部13が仮想的に行っており、更新データ記憶部12及びプログラム記憶部15に保持されているデータは、エラーチェック処理によって変更されない。すなわち、エラーチェック部13は、モジュールmodA以外のモジュールについてはプログラム記憶部15を参照し、モジュールmodAについては更新データ記憶部12を参照することにより、実行対象のプログラムを変更することなく、更新後のプログラムについてエラーチェックを行っている。
プログラム更新部14は、エラーチェック部13によりエラーが発見されなかった場合に更新データ記憶部12に格納されているデータをプログラム記憶部15に書き込み、実行対象のプログラム5を更新する。すなわち、更新データ記憶部12内にプログラム5が保持されている場合には、当該プログラム5がプログラム記憶部15内に書き込まれ、実行対象であったプログラム5は消去される。また、更新データ記憶部12内にモジュールmodAが保持されている場合には、当該モジュールmodAがプログラム記憶部15に書き込まれる。このとき、プログラム記憶部15内にモジュールmodAが存在していれば、新たなモジュールmodAによって上書きされる。
なお、このプログラム更新部14は、運用モード中であってもプログラム記憶部16内のプログラム5を更新することができる。つまり、プログラム実行部16が実行中のプログラムを更新することができる。例えば、プログラム実行部16がプログラム5を繰り返し実行している周期に同期して、プログラム更新部14が当該プログラム5を更新することによって、制御動作に支障をきたすことなく、実行対象のプログラム5を更新している。
[プログラム作成支援装置2の詳細構成]
図4は、図1のプログラム作成支援装置2の一構成例を示したブロック図である。このプログラム作成支援装置2は、プログラム記憶部201、前回データ記憶部202、プログラム編集部21、識別データ生成部22、エラーチェック部23、コンパイル部24、プログラム照合部25、データ入出力部26、エラー情報出力部27及びプログラム変更確認部28により構成される。
プログラム記憶部201は、PLC1用のプログラム5を記憶する記憶手段である。プログラム5は、複数の設計者で共同開発されるプログラムであり、複数のモジュールmodA〜modDからなり、このプログラム作成支援装置2を利用している設計者は、モジュールmodAの作成を担当しているものとする。この場合、プログラム記憶部201内に保持されているモジュールmodAは、当該プログラム作成支援装置2内で作成されたモジュールであり、他のモジュールmodB〜modDは、他のプログラム作成支援装置2において作成され、PLC1からダウンロードされたモジュールである。
前回データ記憶部202は、識別データidA〜idDを記憶する記憶手段であり、プログラム5のアップロード時及びダウンロード時に更新される。例えば、当該プログラム作成支援装置2における編集対象がモジュールmodAであれば、前回データ記憶部202内に保持されている識別データidAは、モジュールmodAのPLC1へのアップロード時に更新され、その他の識別データidB〜idDは、モジュールmodB〜modDのPLC1からのダウンロード時に更新される。従って、前回データ記憶部202内には、常に、PLC1に最後にアクセスした時点における識別データが保持されている。
プログラム編集部21は、ユーザがプログラム5を新規に作成し、あるいは、既に作成したプログラム5を変更するための手段である。プログラムの編集は、例えば、ユーザが画面表示を見ながら操作入力を行い、新たなデバイスシンボルを画面上に配置し、そのデバイス名などのパラメータを定義したり、あるいは、不要になった配置済みのデバイスシンボルを削除することによって行われる。ここでは、プログラム5が複数のモジュールで構成されているため、モジュールごとに編集が行われ、編集後のモジュールには、識別データ及び更新時刻データ(例えば更新日時)が加えられて、プログラム記憶部201へ書き込まれる。
識別データ生成部22は、プログラム編集部21による編集終了時に、編集後のプログラム5に基づいて識別データを生成する。モジュールmodAを編集した場合であれば、編集後のモジュールmodAに基づいて、識別データidAが生成される。この識別データは、編集処理ごとに固有のデータとして生成される。例えば、予め定められたハッシュ関数を用いて、編集後のモジュールmodAから求められるハッシュ値を識別データidAとして利用することができる。また、モジュールmodAの編集が行われた日時や、編集を行った設計者の識別情報や、端末装置の識別情報などに基づいて識別データを生成することもできる。
エラーチェック部23は、プログラム記憶部201内に保持されているプログラム5のエラーチェックを行う。ユーザは、このエラーチェック結果を見て、プログラム5にエラーが含まれていないことを確認することができる。プログラム5が複数のモジュールで構成される場合には、エラーチェック部23により、モジュール単体についてのエラーチェックが行われる。
コンパイル部24は、プログラム記憶部201に記憶されているプログラム5のソースコードをオブジェクトコードに変換する処理を行う。プログラム5が複数のモジュールで構成される場合、このコンパイル処理によって、モジュールごとのオブジェクトコードを生成することができる。
データ入出力部26は、PLC1との間でデータ入出力を行っている。ここでは、PLC1に対するプログラム5のアップロード及びダウンロード、PLC1からの識別データ及びエラー情報の取得、並びに、PLC1への強制更新指示の送出を行っている。
PLC1へのプログラム5の書き込み(アップロード)時には、プログラム記憶部201内のプログラム5がPLC1へアップロードされる。また、このプログラムがPLC1内のプログラム記憶部15に格納された場合には、当該プログラム5に含まれる識別データが前回データ記憶部202に書き込まれる。プログラム5が複数のモジュールで構成されている場合には、全く同様にして、モジュールごとにアップロードすることができる。
PLC1からのプログラム5の取得(ダウンロード)時には、取得したプログラム5がプログラム記憶部201に格納される。また、このプログラム5がPLC1内のプログラム記憶部15からダウンロードされた場合には、当該プログラム5に含まれる識別データが前回データ記憶部202にも書き込まれる。プログラム5が複数のモジュールで構成されている場合には、全く同様にして、モジュールごとにダウンロードすることができる。
プログラム照合時には、PLC1からプログラム5及びモジュールmodA〜modDをダウンロードすることなく、識別データidA〜idDのみを取得している。この様にしてPLC1からダウンロードされた識別データidA〜idDは、プログラム照合部25へ出力される。
プログラム又はモジュールのアップロード後は、PLC1からエラー情報を取得する。このエラー情報は、PLC1内において行われたプログラム5のエラーチェック結果である。PLC1から取得したエラー情報は、エラー情報出力部27及びプログラム変更確認部28へ出力される。
プログラム照合部25は、注目しているプログラム又はモジュールについて最後のアップロード又はダウンロードが行われた後に、当該プログラム作成支援装置2内又はPLC1内のいずれかで当該プログラム又はモジュールが更新されたか否かを判別する。この判別処理は、プログラム記憶部201内、前回データ記憶部202内及びPLC1内に保持されている識別データを比較することによって行われる。
PLC1内のモジュールmodA〜modDを他人が更新したか否かは、前回データ記憶部202内に保持されている識別データidA〜idDと、PLC1内のプログラム記憶部15からダウンロードした識別データidA〜idDとを比較することによって判別できる。両者が一致しなければ、前回データ記憶部202の更新後に、PLC1内の実行対象のプログラムを構成するモジュールmodA〜modDが、他のプログラム作成支援装置2からのアップロードによって更新されたと判別することができる。
また、プログラム記憶部201内のモジュールmodA〜modDが編集されたか否かは、前回データ記憶部202内の識別データidA〜idDと、プログラム記憶部201内の識別データidA〜idDとを比較することによって判別できる。両者が一致しなければ、前回データ記憶部202の更新後に、PLC1内のモジュールmodA〜modDが、プログラム編集部21によって更新されたと判別することができる。
エラー情報出力部27は、プログラム照合部25の照合結果と、PLC1から取得したエラー情報とに基づいて出力動作を行っている。ユーザがプログラム照合処理を指示すれば、上記照合結果が画面表示される。また、ユーザがモジュールのアップロードを指示した場合であって、当該アップロードによって更新されるPLC1のプログラム記憶部15内のモジュールが他のプログラム作成支援装置2によって先に更新されていた場合には、警告メッセージを画面表示し、ユーザに確認のための操作入力を行わせ、あるいは、当該アップロード処理を禁止する。
さらに、PLC1からエラー情報を取得した場合には、当該エラー情報を画面表示する。このエラー情報は、プログラム又はモジュールをPLC1へアップロードした場合にPLC1内で行われるエラーチェックの結果である。エラーが発見されれば、エラーの内容と、エラーの発見されたプログラム又はモジュール中の位置が表示される。一方、エラーが発見されなかった場合には、その旨が表示される。
プログラム変更確認部28は、PLC1内の実行対象のプログラム5を強制的に変更するか否かについて、ユーザの意思を確認する手段である。PLC1は、運用モード中のアップロードにより起動されたエラーチェックにおいてエラーが発見されれば、実行対象となるプログラム5の更新を行わない。一方、非運用モード中のアップロードにより起動されたエラーチェックにおいてエラーが発見された場合、PLC1は、実行対象のプログラム5を更新するか否かをプログラム作成支援装置2に照会する。この照会を受信すると、プログラム変更確認部28は、ユーザの意思確認を行って、その結果をPLC1へ送信する。つまり、非運用モード中にアップロードされたプログラム又はモジュールであれば、PLC1内のエラーチェックにおいてエラー発見されても、ユーザが承認すれば、PLC1のプログラム記憶部15内のプログラム5が更新される。
[モジュールのアップロード]
図5〜図7のステップS101〜S120は、図1のPLCシステムの動作の一例を示したフローチャートであり、プログラム作成支援装置2からPLC1へのアップロード処理が示されている。このアップロード処理は、ユーザがプログラム記憶部201に格納されているモジュールmodAを指定し、PLC1へのアップロードを指示したときに開始される。なお、このアップロード処理は、PLC1の動作モードが、運用モード及び非運用モードのいずれの場合であっても実行することができる。
まず、プログラム作成支援装置2内において、エラーチェック部23によるエラーチェックが行われる(図5のステップS101)。このエラーチェックでは、少なくとも指定されたモジュールmodA単体についてのエラーチェックが行われる。これに加えて、プログラム作成支援装置2内に保持されている他のモジュールmodB〜modDを用いて、最終的にプログラム5を構成する各モジュールmodA〜modD間の整合性に関するエラーチェックを行ってもよい。このエラーチェックにおいてエラーが発見された場合、エラー情報出力部27により、エラー情報と「アップロード失敗」のメッセージからなるエラー終了画面が表示され、アップロードを行うことなく、当該アップロード処理を終了する(ステップS102,S103)。
一方、モジュール単体のエラーチェック(ステップS101)において、エラーが発見されなかった場合には、モジュールmodAが、PLC1へアップロードされる(ステップS104)。アップロードされたモジュールmodAは、PLC1内の更新データ記憶部12に一旦格納され、プログラム記憶部15内のプログラムは更新されない。
更新データ記憶部12に新たなモジュールmodAが格納されると、エラーチェック部13によるエラーチェックが開始される(ステップS105)。このエラーチェック処理の対象は、実行対象のプログラム5を新たなモジュールmodAで更新した場合の更新後のプログラム5であるが、プログラム記憶部15内のプログラム5を変更することなく、更新データ記憶部12及びプログラム記憶部15を参照してエラーチェックが行われる。つまり、エラーチェック部13は、新たなモジュールmodAについては、更新データ記憶部12を参照し、その他のモジュールmodB〜modDについてはプログラム記憶部15を参照することによって、これらのモジュールmodA〜odDを仮想的にマージし、エラーチェックを行う。このエラーチェック(ステップS105)は、仮想マージ後のプログラム5についてのエラーチェックであり、モジュール単体のエラーチェック(ステップS101)とは異なり、モジュールmodA〜modD間の整合性に関してもチェックすることができる。
ステップS105のエラーチェックにおいてエラーが発見されなかった場合、実行対象のプログラム5が、アップロードされたモジュールによって更新される(図6のステップS106,S107)。すなわち、プログラム更新部14が、更新データ記憶部12内の新しいモジュールmodAをプログラム記憶部15へ書き込む。また、アップロードの正常終了がプログラム作成支援装置2へ通知される。プログラム作成支援装置2内では、この通知に基づいて、アップロードしたモジュールmodAの識別データが、前回データ記憶部202に書き込まれる(ステップS108)。また、上記通知に基づいて、「アップロード成功」のメッセージからなる正常終了画面が、エラー情報出力部27によって表示され(ステップS109)、当該アップロード処理は終了する。
一方、ステップS105のエラーチェックにおいてエラーが発見された場合、当該エラーが致命的であるか否か、また、PLC1の動作モードが運用中であるか否かによって、その後の動作は異なる(ステップS110〜S114)。
発見されたエラーが、実行対象のプログラム5を更新することができない致命的なエラーであった場合、プログラム作成支援装置2において、エラー情報と「アップロード失敗」のメッセージからなるエラー終了画面が表示され、当該アップロード処理を終了する(ステップS110,S111)。エラー情報が致命的である場合とは、例えば、更新後のプログラムのサイズが、プログラム記憶部15の容量を超えてしまう場合や、モジュールの追加によってPLC1が許容している最大モジュール数を超えてしまう場合である。
また、上記エラー情報が致命的でない場合であっても、PLC1の動作モードが運用モードである場合には、プログラム作成支援装置2において、エラー情報と「アップロード失敗」のメッセージからなるエラー終了画面が表示され、当該アップロード処理を終了する(ステップS112,S113)。運用モード中は、実行対象のプログラムをエラーが発見されたプログラムへ更新するのは危険であることから、この様なプログラムの更新を禁止している。
上記エラー情報が致命的でなく、かつ、PLC1の動作モードが非運用モードである場合には、プログラム作成支援装置2において、エラー情報が表示されるとともに(ステップS114)、「プログラムを強制的に更新しますか」というメッセージが画面表示され、ユーザの意思確認が行われる(図7のステップS115)。ユーザは、マウスなどのポインティング入力手段を用いて、プログラムを強制的に更新するか否かを選択する。
このとき、ユーザが強制更新を了承しなければ、プログラム作成支援装置2において「プログラムを更新せずに終了します」というメッセージが画面表示され、当該アップロード処理を終了する(ステップS116,S117)。一方、ユーザが更新を了承すれば、実行対象のプログラム5が、アップロードされたモジュールによって更新され、更新完了がプログラム作成支援装置2へ通知される(ステップS118)。プログラム作成支援装置2内では、この通知に基づいて、アップロードしたモジュールmodAの識別データが、前回データ記憶部202に書き込まれる(ステップS119)。また、上記通知に基づいて「プログラム強制的に更新しました」のメッセージが画面表示され(ステップS120)、当該アップロード処理が終了する。
[モジュールのダウンロード]
図8のステップS201〜S204は、図1のPLCシステムの動作の一例を示したフローチャートであり、PLC1からプログラム作成支援装置2へのモジュールのダウンロード処理が示されている。このダウンロード処理は、ユーザが、PLC1内のプログラム記憶部15に格納されているモジュール、例えばモジュールmodBを指定し、プログラム作成支援装置2へのダウンロードを指示したときに開始される。なお、このアップロード処理は、PLC1の動作モードが、運用モード及び非運用モードのいずれの場合であっても実行することができる。
まず、モジュールmodBを指定したダウンロード要求が、プログラム作成支援装置2からPLC1へ送信される(ステップS201)。このダウンロード要求を受信したPLC1は、プログラム記憶部15に保持されているモジュールmodBを読み出して要求元のプログラム作成支援装置2へ送信する。このモジュールは、プログラム作成支援装置2内のデータ入出力部26によって受信される(ステップS202)。データ入出力部26は、受信したモジュールmodBから識別データidBを抽出し、前回データ記憶部202内の識別データを更新する(ステップS203)。この前回データ記憶部202の更新後に、上記モジュールmodBは、プログラム記憶部201に書き込まれる(ステップS204)。なお、PLC1内の更新データ記憶部12に保持されているモジュールをダウンロードする場合には、上記ステップのうち、ステップS203が省略される。
[プログラム照合]
図9のステップS301〜S306は、図3のプログラム作成支援装置2の動作の一例を示したフローチャートであり、プログラム照合処理が示されている。このプログラム照合処理は、プログラム作成支援装置2において、ユーザがプログラム照合を指示した場合に、プログラム照合部25によって実行される。
ユーザがプログラム5を指定してプログラム照合を指示すると、プログラム照合部25は、当該プログラムに属する全てのモジュールmodA〜modDについて、その識別データidA〜idD及び更新時刻データをPLC1内のプログラム記憶部15からダウンロードする(ステップS301)。このとき、モジュールmodA〜modD自体をダウンロードしてもよいが、プログラム照合に必要となる識別データidA〜idD及び更新時刻データのみをダウンロードすれば、ダウンロード時間を大幅に短縮することができる。
次に、前回データ記憶部202から識別データidA〜idDが読み出され(ステップS302)、ダウンロードされた識別データidA〜idDとの比較が行われる(ステップS303)。つまり、照合対象となる各モジュールmodA〜modDごとに、前回データ記憶部202内に保持されている識別データと、PLC1のプログラム記憶部15内に保持されている識別データとの比較が行われる。
同様にして、プログラム記憶部201から識別データidA〜idD及び更新時刻データが読み出され(ステップS304)、照合対象となる各モジュールmodA〜modDごとに、前回データ記憶部202内の識別データidA〜idDとの比較が行われる(ステップS305)。
エラー情報出力部27は、ステップS303及びS305の比較結果を画面表示してユーザに知らせる(ステップS306)。例えば、ステップS303及びS305における各比較結果が、モジュールmodA〜modDごとに対応づけられて画面表示される。
なお、このプログラム照合処理では、プログラム作成支援装置2及びPLC1間で、識別データのダウンロードが行われているが、モジュールのアップロード及びダウンロードは行われていない。このため、前回データ記憶部202は更新されない。
[エラー情報出力例1]
図10は、プログラム作成支援装置2におけるエラー情報出力の一例を示した図であり、エラー情報出力部27による画面表示の一例が示されている。この表示画面には、プログラム表示エリア30及びエラー情報表示エリア31が含まれている。プログラム表示エリア30は、プログラム編集時における表示と同様、プログラム5がグラフィカルに表示される領域であり、複数のデバイスシンボル32の結合状態としてプログラム5が表示されている。
エラー情報表示エリア31は、PLC1から受信したエラー情報を表示するエリアである。この図では、2つのエラー情報33が行を異ならせて表示されている。ここでは、エラー情報33として、エラー発生箇所34、エラー番号35、エラーメッセージ36及び命令語37が表示されている。エラー発生箇所34は、エラー発生位置の情報であり、例えば、モジュール名「cp053」、行番号「00019」及び列番号「02」によって特定される。エラー番号は、予め定められているエラーの種類を示すコード番号である。エラーメッセージ36は、コード番号に予め対応づけられている文字列である。命令語37はエラーが発見された命令語である。
図11は、エラー発生箇所をプログラム上で示した画面表示の一例である。図10の表示画面上において、エラー情報表示エリア31に表示されているエラー情報33のいずれかをユーザが選択すれば、エラー発生箇所を含むモジュールがプログラム表示エリア30に表示され、エラー発生箇所のデバイスシンボルがハイライト(強調)表示68となる。例えば、マウスなどのポインティングデバイスを用いて、エラー情報表示エリア31内をユーザがクリックすれば、クリックされた行に対応するエラー情報が選択され、プログラム表示エリア30に当該エラー情報に係るデバイスが表示される。
ただし、ユーザが選択したエラー情報が、プログラム作成支援装置2内に保持されていないモジュールmodB〜modDである場合には、当該モジュールmodB〜modDがPLC1内のプログラム記憶部15からダウンロードされ、プログラム表示エリア30に表示される。なお、エラー情報に係るモジュールは、PLC1からエラー情報を取得する際に取得しておくことが望ましい。例えば、PLC1が、エラー情報とともに、当該エラー情報に係るモジュールもプログラム作成支援装置2へ送出するように構成してもよいし、あるいは、プログラム作成支援装置2が、PLC1から取得したエラー情報に基づいて、PLC1に対し、当該エラー情報に係るモジュールのダウンロードを要求するように構成することもできる。
[エラー情報出力例2]
図12は、プログラム作成支援装置2におけるエラー情報出力の他の例を示した図であり、プログラム照合結果及びエラー情報が同時に表示されるPLC照合/同期画面6が示されている。
PLC照合/同期画面6は、エラー情報出力部27によって表示される。このPLC照合/同期画面6上には、照合ボタン61、PLC書込ボタン62、PLC読出ボタン63及び照合結果表示エリア64が設けられている。これらのボタン61〜63は、マウスなどのポインティング入力手段を用いて操作することができ、ユーザは、プログラム照合処理、アップロード処理又はダウンロード処理を指示することができる。
ユーザが照合ボタン61を操作すれば、図9に示したプログラム照合処理が実行され、その照合結果が照合結果表示エリア64に表示される。図示した照合結果表示エリア64内には、ユーザが指定したプログラム5に含まれる各モジュールA〜Dが異なる行にそれぞれ表示された例が示されている。
各行の左側のエリアは、当該プログラム作成支援装置2のプログラム記憶部201に保持されているモジュール名と、その更新時刻データが表示されるエディタ表示欄641である。同様にして、各行の右側のエリアは、PLC1内のプログラム記憶部15に保持されているモジュール名と、その更新時刻データが表示されるPLC表示欄643である。
各行の中央のエリアは、プログラム照合部25による照合結果を文字で表示する照合結果表示欄642である。ステップS303及びS305による照合結果が、ともに一致であったモジュールについては、照合結果表示欄642に「OK」が表示される。一方、いずれかが不一致であったモジュールについては、照合結果表示欄642には何も表示されず、エディタ表示欄641又はPLC表示欄643内の当該モジュールがハイライト(強調)表示66となる。つまり、ステップS303で不一致であった場合には、PLC表示欄643内の当該モジュールがハイライト表示66となり、ステップS305で不一致であった場合には、エディタ表示欄641内の当該モジュールがハイライト表示66となる。この様にして、ステップS303及びS305の比較結果をモジュールごとに対応づけて表示している。
図中でハッチングにより示されたハイライト表示67は、図5〜図7のアップロード処理中においてエラーが発生したモジュールを表示している。このハイライト表示67の更新は、プログラムのアップロード時に行われる。なお、図示しないが、実行対象となるプログラムの更新に失敗した「アップロード失敗」と、エラー検出後のプログラム強制更新とが区別可能となるように、両者をそれぞれ表示することもできる。
チェックボックス65は、アップロード又はダウンロードの対象となるモジュールをユーザが指定するためのチェックボックスであり、各行の左端に設けられている。ユーザは、このチェックボックス65をクリック操作し、アップロード又はダウンロードするモジュールを選択する。
PLC書込ボタン62は、PLC1へのアップロードを指示するための操作ボタンである。ユーザがPLC書込ボタン62を操作すれば、図5〜7に示したアップロード処理が実行される。アップロードされるモジュールは、チェックボックス65のユーザ操作によって選択されたモジュールである。
PLC読出ボタン63は、PLC1からのダウンロードを指示するための操作ボタンである。ユーザがPLC読出ボタン63を操作すれば、図8に示したダウンロード処理が実行される。ダウンロードされるモジュールは、チェックボックス65のユーザ操作によって選択されたモジュールである。
図12に示された各モジュールA〜Dの照合結果の例について説明する。プログラム作成支援装置2内のモジュールAは編集済みであるが、この編集はPLC1内のモジュールAには反映されておらず、モジュールAをPLC1へアップロードしておく必要があることがわかる。また、PLC1内のモジュールAは他人によって更新されておらず、上記アップロードは安全に行うことができる状態であることがわかる。ただし、この例では、モジュールAが、アップロード失敗を示すハイライト表示67になっている。つまり、編集済みのモジュールのアップロードを既に試みており、その結果、アップロード時のエラーチェックでエラーが発見され、実行対象のプログラムを更新できなかったことがわかる。
プログラム作成支援装置2内のモジュールBは編集されていないが、PLC1内のモジュールBは、他のプログラム作成支援装置2によって更新されている。このため、シミュレーションを正しく行うためには、モジュールBをPLC1からダウンロードしておく必要があることがわかる。
モジュールCについては「OK」が表示されており、プログラム作成支援装置2内及びPLC1内のモジュールが一致していることが示されている。この場合、モジュールCについてはアップロード及びダウンロードのいずれも行う必要がないことがわかる。
プログラム作成支援装置2内のモジュールDは編集済みであるが、この編集はPLC1内のモジュールDには反映されていない。一方、PLC1内のモジュールDは他のプログラム作成支援装置2によって先に更新されている。この場合、モジュールDのPLC1へのアップロードは、他人が先に更新したPLC1内のモジュールDを上書きすることになるため、慎重に行わなければならないことがわかる。
なお、上記実施の形態における更新データ記憶部12及びプログラム記憶部15は、物理的に区分され、あるいは、固定的に区分された記憶装置である必要はない。これらの記憶部12及び15は、例えば、次のように実現することができる。
図13は、更新データ記憶部12及びプログラム記憶部15の具体的な構成例を示した図である。図中の(a)は、PLC1内に備えられた記憶装置のメモリ空間を示した図であり、複数のメモリ領域A1〜A8に予め分割されている。図中の(b)は、これらの各メモリ領域A1〜A8を更新データ記憶部12又はプログラム記憶手段15へ動的に割り当てるための割当テーブルである。
ここでは、実行対象となるプログラム5を構成しているモジュールA〜Dが、メモリ領域A1〜A4及びA7に格納されており、これらのメモリ領域A1〜A4及びA7が、割当テーブルによってプログラム記憶部15に割り当てられている。なお、モジュールBは、メモリ領域A2のサイズよりも大きいため、2つのメモリ領域A2及びA3にわたって格納されている。また、アップロードされたモジュールA’が、メモリ領域A6に格納されており、このメモリ領域A6が、(b)の割当テーブルよって更新データ記憶部12に割り当てられている。
このため、プログラム実行部16は、メモリ領域A1〜A4及びA7を参照して動作し、エラーチェック部13は、メモリ領域A2〜A4、A6及びA7を参照してエラーチェックを行う。また、モジュールAをモジュールA’で置き換えることにより、実行対象となるプログラム5を更新する場合には、プログラム更新部14が、メモリ領域A6がプログラム記憶部15に割り当てられ、メモリ領域A1が未使用となるように、割当テーブルを変更すればよく、モジュールA’をメモリ空間内で移動させる必要はない。
なお、上記実施の形態では、主として、プログラム5が複数のモジュールにより構成される場合の例について説明したが、本発明は、このような場合には限定されない。すなわち、モジュールに分割されていないプログラム5(1つのモジュールで構成されるプログラム)についても本発明を適用することができる。
本発明の実施の形態1によるPLCシステムの概略構成の一例を示した図である。 PLC用プログラム5の概略について説明するための図である。 図1のPLC1の一構成例を示したブロック図である。 図1のプログラム作成支援装置2の一構成例を示したブロック図である。 モジュールのアップロード処理の一例を示したフローチャートである(その1)。 アップロード処理の一例を示したフローチャートである(その2)。 アップロード処理の一例を示したフローチャートである(その3)。 ダウンロード処理の一例を示したフローチャートである。 プログラム照合処理の一例を示したフローチャートである。 プログラム作成支援装置2におけるエラー情報出力の一例を示した図である。 エラー発生箇所をプログラム上で示した画面表示の一例である。 プログラム作成支援装置2におけるエラー情報出力の他の例を示した図である。 更新データ記憶部12及びプログラム記憶部15の具体的な構成例を示した図である。
符号の説明
2 プログラム作成支援装置
3 入力装置
4 出力装置
5 プログラム
6 PLC照合/同期画面
11 データ入出力部
12 更新データ記憶部
13 エラーチェック部
13 更新データ記憶部
13 エラーチェック部
14 プログラム更新部
15 プログラム記憶部
16 プログラム実行部
17 入力装置I/F部
18 出力装置I/F部
21 プログラム編集部
22 識別データ生成部
23 エラーチェック部
24 コンパイル部
25 プログラム照合部
26 データ入出力部
27 エラー情報出力部
28 プログラム変更確認部
29 照合結果出力部
30 プログラム表示エリア
31 エラー情報表示エリア
32 デバイスシンボル
33 エラー情報
34 エラー発生箇所
35 エラー番号
36 エラーメッセージ
37 命令語
61 プログラム照合ボタン
62 PLC書込ボタン
63 PLC読出ボタン
64 照合結果表示エリア
65 チェックボックス
66,67,68 ハイライト表示
201 プログラム記憶部
202 前回データ記憶部
641 エディタ表示欄
642 照合結果表示欄
643 PLC表示欄
idA〜idD 識別データ
modA〜modD モジュール

Claims (12)

  1. 制御プログラムを繰り返し実行する運用モード及び上記制御プログラムの実行を停止する非運用モードを切り替え可能なプログラマブルコントローラにおいて、
    上記制御プログラムを記憶する第1プログラム記憶部と、
    外部装置から新たなプログラムを受信するデータ受信手段と、
    上記新たなプログラムを記憶する第2プログラム記憶部と、
    上記新たなプログラムについてエラーチェックを行うエラーチェック手段と、
    上記エラーチェックの結果に基づいて、上記新たなプログラムを上記第1プログラム記憶部へ書き込むプログラム変更手段とを備えたことを特徴とするプログラマブルコントローラ。
  2. 上記データ受信手段は、上記新たなプログラムを運用モード中に受信可能であり、
    上記プログラム変更手段は、運用モード中に、上記新たなプログラムを上記第1プログラム記憶部へ書き込み可能であることを特徴とする請求項1に記載のプログラマブルコントローラ。
  3. 上記第1プログラム記憶部が、上記制御プログラムとして複数のモジュールを保持し、
    上記データ受信手段が、新たなモジュールを受信し、
    上記第2プログラム記憶部が、上記新たなモジュールを記憶し、
    上記エラーチェック手段が、上記第1プログラム記憶部及び上記第2プログラム記憶部を参照して上記新たなモジュールのエラーチェックを行い、
    上記プログラム変更手段は、上記エラーチェックの結果に基づいて、上記新たなモジュールを上記第1記憶部へ書き込むことを特徴とする請求項1又は2に記載のプログラマブルコントローラ。
  4. 制御プログラムを繰り返し実行する運用モード及び上記制御プログラムの実行を停止する非運用モードを切り替え可能なプログラマブルコントローラに対し、上記制御プログラムを更新するための新たなプログラムを送信するプログラム作成支援装置において、
    上記プログラマブルコントローラ内において行われるエラーチェックの結果に基づいて上記制御プログラムを更新するためのプログラムとして、上記新たなプログラムを上記プログラマブルコントローラへ送信するプログラム送信手段と、
    上記エラーチェックの結果を上記プログラマブルコントローラから受信するエラー情報受信手段と、
    受信した上記エラーチェック結果を表示する表示手段とを備えたことを特徴とするプログラム作成支援装置。
  5. 上記エラー情報受信手段が、上記プログラマブルコントローラから、上記制御プログラムの更新が上記エラーチェックの結果に基づき行われなかった旨の通知を受信することを特徴とする請求項4に記載のプログラム作成支援装置。
  6. 上記プログラム送信手段が、運用モード中の上記プログラマブルコントローラに対し、上記新たなプログラムを送信することができ、
    上記エラー情報受信手段が、運用モード中の上記プログラマブルコントローラから、上記制御プログラムの更新が上記エラーチェックの結果に基づき行われなかった旨の通知を受信することを特徴とする請求項4に記載のプログラム作成支援装置。
  7. 上記エラーチェックの結果に基づいて上記制御プログラムの変更についてユーザの意思確認を行うプログラム変更確認手段と、
    非運用モード中の上記プログラマブルコントローラに対し、上記意思確認の結果を送信する意思確認結果送信手段とを備えたことを特徴とする請求項4に記載のプログラム作成支援装置。
  8. 上記制御プログラムが、複数のモジュールからなり、
    上記プログラム送信手段が、上記プログラマブルコントローラ内において行われるエラーチェックの結果に基づいて上記制御プログラムを更新するためのモジュールとして、新たなモジュールを上記プログラマブルコントローラへ送信することを特徴とする請求項4、6又は7に記載のプログラム作成支援装置。
  9. 上記エラーチェックの結果に基づいて、上記制御プログラムを構成するモジュールを上記プログラマブルコントローラから受信するプログラム受信手段とを備え、
    上記表示手段が、上記プログラム受信手段が受信した上記モジュールを表示することを特徴とする請求項8に記載のプログラム作成支援装置。
  10. 制御プログラムを繰り返し実行する運用モード及び上記制御プログラムの実行を停止する非運用モードを切り替え可能なプログラマブルコントローラに対し、上記制御プログラムを更新するための新たなプログラムを送信するプログラム作成支援装置としてコンピュータを機能させるためのコンピュータプログラムであって、
    上記プログラマブルコントローラ内において行われるエラーチェックの結果に基づいて上記制御プログラムを更新するためのプログラムとして、上記新たなプログラムを上記プログラマブルコントローラへ送信するプログラム送信手段と、
    上記エラーチェックの結果を上記プログラマブルコントローラから受信するエラー情報受信手段と、
    受信した上記エラーチェック結果を表示する表示手段として機能させることを特徴とするコンピュータプログラム。
  11. 上記エラーチェックの結果に基づいて上記制御プログラムの変更についてユーザの意思確認を行うプログラム変更確認手段と、
    非運用モード中の上記プログラマブルコントローラに対し、上記意思確認の結果を送信する意思確認結果送信手段として機能させることを特徴とする請求項10に記載のコンピュータプログラム。
  12. 制御プログラムを繰り返し実行する運用モード及び上記制御プログラムの実行を停止する非運用モードを切り替え可能なプログラマブルコントローラと、プログラム作成支援装置からなるPLCシステムにおいて、
    上記プログラム作成支援装置は、新たなプログラムを上記プログラマブルコントローラへ送信するプログラム送信手段を有し、
    上記プログラマブルコントローラは、上記制御プログラムを記憶する第1プログラム記憶部と、上記新たなプログラムを受信するデータ受信手段と、上記新たなプログラムを記憶する第2プログラム記憶部と、上記新たなプログラムについてエラーチェックを行うエラーチェック手段と、上記エラーチェックの結果に基づいて、上記新たなプログラムを上記第1プログラム記憶部へ書き込むプログラム変更手段とを有することを特徴とするPLCシステム。
JP2007128551A 2007-05-14 2007-05-14 プログラマブルコントローラ及びplcシステム Expired - Fee Related JP5039428B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007128551A JP5039428B2 (ja) 2007-05-14 2007-05-14 プログラマブルコントローラ及びplcシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007128551A JP5039428B2 (ja) 2007-05-14 2007-05-14 プログラマブルコントローラ及びplcシステム

Publications (2)

Publication Number Publication Date
JP2008282363A true JP2008282363A (ja) 2008-11-20
JP5039428B2 JP5039428B2 (ja) 2012-10-03

Family

ID=40143100

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007128551A Expired - Fee Related JP5039428B2 (ja) 2007-05-14 2007-05-14 プログラマブルコントローラ及びplcシステム

Country Status (1)

Country Link
JP (1) JP5039428B2 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011192085A (ja) * 2010-03-15 2011-09-29 Omron Corp Plcの開発支援装置
WO2012086074A1 (ja) * 2010-12-24 2012-06-28 三菱電機株式会社 プログラマブルコントローラの周辺装置、およびその通信方法
WO2012124198A1 (ja) * 2011-03-15 2012-09-20 オムロン株式会社 制御装置およびシステムプログラムならびに記録媒体
JP2014041617A (ja) * 2012-08-23 2014-03-06 Lsis Co Ltd プログラミング言語の誤り検出装置及び誤り検出方法
JP2015018349A (ja) * 2013-07-09 2015-01-29 富士電機株式会社 共有データ定義支援システム、そのマスタ装置、ローカル端末、プログラム
JP2015156068A (ja) * 2014-02-20 2015-08-27 三菱電機株式会社 プログラム照合装置
WO2015136970A1 (ja) * 2014-03-14 2015-09-17 オムロン株式会社 制御装置及び制御システム
JP2016224557A (ja) * 2015-05-27 2016-12-28 株式会社キーエンス プログラム作成支援装置、プログラムおよび判別方法
JP2017037466A (ja) * 2015-08-10 2017-02-16 オムロン株式会社 サポート装置およびサポートプログラム
JP2019207534A (ja) * 2018-05-29 2019-12-05 オムロン株式会社 サポート装置、制御システム、および開発支援プログラム
JPWO2022059588A1 (ja) * 2020-09-16 2022-03-24

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9523002B2 (en) 2011-12-15 2016-12-20 Momentive Performance Materials Inc. Moisture curable organopolysiloxane compositions

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0695710A (ja) * 1992-09-10 1994-04-08 Fuji Electric Co Ltd プログラマブルコントローラのシーケンスプログラムの変更方法
JPH10124119A (ja) * 1996-10-24 1998-05-15 Fanuc Ltd シーケンスプログラム編集方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0695710A (ja) * 1992-09-10 1994-04-08 Fuji Electric Co Ltd プログラマブルコントローラのシーケンスプログラムの変更方法
JPH10124119A (ja) * 1996-10-24 1998-05-15 Fanuc Ltd シーケンスプログラム編集方法

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011192085A (ja) * 2010-03-15 2011-09-29 Omron Corp Plcの開発支援装置
WO2012086074A1 (ja) * 2010-12-24 2012-06-28 三菱電機株式会社 プログラマブルコントローラの周辺装置、およびその通信方法
CN103282844A (zh) * 2010-12-24 2013-09-04 三菱电机株式会社 可编程控制器的外围装置及其通信方法
JP5595523B2 (ja) * 2010-12-24 2014-09-24 三菱電機株式会社 プログラマブルコントローラの周辺装置、およびその通信方法
US10025281B2 (en) 2011-03-15 2018-07-17 Omron Corporation Control device and system program, and recording medium
WO2012124198A1 (ja) * 2011-03-15 2012-09-20 オムロン株式会社 制御装置およびシステムプログラムならびに記録媒体
JP2014041617A (ja) * 2012-08-23 2014-03-06 Lsis Co Ltd プログラミング言語の誤り検出装置及び誤り検出方法
JP2015018349A (ja) * 2013-07-09 2015-01-29 富士電機株式会社 共有データ定義支援システム、そのマスタ装置、ローカル端末、プログラム
JP2015156068A (ja) * 2014-02-20 2015-08-27 三菱電機株式会社 プログラム照合装置
WO2015136970A1 (ja) * 2014-03-14 2015-09-17 オムロン株式会社 制御装置及び制御システム
JP2016224557A (ja) * 2015-05-27 2016-12-28 株式会社キーエンス プログラム作成支援装置、プログラムおよび判別方法
JP2017037466A (ja) * 2015-08-10 2017-02-16 オムロン株式会社 サポート装置およびサポートプログラム
US10705500B2 (en) 2015-08-10 2020-07-07 Omron Corporation Support device, method, and recording medium for simplifying control program changing operation
JP2019207534A (ja) * 2018-05-29 2019-12-05 オムロン株式会社 サポート装置、制御システム、および開発支援プログラム
WO2019230262A1 (ja) * 2018-05-29 2019-12-05 オムロン株式会社 サポート装置、制御システム、および開発支援プログラム
JP7067273B2 (ja) 2018-05-29 2022-05-16 オムロン株式会社 サポート装置、制御システム、および開発支援プログラム
JPWO2022059588A1 (ja) * 2020-09-16 2022-03-24
JP7538238B2 (ja) 2020-09-16 2024-08-21 ファナック株式会社 Plc装置及び産業機械システム
US12541187B2 (en) 2020-09-16 2026-02-03 Fanuc Corporation PLC device and industrial machine system

Also Published As

Publication number Publication date
JP5039428B2 (ja) 2012-10-03

Similar Documents

Publication Publication Date Title
JP5039428B2 (ja) プログラマブルコントローラ及びplcシステム
JP4865634B2 (ja) プログラム編集支援装置、コンピュータプログラム、プログラム編集支援方法及びplcシステム
EP1351108B1 (en) Method and apparatus for programming
JP3925557B2 (ja) パラメータ設定装置
JP4462443B2 (ja) パラメータ設定装置
CN114237676B (zh) 一种fpga逻辑更新方法、装置、设备及可读存储介质
JP2009146229A (ja) プログラマブルコントローラシステム
JP2008276690A (ja) 開発システム、開発システムのサーバ、開発方法
JP6866663B2 (ja) プログラマブルコントローラシステム、プログラマブルコントローラ、支援装置、hci装置、二重化プログラマブルコントローラシステム
JP5849592B2 (ja) プログラマブルコントローラシステム、そのプログラミング装置、プログラマブルコントローラ、プログラム、デバッグ方法
JP5155829B2 (ja) プログラマブルコントローラのダイアグラムのデバッグシステム、そのプログラミング装置及びそのプログラム
US12072682B2 (en) Support device and storage medium
JP6442131B2 (ja) 制御システムおよび制御装置
JP2009157533A (ja) プログラマブルコントローラシステム
WO2011125280A1 (ja) デバッグ支援装置、デバッグ支援方法及びデバッグ支援プログラム
JP2012194815A (ja) 空調機制御インターフェース装置、空気調和機および空調機制御システム
JP7067273B2 (ja) サポート装置、制御システム、および開発支援プログラム
US20060184924A1 (en) Intelligent platform management interface firmware architecture and method of building the same
JP2016224559A (ja) プログラム作成支援装置、制御方法およびプログラム
US20230101320A1 (en) Method for creating and executing a control program for controlling an automation system, and automation system
JP5205988B2 (ja) Plcのグローバル変数定義方式
US11360462B2 (en) Support device and support program
WO2021192456A1 (ja) 情報処理装置およびラダープログラムを表示するためのプログラム
JP4387288B2 (ja) 制御用表示装置、エディタ装置、プログラムおよび記録媒体
JP7631921B2 (ja) 開発支援装置、開発支援方法および開発支援プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110614

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120202

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: 20120703

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120709

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5039428

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees