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

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

Info

Publication number
JP2007249472A
JP2007249472A JP2006070431A JP2006070431A JP2007249472A JP 2007249472 A JP2007249472 A JP 2007249472A JP 2006070431 A JP2006070431 A JP 2006070431A JP 2006070431 A JP2006070431 A JP 2006070431A JP 2007249472 A JP2007249472 A JP 2007249472A
Authority
JP
Japan
Prior art keywords
driver
data
internal bus
ethernet
plc
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
JP2006070431A
Other languages
English (en)
Other versions
JP4172490B2 (ja
Inventor
Tadashi Motosugi
匡史 本杉
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 JP2006070431A priority Critical patent/JP4172490B2/ja
Priority to EP20070005312 priority patent/EP1835368A3/en
Priority to US11/724,612 priority patent/US20070217392A1/en
Publication of JP2007249472A publication Critical patent/JP2007249472A/ja
Priority to US12/101,404 priority patent/US20080240136A1/en
Application granted granted Critical
Publication of JP4172490B2 publication Critical patent/JP4172490B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40032Details regarding a bus interface enhancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • 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/15052Communication processor, link interface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40039Details regarding the setting of the power status of a node according to activity on the bus
    • 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
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

【課題】 専用のプロトコルを用いることなく、異なるネットワークに接続された装置同士でデータの送受を行なえるプログラマブルコントローラを提供すること
【解決手段】 CPUユニットは、TCP/IPアプリ群21と、トランスポート層プロトコルスタック22と、ルーティング機能を有するIPプロトコルスタック23と、を備え、IPプロトコルスタック23に、内部バス用のドライバ26を接続する。通信ユニットは、TCP/IPアプリ群31と、トランスポート層プロトコルスタック32と、ルーティング機能を備えていないIPプロトコルスタック33と、イーサネットドライバ34と、イーサネットインタフェース35と、を備え、イーサネットドライバ34に、内部バス用のドライバ36を接続する。イーサネットドライバ34は、イーサネットインタフェース35から転送されてきたデータを、ドライバ36及びまたはIPプロトコルスタック33に転送する振り分け機能を備えた。
【選択図】 図2

Description

この発明は、プログラマブルコントローラおよび通信ユニットに関するものである。
FA(Factory Automation)におけるネットワークシステムは、生産設備の制御を司る1または複数のプログラマブルコントローラ(PLC)と、そのPLCにより動作が制御される機器とが、制御系のネットワークに接続される。それらPLCと機器は、その制御系のネットワークを介してサイクリックに通信を行なうことで、入力データ(INデータ)および出力データ(OUTデータ)の送受を行ない、生産設備を制御する。より具体的には、PLCは、複数のユニットが内部バス構造で接続されて、一体連結されてなる。ユニットの種類には、例えば、各ユニットに電源供給する電源ユニット、制御を司るCPUユニット、センサ等の入力機器が接続されてそこから入力データを得る入力ユニット、動作対象の出力機器が接続されてそこへ出力データを出力する出力ユニット、ネットワークを経由して外部装置と各種データを送受信する通信ユニット、リモートターミナル装置との間で配線を経由してINデータとOUTデータを送受信するマスタユニットなどがある。CPUユニットは、内部バスを経由して他のユニットとの間でデータ通信することで、制御に必要なデータを取込み、出力している。CPUユニットの具体的な動作を説明すると、まず、オン・オフ動作をするセンサやスイッチなどの単数または複数の入力機器からON/OFFの入力データを制御系のネットワークを介して取り込み(INリフレッシュ処理)、その入力データに基づいて論理演算し(演算実行処理)、その演算結果の出力データを制御系のネットワークを介してモータやアクチュエータなどの出力機器に出力する(出力リフレッシュ処理)。このINリフレッシュ処理、演算実行処理、OUTリフレッシュ処理をサイクリックに実行する。そしてPLCが、CPUユニットの演算結果であるところの出力データをOUTリフレッシュにより出力ユニットへ伝え、その出力データが出力ユニットから機器へ出力されることにより、生産設備の機器を制御する。
係る生産設備の制御を行なう制御系のシステムの上位に、主として生産指示や生産結果のような生産管理情報を扱う情報系のシステムを接続し、その情報系のシステムに連携される管理コンピュータが、制御系のネットワークに接続されたPLCその他の機器と通信を行ない、PLC等に対する設定をしたり、PLC等から送られてくる情報を取得したりする。制御系のシステムと情報系のシステムとの接続は、制御系に接続されたPLCを情報系システムのネットワークに接続したり、制御系のシステムのネットワークと、情報系のシステムのネットワークとの間にデータ送信の中継をする装置(PLC等)を設置したりすることで実現する。
従って、管理コンピュータが、制御系システムのネットワークのみに接続されたPLCや、その他の機器とデータの送受を行なう場合、たとえば特許文献1に示すように係る処理を実行可能とする専用のプロトコルのコマンドを用いる。
特開平6−231113号公報
特許文献1等に開示された専用のプロトコルのコマンドを用いることで、管理コンピュータは、管理コンピュータが接続されているネットワークと異なるネットワークに接続されたPLC等とデータの送受を行なうことができる。しかしながら、係る処理を行なうためには、上記の専用のプロトコルに対応したPLC等を用いてネットワークシステムを構築する必要がある。通常、係る専用のプロトコルは、PLC等の製造メーカが独自に開発する。その結果、製造メーカが異なったPLC等が混在するネットワークシステムでは、上記の専用のプロトコルをすべての機器に共通して使用することができない。
この発明の目的は、専用のプロトコルを用いることなく、互いに異なるネットワークに接続された装置(コンピュータ,PLC等)同士であってもデータの送受を行なうことができるプログラマブルコントローラおよび通信ユニットを提供することにある。
この発明によるプログラマブルコントローラは、CPUユニットと通信ユニットとを内部バスで接続したプログラマブルコントローラであって、前記CPUユニットは、上位から順に、TCP/IPプロトコルに準拠した、アプリケーション層と、トランスポーション層と、ルーティング機能を有するインターネット層と、イーサネットドライバと、イーサネットインタフェースとを備えるとともに、前記インターネット層に第1の内部バス用のドライバを接続するように構成し、前記イーサネットドライバまたは第1の内部バス用ドライバから転送されてきたデータを、前記インタネット層にてルーチング処理し、ルーチング処理結果に基づきデータを前記トランスポーション層及びまたは第1の内部バス用ドライバへ転送するものであり、前記通信ユニットは、上位から順に、TCP/IPプロトコルに準拠した、アプリケーション層と、トランスポーション層と、インターネット層と、イーサネットドライバと、イーサネットインタフェースと、を備えるとともに、前記イーサネットドライバに第2の内部バス用のドライバを接続するように構成し、前記イーサネットドライバは、第2の内部バス用のドライバから転送されてきたデータを前記イーサネットインタフェースに転送する機能と、前記イーサネットインタフェースから転送されてきたデータを、そのデータのプロトコルヘッダ部を解析し、その内容によって第2の内部バス用のドライバ及びまたは前記インターネット層に転送する振り分け機能とを備えた。
本発明では、ルーティング機能をCPUユニットに設けた。これにより、通信ユニットにルーティング機能を備える必要がないので、ルーティングテーブル等が不要で簡易な構成とすることができる。そして、通信ユニットのイーサネットドライバに振り分け機能を設けたため、通信ユニットは、イーサネットインタフェースから受信したデータをCPUユニット側に転送することができる。また、CPUユニットは、内部バスを介して転送されてきたデータおよびCPUユニット自体のイーサネットインタフェースを介して受信したデータをインターネット層でルーティング処理し、CPUユニット宛なら上位のアプリケーション層側に転送し、必要な処理をすることができ、また、CPUユニット以外の宛先ならデータを内部バスを介して通信ユニットに転送することができる。通信ユニットは、内部バスを介して転送されて来たデータをネットワークに転送することもするので、CPUユニットはその通信ユニットに接続されたネットワークと同一のネットワークに接続されているPLCその他の機器等との間でデータの送受を行なうことができる。つまり、係るPLCその他の機器等は、直接接続されていないCPUユニットのアプリケーション層のアプリケーションをイーサネットを経由して利用できる。しかも、係るデータの送受は、汎用のTCP/IPプロトコルを用いて行なうことができる。
この発明によるプログラマブルコントローラは、CPUユニットと複数の通信ユニットとを内部バスで接続したプログラマブルコントローラであって、前記CPUユニットは、上位から順に、TCP/IPプロトコルに準拠した、アプリケーション層と、トランスポーション層と、ルーティング機能を有するインターネット層と、内部バス用のドライバとを備えるとともに、前記インターネット層に第1の内部バス用のドライバを接続するように構成し、第1の内部バス用ドライバから転送されてきたデータを、前記インタネット層にてルーチング処理し、ルーチング処理結果に基づきデータを前記トランスポーション層及びまたは送信先の通信ユニット宛てに第1の内部バス用ドライバへ転送するものであり、前記複数の通信ユニットのそれぞれは、上位から順に、TCP/IPプロトコルに準拠した、アプリケーション層と、トランスポーション層と、インターネット層と、イーサネットドライバと、イーサネットインタフェースと、を備えるとともに、前記イーサネットドライバに第2の内部バス用ドライバを接続するように構成し、前記イーサネットドライバは、第2の内部バス用ドライバから転送されてきたデータを前記イーサネットインタフェースに転送する機能と、前記イーサネットインタフェースから転送されてきたデータを、そのデータのプロトコルヘッダ部を解析し、その解析内容によって第2の内部バス用ドライバ及びまたは前記インターネット層に転送する振り分け機能とを備えた。
複数の通信ユニットの転送機能と、CPUユニットのルーティング機能により、複数の通信ユニット相互の間で、CPUユニットを経由してデータの転送が行える。これにより、一方の通信ユニットが接続されたネットワーク上の装置・機器等と、他方の通信ユニットが接続されたネットワーク上の装置・機器等とは、汎用のTCP/IPプロトコルを用いてデータの送受を行なうことができる。通信ユニットの個数は、3個以上でも良い。また、前記通信ユニットに、自ユニットのアプリケーション層が利用可能なポート番号の範囲を設定しておき、通信ユニットにおける振り分け機能は、受け取ったデータの宛先ポート番号と上記範囲から転送先を決定するものとしてよもよい。つまり、受け取ったデータの宛先ポート番号と上記範囲とを比べ、自ユニットのポート番号なら自ユニットのアプリケーション層に振り分け、それ以外のポート番号なら内部バスドライバまたはイーサネットドライバへ転送し、内部バスまたはイーサネットへ転送配信する。
本発明に係る通信ユニットは、内部バスを有し、CPUユニットが内部バスに接続されたプログラマブルコントローラに対して、連結するとともにその内部バスに接続する通信ユニットであって、上位から順に、アプリケーション層と、トランスポーション層と、インターネット層と、イーサネットドライバと、イーサネットインタフェースと、を備えるとともに、イーサネットドライバに、内部バス用のドライバを接続するように構成する。そして、イーサネットドライバは、内部バス用のドライバから転送されてきたデータはイーサネットインタフェースに転送する機能と、イーサネットインタフェースから転送されてきたデータは、そのデータのプロトコルヘッダ部を解析し、その内容によって内部バス用のドライバ及びまたはインターネット層に転送する振り分け機能とを備えるようにした。
本発明では、CPUユニットに実装されたインターネット層のルーティング機能と、通信ユニットに実装されたイーサネットドライバの振り分け機能により、CPUユニットに接続されず、通信ユニットに接続された装置・機器がCPUユニットに対して汎用のプロトコルを用いてアクセスできる。また、プログラマブルコントローラが複数のネットワークに接続されている場合、互いに異なるネットワークに接続された装置(コンピュータ,PLC等)同士であっても本発明のプログラマブルコントローラを経由して汎用のプロトコルを用いてデータの送受を行なうことができる。
図1は、本発明のPLCを含むネットワークシステムの一例を示している。このネットワークシステムは、複数のネットワークに、パソコン,PLC,その他の機器等が接続されている。第1ネットワーク10には、パソコン11と、第1PLC12とが接続されている。第1PLC12は、第2ネットワーク13にも接続される。この第2ネットワーク13には、第2PLC16と、第3PLC17と、リモートIO18とが接続される。もちろん、各ネットワーク10,13には、図示した装置以外の装置も適宜接続され、FAにおける生産管理・制御システムが構築される。なお、リモートIO18は、入力機器のみを接続する入力タイプ、出力機器のみを接続する出力タイプ、入力機器および出力機器を接続する入出力タイプがある。また、PLCのマスタユニットとの間でフィールドバスといわれる独自の回線を経由してデータ通信するタイプ(図示せず)と、PLCの通信ユニットとの間でネットワークを経由してデータ通信するタイプ(図示のもの)とがある。各PLCはINリフレッシュ処理、演算実行処理、OUTリフレッシュ処理をサイクリックに実行するもので、特に第2PLC16と第3PLC17は図示しない生産設備の機器を制御するものである。
第1ネットワーク10は、主として生産指示や生産結果のような生産管理情報を扱う情報系ネットワークである。その第1ネットワーク10に接続されたパソコン11は、管理コンピュータであり、ネットワークシステムに接続された機器に対する設定を行なったり、装置等から送られてくる情報を取得したりする。第2ネットワーク13は、生産設備の制御を行なうための制御系ネットワークである。その第2ネットワーク13に接続された生産設備の制御を司る第2PLC16及び第3PLC17と、リモートIO18とは、第2ネットワーク13を介してサイクリックに通信を行ない、リモートIO18を経由してリモートIO18に接続された入出力機器のIOデータの送受を行なう。各ネットワーク10,13は、何れもイーサネット(EtherNet・登録商標)で実現される。これに伴い、各ネットワーク10,13に接続されるパソコン,PLCその他の機器は、イーサネットに接続可能な通信インタフェースを備える。
第1PLC12は、CPUユニット20と通信ユニット30とを備えている。もちろん、この第1PLC12は、図示省略する他のユニットも備えている。CPUユニット20は、電子メールクライアント、FTPサーバ、IPルーティングなどのTCP/IPアプリを内蔵し、第1ネットワーク10に接続されてパソコン11とメッセージデータの交換を行なう。つまり、パソコン11は、電子メールサーバやFTPクライアント等として機能する。通信ユニット20は、サイクリック通信機能を持ち、第2ネットワーク13に接続され、第2PLC16,第3PLCPLC17,リモートIO18等との間でIOデータの交換を行う。
第2PLC16及び第3PLC17も、TCP/IPアプリを内蔵するCPUユニット20と、サイクリック通信機能を持つ通信ユニット30とを備えている。これらのPLC16,17も図示省略する他のユニットを備えている。なお、図1に示すネットワークシステムの場合、各PLCの通信ユニット30並びに第1PLC12のCPUユニット20は、イーサネットに接続可能な通信インタフェースを備える。第2PLC16と第3PLC17のCPUユニット20も、イーサネットに接続可能な通信インタフェースを備えてもよい。
図2は、PLCを構成するCPUユニット20と通信ユニット30とにおけるデータを送受信する機能の内部構成を示している。本実施形態のユニット20,30は、データを送受信するためのプロトコルとして、ネットワークの標準プロトコルであるTCP/IPに対応させている。
CPUユニット20は、上位から順に、アプリケーション層であるPLC用TCP/IPアプリ群21と、トランスポーション層であるPLC用トランスポート層プロトコルスタック22と、インターネット層であるPLC用IPプロトコルスタック23と、リンク層であるイーサネットドライバ24,イーサネットインタフェース25と、を備える。さらに、CPUユニット20は、PLCの内部バス40に接続され、PLC内のユニット間でのデータ転送を行なうドライバ26(第1の内部バス用ドライバ)を備えている。このドライバ26は、PLC用IPプロトコルスタック23の下位に接続される。
PLC用トランスポート層プロトコルスタック22は、TCPプロトコルスタックとUDPプロトコルスタックを含む。PLC用IPプロトコルスタック23は、配下の通信インタフェースとしてイーサネットドライバ24を通じてイーサネットインタフェース25が接続され、また、ドライバ26を通じて、後述する通信ユニット30内のイーサネットインタフェース35が接続されているものとして動作する。
PLC用IPプロトコルスタック23は、ルーティング機能を持つ。よって、PLC用IPプロトコルスタック23は、IPルーティングを要求するパケット、すなわち、「自MACアドレスかつ他IPアドレス」宛のパケットを受信した場合、IPルーティングテーブルに従い転送する。
一例を示すと、IPルーティングテーブルが、図3に示すように記述されている場合、PLC用IPプロトコルスタック23は、以下のAからCのいずれかの処理を実行する。A.受信したデータの宛先IPアドレスが自IP(192.168.100.1、192.168.200.1)の場合、PLC用IPプロトコルスタック23は、そのデータをPLC用トランスポート層プロトコルスタック22に転送する。
B.受信したデータの宛先IPアドレスが192.168.101.0/24に含まれる場合、PLC用IPプロトコルスタック23は、そのデータをイーサネットドライバ24からイーサネットインタフェース25に転送し192.168.100.10のノードに送信する。
C.宛先IPアドレスがA,B以外の場合、PLC用IPプロトコルスタック23は、そのデータをイーサネットドライバ24からイーサネットインタフェース25に転送し192.168.100.100のノードに送信する。つまり、PLC用IPプロトコルスタック23は、宛先が不明の場合、デフォルトスタンダードに送信する。
上記のPLC用TCP/IPアプリ群21と、PLC用トランスポート層プロトコルスタック22と、PLC用IPプロトコルスタック23と、イーサネットドライバ24と、イーサネットインタフェース25とは、通常のTCP/IPを構成する4層構造における各層のプロトコルと同様である。これにより、イーサネットに接続可能な通信インタフェースを備えたパソコン11は、TCP/IPプロトコルを用いて第1PLC12のCPUユニット20とデータの送受を行なうことができる。つまり、パソコン11と第1PLC12との間でデータを送受する場合、専用のプロトコルは、不要となる。
CPUユニット20の動作を説明しつつ、上記の各処理部の機能をさらに説明する。図4は、データ送信時の動作を示す。TCP/IPアプリ群21内のアプリケーションは、送信先のIPアドレスとポート番号を指定し、データをPLC用トランスポート層プロトコルスタック22へ転送する(S1)。PLC用トランスポート層プロトコルスタック22は、受け取ったデータに対してTCPヘッダ或いはUDPヘッダを付加し、PLC用IPプロトコルスタック23に転送する(S2)。PLC用IPプロトコルスタック23は、受け取ったデータにIPヘッダ,イーサネットヘッダを付加し(S3)、IPルーティングテーブルに登録されたルーティング規則に従い、取得したデータをイーサネットドライバ24またはドライバ26に転送する(S4)。イーサネットドライバ24は、受信したデータをイーサネットインタフェース25にそのまま転送する(S5)。イーサネットインタフェース25は、エラーチェックデータを付加し、イーサネット手順に従いデータを第1ネットワーク10へ送信する(S6)。また、ドライバ26は、受信したデータに通信ユニット宛内部バスヘッダを付加し、そのデータを内部バス40経由で通信ユニット30へ送信する(S7)。
図5は、イーサネットインタフェース25が受信したデータについての内部処理を示している。イーサネットインタフェース25は、受信したデータのヘッダを解析し、宛先アドレスが「自MACアドレス」か「ブロードキャストアドレス」の場合、その受信したデータをイーサネットドライバ24へ転送する(S11)。
イーサネットドライバ24は、イーサネットインタフェース25から転送されてきた全てのデータを、PLC用IPプロトコルスタック23へ転送する(S12)。PLC用IPプロトコルスタック23は、IPルーティングテーブルに登録されたルーティング規則に従い、取得したデータをPLC用トランスポート層プロトコルスタック22またはドライバ26に転送する(S13)。PLC用トランスポート層プロトコルスタック22は、転送されてきたデータの宛先ポートをチェックし、対応可能なアプリケーションのポート番号か否かを判断する(S14)。対応可能なアプリケーションのポート番号の場合、PLC用トランスポート層プロトコルスタック22は、そのデータをPLC用TCP/IPアプリ群21に送る(S15)。PLC用TCP/IPアプリ群21の対応するアプリケーションは、受信したデータに基づきデータ処理を行なう(S16)。なお、処理ステップS14の分岐判断で、対応するアプリケーションが存在しないと判断された場合、受信したデータ(パケット)を破棄する(S17)。また、ドライバ26は、受信したデータに通信ユニット宛内部バスヘッダを付加し、そのデータを内部バス40経由で通信ユニット30へ送信する(S18)。
図6は、内部バス40経由でドライバ26がデータを受信した場合の内部処理を示している。ドライバ26は、内部バス40を介して通信ユニット30からのパケットを受信すると(S21)、内部バスヘッダを削除し、PLC用IPプロトコルスタック23へ転送する(S22)。PLC用IPプロトコルスタック23は、IPルーティングテーブルに登録されたルーティング規則に従い、取得したデータをPLC用トランスポート層プロトコルスタック22またはイーサネットドライバ24に転送する(S23)。なお、PLC用IPプロトコルスタック23は、イーサネットドライバ24に転送する際にイーサネットヘッダを付加する(S28)。
PLC用トランスポート層プロトコルスタック22は、転送されてきたデータの宛先ポートをチェックし、対応するアプリケーションのポート番号か否かを判断する(S24)。対応するアプリケーションの場合、PLC用トランスポート層プロトコルスタック22は、そのデータをPLC用TCP/IPアプリ群21に送る(S25)。PLC用TCP/IPアプリ群21の対応するアプリケーションは、受信したデータに基づきデータ処理を行なう(S26)。なお、処理ステップS24の分岐判断で、対応するアプリケーションが存在しないと判断された場合、受信したデータ(パケット)を破棄する(S27)。
PLC用IPプロトコルスタック23から転送されてきたデータを受け取ったイーサネットドライバ24は、受信したデータをイーサネットインタフェース25にそのまま転送する(S29)。イーサネットインタフェース25は、エラーチェックデータを付加し、イーサネット手順に従いデータを第1ネットワーク10へ送信する(S30)。
これにより、CPUユニット20は、PLC用TCP/IPアプリ群21から送られたデータを、イーサネットインタフェース25を経由して第1ネットワーク10に接続されたパソコン11等に送ることができる。また、CPUユニット20は、PLC用TCP/IPアプリ群21から送られたデータを、通信ユニット30側に送ることができる。CPUユニット20は、通信ユニット30から送られてきたデータをPLC用TCP/IPアプリ群21に転送したり、イーサネットインタフェース25から第1ネットワーク10側に送り出したりすることができる。
通信ユニット30は、上位から順に、アプリケーション層であるTCP/IPアプリ群31と、トランスポーション層であるトランスポート層プロトコルスタック32と、インターネット層であるIPプロトコルスタック33と、リンク層であるTCP/IPブリッジ内蔵イーサネットドライバ34,イーサネットインタフェース35と、を備える。さらに、通信ユニット30は、PLCの内部バス40に接続され、PLC内のユニット間でのデータ転送を行なうドライバ36(第2の内部バス用ドライバ)を備えている。このドライバ26は、TCP/IPブリッジ内蔵イーサネットドライバ34と接続され、IPプロトコルスタック33を経由することなく直接ドライバ間でデータの転送が行なわれる。
TCP/IPアプリ群31を構成するアプリケーションは、通信ユニット固有のもので、PLC用TCP/IPアプリ群21を構成するアプリケーションとは必ずしも同じではない。トランスポート層プロトコルスタック32は、TCPプロトコルスタックとUDPプロトコルスタックを含む。IPプロトコルスタック33は、配下の通信インタフェースとしてTCP/IPブリッジ内蔵イーサネットドライバ34を通じてイーサネットインタフェース35が接続されているものとして動作する。通信ユニット30のIPプロトコルスタック33は、ルーティング機能を備えていない。通信ユニットにおけるインターネット層にはルーティング機能がない点で、CPUユニット20のPLC用IPプロトコルスタック23と相違している。よって、IPプロトコルスタック33は、IPルーティングを要求するパケット、すなわち「自MACアドレスかつ他IPアドレス」宛のパケットを受信した場合、当該パケットを破棄する。
TCP/IPブリッジ内蔵イーサネットドライバ34は、通常のイーサネットドライバの機能と、TCP/IPブリッジ機能とを備えたドライバである。ここでTCP/IPブリッジ機能は、イーサネットインタフェース35から受信したデータのプロトコルヘッダ部を解析し、その内容によってデータの転送先を決定し、その決定した転送先に受信したデータを転送する機能である。転送先は、以下の3つのパターンがある。
(1)IPプロトコルスタック33とドライバ36の両方
(2)ドライバ36のみ
(3)IPプロトコルスタック33のみ
この振り分け処理は、CPUユニット20のPLC用TCP/IPアプリ群21と通信ユニット30のTCP/IPアプリ群31に実装されるアプリケーションや、PLC用IPプロトコルスタック23,IPプロトコルスタック33の持つ機能等に依存する。そこで、CPUユニット20と通信ユニット30が、図7に示す機能を実装していると仮定して振り分け処理を説明する。
(1)IPプロトコルスタック33とドライバ36の両方に転送する条件
TCP/IPブリッジ内蔵イーサネットドライバ34は、受信したデータのデータ種別が「ARPレスポンスデータ」の場合(条件1)、そのデータをIPプロトコルスタック33とドライバ36に転送する。ARPレスポンスデータか否かの判断は、イーサネットヘッダのフレームタイプが、ARPであることを示す「0x806」で、そのイーサネットヘッダに続くARPヘッダのオペレーションの値がレスポンスを示す「2」であるか否かにより行なう(図8参照)。
(2)ドライバ36のみに転送する条件
TCP/IPブリッジ内蔵イーサネットドライバ34は、受信したデータのデータ種別が「IPルーティングデータ」(条件2−1),「PLC宛ICMPエラーデータ」(条件2−2),「TCP共通アプリケーション(クライアント)」(条件2−3),「UDP共通アプリケーション(クライアント)」(条件2−4),「UDP共通アプリケーション(クライアント、フラグメントデータ)」(条件2−5),「TCPアプリケーション(サーバ)」(条件2−6),「TCPアプリケーション(クライアント)」(条件2−7),「UDPアプリケーション(サーバ)」(条件2−8),「UDPアプリケーション(クライアント)」(条件2−9)の場合、そのデータをドライバ36に転送する。
各条件のプロトコル識別に基づく具体的な判断は、以下の通りである。まず、受信したデータのIPヘッダの宛先IPアドレスが、通信ユニット30のIPアドレスでない場合、そのデータは条件2−1を充足する(図9参照)。
受信したデータのICMPヘッダのタイプが3,4,5,11,12のいずれかであり、かつ、添付IPデータグラムが条件2−3から2−9に合致する場合、そのデータは条件2−2を充足する(図10参照)。
受信したデータのTCPヘッダの宛先ポート番号がCPUユニットに割り当てられた範囲内の場合、そのデータは条件2−3を充足する(図11参照)。すなわち、PLC用TCP/IPアプリ群21並びにTCP/IPアプリ群31を構成する各アプリケーションが利用するポート番号の範囲は、予め各ユニットごとに決めておく。一例を示すと、CPUユニット20に実装されるアプリケーションは、10001〜20000番の範囲内のポート番号を利用し、通信ユニット30に実装されるアプリケーションは、20001〜30000番の範囲内のポート番号を利用するものとする。すると、受信したデータのTCPヘッダの宛先ポート番号が10001〜20000番の範囲内であれば、CPUユニット20に実装されたアプリケーションが利用するデータの可能性があるとともに、通信ユニット30に実装されたアプリケーションが利用するデータの可能性がない。よって、係る場合、受け取ったデータをドライバ36へ転送し、CPUユニット20側に渡すようにする。
同様に、受信したデータのUDPヘッダの宛先ポート番号がCPUユニットに割り当てられた範囲内の場合、そのデータは条件2−4を充足する(図12参照)。また、UDPプロトコルに従ったパケットの場合、IPによるフラグメント(データ分割)が発生すると、2つ目以降のパケット(データ)にはUDPヘッダが付加されない。一方、IPヘッダの識別子の欄には、分割の有無とシリアルNo.が格納される(図13参照)。従って、係る識別子に基づき、条件2−4を充足するデータと対となるデータは、条件2−5を充足する。
受信したデータのTCPヘッダの宛先ポート番号が、通信ユニット30のTCP/IPアプリ群31のサポートサーバポート(サーバアプリA)でない場合、そのデータは条件2−6を充足する(図11参照)。すなわち、通信ユニット30がサポートしていないデータの場合、TCP/IPアプリ群31にとって不要なデータであるため、CPUユニット20側へ転送するようにする。
受信したデータのTCPヘッダの発信元ポート番号が、通信ユニット30のTCP/IPアプリ群31のサポートクライアントポート(クライアントアプリB)でない場合、そのデータは条件2−7を充足する(図11参照)。
また、受信したデータのUDPヘッダの宛先ポート番号が、通信ユニット30のTCP/IPアプリ群31のサポートサーバポート(サーバアプリE)でない場合、そのデータは条件2−8を充足する(図12参照)。
さらに、受信したデータのUDPヘッダの発信元ポート番号が、通信ユニット30のTCP/IPアプリ群31のサポートクライアントポート(クライアントアプリF)でない場合、そのデータは条件2−9を充足する(図12参照)。
(3)IPプロトコルスタック33のみに転送する条件
受信したデータが、上記の条件1並びに条件2−1〜条件2−9の何れにも充足しなかった場合、そのデータはIPプロトコルスタック33に転送する。
通信ユニット30の動作を説明しつつ、上記の各処理部の機能をさらに説明する。図14は、データ送信時の動作を示す。TCP/IPアプリ群31内のアプリケーションは、送信先のIPアドレスとポート番号を指定し、データをトランスポート層プロトコルスタック32へ転送する(S31)。トランスポート層プロトコルスタック32は、受け取ったデータに対してTCPヘッダ或いはUDPヘッダを付加し、IPプロトコルスタック23に転送する(S32)。IPプロトコルスタック23は、受け取ったデータにIPヘッダ,イーサネットヘッダを付加しTCP/IPブリッジ内蔵イーサネットドライバ34に転送する(S33)。TCP/IPブリッジ内蔵イーサネットドライバ34は、受信したデータをイーサネットインタフェース35にそのまま転送する(S34)。イーサネットインタフェース35は、エラーチェックデータを付加し、イーサネット手順に従いデータを第2ネットワーク13へ送信する(S35)。
図15は、イーサネットインタフェース35が受信したデータについての内部処理を示している。イーサネットインタフェース35は、受信したデータのヘッダを解析し、宛先アドレスが「自MACアドレス」か「ブロードキャストアドレス」の場合、その受信したデータをTCP/IPブリッジ内蔵イーサネットドライバ34へ転送する(S41)。TCP/IPブリッジ内蔵イーサネットドライバ34は、ブリッジ振り分け処理のルールに従い、取得したデータをIPプロトコルスタック33およびまたはドライバ36に転送する(S42)。
IPプロトコルスタック33は、パケットの宛先IPアドレスをチェックする(S43)。そして、宛先IPアドレスが自IPアドレスの場合、IPプロトコルスタック33は、取得したデータをトランスポート層プロトコルスタック32に転送する(S44)。宛先IPアドレスが他IPアドレスの場合、取得したデータは破棄される(S48)。
トランスポート層プロトコルスタック32は、転送されてきたデータの宛先ポートをチェックし、対応可能なアプリケーションのポート番号か否かを判断する(S45)。対応可能なアプリケーションのポート番号の場合、トランスポート層プロトコルスタック32は、そのデータをTCP/IPアプリ群31に送る(S46)。TCP/IPアプリ群31の対応するアプリケーションは、受信したデータに基づきデータ処理を行なう(S47)。なお、処理ステップS45の分岐判断で、対応するアプリケーションが存在しないと判断された場合、受信したデータ(パケット)を破棄する(S48)。また、ドライバ36は、受信したデータにCPUユニット宛内部バスヘッダを付加し、そのデータを内部バス40経由でCPUユニット20へ送信する(S49)。
図16は、内部バス40経由でドライバ36がデータを受信した場合の内部処理を示している。ドライバ36は、内部バス40を介してCPUユニット20からのパケットを受信すると(S51)、内部バスヘッダを削除し、TCP/IPブリッジ内蔵イーサネットドライバ34へ転送する(S52)。TCP/IPブリッジ内蔵イーサネットドライバ34は、受信したデータをイーサネットインタフェース35にそのまま転送する(S53)。イーサネットインタフェース35は、エラーチェックデータを付加し、イーサネット手順に従いデータを第2ネットワーク13へ送信する(S54)。
これにより、通信ユニット30は、TCP/IPアプリ群31から送られたデータを、イーサネットインタフェース35を経由して第2ネットワーク13に接続されたPLCその他の機器等に送ることができる。また、通信ユニット30は、CPUユニット20側から送られてきたデータを第2ネットワーク13側に送信することができる。つまり、通信ユニット30は、PLC用TCP/IPアプリ群21のアプリケーションから送られたデータや、パソコン11からCPUユニット20経由で受信したデータを、第2ネットワーク13上のPLC等に送信することができる。逆に、第2ネットワーク13に接続されたPLC等は、通信ユニット30経由で第1PLC12のCPUユニットのPLC用TCP/IPアプリ群21の所定のアプリケーションとデータの送受をしたり、さらに上位の第1ネットワーク10に接続されたパソコン11等とデータの送受をしたりすることができる。
次に、具体的な応用例を説明する。図17では、説明の便宜上、第1PLC12のCPUユニットの符号を20a、通信ユニットの符号を30aとする。また、第2PLC16のCPUユニットの符号を20b、通信ユニットの符号を30bとする。この図17に示すネットワークシステムにおいて、パソコン11が、第2PLC16のCPUユニット20bのFTPサーバにアクセスする場合、以下の手順に従ってデータの送受が行なわれる。この例での第2PLC16のCPUユニット20bはイーサネットドライバおよびイーサネットインタフェースを備えていても、備えていなくてもよい。もし備えていても使用しない状態となる。
まず、パソコン11は、第2PLC16のCPUユニット20b宛(IPアドレス=192.168.1.3)にFTPアクセスを行う。第2PLC16は、パソコン11が接続されているネットワークと異なるネットワークに接続されているためパソコン11のデフォルトゲートウェイ情報に従い、第1PLC12のCPUユニット20aにFTPアクセス用パケットを送信する。
第1PLC12のCPUユニット20aは図5で説明した処理を行う。そして、受信したFTPアクセス用パケットが第2PLC16のCPUユニット20b宛であると認識する。また、CPUユニット20aは、通信ユニット30aと第2PLC16とが第2ネットワーク13に接続されていると認識している。そこで、CPUユニット20aは、PLC用IPプロトコルスタック23のルーチング機能により、通信ユニット30aにFTPアクセス用パケットを転送する(図5のS18に対応)。通信ユニット30aは、図16で説明した処理を行い、CPUユニット20aから転送されてきたFTPアクセス用パケットを第2PLC16の通信ユニット30b宛に送信する。
通信ユニット30bは図15で説明した処理を行う。通信ユニット30bは、FTPサーバ機能をサポートしていないためTCP/IPブリッジ振り分け条件2−6により受信したFTPアクセス用パケットをCPUユニット20bに転送する(図15のS49に対応)。CPUユニット20bでは、図5で説明した処理によって、FTPアクセス用パケットの受け付け処理を行なう。
第2PLC16のCPUユニット20bは、図4で説明した処理をし、パソコン11に対するレスポンスを以下のように実行する。CPUユニット20bは、パソコン11宛(IPアドレス=192.168.0.1)にFTPレスポンスを生成する。パソコン11は、CPUユニット20b2が接続されているネットワークと異なるネットワークに接続されているため、CPUユニット20bのデフォルトゲートウェイ情報に従い、第1PLC12の通信ユニット30aにFTPレスポンス用パケットを送信するために、そのパケットを通信ユニット30bに転送する(図4のS7に対応)。通信ユニット30bは、図16で説明した処理を行い、CPUユニット20bから転送されてきたFTPレスポンス用パケットを通信ユニット30a宛に送信する。
通信ユニット30aは図15で説明した処理を行う。通信ユニット30aは、受信したFTPレスポンス用パケットが自IPアドレス宛ではないため、TCP/IPブリッジ振り分け条件2−1に従い、そのFTPレスポンス用パケットをCPUユニット20aに転送する。(図15のS49に対応)
第1PLC12のCPUユニット20aは、通信ユニット30aから転送されてきたFTPレスポンス用パケットがパソコン11宛であると認識する。CPUユニット20aは、パソコン11とCPUユニット20aとが同一ネットワークに接続されていると認識しているためCPUユニット20aはパソコン11にFTPレスポンス用パケットを送信する。(図5のS15に対応)
パソコン11は、CPUユニット20aから送られてきたFTPレスポンス用パケットの受け付け処理を行う。これにより、パソコン11とPLC16(CPUユニット20b)との間で、汎用のプロトコルを用いてデータの送受を行なうことができる。
図18は、別の実施形態を示している。本実施形態では、2つのネットワーク10,13に接続される第1PLC12が、通信ユニットを2つ備える。そして、第1通信ユニット30aが第2ネットワーク13に接続され、第2通信ユニット30cが第1ネットワーク10に接続される。図19に示すように、各通信ユニット30a,30cの内部構造は、図2に示すものと基本的に同様である。また、CPUユニット20aは、内部バス40に接続するドライバ28a,28b(請求項2の第1の内部バス用ドライバに相当)が、2つ用意されている。各ドライバ28a,28bは、それぞれ対応する通信ユニット30a,30cが決まっており、PLC用IPプロトコルスタック23は、ルーティングにより転送すべき通信ユニットが決まると、その通信ユニットに対応するドライバにデータを転送する。図では内部バス用ドライバは2つだが、通信ユニットが3台以上接続される場合でも適用できるように、内部バス用ドライバを3つ以上設けた構成としてもよい。なお、内部バス40は、CPUユニット20aと各通信ユニット30a、30c、他のユニット(図示せず)とで共通のものであり、1つのバス構造となっている。便宜上、図中では、CPUユニット20aと通信ユニット30bとの間の内部バスと、CPUユニット20aと通信ユニット30cとの間の内部バスとを分離して示しているが、実際には、両者の内部バス40はつながっており、1つのバス構造となっている。また、この実施形態のCPUユニット20aは、図19におけるイーサネットドライバ24およびイーサネットインタフェース25の構成を必要とせず、持たないものであってもよい。もちろんそれらの構成を持っていてもよいが、インタフェース25にはネットワークを接続しないので、用いない。第2PLC16のCPUユニット20bもイーサネットドライバおよびイーサネットインタフェースを備えていても、備えていなくてもよい。
さて、パソコン11が、第2PLC16のCPUユニット20bのFTPサーバにアクセスする場合を例にする。すなわち、ここでのパソコン11は、第2PLC16のCPUユニット20b宛(IPアドレス=192.168.1.3)にFTPアクセスを行い、第2PLC16は、パソコン11が接続されたネットワークと異なるネットワークに接続されているためパソコン11のデフォルトゲートウェイ情報に従い、第1PLC12の第2通信ユニット30cにFTPアクセス用パケットを送信する例における処理を説明する。
パソコン11はFTPアクセス用パケットを送信する。まず、第1PLC12の第2通信ユニット30cは図15の処理をし、ステップ42に対応する処理として、宛先IPアドレスが自IPアドレスと異なるためTCP/IPブリッジ振り分け条件2−1によりFTPアクセス用パケットを、ドライバ36から内部バス40を経由してCPUユニット20aに転送する(S49)。
第1PLC12のCPUユニット20aのPLC用IPプロトコルスタック23は、第2通信ユニット30cから転送されたFTPアクセス用パケットが第2PLC16のCPUユニット20b宛であると認識する。また、CPUユニット20aは、第1通信ユニット30aと第2PLC16とが第2ネットワーク13に接続されていると認識している。そこで、CPUユニット20aは、ドライバ28aから内部バス40を介して通信ユニット30aにFTPアクセス用パケットを転送する(S18に対応)。第1通信ユニット30aは、図16の処理をし、CPUユニット20aから内部バス40を経由して転送されてきたFTPアクセス用パケットをそのままイーサネットドライバ35から第2ネットワーク13を介して第2PLC16の通信ユニット30b宛に送信する。
第2PLC16の通信ユニット30bは、図15の処理をし、FTPサーバ機能をサポートしていないためTCP/IPブリッジ振り分け条件2−6により受信したFTPアクセス用パケットをドライバ36から内部バス40を経由してCPUユニット20bに転送する(S49に対応)。第2PLC16のCPUユニット20bでは、図5の処理を行い、FTPアクセス用パケットの受け付け処理を行なう(S16相当)。
第2PLC16のCPUユニット20bからパソコン11に対するレスポンスは、以下の手順で実行される。CPUユニット20bは、パソコン11宛(IPアドレス=192.168.0.1)にFTPレスポンスを送信する。パソコン11は、CPUユニット20b2が接続させたネットワークと異なるネットワークに接続されているため、CPUユニット20bのデフォルトゲートウェイ情報に従い、第1PLC12の第1通信ユニット30aにFTPレスポンス用パケットを送信するために、そのパケットを通信ユニット30bに転送する(図4のS7に対応)。通信ユニット30bは、CPUユニット20bから転送されてきたFTPレスポンス用パケットをそのままイーサネットドライバからイーサネットを介して第1通信ユニット30a宛に送信する。
第1通信ユニット30aは、受信したFTPレスポンス用パケットが自IPアドレス宛ではないため、TCP/IPブリッジ振り分け条件2−1に従い、そのFTPレスポンス用パケットを内部バス40を介してCPUユニット20aに転送する(図15のS49)。
CPUユニット20aは、ドライバ28aにてFTPレスポンス用パケットを受け、図5の受信処理を行うが、第1通信ユニット30aから転送されてきたFTPレスポンス用パケットがパソコン11宛であると認識する。CPUユニット20aは、パソコン11と第2通信ユニット30cとが同一ネットワークに接続されていると認識しているためCPUユニット20aはドライバ28bから第2通信ユニット30cにFTPレスポンス用パケットを転送する(図5のS13、S18)。第2通信ユニット30cは、CPUユニット20aから内部バス40を経由して転送されてきたFTPアクセス用パケットをそのままパソコン11宛に送信する。
パソコン11は、CPUユニット20aから送られてきたFTPレスポンス用パケットの受け付け処理を行う。これにより、パソコン11とPLC16(CPUユニット20b)との間で、汎用のプロトコルを用いてデータの送受を行なうことができる。
なお、CPUユニット20aの内部バス用ドライバ28a,28bを、通信ユニット30a,30cに対応させて設けた例を説明した。この構成は、内部バス用ドライバ28aは通信ユニット30aとの間で1対1にデータバス通信し、内部バス用ドライバ28bは通信ユニット30cとの間で1対1にデータバス通信するような構成である。しかし、それに限らず、内部バス用ドライバをすべての通信ユニットに共通した構成としてもよい。内部バス40は1つの共通のバスであるから、共通の内部バス用ドライバを、転送先の通信ユニットを1つ特定してデータ転送する機能を持った構成とすればよい。
本発明のプログラマブルコントローラを含むネットワークシステムの一例を示す図である。 本発明のプログラマブルコントローラの一実施の形態を示す図である。 ルーティングテーブルの一例を示す図である。 CPUユニットの送信機能を説明するフローチャートである。 CPUユニットの受信機能を説明するフローチャートである。 CPUユニットの受信機能を説明するフローチャートである。 通信ユニットにおける振り分け機能を説明する図である。 通信ユニットにおける振り分け機能を説明する図である。 通信ユニットにおける振り分け機能を説明する図である。 通信ユニットにおける振り分け機能を説明する図である。 通信ユニットにおける振り分け機能を説明する図である。 通信ユニットにおける振り分け機能を説明する図である。 通信ユニットにおける振り分け機能を説明する図である。 通信ユニットの送信機能を説明するフローチャートである。 通信ユニットの受信機能を説明するフローチャートである。 通信ユニットの受信機能を説明するフローチャートである。 互いに異なるネットワークに接続された装置同士がデータを送受する手順を説明する図である。 互いに異なるネットワークに接続された装置同士がデータを送受する手順を説明する図である。 本発明のプログラマブルコントローラの別の実施の形態を示す図である。
符号の説明
10 第1ネットワーク
11 パソコン
12 第1PLC
13 第2ネットワーク
16 第2PLC
17 第3PLC
18 リモートIO
20 CPUユニット
21 PLC用TCP/IPアプリ群
22 PLC用トランスポート層プロトコルスタック
23 PLC用IPプロトコルスタック
24 イーサネットドライバ
25 イーサネットインタフェース
26 ドライバ
30 通信ユニット
31 TCP/IPアプリ群
32 トランスポート層プロトコルスタック
33 IPプロトコルスタック
34 TCP/IPブリッジ内蔵イーサネットドライバ
35 イーサネットインタフェース
36 ドライバ
40 内部バス

Claims (4)

  1. CPUユニットと通信ユニットとを内部バスで接続したプログラマブルコントローラであって、
    前記CPUユニットは、
    上位から順に、TCP/IPプロトコルに準拠した、アプリケーション層と、トランスポーション層と、ルーティング機能を有するインターネット層と、イーサネットドライバと、イーサネットインタフェースとを備えるとともに、前記インターネット層に第1の内部バス用のドライバを接続するように構成し、前記イーサネットドライバまたは第1の内部バス用ドライバから転送されてきたデータを、前記インターネット層にてルーチング処理し、ルーチング処理結果に基づきデータを前記トランスポーション層及びまたは第1の内部バス用ドライバへ転送するものであり、
    前記通信ユニットは、
    上位から順に、TCP/IPプロトコルに準拠した、アプリケーション層と、トランスポーション層と、インターネット層と、イーサネットドライバと、イーサネットインタフェースと、を備えるとともに、前記イーサネットドライバに第2の内部バス用のドライバを接続するように構成し、
    前記イーサネットドライバは、第2の内部バス用のドライバから転送されてきたデータを前記イーサネットインタフェースに転送する機能と、前記イーサネットインタフェースから転送されてきたデータを、そのデータのプロトコルヘッダ部を解析し、その内容によって第2の内部バス用のドライバ及びまたは前記インターネット層に転送する振り分け機能とを備えたものである
    ことを特徴とするプログラマブルコントローラ。
  2. CPUユニットと複数の通信ユニットとを内部バスで接続したプログラマブルコントローラであって、
    前記CPUユニットは、
    上位から順に、TCP/IPプロトコルに準拠した、アプリケーション層と、トランスポーション層と、ルーティング機能を有するインターネット層と、内部バス用のドライバとを備えるとともに、前記インターネット層に第1の内部バス用のドライバを接続するように構成し、第1の内部バス用ドライバから転送されてきたデータを、前記インタネット層にてルーチング処理し、ルーチング処理結果に基づきデータを前記トランスポーション層及びまたは送信先の通信ユニット宛てに第1の内部バス用ドライバへ転送するものであり、
    前記複数の通信ユニットのそれぞれは、
    上位から順に、TCP/IPプロトコルに準拠した、アプリケーション層と、トランスポーション層と、インターネット層と、イーサネットドライバと、イーサネットインタフェースと、を備えるとともに、前記イーサネットドライバに第2の内部バス用ドライバを接続するように構成し、
    前記イーサネットドライバは、第2の内部バス用ドライバから転送されてきたデータを前記イーサネットインタフェースに転送する機能と、前記イーサネットインタフェースから転送されてきたデータを、そのデータのプロトコルヘッダ部を解析し、その解析内容によって第2の内部バス用ドライバ及びまたは前記インターネット層に転送する振り分け機能とを備えたものである
    ことを特徴とするプログラマブルコントローラ。
  3. 前記通信ユニットに、自ユニットのアプリケーション層が利用可能なポート番号の範囲を設定しておき、
    通信ユニットにおける振り分け機能は、受け取ったデータの宛先ポート番号と上記範囲から転送先を決定するものであることを特徴とする請求項1または2に記載のプログラマブルコントローラ。
  4. 内部バスを有し、CPUユニットが内部バスに接続されたプログラマブルコントローラに対して、連結するとともにその内部バスに接続する通信ユニットであって、
    上位から順に、TCP/IPプロトコルに準拠した、アプリケーション層と、トランスポーション層と、インターネット層と、イーサネットドライバと、イーサネットインタフェースと、を備えるとともに、前記イーサネットドライバに、内部バス用のドライバを接続するように構成し、
    前記イーサネットドライバは、前記内部バス用のドライバから転送されてきたデータは前記イーサネットインタフェースに転送する機能と、前記イーサネットインタフェースから転送されてきたデータは、そのデータのプロトコルヘッダ部を解析し、その内容によって前記内部バス用のドライバ及びまたは前記インターネット層に転送する振り分け機能とを備えた
    ことを特徴とする通信ユニット。
JP2006070431A 2006-03-15 2006-03-15 プログラマブルコントローラ Expired - Fee Related JP4172490B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006070431A JP4172490B2 (ja) 2006-03-15 2006-03-15 プログラマブルコントローラ
EP20070005312 EP1835368A3 (en) 2006-03-15 2007-03-14 Programmable controller
US11/724,612 US20070217392A1 (en) 2006-03-15 2007-03-14 Programmbale controller and communication unit
US12/101,404 US20080240136A1 (en) 2006-03-15 2008-04-11 Programmable controller and communication unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006070431A JP4172490B2 (ja) 2006-03-15 2006-03-15 プログラマブルコントローラ

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007324385A Division JP4671056B2 (ja) 2007-12-17 2007-12-17 プログラマブルコントローラおよび通信ユニット

Publications (2)

Publication Number Publication Date
JP2007249472A true JP2007249472A (ja) 2007-09-27
JP4172490B2 JP4172490B2 (ja) 2008-10-29

Family

ID=38171209

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006070431A Expired - Fee Related JP4172490B2 (ja) 2006-03-15 2006-03-15 プログラマブルコントローラ

Country Status (3)

Country Link
US (2) US20070217392A1 (ja)
EP (1) EP1835368A3 (ja)
JP (1) JP4172490B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2042374A2 (en) 2007-09-26 2009-04-01 Nissan Motor Co., Ltd. Vehicle periphery monitoring apparatus and image displaying method
KR101358527B1 (ko) * 2011-10-27 2014-02-05 미쓰비시덴키 가부시키가이샤 프로그래머블 로직 컨트롤러

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101715571A (zh) * 2007-05-29 2010-05-26 光洋电子工业株式会社 具有通信功能的plc
US8996710B2 (en) * 2008-04-07 2015-03-31 Honeywell International Inc. Systems and methods for peer-to-peer control using an input/output network
US20100249952A1 (en) * 2009-03-31 2010-09-30 Schneider Electric/Square D Company Direct Control of Devices Through a Programmable Controller Using Internet Protocol
EP2602959B1 (de) * 2011-12-06 2014-06-04 FESTO AG & Co. KG Busknoten und Steuerungssystem
EP2913727B1 (de) * 2014-02-28 2016-09-21 Siemens Aktiengesellschaft Verfahren zur Übermittlung von Nachrichten über ein Rückwandbus-System eines modularen industriellen Automatisierungsgeräts
EP3267636B1 (de) * 2016-07-06 2018-10-31 Siemens Aktiengesellschaft Modulares industrielles automatisierungsgerät und verfahren zur konfiguration eines modularen industriellen automatisierungsgeräts
CN108170091A (zh) * 2018-03-19 2018-06-15 浙江国自机器人技术有限公司 一种plc控制器、plc控制器集群系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6321272B1 (en) * 1997-09-10 2001-11-20 Schneider Automation, Inc. Apparatus for controlling internetwork communications
FR2781583B1 (fr) * 1998-07-22 2000-12-01 Cegelec Architecture de communication pour systeme industriel de conduite de procede et unite programmee correspondante
FR2811844B1 (fr) * 2000-07-13 2002-11-29 Schneider Automation S A Bus interne automate supportant le protocole tcp/ip
US20040114591A1 (en) * 2000-07-13 2004-06-17 Schneider Automation Sas IP Routing Between Modules on a PLC Backplane
US7002462B2 (en) * 2001-02-20 2006-02-21 Gannett Fleming System and method for remote monitoring and maintenance management of vertical transportation equipment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2042374A2 (en) 2007-09-26 2009-04-01 Nissan Motor Co., Ltd. Vehicle periphery monitoring apparatus and image displaying method
KR101358527B1 (ko) * 2011-10-27 2014-02-05 미쓰비시덴키 가부시키가이샤 프로그래머블 로직 컨트롤러

Also Published As

Publication number Publication date
EP1835368A2 (en) 2007-09-19
JP4172490B2 (ja) 2008-10-29
US20080240136A1 (en) 2008-10-02
EP1835368A3 (en) 2009-11-04
US20070217392A1 (en) 2007-09-20

Similar Documents

Publication Publication Date Title
JP4172490B2 (ja) プログラマブルコントローラ
EP2562970B1 (en) Switch, and flow table control method
JP5565476B2 (ja) ネットワークシステム、及びネットワークフロー追跡方法
US20100257277A1 (en) Web Access for Non-TCP/IP Control Devices of an Industrial Control System
CN109960242A (zh) 控制系统以及控制装置
CN103095673B (zh) 用于传输与安全有关的数据的方法和总线设备
US20200220846A1 (en) Automation and/or Communications Appliance and Method for Checking Datagrams Transmitted in An Industrial Automation System
US20020059485A1 (en) Controller internal bus supporting the TCP/IP Protocol
US10594551B2 (en) Modular industrial automation device and method for configuring a modular industrial automation device
US20040205251A1 (en) System and method for implementing a generic enhanced network driver
JP4671056B2 (ja) プログラマブルコントローラおよび通信ユニット
US10374834B2 (en) Modular industrial automation appliance and method for transmitting messages via a backplane bus system of the modular industrial automation appliance
JP4513506B2 (ja) 機器管理システムおよびゲートウェイ装置
JP2004306200A (ja) ロボット制御システム
US20040114591A1 (en) IP Routing Between Modules on a PLC Backplane
US8880644B2 (en) Programmable logic controller
US20080181222A1 (en) Communication System, Auxiliary Device and Communication Method
JP5089476B2 (ja) 通信開始システム
JP2010098429A (ja) ネットワークスイッチ装置、ネットワークスイッチ装置制御方法及びネットワークスイッチ装置制御プログラム
JP2010028505A (ja) フィールドネットワークシステムおよびフィールドコントローラ
JP2007172048A (ja) ポーリング通信システム及びサーバシステム
JP2005268988A (ja) 異種ネットワークゲートウェイシステム
JP7390879B2 (ja) 通信処理装置、通信処理方法およびプログラム、並びにネットワーク層のヘッダ部のデータ構造
JP3675806B2 (ja) 通信ネットワークにおけるアドレス付与方法及び装置
CN101192917B (zh) 基于网络地址转换对网络访问进行控制的方法和系统

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20070910

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20071003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080331

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080620

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080626

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4172490

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110822

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120822

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130822

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees