JP2015022511A - プログラマブルコントローラシステム、その支援装置、プログラム - Google Patents
プログラマブルコントローラシステム、その支援装置、プログラム Download PDFInfo
- Publication number
- JP2015022511A JP2015022511A JP2013149942A JP2013149942A JP2015022511A JP 2015022511 A JP2015022511 A JP 2015022511A JP 2013149942 A JP2013149942 A JP 2013149942A JP 2013149942 A JP2013149942 A JP 2013149942A JP 2015022511 A JP2015022511 A JP 2015022511A
- Authority
- JP
- Japan
- Prior art keywords
- program
- variable
- information
- new
- address information
- 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
Links
Landscapes
- Programmable Controllers (AREA)
Abstract
Description
ユーザが、上記支援装置において、例えば、既存のソースコードに基づいて更新版ソースコードを作成するプログラミングを実施し、更新版ソースコードをコンパイルした結果、変数のアドレス割付けに変更があった場合、この変数に係わるデータを、旧アドレスから新アドレスへと移動する必要がある。この様な従来技術として、例えば特許文献1に記載の従来技術が知られている。
ここで、図7で説明したような従来の動作は、プログラム更新対象となるPLC110と支援装置100とを接続した状態(オンライン状態)で、プログラム一致確認、プログラム編集、コンパイル、ダウンロード、上記バックアップ、上記リストア等の一連の処理を実行する必要がある。プログラム編集は、ここでは、支援装置100が保持している既存の制御プログラム(そのソースコード)に対して修正・変更等を行うことで、更新版プログラムを作成するものである。
図8の処理は、オンライン状態で実行される。オンライン状態とは、ネットワークを介して支援装置100とPLC110とが接続中の状態である。また、本処理開始時点では、支援装置100側では、未だ、更新版等のプログラムの作成作業自体が、開始されていない。よって、支援装置100側には、既存のプログラムが格納されているが、その更新版のプログラムは未だ存在していない状態である。尚、以下、既存のプログラムをプログラムr、その更新版のプログラムをプログラムwと記すものとする。
支援装置100は、上記プログラム一致を確認したら、ユーザが既存のプログラムrに基づいてその更新版のプログラムを作成することを許可する。そして、ユーザが任意の更新版のプログラムw(そのソースコード)を作成したら、これをコンパイルすることで、PLCで実行可能な形式である機械語オブジェクトに変換する(ステップS52)。コンパイルの際には、よく知られているように、各変数のメモリアドレス割当てが行われる。
尚、上記ステップS51〜S55の一連の処理は、オンライン状態で行われる。
・既存のプログラムに基づいて作成された任意の新規プログラムを記憶するプログラム記憶手段;
・前記新規プログラムをコンパイルする際に、該新規プログラムの各変数のメモリ割当情報を生成すると共に、ユニークなキー情報を生成するコンパイラ手段;
・前記既存プログラムに係わる変数アドレス情報を前回変数アドレス情報として退避させると共に、前記キー情報を付与したメモリ割当情報を新たな前記変数アドレス情報として記憶する新旧変数アドレス情報管理手段;
・前記プログラマブルコントローラ側で保持するキー情報が、前記前回変数アドレス情報に付与されているキー情報と一致するか否かを判定する一致判定手段;
・該一致判定手段により前記2つのキー情報が一致すると判定された場合に、前記新たな変数アドレス情報と前記前回変数アドレス情報とに基づいて、前記プログラマブルコントローラにおける前記各変数のデータを再配置する変数データ再配置手段。
尚、上記従来の説明等と同様、以下の本説明においても、「プログラム」は、基本的に、1つの制御プログラムまたは複数の制御プログラム(プロジェクト)を意味するものとし、基本的に上記“プロジェクト”という用語は記述しないものとする。
本例においても、従来例と同様に、プログラマブルコントローラシステムは、基本的に、支援装置10とPLC(プログラマブルコントローラ)20を有する。
まず、プログラムrに応じたキー情報として図示のキー情報“Key_r”が生成されたものとする。図には示していないが、このとき、プログラムrのコンパイル処理に伴う各変数のメモリアドレス割当情報にキー情報“Key_r”が付与されて、新たな変数アドレス情報11として保持されることになる。また、コンパイル結果である“プログラムrの機械語オブジェクト”をPLC20にダウンロードする際に、このキー情報“Key_r”も一緒にダウンロードして保持させる。これより、PLC20側には図示のようにキー情報“Key_r”が保持された状態となっている。尚、特に図示していないが、当然、ダウンロード後は、PLC20側ではプログラムrによって制御実行している状態となっている。
尚、図上右下側に示すように、PLC20側の状態は、バックアップ処理の際にはキー情報“Key_r”があるのでプログラムrが保持されており、リストア処理の後にはキー情報“Key_w”があるのでプログラムwが保持された状態になっていることになる。つまり、従来と略同様に、バックアップ処理の後あるいはリストア処理の後などに、プログラムwとそのキー情報“Key_w”が、PLC20にダウンロードされている。尚、逐一述べないが、当然、PLC20側にダウンロードされて保持されるプログラムは、コンパイル後、すなわち機械語オブジェクトである。
図2は、支援装置10の全体処理フローチャート図である。
ここで、図2に示すステップS1の処理は、図2の処理に含まれないものと見做してもよい。すなわち、ステップS1の処理は、例えばプログラムの初期版に係わる処理である。初期版であるので、PLC20側には未だプログラムは存在していない。これより、特にチェック等は必要なく、変数データを引継ぐ必要もないのでバックアップ&リストア処理等も必要なく、ユーザは任意の環境下で自由に初期版のプログラムの作成や検証等を行うことができ、そのコンパイル処理も行うことができる。そして、支援装置10を処理対象のPLC20に接続してオンライン状態にして、コンパイル後のプログラムを当該PLC20にダウンロードして保持させる。PLC20は、このプログラムを用いて各種制御を実行する。
まず、本処理では更新の際に上記ステップS51の処理は行わない。よって、支援装置10において、オフラインの状態でユーザが所望のプログラム編集を行って、更新版等の新たなプログラムwを作成するものであってよい。また、別環境で、新たなプログラムwの動作検証等を行って、新たなプログラムwが問題なく動作することを確認するようにしてもよい。
まず、「前回変数アドレス情報」12のキー情報(本例では“Key_r”)を読出すと共に、PLC20側のキー情報を読出して両者が一致するか否かを確認する(ステップS3)。尚、特に図示していないが不一致の場合には、警告メッセージを報知する等して本処理を終了する。つまり、この場合、PLC20の変数データ再配置やプログラム更新は行えない。一方、キー情報が一致する場合には、本例ではPLC20側で現時点において運用中のプログラムが、プログラムrであると見做してよい。よって、PLC20内の不図示のメモリにおける各変数データの格納位置も、「前回変数アドレス情報」12が示す各アドレスとなっていると見做してよい。
例えば、前回変数アドレス情報12の各レコードを順次処理対象として、ステップS25,S27の処理を実行する。
上記更新版等のプログラムwを、キー情報“Key_w”を付してPLC20にダウンロードする(ステップS11)。これは、例えば、上記ステップS2で作成された更新版等のプログラムwを、当該ステップS2のコンパイル処理に伴って生成した上記キー情報“Key_w”を付してPLC20にダウンロードする。
図5は、ステップS6の詳細フローチャート図である。
図5において、まず、変数アドレス情報11に付随のキー情報(本例では“Key_w”)を読出すと共に(ステップS31)、PLC20からキー情報を読み出す(ステップS32)。図4の処理により、PLC20側に特に異常が無ければ、PLC20側で保持するキー情報は、“Key_w”となっているはずである。しかし、PLC20側に何らかの異常があって、PLC20側にキー情報が存在しなかったり(ステップS33,NO)、PLC20側のキー情報が、ステップS31で読み出したキー情報“Key_w”と不一致の場合には(ステップS34,NO)、リストア操作不可である旨の警告を報知する等して(ステップS36)、本処理を終了する。
まず、支援装置10は、プログラム記憶部51、コンパイラ部52、新旧変数アドレス情報管理部53、一致判定部54、変数データ再配置部55、ダウンロード部56等を有する。支援装置10は、更に、プログラム作成支援部57等を有するものであってもよい。
コンパイラ部52は、上記新規プログラムをコンパイルする。すなわち、新規プログラムのソースコードをコンパイルして機械語オブジェクトに変換する。更に、このコンパイル処理に伴って、該新規プログラムの各変数のメモリ割当情報を生成すると共に、ユニークなキー情報を生成する。
変数データ再配置部55は、一致判定部54により上記2つのキー情報が一致すると判定された場合に、上記新たな変数アドレス情報と上記前回変数アドレス情報とに基づいて、PLC20内の不図示のメモリにおける各変数のデータを再配置する。
そして、プログラム作成支援部57による新規プログラムの作成作業や、その動作検証作業等は、PLC20と接続していないオフライン状態で実施される。その一方で、一致判定部54の上記判定処理と変数データ再配置部55による上記各変数のデータを再配置する処理は、PLC20と接続したオンライン状態で例えば連続して実行される。
記憶部61は、上記ダウンロード部56によりダウンロードされる上記コンパイル後の新規プログラムと上記キー情報とを記憶する。
尚、PLC20に関しては、記憶部61に記憶されるプログラムに、キー情報が付与されている点を除けば、従来と同様と見做してよいので、これ以上は説明しない。
11 変数アドレス情報
12 前回変数アドレス情報
14 バックアップデータ
20 PLC(プログラマブルコントローラ)
30 データ再配置情報
31 変数名
32 旧アドレス
33 新アドレス
34 値
51 プログラム記憶部
52 コンパイラ部
53 新旧変数アドレス情報管理部
54 一致判定部
55 変数データ再配置部
56 ダウンロード部
57 プログラム作成支援部
61 記憶部
62 制御部
Claims (8)
- 支援装置とプログラマブルコントローラを有するシステムであって、
前記支援装置は、
既存のプログラムに基づいて作成された任意の新規プログラムを記憶するプログラム記憶手段と、
前記新規プログラムをコンパイルする際に、該新規プログラムの各変数のメモリ割当情報を生成すると共に、ユニークなキー情報を生成するコンパイラ手段と、
前記既存プログラムに係わる変数アドレス情報を前回変数アドレス情報として退避させると共に、前記キー情報を付与したメモリ割当情報を新たな前記変数アドレス情報として記憶する新旧変数アドレス情報管理手段と、
前記プログラマブルコントローラ側で保持するキー情報が、前記前回変数アドレス情報に付与されているキー情報と一致するか否かを判定する一致判定手段と、
該一致判定手段により前記2つのキー情報が一致すると判定された場合に、前記新たな変数アドレス情報と前記前回変数アドレス情報とに基づいて、前記プログラマブルコントローラにおける前記各変数のデータを再配置する変数データ再配置手段と、
を有することを特徴とするプログラマブルコントローラシステム。 - 前記支援装置は、
前記一致判定手段により前記2つのキー情報が一致すると判定された場合に、前記コンパイル後の新規プログラムを前記生成したキー情報と共に前記プログラマブルコントローラにダウンロードして記憶させるダウンロード手段を更に有することを特徴とする請求項1記載のプログラマブルコントローラシステム。 - 前記支援装置は、前記既存のプログラムに基づく任意の新規プログラムの作成を支援するプログラム作成支援手段を更に有し、
該プログラム作成支援手段による新規プログラムの作成は、前記プログラマブルコントローラと接続していないオフライン状態で実施され、
前記一致判定手段の判定処理と前記変数データ再配置手段による前記各変数のデータを再配置する処理は、前記プログラマブルコントローラと接続したオンライン状態で実行されることを特徴とする請求項1または2記載のプログラマブルコントローラシステム。 - 前記新たな変数アドレス情報と前記前回変数アドレス情報は、何れも、各変数に応じた前記プログラマブルコントローラ内のメモリへの割当アドレスを有し、
前記各変数のデータの再配置は、前記各変数毎に、前記新たな変数アドレス情報における前記割当アドレスを新アドレス、前記前回変数アドレス情報における前記割当アドレスを旧アドレスとして、前記プログラマブルコントローラ内の前記メモリについて旧アドレスから読み出したデータを新アドレスに書き込む処理であることを特徴とする請求項1〜3の何れかに記載のプログラマブルコントローラシステム。 - 前記新規プログラムは前記既存プログラムの更新版であり、該新規プログラムが作成されることで該既存プログラムは無くなることを特徴とする請求項1〜4の何れかに記載のプログラマブルコントローラシステム。
- 前記プログラマブルコントローラは、
前記ダウンロード手段によりダウンロードされる前記コンパイル後の新規プログラムと前記キー情報とを記憶する記憶手段と、
該記憶手段に記憶された前記コンパイル後の新規プログラムを実行することで所定の制御を行う制御手段と、
を有することを特徴とする請求項2記載のプログラマブルコントローラシステム。 - 支援装置とプログラマブルコントローラを有するシステムにおける該支援装置であって、
既存のプログラムに基づいて作成された任意の新規プログラムを記憶するプログラム記憶手段と、
前記新規プログラムをコンパイルする際に、該新規プログラムの各変数のメモリ割当情報を生成すると共に、ユニークなキー情報を生成するコンパイラ手段と、
前記既存プログラムに係わる変数アドレス情報を前回変数アドレス情報として退避させると共に、前記キー情報を付与したメモリ割当情報を新たな前記変数アドレス情報として記憶する新旧変数アドレス情報管理手段と、
前記プログラマブルコントローラ側で保持するキー情報が、前記前回変数アドレス情報に付与されているキー情報と一致するか否かを判定する一致判定手段と。
該一致判定手段により前記2つのキー情報が一致すると判定された場合に、前記新たな変数アドレス情報と前記前回変数アドレス情報とに基づいて、前記プログラマブルコントローラにおける前記各変数のデータを再配置する変数データ再配置手段と、
を有することを特徴とするプログラマブルコントローラシステムの支援装置。 - 支援装置とプログラマブルコントローラを有するシステムにおける該支援装置のコンピュータを、
既存のプログラムに基づいて作成された任意の新規プログラムを記憶するプログラム記憶手段と、
前記新規プログラムをコンパイルする際に、該新規プログラムの各変数のメモリ割当情報を生成すると共に、ユニークなキー情報を生成するコンパイラ手段と、
前記既存プログラムに係わる変数アドレス情報を前回変数アドレス情報として退避させると共に、前記キー情報を付与したメモリ割当情報を新たな前記変数アドレス情報として記憶する新旧変数アドレス情報管理手段と、
前記プログラマブルコントローラ側で保持するキー情報が、前記前回変数アドレス情報に付与されているキー情報と一致するか否かを判定する一致判定手段と。
該一致判定手段により前記2つのキー情報が一致すると判定された場合に、前記新たな変数アドレス情報と前記前回変数アドレス情報とに基づいて、前記プログラマブルコントローラにおける前記各変数のデータを再配置する変数データ再配置手段、
として機能させる為のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013149942A JP6205934B2 (ja) | 2013-07-18 | 2013-07-18 | プログラマブルコントローラシステム、その支援装置、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013149942A JP6205934B2 (ja) | 2013-07-18 | 2013-07-18 | プログラマブルコントローラシステム、その支援装置、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015022511A true JP2015022511A (ja) | 2015-02-02 |
JP6205934B2 JP6205934B2 (ja) | 2017-10-04 |
Family
ID=52486909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013149942A Active JP6205934B2 (ja) | 2013-07-18 | 2013-07-18 | プログラマブルコントローラシステム、その支援装置、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6205934B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6452924B1 (ja) * | 2018-05-11 | 2019-01-16 | 三菱電機株式会社 | コンパイラおよびプログラミング支援装置 |
JP2019075098A (ja) * | 2017-09-13 | 2019-05-16 | フィッシャー−ローズマウント システムズ,インコーポレイテッド | モジュール制御システムのためのアシスタントアプリケーション |
JP7130178B1 (ja) * | 2022-02-10 | 2022-09-02 | 三菱電機株式会社 | プログラマブルコントローラシステム、開発支援装置、メモリ割当方法およびプログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001255913A (ja) * | 2000-03-14 | 2001-09-21 | Fuji Electric Co Ltd | プログラマブルコントローラの支援装置 |
JP2008282362A (ja) * | 2007-05-14 | 2008-11-20 | Keyence Corp | プログラム編集支援装置、コンピュータプログラム、プログラム編集支援方法及びplcシステム |
-
2013
- 2013-07-18 JP JP2013149942A patent/JP6205934B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001255913A (ja) * | 2000-03-14 | 2001-09-21 | Fuji Electric Co Ltd | プログラマブルコントローラの支援装置 |
JP2008282362A (ja) * | 2007-05-14 | 2008-11-20 | Keyence Corp | プログラム編集支援装置、コンピュータプログラム、プログラム編集支援方法及びplcシステム |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019075098A (ja) * | 2017-09-13 | 2019-05-16 | フィッシャー−ローズマウント システムズ,インコーポレイテッド | モジュール制御システムのためのアシスタントアプリケーション |
JP7398189B2 (ja) | 2017-09-13 | 2023-12-14 | フィッシャー-ローズマウント システムズ,インコーポレイテッド | 方法、コンピューティングデバイスおよびシステム |
JP6452924B1 (ja) * | 2018-05-11 | 2019-01-16 | 三菱電機株式会社 | コンパイラおよびプログラミング支援装置 |
WO2019215919A1 (ja) * | 2018-05-11 | 2019-11-14 | 三菱電機株式会社 | コンパイラおよびプログラミング支援装置 |
US10802808B2 (en) | 2018-05-11 | 2020-10-13 | Mitsubishi Electric Corporation | Compiler and programming support device |
JP7130178B1 (ja) * | 2022-02-10 | 2022-09-02 | 三菱電機株式会社 | プログラマブルコントローラシステム、開発支援装置、メモリ割当方法およびプログラム |
WO2023152890A1 (ja) * | 2022-02-10 | 2023-08-17 | 三菱電機株式会社 | プログラマブルコントローラシステム、開発支援装置、メモリ割当方法およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP6205934B2 (ja) | 2017-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5095013B2 (ja) | プログラマブルコントローラシステムおよび開発システム | |
JP5039428B2 (ja) | プログラマブルコントローラ及びplcシステム | |
JP4973867B2 (ja) | Plc制御プログラム開発装置及びプログラム | |
JP5957936B2 (ja) | プログラマブルコントローラシステム、その支援装置、プログラム | |
JP5583305B2 (ja) | プログラマブルロジックコントローラ、プログラミングツール及びプログラム・パラメータ編集システム | |
JP2008282362A (ja) | プログラム編集支援装置、コンピュータプログラム、プログラム編集支援方法及びplcシステム | |
JP6786984B2 (ja) | プログラム処理装置およびプログラム | |
CN106970806B (zh) | 用于对正在控制工业过程的控制程序进行更新的*** | |
US20160004239A1 (en) | System development device, system development method, and system development program | |
JP6205934B2 (ja) | プログラマブルコントローラシステム、その支援装置、プログラム | |
JP2016506559A (ja) | Hmiデバイスにおいてオブジェクトを変化させるための方法およびデバイス | |
JP5849592B2 (ja) | プログラマブルコントローラシステム、そのプログラミング装置、プログラマブルコントローラ、プログラム、デバッグ方法 | |
JP6541902B1 (ja) | プログラム管理システム、プログラミング支援装置、プログラム管理方法、およびプログラミング支援プログラム | |
JP6299095B2 (ja) | 共有データ定義支援システム、そのマスタ装置、ローカル端末、プログラム | |
CN110647349B (zh) | 一种实现iOS APP持续交付的方法 | |
JP2016001376A (ja) | プログラマブルコントローラシステム、その支援装置 | |
JP6520241B2 (ja) | 制御システム、その管理サーバ装置、支援装置 | |
JP6455096B2 (ja) | コントロールシステム、その支援装置、プログラマブルコントロール装置 | |
JP2000284815A (ja) | プログラム作成装置 | |
JP5205988B2 (ja) | Plcのグローバル変数定義方式 | |
JP5978775B2 (ja) | プログラマブルコントローラ、その支援装置、プログラム、プログラム転送方法 | |
US20150346713A1 (en) | Method for Processing an Automation Project Using a Plurality of Processing Stations | |
JP2010176594A (ja) | ソースコードバージョン管理プログラム及びソースコードバージョン管理方法 | |
JP6287093B2 (ja) | ソフトウェア開発支援装置、ソフトウェア開発支援方法及びプログラム | |
JP2016151973A (ja) | 制御コントロールシステム、その開発支援装置、制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160614 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170704 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170721 |
|
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: 20170808 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170821 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6205934 Country of ref document: JP 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |