JP2015207172A - 制御装置 - Google Patents
制御装置 Download PDFInfo
- Publication number
- JP2015207172A JP2015207172A JP2014087637A JP2014087637A JP2015207172A JP 2015207172 A JP2015207172 A JP 2015207172A JP 2014087637 A JP2014087637 A JP 2014087637A JP 2014087637 A JP2014087637 A JP 2014087637A JP 2015207172 A JP2015207172 A JP 2015207172A
- Authority
- JP
- Japan
- Prior art keywords
- variable
- model
- area
- address
- control device
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 18
- 230000008859 change Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000001994 activation Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/054—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/11—Plc I-O input output
- G05B2219/1105—I-O
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/14—Plc safety
- G05B2219/14073—Real time modeling of plc behaviour, display pictogram of system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
Abstract
【課題】制御装置の機種間において同一のソフトウェアによって第1記憶部の第1領域へのアクセスを実行することができる制御装置を提供する。【解決手段】実施形態の制御装置は、外部機器を制御する制御装置であって、第1記憶部と、第2記憶部と、制御部と、を備える。第1記憶部は、外部機器を制御するための第1情報を記憶可能な第1領域を有する。第2記憶部は、第1領域に対するアクセスを実行可能なソフトウェアを記憶する。制御部は、第2記憶部に記憶されたソフトウェアを実行する。ソフトウェアは、制御装置の機種を特定し、制御装置の機種と当該機種の制御装置が備える第1記憶部における第1領域のアドレスとを対応付けて記憶するデータベースにおいて、当該特定した機種と対応付けて記憶されるアドレスに従って第1領域に対するアクセスを実行する。【選択図】図2
Description
本発明の実施形態は、制御装置に関する。
コントローラやPLC(Programmable Logic Controller)等の制御装置のCPU(Central Processing Unit)モジュールは、当該CPUモジュールに接続されたI(Input)/O(Output)モジュール等の外部機器を制御するためのI/O変数を記憶可能な記憶領域を記憶部に割り付けている。
ところで、制御装置によって制御可能な外部機器の数は、当該制御装置が装備している記憶部の容量によって異なるため、容量が異なる記憶部を装備する制御装置は、別機種となっている。それに伴い、制御装置に装備されるファームウェア等のソフトウェアも、当該ソフトウェアにより実行される処理機能が同じでも、制御装置が装備する記憶部の容量によってメモリ管理方法(例えば、記憶部における、I/O変数を記憶可能な記憶領域の割り付け等)が異なるため、制御装置の機種毎に別のソフトウェアを製造・管理している。
また、従来技術においては、機種が異なる制御装置に搭載された処理機能が同じ2つのソフトウェアに対して、機能の追加や機能の修正等の変更を行う場合、当該2つのソフトウェアそれぞれに変更を行う必要があるため、当該2つのソフトウェアそれぞれに対する変更に誤って差異が生じる可能性があり、同じ変更作業を2度行う必要もありその作業量が増えるので、ソフトウェアの管理が複雑になる。
実施形態の制御装置は、外部機器を制御する制御装置であって、第1記憶部と、第2記憶部と、制御部と、を備える。第1記憶部は、外部機器を制御するための第1情報を記憶可能な第1領域を有する。第2記憶部は、第1領域に対するアクセスを実行可能なソフトウェアを記憶する。制御部は、第2記憶部に記憶されたソフトウェアを実行する。ソフトウェアは、制御装置の機種を特定し、制御装置の機種と当該機種の制御装置が備える第1記憶部における第1領域のアドレスとを対応付けて記憶するデータベースにおいて、当該特定した機種と対応付けて記憶されるアドレスに従って第1領域に対するアクセスを実行する。
以下、添付の図面を用いて、本実施形態にかかる制御装置を適用したコントローラについて説明する。
(第1の実施形態)
図1は、第1の実施形態にかかるコントローラの構成を示すブロック図である。本実施形態では、コントローラ1は、制御対象のI/Oモジュール3(外部機器の一例)を制御する制御装置の一例であり、図1に示すように、RAM(Random Access Memory)101と、CPU(Central Processing Unit)モジュール102と、通信I/F103と、ROM(Read Only Memory)104と、を備えている。
図1は、第1の実施形態にかかるコントローラの構成を示すブロック図である。本実施形態では、コントローラ1は、制御対象のI/Oモジュール3(外部機器の一例)を制御する制御装置の一例であり、図1に示すように、RAM(Random Access Memory)101と、CPU(Central Processing Unit)モジュール102と、通信I/F103と、ROM(Read Only Memory)104と、を備えている。
通信I/F103は、イーサーネット(登録商標)等のネットワークを介して、コントローラ1を含む情報処理システム全体を制御するエンジニアリングツール201を備えたPC(Personal Computer)2等の上位機器と接続され、当該上位機器と通信可能なインタフェースである。
RAM101は、後述するCPUモジュール102の作業領域として機能する。具体的には、RAM101(第1記憶部の一例)は、I/Oモジュール3を制御するためのI/O変数(第1情報の一例)を記憶可能なI/O変数領域101a(図2参照、第1領域の一例)を有する。本実施形態では、RAM101は、I/O変数以外の他の変数を記憶可能な変数領域101b(図2参照)やI/O変数領域101aのアドレス(以下、I/O変数アドレスと言う)を記憶可能な変数ポインタ領域101c(図2参照、所定の第2領域の一例)等を有している。
ROM104(第2記憶部の一例)は、後述するCPUモジュール102により実行され、RAM101が有するI/O変数領域101a(図2参照)へアクセス(例えば、I/O変数領域101aへのI/O変数の書き込み、I/O変数領域101aからのI/O変数の読み出しなど)を実行可能なファームウェア104a(図2参照、ソフトウェアの一例)やOS(Operating System)等の各種プログラムを記憶する。
また、ROM104は、コントローラ1の機種を識別可能とする機種情報(例えば、機種名など)と、当該機種情報により識別される機種のコントローラ1が有するRAM101におけるI/O変数領域101a(図2参照)のアドレスであるI/O変数アドレスと、を対応付けるアドレス表104b(図2参照、データベースの一例)を記憶する。
CPUモジュール102は、コントローラ1全体を制御する。具体的には、CPUモジュール102は、バスを介して接続されているRAM101、ROM104等の各部を制御する。
また、CPUモジュール102には、コントローラ1が制御するI/Oモジュール3が複数接続されている。そして、CPUモジュール102(制御部の一例)は、ROM104に記憶されたファームウェア104a(図2参照)を実行することにより、RAM101が有するI/O変数領域101a(図2参照)へのアクセスを実行する。
ここで、図2を用いて、本実施形態にかかるコントローラ1が備えるファームウェア104aによるI/O変数領域101aへのアクセス動作について説明する。図2は、第1の実施形態にかかるコントローラが備えるファームウェアによるI/O変数領域へのアクセス動作を説明するための図である。
コントローラ1に搭載されるRAM101は、コントローラ1の機種(CPUモジュール102に接続されたI/Oモジュール3の数であるI/Oモジュール数、言い換えると、コントローラ1により制御する外部機器の数)によってその容量が異なる。例えば、機種Aのコントローラ1により制御するI/Oモジュール数が「1」で、機種Bのコントローラ1により制御するI/Oモジュール数が「5」である場合、機種AのRAM101の容量は、図2に示すように、機種BのRAM101の容量より少ない。それに伴い、機種AのRAM101におけるI/O変数領域101aの容量も、図2に示すように、機種BのRAM101におけるI/O変数領域101aの容量よりも少なくなる。
しかしながら、機種AのCPUモジュール102および機種BのCPUモジュール102それぞれの処理機能は同一であるため、RAM101におけるI/O変数以外の他の変数を記憶可能な変数領域101bの容量およびアドレスは、図2に示すように、機種Aと機種Bとの間において同一となる。そのため、機種Aおよび機種BそれぞれのI/O変数領域101aを、図2に示すように、RAM101における同じ領域に設けることはできない。
従来のコントローラにおいては、コントローラの機種毎に異なるファームウェアに設計することにより、機種毎に異なるI/O変数領域へのアクセスを実現していたが、コントローラの機種毎に異なるファームウェアを設計しなければならない。
また、従来のコントローラにおいては、機種が異なるコントローラに搭載されかつ処理機能が同じ2つのファームウェアに対して機能の追加や機能の修正等の変更を行う場合、当該2つのファームウェアそれぞれに変更を行う必要があるため、当該2つのファームウェアそれぞれに対する変更に誤って差異が生じる可能性があり、同じ変更作業を2度行う必要もありその作業量が増えるので、ファームウェアの管理が複雑になる。
そこで、本実施形態にかかるコントローラ1では、CPUモジュール102により実行されるファームウェア104aが、当該ファームウェア104aが搭載されたコントローラ1の機種を特定し、ROM104に記憶されたアドレス表104bにおいて、当該特定した機種の機種情報と対応付けて記憶されたI/O変数アドレスに従って、RAM101が有するI/O変数領域101aにアクセスする。
これにより、本実施形態にかかるコントローラ1によれば、コントローラ1の機種毎に異なるファームウェア104aを設計しなくても、機種毎に異なるI/O変数領域101aへのアクセスを実現することができるので、コントローラ1の機種が異なる場合でも同一のファームウェア104aによってI/O変数領域101aへのアクセスを実行することができる。
また、本実施形態にかかるコントローラ1によれば、異なる機種のコントローラ1のファームウェア104aに機能追加や機能修正等の各種の変更を行う場合に、各機種のコントローラ1のファームウェア104aに対して同様の変更を行えば良いので、ファームウェア104aに対する各種変更を行う場合の変更ミスや作業量が低減でき、ファームウェア104aの管理を統一化することができる。
次に、図2および図3を用いて、本実施形態にかかるコントローラ1におけるI/O変数領域101aへのアクセス動作について説明する。図3は、第1の実施形態にかかるコントローラが備えるファームウェアによるI/O変数領域へのアクセス動作の流れを示すフローチャートである。
本実施形態では、CPUモジュール102は、コントローラ1の起動処理が開始されると、ROM104に記憶されたファームウェア104aを実行する(ステップS301)。ファームウェア104aは、コントローラ1の起動時に当該コントローラ1が備えるハードウェアから出力される信号(以下、ハードウェア信号と言う)に基づいて、コントローラ1の機種を特定する(ステップS302)。
本実施形態では、ファームウェア104aは、ハードウェア信号に基づいてコントローラ1の機種を特定しているが、これに限定するものではなく、例えば、コントローラ1が備える図示しない操作部または通信I/F103を介してPC2から入力された機種情報に基づいて、コントローラ1の機種を特定しても良い。
次いで、ファームウェア104aは、コントローラ1の起動処理の開始後、I/O変数領域101aへのアクセスに先立って、ROM104に記憶されたアドレス表104bから、ステップS302において特定した機種と対応付けられたI/O変数アドレスを読み出す(ステップS303)。本実施形態では、ファームウェア104aは、コントローラ1自身が有する記憶部(ROM104に記憶されたアドレス表104b)からI/O変数アドレスを読み出しているが、これに限定するものではなく、例えば、PC2等が備える外部記憶部に記憶されたアドレス表104bからI/O変数アドレスを読み出すようにすることも可能である。
そして、ファームウェア104aは、読み出したI/O変数アドレスを、RAM101における変数ポインタ領域101c(所定の第2領域の一例)に書き込む。これにより、I/O変数領域101aにアクセスする際に、変数ポインタ領域101cに記憶されたI/O変数アドレスを用いて、I/O変数領域101aにアクセスすることができ、I/O変数領域101aへアクセスする度にアドレス表104bからI/O変数アドレスを読み出す必要がないので、I/O変数領域101aのアクセスによる処理負荷を軽減することができる。
例えば、ファームウェア104aは、図2(a)に示すように、ハードウェア信号に基づいて特定した機種が機種Aである場合、アドレス表104bから、機種Aと対応付けられたI/O変数アドレス:アドレスAを読み出す。そして、ファームウェア104aは、図2(a)に示すように、読み出したI/O変数アドレス:アドレスAを、RAM101の変数ポインタ領域101cに書き込む。
一方、ファームウェア104aは、図2(b)に示すように、ハードウェア信号に基づいて特定した機種が機種Bである場合、アドレス表104bから、機種Bと対応付けられたI/O変数アドレス:アドレスBを読み出す。そして、ファームウェア104aは、図2(b)に示すように、読み出したI/O変数アドレス:アドレスBを、RAM101の変数ポインタ領域101cに書き込む。
図3に戻り、その後、I/Oモジュール3に接続された外部機器を制御するためにI/O変数領域101aにアクセスする場合、ファームウェア104aは、まず、RAM101の変数ポインタ領域101cにアクセスして、I/O変数アドレスを読み出す。そして、ファームウェア104aは、読み出したI/O変数アドレスに従って、I/O変数領域101aにアクセスする(ステップS304)。すなわち、アドレス表104bから読み出したI/O変数アドレスを用いてI/O変数領域101aにアクセスすることにより、コントローラ1の機種毎に異なるファームウェア104aを設計しなくても、機種毎に異なるI/O変数領域101aへのアクセスを実現することができるので、コントローラ1の機種が異なる場合でも同一のファームウェア104aによってI/O変数領域101aへのアクセスを実行することができる。
例えば、機種Aのファームウェア104aは、図2(a)に示すように、RAM101の変数ポインタ領域101cにアクセスして、I/O変数アドレス:アドレスAを読み出す。そして、ファームウェア104aは、読み出したI/O変数アドレス:アドレスAに従って、I/O変数領域101aにアクセスする。一方、機種Bのファームウェア104aは、図2(b)に示すように、RAM101の変数ポインタ領域101cにアクセスして、I/O変数アドレス:アドレスBを読み出す。そして、ファームウェア104aは、読み出したI/O変数アドレス:アドレスBに従って、I/O変数領域101aにアクセスする。
本実施形態では、ファームウェア104aは、コントローラ1の起動時に予め変数ポインタ領域101cに書き込まれたI/O変数アドレスを用いて、I/O変数領域101aにアクセスしているが、ROM104aから読み出したI/O変数アドレスを用いて、I/O変数領域101aにアクセスするものであれば、これに限定するものではない。例えば、ファームウェア104aは、I/O変数領域101aにアクセスする際に、ROM104からI/O変数アドレスを読み出し、当該読み出したI/O変数アドレスを用いてI/O変数領域101aにアクセスしても良い。
このように、第1の実施形態にかかるコントローラ1によれば、コントローラ1の機種毎に異なるファームウェア104aを設計しなくても、機種毎に異なるI/O変数領域101aへのアクセスを実現することができるので、コントローラ1の機種が異なる場合でも同一のファームウェア104aによってI/O変数領域101aへのアクセスを実行することができる。
(第2の実施形態)
本実施形態は、RAMが、I/O変数の種類毎に設けられた複数のI/O変数領域を有し、アドレス表が、コントローラの機種と対応付けて、I/O変数の各種類に対応するI/O変数領域のアドレスを記憶し、ファームウェアが、アドレス表において、コントローラ自身の機種と対応付けて記憶されかつI/O変数領域へのアクセスによって読み出しまたは書き込みの少なくとも一方を行うI/O変数の種類に対応するI/O変数アドレスに従ってI/O変数領域へのアクセスを実行する例である。以下の説明では、第1の実施形態と同様の箇所については説明を省略する。
本実施形態は、RAMが、I/O変数の種類毎に設けられた複数のI/O変数領域を有し、アドレス表が、コントローラの機種と対応付けて、I/O変数の各種類に対応するI/O変数領域のアドレスを記憶し、ファームウェアが、アドレス表において、コントローラ自身の機種と対応付けて記憶されかつI/O変数領域へのアクセスによって読み出しまたは書き込みの少なくとも一方を行うI/O変数の種類に対応するI/O変数アドレスに従ってI/O変数領域へのアクセスを実行する例である。以下の説明では、第1の実施形態と同様の箇所については説明を省略する。
図4は、第2の実施形態にかかるコントローラが備えるファームウェアによるI/O変数領域へのアクセス動作を説明するための図である。本実施形態にかかるコントローラ4が備えるRAM401は、図4に示すように、I/O変数の種類であるI/O変数種類(例えば、I/O変数のデータフォーマット、I/O変数により制御するI/Oモジュール3など)毎に設けられた複数(本実施形態では、2つ)のI/O変数領域401a,401bを有する。また、本実施形態では、RAM401は、図4に示すように、I/O変数種類毎に設けられた複数の(本実施形態では、2つ)の変数ポインタ領域401c,401dを有している。
さらに、本実施形態では、ROM104は、I/O変数種類毎の複数(本実施形態では、2つ)のアドレス表402,403を記憶している。具体的には、アドレス表402は、コントローラ4の機種を識別可能とする機種情報と、I/O変数種類Xに対応するI/O変数領域401aのアドレスを記憶する。アドレス表403は、コントローラ4の機種を識別可能とする機種情報と、I/O変数種類Yに対応するI/O変数領域401bのアドレスを記憶する。すなわち、アドレス表402,403は、コントローラ4の機種に対応付けて、各I/O変数種類に対応するI/O変数領域のアドレスを記憶するデータベースの一例として機能する。
本実施形態では、ファームウェア404は、コントローラ4の起動処理の開始後、I/O変数領域401a,401bへのアクセスに先立って、ROM104に記憶されたアドレス表402,403それぞれから、特定した機種と対応付けられた各I/O変数種類のI/O変数アドレスを読み出す。次いで、ファームウェア404は、読み出した各I/O変数種類のI/O変数アドレスを、I/O変数種類毎に設けられた変数ポインタ領域401c,401dに書き込む。
例えば、ファームウェア404は、ハードウェア信号に基づいて特定したコントローラ4が機種Aでありかつ書き込みおよび読み出しの少なくとも一方を行うI/O変数がI/O変数種類Xである場合、図4(a)に示すように、当該I/O変数種類Xに対応するアドレス表402から、機種Aと対応付けられたI/O変数アドレス:アドレスAXを読み出す。そして、ファームウェア404は、図4(a)に示すように、読み出したI/O変数アドレス:アドレスAXを、I/O変数種類Xに対応する変数ポインタ領域401cに書き込む。
一方、ファームウェア404は、ハードウェア信号に基づいて特定したコントローラ4が機種Aでありかつ書き込みおよび読み出しの少なくとも一方を行うI/O変数がI/O変数種類Yである場合、図4(a)に示すように、I/O変数種類Yに対応するアドレス表403から、機種Aと対応付けられたI/O変数アドレス:アドレスAYを読み出す。そして、ファームウェア404は、図4(a)に示すように、読み出したI/O変数アドレス:アドレスAYを、I/O変数種類Yに対応する変数ポインタ領域401dに書き込む。
また、ファームウェア404は、ハードウェア信号に基づいて特定したコントローラ4が機種Bでありかつ書き込みおよび読み出しの少なくとも一方を行うI/O変数がI/O変数種類Xである場合、図4(b)に示すように、I/O変数種類Xに対応するアドレス表402から、機種Bと対応付けられたI/O変数アドレス:アドレスBXを読み出す。そして、ファームウェア404は、図4(b)に示すように、読み出したI/O変数アドレス:アドレスBXを、I/O変数種類Xに対応する変数ポインタ領域401cに書き込む。
一方、ファームウェア404は、ハードウェア信号に基づいて特定したコントローラ4が機種Bでありかつ書き込みおよび読み出しの少なくとも一方を行うI/O変数がI/O変数種類Yである場合、図4(b)に示すように、I/O変数種類Yに対応するアドレス表403から、機種Bと対応付けられたI/O変数アドレス:アドレスBYを読み出す。そして、ファームウェア404は、図4(b)に示すように、読み出したI/O変数アドレス:アドレスBYを、I/O変数種類Yに対応する変数ポインタ領域401dに書き込む。
そして、ファームウェア404は、I/O変数領域401a,401bにアクセスする場合、当該アクセスにより書き込みおよび読み出しの少なくとも一方を実行するI/O変数のI/O変数種類に対応する変数ポインタ領域401c,401dから、I/O変数アドレスを読み出す。すなわち、ファームウェア404は、アドレス表402,403から、書き込みおよび読み出しの少なくとも一方を実行するI/O変数のI/O変数種類に対応するI/O変数アドレスを読み出す。その後、ファームウェア404は、読み出したI/O変数アドレスに基づいて、I/O変数領域401a,401bへのアクセスを実行する。
このように、第2の実施形態のコントローラ4によれば、RAM401が、I/O変数の種類毎に設けられた複数のI/O変数領域401a,401bを有する場合も、第1の実施形態と同様に、コントローラ4の機種毎に異なるファームウェア404を設計しなくても、機種毎に異なるI/O変数領域401a,401bへのアクセスを実現することができるので、コントローラ4の機種が異なる場合でも同一のファームウェア404によってI/O変数領域401a,401bへのアクセスを実行することができる。また、異なる機種のコントローラ4のファームウェア404に機能追加や機能修正等の各種の変更を行う場合に、各機種のコントローラ4のファームウェア404に対して同様の変更を行えば良いので、ファームウェア404に対する各種変更を行う場合の変更ミスや作業量が低減でき、ファームウェア404の管理を統一化することができる。
(第3の実施形態)
本実施形態は、上位機器から、コントローラの機種を識別可能とするI/Oモジュール登録情報(第2情報の一例)を受信し、当該受信したI/Oモジュール登録情報に基づいてコントローラの機種を特定する例である。以下の説明では、第1,2の実施形態と同様の箇所について説明を省略する。
本実施形態は、上位機器から、コントローラの機種を識別可能とするI/Oモジュール登録情報(第2情報の一例)を受信し、当該受信したI/Oモジュール登録情報に基づいてコントローラの機種を特定する例である。以下の説明では、第1,2の実施形態と同様の箇所について説明を省略する。
図5は、第3の実施形態にかかるコントローラが備えるファームウェアによるI/O変数領域へのアクセス動作を説明するための図である。本実施形態にかかるコントローラ5が備えるROM104は、コントローラ5の機種を識別可能とする機種情報と、各I/O変数種類に対応するI/O変数領域401a,401bのアドレスとを対応付けるアドレス表502を記憶している。
本実施形態では、ファームウェア501は、コントローラ5の起動処理の開始後、I/O変数領域401a,401bへのアクセスに先立って、通信I/F103を介して、PC2(上位機器の一例)から、コントローラ5の機種を識別可能とするI/Oモジュール登録情報Iを受信する。
本実施形態では、PC2のエンジニアリングツール201は、コントローラ5の起動処理の開始を検知すると、当該コントローラ5に対してI/Oモジュール登録情報Iを送信する。ここで、I/Oモジュール登録情報Iは、上述したように、起動処理の開始を検知したコントローラ5の機種を識別可能とする情報であり、例えば、I/Oモジュール3を制御するためのI/O変数種類XのI/O変数の数とI/O変数種類YのI/O変数の数との大小関係である。
そして、ファームウェア501は、PC2から受信したI/Oモジュール登録情報Iに基づいて、コントローラ5の機種を特定する。例えば、ファームウェア501は、受信したI/Oモジュール登録情報Iが、I/O変数種類XのI/O変数の数が、I/O変数種類YのI/O変数の数よりも少ないことを表している場合、図5(a)に示すように、コントローラ5の機種が機種Aであることを特定する。次いで、ファームウェア501は、図5(a)に示すように、ROM104に記憶されたアドレス表502から、特定した機種Aと対応付けられたI/O変数アドレス:アドレスAX,AYを読み出す。そして、ファームウェア501は、図5(a)に示すように、読み出した各I/O変数種類に対応するI/O変数アドレス:アドレスAX,AYを、各I/O変数種類に対応する変数ポインタ領域401c,401dに書き込む。
その後、ファームウェア501は、I/O変数種類XのI/O変数が記憶されたI/O変数領域401aにアクセスする場合、図5(a)に示すように、変数ポインタ領域401cに記憶されたI/O変数アドレス:アドレスAXに基づいて、I/O変数領域401aにアクセスする。一方、ファームウェア501は、I/O変数種類YのI/O変数が記憶されたI/O変数領域401bにアクセスする場合、図5(a)に示すように、変数ポインタ領域401dに記憶されたI/O変数アドレス:アドレスAYに基づいて、I/O変数領域401bにアクセスする。
また、ファームウェア501は、受信したI/Oモジュール登録情報Iが、I/O変数種類XのI/O変数の数が、I/O変数種類YのI/O変数の数よりも多いことを表している場合、図5(b)に示すように、コントローラ5の機種が機種Bであることを特定する。次いで、ファームウェア501は、図5(b)に示すように、ROM104に記憶されたアドレス表502から、特定した機種Bと対応付けられたI/O変数アドレス:アドレスBX,BYを読み出す。そして、ファームウェア501は、図5(b)に示すように、読み出した各I/O変数種類に対応するI/O変数アドレス:アドレスBX,BYを、各I/O変数種類に対応する変数ポインタ領域401c,401dに書き込む。
その後、ファームウェア501は、I/O変数種類XのI/O変数が記憶されたI/O変数領域401aにアクセスする場合、変数ポインタ領域401cに記憶されたI/O変数アドレス:アドレスBXに基づいて、I/O変数領域401aにアクセスする。一方、ファームウェア501は、I/O変数種類YのI/O変数が記憶されたI/O変数領域401bにアクセスする場合、変数ポインタ領域401dに記憶されたI/O変数アドレス:アドレスBYに基づいて、I/O変数領域401bにアクセスする。
このように、第3の実施形態にかかるコントローラ5によれば、PC2から受信したI/Oモジュール登録情報Iに基づいてコントローラ5の機種を特定する場合も、第1の実施形態と同様に、コントローラ5の機種毎に異なるファームウェア501を設計しなくても、機種毎に異なるI/O変数領域401a,401bへのアクセスを実現することができるので、コントローラ5の機種が異なる場合でも同一のファームウェア501によってI/O変数領域401a,401bへのアクセスを実行することができる。また、異なる機種のコントローラ5のファームウェア501に機能追加や機能修正等の各種の変更を行う場合に、各機種のコントローラ5のファームウェア501に対して同様の変更を行えば良いので、ファームウェア501に対する各種変更を行う場合の変更ミスや作業量が低減でき、ファームウェア501の管理を統一化することができる。
以上説明したとおり、第1から第3の実施形態によれば、コントローラの機種間において同一のファームウェアによってI/O変数領域へのアクセスを実行することができる。
なお、本実施形態のコントローラ1,4,5で実行されるプログラムは、ROM104等に予め組み込まれて提供されるが、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、本実施形態のコントローラ1,4,5で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態のコントローラ1,4,5で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1,4,5 コントローラ
2 PC
3 I/Oモジュール
101,401 RAM
101a,401a,401b I/O変数領域
101c,401c,401d 変数ポインタ領域
102 CPUモジュール
103 通信I/F
104 ROM
104a,404,501 ファームウェア
104b,402,403,502 アドレス表
2 PC
3 I/Oモジュール
101,401 RAM
101a,401a,401b I/O変数領域
101c,401c,401d 変数ポインタ領域
102 CPUモジュール
103 通信I/F
104 ROM
104a,404,501 ファームウェア
104b,402,403,502 アドレス表
Claims (4)
- 外部機器を制御する制御装置であって、
前記外部機器を制御するための第1情報を記憶可能な第1領域を有する第1記憶部と、
前記第1領域に対するアクセスを実行可能なソフトウェアを記憶する第2記憶部と、
前記第2記憶部に記憶された前記ソフトウェアを実行する制御部と、を備え、
前記ソフトウェアは、前記制御装置の機種を特定し、前記制御装置の機種と当該機種の前記制御装置が備える前記第1記憶部における前記第1領域のアドレスとを対応付けて記憶するデータベースにおいて、当該特定した機種と対応付けて記憶される前記アドレスに従って前記第1領域に対するアクセスを実行する制御装置。 - 前記ソフトウェアは、前記制御装置の起動処理の開始後、前記第1領域に対するアクセスの実行に先立って、前記データベースから、特定した機種と対応付けて記憶された前記アドレスを読み出して前記第1記憶部の所定の第2領域に書き込み、前記第2領域に記憶された前記アドレスに従って前記第1領域に対するアクセスを実行する請求項1に記載の制御装置。
- 前記第1記憶部は、前記第1情報の種類毎に設けられた複数の前記第1領域を有し、
前記データベースは、前記制御装置の機種と対応付けて、前記第1情報の各種類に対応する前記第1領域の前記アドレスを記憶し、
前記ソフトウェアは、前記データベースにおいて、特定した機種と対応付けて記憶されかつ前記第1領域へのアクセスにより書き込みおよび読み出しの少なくとも一方を実行する前記第1情報の種類に対応する前記アドレスに従って前記第1領域へのアクセスを実行する請求項1または2に記載の制御装置。 - 前記ソフトウェアは、上位機器から、前記制御装置の機種を識別可能とする第2情報を受信し、当該受信した第2情報に基づいて前記制御装置の機種を特定する請求項1から3のいずれか一に記載の制御装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014087637A JP2015207172A (ja) | 2014-04-21 | 2014-04-21 | 制御装置 |
PCT/JP2015/061627 WO2015163219A1 (ja) | 2014-04-21 | 2015-04-15 | 制御装置 |
CN201580001381.8A CN105659210A (zh) | 2014-04-21 | 2015-04-15 | 控制装置 |
US14/915,744 US20160216705A1 (en) | 2014-04-21 | 2015-04-15 | Control apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014087637A JP2015207172A (ja) | 2014-04-21 | 2014-04-21 | 制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015207172A true JP2015207172A (ja) | 2015-11-19 |
Family
ID=54332386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014087637A Pending JP2015207172A (ja) | 2014-04-21 | 2014-04-21 | 制御装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20160216705A1 (ja) |
JP (1) | JP2015207172A (ja) |
CN (1) | CN105659210A (ja) |
WO (1) | WO2015163219A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111610765B (zh) * | 2020-05-25 | 2022-09-30 | 珠海格力电器股份有限公司 | 一种集散消息控制装置、方法和楼宇控制系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06149550A (ja) * | 1992-10-30 | 1994-05-27 | Ricoh Co Ltd | 画像形成装置 |
JPH07319512A (ja) * | 1994-05-26 | 1995-12-08 | Fanuc Ltd | プログラマブル・ロジック・コントローラ |
US5794032A (en) * | 1996-04-15 | 1998-08-11 | Micron Electronics, Inc. | System for the identification and configuration of computer hardware peripherals |
US6138178A (en) * | 1997-01-29 | 2000-10-24 | Fuji Photo Film Co., Ltd. | Controlled device storing multiple drivers that judges and downloads a particular driver corresponding to a controller's operating system having an identical or greater version number |
US6175770B1 (en) * | 1997-12-31 | 2001-01-16 | Dana Corporation | Electronic controller having automatic self-configuration capabilities |
WO2000070466A1 (fr) * | 1999-05-17 | 2000-11-23 | Technowave, Ltd. | Procede d'acces a un dispositif e/s et une memoire utilisant une adresse virtuelle et support enregistre comportant un programme destine a executer le procede d'acces a un dispositif e/o et une memoire utilisant une adresse virtuelle |
JP2002055824A (ja) * | 2000-08-09 | 2002-02-20 | Sony Corp | 電子装置、それを使用する機器及びデータ読み込み方法 |
US8214849B2 (en) * | 2001-07-13 | 2012-07-03 | Advanced Micro Devices, Inc. | System for loading device-specific code and method thereof |
US7103432B2 (en) * | 2004-06-02 | 2006-09-05 | Research In Motion Limited | Auto-configuration of hardware on a portable computing device |
-
2014
- 2014-04-21 JP JP2014087637A patent/JP2015207172A/ja active Pending
-
2015
- 2015-04-15 US US14/915,744 patent/US20160216705A1/en not_active Abandoned
- 2015-04-15 CN CN201580001381.8A patent/CN105659210A/zh not_active Withdrawn
- 2015-04-15 WO PCT/JP2015/061627 patent/WO2015163219A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2015163219A1 (ja) | 2015-10-29 |
US20160216705A1 (en) | 2016-07-28 |
CN105659210A (zh) | 2016-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170346919A1 (en) | Bluetooth device and bluetooth device name managing method | |
RU2017104121A (ru) | Система и способ для создания выборочных моментальных снимков базы данных | |
US8868793B2 (en) | SAS expander system and method for dynamically allocating SAS addresses to SAS expander devices | |
US9940167B2 (en) | Identifying memory devices for swapping virtual machine memory pages | |
JP6776436B2 (ja) | 制御装置 | |
CN106020837A (zh) | 一种加载机顶盒驱动的方法及系统 | |
JPWO2019097800A1 (ja) | コントロール装置 | |
TWI464583B (zh) | 取得觸發功能之指令的方法 | |
JP2012164178A (ja) | プログラム作成支援装置、プログラム作成支援方法 | |
WO2015163219A1 (ja) | 制御装置 | |
WO2020075351A1 (ja) | コントロール装置 | |
US9588918B2 (en) | Storage control devices and method therefor to invoke address thereof | |
CN109582388B (zh) | 一种参数配置方法、装置及设备 | |
WO2014002220A1 (ja) | 管理装置、データ取得方法およびデータ取得プログラム | |
JP2019144762A (ja) | プログラマブルコントローラ | |
JP2008226111A (ja) | 2重化コントローラシステム、その稼動系コントローラ | |
JP6455096B2 (ja) | コントロールシステム、その支援装置、プログラマブルコントロール装置 | |
WO2013005350A1 (ja) | シンボルテーブル生成方法、周辺機器との通信方法およびプログラマブルロジックコントローラ | |
JP2015005224A (ja) | プログラマブルコントローラシステム、その支援装置、プログラマブルコントローラ、プログラム | |
JP5079166B1 (ja) | シンボルテーブル生成方法、周辺機器との通信方法およびプログラマブルロジックコントローラ | |
KR102119509B1 (ko) | 안정적인 실행을 보장하는 OpenCL 가상화 실행환경 제공 방법 및 장치 | |
JP6071782B2 (ja) | プラント制御装置、プラント制御方法及びプラント制御プログラム | |
JP6076564B2 (ja) | システム設計支援ツール | |
US20150356032A1 (en) | Information processing apparatus and information processing method | |
JP6020071B2 (ja) | プログラマブルコントローラシステム、その支援装置、プログラマブルコントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20151102 |