JP2017142794A - プログラマブルコントローラシステム、そのコントローラ、支援装置、hci装置、二重化コントローラシステム - Google Patents
プログラマブルコントローラシステム、そのコントローラ、支援装置、hci装置、二重化コントローラシステム Download PDFInfo
- Publication number
- JP2017142794A JP2017142794A JP2017019048A JP2017019048A JP2017142794A JP 2017142794 A JP2017142794 A JP 2017142794A JP 2017019048 A JP2017019048 A JP 2017019048A JP 2017019048 A JP2017019048 A JP 2017019048A JP 2017142794 A JP2017142794 A JP 2017142794A
- Authority
- JP
- Japan
- Prior art keywords
- forced
- controller
- address
- machine language
- instruction
- 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
- 238000000034 method Methods 0.000 claims description 295
- 230000008569 process Effects 0.000 claims description 282
- 238000006467 substitution reaction Methods 0.000 claims description 148
- 238000012545 processing Methods 0.000 claims description 102
- 230000006870 function Effects 0.000 claims description 50
- 238000012544 monitoring process Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 6
- 230000009977 dual effect Effects 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 description 34
- 230000008859 change Effects 0.000 description 25
- 230000005856 abnormality Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 230000002159 abnormal effect Effects 0.000 description 12
- 238000006243 chemical reaction Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 10
- 230000009191 jumping Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000013480 data collection Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000008571 general function Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001343 mnemonic effect Effects 0.000 description 1
Landscapes
- Programmable Controllers (AREA)
Abstract
Description
支援装置は、任意のプログラムのソースコードをコンパイルして機械語オブジェクトに変換するコンパイル手段を有する。
そして、前記プログラム実行手段は、前記機械語オブジェクトにおける所定の命令を実行する際に、該所定の命令によるアクセス先アドレスが、前記強制設定アドレス記憶手段に登録されている場合には、該アクセス先アドレスへのアクセスを実行しない。
まず、図1〜図5を参照して実施例1について説明する。
図1は、実施例1のプログラマブルコントローラシステムの構成図である。
支援装置10は、ユーザにプログラム開発環境を提供するコンピュータ装置(ローダ等)である。支援装置10は、所定のアプリケーションプログラムをコンピュータで実行することで実現される各種処理機能等を有する。これは、例えば、ユーザに任意のプログラムのソースコード13を記述させる為のユーザインターフェース機能を有し、ユーザが作成したソースコード13をターゲット上で動作する機械語オブジェクト15に変換するコンパイラ(フロントエンドコンパイラ11、バックエンドコンパイラ12)機能を有し、生成された機械語オブジェクト15をターゲットに送信する通信機能を有するものとなる。これら各機能は基本的には既存の一般的な機能であるので、コンパイラ以外は特に図示せず、上記簡単な説明のみとする。
また、図2(b)には、図2(a)の例に応じた変数−アドレス対応表16の具体例を示す。
尚、ここでは、上記支援装置10で作成された任意のソースコード13とこれをコンパイルした際に作成された上記変数−アドレス対応表16は、ネットワーク1を介して上記HCI装置30に転送されて格納されてもよい。これより、以下に説明する強制設定に係る処理は、支援装置10で行ってもよいがHCI装置30で行ってもよい。
コントローラ20は、上記強制設定値送信データ60を受信すると、上記強制ONアドレス一覧24への登録処理を行う(後述する図4の処理など)。これについては後述するが、ここで強制ONアドレス一覧24について簡単に説明しておく。
図示の例の強制ONアドレス一覧24は、管理番号71と強制ONメモリアドレス72から成る。管理番号71は、予め決められているシリアル番号(1,2,3、・・・など)である。尚、ここでは後述するインデックスは、管理番号71に相当するものとする。
尚、支援装置10、コントローラ20、HCI装置30は、何れも、ハードウェア的には、少なくとも不図示のCPU/MPU等の演算プロセッサと記憶装置(メモリなど)を有している。そして、記憶装置には予め各装置に応じた所定のアプリケーションプログラムが格納されている。演算プロセッサが、このアプリケーションプログラムを実行することで、上記各装置の各種処理機能が実現される。すなわち、コントローラ20の場合、上記プログラム実行管理部21の処理、上記図4のフローチャート図の処理、上記図5のフローチャート図の処理などが実現される。支援装置10の場合、上記コンパイラ(フロントエンドコンパイラ11、バックエンドコンパイラ12)の処理等が実現される。
以下、図6〜図11を参照して、実施例2について説明する。
実施例2は、実施例1の特徴・効果に加えて、更に、コントローラ側での処理負荷を低減できる特徴・効果を提供するものである。
図示の例では、実施例2のプログラマブルコントローラシステムは、支援装置210、コントローラ220等を有し、これらはネットワーク(不図示)を介して相互にデータ送受信可能となっている。尚、図示していないが、実施例1(図1)と同様に更にHCI(Human Communication Interface)装置30を有していてもよい。
LDRSH R0,[R3]
尚、ICODE_DEF_1は、M,WI,65550に対応したコントローラ内のアドレスを示す。
図8(a)に、「強制代入処理情報一覧」217の具体例を示す。図示の例では、「強制代入処理情報一覧」217は、管理番号231、強制代入処理へのジャンプ位置232、機械語命令233、書き込み先アドレス234等のデータ項目から成る。
機械語命令233には、例えば、機械語オブジェクトにおいて“強制代入処理へのジャンプ位置”232が示す位置に記述されていた機械語命令(例えば「強制代入処理へのジャンプ命令」等)が、格納される。
尚、上記送信データ60を受信したコントローラ220は、更に、強制ONアドレス一覧224を更新する。これは、基本的には実施例1と同様に図4の処理を実行するものであってよい。但し、本例では強制ONアドレス一覧224は、図8(b)に示すように、管理番号241、強制ONメモリアドレス242に加えて、強制設定値243がある。管理番号241、強制ONメモリアドレス242は、上記管理番号71、強制ONメモリアドレス72と同じであり、説明は省略する。強制設定値243には、上記受信した送信データ60の強制設定値62が格納される。
まず、任意のときに、支援装置210側で開発者等が任意の制御プログラムのソースコードを作成し、これをコンパイルさせると、支援装置210のコンパイラ(211,212)は、ソースコード213→中間コード214→機械語オブジェクト215に順次変換する。この機械語オブジェクト215には、上記の通り、各該当箇所にジャンプ命令が含まれている。更に、上記「強制代入処理情報一覧」217等を生成する(ステップS31)。
図示に示す処理は、上記ジャンプ命令によって呼び出されて開始され、呼出しの際には書込み先アドレスが渡される。これより、強制ONアドレス一覧224を検索して、書込み先アドレスが登録されているか否かを確認し(ステップS51)、登録されているならば(ステップS52,YES)、強制ONアドレス一覧224における該当レコードの強制設定値243を、アキュムレータに格納して(ステップS53)リターンする。
尚、書込み先アドレスが強制ONアドレス一覧224に登録されていない場合には(ステップS52,NO)、そのまま本処理を終了してリターンする。
ステップS67では、現在の処理対象の機械語命令(ステップS65または後述するステップS69で取得された機械語命令)を、所定の出力先(所定の記憶領域など)へ出力する。これを繰り返すことで最終的には例えば図7に示す機械語命令群が所定の出力先に生成されることになり、以って中間コードを機械語命令群に変換する処理が完了することになる。
尚、上述したコントローラ220の各種処理機能は、例えば、プログラム実行管理部221が実行・実現するが、この例に限らない。尚、コントローラ220は、不図示のCPU/MPU等の演算プロセッサと記憶装置(メモリなど)を有している。そして、記憶装置には予め各装置に応じた所定のアプリケーションプログラムが格納されている。演算プロセッサが、このアプリケーションプログラムを実行することで、上記コントローラ220の各種処理機能が実現される。
図示の例のプログラマブルコントローラシステムは、例えば、支援装置80とコントローラ90を有する。この例に限らず、更に、他装置100を有していてもよい。上記支援装置10または支援装置210が支援装置80の一例であり、上記コントローラ20またはコントローラ220がコントローラ90の一例であると見做しても構わない。但し、コントローラ90は、実施例1(支援装置10)に対応する場合、初期状態形成部94、強制設定制御部95は有しないと見做してよい。また、上記HCI装置30が他装置100の一例であると見做しても構わない。
コントローラ90は、例えば、機械語オブジェクトを実行するプログラム実行部91、強制設定値が書き込まれたメモリアドレスが登録される強制設定アドレス記憶部92等を有する。
この場合、コントローラ90は、例えば、通知されたメモリアドレスを強制設定アドレス記憶部92に登録すると共に、通知された強制設定値を該通知されたメモリアドレスの記憶領域に書き込む強制設定管理部93を更に有する。
初期状態形成部94は、上記支援装置80が生成した機械語オブジェクトと強制代入処理情報一覧を取得すると、強制代入処理情報一覧に基づいて、機械語オブジェクトにおける全ての強制代入処理へのジャンプ命令を“何もしない命令”(例えばNOP等)に置き換えることで、その後、支援装置80から所定の通知があるまでは強制代入処理を実行させない。
実施例3は、基本的には、上述した実施例1や実施例2を二重化コントローラシステムに適用した例であるが、この例に限らない。上述した実施例1、2では得られない更なる効果が得られる構成・機能も含まれていてもよい。以下に説明する実施例3の図面・説明は、この様な更なる効果が得られる構成・機能も示しているが、これは必須の構成・機能ではない。
ユーザは、稼働/待機コントローラそれぞれに対して設定する必要あり、ユーザが間違えた情報を設定しても気が付けない。
ユーザは、運用中に稼働系コントローラに対して任意の強制設定値、対象アドレスを設定すると共にこれら強制設定値、対象アドレスを覚えておき、後から立ち上がった待機系コントローラに対して、覚えていた値、アドレスを全て設定する必要があり、ユーザとして使いにくいシステムとなっていた。
実施例3では、支援装置から稼動系コントローラに対して、任意のプログラムのダウンロードや任意の設定を行う。その一方で支援装置から待機系コントローラに対しては、少なくとも設定に関しては何も行わない。設定値は、稼動系コントローラから待機系コントローラに転送し、両コントローラが同一の設定内容となるようにする。これより、ユーザが稼動系と待機系とで異なる設定を行う可能性はなくなり、ユーザの手間を軽減できる効果も得られる。
待機系コントローラでは、稼動/待機切替えの際に問題なく処理を引き継げるようにする為に、保持するデータやプログラムを稼動系コントローラと同一の状態としている必要がある。既存の等値化処理によって例えばメモリ532の記憶内容はメモリ522と同一となるようにしている。尚、メモリ532(522)には、制御に係わるデータ(例えば制御対象機器に関する各種状態データ(温度、回転数等)や各種設定値等が格納される。これに加えて、更に、強制ONアドレス一覧や機械語オブジェクトの内容も、稼動系コントローラと同一となるようにする必要がある。
図示のシステムは、既存の一般的なコントローラの二重化システムと同様、2つのコントローラを備え、一方を稼動系、他方を待機系とする。図示の例では、稼動系コントローラ520と待機系コントローラ530を備える。稼動系コントローラ520に何等かの異常が発生した場合、待機系コントローラ530が稼動系に切り替わる。
待機系コントローラ530は、プログラム実行管理部531、メモリ532等を有し、機械語オブジェクト533、強制ONアドレス一覧バックアップ534、強制代入一覧情報535を記憶する。
上記のように、稼動系コントローラ520は、自己が保持する「強制ONアドレス一覧」524を、定期的に又は更新時に、待機系コントローラ530へ送信する。待機系コントローラ530は、「強制ONアドレス一覧」524のバックアップ版である「強制ONアドレス一覧バックアップ」534を保持・管理している。任意のとき、「強制ONアドレス一覧」524と「強制ONアドレス一覧バックアップ」534とが同一の内容であったとしても、「強制ONアドレス一覧」524が更新されると、両者は異なる状態となるので、再び一致する状態に戻す必要がある。「強制ONアドレス一覧」524が更新された場合、そのシーケンスNo.541が更新されるので、「強制ONアドレス一覧バックアップ」534のシーケンスNo.541とは一致しない状態となる。
まず、支援装置510においてコンパイル処理の際に、強制代入一覧情報517を生成する。このコンパイル処理によって機械語オブジェクト515が生成されるが、この機械語オブジェクト515には所定のサブルーチン(強制代入処理と呼ぶ)へのジャンプ命令が含まれている。図15に、本例の機械語オブジェクト515等の具体例を示す。これは、図2(c)の中間コードを、機械語命令群に変換した例である。
尚、上記ジャンプ命令は、書込み処理に係わる命令群に含まれている。書込み処理は、基本的には、任意の書込み先アドレスに現在のアキュムレータを転送・格納する処理であるが、ジャンプ命令が実行される場合にはアキュムレータには強制設定値が格納されていることになる。
上述した実施例3のシステム全体の動作について、再び図13を参照しながら、以下、まとめて説明するものとする。
(a)運用中、任意のときに、支援装置510側で、ユーザの判断・操作により、例えば上記強制設定画面50上での上述した任意のデータ入力が行われることで、上記図3(b)の強制設定値送信データ60が稼動系コントローラ520に通知される。また、本例では、更に、不図示の強制設定解除画面上で、現在強制設定中の任意のアドレス(変数)に対して当該強制設定を解除する為のユーザ入力もできるものとし、これより不図示の強制設定解除データが稼動系コントローラ520に通知されるものとする。尚、強制設定解除データのデータ構成は、図3(b)と同様であってよいが、“解除”であることを示すデータも付加されるものとする。
以下、図17〜図20の各フローチャート図を参照して、システムを構成する各装置の処理について説明する。
図18は、支援装置510から強制設定解除通知されたときの稼動系コントローラ520の処理フローチャート図である。
稼動系コントローラ520は、上記強制設定の通知(送信データ60)を受信すると、まず、所定のパラメータチェックを行うが(ステップS81)、これについて特に説明しない。
稼動系コントローラ520は、支援装置510からの上記強制設定解除データ(不図示)を受信すると、まず、上記ステップS81と同様に所定のパラメータチェックを行い(ステップS91)正常であればステップS92へ移行する。
図19は、上記機械語オブジェクト更新(置換)処理の具体例である。
上記のように、稼動系コントローラ520は、支援装置510から強制設定またはその解除の通知があると、上記図17または図18の処理を行って、そのなかで図19の処理を行うことになる。
この処理は、上記のように稼動系コントローラ520から強制ONアドレス一覧524の通知があったときに実行される。
上記機能を備えることにより、稼働系コントローラ520だけに強制設定を行っても、稼動系コントローラ520から待機系コントローラ530へ通知することにより、切り替わりが発生しても、強制設定値を引き継げる。
上述したように、本手法の実施例1により、ユーザは、変数を指定するだけで簡単に変数の値を強制的に変更できるため、コントローラのプログラムデバッグだけでなく、プラントシステムの稼働中に一部の計器などが故障して正常な値が取り込めない時、オペレータが監視画面から計器の値を強制的に変更し、システム稼働を安定して継続できる効果がある。
すなわち、二重化コントローラシステムにおいて、ユーザは支援装置から稼働系コントローラに対して強制設定または解除を指示するだけで、上述した稼動系コントローラと待機系コントローラの処理により、稼動系と待機系とで同様の変更・更新が行われて同じデータ・プログラムを保持する状態へと自動的に移行することになる。よって、ユーザの手間が掛かることなく、且つ、間違いが生じることなく、稼働/待機の切替えが発生した時でも、強制設定値を引き継げ、システム稼働を安定して継続できる効果がある
あるいは、実施例3では更に、実施例2と略同様の効果が得られるものであってもよい。
図示の例の二重化コントローラシステムは、例えば、支援装置80とコントローラ90を有する。この例に限らず、更に、他装置100を有していてもよい。上記支援装置10が支援装置80の一例であり、上記コントローラ20がコントローラ90の一例であり、上記HCI装置30が他装置100の一例であると見做しても構わない。
すなわち、稼動系/待機系の二重化コントローラシステムにおいては、コントローラは、稼動系として動作するときはコントローラ90の処理機能に加えて図示の稼動系コントローラ90Aの処理機能も有する。一方、待機系として動作するときにはコントローラ90の処理機能に代えて図示の待機系コントローラ90Bの処理機能を有する。つまり、例えば待機系として動作する場合には、制御プログラム実行は行っていないので、プログラム実行部91の処理機能は有さないことになる。
ここで、一例として、二重化コントローラシステムにおいては、上記強制設定アドレス記憶部92は、更に、任意の番号(一例が上記シーケンス番号)も保持するものとする。
これに応じて、稼動系コントローラ90Aの第1更新部602は、該通知に応じて強制設定アドレス記憶部92を更新すると共に、該所定の通知と強制代入処理情報一覧に基づいて、機械語オブジェクトにおける該当位置の上記“何もしない命令”を上記“強制代入処理へのジャンプ命令”に戻す。
10 支援装置
11 フロントエンドコンパイラ
12 バックエンドコンパイラ
13 ソースコード
14 中間コード
15 機械語オブジェクト
16 変数−アドレス対応表
20 コントローラ
21 プログラム実行管理部
22 メモリ
23 機械語オブジェクト
24 強制ONアドレス一覧
30 HCI装置
41 変数名
42 アドレス
50 強制設定画面
51 変数名の入力欄
52 設定値の入力欄
53 「実行」ボタン
60 強制設定値送信データ
61 アドレス
62 強制設定値
71 管理番号
72 強制ONメモリアドレス
80 支援装置
81 コンパイル部
82 設定部
83 変数−アドレス記憶部
90 コントローラ
90A 稼動系コントローラ
90B 待機系コントローラ
91 プログラム実行部
92 強制設定アドレス記憶部
93 強制設定管理部
94 初期状態形成部
95 強制設定制御部
100他装置
101 設定部
102 変数−アドレス記憶部
210 支援装置
211 フロントエンドコンパイラ
212 バックエンドコンパイラ
213 ソースコード
214 中間コード
215 機械語オブジェクト
216 変数−アドレス対応表
217 強制代入処理情報一覧
220 コントローラ
221 プログラム実行管理部
222 メモリ
223 機械語オブジェクト
224 強制ONアドレス一覧
225 強制代入処理情報一覧
231 管理番号
232 強制代入処理へのジャンプ位置
233 機械語命令
234 書き込み先アドレス
241 管理番号
242 強制ONメモリアドレス
243 強制設定値
510 支援装置
511 フロントエンドコンパイラ
512 バックエンドコンパイラ
513 ソースコード
514 中間コード
515 機械語オブジェクト
516 変数−アドレス対応表
517 強制代入一覧情報
520 稼動系コントローラ
521 プログラム実行管理部
522 メモリ
523 機械語オブジェクト
524 強制ONアドレス一覧
525 強制代入一覧情報
530 待機系コントローラ
531 プログラム実行管理部
532 メモリ
533 機械語オブジェクト
534 強制ONアドレス一覧バックアップ
535 強制代入一覧情報
541 シーケンスNo.
542 強制設定個数
543 アドレス
544 強制設定値
551 管理番号
552 強制代入処理へのジャンプ位置
553 機械語命令
554 書き込み先アドレス
601 通知部
602 第1更新部
603 初期状態生成部
611 第2更新部
Claims (26)
- 支援装置とコントローラを有するプログラマブルコントローラシステムであって、
前記支援装置は、
任意のプログラムのソースコードをコンパイルして機械語オブジェクトに変換するコンパイル手段を有し、
前記コントローラは、
前記機械語オブジェクトを実行するプログラム実行手段と、
強制設定値が書き込まれたメモリアドレスが登録される強制設定アドレス記憶手段とを有し、
前記プログラム実行手段は、前記機械語オブジェクトにおける所定の命令を実行する際に、該所定の命令によるアクセス先アドレスが、前記強制設定アドレス記憶手段に登録されている場合には、該アクセス先アドレスへのアクセスを実行しない、あるいは該アクセス先アドレスへ前記強制設定値を書き込むことを特徴とするプログラマブルコントローラシステム。 - 前記支援装置の前記コンパイル手段は、前記任意のプログラムのソースコードを機械語オブジェクトに変換する際に、書込み命令に関しては所定の機械語を追加生成し、
前記コントローラの前記プログラム実行手段は、前記機械語オブジェクトを実行する際、該機械語オブジェクトにおける前記書込み命令を実行する際に前記所定の機械語を実行することで、該書込み命令のアクセス先アドレスが、前記強制設定アドレス記憶手段に登録されている場合には、該書込み命令による該アクセス先アドレスへの書き込みを実行しないことを特徴とする請求項1記載のプログラマブルコントローラシステム。 - 前記支援装置または他装置は、
任意に指定させた前記メモリアドレスと前記強制設定値を、前記コントローラに通知する設定手段を有し、
前記コントローラは、前記通知されたメモリアドレスを前記強制設定アドレス記憶手段に登録すると共に、前記通知された強制設定値を該通知されたメモリアドレスの記憶領域に書き込む強制設定管理手段を更に有することを特徴とする請求項1または2記載のプログラマブルコントローラシステム。 - 前記支援装置または他装置は、
前記コンパイルの際に前記ソースコードの各変数に割り当てられたメモリアドレスが、記憶される変数−アドレス記憶手段を更に有し、
前記設定手段は、前記ソースコード中の各変数のうちの任意の変数を指定させると共に任意の強制設定値を指定させ、該任意に指定された変数に対応するメモリアドレスを前記変数−アドレス記憶手段から取得して、これらを前記任意に指定させた前記メモリアドレスと前記強制設定値として前記コントローラに通知することを特徴とする請求項3記載のプログラマブルコントローラシステム。 - 前記強制設定管理手段は、前記通知されたメモリアドレスが既に前記強制設定アドレス記憶手段に登録されている場合には、前記通知されたメモリアドレスを前記強制設定アドレス記憶手段に登録することなく、前記通知された強制設定値を該通知されたメモリアドレスの記憶領域に上書き格納することを特徴とする請求項4記載のプログラマブルコントローラシステム。
- 前記他装置は、前記コントローラの動作をモニタする機能を有するHCI装置であることを特徴とする請求項3記載のプログラマブルコントローラシステム。
- 前記支援装置の前記コンパイル手段は、前記任意のプログラムのソースコードを機械語オブジェクトに変換する際に、書込み命令に対応する機械語命令群に強制代入処理へのジャンプ命令を付加し、更に強制代入処理情報一覧に該ジャンプ命令の位置と該書込み命令の書込み先アドレスを登録し、
前記コントローラは、
前記支援装置が生成した前記機械語オブジェクトと前記強制代入処理情報一覧を取得すると、前記強制代入処理情報一覧に基づいて、前記機械語オブジェクトにおける全ての前記強制代入処理へのジャンプ命令を何もしない命令に置き換えることで、その後、前記支援装置から所定の通知があるまでは前記強制代入処理を実行させない初期状態形成手段を更に有することを特徴とする請求項1記載のプログラマブルコントローラシステム。 - 前記支援装置は、任意のときに任意のメモリアドレスと強制設定値を前記所定の通知として前記コントローラに通知する設定手段を更に有し、
前記コントローラは、該所定の通知と前記強制代入処理情報一覧に基づいて、前記機械語オブジェクトにおける該当位置の前記何もしない命令を前記強制代入処理へのジャンプ命令に戻す強制設定制御手段を更に有することを特徴とする請求項7記載のプログラマブルコントローラシステム。 - 前記強制代入処理は、前記強制設定値をアキュムレータに格納する処理であり、
前記所定の命令は、該アキュムレータの格納データをメモリの前記アクセス先アドレスに転送・記憶する処理であることを特徴とする請求項8記載のプログラマブルコントローラシステム。 - 機械語オブジェクトを実行するプログラム実行手段と、
強制設定値が書き込まれたメモリアドレスが登録される強制設定アドレス記憶手段とを有し、
前記プログラム実行手段は、前記機械語オブジェクトにおける所定の命令を実行する際に、該所定の命令によるアクセス先アドレスが、前記強制設定アドレス記憶手段に登録されている場合には、該アクセス先アドレスへのアクセスを実行しないことを特徴とするコントローラ。 - 前記機械語オブジェクトは、支援装置または自装置において任意のプログラムのソースコードを機械語オブジェクトに変換する際に書込み命令に関しては所定の機械語を追加生成することで生成された機械語オブジェクトであり、
前記プログラム実行手段は、前記機械語オブジェクトを実行する際、該機械語オブジェクトにおける前記書込み命令を実行する際に前記所定の機械語を実行することで、該書込み命令のアクセス先アドレスが、前記強制設定アドレス記憶手段に登録されている場合には、該書込み命令による該アクセス先アドレスへの書き込みを実行しないことを特徴とする請求項10記載のコントローラ。 - 外部のコンピュータ装置から通知されてきた、該コンピュータ装置において任意に指定させたメモリアドレスと強制設定値を受信すると、該受信したメモリアドレスを前記強制設定アドレス記憶手段に登録すると共に、該受信した強制設定値を該受信したメモリアドレスの記憶領域に書き込む強制設定管理手段を更に有することを特徴とする請求項10
または11記載のコントローラ。 - 任意のプログラムのソースコードをコンパイルして機械語オブジェクトに変換する手段であって、前記任意のプログラムのソースコードを機械語オブジェクトに変換する際に、書込み命令に関しては所定の機械語を追加生成することで、機械語オブジェクトを生成するコンパイル手段と、
該コンパイル手段で生成した機械語オブジェクトをコントローラに転送する転送手段とを有し、
該コンパイル手段で生成した機械語オブジェクトを前記コントローラで実行させることで、該機械語オブジェクトにおける前記書込み命令を実行する際に前記所定の機械語を実行させることによって、該書込み命令のアクセス先アドレスが、該コントローラの所定の記憶手段に登録されている場合には、該書込み命令による該アクセス先アドレスへの書き込みを実行させないようにすることを特徴とする支援装置。 - 任意に指定させたメモリアドレスと強制設定値を、前記コントローラに通知する設定手段を更に有し、
前記コントローラにおいて該通知したメモリアドレスを前記所定の記憶手段に登録させると共に該通知した強制設定値を該通知したメモリアドレスの記憶領域に書き込ませることを特徴とする請求項13記載の支援装置。 - 前記コンパイルの際に前記ソースコードの各変数に割り当てられたメモリアドレスが、記憶される変数−アドレス記憶手段を更に有し、
前記設定手段は、前記ソースコード中の各変数のうちの任意の変数を指定させると共に任意の強制設定値を指定させ、該任意に指定された変数に対応するメモリアドレスを前記変数−アドレス記憶手段から取得して、これらを前記任意に指定させた前記メモリアドレスと前記強制設定値として前記コントローラに通知することを特徴とする請求項14記載の支援装置。 - 任意に指定させたメモリアドレスと強制設定値を、コントローラに通知する設定手段を有し、
前記コントローラにおいて該通知したメモリアドレスを所定の記憶手段に登録させると共に該通知した強制設定値を該通知したメモリアドレスの記憶領域に書き込ませることで、前記コントローラにおいて機械語オブジェクトにおける所定の命令を実行する際に、該所定の命令によるアクセス先アドレスが、前記所定の記憶手段に登録されている場合には、該アクセス先アドレスへのアクセスを実行させないようにすることを特徴とするHCI装置。 - 支援装置におけるコンパイル処理の際にソースコードの各変数に割り当てられたメモリアドレスが、記憶される変数−アドレス記憶手段を更に有し、
前記設定手段は、前記ソースコード中の各変数のうちの任意の変数を指定させると共に任意の強制設定値を指定させ、該任意に指定された変数に対応するメモリアドレスを前記変数−アドレス記憶手段から取得して、これらを前記任意に指定させた前記メモリアドレスと前記強制設定値として前記コントローラに通知することを特徴とする請求項16記載のHCI装置。 - 支援装置と稼動系コントローラと待機系コントローラを有する二重化コントローラシステムであって、
前記支援装置は、
任意のプログラムのソースコードをコンパイルして機械語オブジェクトに変換するコンパイル手段を有し、
前記稼動系コントローラは、
前記機械語オブジェクトを実行するプログラム実行手段と、
強制設定値が書き込まれたメモリアドレスが登録される強制設定アドレス記憶手段と、
該強制設定アドレス記憶手段を前記待機系コントローラに通知してバックアップ版として保持させる通知手段とを有し、
前記プログラム実行手段は、前記機械語オブジェクトにおける所定の命令を実行する際に、該所定の命令によるアクセス先アドレスが、前記強制設定アドレス記憶手段に登録されている場合には、該アクセス先アドレスへのアクセスを実行しない、あるいは該アクセス先アドレスへ前記強制設定値を書き込むことを特徴とする二重化コントローラシステム。 - 前記強制設定アドレス記憶手段は任意の番号を保持し、
前記稼動系コントローラは、前記強制設定アドレス記憶手段を更新する毎に前記番号を更新する第1更新手段を更に有し、
前記待機系コントローラは、前記通知手段により通知された強制設定アドレス記憶手段の前記番号が、自コントローラが保持する前記バックアップ版の番号と異なる場合に、該通知された強制設定アドレス記憶手段を新たなバックアップ版とする第2更新手段を有することを特徴とする請求項18記載の二重化コントローラシステム。 - 前記待機系コントローラの前記第2更新手段は、前記通知手段により通知された強制設定アドレス記憶手段の前記番号が、自コントローラが保持する前記バックアップ版の番号と異なる場合には、更に、自己が保持する機械語オブジェクトを変更することを特徴とする請求項19記載の二重化コントローラシステム。
- 前記自己が保持する機械語オブジェクトを変更する処理は、該機械語オブジェクトの強制代入処理へのジャンプ命令を何もしない命令に置き換える処理、あるいは、該何にしない命令を該強制代入処理へのジャンプ命令に置き換える処理であることを特徴とする請求項20記載の二重化コントローラシステム。
- 前記支援装置の前記コンパイル手段は、前記任意のプログラムのソースコードを機械語オブジェクトに変換する際に、書込み命令に関しては強制代入処理へのジャンプ命令を付加し、更に強制代入処理情報一覧に該ジャンプ命令の位置と該書込み命令の書込み先アドレスを登録し、
前記稼動系コントローラは、
前記支援装置が生成した前記機械語オブジェクトと前記強制代入処理情報一覧を取得すると、前記強制代入処理情報一覧に基づいて、前記機械語オブジェクトにおける全ての前記強制代入処理へのジャンプ命令を何もしない命令に置き換えることで、その後、前記支援装置から所定の通知があるまでは前記強制代入処理を実行させない初期状態生成手段を更に有することを特徴とする請求項18記載の二重化コントローラシステム。 - 前記稼動系コントローラの前記初期状態生成手段は、前記何もしない命令への置き換え後の機械語オブジェクトと前記強制代入処理情報一覧を前記待機系コントローラに送信して保持させることを特徴とする請求項22記載の二重化コントローラシステム。
- 前記支援装置の前記設定手段は、前記メモリアドレスと強制設定値を前記所定の通知として前記稼動系コントローラに通知し、
前記稼動系コントローラの第1更新手段は、該通知に応じて前記強制設定アドレス記憶手段を更新すると共に、該所定の通知と前記強制代入処理情報一覧に基づいて、前記機械語オブジェクトにおける該当位置の前記何もしない命令を前記強制代入処理へのジャンプ命令に戻すことを特徴とする請求項22または23記載の二重化コントローラシステム。 - 前記強制代入処理は、前記強制設定値をアキュムレータに格納する処理であり、
前記書込み命令は、該アキュムレータの格納データをメモリの前記書込み先アドレスに転送・記憶する処理であることを特徴とする請求項24記載の二重化コントローラシステム。 - 前記待機系コントローラの前記第2更新手段は、前記通知手段により通知された強制設定アドレス記憶手段の前記番号が、自コントローラが保持する前記バックアップ版の番号と異なる場合に、該相違する部分のアドレスに対応する該当位置を前記強制代入処理情報一覧から求めて、前記機械語オブジェクトにおける前記該当位置の前記何もしない命令を前記強制代入処理へのジャンプ命令に戻すことを特徴とする請求項24または25記載の二重化コントローラシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016021303 | 2016-02-05 | ||
JP2016021303 | 2016-02-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017142794A true JP2017142794A (ja) | 2017-08-17 |
JP6866663B2 JP6866663B2 (ja) | 2021-04-28 |
Family
ID=59628608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017019048A Active JP6866663B2 (ja) | 2016-02-05 | 2017-02-03 | プログラマブルコントローラシステム、プログラマブルコントローラ、支援装置、hci装置、二重化プログラマブルコントローラシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6866663B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019046052A (ja) * | 2017-08-31 | 2019-03-22 | 富士電機株式会社 | コントロールシステム、開発支援装置、及びコントロール方法 |
CN111552172A (zh) * | 2020-04-27 | 2020-08-18 | 浙江中控技术股份有限公司 | 一种数据处理方法、装置、存储介质及电子设备 |
JP2021105773A (ja) * | 2019-12-26 | 2021-07-26 | アズビル株式会社 | コントローラ及び施設監視システム |
CN113189961A (zh) * | 2021-04-21 | 2021-07-30 | 西安热工研究院有限公司 | 一种强制状态查找处理方法 |
CN113748387A (zh) * | 2019-05-29 | 2021-12-03 | 欧姆龙株式会社 | 控制系统、支持装置以及支持程序 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06242819A (ja) * | 1993-02-18 | 1994-09-02 | Fanuc Ltd | Pcの信号状態制御方式 |
US20110022785A1 (en) * | 2009-07-21 | 2011-01-27 | Riedmann Stefan | Method for programming a memory-programmable controller with resistant storage of data in memory |
-
2017
- 2017-02-03 JP JP2017019048A patent/JP6866663B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06242819A (ja) * | 1993-02-18 | 1994-09-02 | Fanuc Ltd | Pcの信号状態制御方式 |
US20110022785A1 (en) * | 2009-07-21 | 2011-01-27 | Riedmann Stefan | Method for programming a memory-programmable controller with resistant storage of data in memory |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019046052A (ja) * | 2017-08-31 | 2019-03-22 | 富士電機株式会社 | コントロールシステム、開発支援装置、及びコントロール方法 |
CN113748387A (zh) * | 2019-05-29 | 2021-12-03 | 欧姆龙株式会社 | 控制系统、支持装置以及支持程序 |
JP2021105773A (ja) * | 2019-12-26 | 2021-07-26 | アズビル株式会社 | コントローラ及び施設監視システム |
JP7306983B2 (ja) | 2019-12-26 | 2023-07-11 | アズビル株式会社 | コントローラ及び施設監視システム |
CN111552172A (zh) * | 2020-04-27 | 2020-08-18 | 浙江中控技术股份有限公司 | 一种数据处理方法、装置、存储介质及电子设备 |
CN111552172B (zh) * | 2020-04-27 | 2023-12-15 | 浙江中控技术股份有限公司 | 一种数据处理方法、装置、存储介质及电子设备 |
CN113189961A (zh) * | 2021-04-21 | 2021-07-30 | 西安热工研究院有限公司 | 一种强制状态查找处理方法 |
CN113189961B (zh) * | 2021-04-21 | 2022-09-02 | 西安热工研究院有限公司 | 一种强制状态查找处理方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6866663B2 (ja) | 2021-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6866663B2 (ja) | プログラマブルコントローラシステム、プログラマブルコントローラ、支援装置、hci装置、二重化プログラマブルコントローラシステム | |
JP5039428B2 (ja) | プログラマブルコントローラ及びplcシステム | |
US10162328B2 (en) | Controller and control system | |
JP6926841B2 (ja) | コントロールシステム、開発支援装置、及びコントロール方法 | |
JP6550268B2 (ja) | プログラム作成支援装置、プログラムおよび判別方法 | |
JP4110557B2 (ja) | プログラム実行システムを備えた検査装置およびプログラミングシステム | |
JP2009157533A (ja) | プログラマブルコントローラシステム | |
JP6292096B2 (ja) | プログラマブルコントローラシステム、その支援装置 | |
JP2013084112A (ja) | プログラマブルコントローラシステム、そのプログラミング装置、プログラマブルコントローラ、プログラム、デバッグ方法 | |
JP6135247B2 (ja) | 情報処理装置および情報処理プログラム | |
JP2015125713A (ja) | プログラマブルコントローラ・システム、その支援装置、プログラマブルコントローラ、プログラム | |
JP7067273B2 (ja) | サポート装置、制御システム、および開発支援プログラム | |
JP2012027639A (ja) | プログラマブルコントローラ、およびプログラマブルコントローラのデバッグ方法 | |
JPH03229352A (ja) | プログラム変更方法 | |
JP6119452B2 (ja) | プログラマブルコントローラシステム、その支援装置、プログラマブルコントローラ、プログラム | |
JP2016224559A (ja) | プログラム作成支援装置、制御方法およびプログラム | |
WO2021044654A1 (ja) | 情報処理システム、プログラマブル表示器および情報処理装置 | |
JP6455096B2 (ja) | コントロールシステム、その支援装置、プログラマブルコントロール装置 | |
JP2016024798A (ja) | 冗長化コントローラシステム、その待機系コントローラ | |
JP2015022511A (ja) | プログラマブルコントローラシステム、その支援装置、プログラム | |
JP6798156B2 (ja) | コントローラシステム、そのコントローラ、支援装置 | |
JP6529680B1 (ja) | データ管理システム、データ管理方法およびデータ管理プログラム | |
JP2006127069A (ja) | プラント監視制御システム | |
JP5832368B2 (ja) | エンジニアリング装置 | |
JP7499966B2 (ja) | 制御装置、及び、アドレス管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200114 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210118 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20210118 |
|
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: 20210309 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210322 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6866663 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |