JP5119204B2 - プログラマブルコントローラ、データ書き込み方法、及び受信モジュール - Google Patents

プログラマブルコントローラ、データ書き込み方法、及び受信モジュール Download PDF

Info

Publication number
JP5119204B2
JP5119204B2 JP2009126308A JP2009126308A JP5119204B2 JP 5119204 B2 JP5119204 B2 JP 5119204B2 JP 2009126308 A JP2009126308 A JP 2009126308A JP 2009126308 A JP2009126308 A JP 2009126308A JP 5119204 B2 JP5119204 B2 JP 5119204B2
Authority
JP
Japan
Prior art keywords
module
address
data
control address
storage area
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.)
Expired - Fee Related
Application number
JP2009126308A
Other languages
English (en)
Other versions
JP2010277143A (ja
Inventor
悟 堀
博光 加藤
洋 藤井
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.)
Hitachi Industrial Equipment Systems Co Ltd
Original Assignee
Hitachi Industrial Equipment Systems Co Ltd
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 Hitachi Industrial Equipment Systems Co Ltd filed Critical Hitachi Industrial Equipment Systems Co Ltd
Priority to JP2009126308A priority Critical patent/JP5119204B2/ja
Publication of JP2010277143A publication Critical patent/JP2010277143A/ja
Application granted granted Critical
Publication of JP5119204B2 publication Critical patent/JP5119204B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Programmable Controllers (AREA)

Description

