JP5951123B2 - 制御装置 - Google Patents

制御装置 Download PDF

Info

Publication number
JP5951123B2
JP5951123B2 JP2015518494A JP2015518494A JP5951123B2 JP 5951123 B2 JP5951123 B2 JP 5951123B2 JP 2015518494 A JP2015518494 A JP 2015518494A JP 2015518494 A JP2015518494 A JP 2015518494A JP 5951123 B2 JP5951123 B2 JP 5951123B2
Authority
JP
Japan
Prior art keywords
unit
processing
cpu
information
management
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
JP2015518494A
Other languages
English (en)
Other versions
JPWO2016009477A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP5951123B2 publication Critical patent/JP5951123B2/ja
Publication of JPWO2016009477A1 publication Critical patent/JPWO2016009477A1/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Description

この発明は、制御装置に関するものである。
プログラマブルコントローラは、ベースユニットにCPU(Central Processing Unit)ユニット、入出力ユニットなどを組み合わせて装着することによって構成される(たとえば、特許文献1参照)。CPUユニットと入出力ユニットなどの他のユニットとの間では、ベースユニットに設けられる専用のバスを介してデータ転送が行われる。ユーザがプログラム可能な演算処理は基本的にはCPUユニットで行われる。しかし、CPUユニットでの演算処理能力が不足した場合、あるいは異なるプログラム言語を使用したい場合には、ベースユニットにCPUユニットを追加し、マルチCPUシステムを構築する場合がある。
特開昭63−116209号公報
しかしながら、CPUユニットには、ベースユニット上で装着する位置および台数に制約がある上、構成を変更する度にパラメータを設定し直さなければならないという問題点があった。また、CPUユニットまたは他のユニットをベースユニットに追加する場合には、プログラマブルコントローラの電源を一旦切らなければならないという問題点もあった。
さらに、既存のバスでは、同時に1台のCPUユニットしかバスを占有できないため、新たにCPUユニットを追加すると、元々設置されていたCPUユニットのバスアクセスのタイミングが変わってしまう。このため、既存のプログラマブルコントローラに演算機能を増設する場合には、必然的にCPUユニットを増設することになり、システム構成の変更および動作タイミングの再調整が発生し、増設後のシステムの立ち上げ、検証に時間がかかってしまうという問題点もあった。
この発明は上記に鑑みてなされたもので、ベースユニット上にCPUユニットと、入出力ユニットなどの他のユニットと、を装着して構成されるプログラマブルコントローラにおいて、使用者が用途に応じて装着するユニットの台数または構成を自由に変更することができる制御ユニットおよび演算装置を得ることを目的とする。
上記目的を達成するため、この発明にかかる制御装置は、バスを内蔵するベースユニットに追加ユニットを装着可能な制御装置において、前記追加ユニットは、前記ベースユニットに装着されると、当該追加ユニットの前記ベースユニットへの装着位置を前記ベースユニットに装着されるユニットの種類と位置とを含む前記ユニット管理情報に書き込む指示を送る管理テーブル更新部と、前記ベースユニットに装着される他のユニットで処理されるデータに比して低い優先度を設定して、前記他のユニットに対するアクセス要求の送信処理を行うマスタ処理部と、を備え、前記追加ユニットの前記マスタ処理部は、送受信するデータに対して付された優先度に従って、順に処理を行うことを特徴とする。
この発明によれば、制御装置に新たに追加ユニットを追加する場合に、追加ユニット中の管理テーブル更新部がCPUユニット中のユニット管理テーブルを更新するとともに、CPUユニットのマスタ処理部およびスレーブ処理部と、追加ユニットのマスタ処理部は、送受信するデータに対して付された優先度に従って順に処理を行うようにしたので、制御装置全体のユニットの停止および再設定を行うことなく、演算ユニットを追加することができるという効果を有する。
図1は、実施の形態による制御装置の構成の一例を模式的に示す図である。 図2は、ベースユニットの構造の一例を示す図である。 図3は、CPUユニットの機能構成を模式的に示すブロック図である。 図4は、ユニット管理テーブルの構成の一例を模式的に示すブロック図である。 図5は、入力ユニットの機能構成を模式的に示すブロック図である。 図6は、出力ユニットの機能構成を模式的に示すブロック図である。 図7は、演算ユニットの機能構成を模式的に示すブロック図である。 図8は、制御装置におけるシーケンス処理の一例を示すフローチャートである。 図9は、実施の形態による演算ユニットの追加によるユニット管理テーブル更新処理の手順の一例を示すフローチャートである。 図10は、CPUユニットのバスマスタとベースユニットのバススレーブの内部構成の一例を模式的に示すブロック図である。 図11は、実施の形態によるCPUユニットのバスマスタによるパケット送信処理の手順の一例を示すフローチャートである。 図12は、実施の形態によるCPUユニットのバスマスタによるパケット受信処理の手順の一例を示すフローチャートである。 図13は、ベースユニットのバスマスタと入力ユニットのバススレーブの内部構成の一例を模式的に示すブロック図である。 図14は、実施の形態による入力ユニットのバススレーブによるパケット受信処理の手順の一例を示すフローチャートである。 図15は、実施の形態による入力ユニットのバススレーブによるパケット送信処理の手順の一例を示すフローチャートである。 図16は、演算処理の空き時間に追加ユニットによる演算処理の追加が可能か否かを示す判定処理手順の一例を示すフローチャートである。 図17は、実施の形態による演算ユニット追加後の通信テストでエラーが発生した場合の処理手順の一例を示すフローチャートである。
以下に添付図面を参照して、この発明の実施の形態にかかる制御装置を詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
図1は、実施の形態による制御装置の構成の一例を模式的に示す図である。制御装置は、たとえば外部入力装置からの入力データに基づいて予め定められた演算処理を実行し、演算結果を外部出力装置に出力して制御対象の動作を制御するプログラマブルコントローラである。制御装置は、ユニット間を電気的に接続するベースユニット10と、ベースユニット10に装着されるCPUユニット11、入力ユニット12、出力ユニット13および演算ユニット14などのユニットと、を備える。入力ユニット12には外部入力装置21が接続され、出力ユニット13には外部出力装置22が接続されている。
ベースユニット10は、ベースユニット10に接続される各ユニットを固定するとともに、各ユニット間で通信を行うことができるように専用のバスを複数有する。図2は、ベースユニットの構造の一例を示す図である。この図に示されるように、ベースユニット10は、複数のバスマスタ101と、複数のバススレーブ102と、これらのバスマスタ101とバススレーブ102との間を接続するバススイッチ103と、を有する。バスマスタ101は、接続されるユニットのバススレーブ(スレーブ処理部)と接続され、接続されるバススレーブに対する操作要求などの指示を送出する。バススレーブ102は、接続されるユニットのバスマスタ(マスタ処理部)と接続され、接続されるバスマスタからの操作要求などの指示に対して応答する。バススイッチ103は、ベースユニット10内のバスマスタ101とバススレーブ102との間で通信が行われるように、経路を切り替える処理を行う。
CPUユニット11は、制御装置全体での制御処理と、ユーザによって作成された制御プログラムに従った演算処理と、を含む処理を行う。図3は、CPUユニットの機能構成を模式的に示すブロック図である。CPUユニット11は、演算処理部111と、I/O制御部112と、ユニット管理部113と、ユニット管理テーブル114と、バスマスタ115と、バススレーブ116と、を有する。
演算処理部111は、たとえばユーザによって作成されたプログラムにしたがって演算処理を行う。具体的には、演算処理部111は、I/O制御部112を経由して、入力ユニット12から読み出したデータを基に演算処理を行い、処理結果をI/O制御部112経由で出力ユニット13に書き込む。
I/O制御部112は、入力ユニット12および出力ユニット13へのアクセスを制御する。I/O制御部112は、バスマスタ115と接続され、バスマスタ115からライト要求およびリード要求をベースユニット10(バス)に出力することによって、入力ユニット12と出力ユニット13に対するアクセスを行う。
ユニット管理部113は、CPUユニット11、入力ユニット12、出力ユニット13および演算ユニット14のベースユニット10への接続位置を管理する。また、ユニット管理部113は、ユニット管理テーブル114に格納された情報に従って、I/O制御部112を経由して、入力ユニット12と出力ユニット13の起動時の接続位置設定および通常動作時の通信テストを行う。
ユニット管理テーブル114は、ユニット管理情報記憶部であり、CPUユニット11、入力ユニット12、出力ユニット13および演算ユニット14のベースユニット10への接続位置を管理する情報である。ユニット管理テーブル114はバススレーブ116とも接続されているため、ベースユニット10を経由した演算ユニット14による読み出しまたは書き換えも行われる。
図4は、ユニット管理テーブルの構成の一例を模式的に示すブロック図である。ユニット管理テーブル114は、ユニット管理部113とバススレーブ116からのアクセスを調停するアクセス調停部1141と、各ユニットの接続位置データを格納する管理情報である第1テーブル1143および第2テーブル1144と、第1テーブル1143と第2テーブル1144のどちらが有効であるかを示す有効指示情報である有効テーブルフラグ1142と、を有する。ここで、接続位置データとは、CPUユニット11、入力ユニット12、出力ユニット13、演算ユニット14などの各ユニットがベースユニット10のどの位置(バス)に接続されているかを示すデータのことである。なお、図1のベースユニット10で説明したように、ベースユニット10は各ユニットと接続するために複数のバスを所有している。
バスマスタ115は、ベースユニット10のバススレーブ102と接続され、バススレーブ102に対してアクセスを行うための操作要求などを送出するマスタ処理部である。バススレーブ116は、ベースユニット10のバスマスタ101と接続され、バスマスタ101からの操作要求に対する応答処理を行うスレーブ処理部である。
入力ユニット12は、CPUユニット11または演算ユニット14からのリード要求に応じて、センサなどの外部入力装置21からの信号をCPUユニット11または演算ユニット14に送出する機能を有する。図5は、入力ユニットの機能構成を模式的に示すブロック図である。入力ユニット12は、外部入力装置21から入力される信号の状態を取得して格納する外部入力検出部121と、CPUユニット11または演算ユニット14から外部入力検出部121へのアクセス要求に対する処理を行うスレーブ処理部であるバススレーブ122と、CPUユニット11との間の通信テストを行う通信テストチェック部123と、通信テストチェック部123でエラーとなった場合にエラー表示を行うとともに、ユニット単体で取り外しが可能なように停止状態にするエラー表示部124と、を有する。
出力ユニット13は、CPUユニット11または演算ユニット14からのライト要求に応じて、CPUユニット11または演算ユニット14で演算された情報を受け取り、この情報をサーボまたはアクチュエータなどの外部出力装置22に出力する機能を有する。図6は、出力ユニットの機能構成を模式的に示すブロック図である。出力ユニット13は、外部出力装置22の状態を制御する信号を出力する外部出力制御部131と、CPUユニット11または演算ユニット14から外部出力制御部131へのアクセス要求に対する処理を行うバススレーブ132と、CPUユニット11との間の通信テストを行う通信テストチェック部133と、通信テストチェック部133でエラーとなった場合にエラー表示を行うとともに、ユニット単体で取り外しが可能なように停止状態にするエラー表示部134と、を有する。
演算ユニット14は、たとえばユーザによって作成されたプログラムにしたがって演算処理を行うユニットであり、CPUユニット11で演算処理能力が不足した場合、またはCPUユニット11とは異なるプログラミング言語を用いて処理を行いたい場合などに追加でベースユニット10に接続される。図7は、演算ユニットの機能構成を模式的に示すブロック図である。演算ユニット14は、演算処理を行う演算処理部141と、入力ユニット12および出力ユニット13にアクセスするためのI/O制御部142と、CPUユニット11のユニット管理テーブル114の更新を行う管理テーブル更新部143と、CPUユニット11、入力ユニット12または出力ユニット13に対する操作要求を行うマスタ処理部であるバスマスタ144と、CPUユニット11からの操作要求に対する応答処理を行うスレーブ処理部であるバススレーブ145と、CPUユニット11との間の通信テストを行う通信テストチェック部146と、通信テストチェック部146でエラーとなった場合にエラー表示を行うとともに、ユニット単体で取り外しが可能なように停止状態にするエラー表示部147と、を有する。演算処理部141、I/O制御部142およびバスマスタ144はCPUユニット11の演算処理部111、I/O制御部112およびバスマスタ115と同様の機能を有する。
なお、管理テーブル更新部143は、CPUユニット11のユニット管理テーブル114にアクセスし、ベースユニット10に空き位置がない場合あるいはユニット管理テーブル114へのアクセスで異常が発生した場合に、演算ユニット14のエラー表示部147にエラー状態をセットする。これによって、演算ユニット14がエラー表示モードに切り替わり、ユニット単体で取り外しが可能なよう停止状態となる。
また、図1に示した制御装置の構成は一例であり、使用者は用途に応じて、ユニットの台数または構成を自由に変更することができる。ただし、CPUユニット11はシステム全体の構成を管理する機能を有しているため、ベースユニット10への装着位置、装着台数に制約が設けられている。演算ユニット14については、管理機能をもたないため、ベースユニット10への装着位置および装着台数に関する制限はない。また、図1では、ベースユニットにCPUユニット11、入力ユニット12、出力ユニット13および演算ユニット14が装着される例が示されているが、通信ユニットなどの他のユニットが装着されていてもよい。
つぎに、このような制御装置全体の処理について説明する。図8は、制御装置におけるシーケンス処理の一例を示すフローチャートである。シーケンス処理は、ユーザによって作成されたプログラムに基づいて繰り返し実行される。まず、入力ユニット12が外部入力装置21の情報を取り込む(ステップS11)。ついで、CPUユニット11または演算ユニット14が入力ユニット12から入力データを読み出す(ステップS12)。その後、CPUユニット11または演算ユニット14が読み出したデータを基に演算処理を実施する(ステップS13)。ついで、CPUユニット11または演算ユニット14が演算結果を出力ユニット13に書き込む(ステップS14)。その後、出力ユニット13が外部出力装置22を制御する(ステップS15)。そして、ステップS11へと処理が戻り、上記のステップS11からS15の処理が予め定められた周期で実行される。このシーケンス処理は、予め定められた周期で実行されるが、たとえば繰り返し行われるシーケンス処理の間に、CPUユニット11のユニット管理部113による通信テスト処理などを行ってもよい。
図1で、演算ユニット14が接続されていない制御装置が、図8のシーケンス処理を実行している最中に、演算ユニット14が追加して接続される場合について説明する。演算ユニット14が制御装置(ベースユニット10)に正常に追加されると、CPUユニット11が有するユニット管理テーブル114が新しく更新される。
図9は、実施の形態による演算ユニットの追加によるユニット管理テーブル更新処理の手順の一例を示すフローチャートである。まず、演算ユニット14を稼働中の制御装置のベースユニット10に装着して追加すると(ステップS31)、演算ユニット14の管理テーブル更新部143は、I/O制御部142、バスマスタ144、ベースユニット10を経由して、CPUユニット11のユニット管理テーブル114にアクセスを行い、有効テーブルフラグ1142を読み出す(ステップS32)。このとき、管理テーブル更新部143からユニット管理テーブル114へ発行されたアクセス要求は、ユニット管理テーブル114内部のアクセス調停部1141で調停制御が行われる。たとえば、CPUユニット11のユニット管理部113からのユニット管理テーブル114へアクセスが実行されている場合には、アクセス終了まで待たされる。しかし、CPUユニット11のユニット管理部113がユニット管理テーブル114へアクセスしていない場合には、すぐにアクセスすることができる。その後、正しい情報(有効テーブルフラグ1142)が読み出せたかを判定する(ステップS33)。
正しい情報が読み出せた場合(ステップS33でYesの場合)には、管理テーブル更新部143は、有効テーブルフラグ1142に基づいて有効なテーブル(第1テーブル1143または第2テーブル1144)を読み出す(ステップS34)。その後、正しい情報(テーブル)を読み出せたかを確認する(ステップS35)。正しい情報を読み出せた場合(ステップS35でYesの場合)には、読み出した有効なテーブルからベースユニット10に空き位置があるかを判定する(ステップS36)。
ベースユニット10に空き位置がある場合(ステップS36でYesの場合)には、管理テーブル更新部143は、現在空いているベースユニット10への接続位置を読み出し、演算ユニット14を空いている接続位置に追加した更新テーブルデータを生成する(ステップS37)。そして、現在無効なテーブル(第2テーブル1144または第1テーブル1143)に更新テーブルデータを書き込む(ステップS38)。つまり、有効テーブルフラグ1142が有効となっているテーブルには、演算ユニット14が装着される前のテーブルデータが記憶される状態とし、無効となっているテーブルには、演算ユニット14が装着された後のテーブルデータ(更新テーブルデータ)が記憶されている状態となるようにしている。
その後、管理テーブル更新部143は、更新テーブルデータを書き込んだ現在無効なテーブルデータを読み出し(ステップS39)、更新テーブルデータを読み出せたかを判定する(ステップS40)。更新テーブルデータを読み出せた場合(ステップS40でYesの場合)には、管理テーブル更新部143は、有効テーブルフラグ1142を更新する(ステップS41)。すなわち、現在無効とされているテーブル(更新テーブルデータを書き込んだテーブル)を有効とする。これによって、ステップS32で読み出されたテーブルは無効となる。以上によって、ユニット管理テーブル114の更新が正常終了する。
ステップS33で有効テーブルフラグ1142を正常に読み出せなかった場合(ステップS33でNoの場合)、ステップS35で有効なテーブルを正常に読み出せなかった場合(ステップS35でNoの場合)、ステップS36でベースユニット10に空き位置がない場合(ステップS36でNoの場合)、あるいはステップS40で更新テーブルデータを正常に読み出せなかった場合(ステップS40でNoの場合)には、演算ユニット14をエラー表示モードに切り替える(ステップS42)。そして、管理テーブル更新部143は、有効テーブルフラグ1142の更新を中止し、制御装置全体の電源を落とさずに、装着した演算ユニット14単体で取り外しが可能なように停止状態にする(ステップS43)。つまり、有効テーブルフラグ1142は、ステップS38で更新テーブルデータで更新した無効なテーブルではなく、ステップS34で読み出した現在有効なテーブルを有効とするものである。以上によって、ユニット管理テーブル114の更新処理が異常終了する。
なお、管理テーブル更新部143からユニット管理テーブル114へのバスアクセスは、全て低優先(後述)で発行されるようにすることで、既存のCPUユニット11の動作タイミングを変更せずにユニット管理テーブル114の更新を行うことが可能である。
また、ユニット管理テーブル114の更新後のデータは、ユニット管理部113から読み出され、追加された演算ユニット14に対しても通常動作時の通信テストが実行される。なお、演算ユニット14を追加した後のCPUユニット11のユニット管理部113による通信テストで異常を検出した場合には、ユニット管理部113は、有効テーブルフラグ1142をステップS41での変更前の状態に戻して、正常動作時の(更新前に使用していた)テーブルを有効にする。有効テーブルフラグ1142を戻した後は演算ユニット14をエラー表示モードに切り替え、制御装置全体の電源を落とさずに、ユニット単体で取り外しが可能なよう停止状態にする。
さらに、上記した説明では、演算ユニット14をベースユニットに装着した場合を例に挙げたが、装着するユニット(たとえば入力ユニット12または出力ユニット13)に、管理テーブル更新部とI/O制御部とバスマスタとを設けることで、上記の演算ユニット14の場合と同様にCPUユニット11のユニット管理テーブル114の更新処理を装着したユニットでも実現することができる。
つぎに、ユニット中のバスマスタとベースユニット10中のバススレーブ102との間の通信処理について説明する。図10は、CPUユニットのバスマスタとベースユニットのバススレーブの内部構成の一例を模式的に示すブロック図である。CPUユニット11のバスマスタ115とベースユニット10のバススレーブ102とを接続するバスは、送信用バス71と受信用バス72が分離されている全二重で構成されている。このため、送信用バス71を使用してCPUユニット11が出力ユニット13にデータを書き込むのと同時に、受信用バス72を使用してCPUユニット11が入力ユニット12からデータを読み出すことが可能となる。また、この実施の形態では、ライト要求、ライトデータ、リード要求、リードデータは全てパケットデータとしてバスマスタ115とバススレーブ102との間でやりとりされる。
なお、バスマスタの構成は各ユニットで全て同じであるため、ここではCPUユニット11のバスマスタ115の場合を例に挙げて説明する。バスマスタ115は、アクセス生成部51と、送信バッファ52と、パケット送信処理部53と、受信バッファ54と、パケット受信処理部55と、アクセス解析部56と、優先度テーブル57と、中断データ情報58と、を有する。
アクセス生成部51は、I/O制御部112から他のユニットへのアクセス要求(たとえば、ライト要求またはリード要求)をパケット化して送信バッファ52に送る。送信バッファ52は、送信すべきパケットデータを格納する。送信バッファ52は複数のパケットデータを格納することができる。
パケット送信処理部53は、優先度テーブル57にしたがって送信バッファ52に格納されているパケットデータを、送信用バス71を介してベースユニット10に送信する。なお、パケット送信処理部53は、現在処理中のパケットデータよりも優先度の高いパケットデータが送信バッファ52に格納されると、現在処理中のパケットデータの送信処理を中断して、パケットデータの送信中断位置を示す中断データ情報58に書き込んだ後、優先度の高いパケットデータの送信処理を行う。そして、優先度の高いパケットデータの送信処理が完了した後、中断データ情報58に書き込まれた中断されたパケットデータの送信処理を再開する。
受信バッファ54は、受信用バス72に接続され、受信用バス72を介してベースユニット10から受信したパケットデータを格納する。受信バッファ54は複数のパケットデータを格納することができる。
パケット受信処理部55は、優先度テーブル57にしたがって受信バッファ54に格納されているパケットデータをアクセス解析部56に発行する。なお、パケット受信処理部55は、現在処理中のパケットデータよりも優先度の高いパケットデータを受信すると、現在処理中のパケットデータの発行処理を中断して、発行中のパケットデータの中断位置を中断データ情報58に書き込んだ後、優先度の高いパケットデータの発行処理を行う。そして、優先度の高いパケットデータの発行処理が完了した後、中断データ情報58に書き込まれた中断されたパケットデータの発行処理を再開する。
アクセス解析部56は、パケットデータをI/O制御部112で処理可能な信号に変換し、I/O制御部112に変換した信号を渡す。この信号は、たとえばアクセス要求に対する応答である。
優先度テーブル57は、送信バッファ52と受信バッファ54に格納されたパケットデータと優先度との対応関係を示す情報である。優先度は、処理の優先順序を示すものである。中断データ情報58は、送信バッファ52または受信バッファ54でのパケットデータの処理中に、このパケットデータよりも優先度の高いパケットデータが格納された場合に、優先度の低いパケットデータ(現在処理中のパケットデータ)をどこまで送信したか、すなわちパケットデータの送信処理の再開位置を示す情報である。
ベースユニット10のバススレーブ102は、アクセス生成部61と、送信バッファ62と、パケット送信処理部63と、受信バッファ64と、パケット受信処理部65と、アクセス解析部66と、優先度テーブル67と、中断データ情報68と、を有する。パケット送信処理部63が受信用バス72に接続され、受信バッファ64が送信用バス71に接続される以外は、各処理部の機能は、上記したCPUユニット11のバスマスタ115を構成する各処理部と同様である。
つぎに、CPUユニット11のバスマスタによるパケット送信処理について説明する。図11は、実施の形態によるCPUユニットのバスマスタによるパケット送信処理の手順の一例を示すフローチャートである。まず、CPUユニット11のI/O制御部112がライト要求/リード要求などのアクセス要求を入力ユニット12または出力ユニット13に対して発行する(ステップS51)。
I/O制御部112から発行されたアクセス要求は、バスマスタ115内部のアクセス生成部51でパケットデータに変換され(ステップS52)、送信バッファ52に新規パケットデータとして格納される(ステップS53)。送信バッファ52は複数のパケットデータを保持することができるため、送信バッファ52にはベースユニット10に送信する前の残留パケットデータが残っている場合もある。このため、パケット送信処理部53は、送信バッファ52に残留パケットデータがないかを確認する(ステップS54)。
送信バッファ52に残留パケットデータがある場合(ステップS54でNoの場合)には、パケット送信処理部53は、送信バッファ52の残留パケットデータと新規パケットデータの優先度を優先度テーブル57から取得し、どちらの優先度が高いかを判定する(ステップS55)。
新規パケットデータの優先度が残留パケットデータよりも大きい場合(ステップS56でYesの場合)には、パケット送信処理部53は、現在ベースユニット10に送信中の送信データ(残留パケットデータ)の送信処理を中断し(ステップS57)、残留パケットデータをどこまで送信したのかを示す送信再開箇所を中断データ情報58に書き込む(ステップS58)。
一方、新規パケットデータの優先度が残留パケットデータ以下である場合(ステップS56でNoの場合)には、パケット送信処理部53は、そのまま現在送信中の送信データ(残留パケットデータ)を送信する(ステップS59)。残留パケットデータの送信が完了すると、残留パケットデータを送信バッファ52から削除する(ステップS60)。
ステップS54で送信バッファ52に残留パケットデータがない場合(ステップS54でYesの場合)、ステップS58の後、またはステップS60の後、パケット送信処理部53は、送信バッファ52に格納された新規パケットデータを送信する(ステップS61)。新規パケットデータの送信が完了すると、新規パケットデータを送信バッファ52から削除する(ステップS62)。
ついで、パケット送信処理部53は、送信バッファ52に残留パケットデータが存在するかを確認する(ステップS63)。送信バッファ52に残留パケットデータが存在しない場合(ステップS63でYesの場合)には、ベースユニット10へのアクセス要求の発行処理が完了する。
また、送信バッファ52に残留パケットデータが存在する場合(ステップS63でNoの場合)には、パケット送信処理部53は、中断データ情報58に記憶された送信再開箇所を確認し(ステップS64)、送信再開箇所に基づいて送信バッファ52に格納されている残留パケットデータを送信する(ステップS65)。そして、残留パケットデータの送信完了後に、残留パケットデータを送信バッファ52から削除する(ステップS66)。以上によって、ベースユニット10へのアクセス要求の発行処理が完了する。
つぎに、CPUユニット11のバスマスタによるパケット受信処理について説明する。図12は、実施の形態によるCPUユニットのバスマスタによるパケット受信処理の手順の一例を示すフローチャートである。まず、ベースユニット10から返送されてきたパケットデータはCPUユニット11のバスマスタ115内部の受信バッファ54に新規パケットデータとして格納される(ステップS71)。
受信バッファ54は複数のパケットデータを保持することができるため、受信バッファ54にはアクセス解析部56に発行する前の残留パケットデータが残っている場合もある。このため、パケット受信処理部55は、受信バッファ54に残留パケットデータがないかを確認する(ステップS72)。
受信バッファ54に残留パケットデータがある場合(ステップS72でNoの場合)には、パケット受信処理部55は、受信バッファ54の残留パケットデータと新規パケットデータの優先度を優先度テーブル57から取得し、どちらの優先度が高いかを判定する(ステップS73)。
新規パケットデータの優先度が残留パケットデータよりも大きい場合(ステップS74でYesの場合)には、パケット受信処理部55は、現在アクセス解析部56に発行中の送信データ(残留パケットデータ)の送信処理を中断し(ステップS75)、残留パケットデータをどこまで発行したのかを示す送信再開箇所を中断データ情報58に書き込む(ステップS76)。
一方、新規パケットデータの優先度が残留パケットデータ以下である場合(ステップS74でNoの場合)には、パケット受信処理部55は、そのまま現在発行中の送信データ(残留パケットデータ)をアクセス解析部56に発行する(ステップS77)。残留パケットの発行が完了すると、残留パケットデータを受信バッファ54から削除する(ステップS78)。
ステップS72で受信バッファ54に残留パケットデータがない場合(ステップS72でYesの場合)、ステップS76の後、またはステップS78の後、パケット受信処理部55は、受信バッファ54に格納された新規パケットデータをアクセス解析部56に発行する(ステップS79)。新規パケットデータの発行が完了すると、新規パケットデータを受信バッファ54から削除する(ステップS80)。
ついで、パケット受信処理部55は、受信バッファ54に残留パケットデータが存在するかを確認する(ステップS81)。受信バッファ54に残留パケットデータが存在しない場合(ステップS81でYesの場合)には、アクセス解析部56へのパケットデータの発行処理が完了する。
また、受信バッファ54に残留パケットデータが存在する場合(ステップS81でNoの場合)には、パケット受信処理部55は、中断データ情報58に記憶された送信再開箇所を確認し(ステップS82)、送信再開箇所に基づいて受信バッファ54に格納されている残留パケットデータをアクセス解析部56に発行する(ステップS83)。そして、残留パケットデータの発行完了後に、残留パケットデータを受信バッファ54から削除する(ステップS84)。以上によって、アクセス解析部56へのパケットデータの発行処理が完了する。
なお、その後、CPUユニット11のアクセス解析部56は受信バッファ54から発行されたデータを解析して、リードデータが返却されてきた場合には、I/O制御部112にリードデータを渡す処理を行う。
また、上記した説明では、CPUユニット11のバスマスタでのパケットでの送受信処理を例に挙げて説明したが、各ユニットでのバスマスタの構成はすべて同一であるので、他のユニットに設けられたバスマスタでのパケットの送受信処理も同様である。
つぎに、ユニット中のバススレーブとベースユニット10中のバスマスタとの間の通信処理について説明する。図13は、ベースユニットのバスマスタと入力ユニットのバススレーブの内部構成の一例を模式的に示すブロック図である。ベースユニット10のバスマスタ101と入力ユニット12のバススレーブ122とを接続するバスは、送信用バス71と受信用バス72が分離されている全二重で構成されている。
ベースユニット10のバスマスタ101の構成は、図10のCPUユニット11のバスマスタ115と同様の構成を有し、入力ユニット12のバススレーブ122の構成は、図10のベースユニット10のバススレーブ102と同様の構成を有するので、その説明を省略する。
つぎに、入力ユニット12のバススレーブ122によるパケット受信処理について説明する。図14は、実施の形態による入力ユニットのバススレーブによるパケット受信処理の手順の一例を示すフローチャートである。まず、ベースユニット10から発行されてきたパケットデータは入力ユニット12のバススレーブ122内部の受信バッファ64に新規パケットデータとして格納される(ステップS91)。
受信バッファ64は複数のパケットデータを保持することができるため、受信バッファ64にはアクセス解析部66に発行する前の残留パケットデータが残っている場合もある。そのため、パケット受信処理部65は、受信バッファ64に残留パケットデータがないかを確認する(ステップS92)。
受信バッファ64に残留パケットデータがある場合(ステップS92でNoの場合)には、パケット受信処理部65は、受信バッファ64の残留パケットデータと新規パケットデータの優先度を優先度テーブル67から取得し、どちらの優先度が高いかを判定する(ステップS93)。
新規パケットデータの優先度が残留パケットデータよりも大きい場合(ステップS94でYesの場合)には、パケット受信処理部65は、現在アクセス解析部66に発行中の送信データ(残留パケットデータ)の送信処理を中断し(ステップS95)、残留パケットデータをどこまで発行したのかを示す送信再開箇所を中断データ情報68に書き込む(ステップS96)。
一方、新規パケットデータの優先度が残留パケットデータ以下である場合(ステップS94でNoの場合)には、パケット受信処理部65は、そのまま現在発行中の送信データ(残留パケットデータ)をアクセス解析部66に発行する(ステップS97)。残留パケットデータの発行が完了すると、残留パケットデータを受信バッファ64から削除する(ステップS98)。
ステップS92で受信バッファ64に残留パケットデータがない場合(ステップS92でYesの場合)、ステップS96の後、またはステップS98の後、パケット受信処理部65は、受信バッファ64に格納された新規パケットデータをアクセス解析部66に発行する(ステップS99)。新規パケットデータの発行が完了すると、新規パケットデータを受信バッファ64から削除する(ステップS100)。
ついで、パケット受信処理部65は、受信バッファ64に残留パケットデータが存在するかを確認する(ステップS101)。受信バッファ64に残留パケットデータが存在しない場合(ステップS101でYesの場合)には、アクセス解析部66へのパケットデータの発行処理が完了する。
また、受信バッファ64に残留パケットデータが存在する場合(ステップS101でNoの場合)には、パケット受信処理部65は、中断データ情報68に記憶された送信再開箇所を確認し(ステップS102)、送信再開箇所に基づいて受信バッファ64に格納されている残留パケットをアクセス解析部66に発行する(ステップS103)。そして、残留パケットデータの発行完了後に、残留パケットデータを受信バッファ64から削除する(ステップS104)。以上によって、アクセス解析部66へのパケットデータの発行処理が完了する。
なお、その後、入力ユニット12のアクセス解析部66は受信バッファ64から発行されたデータを解析し、外部入力データのリード要求の場合には、外部入力検出部121にリード要求を渡す処理を行う。
つぎに、入力ユニット12のバススレーブ122によるパケット送信処理について説明する。図15は、実施の形態による入力ユニットのバススレーブによるパケット送信処理の手順の一例を示すフローチャートである。まず、入力ユニット12の外部入力検出部121は、受信バッファ64から発行されたデータを解析して、リード要求である場合には外部入力装置21から入力データを取得し、バススレーブ122のアクセス生成部61にリードデータ(入力データ)を返送する(ステップS111)。
外部入力検出部121から返送されたリードデータは、バススレーブ122内部のアクセス生成部61でパケットデータに変換され(ステップS112)、送信バッファ62に新規パケットデータとして格納される(ステップS113)。送信バッファ62は複数のパケットデータを保持することができるため、送信バッファ62にはベースユニット10に送信する前の残留パケットデータが残っている場合もある。このため、パケット送信処理部63は、送信バッファ62に残留パケットデータがないかを確認する(ステップS114)。
送信バッファ62に残留パケットデータがある場合(ステップS14でNoの場合)には、パケット送信処理部63は、送信バッファ62の残留パケットデータと新規パケットデータの優先度を優先度テーブル67から取得し、どちらの優先度が高いかを判定する(ステップS115)。
新規パケットデータの優先度が残留パケットデータよりも大きい場合(ステップS116でYesの場合)には、パケット送信処理部63は、現在ベースユニット10に送信中の送信データ(残留パケットデータ)の送信処理を中断し(ステップS117)、残留パケットデータをどこまで送信したのかを示す送信再開箇所を中断データ情報68に書き込む(ステップS118)。
一方、新規パケットデータの優先度が残留パケットデータ以下である場合(ステップS116でNoの場合)には、パケット送信処理部63は、そのまま現在送信中の送信データ(残留パケットデータ)を送信する(ステップS119)。残留パケットデータの送信が完了すると、残留パケットデータを送信バッファ62から削除する(ステップS120)。
ステップS114で送信バッファ62に残留パケットデータがない場合(ステップS114でYesの場合)、ステップS118の後、またはステップS120の後、パケット送信処理部63は、送信バッファ62に格納された新規パケットデータを送信する(ステップS121)。新規パケットデータの送信が完了すると、新規パケットデータを送信バッファ62から削除する(ステップS122)。
ついで、パケット送信処理部63は、送信バッファ62に残留パケットデータが存在するかを確認する(ステップS123)。送信バッファ62に残留パケットデータが存在しない場合(ステップS123でYesの場合)には、ベースユニット10へのリードデータの発行処理が完了する。
また、送信バッファ62に残留パケットデータが存在する場合(ステップS123でNoの場合)には、パケット送信処理部63は、中断データ情報68に記憶された送信再開箇所を確認し(ステップS124)、送信再開箇所に基づいて送信バッファ62に格納されている残留パケットデータを送信する(ステップS125)。そして、残留パケットデータの送信完了後に、残留パケットデータを送信バッファ62から削除する(ステップS126)。以上によって、ベースユニット10へのリードデータの発行処理が完了する。
なお、上記した説明では、入力ユニット12のバススレーブ122でのパケットの送受信処理を例に挙げて説明したが、各ユニットでのバススレーブの構成はすべて同一であるので、他のユニットに設けられたバススレーブでのパケットの送受信処理も同様である。
ところで、従来では、1台のCPUユニット11が装着された制御装置に、さらに演算処理機能を有する演算ユニット14を増設した場合に、演算ユニット14もバスアクセスを行うことになるので、元々装着されていたCPUユニット11のバスアクセスのタイミングが、演算ユニット14のバスアクセスタイミングによって変わってしまうという問題点があった。この実施の形態では、このような問題点を解決するために、CPUユニット11から入力ユニット12、出力ユニット13へのアクセスを高優先度に設定し、演算ユニット14から入力ユニット12、出力ユニット13へのアクセスを低優先度に設定する。これによって、CPUユニット11と入力ユニット12と出力ユニット13で構成されるシステムに対して、後から演算ユニット14を追加した場合においても、演算ユニット14でユニット管理テーブル114の更新処理のためのパケットデータを送信していたとしても、CPUユニット11からのパケットデータがベースユニット10、入力ユニット12または出力ユニット13に入力されると、演算ユニット14からのパケットデータの送受信処理に優先して、送受信処理が行われることになる。その結果、CPUユニット11と入力ユニット12または出力ユニット13との間の動作タイミングを変化させることなく、また制御装置全体のユニットを停止することなく、システム構成を変更することが可能となる。これは、システム構成が変更後に、演算ユニット14からパケットデータの送受信処理が行われる場合も同様であり、CPUユニット11と入力ユニット12または出力ユニット13との間の動作タイミングを変化させることなく、追加された演算ユニット14を動作させることが可能となる。
なお、CPUユニット11から、各ユニットのバスマスタ、バススレーブの優先度テーブル57,67を動的に書き換えて、パケットデータの優先度(ユニット間通信帯域の優先度)の調整を行うことで、制御装置の動作モードに応じて、都度、最大のパフォーマンスを発揮することができる。優先度テーブル57,67にセットされる優先度は、CPUユニット11のユニット管理テーブル114で管理される。優先度テーブル57,67の更新要求は、CPUユニット11のユニット管理部113から、各バスマスタ、各バススレーブに一斉に送信される。
また、CPUユニット11に、複数のユニットで実行する演算処理の空き時間を管理テーブルにより管理する機能を持たせてもよい。たとえば、CPUユニット11のユニット管理部113に、CPUユニット11のユニット管理テーブル114内にCPUユニット11および演算ユニット14の処理タイミング(入力ユニット12へのアクセスタイミング、出力ユニット13へのアクセスタイミング、CPUユニット11内部の演算タイミング、演算ユニット14の演算処理タイミング)を管理するタイムテーブル情報を所持させるように構成させてもよい。タイムテーブル情報はCPUユニット11のユニット管理部113によって、CPUユニット11と演算ユニット14のバスアクセスを極力競合させずにユーザが指定した時間内に制御処理が完了するよう生成される。既存の制御システムに演算ユニット14を追加する場合は、演算ユニット14の管理テーブル更新部143が現状のタイムテーブル情報を読み出し、演算ユニット14の処理タイミングを反映した上で、CPUユニット11のタイムテーブル情報を上書きする。演算ユニット14の管理テーブル更新部143によるタイムテーブル情報の更新処理は、ユニット管理テーブル114の更新処理に含まれる。CPUユニット11および演算ユニット15はCPUユニット11のタイムテーブル情報に従って処理を行う。
図16は、演算処理の空き時間に追加ユニットによる演算処理の追加が可能か否かを示す判定処理手順の一例を示すフローチャートである。まず、演算ユニット14を追加した際に(ステップS131)、演算ユニット14の管理テーブル更新部143がCPUユニット11のタイムテーブル情報を取得する(ステップS132)。管理テーブル更新部143は現状のタイムテーブルの空き時間を確認し(ステップS133)、演算ユニット14の処理を追加した場合にユーザが指定した時間内にCPUユニット11と演算ユニット14の処理が完了可能かを判定する(ステップS134)。
完了可能と判定した場合(ステップS134でYesの場合)には、管理テーブル更新部143が演算ユニット14の処理を追加したタイムテーブル情報をCPUユニット11に上書きし(ステップS135)、処理が終了する。一方、完了不可と判定した場合(ステップS134でNoの場合)には、CPUユニット11の管理テーブルを更新せずに演算ユニット15をエラー表示モードに切り替え(ステップS136)、制御システム全体の電源を落とさずに、ユニット単体で取り外しが可能なよう停止状態にし(ステップS137)、処理が終了する。
なお、演算ユニット14の追加時には演算ユニット14の管理テーブル更新部143が、タイムテーブル情報の更新と併せて優先度テーブル設定情報も更新する。演算ユニット14の追加後に異常が発生した場合には、タイムテーブル情報と同様に優先度テーブル設定情報も演算ユニット追加前の状態に戻される。
つぎに、演算ユニット14追加後に、通信テストでエラーが発生した場合の処理について説明する。図17は、実施の形態による演算ユニット追加後の通信テストでエラーが発生した場合の処理手順の一例を示すフローチャートである。まず、演算ユニット14がベースユニット10に追加されると(ステップS151)、CPUユニット11のユニット管理部113が演算ユニット14の通信テストチェック部146にアクセスを行う(ステップS152)。
CPUユニット11のユニット管理部113が演算ユニット14の通信テストチェック部146へのアクセスに失敗した場合(ステップS153)、CPUユニット11のユニット管理部113は、ユニット管理テーブル114を演算ユニット14の追加前の状態に戻す(ステップS154)。たとえば、演算ユニット14の追加によって第1テーブル1143が有効化されている場合には、第1テーブル1143を無効化し、第2テーブル1144を有効化する。また、演算ユニット14の追加によって第2テーブル1144が有効化されている場合には、第2テーブル1144を無効化し、第1テーブル1143を有効化する。
アクセスに失敗した場合として、たとえば、アクセスに異常があった場合、または一定期間ステップS152のアクセスがCPUユニット11から来なかった場合を挙げることができる。その後、演算ユニット14の通信テストチェック部146は、エラー表示部147にエラー状態をセットする(ステップS155)。演算ユニット14のエラー表示部147は、エラー状態がセットされると、演算ユニット14がエラー表示モードに切り替わり(ステップS156)、ユニット単体で取り外しが可能なように停止状態にする(ステップS157)。これによって、制御システム全体は動作状態にありながら、追加した演算ユニット14だけを取り外すことが可能になる。
この実施の形態では、制御装置に新たに演算ユニット14を追加する場合に、演算ユニット14中の管理テーブル更新部143がCPUユニット11中のユニット管理テーブル114を更新するようにした。その結果、制御装置全体のユニットの停止および再設定を行うことなく、演算ユニット14を追加することができるという効果を有する。その結果、使用者が用途に応じてベースユニット10に装着するユニットの台数または構成を自由に変更することができる。
また、複数のユニット間の通信に優先度を設定するようにした。たとえば、新たにユニットを追加するときに、このユニットの管理テーブル更新部143がユニット管理テーブル114を更新するためのアクセス要求の優先度を低くすることで、CPUユニット11が動作タイミングを変更せずにユニット管理テーブル114を更新することができるという効果を有する。
さらに、CPUユニット11のユニット管理部113が演算処理部111での演算処理の空き時間を利用して、新たに追加するユニットの通信テストを実施するようにした。これによって、既存のユニットの動作タイミングを変更せずに、新たに追加したユニットが正常動作するか否かを確認することができるという効果も有する。
以上のように、この発明にかかる制御装置は、制御対象を制御プログラムにしたがって制御するプログラマブルコントローラに有用である。
10 ベースユニット、11 CPUユニット、12 入力ユニット、13 出力ユニット、14 演算ユニット、21 外部入力装置、22 外部出力装置、51,61 アクセス生成部、52,62 送信バッファ、54,64 受信バッファ、56,66 アクセス解析部、112,142 I/O制御部、57,67 優先度テーブル、58,68 中断データ情報、53,63 パケット送信処理部、55,65 パケット受信処理部、71 送信用バス、72 受信用バス、101,115,144 バスマスタ、103 バススイッチ、111,141 演算処理部、113 ユニット管理部、114 ユニット管理テーブル、121 外部入力検出部、131 外部出力制御部、102,116,122,132 バススレーブ、143 管理テーブル更新部、1141 アクセス調停部、1142 有効テーブルフラグ、1143 第1テーブル、1144 第2テーブル。

Claims (12)

  1. バスを内蔵するベースユニットに追加ユニットを装着可能な制御装置において、
    前記追加ユニットは、
    前記ベースユニットに装着されると、当該追加ユニットの前記ベースユニットへの装着位置を前記ベースユニットに装着されるユニットの種類と位置とを含むユニット管理情報に書き込む指示を送る管理テーブル更新部と、
    前記ベースユニットに装着される他のユニットで処理されるデータに比して低い優先度を設定して、前記他のユニットに対するアクセス要求の送信処理を行うマスタ処理部と、
    を備え、
    前記追加ユニットの前記マスタ処理部は、送受信するデータに対して付された優先度に従って、順に処理を行うことを特徴とする制御装置。
  2. 前記ベースユニットには、当該制御装置全体を管理するとともにプログラムにしたがって演算処理を周期的に行うCPUユニットが装着され、
    前記CPUユニットは、前記ユニット管理情報を記憶するユニット管理情報記憶部を備え、
    前記CPUユニットのユニット管理情報記憶部は、前記ユニット管理情報として、ユニットと前記ベースユニット上の装着位置とを対応付けた2つの管理情報と、2つの前記管理情報のうちどちらが有効かを示す有効指示情報と、を含み、
    前記追加ユニットの前記管理テーブル更新部は、前記追加ユニットの前記マスタ処理部を介して現在有効な前記管理情報を読み出し、前記管理情報の前記ベースユニットの空き位置に当該追加ユニットを登録した更新管理情報を生成し、前記有効指示情報で無効とされた方の前記管理情報を前記更新管理情報で更新することを特徴とする請求項1に記載の制御装置。
  3. 前記追加ユニットの前記管理テーブル更新部は、前記更新管理情報で更新された前記管理情報を正常に読み出せた場合に、前記更新管理情報で更新された管理情報が有効となるように前記有効指示情報を更新することを特徴とする請求項2に記載の制御装置。
  4. 前記追加ユニットの前記管理テーブル更新部は、前記更新管理情報の更新処理でエラーが生じた場合に、前記有効指示情報の更新を行わないことを特徴とする請求項2に記載の制御装置。
  5. 前記CPUユニットは、前記演算処理の空き時間を利用して前記ベースユニットに追加されたユニットが正常動作するかの通信テストを行うユニット管理部をさらに備えることを特徴とする請求項3に記載の制御装置。
  6. 前記ユニット管理部は、前記通信テストの結果、前記追加ユニットに異常を検出した場合に、前記有効指示情報を更新前の状態に戻すことを特徴とする請求項5に記載の制御装置。
  7. 前記CPUユニットは、前記CPUユニットと前記追加ユニットで実行する演算処理のタイミングを管理するタイムテーブル情報を管理するユニット管理部をさらに備え、
    前記CPUユニットと前記追加ユニットは、前記タイムテーブル情報にしたがって演算処理を実行することを特徴とする請求項2に記載の制御装置。
  8. 前記追加ユニットの前記管理テーブル更新部は、自追加ユニットが当該制御装置に追加されると、前記CPUユニットから前記タイムテーブル情報を取得し、前記タイムテーブル情報中の空き時間内に、自追加ユニットに対して設定された演算処理の追加が可能かを判定することを特徴とする請求項7に記載の制御装置。
  9. 前記追加ユニットの前記管理テーブル更新部は、前記タイムテーブル情報中の空き時間内に、自追加ユニットに対して設定された演算処理の追加が可能な場合には、前記CPUユニット内の前記タイムテーブル情報を更新し、前記タイムテーブル情報中の空き時間内に、自追加ユニットに対して設定された演算処理の追加が不可能な場合には、前記CPUユニット内の前記タイムテーブル情報を更新せずに、当該制御装置全体の電源を落とさずに、前記追加ユニットを停止状態にすることを特徴とする請求項8に記載の制御装置。
  10. 前記CPUユニットは、前記他のユニットに対するアクセス要求の送信処理を行うマスタ処理部をさらに備え、
    前記CPUユニットの前記マスタ処理部で送受信されるデータの優先度は、前記追加ユニットの前記マスタ処理部で送受信されるデータの優先度よりも高いことを特徴とする請求項2に記載の制御装置。
  11. 前記CPUユニットは、
    前記他のユニットに対するアクセス要求の送信処理を行うマスタ処理部と、
    前記他のユニットからのアクセス要求に対する受信処理を行うスレーブ処理部と、
    をさらに備え、
    前記ベースユニットは、
    前記CPUユニットと前記追加ユニットと前記他のユニットが有する前記マスタ処理部の数に対応して設けられ、前記マスタ処理部からのアクセス要求に対する受信処理を行うバススレーブと、
    前記CPUユニットと前記追加ユニットと前記他のユニットが有する前記スレーブ処理部の数に対応して設けられ、前記スレーブ処理部に対してアクセス要求の送信処理を行うバスマスタと、
    前記バススレーブと前記バスマスタとの間でデータの切り替えを行うバススイッチと、
    を備えることを特徴とする請求項2に記載の制御装置。
  12. 前記CPUユニットと前記追加ユニットと前記他のユニットが有する前記マスタ処理部と前記ベースユニットの前記バススレーブとの間と、前記CPUユニットと前記追加ユニットと前記他のユニットが有する前記スレーブ処理部と前記ベースユニットの前記バスマスタとの間では、それぞれ全二重通信が行われることを特徴とする請求項11に記載の制御装置。
JP2015518494A 2014-07-14 2014-07-14 制御装置 Expired - Fee Related JP5951123B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/068714 WO2016009477A1 (ja) 2014-07-14 2014-07-14 制御装置

Publications (2)

Publication Number Publication Date
JP5951123B2 true JP5951123B2 (ja) 2016-07-13
JPWO2016009477A1 JPWO2016009477A1 (ja) 2017-04-27

Family

ID=55078001

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015518494A Expired - Fee Related JP5951123B2 (ja) 2014-07-14 2014-07-14 制御装置

Country Status (2)

Country Link
JP (1) JP5951123B2 (ja)
WO (1) WO2016009477A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6428805B2 (ja) * 2017-02-07 2018-11-28 オムロン株式会社 演算装置、制御装置および制御方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004139609A (ja) * 2003-11-11 2004-05-13 Omron Corp 開発支援装置
JP2007272679A (ja) * 2006-03-31 2007-10-18 Mitsubishi Electric Corp ラダープログラム最適化装置および最適化プログラム
JP2012194662A (ja) * 2011-03-15 2012-10-11 Omron Corp Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
JP5518266B1 (ja) * 2013-05-17 2014-06-11 三菱電機株式会社 プログラマブルコントローラとその周辺装置、およびプログラマブルコントローラのテーブルデータアクセスプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1091213A (ja) * 1996-09-18 1998-04-10 Yaskawa Electric Corp プログラマブルコントローラ
JP2007148734A (ja) * 2005-11-28 2007-06-14 Yaskawa Electric Corp マスタ/スレーブ制御システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004139609A (ja) * 2003-11-11 2004-05-13 Omron Corp 開発支援装置
JP2007272679A (ja) * 2006-03-31 2007-10-18 Mitsubishi Electric Corp ラダープログラム最適化装置および最適化プログラム
JP2012194662A (ja) * 2011-03-15 2012-10-11 Omron Corp Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
JP5518266B1 (ja) * 2013-05-17 2014-06-11 三菱電機株式会社 プログラマブルコントローラとその周辺装置、およびプログラマブルコントローラのテーブルデータアクセスプログラム

Also Published As

Publication number Publication date
WO2016009477A1 (ja) 2016-01-21
JPWO2016009477A1 (ja) 2017-04-27

Similar Documents

Publication Publication Date Title
US10936303B2 (en) Secure IoT device update
US9467511B2 (en) Techniques for use of vendor defined messages to execute a command to access a storage device
JP4788912B2 (ja) Plc
US8560750B2 (en) Systems and methods for advanced interrupt scheduling and priority processing in a storage system environment
JP2006018689A (ja) ストレージ制御装置、そのクラスタ間データ通信方法、及びそのクラスタ間通信制御プログラム
US10496062B2 (en) Programmable controller for controlling automatic machines, having CPU to received control with respect to own apparatus, when external storage is authenticated based on authentication information
JP2016110458A (ja) プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム
JP5970461B2 (ja) 仮想計算機制御装置、仮想計算機制御方法、仮想計算機制御プログラム、及び集積回路
US9774671B2 (en) Parallel processing system and operation method of parallel processing system
TW201303789A (zh) 具有高速傳輸功能之基板管理控制器及其傳輸方法
US7814254B2 (en) Mode setting method and system in hot plug of PCI device
JP5951123B2 (ja) 制御装置
JP2012181573A (ja) マイクロコンピュータ
TWI506453B (zh) 伺服器系統
JP6319473B1 (ja) 情報処理装置
JP4152079B2 (ja) プログラマブルコントローラの周辺装置
JP6701440B2 (ja) リモートコントローラ、遠隔制御方法、及び、プログラム
JP2011070259A (ja) データ転送装置及びデータ転送方法
JP5558632B2 (ja) システムコントローラ、設備システム及びプログラム
JP5223612B2 (ja) ディスク制御装置およびファームウェアの更新方法
JP5687171B2 (ja) コントローラ、監視ユニット、およびシーケンスプログラム更新方法
JP2018180608A (ja) プログラム実行装置およびプログラム実行方法
JP5618859B2 (ja) タイマicを利用した書込み回路
JP5672225B2 (ja) ハードウェア管理装置、情報処理装置、ハードウェア管理方法、および、コンピュータ・プログラム
US11029850B2 (en) System of controlling data rebalance and its method

Legal Events

Date Code Title Description
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: 20160510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160607

R150 Certificate of patent or registration of utility model

Ref document number: 5951123

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees