JP2007299102A - プログラマブルコントローラおよび通信ユニット - Google Patents

プログラマブルコントローラおよび通信ユニット Download PDF

Info

Publication number
JP2007299102A
JP2007299102A JP2006124931A JP2006124931A JP2007299102A JP 2007299102 A JP2007299102 A JP 2007299102A JP 2006124931 A JP2006124931 A JP 2006124931A JP 2006124931 A JP2006124931 A JP 2006124931A JP 2007299102 A JP2007299102 A JP 2007299102A
Authority
JP
Japan
Prior art keywords
data
unit
memory
cache memory
message
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
Application number
JP2006124931A
Other languages
English (en)
Other versions
JP4766252B2 (ja
Inventor
Shinichiro Kawaguchi
慎一郎 川口
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2006124931A priority Critical patent/JP4766252B2/ja
Priority to DE602007007537T priority patent/DE602007007537D1/de
Priority to EP07008023A priority patent/EP1850196B1/en
Priority to US11/796,560 priority patent/US7509440B2/en
Publication of JP2007299102A publication Critical patent/JP2007299102A/ja
Priority to US12/366,838 priority patent/US7752341B2/en
Application granted granted Critical
Publication of JP4766252B2 publication Critical patent/JP4766252B2/ja
Active 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
    • G05B19/054Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1103Special, intelligent I-O processor, also plc can only access via processor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15002Image table in I-O expansion module
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

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

Abstract

【課題】 ネットワークに接続された他の装置からのデータ交換要求にリアルタイムに応答し、内部バスのトラフィックを軽減するプログラマブルコントローラを提供すること
【解決手段】 CPUユニット11と、通信ユニット12と、入出力ユニット13とが、内部バスを介して接続される。通信ユニットは、バスマスタ機能を持ち、入出力ユニットのメモリ13dに格納されるIOデータを記憶保持するキャッシュメモリ12dを有する。外部からのメッセージを受信した際に、そのメッセージで指定された入出力ユニットのメモリに格納されたIOデータが更新されているか否かを判断し、更新されていない場合にはキャッシュメモリに保存されているそのIOデータに基づいてレスポンスデータを作成し、更新されている場合には、内部バスのアクセス権を獲得して入出力ユニットにアクセスして更新されたIOデータを取得し、その取得したIOデータに基づいてレスポンスデータを作成する。
【選択図】 図2

Description

この発明は、プログラマブルコントローラおよび通信ユニットに関するものである。
FA(Factory Automation)におけるネットワークシステムは、生産設備の制御を司る1または複数のPLC(プログラマブルコントローラ)と、そのPLCにより動作が制御される機器とが、制御系のネットワークに接続される。それらPLCと機器は、その制御系のネットワークを介してサイクリックに通信を行なうことで、IOデータの送受を行ない、生産設備を制御する。
PLCは、制御プログラムに基づいて演算実行するCPUユニット、センサやスイッチなどの入力機器を接続してそれらのオン・オフ信号を入力信号として取り込む入力ユニット、アクチュエータやリレーなどの出力機器を接続してそれらに対して出力信号を送り出す出力ユニット、ネットワークに接続された他の装置とデータの送受を行なう通信ユニット、各ユニットに電源を供給する電源ユニット、などの複数のユニットを組み合わせることにより構成されている。
また、FAでは、複数台のPLCなどの制御装置をネットワークに接続し、それら複数の制御装置間で協調制御を行なう場合がある。協調制御を行なう場合、たとえばPLCに接続された入出力機器のデータを、ネットワークを介して各PLC間で相互にデータ交換することが行われる。PLC間でデータを交換する方式としては、PLCから他のPLCへデータ交換要求のメッセージを送信し、そのレスポンスとしてPLC入出力ユニットのデータを受信するコマンドレスポンス方式によるデータ交換や、予め設定された情報に基づいて、定期的に各PLCがI/Oデータの送受信を行うようなデータリンク方式がある。
ネットワークに接続されたPLC同士がデータを送受する場合、PLCの構成ユニットの一つである通信ユニットを介して行なわれる。そして、通信ユニットは、データを送受信する機能を備えるだけであるため、いずれの方式においても、データリンクのI/Oアクセス処理、メッセージ送信のI/Oデータの取得など、入出力ユニットのメモリへのアクセスが必要な処理は、実行できない。そこで、係るメモリへのアクセスはバスマスタであるCPUユニットが実行可能であるため、通信ユニットは、CPUユニットに対してI/Oアクセスの要求を通知する必要があった。
そのため、I/Oデータの交換等を行なう都度、CPUユニットでI/Oアクセス処理が行なわれるため、高頻度なデータ交換の場合、CPUユニットの負荷が大きくなり、本来のCPUユニットの機能である制御に影響が生じるおそれがある。従って、入出力ユニット等の周辺ユニットへのアクセスにCPUユニットを介することを必要とするデータ交換方式では、ユーザは、PLCの高速制御と、ネットワーク上の高速・高頻度なデータ交換を両立させることができなかった。
一方、特許文献1や特許文献2に示すように、複数のCPUユニットを備え、それらのCPUユニットが独立して各入出力ユニットをアクセスすることが可能なマルチバスマスタ機能を備えたプログラマブルコントローラが開示されている。この発明を利用して、通信ユニットが入出力ユニットのI/Oメモリ等にアクセスする機能を備えることで、CPUユニットの負担が減る。
特開平5−173985号公報 特開平5−173986号公報
しかしながら、データ交換サイクルの高速化、データの大容量化が要求される背景においては、データ交換時の通信装置のバスアクセスによる急激なバストラフィックの増大という課題が発生し、通信ユニット、CPUユニット両方への影響が大きく、通信ユニットがCPUユニットを介さず、直接周辺ユニットにアクセスできるだけでは、上記の課題を解決することはできない。
この発明の目的は、ネットワークに接続された他の装置からのデータ交換要求にリアルタイムに応答するとともに、内部バスのトラフィックを軽減し、プログラマブルコントローラの制御への影響を低減できるプログラマブルコントローラおよび通信ユニットを提供することにある。
この発明によるプログラマブルコントローラは、CPUユニットと、通信ユニットと、周辺ユニットとが、内部バスを介して接続されたプログラマブルコントローラであって、通信ユニットは、内部バスに対するアクセス権の獲得/開放をするバスマスタ機能を備えるようにした。CPUユニットもバスマスタ機能を備えているため、このプログラマブルコントローラはマルチバスマスタ機能を備えたものとなる。そして、通信ユニットは、周辺ユニットのメモリに格納されるIOデータを記憶保持するキャッシュメモリを有し、そのキャッシュメモリの構造は、周辺ユニットのユニット単位で分割されており、その分割されたユニット単位が更新チェックや、キャッシュメモリのIOリフレッシュの実行単位に設定した。さらに、通信ユニットは、外部からのメッセージを受信した際に、そのメッセージで指定された周辺ユニットのメモリに格納されたIOデータが更新されているか否かを判断する更新有無判断手段と、更新されていない場合にはキャッシュメモリに保存されているその周辺ユニットのIOデータに基づいてレスポンスデータを作成し、更新されている場合には、前記内部バスのアクセス権を獲得して前記周辺ユニットにアクセスして更新されたIOデータを取得し、その取得したIOデータに基づいてレスポンスデータを作成する手段と、を備えるようにした。
周辺ユニットは、実施形態では入出力ユニットに対応するが、制御ユニットその他のユニットでも良い。また、CPUユニットや通信ユニット(マルチバスマスタ機能の有無を問わず)のメモリに対応するキャッシュメモリを備えても良い。また、プログラマブルコントローラが複数の通信ユニットを備えている場合、少なくとも1つの通信ユニットが上記の機能を備えていればよい。
本発明では、周辺ユニットのメモリの内容が更新されていない場合には、メッセージを受信した際に、キャッシュメモリに格納されたIOデータに基づいてレスポンスを返すため、高速なデータ交換サイクルを実現することができる。さらに、メッセージの受信の都度バスのアクセス権を獲得して周辺ユニットのメモリにアクセスし、IOデータを取得する必要がないので、バストラフィックを軽減することができる。また、係るデータ交換を通信ユニットが実行するため、CPUユニットの負荷が軽減される。
さらに、キャッシュのIOリフレッシュ等は、メッセージプロトコルに含まれる宛先情報に基づいてアクセス対象を判断し、該当する周辺ユニットのみに対してのIOリフレッシュやダイレクトアクセスを行なうため、メッセージ送信側は、あたかも、周辺ユニットに直接接続しているように見える。そして、メッセージ送信側が、ばらばらのタイミングで異なる周辺ユニットのデータ交換要求のメッセージを送信したとしても、それぞれの応答に対して、適切なリアルタイム性の確保と、最低限のIOリフレッシュで応答ができる。
また、通信ユニットが、キャッシュメモリに周辺ユニットのIOデータを記憶させてから予め設定された有効期間を経過したか否かを判断する判断手段と、通信ユニットが外部からのメッセージを受信した際に、そのメッセージで指定された周辺ユニットに対応する、キャッシュメモリに格納されたIOデータの保持期間についての判断手段の判断結果が、有効期間を経過していない場合には、キャッシュメモリに保存されているその周辺ユニットのIOデータに基づいてレスポンスデータを作成し、有効期間を経過している場合には、内部バスのアクセス権を獲得して周辺ユニットにアクセスして更新されたIOデータを取得し、その取得したIOデータに基づいてレスポンスデータを作成する手段と、を備えるようにしてもよい。
有効期間を適宜に設定することで、キャッシュメモリに記憶保持されているIOデータと、実際の周辺ユニットのメモリに格納されたIOデータとが同一になる確率を可及的に高めることができる。これにより、キャッシュメモリに基づいて作成したレスポンスデータは、実I/Oデータに近い値となる。しかも、メッセージを受信する都度、更新の有無を確認する必要がないので、簡易となる。
通信ユニットは、取得したIOデータに基づいてキャッシュメモリのIOリフレッシュを実行する手段を備えるとよい。キャッシュメモリのIOリフレッシュのタイミングは任意に設定できるが、このように、メッセージの受信に伴いIOデータを取得した際に行なうことで、無用なIOリフレッシュを無くすことができる。すなわち、データ交換要求があまりこないものに対して頻繁にIOリフレッシュを行なうことがなくなり、バストラフィックの低減を図ることができる。
さらに本発明は、キャッシュメモリに記憶保持されたIOデータを使用するか否か判断を行なうことなく指定された周辺ユニットにアクセスし、その周辺ユニットのメモリに格納されたIOデータを取得し、取得したIOデータに基づいてレスポンスを返す処理を実行するキャッシュOFFモードを備えるとよい。
また、本発明の通信ユニットは、プログラマブルコントローラ用の通信ユニットであって、プログラマブルコントローラの内部バスに対するアクセス権の獲得/開放をするバスマスタ機能を持つ。そして、プログラマブルコントローラを構成する周辺ユニットのメモリに格納されるIOデータを記憶保持するキャッシュメモリを有し、そのキャッシュメモリの構造は、周辺ユニットのユニット単位で分割されており、その分割されたユニット単位が更新チェックや、キャッシュメモリのIOリフレッシュの実行単位に設定する。さらに、外部からのメッセージを受信した際に、そのメッセージで指定された周辺ユニットのメモリに格納されたIOデータが更新されているか否かを判断する更新有無判断手段と、更新されていない場合には前記キャッシュメモリに保存されているその周辺ユニットのIOデータに基づいてレスポンスデータを作成し、更新されている場合には、前記内部バスのアクセス権を獲得して前記周辺ユニットにアクセスして更新されたIOデータを取得し、その取得したIOデータに基づいてレスポンスデータを作成する手段と、を備える。
本発明では、ネットワークに接続された他の装置からのデータ交換要求にリアルタイムに応答するとともに、内部バスのトラフィックを軽減し、プログラマブルコントローラの制御への影響を低減できる。
図1は、本発明のPLCを含むネットワークシステムの一例を示している。このネットワークシステムは、複数のネットワークに、パソコン,PLC,その他の機器等が接続されている。図1では、便宜上各ネットワーク1,2に接続されるPLC10のみ接続されている状態を示している。第1ネットワーク1には、3つのPLC10(#0,#1,#2)が接続され、第2ネットワーク2には、3つのPLC10(#0,#3,#4)が接続されている。ここで、PLC10に付随して記載された“#n”は、ネットワークにおけるPLCのノード番号である。
PLC10は、ラダープログラムなどの実行を行なうCPUユニット11と、ネットワークに接続するための通信ユニット12と、入出力ユニット13や制御ユニット14などの各種のユニットと、から構成される。入出力ユニットは、例えば基本I/Oユニットや高機能I/Oユニットなどがある。制御ユニット14は、モーションコントローラユニットその他の高機能ユニットなどがある。PLC10は、これら各ユニットをバックプレーンの所定のスロットに装着することで構成される。各ユニットは、スロットに装着することでバックプレーン内部に配置された内部バスに接続され、バスを介してのユニット間のデータ通信が可能となる。
PLC10は、通信ユニット12によりネットワークに接続される。そして、ネットワーク上のPLC10間では、メッセージによってデータ交換が行われる。リクエストメッセージの送信タイミングは、通信ユニット自身が予め設定された周期に基づいて定周期で送信する場合と、プログラムで記述されたメッセージ送信実行のタイミングでイベント的に送信する場合がある。
本実施形態では、CPUユニット11と通信ユニット12が、バスマスタとなり、バス権を確保して他のユニットのメモリにアクセス可能となる。その他のユニットは、周辺ユニットとなる。2つのネットワーク1,2に接続されているPLC10(#0)を例にすると、1つのCPUユニット11(#0)と、2つの通信ユニット12(#1,#2)と、2つの入出力ユニット13(#1,#2)と、1つの制御ユニット14とを備えている。もちろん、図示省略しているが、電源ユニットも備えている。
図3は、そのPLC10(#0)の各ユニットの内部構成(ハードウェアブロック)を示している。CPUユニット11は、ツール装置と接続するためのツールインタフェース11aと、そのツールインタフェース11aを介してツール装置からダウンロードされたユーザプログラム等を演算実行するMPU11bと、MPU11bが演算実行する際にワークメモリとして使用したり他のユニットのIOデータ等を記憶するメモリ11dと、PLCの内部バス(PLCバス,バックプレーンバス)10aに接続し他のユニットとデータ通信を行なうバスインタフェース11cと、を備えている。バスインタフェース11cは、ASICで構成される。各処理部の基本的な機能は、従来のものと同様である。
通信ユニット12は、通信インタフェース12aと、MPU12bと、バスインタフェース12cと、キャッシュメモリ12dと、を備えている。通信インタフェース12aは、ネットワーク1,2に接続され、ネットワーク1,2に対するデータの送受を行なう。通信コントローラ12eは、MPU12bからの指示に従い、ネットワーク1,2に接続された他のPLC宛の送信メッセージを作成し、通信インタフェース12aを介して送信したり、通信インタフェース12aを介して取得したメッセージを解析し、所定の受信処理を実行したりする。
MPU12bは、通信コントローラ12eから取得したデータ要求メッセージに基づき必要なデータを取得すると共にレスポンスデータを生成し通信コントローラ12eに返したり、定時的或いはCPUユニット11からの送信要求に伴い送信メッセージを生成し通信コントローラ12eに渡したりする。
バスインタフェース12cは、PLCの内部バス10aに接続し他のユニットとデータ通信を行なう。このバスインタフェース12cは、ASICで構成される。上述した通信ユニット12における各処理部の基本的な機能は、従来のものと同様である。
ここで本実施形態では、通信ユニット12にバスマスタ機能を与えた。これにより、図4に示すように、MPU12bは、バスインタフェース12cを介して自己のキャッシュメモリ12dに対してデータの読み書きができるとともに、内部バス10a経由で他の周辺ユニット(例えば入出力ユニット13)のメモリ13dにアクセスしてデータの読み書きを行なうことができる。もちろん、バスマスタは、周辺ユニットだけでなく、バスインタフェースを介して他のバスマスタのメモリに直接アクセス可能であるため、MPU12bは、CPUユニット11のメモリ11dや他の通信ユニット11のキャッシュメモリ12dに対してもアクセスしてデータの読み書きが行なえる。
また、このように複数のユニットにバスマスタ機能を設けたことで、その複数のバスマスタの内部バス10aへのアクセスが競合した場合、バスインタフェースでアービトレーションされる。アービトレーションの方法は、アクセス要求がなされた順番で処理を行なう。また、バスインタフェースにおけるアービトレーションは、予めバスマスタの優先度を設定することにより、優先度が高く設定されたバスマスタからのアクセスを優先的に実行するようにしてもよい。
入出力ユニット13は、IOインタフェース13aと、MPU13bと、バスインタフェース13cと、メモリ13dと、を備えている。IOインタフェース13aは、接続されたI/O機器とデータの送受を行なう。I/O機器が入力機器の場合、IOインタフェース13aは、その入力機器からのIOデータをMPU13bに渡す。I/O機器が出力機器の場合、IOインタフェース13aは、MPU13bからの指示に従いその出力機器に対してIOデータを出力する。MPU13bは、バスインタフェース13cを介してメモリ13dにアクセスし、IOデータの読み書きをしたり、IOインタフェース13aを介してI/O機器とデータの送受を行なったりする。
同様に、制御ユニット14は、IOインタフェース14aと、MPU14bと、バスインタフェース14cと、メモリ14dと、を備えている。IOインタフェース14aは、接続された制御機器とデータの送受を行なう。MPU14bは、バスインタフェース14cを介してメモリ14dにアクセスしてIOデータの読み書きをしたり、IOインタフェース14aを介して制御機器とデータの送受を行ない制御機器の動作を制御したりする。
入出力ユニット13や制御ユニット14は、バスマスタ機能を備えていないため、他のユニットのメモリにアクセスすることはできない。これら入出力ユニット13と制御ユニット14における各処理部の基本的な機能は、従来のものと同様である。
図2に示すように、本発明では、通信ユニット12は、バスマスタ機能を備えているため、予め他のユニット(例えば入出力ユニッ13)のメモリ13dにアクセスし、そのメモリ13dに格納されたIOデータを読み出すと共に、自己のキャッシュメモリ12dに読み出したIOデータを格納しておく。
これにより、他のPLC(#1,#2)から、PLC10(#0)に対して入出力ユニット13(#1,#2)のIOデータについてのデータ要求メッセージが発せられた場合、そのメッセージを受信した通信ユニット12は、自己のキャッシュメモリ12dに予め保存していた各IOデータを読み出し、レスポンスを返す。その結果、データ要求メッセージを受信する都度、入出力ユニットのメモリにアクセスする必要が無く、内部バス10aのバストラフィックを軽減しつつ、高速なデータ交換を行なえる。
図4は、バスマスタとなる通信ユニット12のソフトウェア機能の相関図を示している。通信物理層は、通信インタフェース12aに対応し、バス物理層は、バスインタフェース12cに対応する。(1)通信ドライバは、外部との通信を行うドライバであり、ネットワーク層の各通信プロトコルでカプセル化されたリクエストメッセージの送受信を行なう。
(2)VPNサーバ/クライアントは、送受信するデータの宛先の制御の解析を行なう。すなわち、通信インタフェース12aで受信したメッセージを解析して宛先ユニットIDを取得し、プロキシに通知する。受信したメッセージに対するレスポンスを返す相手先アドレスも取得し、管理する。また、データ送信時は、宛先ユニットIDから送信メッセージを作成する。
(3)プロキシは、キャッシュメモリ12dのIOリフレッシュの制御を行う。すなわち、他のPLCからのデータ要求メッセージをVPNサーバ/クライアント経由で受信した場合、要求を受けたデータが、キャッシュメモリ12dに格納されているものが最新のものか否かを判断し、最新のものの場合にはキャッシュメモリ12dに格納されているデータを取得し、最新のものでない場合にはその要求を受けたデータが格納された実際のユニットのメモリにアクセスして取得し、レスポンスを返すようにする。この最新のものか否かの判断アルゴリズムは、後述する。
(4)キャッシュメモリ管理部は、ユニットIDに対応するキャッシュメモリエリアの物理アドレス、および、そのデータを管理する。プロキシからの要求に従い、キャッシュデータの送受をする。
(5)バスマスタ管理部は、ユニットIDに対応するバスの物理アドレスを管理する。管理する物理アドレスは、更新レジスタのアドレス、I/Oメモリエリアのアドレスなどである。
(6)バスドライバは、バスアクセスのためのドライバであり、内部バスのアクセス権を取得して内部バス10aを介してのデータの読み書きを行ない、処理終了後に取得した内部バスのアクセス権を離す。
次に、メモリマップおよび、メモリの割付方法について説明する。図6は、バスマスタ(通信ユニット12)のMPU12bからのメモリの見え方と、周辺ユニット(入出力ユニット13)のMPU13bからのメモリの見え方と、を示している。PLC10(#0)では、入出力ユニット13は2つ備えていたが、ここでは3つの入出力ユニット13(#1,#2,#3)を備えた例を示している。
入出力ユニット13はバスマスタでないため、そのMPU13bは、自己のメモリ13dに格納されたIOデータ(I/Oメモリ#n)と、そのIOデータの更新の有無を示す更新レジスタ#nとが見え、他のユニットのメモリに格納されたデータは見えない。
通信ユニット12はバスマスタであるので、そのMPU12bは、自己のキャッシュメモリ12dに格納されたデータ(各入出力ユニットのIOデータのキャッシュデータ)と、他の各ユニット(入出力ユニット13)のメモリ13dに格納されたデータ(IOデータと、更新レジスタ)と、を見ることができる。
周辺ユニットのメモリは、バス上にマッピングされる。すなわち、各ユニットのI/Oメモリの割付は、ユニット番号順にユニークに設定し、各ユニットの更新レジスタの割付はスロット位置から順にユニークに割り付ける。具体的には、
I/Oメモリ割付=開始アドレス+ユニット番号*1ユニットのメモリ容量
更新レジスタ割付=開始アドレス+スロット番号*更新レジスタ容量
により設定される。ここで、バス上にマッピングされるI/Oメモリ割付の場合の開始アドレスは、バスアクセスエリア先頭アドレスとし、更新レジスタ割付の場合の開始アドレスは更新レジスタ先頭アドレスとする。
さらに、本実施形態では、バス上にマッピングされるI/Oメモリの割付方法と、キャッシュメモリ12dにおける各I/Oメモリの割付方法を同じにしている。つまり、あるIOデータに対する読み書きを行なう場合、データ開始アドレスをバスアクセスエリア先頭アドレスに設定すると実際の入出力ユニット13のメモリ13dにアクセスし、該当のIOデータの読み書きを行なうことができ、開始アドレスをキャッシュメモリのメモリ先頭アドレスに設定するとキャッシュメモリ12dにアクセスし、該当のIOデータの読み書きを行なうことができる。
図7,図8は、周辺ユニット(入出力ユニット13)のメモリ13dのメモリマップを示している。図7に示すように、メモリ13dは、I/Oメモリエリアと更新レジスタエリアに分けられる。I/Oメモリエリアは、実I/O機器のIOデータが格納されるエリアである。更新レジスタエリアは、各バスマスタユニット専用の更新レジスタからなる。更新レジスタは、I/Oメモリエリアに格納されたIOデータが更新されたか否かの情報を格納する。バスマスタユニットが周辺ユニットにアクセスする場合に使用する更新レジスタは、バスマスタユニットのスロット位置から一意に決まる。すなわち、仮にバスマスタが最大8個設定される場合、図7に示すように、バスマスタ#0用更新レジスタ,バスマスタ#1用更新レジスタ,……バスマスタ#7用更新レジスタというように8個のレジスタがスロット番号の順に割り付けられる。図7において、バスマスタ#n用更新レジスタは、スロット番号=nに装着されたバスマスタユニットが使用する。
また、1つの更新レジスタのデータサイズは1Wである。バスマスタ更新レジスタは、その1Wのデータのうち、2bitを意味のあるデータとして使用する。バスマスタ、もしくは周辺ユニットが周辺ユニットのメモリのデータを更新した場合は、対応するbitが”1”となる。
バスマスタ側の更新bitは、バスマスタ内のMPUがバス経由で周辺ユニットのメモリを更新した際に、その周辺ユニットにおける自己用の更新レジスタのバスマスタ側更新bitに“1”を書き込む。周辺ユニットはバスマスタ側更新bitが“1”となりI/Oメモリエリアが更新されたことを知り、周辺ユニットがデータを刈り取った場合、周辺ユニットの該当bitに0を書き込む。
同様に、周辺ユニット側装置側更新bitは、周辺ユニット内のMPUがその周辺ユニットのメモリを更新した際に、周辺ユニットが全てのバスマスタ用更新レジスタの周辺ユニット側更新bitに“1”を書き込む。バスマスタがデータを刈り取った場合、バスマスタが自己用の更新レジスタの周辺ユニット側更新bitに“0”を書き込む。バスマスタ用更新レジスタにおけるバスマスタ側更新bitと、周辺ユニット側更新bitとの“0/1”の組み合わせから、下記表の4つの状態がある。
Figure 2007299102
図8に示すように、I/Oメモリエリアは、実機のIOデータを格納する“I/Oデータ領域”と、そのI/Oデータ領域内のデータのアドレスを特定するための“IOデータ領域情報”とを備えている。このIOデータ領域情報は、IOメモリエリアの先頭に格納されており、“INデータサイズ”,“INデータ領域先頭アドレス”,“OUTデータサイズ”,“OUTデータ領域先頭アドレス”の4つの領域が設定されている。バスマスタは、このIOデータ領域情報を用いてINデータの取得や、OUTデータの出力を行なう。このIOデータ領域情報は、周辺ユニットごとに定義され、周辺ユニットが初期設定時に設定する。
図9は、バスマスタ(通信ユニット12)のMPU12bおよび周辺ユニット(入出力ユニット13)のMPU13bが、その周辺ユニット(入出力ユニット13)のメモリ13dに対してアクセスする際のアクセス方向を示している。“IOデータ領域情報”に対しては、周辺ユニットである入出力ユニット13のMPU13bが書き込み、バスマスタである通信ユニット12のMPU12bが読み出す。“INデータ領域”に対しては、入出力ユニット13のMPU13bが書き込み、通信ユニット12のMPU12bが読み出す。一方、“INデータ領域”に対しては、通信ユニット12のMPU12bが書き込み、入出力ユニット13のMPU13bが読み出す。そして、“更新レジスタ領域”に対しては、通信ユニット12のMPU12bと入出力ユニット13のMPU13bとが、共に読み書きをする。
この“更新レジスタ領域”に対する書き込みは、以下のようになる。バスマスタ(通信ユニット12)から周辺ユニット(入出力ユニット13)のOUTデータ領域を更新した場合、MPU12bは更新レジスタ領域の全レジスタに対して、バスマスタ側更新bitに1(ON)を書き込む。バスマスタがINデータ領域のデータを取得する場合、MPU12bは該当する更新レジスタのみを読み込む。そして、バスマスタがINデータ領域の更新データを刈り取った場合、MPU12bは、該当する更新レジスタの周辺ユニット側更新bitのみに対して0(OFF)を書き込む。
一方、入出力ユニット13がINデータ領域を更新する場合、MPU13bは更新レジスタ領域の全レジスタに対して、周辺ユニット側更新bitに1(ON)を書き込む。実際には、図16に示すフローチャートのように、MPU13bは、メモリのアクセス権を獲得(S11)後に、入力データの書き込み(S12)と周辺ユニット側更新bitの書き込み(S13)をし、その後、メモリのアクセス権を解放する(S14)処理を実行する。
入出力ユニット13がOUT領域のデータを取得する場合、MPU13bは該当する更新レジスタのみを読み込む。入出力ユニット13がOUT領域の更新データを刈り取った場合、MPU13bは該当する更新レジスタのバスマスタ側更新bitに対して0(OFF)を書き込む。実際には、図17に示すフローチャートのように、MPU13bは、メモリのアクセス権を獲得(S21)後に、出力データの刈り取り(S22)とバスマスタ側更新bitの書き込み(S23)をし、その後、メモリのアクセス権を解放する(S24)処理を実行する。
このようにすることで、バスマスタのMPUは、バスマスタ側更新bitを確認することで、キャッシュメモリ12dに格納されたキャッシュデータが最新のもの(入出力ユニットのメモリに格納されているものと同じ内容)であるか否かを判断できる。
図10は、キャッシュメモリ12dのメモリマップを示している。図示するように、周辺ユニットのユニット番号順に、I/Oメモリ用キャッシュメモリエリアを割り付けている。これにより、バスマスタのMPU12bが各周辺ユニットのI/Oデータをキャッシュする領域は、対象となる周辺ユニットのユニット番号から一意に決まる。I/Oメモリ用キャッシュエリアの先頭アドレスは、キャッシュメモリ管理機能において一元的に管理される。具体的なアドレスは、
I/Oメモリ割付=開始アドレス+ユニット番号*1ユニットのメモリ容量
により求められる。
次に、具体的なメッセージの送受信の手順を説明しつつ、各ユニットの機能を説明する。メッセージ送信には、CPUユニット11がリクエストメッセージを生成して送信するものと、通信ユニット12が定周期でリクエストメッセージを生成して送信するものの2種類がある。
図11は、CPUユニット11がメッセージ送信を行う場合の動作フローを示している。メッセージ送信側のPLC10のCPUユニット11は、ユーザプログラムの演算実行に伴いリクエストメッセージを生成し(T1)、そのメッセージを通信ユニット12に転送する(T2)。通信ユニット12は、CPUユニット11からのリクエストメッセージを取得すると(T3)、その取得したメッセージをネットワークへ送信する(T4)。このT1からT4の各処理は、基本的に従来のものと同様である。
メッセージ受信側のPLC10は、通信ユニット12がメッセージを受信する(T5)と、キャッシュ制御を実行し(T6)、レスポンスを生成する(T7)。つまり、通信ユニット12のMPU12bは、キャッシュメモリ12dに格納された現在のキャッシュデータを利用可能か否かを判断し、利用可能な場合にはそのキャッシュデータに基づいてレスポンスを生成し、利用できない場合には内部バス経由で指定された他のユニットのメモリにアクセスしてデータを取得し、取得したデータに基づいてレスポンスを生成する。実際には、その取得したデータをキャッシュメモリに格納し、更新されたキャッシュメモリの内容に基づいてレスポンスを生成する。次いで、MPU12bは、生成されたレスポンスを送信する(T8)。なお、この受信側の詳細な処理は、後述する。
メッセージ送信側のPLC10の通信ユニット12は、ネットワークを介してレスポンスが返送されてくるのを待つ。そして、通信ユニット12は、レスポンスを受信した(T9)ならば、受信したレスポンスを解析し、周辺ユニット或いはCPUユニットのメモリにデータを反映させ、内部バス10a経由でCPUユニット11に対して完了通知を送る(T10)。
図12は、上記のリクエストメッセージとそれに対するレスポンスメッセージのデータ構造を示している。リクエストメッセージは、ネットワークヘッダと、メッセージ種別と、キャッシュON/OFFと、宛先IDと、送信元IDと、を備えている。
ネットワークヘッダは、各ネットワークに応じた通信プロトコルで規定されたヘッダであり、通信コントローラが生成する。メッセージ種別は、リクエストメッセージか、レスポンスメッセージか、また、リクエスト内容が、データリード要求か、データライト要求かを表す。キャッシュON/OFFは、ネットワークで接続された他のPLCでのキャッシュアクセス方法を指定する。これがOFFの場合、受信側は必ず実機のメモリに格納されたIOメモリデータを読み取り、レスポンスデータを返すようになる。つまり、図5のソフトウェア機能ブロック図では、プロキシを介することなく、“通信ドライバ−VPNサーバ/クライアント−バスドライバ”の経路でデータの送受を行なうことになる。宛先IDと送信元IDとは、ともに「PLCのノードアドレス+ユニット番号」で表される。PLCのノードアドレスは、ネットワーク上でPLC固有に割り当てられる番号であり、この番号でネットワーク上のPLCを一意に特定できる。
ユニークに割り当てられ、ユニット番号は、PLCを構成する各ユニットごとに固有に割り当てされ、PLCのメモリエリアにも割り当てることができる。これにより、ネットワーク上に存在するCPUユニット,通信ユニット並びに、周辺ユニットは、すべて個別のID(ユニットID)を持つことになる。
図11におけるT10のデータ反映処理は、具体的には図13に示すフローチャートを実行する。まず受信したレスポンスから、宛先IDを取り出す(S1)。宛先IDは、PLCのノードアドレスと該当ユニットのユニット番号の組み合わせからなる。
次いで、MPU12bは、宛先IDのユニット番号から、宛先ユニットの物理アドレスを算出するとともに(S2)、内部バスのアクセス権を取得する(S3)。そして、MPU12bは、算出した物理アドレスに取得したレスポンスデータのIOメモリデータを書き込む(S4)。これにより、リクエストメッセージで要求したデータが所望のメモリに書き込まれる。その後、MPU12bは、取得した内部バスのアクセス権を解放し、データ反映処理を完了する(S5)。
図14は、通信ユニット12が定周期でリクエストメッセージを送信する場合の動作フローを示している。定周期で送信するリクエストメッセージは、サイクリック受信制御情報として所定の記憶エリアに記憶保持される(図15参照)。そこで、MPU12bは、送信周期になったならば、その記憶保持されたリクエストメッセージを取得し(T11)、その取得したメッセージをネットワークへ送信する(T12)。なお、サイクリック通信制御情報は、通信ユニットに対してツール装置などから設定される。
メッセージ受信側のPLC10は、通信ユニット12がメッセージを受信する(T5)と、キャッシュ制御を実行し(T6)、レスポンスを生成し(T7)、生成されたレスポンスを送信する(T8)。
メッセージ送信側のPLC10の通信ユニット12は、T12のリクエストメッセージの送信が完了(ACKの受信等)したならば、ネットワークを介してレスポンスが返送されてくるのを待つ(T13)。受信の有無は、MPU12bとは別に動作する通信コントローラがレスポンスを受信すると、受信フラグをONにするので、このT13の判断は、係る受信フラグがONか否かにより行なう。なお、送信したリクエストメッセージに対するレスポンスを処理した後、未処理のレスポンスがない場合にはT13の分岐判断がNoとなり、T11に飛び、次の定周期のリクエストメッセージの送信のための処理を行なう。
そして、通信ユニット12のMPU12bは、受信フラグがON(T13でYes)になると、レスポンスを受信するとともに、受信したレスポンスを解析する(T14)。そして、周辺ユニット或いはCPUユニットのメモリにデータを反映させ、内部バス経由でCPUユニット11に対して完了通知を送る(T10)。
次に、メッセージ受信側の動作を説明する。図18から図20は、データ要求のメッセージを受信した通信ユニットの機能を説明するフローチャートである。また、図21は、それらのフローチャートをプロトコルレベルで記載したものである。
まず、通信ドライバは、メッセージを受信すると、ネットワークヘッダ等のメッセージ中の不要なデータを削除した後、VPNサーバ/クライアントに渡す(S31)。VPNサーバ/クライアントは、通信ドライバから渡されたメッセージ中の宛先IDからユニット番号を取得し、バスの物理アドレスと、キャッシュ物理アドレスを求める(S32)。さらに、キャッシュモード(ON/OFF)を取得し(S33)、そのモードの内容を確認する(S34)。
そして、モードがキャッシュONの場合、図18に示すように、プロキシはリアルタイムモードを実行する。つまり、宛先ユニットの更新レジスタを取得し(S35)、更新レジスタの周辺ユニット側更新bitが1になっているか否かを判断する(S36)。bitが0の場合(S36がNo)、宛先ユニットのメモリに格納されたデータと、それに対応するキャッシュメモリ12dに格納されたデータが同じであるため、プロキシは、キャッシュメモリ12dからデータを読み出す。一方、bitが1の場合(S36でNo)には、宛先ユニットについてのキャッシュメモリのIOリフレッシュを行なう(S37)。つまり、プロキシは、キャッシュ物理アドレスとばす物理アドレスをI/Oドライバに渡し、I/Oドライバが取得しアドレスに従ってバス状のI/Oメモリから該当するデータを読み込むと共に、キャッシュメモリに書き込む。これにより、IOリフレッシュ実行後のキャッシュメモリの内容は実機のメモリと同一内容となる。その後、プロキシは、キャッシュメモリ12dからデータを読み出す(S38)。プロキシは、この読み出しデータをVPNサーバ/クライアントに渡す。
VPNサーバ/クライアントは、プロキシから渡されたデータに基づきレスポンスデータを作成し、通信ドライバに渡す(S39)。通信ドライバは、受け取ったレスポンスデータをネットワークに送信する(S40)。
つまり、この例では、実際に周辺装ユニットデータが更新されているかどうかを、更新レジスタの値をチェックすることで確認し、更新されていなければ、キャッシュメモリのデータをレスポンスする。逆に、更新されている場合は、キャッシュメモリのIOリフレッシュを行う。
S31のメッセージ受信処理が、図11,図14のT5に対応する。同じく、S39とS40がそれぞれT7とT8に対応する。そして、S32からS38の一連の処理が、T6のキャッシュ制御に対応する。
図19は、キャッシュ制御の変形例である。この例では、IOデータをレスポンス時に、キャッシュメモリのデータをレスポンスするか、キャッシュメモリをIOリフレッシュしてからレスポンスするかを、各キャッシュメモリのI/Oメモリ領域ごとに設定された有効期間に応じて判断する。つまり、プロキシは、宛先のキャッシュの有効期間を取得し(S45)、対象となるIOメモリ領域のキャッシュデータが有効期間を経過したか否かを判断し(S46)、超過していた場合(S46でYes)はキャッシュメモリのIOリフレッシュを行なった(S37)後、有効期間のカウントをリセットする(S49)。そして、プロキシは、有効期間経過前、或いはIOリフレッシュ後に、キャッシュメモリからデータを読み出す(S38)。プロキシは、この読み出しデータをVPNサーバ/クライアントに渡す。なお、有効期間は、キャッシュメモリの各IOメモリ毎(ユニット毎)に設定できる。
VPNサーバ/クライアントは、プロキシから渡されたデータに基づきレスポンスデータを作成し、通信ドライバに渡す(S39)。通信ドライバは、受け取ったレスポンスデータをネットワークに送信する(S40)。
一方、処理ステップS34の分岐判断で、モードがキャッシュOFFとなっていた場合には、図20に示すフローチャートを実行する。すなわち、キャッシュOFFの場合、実際の周辺ユニットのメモリアドレスに格納されたデータに基づいてレスポンスを返すことから、バスのアクセス権を獲得し(S65)、周辺ユニットにアクセスしその周辺ユニットのメモリアドレスからデータを読み込んだ後(S66)、バスのアクセス権を開放する(S67)。その他の処理は、上述したものと同じである。
図22,図23は、本発明の別の実施形態の要部を示している。この実施形態では、1つのリクエストメッセージにおける宛先として複数の周辺ユニットを指定できようにしている。係る機能を実現するため、図22に示すように、リクエストメッセージは、宛先IDと送信元IDのペアを複数格納することができるようにした。これに伴い、レスポンスメッセージも、宛先ID,送信元ID,データサイズ,IOメモリデータの組(1台のユニット分)をひとまとめとして、複数組分を格納できるようにした。
この実施形態の受信側通信ユニットは、図23に示すフローチャートを実行する機能を有する。すなわち、処理ステップS31からS34までは、上述した実施形態と同様である。そして、処理ステップS34の分岐判断でリクエストメッセージで指定されたモード(キャッシュON/OFF)に従い、所定のキャッシュ制御処理を実行する(S70)。つまり、“図18のS35からS38”,“図19のS45,S46,S37,S49,S38”,“図20のS65からS67”のいずれかの処理を実行する。
その後、VPNサーバ/クライアントは、レスポンスデータを作成し(S39)、未処理の宛先IDが残っているか否かを判断し(S71)、残っている場合には処理ステップS32に戻り次の宛先ID取り出し、S33,S34,S70,S39の一連の処理を実行する。このとき、レスポンスデータの作成処理(S39)では、作成する都度、それまでに作成していたレスポンスデータ(宛先ID,送信元ID,データサイズ,I/Oメモリデータ)の後ろに連結する。
そして、リクエストメッセージで指定された全ての宛先IDについてのレスポンスデータを生成したならば、通信ドライバはレスポンスデータを送信する(S40)。
本発明のプログラマブルコントローラを含むネットワークシステムの一例を示す図である。 データ交換の一例を示す図である。 PLC10(#0)の各ユニットの内部構成を示すブロック図である。 各MPUのメモリアクセスを説明する図である。 通信ユニットのソフトウェア機能図である。 各ユニットのMPUからみたメモリの見え方の一例を示す図である。 周辺ユニット(入出力ユニット)のメモリのデータ構造の一例を示す図である。 I/Oメモリエリアのデータ構造の一例を示す図である。 周辺ユニット(入出力ユニット)のメモリに対するバスマスタと周辺ユニットのMPUのアクセスを説明する図である。 キャッシュメモリのデータ構造の一例を示す図である。 メッセージの送受信を説明する動作フローである。 メッセージのデータ構造の一例を示す図である。 受信したレスポンスの反映処理を示すフローチャートである。 メッセージの送受信を説明する動作フローである。 サイクリック受信制御情報の一例を示す図である。 入力データ反映処理を示すフローチャートである。 出力データ反映処理を示すフローチャートである。 メッセージ受信側の機能を説明するフローチャートである。 メッセージ受信側の機能を説明するフローチャートである。 メッセージ受信側の機能を説明するフローチャートである。 メッセージ受信側の処理を説明する図である。 別の実施形態におけるメッセージのデータ構造の一例を示す図である。 別の実施形態におけるメッセージ受信側の機能を説明するフローチャートである。
符号の説明
10 PLC
11 CPUユニット
12 通信ユニット
13 入出力ユニット
14 制御ユニット

Claims (5)

  1. CPUユニットと、通信ユニットと、周辺ユニットとが、内部バスを介して接続されたプログラマブルコントローラであって、
    前記通信ユニットは、前記内部バスに対するアクセス権の獲得/開放をするバスマスタ機能を持ち、
    前記通信ユニットは、前記周辺ユニットのメモリに格納されるIOデータを記憶保持するキャッシュメモリを有し、そのキャッシュメモリの構造は、前記周辺ユニットのユニット単位で分割されており、その分割されたユニット単位が更新チェックや、キャッシュメモリのIOリフレッシュの実行単位に設定され、
    前記通信ユニットは、
    外部からのメッセージを受信した際に、そのメッセージで指定された周辺ユニットのメモリに格納されたIOデータが更新されているか否かを判断する更新有無判断手段と、
    更新されていない場合には前記キャッシュメモリに保存されているその周辺ユニットのIOデータに基づいてレスポンスデータを作成し、更新されている場合には、前記内部バスのアクセス権を獲得して前記周辺ユニットにアクセスして更新されたIOデータを取得し、その取得したIOデータに基づいてレスポンスデータを作成する手段と、
    を備えたことを特徴とするプログラマブルコントローラ。
  2. 前記通信ユニットが、
    前記キャッシュメモリに前記周辺ユニットのIOデータを記憶させてから予め設定された有効期間を経過したか否かを判断する判断手段と、
    前記通信ユニットが外部からのメッセージを受信した際に、そのメッセージで指定された周辺ユニットに対応する、キャッシュメモリに格納されたIOデータの保持期間についての前記判断手段の判断結果が、有効期間を経過していない場合には、前記キャッシュメモリに保存されているその周辺ユニットのIOデータに基づいてレスポンスデータを作成し、有効期間を経過している場合には、前記内部バスのアクセス権を獲得して前記周辺ユニットにアクセスして更新されたIOデータを取得し、その取得したIOデータに基づいてレスポンスデータを作成する手段と、
    を備えたことを特徴とする請求項1に記載のプログラマブルコントローラ。
  3. 前記通信ユニットが、前記取得したIOデータに基づいて前記キャッシュメモリのIOリフレッシュを実行する手段を備えたことを特徴とする請求項1または2に記載のプログラマブルコントローラ。
  4. キャッシュメモリに記憶保持されたIOデータを使用するか否か判断を行なうことなく指定された周辺ユニットにアクセスし、その周辺ユニットのメモリに格納されたIOデータを取得し、取得したIOデータに基づいてレスポンスを返す処理を実行するキャッシュOFFモードを備えたことを特徴とする請求項1から3のいずれか1項に記載のプログラマブルコントローラ。
  5. プログラマブルコントローラ用の通信ユニットであって、
    プログラマブルコントローラの内部バスに対するアクセス権の獲得/開放をするバスマスタ機能を持ち、
    プログラマブルコントローラを構成する周辺ユニットのメモリに格納されるIOデータを記憶保持するキャッシュメモリを有し、
    前記キャッシュメモリの構造は、前記周辺ユニットのユニット単位で分割されており、その分割されたユニット単位が更新チェックや、キャッシュメモリのIOリフレッシュの実行単位に設定され、
    外部からのメッセージを受信した際に、そのメッセージで指定された周辺ユニットのメモリに格納されたIOデータが更新されているか否かを判断する更新有無判断手段と、
    更新されていない場合には前記キャッシュメモリに保存されているその周辺ユニットのIOデータに基づいてレスポンスデータを作成し、更新されている場合には、前記内部バスのアクセス権を獲得して前記周辺ユニットにアクセスして更新されたIOデータを取得し、その取得したIOデータに基づいてレスポンスデータを作成する手段と、
    を備えたことを特徴とする通信ユニット。
JP2006124931A 2006-04-28 2006-04-28 プログラマブルコントローラおよび通信ユニット Active JP4766252B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006124931A JP4766252B2 (ja) 2006-04-28 2006-04-28 プログラマブルコントローラおよび通信ユニット
DE602007007537T DE602007007537D1 (de) 2006-04-28 2007-04-19 Programmierbares Steuergerät mit einer Kommunikationseinheit zur Beantwortung von Anfragen nach E/A-Daten in Echtzeit
EP07008023A EP1850196B1 (en) 2006-04-28 2007-04-19 Programmable controller with communication unit capable of responding in real time to request of I/O data
US11/796,560 US7509440B2 (en) 2006-04-28 2007-04-27 Programmable controller and communication unit therefor
US12/366,838 US7752341B2 (en) 2006-04-28 2009-02-06 Programmable controller and communication unit therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006124931A JP4766252B2 (ja) 2006-04-28 2006-04-28 プログラマブルコントローラおよび通信ユニット

Publications (2)

Publication Number Publication Date
JP2007299102A true JP2007299102A (ja) 2007-11-15
JP4766252B2 JP4766252B2 (ja) 2011-09-07

Family

ID=38372299

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006124931A Active JP4766252B2 (ja) 2006-04-28 2006-04-28 プログラマブルコントローラおよび通信ユニット

Country Status (4)

Country Link
US (2) US7509440B2 (ja)
EP (1) EP1850196B1 (ja)
JP (1) JP4766252B2 (ja)
DE (1) DE602007007537D1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2015162760A1 (ja) * 2014-04-24 2017-04-13 三菱電機株式会社 Plcユニット及びプログラマブルロジックコントローラ

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201019131A (en) * 2008-11-14 2010-05-16 Micro Star Int Co Ltd Complex servo controlling system
DE102010027286B4 (de) * 2010-07-16 2012-06-21 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Übertragung von Daten in einem Automatisierungssystem
JP4877424B1 (ja) * 2011-03-15 2012-02-15 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体
JP4926299B1 (ja) * 2011-03-22 2012-05-09 三菱電機株式会社 プログラマブルロジックコントローラ
US10315119B2 (en) * 2011-05-17 2019-06-11 Activision Publishing, Inc. Video game with concurrent processing of game-related physical objects
US8806085B2 (en) 2012-08-09 2014-08-12 Ge Intelligent Platforms, Inc. Application specific integrated circuit (ASIC) disposed in input/output module connectable to programmable logic controller (PLC) based systems having plurality of connection paths
EP2924928B1 (de) * 2014-03-25 2019-07-17 Siemens Aktiengesellschaft Empfänger-Netzwerkkomponente zum Betrieb in einem Kommunikationsnetzwerk und Verfahren zum Betreiben eines Kommunikationsnetzwerks
JP6649415B2 (ja) * 2018-01-29 2020-02-19 ファナック株式会社 制御システム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06149318A (ja) * 1992-11-04 1994-05-27 Yokogawa Electric Corp I/oインターフェイス装置
JP2000010608A (ja) * 1998-06-24 2000-01-14 Omron Corp 通信装置、plcユニットおよび表示器
JP2000194673A (ja) * 1998-12-28 2000-07-14 Omron Corp 情報受け渡し仲介装置
JP2003242017A (ja) * 2002-02-15 2003-08-29 Hitachi Ltd 情報公開方法及び情報公開システム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228495A (en) * 1978-12-19 1980-10-14 Allen-Bradley Company Multiprocessor numerical control system
US4442504A (en) * 1981-03-09 1984-04-10 Allen-Bradley Company Modular programmable controller
JPS582904A (ja) * 1981-06-27 1983-01-08 Omron Tateisi Electronics Co プログラマブル・ロジツク・コントロ−ラ
US4742443A (en) 1985-03-28 1988-05-03 Allen-Bradley Company Programmable controller with function chart interpreter
US4937777A (en) * 1987-10-07 1990-06-26 Allen-Bradley Company, Inc. Programmable controller with multiple task processors
JPH05173986A (ja) 1991-12-24 1993-07-13 Matsushita Electric Works Ltd プログラマブルコントローラ
JPH05173985A (ja) 1991-12-24 1993-07-13 Matsushita Electric Works Ltd プログラマブルコントローラ
US6389488B1 (en) * 1999-01-28 2002-05-14 Advanced Micro Devices, Inc. Read ahead buffer for read accesses to system memory by input/output devices with buffer valid indication
US6662247B1 (en) * 1999-11-30 2003-12-09 Rockwell Automation Technologies, Inc. Protocol for extended data transfer in scan-based industrial controller I/O system
US7307998B1 (en) * 2002-08-27 2007-12-11 3Com Corporation Computer system and network interface supporting dynamically optimized receive buffer queues

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06149318A (ja) * 1992-11-04 1994-05-27 Yokogawa Electric Corp I/oインターフェイス装置
JP2000010608A (ja) * 1998-06-24 2000-01-14 Omron Corp 通信装置、plcユニットおよび表示器
JP2000194673A (ja) * 1998-12-28 2000-07-14 Omron Corp 情報受け渡し仲介装置
JP2003242017A (ja) * 2002-02-15 2003-08-29 Hitachi Ltd 情報公開方法及び情報公開システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2015162760A1 (ja) * 2014-04-24 2017-04-13 三菱電機株式会社 Plcユニット及びプログラマブルロジックコントローラ
US10073431B2 (en) 2014-04-24 2018-09-11 Mitsubishi Electric Corporation PLC unit and programmable logic controller

Also Published As

Publication number Publication date
EP1850196B1 (en) 2010-07-07
EP1850196A1 (en) 2007-10-31
JP4766252B2 (ja) 2011-09-07
US7509440B2 (en) 2009-03-24
US20090198844A1 (en) 2009-08-06
US7752341B2 (en) 2010-07-06
US20070288673A1 (en) 2007-12-13
DE602007007537D1 (de) 2010-08-19

Similar Documents

Publication Publication Date Title
JP4766252B2 (ja) プログラマブルコントローラおよび通信ユニット
US9114529B2 (en) Dual-system component-based industrial robot controller
US10554724B2 (en) Field device, communication chip, and method for a web access to a field device
CN112347015B (zh) 芯片片上系统异构多处理器间的通信装置及方法
US10592465B2 (en) Node controller direct socket group memory access
CN110169017B (zh) 控制装置以及通信装置
CN105704098B (zh) 一种虚拟化网络的数据传输方法,节点控制器及系统
KR101446882B1 (ko) Plc 통신모듈에서 메시지 처리방법
KR102016629B1 (ko) Plc, 네트워크 유닛, cpu 유닛, 및 데이터 전송 방법
US20160085706A1 (en) Methods And Systems For Controlling Ordered Write Transactions To Multiple Devices Using Switch Point Networks
JP7089842B2 (ja) 演算装置および制御装置
JP2004280304A (ja) フィールドバスシステム及び通信方法並びにマスタ及びスレーブ
JP4152079B2 (ja) プログラマブルコントローラの周辺装置
JP2007128385A (ja) 伝送装置、伝送システムおよび更新データの排他制御方法
JP5464027B2 (ja) ネットワークパラメータの自動設定プログラム、及びプログラマブルコントローラの周辺装置
WO2020255486A1 (ja) 制御装置
JP2015115864A (ja) データ転送システム及びデータ転送システムの制御方法
CN110178344B (zh) 控制装置以及通信装置
JP4305221B2 (ja) ゲートウェイ装置
JP5752087B2 (ja) 制御装置、データ出力制御ユニット、データ入力制御ユニット、および制御ユニット
JP2006171833A (ja) Plcのデータ交換システム、及びplcのデータ交換システムの制御方法
JP2006091961A (ja) 通信インターフェイス
JP4654056B2 (ja) 通信装置、通信方法及び通信プログラム
JP2021064166A (ja) メモリ制御装置、および制御方法
JPH0883259A (ja) 分散情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110209

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110531

R150 Certificate of patent or registration of utility model

Ref document number: 4766252

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250