制御対象となる装置に接続され、プログラムを実行することによって接続された装置を制御するプログラマブルコントローラに関し、特に、プログラマブルコントローラに備える各モジュールの記憶領域へデータを書き込む技術に関する。
製造現場の制御装置としてプログラマブルコントローラが用いられている。プログラマブルコントローラは、プログラマブルコントローラに接続された外部装置(インバータ、サーボモータなど)の動作を制御する。
プログラマブルコントローラは、CPUユニット、通信ユニット、及びIOユニットなどの複数のユニットによって構成される。CPUユニットは、プログラマブルコントローラの全体を制御するユニットである。通信ユニットは、プログラマブルコントローラに各種コマンドを送信する外部計算機(例えばPC)にプログラマブルコントローラをネットワークを介して接続するユニットである。IOユニットは、プログラマブルコントローラの制御対象となる外部装置と通信するためのユニットである。
プログラマブルコントローラが動作している場合には、CPUユニットが外部計算機からのコマンドを通信ユニットを介して受信することによって、受信したコマンドに基づく処理を実行する。外部計算機はメモリへのデータの書き込みを命令する書き込みコマンド、及びメモリに記憶されたデータの読み出しを命令する読み出しコマンド等をCPUユニットに送信することによって、外部装置を監視及び制御する。
CPUユニットがメモリへデータを書き込む場合に、外部計算機のユーザの入力ミス、及び外部計算機の不具合などによって外部装置が異常な動作を引き起こす危険性がある。
このため、プログラマブルコントローラがコマンドを受信した場合に、受信したコマンドが書き込みコマンドであるか否かを判定し、受信したコマンドが書き込みコマンドであると判定された場合には、当該書き込みコマンドに関する情報を履歴情報として記憶する。そして、プログラマブルコントローラは、当該書き込みコマンドが書き込みを許可されていないネットワークを介して接続された外部計算機から送信されたコマンドである場合には、メモリへ書き込みせずに、「書込プロテクト中のため実行不可」という内容のレスポンスを返信するプログラマブルコントローラが知られている(例えば、特許文献1参照)。
特開2005−84843号公報
しかしながら、プログラマブルコントローラは、メモリへの書き込み先のアドレスにより特性が異なるものである。
特許文献1に記載されたプログラマブルコントローラは、書き込みコマンドがどのネットワークから受信したか否かを判定することによって、メモリへの書き込みを実行するか否かを判定している。このため、モジュールが付け替えられた場合には、CPUモジュールが認識するアドレスが変更されるため、書き込みが禁止されたアドレスへデータが書き込まれる可能性がある。
本発明は、上述した事情に鑑みてなされたものであり、プログラマブルコントローラのモジュールが付け替えられた場合であっても、書き込みが禁止された領域への書き込みを防止することを目的とする。
本発明の代表的な一形態によると、制御対象となる装置に接続され、プログラムを実行することによって前記接続された装置を制御するプログラマブルコントローラにおいて、前記プログラマブルコントローラは、前記制御対象となる装置を接続し、前記制御対象となる装置の制御情報を記憶する第1記憶領域を備える接続モジュールと、前記プログラムを実行し、自身の設定情報を記憶する第2記憶領域を備える制御モジュールと、前記各モジュールを前記プログラマブルコントローラに取り付けるためのスロットと、を備え、前記制御モジュールが前記第1記憶領域及び前記第2記憶領域を認識するために、前記第1記憶領域及び前記第2記憶領域に制御アドレスが割り付けられ、前記接続モジュールが前記第1記憶領域を認識するために、前記第1記憶領域にモジュールアドレスが割り付けられ、前記プログラマブルコントローラは、前記制御アドレスが示す記憶領域にデータの書き込みが許可されるか否かが登録される制御アドレスポリシと、前記モジュールアドレスが示す記憶領域にデータの書き込みが許可されるか否かが登録されるモジュールアドレスポリシと、前記第1記憶領域に割り付けられた制御アドレスと前記第1記憶領域に割り付けられたモジュールアドレスとの対応関係を示す割付情報と、を記憶し、データの書き込み先が前記制御アドレスによって特定された書き込み要求を受け付けた場合に、前記書き込み先の制御アドレスに基づいて、前記第1記憶領域へのデータの書き込み要求か、前記第2記憶領域へのデータの書き込み要求か、を特定し、前記受け付けた書き込み要求が、前記第2記憶領域へのデータの書き込み要求である場合には、前記制御アドレスポリシを参照し、前記書き込み先の制御アドレスへのデータの書き込みが許可されているか否かを判定し、前記受け付けた書き込み要求が、前記第1記憶領域へのデータの書き込み要求である場合には、前記割付情報を参照し、前記書き込み先の制御アドレスに対応するモジュールアドレスを特定し、前記制御アドレスポリシ、及び前記特定されたモジュールアドレスの前記モジュールアドレスポリシを参照し、前記書き込み先の制御アドレスへのデータの書き込みが許可されているか否かを判定し、前記書き込み先の制御アドレスへのデータの書き込みが許可されていると判定された場合に、前記書き込み先の制御アドレスへデータを書き込み、前記書き込み先の制御アドレスへのデータの書き込みが許可されていないと判定された場合に、前記書き込み先の制御アドレスへデータを書き込まないことを特徴とする。
本発明によれば、プログラマブルコントローラのモジュールが付け替えられた場合であっても、書き込みが禁止された領域への書き込みを防止できる。
本発明の第1実施形態の計算機システムの構成図である。 本発明の第1実施形態のプログラマブルコントローラの構成図である。 本発明の第1実施形態のプログラマブルコントローラへのモジュール取り付け方法の説明図である。 本発明の第1実施形態のIO割付DBの説明図である。 本発明の第1実施形態の内部アドレスポリシDBの説明図である。 本発明の第1実施形態の外部アドレスポリシDBの説明図である。 本発明の第1実施形態のモジュールアドレスポリシDBの説明図である。 本発明の第1実施形態の書込命令DBの説明図である。 本発明の第1実施形態のデータ書込処理のシーケンス図である。 本発明の第1実施形態の書き込み許可確認処理のフローチャートである。 本発明の第2実施形態のポリシDB変更確認処理のフローチャートである。
(第1実施形態)
本発明の第1実施形態を図1から図10を用いて説明する。
なお、本発明のプログラマブルコントローラの動作の一例として、外部計算機であるPCからプログラマブルコントローラのメモリの値を設定する際のシステムついて説明する。
図1は、本発明の第1実施形態の計算機システムの構成図である。
第1実施形態の計算機システムは、第1計算機(以下、第1PCという)101、第2計算機(以下、第2PCという)103、プログラマブルコントローラ107、及びプログラマブルコントローラ107の制御対象となるインバータ121を備える。
第1PC101は、ユーザによって操作される端末であり、プログラマブルコントローラ107とデータを通信する。第1PC101は、プログラマブルコントローラ107のどのスロットにどのモジュールが取り付けられているかを示すIO割付設定情報をプログラマブルコントローラ107に送信するIO割付設定機能102を備える。
第2PC103は、ユーザによって操作される端末であり、プログラマブルコントローラ107とネットワーク106を介して接続され、プログラマブルコントローラ107とデータを通信する。
第2PC103は、プログラマブルコントローラ107のメモリ領域に対して書き込みを許可するか否かを示すポリシをプログラマブルコントローラ107に送信し、ポリシをプログラマブルコントローラ107に設定するポリシ設定機能104、及び、プログラマブルコントローラ107のメモリ領域にデータを書き込む命令(書き込み命令)を設定し、当該書き込み命令をプログラマブルコントローラ107に送信するデータ書き込み命令設定機能105を備える。
ネットワーク106は、第2PC103とプログラマブルコントローラ107との間で電波、光、音、又は電気信号などを用いてパケットを通信するルータ又はケーブルなどを含む。
プログラマブルコントローラ107は、シーケンス制御を行う電子装置であり、保存されたプログラムに従って、プログラマブルコントローラ107に接続された外部装置(例えば、インバータ121)を制御する。
プログラマブルコントローラ107は、CPUモジュール108、ネットワークモジュール113、及び外部IOモジュール119を備える。
CPUモジュール108は、プログラマブルコントローラ107のモジュールの一つであり、第1PC101に接続され、保存されたプログラムを実行する。また、CPUモジュール108は、他のモジュールのメモリに記憶されたデータを読み出す機能、及び他のモジュールのメモリに書き込む機能を備える。
CPUモジュール108は、通信機能109、内部バス通信機能110、IO割付設定機能111、及びIO割付DB112を備える。
通信機能109は、第1PC101とデータを通信する。なお、CPUモジュール108と第1PC101とは、シリアル通信又は図示しないネットワークで接続されている。
内部バス通信機能110は、プログラマブルコントローラ107の図2に示す内部バス217を介して、プログラマブルコントローラ107内のモジュール(ネットワークモジュール113、及び外部IOモジュール119など)のメモリに記憶されたデータの読み出し、及び当該メモリへデータを書き込む。
IO割付設定機能111は、第1PC101から送信されたIO割付設定情報を解釈し、外部IOモジュール(ネットワークモジュール113、及び外部IOモジュール119)のメモリ領域をCPUモジュールのメモリ領域に割り付け、割り付けた結果をIO割付DB112に登録する。IO割付DB112については、図4で詳細を説明する。
ネットワークモジュール113は、プログラマブルコントローラ107のモジュールの一つであり、ネットワーク106に接続された図示しないネットワークインタフェース(I/F)を介して外部の装置(図1では、第2PC103)と通信する。
ネットワークモジュール113は、通信機能114、ポリシ設定機能115、データ書込命令設定機能116、ポリシDB117、及び書込命令DB118を備える。
通信機能114は、ネットワーク106を介して第2PC103と通信する。ポリシ設定機能115は、第2PC103から送信されたポリシをポリシDB117に登録する。
データ書込命令設定機能116は、第2PC103から送信された書き込み命令を受信した場合に、ポリシDB117を参照し、受信した書き込み命令によるデータを書き込むか否かを判定する。
ポリシDB117は、第2PC103から送信されたポリシを登録するDBである。ポリシDB117については、図5〜図7で詳細を説明する。書込命令DB118は、第2PC103から送信された書き込み命令を登録するデータベースである。書込命令DB118については、図8で詳細を説明する。
外部IOモジュール119は、プログラマブルコントローラ107のモジュールの一つであり、インバータ121と通信する。外部IOモジュール119とインバータ121とは、DeviceNetのようなネットワークによって接続されてもよいし、アナログIO、又はデジタルIOのように導線で接続されてもよい。
外部IOモジュール119は、プログラマブルコントローラ107の制御対象となる外部装置(インバータ121)と通信する通信機能120を備える。
インバータ121は、プログラマブルコントローラ107の制御対象であり、モータなどを駆動するために直流電力から交流電力を電気的に生成する電力変換装置である。インバータ121は、外部IOモジュール119と接続されている。
なお、プログラマブルコントローラ107の制御対象は、インバータ121以外でもよく、例えば、サーボ機構により位置及び速度などを制御するサーボモータでもよいし、圧縮機などであってもよい。
図1では、第1PC101と第2PC103とが別のPCであるとして説明したが、同一のPCであってもよい。また、CPUモジュール108、ネットワークモジュール113、及び外部IOモジュール119が機能ごとに別のモジュールに分かれているが、CPUモジュール108、ネットワークモジュール113、及び外部IOモジュール119の機能が単一のモジュールで実装されてもよい。また、プログラマブルコントローラ107は、CPUモジュール108、ネットワークモジュール113、及び外部IOモジュール119以外のモジュールを備えてもよい。
図2は、本発明の第1実施形態のプログラマブルコントローラ107の構成図である。
CPUモジュール108、ネットワークモジュール113、及び外部IOモジュール119は、内部バス217によって接続される。
CPUモジュール108は、ポート201及びプロセッサ203を備える。ポート201には、CPUモジュール108と第1PC101とがシリアル通信で接続される場合のバスが接続される。なお、CPUモジュール108と第1PC101とがネットワークで接続される場合には、CPUモジュール108は、ポート201の代わりにNIC(Network Interface Card)を備える。
プロセッサ203は、プログラムを実行することによって種々の数値計算及び情報処理などを実行する装置であり、CPU(Central Processing Unit)204、ROM(Read Only Memory)205、及びRAM(Random Access Memory)206を備える。
CPU204は、中央演算装置であり、ROM205及びRAM206に記録されているプログラムを実行する。なお、CPU204は、図示しない記憶装置に記憶されているプログラムをRAM206に転送し、RAM206に転送されたプログラムも実行する。
ROM205はデータ及びプログラムなどを記録する。RAM206は、プログラム及びデータを一時的に記録する。
ネットワークモジュール113は、NIC207及びプロセッサ208を備える。
NIC207は、ネットワークモジュール113をネットワーク106に接続するためのインタフェースである。
プロセッサ208は、CPU209、ROM210、及びRAM211を備える。プロセッサ208は、プロセッサ203と同じあるので説明を省略する。また、CPU209、ROM210、及びRAM211も、CPU204、ROM205、及びRAM206と同じであるので、説明を省略する。
外部IOモジュール119は、ポート212及びプロセッサ213を備える。
ポート212には、外部IOモジュール119とインバータ121とが導線によって接続されている場合に、当該導線が接続される。なお、外部IOモジュール119とインバータ121とがネットワークで接続される場合には、外部IOモジュール119は、ポート212の代わりにNICを備える。
内部バス217は、各モジュールがデータを通信するための伝送路である。
CPUモジュール108は、メモリ領域に記憶されたデータを読み出し、及びメモリ領域へデータを書き込みながら、プログラムを実行する。この場合に、CPUモジュール108は、内部バス217を介して、ネットワークモジュール113及び外部IOモジュール119などの外部モジュールのメモリ領域に記憶されたデータを読み出し、外部モジュールのメモリ領域へデータを書き込むことがある。つまり、CPUモジュール108から外部モジュールへ内部バス217を介してデータを送信し、外部モジュールからCPUモジュール108へ内部バス217を介してデータを送信することが可能である。
外部IOモジュール119とインバータ121とのデータ通信は、所定のタイミングで実行される。例えば、外部IOモジュール119とインバータ121とのデータ通信は、CPUモジュール108が第2PC103から送信された命令を実行した直後に実行される。
第2PC103からインバータの設定を変更する場合には、第2PC103からネットワークモジュール113へ書き込み命令を送信する。ネットワークモジュール113は、受信した書き込み命令をRAM211の書込命令DB118に登録する。そして、CPUモジュール108は、内部バス217を介してネットワークモジュール113のRAM211から書き込み命令を読み出し、読み出した書き込み命令を参照し、外部IOモジュール119のRAM216に内部バス217を介してデータを書き込む。
図2では、各モジュールのRAM及びROMは、プロセッサの内部に実装されているが、SRAM及びFlashROMなどをプロセッサの外部に実装されてもよい。
図3は、本発明の第1実施形態のプログラマブルコントローラ107へのモジュール取り付け方法の説明図である。
プログラマブルコントローラ107は、複数のスロット302を備える。スロット302は、各モジュールをプログラマブルコントローラ107に取り付けるための差込口である。
スロット302に取り付けられるモジュールとしては、各スロットに取り付けられたモジュールへ電源を供給する電源モジュール303、CPUモジュール108、ネットワークモジュール113、及び外部IOモジュール119がある。どのスロット302にどのモジュールを取り付けるかは規定されていないので、どのスロット302にどのモジュールが取り付けられてもよい。
CPUモジュール108は、第1PC101から送信されたIO割付設定情報を受信すると、外部モジュールのメモリ領域の実アドレスに対してCPUモジュール108が認識できるCPUモジュールアドレスを割り振る。また、CPUモジュール108自身のメモリ領域にもCPUモジュールアドレスが設定されている。
このCPUモジュールアドレスのうち、CPUモジュール108自身のメモリ領域を示すアドレスを内部アドレスといい、CPUモジュール108のメモリ領域以外の外部モジュールを示すアドレスを外部アドレスという。
なお、電源モジュール303は、各モジュールの電圧をスロットに供給し、メモリ領域を備えないので、電源モジュール303のメモリ領域を示すCPUモジュールアドレスは存在しない。
図4は、本発明の第1実施形態のIO割付DB112の説明図である。
IO割付DB112は、CPUモジュールアドレス401、モジュール402、及びモジュールアドレス403を含む。
CPUモジュールアドレス401には、CPUモジュールが認識できるCPUモジュールアドレスが登録され、モジュール402には、CPUモジュールアドレスのメモリ領域を備えるモジュールの一意な識別子が登録される。また、モジュールアドレス403には、当該エントリのメモリ領域を当該メモリ領域を備えるモジュールが認識する実アドレスが登録される。
図4では、CPUモジュールアドレス401に登録されるCPUモジュールアドレス「X200000」〜「X20000F」は、ネットワークモジュール113に備わるメモリ領域であり、このメモリ領域のネットワークモジュール113が認識する実アドレスは「0000」〜「000F」である。
また、CPUモジュールアドレス401に登録されるCPUモジュールアドレス「X300000」〜「X3000FF」は、外部IOモジュール119に備わるメモリ領域であり、このメモリ領域の外部IOモジュール119が認識する実アドレスは「0000」〜「00FF」である。
なお、CPUモジュールアドレス401に登録されたCPUモジュールアドレスの先頭の「X」は、当該CPUモジュールアドレスが外部アドレスであることを示す。
モジュールアドレス403は各モジュールに予め設定されているアドレスであり、CPUモジュールアドレス401は、モジュールアドレス403によって決定され、CPUモジュールアドレス401の範囲もモジュールアドレス403の範囲によって決定される。
また、CPUモジュールアドレス401は、モジュールが他のスロット302に付け替えられると、モジュールアドレスに対応するCPUモジュールアドレス401は変更される必要がある。
なお、CPUモジュール108で実行されるプログラムは、メモリ領域に記憶されたデータの読み出し命令、及びメモリ領域へのデータの書き込み命令では、CPUモジュールアドレス401が用いられる。
次に、ポリシDB117について図5〜図7を用いて説明する。
第2PC103は、CPUモジュールアドレスと、当該CPUモジュールアドレスの書き込みポリシとを含むポリシを送信する。ネットワークモジュール113は、第2PC103から送信されたポリシを受信すると、受信したポリシをポリシDB117に登録する。
ポリシDB117は、内部アドレスのポリシを登録する内部アドレスポリシDB500(図5参照)と、外部アドレスのポリシを登録する外部アドレスポリシデータDB600(図6参照)と、外部アドレスに対応するモジュールアドレスのポリシを登録するモジュールアドレスポリシDB700(図7参照)と、を有する。
図5は、本発明の第1実施形態の内部アドレスポリシDB500の説明図である。
内部アドレスポリシDB500は、CPUモジュールアドレス501及びポリシ502を含む。
CPUモジュールアドレス501には、受信したポリシの内部アドレスが登録される。ポリシ502には、当該エントリの内部アドレスが示すメモリ領域へのデータの書き込みが許可されるか否かを示す情報を登録する。
ネットワークモジュール113は、第2PC103から送信されたポリシを受信すると、受信したポリシに内部アドレスのポリシが含まれている場合には、受信した内部アドレスを、CPUモジュールアドレス501に登録し、ポリシ502に受信した内部アドレスのポリシを登録する。
例えば、CPUモジュールアドレス501「WR000000」が示すメモリ領域のポリシ502は書き込みが許可されている。
なお、CPUモジュールアドレス501に登録されたアドレスの「WR」は内部アドレスであることを示す。
また、CPUモジュール108によって実行されるプログラムが変更された場合に、内部アドレスの使用方法は変更される。このため、CPUモジュール108によって実行されるプログラムが変更された場合には、内部アドレスポリシDB500が変更されなければならない。
図6は、本発明の第1実施形態の外部アドレスポリシDB600の説明図である。
外部アドレスポリシDB600は、CPUモジュールアドレス601及びポリシ602を含む。
CPUモジュールアドレス601には、受信したポリシの外部アドレスが登録される。ポリシ602には、当該エントリの外部アドレスが示すメモリ領域へのデータの書き込みが許可されるか否かを示す情報を登録する。
ネットワークモジュール113は、第2PC103から送信されたポリシを受信すると、受信したポリシに外部アドレスのポリシが含まれている場合には、受信した外部アドレスを、CPUモジュールアドレス601に登録し、ポリシ602に受信した外部アドレスのポリシを登録する。
例えば、CPUモジュールアドレス601「X300000」が示すメモリ領域のポリシ602は書き込みが許可されていない。
また、外部アドレスは、内部アドレスと同じく、CPUモジュール108によって実行されるプログラムが変更された場合に使用方法が変更されるので、CPUモジュール108によって実行されるプログラムが変更された場合には、外部アドレスポリシDB600が変更される。
また、外部アドレスは、CPUモジュール108以外のモジュールが他のスロットに取り付けられた場合に変更されるので、CPUモジュール108以外のモジュールが他のスロットに取り付けられた場合には、外部アドレスポリシDB600が変更される。
図7は、本発明の第1実施形態のモジュールアドレスポリシDB700の説明図である。
モジュールアドレスポリシDB700は、CPUモジュール108がアクセスできるメモリ領域を備える外部モジュール分のデータベースを有する。本発明の実施形態では、外部IOモジュール119用のモジュールアドレスポリシDB700と、ネットワークモジュール113用のモジュールアドレスポリシDB700とがある。
モジュールアドレスポリシDB700は、モジュールアドレス701及びポリシ702を含む。
モジュールアドレス701には、各モジュールのメモリ領域のモジュールアドレスが登録される。ポリシ702には、各モジュールアドレスが示すメモリ領域へのデータの書き込みが許可されるか否かを示すポリシ情報が登録される。
例えば、外部IOモジュール119用のモジュールアドレスポリシDBのモジュールアドレス701「0000」が示すメモリ領域のポリシ702は書き込みが許可されていない。
外部IOモジュール119のモジュールアドレスが示すメモリには、インバータ121の制御に関するデータが書き込まれる。
外部IOモジュール119のモジュールアドレス「0000」のメモリ領域はインバータ121をリセットするか否かを示す情報が書き込まれる。具体的には、外部IOモジュール119のモジュールアドレス「0000」が示すメモリ領域に「1」が書き込まれると、インバータ121をリセットし、当該メモリ領域に「0」が書き込まれるとインバータ121をリセットせず、現在の動作状態を維持する。
また、外部IOモジュール119のモジュールアドレス「0001」及び「0002」が示すメモリ領域には、インバータ121が制御しているモータの回転速度を変更するためのデータが書き込まれる。
つまり、この外部IOモジュール119用のモジュールアドレスポリシDB700は、リセットを許可せず、モータの回転速度の変更は許可することを示す。
また、ネットワークモジュール113のメモリ領域には、ネットワークモジュール113の制御に関するデータが書き込まれる。
なお、CPUモジュール108によって実行されるプログラム変更されても、CPUモジュール108以外のモジュールが他のスロットに取り付けられても、モジュールアドレスは、変更されない。したがって、これらの場合には、モジュールアドレスポリシDB700は変更されなくてもよい。
また、外部IOモジュール119のメモリ領域のように、外部IOモジュール119に接続される装置(インバータ121)を制御するためのメモリ領域が示す制御内容は、外部IOモジュール119に接続される装置が変更された場合、及び外部IOモジュール119と外部IOモジュール119に接続される装置との接続方法が変更された場合に変更する。このため、外部IOモジュール119に接続される装置が変更された場合、及び外部IOモジュール119と外部IOモジュール119に接続される装置との接続方法が変更された場合には、外部IOモジュール119用のモジュールアドレスポリシDB700は変更される。
また、ネットワークモジュール113のメモリ領域のように、自身を制御するためのメモリ領域が示す制御内容は、当該モジュールに接続される装置が変更された場合であっても、変更されないので、ネットワークモジュール113用のモジュールアドレスポリシDB700は変更されなくてもよい。
したがって、外部アドレスポリシDB600の変更タイミングとモジュールアドレスポリシDB700との変更タイミングとは相違する。通常、モジュールアドレスポリシDB700の変更頻度は、外部アドレスポリシDB600の変更頻度よりも少ない。
このため、本発明では、プログラマブルコントローラ107が外部アドレスのメモリ領域へのデータの書き込み命令を受信した場合、外部アドレスポリシDB600を参照し、当該外部アドレスのメモリ領域へのデータの書き込みが許可されている場合であっても、モジュールアドレスポリシDB700を参照し、当該外部アドレスに対応するモジュールアドレスのメモリ領域へのデータの書き込みが許可されていない場合には、当該外部アドレスのメモリ領域へデータを書き込まないようにしている。これについては、図10で詳細を説明する。
図8は、本発明の第1実施形態の書込命令DB118の説明図である。
書込命令DB118には、ネットワークモジュール113が第2PC103から送信された書き込み命令のうち、書き込みが許可された書き込み命令が登録される。なお、書き込み命令によって指定アドレスにデータが書き込まれた場合には、書込命令DB118に登録された書き込み命令は削除される。
書込命令DB118は、CPUモジュールアドレス801及び書込値802を含む。
CPUモジュールアドレス801には、書き込み命令に含まれる書込先のCPUモジュールアドレスが登録される。書込値802には、書き込み命令に含まれる書込先のメモリ領域に書き込まれる値が登録される。
例えば、CPUモジュールアドレス801「WR000000」が示すメモリ領域には、「0」が書き込まれることを示す。
次に、図9及び図10を用いて、本計算機システムのデータ書込処理について説明する。
図9は、本発明の第1実施形態のデータ書込処理のシーケンス図である。
まず、第2PC103は、書込先のCPUモジュールアドレス及び書込値を含む書き込み命令をネットワークモジュール113へネットワークを介して送信する(901)。
ネットワークモジュール113は、第2PC103から書き込み命令を受信すると、ポリシDB117を参照し、受信した書き込み命令に含まれるCPUモジュールアドレスメモリ領域へのデータの書き込みが許可されているか否かを確認する(902)。ステップ902の処理については、図10で詳細を説明する。
次に、ネットワークモジュール113は、ステップ903の処理の確認結果を第2PC103へ送信する(903)。
ステップ902の処理で、CPUモジュールアドレスのメモリ領域へのデータの書き込みが許可されていると確認された場合には、ネットワークモジュール113は、受信した
書き込み命令を書込命令DB118に登録する(904)。
CPUモジュール108は、書込命令DB118に未だ書き込みが完了していない書き込み命令が登録されているか否かを所定のタイミングで確認する(905)。
書込命令DB118に未だ書き込みが完了していない書き込み命令が登録されている場合には、CPUモジュール108は、当該書き込み命令を内部バス217を介して取得し、取得した書き込み命令を解釈する(906)。図9では、取得した書き込み命令の書込先が外部IOモジュール119のメモリ領域であるとする。
CPUモジュール108は、書込先である外部IOモジュール119のメモリ領域に、書き込み命令に含まれる書込値を書き込む(907)。
外部IOモジュール119のメモリ領域に書き込まれると、外部IOモジュール119は、インバータ121を制御するため、外部IOモジュール119は、CPUモジュール108によって書き込まれたメモリ領域のモジュールアドレス、及び書き込み値を解釈して(908)、インバータ121を制御するためのデータをインバータ121に送信する(909)。
図10は、本発明の第1実施形態の書き込み許可確認処理のフローチャートである。
書き込み確認処理は、図9に示すステップ902の処理であり、ネットワークモジュール113によって実行される。
まず、ネットワークモジュール113は、書き込み命令を受信する(1001)。
ネットワークモジュール113は、書き込み命令を受信すると、図5に示す内部アドレスポリシDB500、及び図6に示す外部アドレスポリシDB600を参照し、受信した書き込み命令に含まれる書込先のCPUモジュールアドレスのメモリ領域のポリシがデータの書き込みを許可しているか否かを確認する(1002)。
次に、ネットワークモジュール113は、ステップ1002の処理の確認結果が、受信した書き込み命令に含まれる書込先のCPUモジュールアドレスのメモリ領域のポリシがデータの書き込みを許可しているか否かを判定する(1003)。
ステップ1003の処理で、受信した書き込み命令に含まれる書込先のCPUモジュールアドレスのメモリ領域のポリシがデータの書き込みを許可していないと判定された場合には、ネットワークモジュール113は、書き込み命令によって指定されたCPUモジュールアドレスへのデータの書き込みが許可されていないことを示すメッセージを第2PC103に送信し(1011)、書き込み許可確認処理を終了する。
一方、ステップ1003の処理で、受信した書き込み命令に含まれる書込先のCPUモジュールアドレスのメモリ領域のポリシがデータの書き込みを許可していると判定された場合には、ネットワークモジュール113は、内部バス217を介して図4に示すIO割付DB112を取得する(1005)。
そして、ネットワークモジュール113は、図4に示すIO割付DB112を参照し、受信した書き込み命令に含まれる書込先のCPUモジュールアドレスのモジュールアドレスを取得する(1006)。
具体的には、ネットワークモジュール113は、図4に示すIO割付DB112に登録されたエントリのうち、CPUモジュールアドレス401に登録されたCPUモジュールアドレスが、受信した書き込み命令に含まれる書込先のCPUモジュールアドレスと一致するエントリを選択する。そして、ネットワークモジュール113は、選択したエントリに含まれるモジュール402に登録されたモジュールの識別子、及びモジュールアドレス403に登録されたモジュールアドレスを取得する。
次に、ネットワークモジュール113は、図7に示す各モジュールアドレスポリシDB700のうち、ステップ1006の処理で取得したモジュールの識別子に対応するモジュールアドレスポリシDB700を取得する。そして、ネットワークモジュール113は、取得したモジュールアドレスポリシDB700を参照し、ステップ1006の処理で取得したモジュールアドレスのポリシが書き込みを許可しているか否かを確認する(1007)。
そして、ネットワークモジュール113は、ステップ1007の処理の確認結果が、ステップ1006の処理で取得したモジュールアドレスのポリシが書き込みを許可しているか否かを判定する(1008)。
ステップ1007の処理の確認結果が、ステップ1006の処理で取得したモジュールアドレスのポリシが書き込みを許可していないと、ステップ1008の処理で判定された場合には、ネットワークモジュール113は、ステップ1011の処理に進む。
一方、ステップ1007の処理の確認結果が、ステップ1006の処理で取得したモジュールアドレスのポリシが書き込みを許可していると、ステップ1008の処理で判定された場合には、ネットワークモジュール113は、受信した書き込み命令を書込命令DB118に登録し(1009)、書き込み命令によって指定されたCPUモジュールアドレスへのデータの書き込みが許可されていることを示すメッセージを第2PC103に送信し(1010)、書き込み許可確認処理を終了する。
このように、書き込み命令が外部アドレスのメモリ領域へのデータの書き込み命令である場合には、外部アドレスポリシDB600で、書き込み命令によって指定された外部アドレスのメモリ領域へデータの書き込みが許可されている場合であっても、モジュールアドレスポリシDB700で、書き込み命令によって指定された外部アドレスに対応するモジュールアドレスのメモリ領域へのデータの書き込みが許可されていない場合には、データの書き込みを許可しない。
これによって、モジュールが他のスロットに取り付けられた場合に、外部モジュールアドレスが正しく変更されていない場合であっても、プログラマブルコントローラ107の誤設定による異常動作を防止できる。
(第2実施形態)
本発明の第2実施形態を図11を用いて説明する。
通常、外部アドレスが変更される場合のIO割付を設定すると同時に、変更後の外部アドレスのポリシも設定される。
具体的には、変更前の外部アドレスのポリシが変更後の外部アドレスのポリシに設定される。例えば、図4に示すCPUモジュールアドレス「X300000」が「X400000」に変更され、「X300001」が「X40001」に変更され、「X300002」が「X40002」に変更された場合には、図6に示す外部アドレスポリシDB600のCPUモジュールアドレスが「X300000」が「X400000」に変更され、「X300001」が「X40001」に変更され、「X300002」が「X40002」に変更され、ポリシ602は変更前のままである。
この場合に、変更後の外部アドレスのポリシを誤って設定されてしまう可能性、及び外部アドレスが正確に変更されない可能性があるため、第2実施形態では、外部アドレスの変更時に、外部アドレスのポリシがデータの書き込みを許可する場合であっても、当該外部アドレスに対応するモジュールアドレスのポリシがデータの書き込みを許可しない場合には、図6に示す外部アドレスポリシDB600のポリシをデータの書き込みを許可しないようにし、信頼度の高い外部アドレスポリシDB600を変更する。
図11は、本発明の第2実施形態のポリシDB変更確認処理のフローチャートである。
ポリシDB変更確認処理は、ネットワークモジュール113によって実行される。
まず、ネットワークモジュール113は、変更されたIO割付DB112のCPUモジュールアドレスが外部アドレスであるか否かを判定する(1101)。
ステップ1101の処理で、変更されたIO割付DB112のCPUモジュールアドレスが外部アドレスでないと判定された場合には、ポリシDB117の変更を確認しなくてもよいので、ポリシDB変更確認処理を終了する。
一方、ステップ1101の処理で、変更されたIO割付DB112のCPUモジュールアドレスが外部アドレスであると判定された場合には、ネットワークモジュール113は、図6に示す外部アドレスポリシDB600を参照し、変更された外部アドレスのポリシがデータの書き込みを許可しているか否かを確認する(1102)。
具体的には、ネットワークモジュール113は、外部アドレスポリシDB600に登録されたエントリのうち、CPUモジュールアドレス601に登録された外部アドレスが変更された外部アドレスと一致するエントリを選択する。そして、ネットワークモジュール113は、選択したエントリに含まれるポリシ602がデータの書き込みを許可しているか否かを確認する。
次に、ネットワークモジュール113は、ステップ1102の処理の確認結果が、変更された外部アドレスのポリシがデータの書き込みを許可しているか否かを判定する(1103)。
ステップ1103の処理で、変更された外部アドレスのポリシがデータの書き込みを許可していないと判定された場合には、図6に示す外部アドレスポリシDB600ですでにデータの書き込みが許可されていないので、ポリシDB変更確認処理を終了する。
一方、ステップ1103の処理で、変更された外部アドレスのポリシがデータの書き込みを許可していると判定された場合には、ネットワークモジュール113は、内部バス217を介して図4に示すIO割付DB112を取得する(1104)。
そして、ネットワークモジュール113は、図4に示すIO割付DB112を参照し、変更した外部アドレスのモジュールアドレスを取得する(1105)。ステップ1105の処理の詳細は、図10に示すステップ1006の処理と同じなので、説明を省略する。
次に、ネットワークモジュール113は、図7に示す各モジュールアドレスポリシDB700のうち、ステップ1105の処理で取得したモジュールの識別子に対応するモジュールアドレスポリシDB700を取得する。そして、ネットワークモジュール113は、取得したモジュールアドレスポリシDB700を参照し、ステップ1105の処理で取得したモジュールアドレスのポリシが書き込みを許可しているか否かを確認する(1106)。
そして、ネットワークモジュール113は、ステップ1106の処理の確認結果が、ステップ1105の処理で取得したモジュールアドレスのポリシが書き込みを許可しているか否かを判定する(1107)。
ステップ1106の処理の確認結果が、ステップ1105の処理で取得したモジュールアドレスのポリシがデータの書き込みを許可していないと、ステップ1107の処理で判定された場合には、ネットワークモジュール113は、外部アドレスが誤って設定されているものと判定し、図6に示す外部アドレスポリシDB600において、変更された外部アドレスのポリシをデータの書き込みを許可しないポリシに設定する(1108)。
具体的には、ネットワークモジュール113は、外部アドレスポリシDB600のエントリのうち、CPUモジュールアドレス601に登録された外部アドレスが変更された外部アドレスと一致するエントリを選択する。そして、ネットワークモジュール113は、選択したエントリのポリシをデータの書き込み許可しないポリシに変更する。
一方、ステップ1106の処理の確認結果が、ステップ1105の処理で取得したモジュールアドレスのポリシがデータの書き込みを許可していると、ステップ1107の処理で判定された場合には、外部アドレスポリシDB600のポリシとモジュールアドレスポリシDB700のポリシとが、データの書き込みを許可するポリシであるので、ポリシDB変更確認処理を終了する。
これにより、変更後の外部アドレスのポリシが正しく設定されていない場合であっても、変更後の外部アドレスのモジュールアドレスのポリシを利用することによって、ポリシが誤って設定されることを防止できる。
なお、第2実施形態では、信頼度の高い外部アドレスポリシDB600が生成されるので、ネットワークモジュール113が、書き込み命令を受信した場合には、図10に示すステップ1003の処理で、書き込み命令によって指定されたCPUモジュールアドレスのメモリ領域へのデータの書き込みが許可されていると判定された場合には、ステップ1004〜1008の処理を実行せずに、ステップ1009の処理を実行し、受信した書き込み命令を書込命令DB118に登録してもよい。
なお、ステップ1004〜1008の処理を実行することによって、さらに、プログラマブルコントローラ107の誤設定による異常動作を防止できる。
本発明は、実施形態に示した事項に限定されず、特許請求の範囲の記載に基づいてその変更、改良などが可能であることは明らかである。例えば上述した実施形態では、ポリシを書込み可と書込み不可のみにしているが、外部システムによって異なるポリシを備えるなど、他の条件を含むポリシであってもよい。
101 第1PC
103 第2PC
106 ネットワーク
107 プログラマブルコントローラ
108 CPUモジュール
113 ネットワークモジュール
119 外部IOモジュール
121 インバータ
500 内部アドレスポリシDB
600 外部アドレスポリシDB
700 モジュールアドレスポリシDB

Claims (13)

  1. 制御対象となる装置に接続され、プログラムを実行することによって前記接続された装置を制御するプログラマブルコントローラにおいて、
    前記プログラマブルコントローラは、
    前記制御対象となる装置を接続し、前記制御対象となる装置の制御情報を記憶する第1記憶領域を備える接続モジュールと、前記プログラムを実行し、自身の設定情報を記憶する第2記憶領域を備える制御モジュールと、
    前記各モジュールを前記プログラマブルコントローラに取り付けるためのスロットと、を備え、
    前記制御モジュールが前記第1記憶領域及び前記第2記憶領域を認識するために、前記第1記憶領域及び前記第2記憶領域に制御アドレスが割り付けられ、
    前記接続モジュールが前記第1記憶領域を認識するために、前記第1記憶領域にモジュールアドレスが割り付けられ、
    前記プログラマブルコントローラは、
    前記制御アドレスが示す記憶領域にデータの書き込みが許可されるか否かが登録される制御アドレスポリシと、
    前記モジュールアドレスが示す記憶領域にデータの書き込みが許可されるか否かが登録されるモジュールアドレスポリシと、
    前記第1記憶領域に割り付けられた制御アドレスと前記第1記憶領域に割り付けられたモジュールアドレスとの対応関係を示す割付情報と、を記憶し、
    データの書き込み先が前記制御アドレスによって特定された書き込み要求を受け付けた場合に、前記書き込み先の制御アドレスに基づいて、前記第1記憶領域へのデータの書き込み要求か、前記第2記憶領域へのデータの書き込み要求か、を特定し、
    前記受け付けた書き込み要求が、前記第2記憶領域へのデータの書き込み要求である場合には、前記制御アドレスポリシを参照し、前記書き込み先の制御アドレスへのデータの書き込みが許可されているか否かを判定し、
    前記受け付けた書き込み要求が、前記第1記憶領域へのデータの書き込み要求である場合には、前記割付情報を参照し、前記書き込み先の制御アドレスに対応するモジュールアドレスを特定し、前記制御アドレスポリシ、及び前記特定されたモジュールアドレスの前記モジュールアドレスポリシを参照し、前記書き込み先の制御アドレスへのデータの書き込みが許可されているか否かを判定し、
    前記書き込み先の制御アドレスへのデータの書き込みが許可されていると判定された場合に、前記書き込み先の制御アドレスへデータを書き込み、
    前記書き込み先の制御アドレスへのデータの書き込みが許可されていないと判定された場合に、前記書き込み先の制御アドレスへデータを書き込まないことを特徴とするプログラマラブルコントローラ。
  2. 前記プログラマブルコントローラは、前記受け付けた書き込み要求が前記第1記憶領域へのデータの書き込み要求である場合には、前記制御アドレスポリシ、及び前記特定されたモジュールアドレスポリシを参照し、前記書き込み先の制御アドレスへのデータの書き込みが許可されていても、前記制御アドレスに対応するモジュールアドレスへのデータの書き込みが許可されていなければ、前記書き込み先の制御アドレスへのデータの書き込みが許可されていないと判定することを特徴とする請求項1に記載のプログラマラブルコントローラ。
  3. 前記プログラマラブルコントローラは、
    前記接続モジュールが取り付けられていた第1スロットと異なる第2スロットに前記接続モジュールが取り付けられ、前記第1記憶領域に割り付けられていた制御アドレスが変更された場合には、
    前記変更後の制御アドレスに基づいて、前記制御アドレスポリシ及び前記割付情報を更新し、
    前記更新後の制御アドレスポリシを参照し前記変更後の制御アドレスへのデータの書き込みが許可されていても、前記モジュールアドレスを参照し前記変更後の制御アドレスへのデータの書き込みが許可されていない場合には、前記制御アドレスポリシに、前記変更後の制御アドレスへのデータの書き込みを許可しないことが登録されることを特徴とする請求項2に記載のプログラマラブルコントローラ。
  4. 前記プログラマラブルコントローラは、
    前記プログラマブルコントローラの外部から前記制御アドレスポリシ及び前記モジュールアドレスポリシを前記プログラマブルコントローラに入力するポリシ入力部に接続され、
    前記ポリシ入力部からの入力によって、前記制御アドレスポリシ及び前記モジュールアドレスポリシを設定することを特徴とする請求項1に記載のプログラマブルコントローラ。
  5. 制御対象となる装置に接続され、プログラムを実行することによって前記接続された装置を制御するプログラマブルコントローラにおけるデータ書き込み方法において、
    前記プログラマブルコントローラは、
    前記制御対象となる装置を接続し、前記制御対象となる装置の制御情報を記憶する第1記憶領域を備える接続モジュールと、前記プログラムを実行し、自身の設定情報を記憶する第2記憶領域を備える制御モジュールと、
    前記各モジュールを前記プログラマブルコントローラに取り付けるためのスロットと、を備え、
    前記制御モジュールが前記第1記憶領域及び前記第2記憶領域を認識するために、前記第1記憶領域及び前記第2記憶領域に制御アドレスが割り付けられ、
    前記接続モジュールが前記第1記憶領域を認識するために、前記第1記憶領域にモジュールアドレスが割り付けられ、
    前記プログラマブルコントローラは、
    前記制御アドレスが示す記憶領域にデータの書き込みが許可されるか否かが登録される制御アドレスポリシと、
    前記モジュールアドレスが示す記憶領域にデータの書き込みが許可されるか否かが登録されるモジュールアドレスポリシと、
    前記第1記憶領域に割り付けられた制御アドレスと前記第1記憶領域に割り付けられたモジュールアドレスとの対応関係を示す割付情報と、を記憶し、
    前記データ書き込み方法は、
    データの書き込み先が前記制御アドレスによって特定された書き込み要求を受け付けた場合に、前記書き込み先の制御アドレスに基づいて、前記第1記憶領域へのデータの書き込み要求か、前記第2記憶領域へのデータの書き込み要求か、を特定し、
    前記受け付けた書き込み要求が、前記第2記憶領域へのデータの書き込み要求である場合には、前記制御アドレスポリシを参照し、前記書き込み先の制御アドレスへのデータの書き込みが許可されているか否かを判定し、
    前記受け付けた書き込み要求が、前記第1記憶領域へのデータの書き込み要求である場合には、前記割付情報を参照し、前記書き込み先の制御アドレスに対応するモジュールアドレスを特定し、前記制御アドレスポリシ及び前記特定されたモジュールアドレスのモジュールアドレスポリシを参照し、前記書き込み先の制御アドレスへのデータの書き込みが許可されているか否かを判定し、
    前記書き込み先の制御アドレスへのデータの書き込みが許可されていると判定された場合に、前記書き込み先の制御アドレスへデータを書き込み、
    前記書き込み先の制御アドレスへのデータの書き込みが許可されていないと判定された場合に、前記書き込み先の制御アドレスへデータを書き込まないことを特徴とするデータ書き込み方法。
  6. 前記データ書き込み方法は、前記受け付けた書き込み要求が前記第1記憶領域へのデータの書き込み要求である場合には、前記制御アドレスポリシ、及び前記特定されたモジュールアドレスポリシを参照し、前記書き込み先の制御アドレスへのデータの書き込みが許可されていても、前記制御アドレスに対応するモジュールアドレスへのデータの書き込みが許可されていなければ、前記書き込み先の制御アドレスへのデータの書き込みが許可されていないと判定することを特徴とする請求項5に記載のデータ書き込み方法。
  7. 前記データ書き込み方法は、
    前記接続モジュールが取り付けられていた第1スロットと異なる第2スロットに前記接続モジュールが取り付けられ、前記第1記憶領域に割り付けられていた制御アドレスを変更された場合には、
    前記変更後の制御アドレスに基づいて、前記制御アドレスポリシ及び前記割付情報を更新し、
    前記更新後の制御アドレスポリシを参照し、前記変更後の制御アドレスへのデータの書き込みが許可されていても、前記モジュールアドレスを参照し、前記変更後の制御アドレスへのデータの書き込みが許可されていない場合には、前記制御アドレスポリシに、前記変更後の制御アドレスへのデータの書き込みを許可しないことが登録されることを特徴とする請求項6に記載のデータ書き込み方法。
  8. 前記プログラマラブルコントローラは、前記プログラマブルコントローラの外部から前記制御アドレスポリシ及び前記モジュールアドレスポリシを前記プログラマブルコントローラに入力するポリシ入力部に接続され、
    前記データ書き込み方法は、前記ポリシ入力部からの入力によって、前記制御アドレスポリシ及び前記モジュールアドレスポリシを設定することを特徴とする請求項5に記載のデータ書き込み方法。
  9. 制御対象となる装置に接続され、プログラムを実行することによって前記接続された装置を制御し、前記制御対象となる装置を接続し、前記制御対象となる装置の制御情報を記憶する第1記憶領域を備える接続モジュールと、前記プログラムを実行し、自身の設定情報を記憶する第2記憶領域を備える制御モジュールと、プログラマブルコントローラへの書き込み命令を受信し、自身の設定情報を記憶する第3記憶領域を備える受信モジュールと、前記各モジュールを前記プログラマブルコントローラに取り付けるためのスロットと、を備えるプログラマブルコントローラにおける前記受信モジュールであって、
    前記制御モジュールが前記第1記憶領域、前記第2記憶領域、及び前記第3記憶領域を認識するために、前記第1記憶領域、前記第2記憶領域、及び前記第3記憶領域に制御アドレスが割り付けられ、
    前記接続モジュール及び前記受信モジュールが各自の記憶領域を認識するために、前記第1記憶領域及び前記第3記憶領域にモジュールアドレスが割り付けられ、
    前記プログラマラブルコントローラは、
    前記制御アドレスが示す記憶領域にデータの書き込みが許可されるか否かが登録される制御アドレスポリシと、
    前記モジュールアドレスが示す記憶領域にデータの書き込みが許可されるか否かが登録されるモジュールアドレスポリシと、
    前記第1記憶領域及び前記第3記憶領域に割り付けられた制御アドレスと前記第1記憶領域及び前記第3記憶領域に割り付けられたモジュールアドレスとの対応関係を示す割付情報と、を記憶し、
    前記受信モジュールは、
    データの書き込み先が前記制御アドレスによって特定された書き込み要求を受信した場合に、前記書き込み先の制御アドレスに基づいて、前記第1記憶領域又は前記第3記憶領域へのデータの書き込み要求か、前記第2記憶領域へのデータの書き込み要求か、を特定し、
    前記受け付けた書き込み要求が、前記第2記憶領域へのデータの書き込み要求である場合には、前記制御アドレスポリシを参照し、前記書き込み先の制御アドレスへのデータの書き込みが許可されているか否かを判定し、
    前記受け付けた書き込み要求が、前記第1記憶領域又は前記第3記憶領域へのデータの書き込み要求である場合には、前記割付情報を参照し、前記書き込み先の制御アドレスに対応するモジュールアドレスを特定し、前記制御アドレスポリシ及び前記特定されたモジュールアドレスのモジュールアドレスポリシを参照し、前記書き込み先の制御アドレスへのデータの書き込みが許可されているか否かを判定し、
    前記書き込み先の制御アドレスへのデータの書き込みが許可されていると判定された場合に、前記書き込み先の制御アドレスへデータの書き込みを前記制御モジュールに指示し、
    前記書き込み先の制御アドレスへのデータの書き込みが許可されていないと判定された場合に、前記書き込み先の制御アドレスへデータの書き込み前記制御モジュールに指示しないことを特徴とする受信モジュール。
  10. 前記受信モジュールは、前記受信した書き込み要求が、前記第1記憶領域又は前記第3記憶領域へのデータの書き込み要求である場合には、前記制御アドレスポリシ、及び前記特定されたモジュールアドレスポリシを参照し、前記書き込み先の制御アドレスへのデータの書き込みが許可されていても、前記制御アドレスに対応するモジュールアドレスへのデータの書き込みが許可されていなければ、前記書き込み先の制御アドレスへのデータの書き込みが許可されていないと判定することを特徴とする請求項9に記載の受信モジュール。
  11. 前記受信モジュールは、
    前記プログラマブルコントローラの外部から前記制御アドレスポリシ及び前記モジュールアドレスポリシを前記プログラマブルコントローラに入力するポリシ入力部に接続され、
    前記制御アドレスポリシ及び前記モジュールアドレスポリシを記憶し、
    前記ポリシ入力部からの入力によって、前記制御アドレスポリシ及び前記モジュールアドレスポリシを設定することを特徴とする請求項10に記載の受信モジュール。
  12. 前記制御モジュールは、
    前記接続モジュール及び前記受信モジュールの少なくとも一方が他のスロットに付け変えられ、前記付け替えられたモジュールの記憶領域に割り付けられていた制御アドレスを変更された場合には、
    前記変更後の制御アドレスに基づいて、前記割付情報を更新し、
    前記受信モジュールは、
    前記変更後の制御アドレスに基づいて、前記制御アドレスポリシを更新し、
    前記更新後の制御アドレスポリシを参照し、前記変更後の制御アドレスへのデータの書き込みが許可されていても、前記モジュールアドレスを参照し、前記変更後の制御アドレスへのデータの書き込みが許可されていない場合には、前記制御アドレスポリシに、前記変更後の制御アドレスへのデータの書き込みを許可しないことが登録されることを特徴とする請求項11に記載の受信モジュール。
  13. 前記受信モジュールは、前記制御モジュールに対する書き込み指示を登録する書き込み指示情報を記憶し、
    前記制御モジュールは、前記書き込み指示情報に登録された書き込み指示を所定タイミングで取得して、前記取得したデータの書き込み指示に基づいて、前記書き込み先の制御アドレスへ実際にデータを書き込み、
    前記受信モジュールは、
    前記書き込み先の制御アドレスへのデータの書き込みが許可されていると判定された場合に、前記書き込み先の制御アドレスへデータの書き込み指示を前記書き込み指示情報に登録し、
    前記書き込み先の制御アドレスへのデータの書き込みが許可されていないと判定された場合に、前記書き込み先の制御アドレスへデータの書き込み指示を前記書き込み指示情報に登録しないことを特徴とする請求項9に記載の受信モジュール。
