JP2017142639A - ネットワーク装置 - Google Patents

ネットワーク装置 Download PDF

Info

Publication number
JP2017142639A
JP2017142639A JP2016023290A JP2016023290A JP2017142639A JP 2017142639 A JP2017142639 A JP 2017142639A JP 2016023290 A JP2016023290 A JP 2016023290A JP 2016023290 A JP2016023290 A JP 2016023290A JP 2017142639 A JP2017142639 A JP 2017142639A
Authority
JP
Japan
Prior art keywords
controller
network
communication
unit
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.)
Withdrawn
Application number
JP2016023290A
Other languages
English (en)
Inventor
東洋史 門崎
Toyoshi Kadosaki
東洋史 門崎
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric 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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2016023290A priority Critical patent/JP2017142639A/ja
Publication of JP2017142639A publication Critical patent/JP2017142639A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Abstract

【課題】制御システム用のアプリケーションプログラムのシステムデバッグの際に未接続のIO機器があったとしても、システムデバッグを何ら問題なく遂行できるようにする。【解決手段】コントローラが接続される第1通信IF部110と、コントローラと通信するIO機器が接続される第2通信IF部120と、第2通信IF部に接続されているIO機器とコントローラとの間のデータ通信を中継する中継制御部130とを有するネットワーク装置100に、以下の代替機器接続部140を設ける。代替機器接続部には、第2通信IF部に接続予定ではあるものの未接続のIO機器の動作を模擬する代替機器が接続される。そして、中継制御部には、代替機器から受け取ったデータを接続予定のIO機器からのデータとしてコントローラへ転送する一方、コントローラから接続予定のIO機器宛てに送信されたデータを代替機器へ転送する処理を実行させる。【選択図】図2

Description

本発明は、工場や産業プラントなどの産業施設に敷設される制御システムに関する。
制御システムとは、工作機器等の動力源として産業施設内に設置される電動機等の駆動制御など、産業施設における操業を支援するための通信システムである。制御システムには、電動機等に出力する電流等を調整してその駆動制御を行う駆動装置や電動機等の回転速度等を計測するセンサなどのIO機器が多数含まれている。これらIO機器はIOネットワークと呼ばれる通信ネットワークに接続されている。また、制御システムには、IO機器から収集したデータに基づいてIO機器へ出力するデータの演算を行うコントローラと、当該コントローラとIOネットワークとに接続されたネットワーク装置と、が含まれている。ネットワーク装置とは、上記コントローラとIO機器との間のデータ通信を中継する中継装置である。
特開昭59−216211号公報
制御システムに含まれるコントローラは例えばPLC(Pprogrammable Logic Controller)であり、予めインストールされたアプリケーションプログラムにしたがって上記演算する。コントローラがアプリケーションプログラムにしたがって実行する演算の一例としては、駆動装置等に与える指令値をセンサの計測データに基づいて算出する演算や、センサ等による計測データを当該計測データの監視を行う監視装置用に変換する演算等が挙げられる。このアプリケーションプログラムは、制御システムの用途、例えば制御システムの設置先の産業施設における操業の内容に応じて作成されることが一般的である。アプリケーションプログラムにバグがあると演算が正しく行われず、操業の停止等の不具合が発生する虞がある。このため、上記アプリケーションプログラムのデバッグを十分に行っておく必要がある。なお、バグとは、プログラムの誤りや欠陥のことであり、デバッグとは誤りや欠陥をテスト等により特定し修正することを言う。
プログラムのデバッグは、単体デバッグ→結合デバッグ→システムデバッグといった具合に段階的に行われることが一般的であり、コントローラ用のアプリケーションプログラムについても同様である。単体デバッグとは、プログラムを構成するサブルーチン等のソフトウェアモジュール単位でその論理構造を検証することであり、結合デバッグとは各ソフトウェアモジュールを結合した状態でのデバッグ、すなわち各ソフトウェアモジュールの連携に関するデバッグである。そして、システムデバッグとは、IO機器からの計測データの収集、IO機器への出力データの演算およびその出力データの出力先のIO機器の動作といった一連の流れについてのデバッグである。
制御システムには一般に多種多様なIO機器が多数含まれている。制御システムに含まれるIO機器について納品の遅れが発生すると、アプリケーションプログラムのシステムデバッグの実行時点では当該納品の遅れたIO機器は制御システムに接続されておらず、システムデバッグを限定的にしか行えないといった不具合が発生する。このような納品の遅れの発生要因としては、IO機器の製造の遅れや、新規開発されるIO機器が制御システムの構成要素に含まれている場合にはその開発遅延が挙げられる。
本発明は上記課題に鑑みて為されたものであり、制御システム用のアプリケーションプログラムのシステムデバッグの際に未接続のIO機器があったとしても、システムデバッグを何ら問題なく遂行できるようにする技術を提供することを目的とする。
上記課題を解決するために本発明は、以下の第1通信インタフェース部、第2通信インタフェース部、代替機器接続部および中継制御部を有するネットワーク装置を提供する。このネットワーク装置は、コントローラおよびIO機器とともに制御システムを形成する中継装置である。第1通信インタフェース部にはコントローラが接続され、第2通信インタフェース部には当該コントローラの指令に基づき外部機器を制御する処理または当該コントローラに与えるデータを出力する処理を実行するIO機器が接続される。代替機器接続部には、第2通信インタフェース部に接続予定のIO機器、すなわち実際には未接続のIO機器の動作を模擬する代替機器が接続される。そして、中継制御部は、以下の第1および第2中継処理を実行する。第1中継処理は、第2通信インタフェース部に実際に接続されているIO機器と第1通信インタフェース部に接続されているコントローラとの間のデータ通信を中継する処理である。具体的には、第1中継処理では、中継制御部は、第2通信インタフェース部を介してIO機器から受信したデータを第1通信インタフェース部を介してコントローラへ転送する一方、コントローラから何れかのIO機器へ宛てて送信されたデータを第1通信インタフェース部を介して受信し、当該データを第2通信インタフェース部を介してその宛先のIO機器へ転送する処理である。第2中継処理は、代替機器接続部を介して代替機器から受信したデータを上記接続予定のIO機器からのデータとして第1通信インタフェース部に接続されたコントローラへ転送する一方、当該コントローラから上記接続予定のIO機器へ宛てて送信されたデータを第1通信インタフェース部を介して受信し、当該データを代替機器接続部を介して上記代替機器へ転送する処理である。
このようなネットワーク装置を用いて制御システムを構築すれば、制御システムのコントローラ用のアプリケーションプログラムのシステムデバッグの際に、ネットワーク装置へ接続予定ではあるものの上記システムデバッグの実行時点では未接続のIO機器があったとしても、当該未接続のIO機器については代替機器を用い、実機のあるIO機器についてはその実機を用いてシステムデバッグを行うことが可能になる。ネットワーク装置へ接続予定ではあるものの上記システムデバッグの実行時点では未接続のIO機器の具体例としては、製造の遅れや開発遅延により納品遅延が発生したIO機器が挙げられる。よって、本発明によれば、IO機器の納品遅延が発生したとしても、何ら問題なくシステムデバッグを遂行できる。
特許文献1には、プロセス入出力装置の入出力データの全てを模擬データテーブルを用いて模擬データに置き換える技術が開示されている。この特許文献1に開示の技術を応用し、コントローラの入出力データの全てを模擬データテーブルを用いて模擬データに置き換えてシステムデバッグを行うことで上記課題を解決できるかに見える。一般に、システムデバッグはシステムの実運用局面のシミュレーションといった性質を有しており、その性質上、できるだけ実機を用いてデバッグを行えることが好ましい。しかし、特許文献1に開示の技術ではコントローラの入出力データの一部だけを模擬データに置き換えること、換言すれば実機のあるIO機器についてはその実機を用いてデバッグを行うことはできず、システムデバッグの意義を没却させる虞がある。つまり、特許文献1に開示の技術では上記課題を解決することはできず、本発明は特許文献1に開示の技術とは異なる技術である。
上記ネットワーク装置の第2通信インタフェース部へのIO機器の接続態様としては、例えば通信線によりIO機器を直接接続する態様や、ネットワークを介して間接的に接続する態様が考えられる。後者の具体例としては、IO機器をIOネットワークに接続しそのIOネットワークを第2通信インタフェース部に接続する態様が挙げられる。IO機器をネットワークを介して第2通信インタフェース部に接続する態様においては、ネットワークに接続予定のIO機器が実際には未接続であっても、当該IO機器が接続されているものと見なしてRAS情報を生成しコントローラに与えるようにしても良い。RAS情報とは、ネットワークへのIO機器の接続状況を表す情報のことである。また、IO機器をネットワークを介して第2通信インタフェース部に接続する態様においては、ネットワークに接続される全てのIO機器を示すネットワーク構成定義情報を参照して上記接続予定のIO機器が未接続であるか否かを中継制御部に判定させ、未接続である場合に第2の中継処理を実行させるようにしても良い。
より好ましい態様においては、本発明のネットワーク装置の中継制御部は、第1通信インタフェース部に接続されているコントローラが稼働系となっている場合には待機系となり、当該コントローラが待機系となる場合には稼働系となる他のコントローラとIO機器とのデータ通信を中継する他のネットワーク装置に、ネットワーク装置間通信手段を介して接続される。そして、中継制御部は、第2通信インタフェース部を介して受信したデータおよび代替機器接続部を介して受信したデータを、ネットワーク装置間通信手段を介した通信により等値化し、第1および第2の中継処理では等値化済のデータを第1通信インタフェース部を介してコントローラへ転送する。
このような態様のネットワーク装置によれば、制御システムに接続予定ではあるもののシステムデバッグの実行時点では未接続のIO機器があったとしても、何ら問題なくシステムデバッグを遂行できるといった効果に加えて、以下の効果が奏される。コントローラを二重化し、一方を稼働系、他方を待機系として動作させる冗長化制御システムでは、稼働系の切り換え前後でコントローラからの出力データが突変することを避けるため、コントローラにおける演算の実行に先立って当該演算の入力データ、例えばIO機器からコントローラへ送信されたデータの等値化が行われる。コントローラを二重化した従来の冗長化制御システムでは、このような等値化はコントローラにおいて行われることが一般的であった。しかし、制御システムに含まれるIO機器の数が増加するにつれて等値化のための処理負荷が高くなり、稼働系と待機系の切り換えに遅延が発生するといった不具合が発生していた。これに対して、本態様のネットワーク装置によれば、ネットワーク装置を介してコントローラへ転送されるデータの等値化はネットワーク装置において行われるため、コントローラの処理負荷を軽減し、稼働系の切り換えを迅速に行うことが可能になる。
さらに好ましい態様においては、コントローラと上記他のコントローラはコントローラ間通信手段を介して互いに接続されており、中継制御部は、コントローラからIO機器へ送信されるデータの等値化を、コントローラ間通信手段を介した通信によりコントローラ側で行うのか、ネットワーク装置間通信手段を介した通信によりネットワーク装置側で行うのかを切り換えることを特徴とする。このような態様によれば、コントローラからIO機器へ送信されるデータの等値化については原則的にコントローラ側で行うものの、コントローラの処理負荷が予め定めた閾値を超えた場合には上記等値化をネットワーク装置側で行うように切り換えるといった具合に、コントローラの処理負荷をさらに軽減することができる。
以上説明したように本発明によれば、制御システム用のアプリケーションプログラムのシステムデバッグの際に未接続のIO機器があったとしても、システムデバッグを何ら問題なく遂行できるようになる。
本発明の一実施形態によるネットワーク装置100Aおよびネットワーク装置100Bを含む通信システムの構成例を示す図である。 ネットワーク装置100の構成例を示す図である。 ネットワーク装置100に記憶されているシステム構成定義情報の一例を示す図である。 ネットワーク装置100からコントローラ200へ送信するRAS情報の一例を示す図である。
以下、図面を参照しつつ本発明の実施形態について説明する。
図1は、本発明の一実施形態によるネットワーク装置100Aおよび100Bを含む制御システムの構成例を示す図である。図1に示す制御システムは、コントローラが二重化された冗長化制御システムである。図1に示す制御システムは、コントローラ200Aおよび200Bの2つのコントローラを有する。コントローラ200Aおよび200Bの各々は例えばPLCである。コントローラ200Aにはネットワーク装置100Aが接続されており、コントローラ200Bにはネットワーク装置100Bが接続されている。ネットワーク装置100AにはIOネットワーク300Aが接続されており、ネットワーク装置100BにはIOネットワーク300Bが接続されている。IOネットワーク300Aおよび300Bには、IO機器(図1では、単に「IO」と表記)400(n:n=1〜N,Nは任意の自然数)が接続されている。なお、図1ではNが3以上である場合について例示されている。
コントローラ200Aとコントローラ200Bは等値化ケーブル500(1)を介して互いに接続されており、ネットワーク装置100Aとネットワーク装置100Bは等値化ケーブル500(2)を介して互いに接続されている。等値化ケーブル500(1)は、コントローラ200Aとコントローラ200Bとの間のデータ通信を仲介するコントローラ間通信手段である。等値化ケーブル500(2)は、ネットワーク装置100Aとネットワーク装置100Bとの間のデータ通信を仲介するネットワーク装置間通信手段である。以下では、ネットワーク装置100Aとネットワーク装置100Bの各々を区別する必要がない場合には、「ネットワーク装置100」と表記する。同様に、コントローラ200Aとコントローラ200Bを区別する必要がない場合には「コントローラ200」と表記し、IOネットワーク300AとIOネットワーク300Bを区別する必要がない場合には、「IOネットワーク300」と表記する。そして、IO機器400(1)〜400(N)の各々を区別する必要がない場合には「IO機器400」と表記する。
図1に示す制御システムでは、コントローラ200Aが稼働系となり、コントローラ200Bは待機系となって稼働系の停止に備える。具体的には、コントローラ200Bは等値化ケーブル500(1)を介した通信によりコントローラ200Aの稼働状況を監視し、コントローラ200Aが停止した場合或いは停止する場合には、以降、稼働系として振る舞う。なお、稼働系のコントローラの停止の具体例としては、何らかの故障や不具合の発生に起因する予期せぬ停止や、保守メンテナンス等による予め計画された停止などが考えられる。以下では、ネットワーク装置100についても、稼働系として動作しているコントローラ200に接続されている方を「稼働系のネットワーク装置」と呼び、他方を「待機系のネットワーク装置」と呼ぶ。
IO機器400としては種々の機器が考えられる。例えば、産業施設内に設置された電動機の駆動制御を行う制御システムであれば、IO機器400の具体例としては、電動機等の制御対象機器の駆動制御を行う駆動装置や、その駆動制御のための各種データを計測するセンサが挙げられる。コントローラ200は、IO機器400からの入力データを自身の接続先のネットワーク装置100を介して収集し、他のIO機器400に与える出力データをアプリケーションプログラムにしたがって演算する。例えば、電動機等の駆動制御を行う制御システムであれば、コントローラ200は、電動機の駆動制御を行う駆動装置に与える各種指令値を、電動機の回転速度を計測するセンサからの計測データに基づいて演算するといった具合である。
コントローラ200は、上記の要領でIO機器400への出力データの演算を完了すると、当該出力データの等値化を行う。出力データの等値化とは、待機系にて算出された出力データを稼働系にて算出された出力データで上書きすることを言う。このような等値化を行うのは、稼働系の切り換えが発生したときにその切り換え前後で出力データの突変が発生することを避けるためである。出力データの等値化は、等値化ケーブル500(1)を介した通信により実現される。
より詳細に説明すると、稼働系のコントローラは、自装置にて算出した出力データを等値化ケーブル500(1)を介して待機系のコントローラへ送信する。一方、待機系のコントローラは自装置にて算出した出力データを、等値化ケーブルを介して受信した出力データで上書きし、上書きを完了すると等値化ケーブル500(1)を介した通信により等値化完了を稼働系のコントローラへ通知する。稼働系のコントローラは、出力データの等値化完了を当該通知により検知すると、自装置にて算出した出力データ、すなわち等値化済の出力データを、自身の接続先のネットワーク装置を介して宛先となるIO機器400へ転送する。なお、本実施形態において稼働系のコントローラは、等値化完了の検知を契機としてIO機器400へのデータ転送を行うが、当該検知を待たずにIO機器400へのデータ転送を行っても勿論良い。
図1に示す制御システムでは、IO機器400からコントローラ200へ送信されるデータについても等値化が行われる。以下では、IO機器400とコントローラ200との間でネットワーク装置100を介して送受信されるデータのことを「IOデータ」と総称する場合がある。
本実施形態では、IO機器400からコントローラ200へ送信されるIOデータの等値化はネットワーク装置100で行われ、これは本実施形態の特徴の1つである。より詳細に説明すると、ネットワーク装置100Aとネットワーク装置100Bのうち稼働系となっている方は、IO機器400から受信したIOデータを等値化ケーブル500(2)を介して他方へ送信し、他方のネットワーク装置は、IOネットワーク経由で受信したIOデータを等値化ケーブル500(2)経由で受信したIOデータで上書きする。そして、稼働系および待機系のネットワーク装置100の各々は、上記の要領で等値化を完了すると、等値化済のIOデータを、接続先のコントローラ200へ送信する。
IO機器400からコントローラ200へ送信されるIOデータの等値化を行うのは、IO機器400からコントローラ200へ送信されるIOデータに基づいて算出される出力データの突変を回避するためである。従来の冗長化制御システムでは、IO機器からコントローラへ送信されるIOデータの等値化もコントローラで行われていた。これに対して、本実施形態では、IO機器400からコントローラ200へ送信されるIOデータの等値化はネットワーク装置100で行われる。IO機器400からコントローラ200へ送信されるIOデータの等値化をネットワーク装置100で行うことで、従来の冗長化制御システムに比較してコントローラ200の処理負荷が軽減され、稼働系の切り換え事象の発生時の切り換え時間を短縮することができる。
加えて、本実施形態では、IOネットワーク300に接続されるIO機器400(n:n=1〜N)の何れかについての納品遅延が発生し、コントローラ200のアプリケーションプログラムのシステムデバッグの実行時点でIOネットワーク300に接続されていないといった事態が発生したとしても、当該システムデバックを何ら問題なく遂行できるようにネットワーク装置100が構成されており、これも本実施形態の特徴の1つである。以下、本実施形態の特徴を顕著に示すネットワーク装置100を中心に説明する。
図2は、ネットワーク装置100の構成例を示すブロック図である。
図2に示すように、ネットワーク装置100は、第1通信インタフェース部110、第2通信インタフェース部120、中継制御部130、および代替機器接続部140を有する。以下では、「インタフェース」を「IF」と略記する。以下、ネットワーク装置100Aとネットワーク装置100Bの各々の構成要素を区別する必要がある場合には符号「A」或いは「B」を付与して表記する。例えば、ネットワーク装置100Aの第1通信IF部110とネットワーク装置100Bの第1通信IF部110とを区別する必要がある場合には、前者を「第1通信IF部110A」と表記し、後者を「第1通信IF部110B」と表記する。第2通信IF部120、中継制御部130、および代替機器接続部140の各々についても同様である。
第1通信IF部110と第2通信IF部120は何れもNIC(Network Interface Card)であり、通信線を介して各々異なる接続先に接続されている。具体的には、第1通信IF部110はコントローラ200に接続されており、第2通信IF部120はIOネットワーク300に接続されている。より詳細に説明すると、第1通信IF部110Aはコントローラ200Aに接続されており、第1通信IF部110Bはコントローラ200Bに接続されている。同様に、第2通信IF部120AはIOネットワーク300Aに接続されており、第2通信IF部120BはIOネットワーク300Bに接続されている。図2では詳細な図示を省略したが、第1通信IF部110と第2通信IF部120の各々は通信バッファを有している。以下では、これら2つの通信バッファを区別するため、前者を「コントローラ側IO領域」と表記し、後者を「ネットワーク側IO領域」と表記する。なお、本実施形態では、第1通信IF部110と第2通信IF部120の両者がNICである場合について説明するが、少なくとも前者或いは両者が中継制御部130と同一基板上に実装されるオンボードの通信用LSIであっても良い。
コントローラ側IO領域は、コントローラ200から受信したデータの格納先となる入力領域と、コントローラ200へ送信するデータの格納先となる出力領域とに区分けされる。以下では、前者を「コントローラ側IO領域(OUT)」と表記し、後者を「コントローラ側IO領域(IN)」と表記する。コントローラ側IO領域(IN)とコントローラ側IO領域(OUT)の各々はIO機器毎に区分けされている。詳細については後述するが、コントローラ側IO領域(IN)とコントローラ側IO領域(OUT)の各々のIO機器毎の区分けはシステム構成定義情報にしたがって行われる。システム構成定義情報とは、IOネットワーク300に接続されるIO機器の各々を一意に示すIO機器識別子(例えば、IO機器の局番)に対応付けて、そのIO機器の種別、そのIO機器に割り当てられた記憶領域の位置および大きさを示す情報を格納したテーブルである(図3参照)。このシステム構成定義情報は、制御システムの運用管理を支援するための支援ツールによって生成され、ネットワーク装置100に与えられる。なお、図3におけるIO種別=INは、センサのようにコントローラ200へIOデータを送信するIO機器であることを意味し、IO種別=OUTは、駆動装置のようにコントローラ200から送信されたIOデータを受信するIO機器であることを意味する。また、図3では、IO機器400(n)のIO機器識別子は「Sn」と表記されている。
コントローラ200からIO機器400へ送信されたIOデータは、コントローラ側IO領域(OUT)における当該IO機器400に対応する記憶領域に格納される。同様に、IO機器400からコントローラ200へ送信されたIOデータは、コントローラ側IO領域(IN)における当該IO機器に対応する記憶領域に書き込まれる。第1通信IF部110は、コントローラ側IO領域(IN)或いはコントローラ側IO領域(OUT)にデータが書き込まれる毎に、或いは予め定められた周期で周期的に、上記各領域に格納されたデータを読み出しその宛先へと送信する。より詳細には、第1通信IF部110は、コントローラ側IO領域(OUT)に格納されたデータについては中継制御部130へ送信し、コントローラ側IO領域(IN)に格納されたデータについては通信線を介して接続先のコントローラ200へ送信する。
ネットワーク側IO領域も、IO機器400から受信したデータの格納先となる入力領域と、IO機器400へ送信するデータの格納先となる出力領域とに区分けされる。以下では、前者を「ネットワーク側IO領域(IN)」と表記し、後者を「ネットワーク側IO領域(OUT)」と表記する。ネットワーク側IO領域(IN)とネットワーク側IO領域(OUT)の各々もIO機器毎に区分けされている。この区分けもシステム構成定義情報(図3参照)にしたがって行われる。IO機器400からコントローラ200へ送信されたIOデータは、ネットワーク側IO領域(IN)における当該IO機器400に対応する記憶領域に格納される。同様に、コントローラ200からIO機器400へ送信されたIOデータは、ネットワーク側IO領域(OUT)における当該IO機器に対応する記憶領域に書き込まれる。第2通信IF部120も、各領域にデータが書き込まれる毎に、或いは予め定められた周期で周期的に、上記各領域に格納されたデータを読み出しその宛先へと送信する。具体的には、第2通信IF部120は、ネットワーク側IO領域(IN)に格納されたデータについては中継制御部130へ送信し、ネットワーク側IO領域(OUT)に格納されたデータについては接続先のIOネットワーク300へ送信する。
代替機器接続部140は、例えばUSB(Universal Serial Bus)インタフェースやシリアルインタフェースなど、種々の外部機器を接続するためのインタフェースである。本実施形態では、IOネットワーク300に接続予定であるもののシステムデバッグの時点では未接続のIO機器400の動作を模擬するコンピュータ装置(例えば、パーソナルコンピュータ)、すなわち上記接続予定のIO機器400の代替機器が代替機器接続部140に接続される。IO機器がIOネットワークに未接続であるとは、IO機器が通信線等によりIOネットワークに物理的に接続されていないことの他に、物理的には接続されているもののIO機器として稼働していないことを含む。代替機器接続部140は、接続先の代替機器から受け取ったデータを中継制御部130に与える一方、中継制御部130から与えられたデータを当該代替機器に与える。
上記代替機器は、当該代替機器による模擬対象を中継制御部130に通知するために、動作の模擬対象のIO機器のIO機器識別子を代替機器接続部140を介して中継制御部130に与える。また、IO機器の動作を模擬するとは、模擬対象のIO機器がコントローラ200へ送信するIOデータを、例えば、三角波などの定型パターン、または任意のデータパターンにしたがって、または所定の数学モデルにしたがって生成し送信することを言う。なお、コントローラ200から送信されたIOデータを受信した場合、代替機器には、その受信データを記憶または表示させれば良く、単に破棄させても良い。本実施形態では、上記代替機器を用いることで、接続予定のIO機器400がIOネットワーク300に実際に接続されているかのようにしてシステムデバッグを行うことができる。
中継制御部130は例えばCPU(Central Processing Unit)である。中継制御部130Aと中継制御部130Bとは、等値化ケーブル500(2)を介して互いに接続されている。中継制御部130は、フラッシュROM(Read Only Memory)などの記憶部に記憶された中継制御プログラムにしたがって動作しネットワーク装置100の制御中枢として機能する。具体的には、中継制御部130は、以下の第1中継処理を実行する。この第1中継処理は、IOネットワーク300に実際に接続されているIO機器400とコントローラ200との間のデータ通信を中継する処理である。この第1中継処理では、中継制御部130は、第1通信IF部110から与えられたIOデータ、すなわち、コントローラ200からIO機器400へ送信されたIOデータを、ネットワーク側IO領域(OUT)のうち当該IOデータの送信先に対応する記憶領域に書き込む。
第2通信IF部120から与えられたIOデータ、すなわちIO機器400からコントローラ200へ送信されたIOデータについては、中継制御部130は、前述した等値化を行った後にコントローラ200へ転送する。例えばネットワーク装置100Aが稼働系である場合、中継制御部130Aは、第2通信IF部120から与えられたIOデータを、等値化ケーブル500(2)を介して中継制御部130Bへ送信し、中継制御部130Bは等値化ケーブル500(2)を介して受信したIOデータで、第2通信IF部120から与えられたIOデータのうちの該当するものを上書きする。これにより等値化が完了する。中継制御部130は、上記の要領で等値化済のIOデータをコントローラ側IO領域(IN)のうち当該IOデータの送信元に対応する記憶領域に書き込む。
加えて、中継制御部130は、IOネットワーク300に接続されるIO機器400のうち、代替機器により動作が模擬されるIO機器の接続の有無を判定する。より詳細に説明すると、中継制御部130は、代替機器と通信し、当該代替機器により動作が模擬されるIO機器のIO機器識別子を取得する。次いで、中継制御部130は、前述したシステム構成定義情報とIO機器400の実際の接続状況とから、上記代替機器により動作が模擬されるIO機器が未接続であるか否かを判定する。上記代替機器により動作が模擬されるIO機器が実際にIOネットワーク300に接続されているのであれば、代替機器を利用する必要はないからである。
より詳細に説明すると、中継制御部130は、代替機器から取得したIO機器識別子がシステム構成定義情報に含まれており、かつ、当該IO機器識別子の示すIO機器400のIOネットワーク300への接続を検知できない場合に、当該IO機器400は未接続と判定する。なお、IOネットワーク300へのIO機器の接続の有無の検知についてはping等の既存技術を用いるようにすれば良い。そして、中継制御部130は、代替機器により動作が模擬されるIO機器400が未接続であると判定した場合には、上記第1中継処理に加えて、以下の第2中継処理を実行する。第2中継処理は、代替機器とコントローラ200との間のデータ通信を中継する処理である。この第2中継処理では、中継制御部130は、まず、代替機器により動作が模擬されるIO機器400に関する情報(IO機器識別子、IO種別、および各種IO領域を示す情報)をシステム構成定義情報から抽出して不在機器情報を生成するとともに、当該IO機器400に割り当てられた各記憶領域を不在機器情報にしたがって代替機器に対応付ける。なお、IOネットワーク300に接続予定ではあるものの実施には未接続のIO機器400が複数ある場合には、複数の代替機器を代替機器接続部140に接続し、上記対応付けを未接続のIO機器400毎に行うようにすれば良い。また、未接続と判定されたIO機器のIO種別が「IN」であった場合には、代替機器に対してIOデータの送信を要求する処理を定期的に中継制御部130に実行させても良い。
第2中継処理では、中継制御部130は、代替機器から受信したデータを、等値化ケーブル500(2)を介した通信により等値化し、等値化済みのデータを当該代替機器により動作が模擬されるIO機器400からのIOデータとしてコントローラ200へ転送する。例えば、代替機器により動作が模擬されるIO機器がIO機器400(2)であり、システムデバッグの時点では当該IO機器が未接続であったとする。このシステムデバッグの実行過程では、中継制御部130は、代替機器から受信したデータを上記の要領で等値化し、当該代替機器に対応付けられた不在機器情報を参照して、等値化済のデータをコントローラ側IO領域(IN)のIO機器400(2)に対応する記憶領域に書き込む。また、中継制御部130は、コントローラ200からIO機器400(2)宛てに送信され、コントローラ側IO領域(OUT)のIO機器400(2)に対応する記憶領域に格納されたデータについても同様に代替機器へ転送する。これにより、コントローラ200側から見れば、IO機器400(2)が存在しているかのうように見える。
より好ましい態様においては、IOネットワーク300へのIO機器400(n:n=1〜N)の各々の接続状況を示すRAS情報をネットワーク装置100からコントローラ200に与える態様が考えられ、この態様においては、中継制御部130は、代替機器により動作が模擬されるIO機器400が未接続であっても、接続されているものと見なしてRAS情報を生成しコントローラ200に与える態様が考えられる。例えば、上記代替機器により動作が模擬されるIO機器400がIO機器400(2)であり、当該IO機器400(2)が未接続である場合、実際の接続状況に即したRAS情報は図4(a)のようになるのであるが、図4(b)に示すようにRAS情報を補正してコントローラ200に与える処理を中継制御部130に実行させるのである。コントローラ200のアプリケーションプログラムによっては、配下のIO機器の全ての接続が確認されない場合に待機系への切り換えを発生させる場合があるが、本態様によれば、このようなアプリケーションプログラムのシステムデバッグを何ら問題なく実行することができる。
以上説明したように本実施形態によれば、ネットワーク装置100を上記のような構成としたため、IOネットワーク300に接続されるIO機器400の中に納品遅延等によりコントローラ200のアプリケーションプログラムのシステムデバッグの実行時点では未接続のものがあったとしても、代替機器接続部140に接続されるコンピュータ装置に当該未接続のIO機器400を代替させ、何ら問題なくシステムデバッグを遂行することが可能になる。つまり、本実施形態によれば、コントローラ200用のアプリケーションプログラムのシステムデバッグの実行時点で未接続のIO機器400があったとしても、何ら問題なくシステムデバッグを遂行することが可能になる。
以上本発明の一実施形態について説明したが、この実施形態に以下の変形を加えて良い。
(1)上記実施形態では、IO機器400からコントローラ200へ送信されるIOデータの等値化についてはネットワーク装置100が行い、コントローラ200からIO機器400へ送信されるIOデータの等値化についてはコントローラ200が行う場合について説明した。しかし、両方をコントローラ200に行わせても良く、また、ネットワーク装置100に行わせても良い。前者の態様であれば、等値化ケーブル500(2)は不要である。また、コントローラ200からIO機器400へ送信されるIOデータの等値化をコントローラ側で行うのか、それともネットワーク装置側で行うのかをネットワーク管理者やシステムデバッグの担当者の操作に応じて切り換えても良く、コントローラに掛かっている負荷に応じて切り換えても良い。
(2)上記実施形態におけるコントローラ200はPLCであったが、DCS(Distributed
Control System:分散型制御システム或いは分散型制御装置)であっても良い。一般的なFA(Factory Automation)システムでは制御装置としてPLCが用いられることが多く、高信頼性を要求されるプラント設備では制御装置としてDCSが用いられることが多い。DCSはPLCに比較して信頼性が高いからである。また、上記実施形態では、コントローラを多重化した冗長化制御システムに含まれるネットワーク装置への本発明の適用例を説明した。しかし、コントローラを1つだけ有する制御システムに含まれるネットワーク装置に本発明を適用しても良い。具体的には、コントローラが接続される第1通信IF部と、コントローラの指令に基づき外部機器を制御する処理またはコントローラに与えるデータを出力する処理を実行するIO機器が接続される第2通信IF部と、第2通信IF部に接続されているIO機器と第1通信IF部に接続されているコントローラとの間のデータ通信を中継する中継制御部とを有するネットワーク装置に、以下の代替機器接続部を設ける。代替機器接続部には、第2通信IF部に接続予定のIO機器の動作を模擬する代替機器が接続される。そして、中継制御部には、代替機器接続部を介して代替機器から受け取ったデータを接続予定のIO機器からのデータとして第1通信IF部を介してコントローラへ転送する一方、コントローラから接続予定のIO機器宛てに送信されたデータを第1通信IF部を介して受信し、当該データを代替機器接続部を介して代替機器へ転送する処理を実行させるようにすれば良い。
(3)上記実施形態では、本発明の特徴を顕著に示す処理をネットワーク装置100の中継制御部(CPU)に実行させる中継制御プログラムが当該ネットワーク装置100に予めインストールされていた。しかし、CD−ROM(Compact Disk-Read Only Memory)やフラッシュメモリなどのコンピュータ装置読み取り可能な記録媒体に上記プログラムを書き込んで配布しても良く、また、インターネットなどの電気通信回線経由のダウンロードにより上記プログラムを配布しても良い。外部機器インタフェース部など、上記代替機器接続部として機能する手段を有する既存のネットワーク装置のCPUを上記のように配布されるプログラムにしたがって作動させることで、当該ネットワーク装置を本発明のネットワーク装置として機能させることが可能になるからである。
1…通信システム、100,100A,100B…ネットワーク装置、110,110A,110B…第1通信IF部、120,120A,120B…第2通信IF部、130,130A,130B…中継制御部、140…代替機器接続部、200,200A,200B…コントローラ、300,300A,300B…IOネットワーク、400,400(n:n=1〜N)…IO機器、500(1),500(2)…等値化ケーブル。

Claims (5)

  1. コントローラが接続される第1通信インタフェース部と、
    前記コントローラの指令に基づき外部機器を制御する処理または前記コントローラに与えるデータを出力する処理を実行するIO機器が接続される第2通信インタフェース部と、
    前記第2通信インタフェース部に接続予定のIO機器の動作を模擬する代替機器が接続される代替機器接続部と、
    前記第1通信インタフェース部、前記第2通信インタフェース部、前記代替機器接続部に接続された中継制御部と、
    を備え、
    前記中継制御部は、
    前記第2通信インタフェース部に接続されているIO機器と前記第1通信インタフェース部に接続されているコントローラとの間のデータ通信を中継する第1中継処理と、
    前記代替機器接続部に接続された代替機器から受け取ったデータを前記接続予定のIO機器からのデータとして前記第1通信インタフェース部を介して前記コントローラへ転送する一方、前記第1通信インタフェース部に接続されたコントローラから前記接続予定のIO機器宛てに送信されたデータを前記代替機器接続部を介して前記代替機器へ転送する第2中継処理と、を実行する
    ことを特徴とするネットワーク装置。
  2. 前記第2通信インタフェース部には、ネットワークを介してIO機器が接続され、
    前記中継制御部は、
    前記ネットワークに接続される全てのIO機器を示すネットワーク構成定義情報を参照して前記接続予定のIO機器が前記第2通信インタフェース部に未接続であるか否かを判定し、未接続である場合に前記第2中継処理を実行する
    ことを特徴とする請求項1に記載のネットワーク装置。
  3. 前記中継制御部は、
    前記接続予定のIO機器が前記ネットワークに未接続であっても、当該IO機器が接続されているものと見なして前記ネットワークへのIO機器の接続状況を表すRAS情報を生成し前記第1通信インタフェース部に接続されたコントローラに与える
    ことを特徴とする請求項2に記載のネットワーク装置。
  4. 前記中継制御部は、
    前記第1通信インタフェース部に接続されている前記コントローラが稼働系となっている場合には待機系となり、当該コントローラが待機系となる場合には稼働系となる他のコントローラとIO機器とのデータ通信を中継する他のネットワーク装置に、ネットワーク装置間通信手段を介して接続され、
    前記第2通信インタフェース部を介して受信したデータおよび前記代替機器接続部を介して受信したデータを、前記ネットワーク装置間通信手段を介した通信により等値化し、前記第1および第2中継処理では等値化済のデータを前記第1通信インタフェース部に接続されたコントローラへ転送する
    ことを特徴とする請求項1〜3の何れか1項に記載のネットワーク装置。
  5. 前記コントローラと前記他のコントローラは、コントローラ間通信手段を介して互いに接続され、
    前記中継制御部は、
    前記第1通信インタフェース部に接続されたコントローラからIO機器へ宛てて送信されるデータの等値化を、前記コントローラ間通信手段を介した通信によりコントローラ側で行うのか、前記ネットワーク装置間通信手段を介した通信によりネットワーク装置側で行うのかを切り換える
    ことを特徴とする請求項4に記載のネットワーク装置。
JP2016023290A 2016-02-10 2016-02-10 ネットワーク装置 Withdrawn JP2017142639A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016023290A JP2017142639A (ja) 2016-02-10 2016-02-10 ネットワーク装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016023290A JP2017142639A (ja) 2016-02-10 2016-02-10 ネットワーク装置

Publications (1)

Publication Number Publication Date
JP2017142639A true JP2017142639A (ja) 2017-08-17

Family

ID=59627486

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016023290A Withdrawn JP2017142639A (ja) 2016-02-10 2016-02-10 ネットワーク装置

Country Status (1)

Country Link
JP (1) JP2017142639A (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62103738A (ja) * 1985-10-31 1987-05-14 Yaskawa Electric Mfg Co Ltd プログラマブルコントロ−ラ
JPH02236739A (ja) * 1989-03-10 1990-09-19 Mitsubishi Electric Corp アドレス一致検出プリントサーキットボード
JPH08202570A (ja) * 1995-01-24 1996-08-09 Fuji Facom Corp 二重化プロセス制御装置
JP2001209555A (ja) * 2000-01-25 2001-08-03 Matsushita Electric Ind Co Ltd 入出力エミュレーション装置、入出力装置のエミュレーション方法および入出力装置エミュレーションプログラムを記録した記録媒体
JP2013029914A (ja) * 2011-07-27 2013-02-07 Mitsubishi Electric Corp 制御プログラム試験装置、制御プログラム試験システム、及び制御プログラムの試験方法
JP2015215863A (ja) * 2014-04-25 2015-12-03 富士電機株式会社 制御システム、および中継装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62103738A (ja) * 1985-10-31 1987-05-14 Yaskawa Electric Mfg Co Ltd プログラマブルコントロ−ラ
JPH02236739A (ja) * 1989-03-10 1990-09-19 Mitsubishi Electric Corp アドレス一致検出プリントサーキットボード
JPH08202570A (ja) * 1995-01-24 1996-08-09 Fuji Facom Corp 二重化プロセス制御装置
JP2001209555A (ja) * 2000-01-25 2001-08-03 Matsushita Electric Ind Co Ltd 入出力エミュレーション装置、入出力装置のエミュレーション方法および入出力装置エミュレーションプログラムを記録した記録媒体
JP2013029914A (ja) * 2011-07-27 2013-02-07 Mitsubishi Electric Corp 制御プログラム試験装置、制御プログラム試験システム、及び制御プログラムの試験方法
JP2015215863A (ja) * 2014-04-25 2015-12-03 富士電機株式会社 制御システム、および中継装置

Similar Documents

Publication Publication Date Title
US20250076835A1 (en) Verification system, and verification method
CN106662856B (zh) 分散控制系统、控制装置、控制方法
US9141336B2 (en) Data transfer device
JP6299640B2 (ja) 通信装置
KR101815202B1 (ko) 제어 시스템 및 중계장치
CN117378179A (zh) 在实时网络中调试、优化、剖析或恢复网络设备的系统与方法
CN104669268B (zh) 一种基于热备份的冗余水下机器人自主控制系统及方法
CN106209449A (zh) 一种绑定网卡的方法及装置
CN108282375B (zh) 基于plc混联技术的计算机联锁接口通用仿真系统及方法
JP6265158B2 (ja) 電子機器
US20150316923A1 (en) Gateway offering logical model mapped to independent underlying networks
JP2012076626A (ja) 電子連動装置の試験用シミュレータ及び電子連動装置のシミュレーション方法
JP6694327B2 (ja) 機器制御システム
JP6558882B2 (ja) 制御システム、および中継装置
CN109324818A (zh) 虚拟化服务器上位机系统及相关升级技术
CN111552263B (zh) 用于检查工业设施的方法、计算机可读存储介质和系统
WO2015037116A1 (ja) 制御装置および制御システム
CN107729173A (zh) 一种用于服务器的redriver参数配置监控方法
CN107450980B (zh) 运行自动化装置的方法以及自动化装置
JP2017142639A (ja) ネットワーク装置
JP6377537B2 (ja) 電力系統監視装置、電力系統監視方法及び電力系統監視プログラム
JP6196505B2 (ja) クラウド制御システム、及びその制御プログラムの実行方法
CN111587561A (zh) 分布式控制系统及其通信控制方法
JP2019148890A (ja) コントローラ、制御方法およびプログラム
US10671040B2 (en) Process control system and plant planning tool

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200414

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20200706