JP5411725B2 - 制御用ネットワークシステム、マスタ装置、制御用データ処理方法、および、制御用データ処理プログラム - Google Patents

制御用ネットワークシステム、マスタ装置、制御用データ処理方法、および、制御用データ処理プログラム Download PDF

Info

Publication number
JP5411725B2
JP5411725B2 JP2010015213A JP2010015213A JP5411725B2 JP 5411725 B2 JP5411725 B2 JP 5411725B2 JP 2010015213 A JP2010015213 A JP 2010015213A JP 2010015213 A JP2010015213 A JP 2010015213A JP 5411725 B2 JP5411725 B2 JP 5411725B2
Authority
JP
Japan
Prior art keywords
packet
control
packet generation
generation information
data
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.)
Active
Application number
JP2010015213A
Other languages
English (en)
Other versions
JP2011155451A (ja
Inventor
龍也 丸山
山田  勉
伸治 米本
隆志 岩城
敬典 大橋
豊 松本
一郎 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Industrial Equipment Systems Co Ltd
Original Assignee
Hitachi Industrial Equipment Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Industrial Equipment Systems Co Ltd filed Critical Hitachi Industrial Equipment Systems Co Ltd
Priority to JP2010015213A priority Critical patent/JP5411725B2/ja
Priority to US13/014,851 priority patent/US9557734B2/en
Priority to EP11152329.6A priority patent/EP2354874B1/en
Publication of JP2011155451A publication Critical patent/JP2011155451A/ja
Application granted granted Critical
Publication of JP5411725B2 publication Critical patent/JP5411725B2/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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • 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
    • 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
    • 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/403Bus networks with centralised control, e.g. polling
    • 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
    • H04L2012/4026Bus for use in automation systems
    • 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

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、制御用ネットワークシステム、マスタ装置、制御用データ処理方法、および、制御用データ処理プログラムの技術に関する。
制御システムは、1台以上の制御用計算機(マスタ装置)が、ネットワークを介して1台以上の制御対象装置(スレーブ装置)を制御するように構成される。そして、マスタ装置は、制御指令などを含む制御用パケットをスレーブ装置へ送信することで、スレーブ装置を制御する。制御用パケットが流れるネットワークには、DeviceNet、CC-Link(登録商標)、EtherCAT(登録商標)などがある。
制御アプリケーションにおけるAPI(Application Programming Interface)には、さまざまな方式がある。APIには、送信するパケットそのものを構築し、そのパケット内のデータ領域へ制御指令を格納する方式がある。
APIの別の方式では、制御アプリケーションからアクセス可能なアドレス空間上に、制御対象のデータ領域を割り当て、その領域へ制御指令を書き込むものもある。そのアドレス空間に書き込まれた制御指令は所定の方式で送信パケットとして構築され、ネットワークへ送信される。
また、アドレス空間はメモリ上に展開されたソフトウェアオブジェクトの場合もあれば、CPUなどの演算部からアクセス可能なハードウェア上のバス空間であることもある。
所定のアドレス空間上にデータ領域を割り当てる方式として、転写メモリ方式(特許文献1、引用文献1)がある。転写メモリ方式は、ネットワークを構成する全ノードのデータ領域をアドレス空間上に均等の大きさで割り当てる。全ノード上のそのアドレス空間上のデータは、全ノード間で定期的に通信によって交換される。このような方式をとるネットワークとして、CC-LinkやFL-netなどが挙げられる。転写メモリ方式はコモンメモリ方式と呼ばれることもある。
所定のアドレス空間上にデータ領域を割り当てる別の方式として、論理アドレス空間方式がある。論理アドレス空間方式は、各スレーブの持つ任意のデータ領域を単一の仮想的な論理アドレス空間に割り当てる。その領域の大きさや割り当て方は自由に設定することができる。このような方式をとるネットワークとしてEtherCAT(登録商標)(IEC61784パート2のCommunication Profile Family 12)がある。
特開2000−76163号公報
ISO(International Organization for Standardization)14745−4,「Industrial Automation Systems and integration-Open systems application integration frameworks-Part 4 Reference description for Ethernet-based control systems」
ここで、これらの制御対象への制御指令の通信方法におけるAPIにおいて、従来の方法では、ソフトウェアの開発効率、ソフトウェア上での通信性能、ネットワーク構成の柔軟性などの面で課題が生じる。
送信パケットをアプリケーションで作成して、制御対象への制御指令をその送信パケットに格納する方式では、アプリケーション開発者はネットワークの通信プロトコルを理解する必要がある。制御アプリケーションの開発においては、所望の制御方式を実現し、目的の制御性能を満足するか否かに集中できることが望ましい。そのような場合に、アプリケーション開発者に通信プロトコルの理解を要求することは、開発工数の増加、アプリケーション開発の複雑化などの課題が生じる。
さらに、オペレーティングシステム(以下、OSと略す)などの通信用ソフトウェアを利用する場合、通信処理時間が増大し、システム全体での制御性能を低下させる。その通信用ソフトウェアの例としては、TCP/IPプロトコルスタック(以下、通信用ソフトウェアとしてプロトコルスタックとして説明する)が挙げられる。プロトコルスタックによる通信処理は、制御アプリケーションと通信処理の実行を順次実行するため、通信処理時間が増大する。また、OS上で他のアプリケーションが動作している場合は、それらの実行時間の影響も受け、通信処理時間が増大する可能性がある。
転写メモリ方式では、制御対象のデータ領域をアドレス空間上に割り当て、その領域に対して、指令の書込み、読込みを実行する。そのため、アプリケーションで送信パケットを作成する方法に比較して、通信プロトコルの詳細を理解する必要がないという利点がある。しかしながら、転写メモリ方式では、固定サイズのデータ領域をアドレス空間上に全ノードの数だけ割り当てるため、ネットワークに接続可能なノード数に制約が生じやすい。
また、データ領域の大きさが固定である仕様のため、データ領域に空きが生じやすい。例えば、I/O点数が2点の制御対象と、1000点の制御対象がある場合、データ領域の大きさが1024点であるとすると、後者の制御対象はデータ領域を有効活用できるが、前者の制御対象はデータ領域のほとんどが意味のない領域となる。
論理アドレス空間方式は、転写メモリ方式に比較して、制御対象のデータ領域を自由に配置することができる。そのため、アドレス空間の利用効率も高く、接続可能なノード数の制約も緩い。したがって、論理アドレス空間方式をとるネットワークの方が、転写メモリ方式のネットワークよりも、接続可能なノードの最大許容数は多い。
しかしながら、論理アドレス空間方式は、転写メモリ方式と同様に、開発者が、所定のアドレス位置上のデータがアプリケーションにおいて、どのような意味を持つかを把握していなければならない。そのため、制御アプリケーション上での意味を表現する形式でアプリケーション開発をすることができない。したがって、開発者は所定のアドレスに対して、アプリケーション上の処理を実行することになるため、開発効率が低下する。
また、論理アドレス空間方式は、アプリケーション開発者に論理アドレス空間やその他ネットワークに関する知識(送信パケットの作成など)を要求し、アプリケーションの開発期間の長期化、必要スキルの高度化を意味する。したがって、アプリケーションの開発コストが増加する。さらにソフトウェアによる実装では、順次実行のため、通信処理時間が長期化し、結果的に制御性能が低下するという課題がある。
そこで、本発明は、前記した問題を解決し、開発効率および通信性能を向上させた情報処理装置を提供することを、主な目的とする。
前記課題を解決するために、本発明は、制御用パケットを生成するマスタ装置と、前記制御用パケットに従って制御されるスレーブ装置とを接続する制御用ネットワークシステムであって、
前記マスタ装置が、パケット生成情報登録部と、パケット生成部と、通信部と、記憶手段と、パケット選択手段とを有し、
前記パケット生成情報登録部が、前記スレーブ装置への制御用コマンドごとに、その制御用コマンドが扱うデータを記憶する前記記憶手段内のデータ領域を割り当て、その割り当てたデータ領域アドレスと、前記スレーブ装置への制御用コマンドと、データサイズと、前記スレーブ装置内の記憶領域におけるデータアクセス用のアドレスとを対応づけて、パケット生成情報として前記記憶手段に記憶し、
記パケット選択手段は、前記記憶手段に記憶された前記パケット生成情報から、前記パケット生成情報を構成する情報をもとに前記パケット生成情報を選択するときに、前記パケット生成情報のうちの前記マスタ装置から前記スレーブ装置へのデータ書き込み用の制御用コマンドを含む前記パケット生成情報を選択し、
前記パケット生成部が、前記パケット選択手段が選択した前記パケット生成情報を参照して抽出した情報をもとに前記制御用パケットを作成するときに、前記パケット選択手段が選択した前記パケット生成情報を参照して、そのパケット生成情報に含まれる各制御用コマンドに対応する前記記憶手段のアドレスから読み取った書き込み用のデータを、前記制御用パケットに含めることで前記制御用パケットを作成し、
前記通信部が、作成された前記制御用パケットを、前記スレーブ装置へと送信することを特徴とする。
その他の手段は、後記する。
本発明によれば、開発効率および通信性能を向上させた情報処理装置を提供することができる。
本発明の第1実施形態に関する制御用ネットワークシステムを示す構成図である。 図1の制御用計算機の通信用LSIを示す構成図である。 本発明の第1実施形態に関する開発用計算機を示す構成図である。 システム情報およびパケット生成情報の一例を示す構成図である。 パケット生成情報登録部が、データ記憶部にデータ構造を割り当てる手順を示すフローチャートである。 パケット生成情報登録部が、データ記憶部にデータ構造を割り当てる手順を示すフローチャートである。 パケット生成情報登録部が、データ記憶部にデータ構造を割り当てる手順を示すフローチャートである。 パケット生成情報登録部が、データ記憶部にデータ構造を割り当てる手順を示すフローチャートである。 図5および図6に示す手順で割り当てた結果のデータ記憶部を示す説明図である。 図7および図8に示す手順で割り当てた結果のデータ記憶部を示す説明図である。 制御指令構成部が、データ記憶部にデータ構造を割り当てるとともに、制御指令構成を生成する手順を示すフローチャートである。 開発用計算機が実行するアプリケーションの開発手順を示すフローチャートである。 本発明の第2実施形態における通信用LSIを示す構成図である。 アドレス対応情報およびパケット生成情報の一例を示す構成図である。 開発用計算機が実行するアプリケーションの開発手順を示すフローチャートである。 本発明の第1実施形態および第2実施形態での、パケット生成部によるパケット送信時処理を示すフローチャートである。 図16の処理で生成されるEtherCATフレームであるイーサネット(登録商標)フレームの構造を示す構成図である。 本発明の第1実施形態および第2実施形態での、パケットフィルタ部によるパケット受信時処理を示すフローチャートである。
以下、本発明の各実施形態を、図面を参照して詳細に説明する。
第1実施形態は、データ構造の割り当てを物理アドレス空間として構成する形態である。
第2実施形態は、データ構造の割り当てを論理アドレス空間として構成する形態である。
図1(a)は、第1実施形態の制御用ネットワークシステムを示す構成図である。マスタ装置としての制御用計算機120は、制御用ネットワーク122を介して、スレーブ装置としての制御対象121を制御する。制御対象121は、例えば、サーボアンプとサーボモータによる構成である。
制御用ネットワーク122は、例えば、イーサネット(登録商標)のプロトコル上で動作するEtherCAT(登録商標)のネットワークである。
このEtherCATのネットワークは、以下の特徴を有する。
・マスタ装置とスレーブ装置とをリング状に接続し、マスタ装置から送出される制御用パケットは、1台以上のスレーブ装置を順に廻り、マスタ装置へと戻ってくる。
・1つの制御用パケットには、複数台のスレーブ装置それぞれへの制御用データを含めてもよい。これにより、マスタ装置は、複数台のスレーブ装置それぞれに対して個別にパケットの送受信をするよりも、少ない数のパケットを送受信するだけで済む。
・複数台のスレーブ装置それぞれへの制御用コマンドが含まれる制御用パケットは、マスタ装置から送出されると、リング状のネットワークに従って各スレーブ装置へと順に転送された後、送出元のマスタ装置へと戻る。
図1(b)は、制御用計算機120のハードウェア構成を示す構成図である。制御用計算機120は、CPU101と、通信用LSI102と、PHY(物理層:physical layer)103と、メモリ108と、不揮発性記憶媒体109とが、バス110で内部接続されて、構成される。
CPU101は、不揮発性記憶媒体109からプログラムをメモリ108に転送して実行する。実行処理プログラムとしては、OS(Operating System)や、そのOS上で動作するアプリケーションプログラムが例示される。
通信用LSI102は、CPU101上で動作するプログラムから通信要求を受け取り、PHY103を用いて制御用ネットワーク122に対して通信する。通信用LSI102の実装例としては、FPGA(Field Programmable Gate Array)、CPLD(Complex Programmable Logic Device)、ASIC(Application Specific Integrated Circuit)、ゲートアレイなどのIC(Integrated Circuit)が例示される。
PHY103は、制御用ネットワーク122との通信機能を実装した送受信機ICである。PHY103の提供する通信規格としてイーサネット(登録商標)のPHYチップが例示される。なお、図1(b)の構成では、PHY103と通信用LSI102が接続しているので、イーサネットのMAC(Media Access Control)層の処理は通信用LSI102に含まれる。
なお、MAC機能を提供するICを通信用LSI102とPHY103間に配置する構成や、MAC機能を提供するICとPHY103を組み合わせた通信用ICと通信用LSI102を接続する構成としてもよい。
メモリ108は、CPU101が動作するための一時的な記憶領域であり、不揮発性記憶媒体109から転送したOS、アプリケーションプログラムなどが格納される。
不揮発性記憶媒体109は、情報の記憶媒体で、CPU101を動作させるためのプログラムの保存、プログラムの実行結果の保存に利用される。
バス110は、CPU101、メモリ108、不揮発性記憶媒体109、通信用LSI102をそれぞれ接続する。バス110としては、PCI(Peripheral Components Interconnect)バス、PCI Expressバス、ISA(Industrial Standard Architecture)バス、システムバス、メモリバスなどが例示される。
図2は、制御用計算機120の通信用LSI102を示す構成図である。
通信用LSI102は、バス接続部130と、データ記憶部131と、パケット生成情報記憶部132と、パケット生成部133と、パケットフィルタ部134と、通信部135と、動作管理部138と、を有する。
なお、本実施形態での「パケット」とは、スレーブ装置としての制御対象121を制御するための制御用パケットである。
バス接続部130は、制御用計算機120のハードウェア構成において、バス110と接続する。バス接続部130は、バス110の通信仕様に応じてCPU101やメモリ108と通信する。また、バス接続部130は、通信用LSI102内においては、データ記憶部131、パケット生成情報記憶部132、および、動作管理部138と接続する。
バス接続部130は、データ記憶部131と、通信フレームを生成するためのデータを送受信する。
バス接続部130は、パケット生成情報記憶部132と、データ記憶部131に記憶されるデータから通信フレームを生成するための情報を送受信する。
バス接続部130は、動作管理部138と、パケット生成部133およびパケットフィルタ部134の動作の管理設定や、状態を送受信する。
データ記憶部131は、通信フレームを生成するためのデータを記憶するため、書込み用記憶部150および読込み用記憶部151の組として構成される。
書込み用記憶部150は、バス接続部130から書込みされるデータの記憶部であり、パケット生成部133から、記憶しているデータを読み込まれる。また、読込み用記憶部151は、パケットフィルタ部134から書き込まれるデータの記憶部であり、バス接続部130から、記憶しているデータを読み込まれる。
書込み用記憶部150と読込み用記憶部151は、それぞれ必要に応じて、外部からのアクセスに対して排他制御をするか、内部に複数のデータ領域を持たせる。書込み用記憶部150を用いて、具体例を説明する。
データ記憶部131は、データの通信経路として、バス接続部130、パケット生成部133、および、パケットフィルタ部134と接続している。ここで、バス接続部130およびパケット生成部133は、書込み用記憶部150に同時にアクセスする可能性があるため、両者のアクセス衝突を回避するために、例えば、以下の2つの手法のいずれかを用いることが望ましい。
手法(1)として、アクセス権管理を行う手法が挙げられる。つまり、バス接続部130およびパケット生成部133のうちの片方が書込み用記憶部150にアクセスしている場合は、他方のアクセスを禁止するように、アクセス権を設定する。
手法(2)として、環状バッファなどのバッファリングにより、アクセスを順次行う手法が挙げられる。例えば、書込み用記憶部150の内部に複数のデータ記憶領域を用意して環状バッファを構築し、バス接続部130とパケット生成部133の同時アクセスを可能とする。環状バッファに必要なデータ記憶領域の数は、2つの記憶部のアクセス速度の関係で決定される。
なお、手法(2)は、手法(1)と比べて、記憶領域が多くなるが、処理性能は向上する。これらの手法の使い分けは、記憶領域、処理性能の要求、あるいは制約条件によって決定される。なお、読込み用記憶部151についても、書込み用記憶部150と同じように、アクセス衝突の回避手段として手法(1)または手法(2)を用いてもよい。
パケット生成情報記憶部132は、パケット生成情報141(詳細は、後記の図4(b)を参照)を記憶する。
パケット生成部133は、パケット生成情報記憶部132から読み込んだパケット生成情報141に従って、データ記憶部131からデータを取得して、制御対象121を制御するためのパケットを生成し、送信部136へ伝送する。
パケットフィルタ部134は、受信部137を介して受信されたパケットから制御用データを抽出し、データ記憶部131へと記憶する。ここで、制御用データのデータ記憶部131内での記憶位置や記憶領域のサイズは、パケット生成情報141に従う。
通信部135は、制御用ネットワーク122に接続し、制御用ネットワーク122の通信プロトコルにしたがって通信をするための機能部であり、送信部136と受信部137との組で構成される。なお、図1(b)の構成では、PHY103が通信用LSI102外にあるため、通信部135はMAC層の処理部に該当する。ただし、PHY103をMAC層、PHY層を含めたイーサネット通信デバイスとしてもよいし、また、PHY機能まで含めて通信用LSI102に包含してもよい。
送信部136は、通信部135における送信機能部であり、制御用計算機120から制御用ネットワーク122に対してパケットを送信する。
受信部137は、通信部135における受信機能部であり、制御用ネットワーク122から送信されたパケットを受信する。
動作管理部138は、機能レジスタなどにより構成され、パケット生成部133、パケットフィルタ部134の動作の管理や、状態をバス110に提示する。CPU101上で動作するプログラムは、バス110を介して動作管理部138の機能レジスタにアクセスすることにより、パケット生成部133およびパケットフィルタ部134の動作を制御し、その状態を取得する。動作管理部138で設定可能な項目、取得可能な情報として、パケット生成部133によるパケット送信のタイミングや、パケットを生成するための情報などが挙げられる。
図3は、開発用計算機169を示す構成図である。開発用計算機169は、図1(b)で示したCPU101などのハードウェア構成を備えるコンピュータとして構成される。開発用計算機169と制御用計算機120とは、同じ筐体のコンピュータとして構成してもよいし、別々の筐体のコンピュータとして構成してもよい。
開発用計算機169は、処理部として制御指令構成部160を有し、記憶手段内にデータとしてシステム情報170と、プログラムソース162と、制御指令構成163とを記憶する。
制御用計算機120は、OS164、デバイスドライバ165、ライブラリ166、API167、アプリケーション168、パケット生成情報登録部161を、自装置で動作させている。
一方で、制御指令構成部160、プログラムソース162、制御指令構成163、システム情報170は、制御用計算機120上で動作、存在させてもよいし、制御用計算機120と異なる開発用計算機169上で動作、存在させてもよい。
開発用計算機169においても、単一の計算機である必要はなく、例えば、制御指令構成部160が動作する計算機とプログラムソース162を用いてアプリケーション168を開発する計算機が異なってもよい。
制御指令構成部160は、システム情報170で定義される制御対象121、制御用ネットワーク122に関する情報を解析し、制御指令構成163を生成する。
パケット生成情報登録部161は、システム情報170で定義される制御対象121、制御用ネットワーク122に関する情報を解析し、デバイスドライバ165の提供するアクセス機能を用いて、パケット生成情報141をパケット生成情報記憶部132に登録する。
プログラムソース162は、制御指令構成163を利用したプログラムのソースコードである。プログラムソース162は、コンパイルされて、実行形式であるアプリケーション168となる。なお、本実施形態では、コンパイルによって実行形式となるコンパイル型言語について述べるが、プログラムソースの実行形態として、プログラムソースを実行時に解釈して逐次実行するインタプリンタ型言語でもよい。
制御指令構成163は、通信用LSI102のデータ記憶部131の構成を示す。制御指令構成163の具体例として、C言語の構造体定義、共用体定義が挙げられる。
OS164は、プログラム管理やハードウェアへのアクセスなどの基本機能を提供する。OS164は、必ずしも必要ではないが、汎用的なアプリケーションや既存のソフトウェア資産の利用、タスク管理などの基本機能を提供することから、利用されるのが望ましい。また、時間的制約にしたがってタスクスケジューリングを実行可能なリアルタイムOSが望ましい。
デバイスドライバ165は、OS164の提供するハードウェアへのアクセス手段を用いて、バス110を介して通信用LSI102の公開するデータ領域や動作管理情報、状態情報にアクセスするための機能を提供する。デバイスドライバ165は、OS164の一部であっても構わない。
ライブラリ166は、利用頻度の多い関数をまとめたものであり、OS164の機能を利用してメモリ管理、タスク管理、入出力、ファイル操作などの基本機能を提供する。具体例として、Linux(登録商標)で利用されるglibcが挙げられる。
API167は、ライブラリ166を介して、デバイスドライバ165やOS164の提供する機能を利用すためのソフトウェアインターフェースである。
アプリケーション168は、制御対象121を制御するための制御指令を演算し、通信用LSI102を用いて通信パケットの送受信を実行するソフトウェアである。
図4(a)は、システム情報170の一例を示す。システム情報170は、1つ以上の制御指令項目171(表の行に対応)で構成される。各制御指令項目171a,171b,171cは、制御指令名称172、コマンド173、スレーブ識別子174、アドレス175、入出力方向176、および、サイズ177で構成される。
制御指令名称172は、該当するデータ領域が制御指令として、どのような意味、名称を持つかを示す。
コマンド173は、該当するデータ領域に対するEtherCAT(登録商標)のテレグラムのコマンドを示す。
Figure 0005411725
表1は、コマンド173としてとりうる値のリストを示す。略語の末尾が「W」のコマンド173は、書き込み用コマンドを示し、略語の末尾が「R」のコマンド173は、読み込み用コマンドを示し、略語の末尾が「RW」のコマンド173は、読み込みおよび書き込み用コマンドを示す。なお、「読み込み」および「書き込み」の定義については、後記の入出力方向176の説明で行う。
図4(a)に戻り、システム情報170のスレーブ識別子174は、スレーブの識別子である。ただし、コマンドによってはスレーブ識別子を不要とする場合もある。例えば、制御指令項目171a、171bのように論理アドレスに対するコマンド(LRD,LWR、LRW)ではスレーブ識別子は不要である。
アドレス175は、スレーブ識別子174に該当するスレーブ装置内の記憶手段における物理アドレス、または論理アドレス(論理アドレスに対するコマンドの場合)である。
入出力方向176は、生成されるパケットが書き込み、読み込み、あるいはその両方のいずれかを示す。なお、本実施形態では、マスタの記憶領域に存在するデータを、スレーブの記憶領域にコピーすることを「書き込み」とし、スレーブの記憶領域に存在するデータを、マスタの記憶領域にコピーすることを「読み込み」とする。
サイズ177は、該当するデータ領域の大きさを示す。
図4(b)は、パケット生成情報141の一例を示す。パケット生成情報141は、コマンド142、アドレス143、スレーブ識別子144、物理・論理アドレス145、入出力方向146、サイズ147で構成される。以下に示すように、パケット生成情報141のアドレス143以外の各データは、システム情報170からコピーされる。
コマンド142は、コマンド173からコピーされるデータであり、EtherCAT(登録商標)のテレグラムにおけるコマンドを示す。
アドレス143は、データ割り当て処理の結果を示すデータであり、パケット生成情報141から生成されるパケットのデータ領域が存在するデータ記憶部131中の場所を示す。
スレーブ識別子144は、スレーブ識別子174からコピーされるデータであり、スレーブの識別子である。ただし、コマンドによってはスレーブ識別子を不要とする場合もある。例えば、論理アドレスに対するコマンド(LRD,LWR、LRW)ではスレーブ識別子は不要である。
物理・論理アドレス145は、アドレス175からコピーされるデータであり、該当するスレーブにおける物理アドレス、または論理アドレス(論理アドレスに対するコマンドの場合)である。
入出力方向146は、入出力方向176からコピーされるデータであり、生成されるパケットが書込み、読込み、あるいは、その両方のいずれかを示す。なお、入出力方向146は、コマンド142からは一意に定まらないため、本項目が存在する。例えば、LRD、LWR、LRWコマンドの入出力方向は、それぞれ読込み、書込み、両方と対応するが、ARMW、FRMWコマンドの入出力方向は書込みとする。
サイズ147は、サイズ177からコピーされるデータであり、生成されるパケットのデータ領域の大きさを示す。
図5〜図8は、それぞれ、パケット生成情報登録部161が、データ記憶部131にデータ構造を割り当てる手順を示すフローチャートである。
図5は、スレーブ識別子174ごとにデータ構造を割り当てるときに、入出力方向176が「書込み」のみの書込み用記憶部150上のデータ領域と「読込み」のみの読込み用記憶部151上のデータ領域とを、同じ開始アドレスから割り当てる処理を示すフローチャートである。
図6は、スレーブ識別子174ごとにデータ構造を割り当てるときに、入出力方向176が「書込み」のみの書込み用記憶部150上のデータ領域と「読込み」のみの読込み用記憶部151上のデータ領域とを、別の開始アドレスから割り当てる処理を示すフローチャートである。
図7は、入出力方向176ごとにデータ構造を割り当てるときに、入出力方向176が「書込み」のみの書込み用記憶部150上のデータ領域と「読込み」のみの読込み用記憶部151上のデータ領域とを、同じ開始アドレスから割り当てる処理を示すフローチャートである。
図8は、入出力方向176ごとにデータ構造を割り当てるときに、入出力方向176が「書込み」のみの書込み用記憶部150上のデータ領域と「読込み」のみの読込み用記憶部151上のデータ領域とを、別の開始アドレスから割り当てる処理を示すフローチャートである。
図5のフローチャートを説明する。なお、図5のフローチャートの動作の主体は、パケット生成情報登録部161である。
S001において、システム情報170から、データ記憶部131へまだデータ構造を割り当てていないスレーブ識別子174を含む制御指令項目171があるか否かを判定する。未割当の制御指令項目171がない(S001,No)ときには、図5の処理を終了する。
S002において、未割当の制御指令項目171があるときには(S001,Yes)、該当する未割当のスレーブ識別子を選択する。以下、S002で選択したスレーブ識別子174のスレーブを、選択したスレーブと呼ぶ。
S003において、システム情報170から、スレーブ識別子174が、S002で選択した選択したスレーブである制御指令項目171を全て選択する(S003)。
なお、ここでは、全ての制御指令項目171を選択しているが、開発者が任意に選択してもよい。その場合、システム情報170の各制御指令項目171には、その制御指令項目171からデータ構造の割り当て、パケット生成情報の生成を有効とするか無効とするかを示す属性が追加される。S003における制御指令項目171の選択において、この属性が有効であるか否かを選択基準に追加することが例示される。
S004において、S003で選択した制御指令項目171から、入出力方向176が書込み、かつ、読込みである制御指令項目171を全て選択する。
S005において、書込み用記憶部150、読込み用記憶部151のそれぞれの記憶部の先頭から、各制御指令項目171のデータ領域を、そのデータ領域のサイズに応じて順次割り当てる。
S006において、S003で選択した制御指令項目171から、入出力方向が書込みのみの制御指令項目171を全て選択する。
S007において、S005で割り当てた書込み用記憶部150の領域以降に、S006で選択した各制御指令項目171のデータ領域を、そのデータ領域のサイズに応じて順次割り当てる。
S008において、S003で選択した制御指令項目171から、入出力方向が読込みのみの制御指令項目171を全て選択する。
S009において、S005で割り当てた読込み用記憶部151の領域以降に、S008で選択した各制御指令項目171のデータ領域を、そのデータ領域のサイズに応じて順次割り当てる。
なお、S006〜S007とS008〜S009とは、どちらを先に行ってもよいし、同時に行ってもよい。
図6のフローチャートにおける、図5のフローチャートとの違いは、S009とS010の違いである。S010において、S005で割り当てた読込み用記憶部151の領域に、S007で割り当てた書込み用記憶部150の領域の大きさを加えた領域以降に、S008で選択した各制御指令項目171のデータ領域を、そのデータ領域のサイズに応じて順次割り当てる。これにより、入出力方向176が「書込み」のみの書込み用記憶部150上のデータ領域と「読込み」のみの読込み用記憶部151上のデータ領域とを、別の開始アドレスから割り当てることができる。
図7のフローチャートを説明する。
S011において、システム情報170から入出力方向が書込み、かつ、読込みである制御指令項目171を全て選択する。
S012において、書込み用記憶部150、読込み用記憶部151のそれぞれの記憶部の先頭から、各制御指令項目171のデータ領域を、そのデータ領域のサイズに応じて順次割り当てる。
S013において、システム情報170から入出力方向が書込みのみの制御指令項目171を全て選択する。
S014において、書込み用記憶部150は、S012で割り当てた書込み用記憶部150の領域以降に、S013で選択した各制御指令項目171のデータ領域を、そのデータ領域のサイズに応じて順次割り当てる。
S015において、システム情報170から入出力方向が読込みのみの制御指令項目171を全て選択する。
S016において、読込み用記憶部151は、S012で割り当てた読込み用記憶部151の領域以降に、S015で選択した各制御指令項目171のデータ領域を、そのデータ領域のサイズに応じて順次割り当てる。
なお、S013〜S014とS015〜S016とは、どちらを先に行ってもよいし、同時に行ってもよい。
図8のフローチャートは、図7のフローチャートとの違いは、S016とS017との違いである。S017において、S012で割り当てた読込み用記憶部151の領域に、S014で割り当てた書込み用記憶部150の領域の大きさを加えた領域以降に、S015で選択した各制御指令項目171のデータ領域を、そのデータ領域のサイズに応じて順次割り当てる。これにより、入出力方向176が「書込み」のみの書込み用記憶部150上のデータ領域と「読込み」のみの読込み用記憶部151上のデータ領域とを、別の開始アドレスから割り当てることができる。
図9(a)は、図5に示す手順で割り当てたデータ記憶部131である。図9(b)は、図6に示す手順で割り当てたデータ記憶部131である。図9(b)では、読込み用記憶部151内に「S007で割り当てた領域の大きさ」分が空いているので、「S005で割り当てた領域」の開始アドレスと「S009で割り当てた領域」の開始アドレスとが、書込み用記憶部150と読込み用記憶部151とで、別々のアドレスになっている。
図10(a)は、図7に示す手順で割り当てたデータ記憶部131である。図10(b)は、図8に示す手順で割り当てたデータ記憶部131である。図10(b)では、読込み用記憶部151内に「S014で割り当てた領域の大きさ」分が空いているので、「S012で割り当てた領域」の開始アドレスと「S016で割り当てた領域」の開始アドレスとが、書込み用記憶部150と読込み用記憶部151とで、別々のアドレスになっている。
以上説明した図5〜図8の手順により、パケット生成情報登録部161は、システム情報170の各レコードに対して、データ記憶部131内にデータ領域を割り当てる。
そして、パケット生成情報登録部161は、システム情報170からパケット生成情報141を生成する。図4(b)で説明したように、パケット生成情報登録部161は、パケット生成情報141のアドレス143以外のデータを、システム情報170の対応するデータからコピーするとともに、図9,図10で示した割当結果のアドレスを、パケット生成情報141のアドレス143に書き出す。
さらに、パケット生成情報登録部161は、生成したパケット生成情報141について、API167を介して、パケット生成情報記憶部132に登録する。
図11は、制御指令構成部160が、データ記憶部131にデータ構造を割り当てるとともに、制御指令構成163を生成する手順を示すフローチャートである。
図11は、図5と同様に、スレーブ識別子174ごとにデータ構造を割り当てるときに、入出力方向176が「書込み」のみの書込み用記憶部150上のデータ領域と「読込み」のみの読込み用記憶部151上のデータ領域とを、同じ開始アドレスから割り当てる処理を示すフローチャートである。
まず、データ記憶部131にデータ構造を割り当てるときに、図11におけるS021〜S029の各手順は、図5におけるS001〜S009の各手順に対応する。なお、データ構造の割当結果の書き出し先が「パケット生成情報141のアドレス143」から「構築した制御指令構成163」へと置き換わっている。
なお、制御指令構成163は、例えば、制御指令名称172を変数名、サイズ177を変数の型とするC言語の構造体、共用体定義、オブジェクト指向型言語のクラス定義が挙げられる。
制御指令構成163としては、例えば、図4(a)のシステム情報170からは、以下のC言語の構造体が生成される。
struct Cnn_command{
int position;
int speed;
int torque;
}
ここで、変数名(positionなど)は、制御指令名称172を小文字に変換したものであり、データ型(4バイト整数型を示すint)は、サイズ177から決定されたものである。そして、この構造体にアクセスするためのAPI167は、例えば、以下の通りである。
void set_position(struct Cnn_command *com,int value);
void get_position(struct Cnn_command *com);
1行目は、position変数に指定された値を代入するAPIであり、2行目は、position変数から値を取得するAPIである。
なお、C言語の制約上、制御指令構成163の制御指令名称172を英語表記にする、空白、タブ文字などをアンダーバー(“_”)に置換することが例示される。また、サイズ177がC言語で定義される変数の型より大きい場合や変数の型の大きさと一致しない場合は、配列による定義をすることが例示される。
さらに、制御指令構成163を構築する場合において、CPU101上で動作するソフトウェア環境、アプリケーション168を生成するコンパイラなどの制約により、制御指令構成163を特定のサイズに揃える必要がある場合がある。例えば、サイズ177がバイト単位でない場合は、0の値を数ビット挿入することによって、バイト単位に揃えてデータ領域を割り当てる。あるいは、CPU101が32ビットの場合、コンパイラによっては、4バイト単位に構造体の構成要素(制御指令)が整列されることがある。その場合は、ライブラリ166、API167によって、制御指令構成163の割当とデータ記憶部131中の割り当ての差異を吸収するか、データ記憶部131への割り当てにおいて、データ領域の整合性がとれるようにデータ構造を割り当てる。
S030において、S022で選択したスレーブに対応する制御指令構成163として、S025、S027、S029で構築した制御指令構成163をまとめた制御指令構成163を構築する。このとき、図5の手順でパケット生成情報登録部161がデータ記憶部131へ割り当てたデータ構造と一致するように制御指令構成163を構築する。
また、S027、S029で構築した制御指令構成163に相当するデータ記憶部131におけるデータ構造の割り当てでは、書込み用記憶部150における入出力方向176が書込みのみのデータ領域と、読込み用記憶部151における入出力方向176が読込みのみのデータ領域は、先頭アドレス位置が同じである。そのため、制御指令構成163を構築する場合は、同一の領域を指定できる方法が必要である。その具体例として、C言語の共用体が挙げられる。
S031において、S021で未割り当てのスレーブがなければ(S021,No)、スレーブごとに構築した制御指令構成163をまとめた制御指令構成163を構築する。この場合も図5の手順でパケット生成情報登録部161がデータ記憶部131へ割り当てたデータ構造と一致するように制御指令構成を構築する。
図12は、開発用計算機169が実行するアプリケーション168の開発手順を示す。
S040において、開発用計算機169は、開発者から定義されたシステム情報170の入力を受け付ける。
S041において、開発用計算機169は、開発者からの指示により、パケット生成情報登録部161にシステム情報170を解析させる指示を起動する。
S042において、パケット生成情報登録部161は、データ記憶部131のデータ構造を割り当てるとともに、その割当結果をパケット生成情報141へと書き出す(詳細は、図5〜図8のいずれかのフローチャートの処理であり、どのフローチャートの処理を実行させるかは、例えば、開発者からの選択入力による)。
S043において、開発用計算機169は、開発者からの指示により、制御指令構成部160にシステム情報170を解析させる指示を起動する。
S044において、制御指令構成部160は、データ記憶部131のデータ構造を割り当てるとともに、その割当結果から制御指令構成163を生成する(詳細は、図11のフローチャートの処理など)。
S045において、開発用計算機169は、開発者からのプログラムソース162の入力を受け付ける。このプログラムソース162には、S044の制御指令構成163およびAPI167が利用されている。
S046において、開発用計算機169は、開発者からの指示により、プログラムソース162を形式変換(コンパイル、バイトコード変換など)して、実行形式に変換し、その変換結果(バイナリファイルなど)を制御用計算機120上で動作させる。
なお、API167には、制御指令構成163とデータ記憶部131のデータ構造を対応させるAPIが含まれる。このAPIの具体例として、UNIX(登録商標)のシステムコールであるmmap関数などが例示される。また、API167には、制御指令構成163を読み書きするAPIも含まれる。このAPIにおいては、データ構造のバイト境界を揃える処理や、指令値を設定する制御指令構成と入出力方向の整合性を検証する。
その他に、mmap関数などで対応付けしたデータ記憶部131に直接、指令値を読み書きするのではなく、メモリ108中に制御指令構成163を構築し、制御指令構成163全体をまとめて、データ記憶部131に読み書きさせるAPI167が含まれる。
つまり、パケット生成情報141と制御指令構成163との主要な相違点は、パケット生成情報141が1変数ごと(図4(b)の1レコードごと)に1つのアドレス143へと対応づけているのに対し、制御指令構成163が1つ以上の変数をグループ化した構造体ごとに1つのデータ記憶部131の開始アドレスへと対応づけている点である。このように構造体という大きなデータブロックを単位として処理することにより、管理するアドレスの数を減らすことができる。
また、API167には、通信用LSI102にパケットを送信させるAPI、通信用LSI102からパケットを受信するAPIが含まれる。
また、データ記憶部131上にデータ構造として割り当てるデータ領域は、制御指令や制御結果ではなく、フレームイメージやメールボックスコマンドなどであってもよい。この場合、アプリケーション168の開発においては、制御指令構成163を利用した開発はできない。しかしながら、制御指令の演算ではなく、アプリケーションにおいて通信プロトコルを操作することを可能とする。
以下、第2実施形態について説明する。第2実施形態は、第1実施形態と比較して、データ記憶部131のデータ構造の割り当てを論理アドレス空間として構成する。以下、第2実施形態は、第1実施形態と基本的に同じ構成および動作であり、その相違点に着目して、以下の説明を行う。
図13は、第2実施形態における通信用LSI102を示す構成図である。図2と比較すると、アドレス補正値管理部180が追加されている。アドレス補正値管理部180は、データ記憶部131がバス110上に公開するアドレスと、論理アドレス空間上のアドレスとの対応を、図14(a)のアドレス対応情報190として管理する。つまり、第2実施形態では、第1実施形態の構成にアドレス補正値管理部180を追加することで、EtherCAT(登録商標)のネットワークの論理アドレス空間を活用し、ネットワーク構成を柔軟に構築することができる。
図14(a)は、アドレス補正値管理部180が管理するアドレス対応情報190を示す。アドレス対応情報190は、アドレス191、バスアドレス192、論理アドレス193、および、サイズ194の対応情報から構成される1つ以上のレコードから構成される。
アドレス191は、データ記憶部131上におけるアドレスである。
バスアドレス192は、該当するアドレス対応情報190のアドレス191が対応するバスアドレスを示す。
論理アドレス193は、該当するアドレス対応情報に対応する論理アドレス空間上のアドレスを示す。
サイズ194は、該当するアドレス対応情報のサイズである。
例えば、図14(a)に示すアドレス対応情報190では、バス110上のアドレス0xef000000〜0xef00FFFFを、EtherCAT(登録商標)仕様の論理アドレス空間の0x10000〜0x1FFFFに対応させ、さらにデータ記憶部131上のアドレス0x0〜0xFFFFに対応させることを示す。
図14(b)は、パケット生成情報201の一例を示す。パケット生成情報201は、論理アドレス202、入出力方向203、および、サイズ204で構成される。
論理アドレス202は、パケット生成情報201から生成されるパケットが対象とする論理アドレスを示す。
入出力方向203は、生成されるパケットが書込み、読込み、あるいはその両方のいずれかを示す。ここで、本実施例では論理アドレスに対するEtherCAT(登録商標)コマンドを生成することを目的としているため、入出力方向203から論理アドレスに対するコマンド(LRD,LWR、LRW)が一意に定まる。
サイズ204は、生成されるパケットのデータ領域の大きさを示す。
図15は、開発用計算機169が実行するアプリケーション168の開発手順を示す。図12との違いに着目して、以下の説明を行う。
まず、図15のS050〜S052は、図12のS040〜S042に対応する。
S050において、開発用計算機169が受け付けるシステム情報170は、論理アドレスに対するコマンド(LRD、LWR、LRWコマンド)のみで構成する。
S051は、S041と同じであり、S050で受け付けたシステム情報170の内容だけ異なっている。
S052において、パケット生成情報登録部161は、データ記憶部131のデータ構造を割り当てるとともに、その割当結果のアドレスをアドレス補正値管理部180を介してアドレス対応情報190およびパケット生成情報201として書き出す。
図16は、第1実施形態および第2実施形態での、パケット生成部133によるパケット送信時処理を示すフローチャートである。
S060において、パケット生成部133が動作を開始する。なお、S060の開始するタイミングは、動作管理部138によって制御される。例えば、CPU101上で動作するアプリケーション168がバス接続部130を介して動作管理部138に指令したタイミングや、あるいは、あらかじめ設定した周期で動作管理部138がパケット生成部133の動作を開始させることが例示される。
S061において、未処理のパケット生成情報141がパケット生成情報記憶部132にあるか否かを判定する。S061でYesならS062へ進み、S061でNoならS068へ進む。
S062において、パケット生成情報記憶部132からパケット生成情報141を1つ抽出する。
S063において、パケット生成情報141の入出力方向146に書込みが含まれているか否かを判定する。S063でYesならS064へ進み、S063でNoならS065へ進む。
S064において、データ記憶部131の書込み用記憶部150上の、抽出したパケット生成情報141に記載されているアドレス143から、パケット生成情報141に記載されているサイズ147だけデータを抽出する。
なお、第2実施形態のS064では、書込み用記憶部150から抽出するデータのアドレスは、論理アドレス202とアドレス対応情報190とから決定される。つまり、アドレス対応情報190中から、論理アドレス202を含むものを探し、そのアドレス対応情報190のアドレス191が、書込み用記憶部150から抽出するデータのアドレスである。
S065において、パケット生成情報141の入出力方向146に読込みが含まれているか否かを判定する。S065でYesならS066へ進み、S065でNoならS069へ進む。なお、入出力方向146に書込み、読込みの両方を含む場合は、書込み用記憶部150からデータを生成するため、S064後に、S065を実行する必要はない。
S066において、パケット生成情報141に記載されているサイズ147分の大きさの空データを生成する。
S067において、S064で抽出したデータ、または、S066で生成したデータから、パケット生成情報141をもとにして、パケット(図17のテレグラム215)を生成する。
なお、テレグラム215において、個々のパケットに依存しないヘッダ情報(図17のテレグラムヘッダ216)などは、動作管理部138から抽出する。
S068において、未処理のパケット生成情報141がなくなった(S061,No)ので、S067で生成した1つ以上のパケット(図17のテレグラム215)をまとめて1つのパケット(図17のイーサネットフレーム210)を構成し、送信部136へ伝送する。なお、図17のイーサネットフレーム210内のイーサネットヘッダ211およびFCS213は、送信部136で付加してもよい。
S069において、パケット生成情報141の入出力方向146に読込みが含まれていない場合は、異常であるため、その旨を通知する。異常通知の方法は、パケット生成部133から動作管理部138に通知し、CPU101上で動作するアプリケーションから取得可能としてもよいし、動作管理部138がCPU101に割込み通知することが例示される。
図17は、図16の処理で生成されるEtherCAT(登録商標)フレームであるイーサネットフレーム210の構造を示す。1つのイーサネットフレーム210は、1つのイーサネットヘッダ211と、1つのデータ領域212と、1つのFCS(Frame Check Sequence)213とから構成される。EtherCAT(登録商標)における、イーサネットヘッダ211のTypeフィールドは0x88A4である。FCS213は、データ領域212のデータが正しいか否か(通信エラーなどによりデータが破損していないか、など)の検査に用いられる。イーサネットフレーム210の生成処理は、図16のS068に該当する。
1つのデータ領域212は、1つのEtherCATヘッダ214と、1つ以上のテレグラム215とから構成される。
1つのテレグラム215は、1つのテレグラムヘッダ216と、1つのテレグラムデータ217と、1つのワーキングカウンタ(WKC:Working Counter)218とから構成される。1つのテレグラムデータ217は、1つ以上のスレーブで読み書きされるデータを格納する。つまり、1つのイーサネットフレーム210内には、複数のスレーブで読み書きされるデータが相乗りされている。ワーキングカウンタ218は、そのテレグラムを処理すべきスレーブで正しく処理されるたびに、スレーブによって所定の数だけカウントアップされるフィールドである。テレグラム215の生成処理は、図16のS067に該当する。
なお、図16に示すパケット生成部133の動作では、パケット生成情報141は固定としたが、CPU101上で動作するアプリケーションによって動的に変更してもよいし、複数のパケット生成情報141の中から、処理するパケット生成情報141を選択するようにしてもよい。後者の場合、パケット生成情報141には、そのパケット生成情報141が有効か、無効かを示す項目が追加される。
また、パケット生成部133は、以下に例示する場合、図16のS061で未処理のパケット生成情報141があるにもかかわらず、処理をS068に進めてもよい。
・S067で生成されたテレグラムデータ217のサイズの合計値が、イーサネットフレーム210の最大長を越える場合。
・所定周期でパケット生成部133が動作するときに、その周期内で処理可能なパケットサイズを越える場合。
また、これらの状況をS069と同様の方法で通知することが例示される。
図18は、第1実施形態および第2実施形態での、パケットフィルタ部134によるパケット受信時処理を示すフローチャートである。
S070において、パケットフィルタ部134が動作を開始する。なお、S070が起動する契機は、受信部137がパケットを受信して、パケットフィルタ部134へ伝送したタイミングである。なお、受信部137は、1つのイーサネットフレーム210から、1つ以上のテレグラム215を抽出し、そのテレグラム215ごとに、パケットフィルタ部134へ伝達する。
S071において、受信したパケット(テレグラム215)に該当するパケット生成情報141がパケット生成情報記憶部132にあるか否かを判定する。S071でYesならS072へ進み、S071でNoなら図18の処理を終了する。
S072において、パケット生成情報記憶部132から受信したパケットに該当するパケット生成情報141を抽出する。
S073において、パケット生成情報141の入出力方向146に読込みが含まれているか否かを判定する。S073でYesならS074へ進み、S073でNoならS071へ戻る。
S074において、受信したパケットからデータを抽出し、読込み用記憶部151へ記録する。この記録先のデータ領域は、S072で抽出したパケット生成情報141に記載されているアドレス143を起点として、パケット生成情報141に記載されているサイズ147分の領域である。
なお、第2実施形態のS074では、記録先のデータ領域の起点のアドレスを、論理アドレス202とアドレス対応情報190とから決定する。つまり、アドレス対応情報190の論理アドレス193の中から、論理アドレス202を含むものを探し、そのアドレス対応情報190のアドレス191が、読込み用記憶部151へ記録するデータのアドレスである。
以上説明した本発明の第1,第2実施形態によれば、開発効率および通信性能を向上させた情報処理装置を提供することができる。
まず、開発効率の向上について、開発者は、アプリケーション168を開発するために、制御指令構成163とAPI167を活用してプログラムソース162を開発することができる。これにより、開発者はネットワークプロトコルの詳細や、各制御指令のアドレス位置を意識することなく、効率的にアプリケーション開発をすることができる。
次に、通信性能の向上について、通信用LSI102とCPU101上で動作するアプリケーション168を並列実行でき、さらにプロトコルスタックを利用せずに、mmap関数などのAPIにより、制御指令を通信用LSI102に伝送するため、ソフトウェア上での通信処理時間を短縮できる。
101 CPU
102 通信用LSI
103 PHY
108 メモリ
109 不揮発性記憶媒体
110 バス
120 制御用計算機
121 制御対象
122 制御用ネットワーク
130 バス接続部
131 データ記憶部
132 パケット生成情報記憶部
133 パケット生成部
134 パケットフィルタ部
135 通信部
136 送信部
137 受信部
138 動作管理部
141,201 パケット生成情報
142,173 コマンド
143,175,191 アドレス
144,174 スレーブ識別子
145 物理・論理アドレス
146,176,203 入出力方向
147,177,194,204 サイズ
150 書込み用記憶部
151 読込み用記憶部
160 制御指令構成部
161 パケット生成情報登録部
162 プログラムソース
163 制御指令構成
164 OS
165 デバイスドライバ
166 ライブラリ
167 API
168 アプリケーション
169 開発用計算機
170 システム情報
171 制御指令項目
172 制御指令名称
180 アドレス補正値管理部
190 アドレス対応情報
192 バスアドレス
193,202 論理アドレス
210 イーサネットフレーム
211 イーサネットヘッダ(Ethernet(登録商標)ヘッダ)
212 データ領域
213 FCS
214 EtherCATヘッダ
215 テレグラム
216 テレグラムヘッダ
217 テレグラムデータ
218 ワーキングカウンタ

Claims (13)

  1. 制御用パケットを生成するマスタ装置と、前記制御用パケットに従って制御されるスレーブ装置とを接続する制御用ネットワークシステムであって、
    前記マスタ装置は、パケット生成情報登録部と、パケット生成部と、通信部と、記憶手段と、パケット選択手段とを有し、
    前記パケット生成情報登録部は、前記スレーブ装置への制御用コマンドごとに、その制御用コマンドが扱うデータを記憶する前記記憶手段内のデータ領域を割り当て、その割り当てたデータ領域アドレスと、前記スレーブ装置への制御用コマンドと、データサイズと、前記スレーブ装置内の記憶領域におけるデータアクセス用のアドレスとを対応づけて、パケット生成情報として前記記憶手段に記憶し、
    記パケット選択手段は、前記記憶手段に記憶された前記パケット生成情報から、前記パケット生成情報を構成する情報をもとに前記パケット生成情報を選択するときに、前記パケット生成情報のうちの前記マスタ装置から前記スレーブ装置へのデータ書き込み用の制御用コマンドを含む前記パケット生成情報を選択し、
    前記パケット生成部は、前記パケット選択手段が選択した前記パケット生成情報を参照して抽出した情報をもとに前記制御用パケットを作成するときに、前記パケット選択手段が選択した前記パケット生成情報を参照して、そのパケット生成情報に含まれる各制御用コマンドに対応する前記記憶手段のアドレスから読み取った書き込み用のデータを、前記制御用パケットに含めることで前記制御用パケットを作成し、
    前記通信部は、作成された前記制御用パケットを、前記スレーブ装置へと送信することを特徴とする
    制御用ネットワークシステム。
  2. 制御用パケットを生成するマスタ装置と、前記制御用パケットに従って制御されるスレーブ装置とを接続する制御用ネットワークシステムであって、
    前記マスタ装置は、パケット生成情報登録部と、パケット生成部と、通信部と、記憶手段と、パケット選択手段とを有し、
    前記パケット生成情報登録部は、前記スレーブ装置への制御用コマンドごとに、その制御用コマンドが扱うデータを記憶する前記記憶手段内のデータ領域を割り当て、その割り当てたデータ領域アドレスと、前記スレーブ装置への制御用コマンドと、データサイズと、前記スレーブ装置内の記憶領域におけるデータアクセス用のアドレスとを対応づけて、パケット生成情報として前記記憶手段に記憶し、
    記パケット選択手段は、前記記憶手段に記憶された前記パケット生成情報から、前記パケット生成情報を構成する情報をもとに前記パケット生成情報を選択するときに、前記パケット生成情報のうちの前記マスタ装置から前記スレーブ装置へのデータ読み込み用の制御用コマンドを含む前記パケット生成情報を選択し、
    前記パケット生成部は、前記パケット選択手段が選択した前記パケット生成情報を参照して抽出した情報をもとに前記制御用パケットを作成するときに、前記パケット選択手段が選択した前記パケット生成情報を参照して、そのパケット生成情報に含まれる各制御用コマンドに対応する前記データサイズ分の領域を前記制御用パケットに含めることで前記制御用パケットを作成し、
    前記通信部は、作成された前記制御用パケットを、前記スレーブ装置へと送信することを特徴とする
    制御用ネットワークシステム。
  3. 前記マスタ装置は、さらに、パケットフィルタ部を有し、
    前記パケットフィルタ部は、前記通信部を介して受信した前記制御用パケットに含まれる制御用コマンドのうちの前記スレーブ装置から前記マスタ装置へのデータ読み込み用の制御用コマンドを選択し、選択した制御用コマンドごとに、前記パケット生成情報を参照して、各制御用コマンドに対応する前記記憶手段のアドレスへ、前記制御用パケットから読み取ったデータを書き出すことを特徴とする
    請求項1または請求項2に記載の制御用ネットワークシステム。
  4. 前記制御用ネットワークシステムは、1台以上の前記マスタ装置と、複数台の前記スレーブ装置とをリング状のネットワークで接続し、
    複数台の前記スレーブ装置それぞれへの制御用コマンドが含まれる前記制御用パケットは、前記マスタ装置から送出されると、リング状のネットワークに従って前記各スレーブ装置へと順に転送された後、送出元の前記マスタ装置へと戻ることを特徴とする
    請求項1ないし請求項3のいずれか1項に記載の制御用ネットワークシステム。
  5. 前記マスタ装置は、さらに、アドレス補正値管理部を有し、
    前記アドレス補正値管理部は、同じ前記制御用ネットワークシステム内の各装置で共有される論理アドレス空間上の論理アドレスを、前記マスタ装置内の前記記憶手段におけるアドレスと対応づけて前記記憶手段に記憶し、
    前記パケット生成部は、さらに、選択した制御用コマンドごとの書き込み用のデータが格納されている前記記憶手段内のアドレスを、前記アドレス補正値管理部が記憶した論理アドレスとの対応付け情報から取得することを特徴とする
    請求項4に記載の制御用ネットワークシステム。
  6. 前記マスタ装置は、さらに、前記パケット生成情報登録部が割り当てた前記記憶手段内のデータ領域へ前記マスタ装置上で動作するアプリケーションからアクセスするためのデータ構造である制御指令構成を、前記アプリケーションに公開し、
    前記マスタ装置は、前記アプリケーション上で実体化された変数のデータ領域と、計算機資源のデータ領域を対応づける機能を有する基本ソフトウェアを動作させ、
    前記制御指令構成は、前記パケット生成情報の制御用コマンドごとに、その制御用コマンドが扱うデータ内容を示す変数であり、
    前記マスタ装置は、前記変数と、前記変数の制御用コマンドに対応する前記記憶手段内のデータ領域を、前記マスタ装置内で動作する前記基本ソフトウェアの対応付け機能により、対応づけることを特徴とする
    請求項1ないし請求項5のいずれか1項に記載の制御用ネットワークシステム。
  7. 前記制御指令構成は、プログラミング言語の構造体のデータ構造、プログラミング言語の共用体のデータ構造、および、オブジェクト指向言語のオブジェクトのデータ構造のうちの少なくとも1つのデータ構造として構成されることを特徴とする
    請求項6に記載の制御用ネットワークシステム。
  8. 制御用パケットを生成するマスタ装置と、前記制御用パケットに従って制御されるスレーブ装置とを接続する制御用ネットワークシステムに用いられる前記マスタ装置であって、
    前記マスタ装置は、パケット生成情報登録部と、パケット生成部と、通信部と、記憶手段と、パケット選択手段とを有し、
    前記パケット生成情報登録部は、前記スレーブ装置への制御用コマンドごとに、その制御用コマンドが扱うデータを記憶する前記記憶手段内のデータ領域を割り当て、その割り当てたデータ領域アドレスと、前記スレーブ装置への制御用コマンドと、データサイズと、前記スレーブ装置内の記憶領域におけるデータアクセス用のアドレスとを対応づけて、パケット生成情報として前記記憶手段に記憶し、
    記パケット選択手段は、前記記憶手段に記憶された前記パケット生成情報から、前記パケット生成情報を構成する情報をもとに前記パケット生成情報を選択するときに、前記パケット生成情報のうちの前記マスタ装置から前記スレーブ装置へのデータ書き込み用の制御用コマンドを含む前記パケット生成情報を選択し、
    前記パケット生成部は、前記パケット選択手段が選択した前記パケット生成情報を参照して抽出した情報をもとに前記制御用パケットを作成するときに、前記パケット選択手段が選択した前記パケット生成情報を参照して、そのパケット生成情報に含まれる各制御用コマンドに対応する前記記憶手段のアドレスから読み取った書き込み用のデータを、前記制御用パケットに含めることで前記制御用パケットを作成し、
    前記通信部は、作成された前記制御用パケットを、前記スレーブ装置へと送信することを特徴とする
    マスタ装置。
  9. 制御用パケットを生成するマスタ装置と、前記制御用パケットに従って制御されるスレーブ装置とを接続する制御用ネットワークシステムに用いられる前記マスタ装置であって、
    前記マスタ装置は、パケット生成情報登録部と、パケット生成部と、通信部と、記憶手段と、パケット選択手段とを有し、
    前記パケット生成情報登録部は、前記スレーブ装置への制御用コマンドごとに、その制御用コマンドが扱うデータを記憶する前記記憶手段内のデータ領域を割り当て、その割り当てたデータ領域アドレスと、前記スレーブ装置への制御用コマンドと、データサイズと、前記スレーブ装置内の記憶領域におけるデータアクセス用のアドレスとを対応づけて、パケット生成情報として前記記憶手段に記憶し、
    記パケット選択手段は、前記記憶手段に記憶された前記パケット生成情報から、前記パケット生成情報を構成する情報をもとに前記パケット生成情報を選択するときに、前記パケット生成情報のうちの前記マスタ装置から前記スレーブ装置へのデータ読み込み用の制御用コマンドを含む前記パケット生成情報を選択し、
    前記パケット生成部は、前記パケット選択手段が選択した前記パケット生成情報を参照して抽出した情報をもとに前記制御用パケットを作成するときに、前記パケット選択手段が選択した前記パケット生成情報を参照して、そのパケット生成情報に含まれる各制御用コマンドに対応する前記データサイズ分の領域を前記制御用パケットに含めることで前記制御用パケットを作成し、
    前記通信部は、作成された前記制御用パケットを、前記スレーブ装置へと送信することを特徴とする
    マスタ装置。
  10. 制御用パケットを生成するマスタ装置と、前記制御用パケットに従って制御されるスレーブ装置とを接続する制御用ネットワークシステムによる制御用データ処理方法であって、
    前記マスタ装置は、パケット生成情報登録部と、パケット生成部と、通信部と、記憶手段と、パケット選択手段とを有し、
    前記パケット生成情報登録部は、前記スレーブ装置への制御用コマンドごとに、その制御用コマンドが扱うデータを記憶する前記記憶手段内のデータ領域を割り当て、その割り当てたデータ領域アドレスと、前記スレーブ装置への制御用コマンドと、データサイズと、前記スレーブ装置内の記憶領域におけるデータアクセス用のアドレスとを対応づけて、パケット生成情報として前記記憶手段に記憶し、
    記パケット選択手段は、前記記憶手段に記憶された前記パケット生成情報から、前記パケット生成情報を構成する情報をもとに前記パケット生成情報を選択するときに、前記パケット生成情報のうちの前記マスタ装置から前記スレーブ装置へのデータ書き込み用の制御用コマンドを含む前記パケット生成情報を選択し、
    前記パケット生成部は、前記パケット選択手段が選択した前記パケット生成情報を参照して抽出した情報をもとに前記制御用パケットを作成するときに、前記パケット選択手段が選択した前記パケット生成情報を参照して、そのパケット生成情報に含まれる各制御用コマンドに対応する前記記憶手段のアドレスから読み取った書き込み用のデータを、前記制御用パケットに含めることで前記制御用パケットを作成し、
    前記通信部は、作成された前記制御用パケットを、前記スレーブ装置へと送信することを特徴とする
    制御用データ処理方法。
  11. 制御用パケットを生成するマスタ装置と、前記制御用パケットに従って制御されるスレーブ装置とを接続する制御用ネットワークシステムによる制御用データ処理方法であって、
    前記マスタ装置は、パケット生成情報登録部と、パケット生成部と、通信部と、記憶手段と、パケット選択手段とを有し、
    前記パケット生成情報登録部は、前記スレーブ装置への制御用コマンドごとに、その制御用コマンドが扱うデータを記憶する前記記憶手段内のデータ領域を割り当て、その割り当てたデータ領域アドレスと、前記スレーブ装置への制御用コマンドと、データサイズと、前記スレーブ装置内の記憶領域におけるデータアクセス用のアドレスとを対応づけて、パケット生成情報として前記記憶手段に記憶し、
    記パケット選択手段は、前記記憶手段に記憶された前記パケット生成情報から、前記パケット生成情報を構成する情報をもとに前記パケット生成情報を選択するときに、前記パケット生成情報のうちの前記マスタ装置から前記スレーブ装置へのデータ読み込み用の制御用コマンドを含む前記パケット生成情報を選択し、
    前記パケット生成部は、前記パケット選択手段が選択した前記パケット生成情報を参照して抽出した情報をもとに前記制御用パケットを作成するときに、前記パケット選択手段が選択した前記パケット生成情報を参照して、そのパケット生成情報に含まれる各制御用コマンドに対応する前記データサイズ分の領域を前記制御用パケットに含めることで前記制御用パケットを作成し、
    前記通信部は、作成された前記制御用パケットを、前記スレーブ装置へと送信することを特徴とする
    制御用データ処理方法。
  12. 請求項10または請求項11に記載の制御用データ処理方法を、コンピュータである前記マスタ装置に実行させるための制御用データ処理プログラム。
  13. 前記パケット生成部は、前記パケット選択手段が選択した前記パケット生成情報について、その選択したパケット生成情報に含まれる前記制御用コマンド、前記記憶手段に割り当てた前記データ領域アドレスにおけるデータ、前記スレーブ装置内の記憶領域における前記データアクセス用のアドレス、前記データサイズのうち、少なくとも1つを、前記制御用パケットに含めることで前記制御用パケットを作成することを特徴とする
    請求項1に記載の制御用ネットワークシステム。
JP2010015213A 2010-01-27 2010-01-27 制御用ネットワークシステム、マスタ装置、制御用データ処理方法、および、制御用データ処理プログラム Active JP5411725B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010015213A JP5411725B2 (ja) 2010-01-27 2010-01-27 制御用ネットワークシステム、マスタ装置、制御用データ処理方法、および、制御用データ処理プログラム
US13/014,851 US9557734B2 (en) 2010-01-27 2011-01-27 Control network system, master apparatus, control data processing method, and control data processing program
EP11152329.6A EP2354874B1 (en) 2010-01-27 2011-01-27 Control network system, master apparatus, control data processing method and control data processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010015213A JP5411725B2 (ja) 2010-01-27 2010-01-27 制御用ネットワークシステム、マスタ装置、制御用データ処理方法、および、制御用データ処理プログラム

Publications (2)

Publication Number Publication Date
JP2011155451A JP2011155451A (ja) 2011-08-11
JP5411725B2 true JP5411725B2 (ja) 2014-02-12

Family

ID=43911577

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010015213A Active JP5411725B2 (ja) 2010-01-27 2010-01-27 制御用ネットワークシステム、マスタ装置、制御用データ処理方法、および、制御用データ処理プログラム

Country Status (3)

Country Link
US (1) US9557734B2 (ja)
EP (1) EP2354874B1 (ja)
JP (1) JP5411725B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200930619A (en) * 2008-01-15 2009-07-16 Univ Tamkang Biomimetc micro air vehicle with 8-shaped flapping wing trajectory
JP5184597B2 (ja) 2010-09-06 2013-04-17 株式会社日立産機システム 通信制御装置及び通信・制御システム
KR101283716B1 (ko) * 2011-10-18 2013-07-08 엘에스산전 주식회사 이더캣 기반의 네트워크 시스템 및 이의 운용방법
US20130173868A1 (en) * 2011-12-29 2013-07-04 Texas Instruments Incorporated Generation of Activation List for Memory Translation and Memory Access Protection in Industrial Ethernet Standard
EP2825922A1 (en) * 2012-03-15 2015-01-21 Schneider Electric Industries SAS Device address management in an automation control system
CN104834279B (zh) * 2015-02-17 2017-09-26 苏州佳世达电通有限公司 一种***的控制方法、空调控制***以及水塔控制***
KR102023534B1 (ko) * 2015-04-17 2019-09-23 엘에스산전 주식회사 슬레이브 디바이스 및 이의 제어 방법
CN105607603B (zh) * 2016-02-02 2018-01-02 北方工业大学 一种能够补偿时延与丢包的网络化控制***及控制方法
CN105607604B (zh) * 2016-02-02 2018-01-16 北方工业大学 一种能够补偿数据丢包的网络化控制***及控制方法
JP6594813B2 (ja) * 2016-03-24 2019-10-23 株式会社神戸製鋼所 通信制御システム及び通信制御方法
DE102016125128B3 (de) * 2016-12-21 2018-03-29 Beckhoff Automation Gmbh Datenübertragungsverfahren, Kommunikationsnetzwerk und Master-Teilnehmer
CN108919762B (zh) * 2018-07-06 2021-05-25 东莞市李群自动化技术有限公司 基于工业以太网的控制方法及装置
US11251991B2 (en) * 2018-10-31 2022-02-15 Mitsubishi Electric Corporation Communication system, communication apparatus, communication method, and program
CN112953800B (zh) * 2019-11-26 2022-10-04 台达电子工业股份有限公司 基于EtherCAT协定的数据交握方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3447432B2 (ja) 1995-06-07 2003-09-16 三菱電機株式会社 ネットワークデータサーバ装置およびプログラマブルロジックコントローラシステム
GB9718722D0 (en) * 1997-09-04 1997-11-12 Comm & Control Electronics Ltd Local communication system
JP3489456B2 (ja) 1998-09-03 2004-01-19 株式会社日立製作所 リアルタイム通信装置及びシステム
KR20050079563A (ko) * 2004-02-06 2005-08-10 삼성전자주식회사 응답 지연 시간을 단축시킨 버스 시스템
JP2006050515A (ja) * 2004-06-30 2006-02-16 Ntt Docomo Inc 移動ノードおよび移動ノードの制御方法並びに移動ノード制御プログラム
CN101208674B (zh) * 2005-06-23 2012-07-04 赫优讯自动化***有限公司 用于开放式自动化***的总线用户的数据通信的方法和装置
US7613859B2 (en) * 2007-09-12 2009-11-03 Kabushiki Kaisha Toshiba Back-off timing mechanism in a digital signal processor
JP5050889B2 (ja) * 2008-02-05 2012-10-17 富士電機株式会社 データ伝送方法およびデータ伝送装置
JP5535471B2 (ja) * 2008-12-05 2014-07-02 エヌイーシーコンピュータテクノ株式会社 マルチパーティション・コンピュータシステム、障害処理方法及びそのプログラム

Also Published As

Publication number Publication date
JP2011155451A (ja) 2011-08-11
EP2354874B1 (en) 2016-12-14
EP2354874A2 (en) 2011-08-10
EP2354874A3 (en) 2012-08-15
US20110184533A1 (en) 2011-07-28
US9557734B2 (en) 2017-01-31

Similar Documents

Publication Publication Date Title
JP5411725B2 (ja) 制御用ネットワークシステム、マスタ装置、制御用データ処理方法、および、制御用データ処理プログラム
WO2013136522A1 (ja) 計算機システム及び計算機間のデータ通信方法
WO2020000483A1 (zh) 数据处理的方法和存储***
JP6014271B2 (ja) データ処理システム及びデータ処理方法
EP2811353B1 (en) Support device, recording medium having support program recorded thereon, and method for generating executable program
US11249663B2 (en) I/O request processing method and device
WO2016093895A1 (en) Generating and/or employing a descriptor associated with a memory translation table
CN111427517A (zh) 一种数据处理方法以及NVMe存储器
TWI510932B (zh) 塊儲存閘道模組、儲存中介系統、雲端儲存系統、提供對塊儲存的存取的方法、儲存中介方法與內容遞送裝置
US20220166857A1 (en) Method and Apparatus for Processing Data in a Network
US10761859B2 (en) Information processing system, management device, and method for controlling information processing system
JP6492083B2 (ja) インフィニバンド(IB)上で仮想ホストバスアダプタ(vHBA)を管理およびサポートするためのシステムおよび方法、ならびに単一の外部メモリインターフェイスを用いてバッファの効率的な使用をサポートするためのシステムおよび方法
JP2013512519A (ja) いくつかの周辺装置のメモリ間のデータの直接転送のためにメモリに直接アクセスするコントローラ、そのようなコントローラを実現可能にする方法およびコンピュータプログラム
US20240061802A1 (en) Data Transmission Method, Data Processing Method, and Related Product
US7447788B2 (en) Providing host information to devices in multi SCSI transport protocols
JP6743696B2 (ja) 計算機システム、遠隔デバイスの接続管理方法及びプログラム
US8589610B2 (en) Method and system for receiving commands using a scoreboard on an infiniband host channel adaptor
WO2018181840A1 (ja) 制御装置、制御システム、制御方法及びプログラム
US20090240925A1 (en) Device, method, and computer program product that process message
CN105630727A (zh) 多SoC节点之间的访问方法、装置和***
WO2011109163A1 (en) Generation of a formatted unique device identifier from an at attachment serial number
KR101122418B1 (ko) 텍스트 파일을 이용한 프로토콜 인터페이스 장치와 시스템 그리고 그 방법
JP2003316589A (ja) 実記憶利用方法
US20240012577A1 (en) Multiple Protocol Array Control Device Support in Storage System Management
US20190286348A1 (en) Storage device, control method, and control program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120301

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130514

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130806

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131007

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131108

R150 Certificate of patent or registration of utility model

Ref document number: 5411725

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150