JP2009126308A 2009-05-26 2009-05-26 プログラマブルコントローラ、データ書き込み方法、及び受信モジュール Expired - Fee Related JP5119204B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009126308A JP5119204B2 (ja) 2009-05-26 2009-05-26 プログラマブルコントローラ、データ書き込み方法、及び受信モジュール

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009126308A JP5119204B2 (ja) 2009-05-26 2009-05-26 プログラマブルコントローラ、データ書き込み方法、及び受信モジュール

Publications (2)

Publication Number Publication Date
JP2010277143A JP2010277143A (ja) 2010-12-09
JP5119204B2 true JP5119204B2 (ja) 2013-01-16

Family

ID=43424087

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009126308A Expired - Fee Related JP5119204B2 (ja) 2009-05-26 2009-05-26 プログラマブルコントローラ、データ書き込み方法、及び受信モジュール

Country Status (1)

Country Link
JP (1) JP5119204B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5696067B2 (ja) * 2012-02-22 2015-04-08 株式会社日立産機システム プログラマブルコントローラ
US9614853B2 (en) * 2015-01-20 2017-04-04 Enzoo, Inc. Session security splitting and application profiler
WO2018198174A1 (ja) 2017-04-24 2018-11-01 三菱電機株式会社 プログラマブルロジックコントローラシステム、プログラマブルロジックコントローラおよびエンジニアリングツールプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233017A (ja) * 1992-02-21 1993-09-10 Hitachi Ltd プログラマブルコントローラ
JPH08168162A (ja) * 1994-12-08 1996-06-25 Fuji Electric Co Ltd 多機能保護リレー
JPH08179991A (ja) * 1994-12-22 1996-07-12 Matsushita Electric Works Ltd プログラマブルコントローラ
JP2009015751A (ja) * 2007-07-09 2009-01-22 Koyo Electronics Ind Co Ltd ラダープログラムのrun中書込み制限方法

Also Published As

Publication number Publication date
JP2010277143A (ja) 2010-12-09

Similar Documents

Publication Publication Date Title
JP6390644B2 (ja) プログラム更新システム、プログラム更新方法及びコンピュータプログラム
JP4811489B2 (ja) サーバシステム、集合型サーバ装置及びmacアドレス管理方法
EP2096538A1 (en) Communication device and firmware update method thereof
US7533190B2 (en) Network storage target boot and network connectivity through a common network device
CN106325857B (zh) 一种电子设备及电子设备控制方法
US20120079470A1 (en) System, method, and apparatus for software maintenance of sensor and control systems
US10037170B2 (en) Motherboard and a method for boot-up
CN110780909A (zh) 分布式嵌入式系统升级方法及装置
JP2015122732A (ja) 車載センサ、車載センサシステム及び車載センサシステムにおける車載センサの識別子設定方法
CN110809755A (zh) 电子控制系统
JP5144409B2 (ja) インバータ制御システム,インバータ装置の周辺機器
JP5119204B2 (ja) プログラマブルコントローラ、データ書き込み方法、及び受信モジュール
CN114594970A (zh) 一种dsp软件远程升级系统及方法
WO2020184056A1 (ja) 設定情報生成装置、設定情報生成方法、及び制御プログラム
US6934537B2 (en) Radio communication device, method of and program for rewriting boot program therefor
US20240046720A1 (en) Vehicle-mounted information processing apparatus and vehicle-mounted information processing method
US9323516B2 (en) Electronic device system and electronic device
JP2007263404A (ja) 電気機器および電気機器における通信機能正常判定方法
JP2000128447A (ja) エレベータ用制御プログラム書き換え装置
TWI556171B (zh) 主機板及開機的方法
CN106445571B (zh) 主机板及开机的方法
JP2006510966A (ja) カプセル化ハードウェアの構成/制御
JP4450161B2 (ja) ユニット及びプログラマブルコントローラ
JP7322764B2 (ja) 空気調和機
CN115097879B (zh) 一种温度调控方法、装置、设备及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110614

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120731

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120926

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 5119204

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20151026

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees