JP4479220B2 - 生産設備用制御装置、生産設備制御システムおよび生産設備用制御装置による生産設備の制御方法 - Google Patents

生産設備用制御装置、生産設備制御システムおよび生産設備用制御装置による生産設備の制御方法 Download PDF

Info

Publication number
JP4479220B2
JP4479220B2 JP2003370105A JP2003370105A JP4479220B2 JP 4479220 B2 JP4479220 B2 JP 4479220B2 JP 2003370105 A JP2003370105 A JP 2003370105A JP 2003370105 A JP2003370105 A JP 2003370105A JP 4479220 B2 JP4479220 B2 JP 4479220B2
Authority
JP
Japan
Prior art keywords
control device
service
network
production equipment
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.)
Expired - Fee Related
Application number
JP2003370105A
Other languages
English (en)
Other versions
JP2004171540A (ja
Inventor
哲男 野田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2003370105A priority Critical patent/JP4479220B2/ja
Publication of JP2004171540A publication Critical patent/JP2004171540A/ja
Application granted granted Critical
Publication of JP4479220B2 publication Critical patent/JP4479220B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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]
    • 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/30Computing systems specially adapted for manufacturing

Landscapes

  • General Factory Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

この発明は、生産設備用制御装置、生産設備制御システムおよび生産設備用制御装置による生産設備の制御方法に関し、特にネットワークに接続された生産設備用制御装置、生産設備制御システムおよび生産設備用制御装置による生産設備の制御方法に関するものである。
従来の生産設備用制御装置(以下、制御装置と言う)による生産ラインは、例えば、特許文献1の図1に示されるような構成を有していた。図中の各制御装置にはTCP/IP通信におけるIPアドレスが割り当てられている。かかるIPアドレス付与後、所定の動作が起動され、稼動状態の集計およびNCプログラムの選択的ダウンロードが開始されて、生産活動が進行する。特許文献1記載の発明では、このとき収集されるデータの整理方法を工夫することで通信量を減らそうというものであった。
また、特許文献2の図1には、従来の他の制御装置が示されている。図中の生産設備制御手段はプロトコル変換器としての制御装置を介してネットワークに接続されており、各生産設備制御手段はTCP/IP通信におけるIPアドレスおよびポート番号により識別される。従来の他の制御装置は、予め設計された生産計画を表すガントチャートと、実際に生産設備を稼動させて得られる生産実績データに基づくガントチャートを比較することで正確な状況把握と生産計画の立案を行なうものであった。
さらに、特許文献3の図1には、従来の他の制御装置が示されている。図中の各制御装置にはTCP/IP通信におけるIPアドレスが割り当てられている。かかる従来の他の制御装置は、生産ラインを流れるワークの現在位置やラインとしての稼動状態を把握するために、制御装置間で「ワークオブジェクト」と称するデータをやり取りするように構成されていた。これにより生産設備において、現在到着しているワークに適した制御が可能で、メモリ容量を削減できる効果があった。
特開平5−20227号公報 特開平9−272047号公報 特開平11−249717号公報
従来の制御装置は、各生産設備に直接接続している生産設備制御手段あるいは制御装置に対しては、以下の設定作業を生産開始前に実施する必要があった。例えば、稼動情報を表すデータの送信先はメインデータベースを持った制御装置であることを、各制御装置に対して個別に、システムエンジニアあるいはメンテナンス要員らが人手作業でパラメータ設定して回る必要があった。具体的には、どの装置にどのIPアドレスおよびホスト名を割り当てるのかというTCP/IPネットワークの設計を行なった後、割り当てられた各IPアドレスを表す文字列を各装置の設定画面に対して入力したり、各ホスト名を表す文字列を打ち込む等の作業である。さらに、NCプログラムをどのIPアドレスの制御装置からダウンロードすればよいかについても同様に人手を使って設定して回る必要があった。さらに、生産ラインの構成が変更されたときにも人手作業で設定変更を実施する必要があった。このため、制御装置の数が多くなるにつれて、人手による設定作業は一層困難になっていくという問題があった。
また、設定作業を行なうメンテナンス要員はネットワークに関する知識、生産設備に関する知識、アプリケーションソフトに関する知識を併せ持つ必要がありその教育に時間がかかる、人により能力差が大きくメンテナンスにむらができるなどの問題点があった。
さらに、近年インターネットの発展普及によってこれまで述べてきたような構内のネットワークをインターネットにも接続し、インターネット側から構内の制御装置にアクセスして情報のやり取りを行なうことが一般化しつつある。しかしながら、IPアドレスの設定、ルータと呼ばれるインターネット接続装置の設定、アプリケーションのインターネット対応設定など、複数の専門領域の知識を必要とする設定作業は増える方向にあり、一層その教育に時間がかかるという問題があった。
一方、ネットワーク内のすべての制御装置が受信すべきデータパケットを流すことでネットワーク内の制御装置の所在を確認することも可能である。要するに、いわゆるブロードキャスト通信を用いる方式である。しかし、このようなブロードキャスト通信を制御装置間の通信手段として適用すると、以下の問題が生じた。
まず、ネットワークの通信量が増加することと、データパケットの到達範囲の制御が困難になること等の問題が生じた。近年のネットワーク、とりわけイーサネット(登録商標)を用いたIPネットワークはスイッチング・ハブとルータにより構成されることが一般的である。これらのネットワーク機器はデータパケットの到達範囲、流通先を制御することで通信量の抑制を行なっている。しかしながら、ブロードキャスト通信はこのようなスイッチング・ハブを素通りするので、通信量の抑制の効果が全く得られなくなり、他のデータ通信に悪影響を及ぼす旧態なネットワークに逆戻りする事態となった。
また、各装置のネットワーク通信インターフェース回路は、通常、マルチキャストパケットはインターフェース回路内で処理してOS(オペレーティングシステム、基本ソフト)にそのパケットを引き渡すか、無関係なパケットとして破棄するかの処理を行なう一方、ブロードキャストパケットは引渡しあるいは破棄の判断処理を行なわずに通過させる処理が行なわれる。この結果、同報通信の目的にマルチキャストもしくはブロードキャスト通信のいずれかを使用した場合、一見同じように目的が達成されるかに見えて、ブロードキャスト通信ではOSに不要なパケットの処理をゆだねており、ある装置にとって無関係なブロードキャスト通信が多くなるにつれ、その装置は無意味な処理の負荷が増すことになる。このようにブロードキャスト通信では、最新のネットワーク技術を享受できないばかりか、他の演算処理に無意味に悪影響を及ぼすという重大な問題があった。
さらに、ネットワーク内に複数の種類のサービスを存在させたい場合に、ブロードキャスト通信で自己のサービスの存在やサービス内容を公布することにすると、データパケット上にそれなりのデータフォーマットを設計しておき、そのフォーマットに適応した利用を行わねばならない。よって、新しいサービスを実行するアプリケーションを後から付け加えたい場合には、それが可能になるようにデータフォーマットの再設計が必要となった。簡単な再設計で済むのなら問題は生じないが、大幅に変更したくなったときに変更しきれなくなる場合があった。なお、ここでいうサービスとは、例えば、ある装置が他の装置からの依頼に応じて提供することが可能な演算処理などを指しているが詳細は後述する。
上述のように、ブロードキャスト通信の適用は他のデータ通信との干渉、サービスの追加の面に問題が生じた。要するに、最初に設計したアプリケーションのみが利用され、新しいアプリケーションの追加を許さず、ネットワークもこの目的のデータ通信のみを行なうことにするという独善的システムになってしまう問題が生じた。
また、複数の制御装置の動作状態を表すデータを収集して複数の生産設備からなる生産ラインの稼動状態を把握するための情報システムを構築する際は、制御装置側をいわゆるサーバとし、生産ラインの統括制御装置側をいわゆるクライアントとして、クライアント―サーバの形態をとるが、かかる形態では、各制御装置でごくまれに発生するエラー状態を検知するために統括制御装置が複数の制御装置に順番に問い合わせていくことになる。各制御装置の数が少ないうちはよいが装置数が多くなってくると、全く無駄な問い合わせデータが大量に流れて通信量が増大するので、統括制御装置の計算能力も極めて高性能である必要があった。
この発明は、上記のような問題点を解決するためになされたものであり、従来と同様、物理的にネットワーク配線は行なうが、その次の段階の各制御装置の設定作業を、メンテナンス要員あるいはシステムエンジニアらの人手を煩わすことなく、自動的に実行可能な制御装置、制御装置システムおよび生産設備の制御方法の提供を目的とする。また、ネットワーク上の通信量を抑制し、かつデータパケットの到達範囲の制御が容易である制御装置、制御装置システムおよび生産設備の制御方法の提供を目的とする。
本発明に係る生産設備用制御装置は、ネットワークを介して生産設備を制御すべく設けられ、CPUおよび記憶装置を有する生産設備用制御装置であって、前記ネットワークに接続すべく設けられたネットワーク接続手段と、他の生産設備用制御装置から前記ネットワークを介して送信され前記ネットワーク接続手段を経由して取得されたデータおよび/または直結された前記生産設備から取得されたデータに基づき前記CPUが前記記憶装置に格納された所定の処理プログラムを実行するサービス手段と、前記CPUが、前記ネットワーク接続手段を経由して前記ネットワークを介して前記記憶装置に格納された少なくとも自己のIPアドレスおよびポート番号、自己の固有識別番号、自己の固有識別名のいずれか一つ以上を前記他の生産設備用制御装置に対してマルチキャスト通信により一定周期もしくは可変周期で送信する自サービス公布手段と、前記CPUが、前記ネットワーク接続手段を経由して前記ネットワークを介して前記他の生産設備用制御装置に対してユニキャスト通信によりデータの入出力を行う自他サービス接続手段と、前記CPUが、前記ネットワーク接続手段を経由して前記ネットワークを介して前記他の生産設備用制御装置に対して前記マルチキャスト通信により送信されたデータを検索する他サービス探知手段と、を備えたことを特徴とするものである。
本発明に係る生産設備用制御装置は上述のように構成されるので、生産設備用制御装置の設定作業において、メンテナンス要員あるいはシステムエンジニアらの人手を煩わすことなく、設定作業が自動的に実行可能となる効果がある。また、ネットワーク上の通信量を抑制し、かつデータパケットの到達範囲の制御が容易となる効果がある。
実施の形態1.
図1は、この発明を実施するための実施の形態1による生産設備用制御装置(以下、制御装置と言う)であり、図2は本実施の形態の制御装置が複数存在する際の動作を説明するための構成図である。
図1中、1はネットワーク、2は制御装置、3は制御装置2により制御される生産設備、4は生産設備制御手段、5はサービス手段、6は自サービス公布手段、7は他サービス探知手段、8は自他サービス接続手段、9はネットワーク接続手段、をそれぞれ示す。
図2では、図1の制御装置2が複数台設置され、複数の生産設備を制御するよう構成された形態を示す。図2中、2Aは第1制御装置、2Bは第2制御装置、2Cは第3制御装置、2Dは第4制御装置、3Aは第1生産設備、3Bは第2生産設備、5Aは第1制御装置のサービス手段、5Bは第2制御装置のサービス手段、5Cは第3制御装置のサービス手段、5Dは第4制御装置のサービス手段、をそれぞれ示す。
次に、本実施の形態の制御装置2の動作について説明する。まず、図1に示した制御装置2の各手段の個別の役割について述べる。
(1)ネットワーク
ネットワーク1は後述するサービス手段5による通信を行なうために設けられたもので、主としてIP(Internet Protocol)通信が実行可能なネットワーク設備を意味し、例えば、イーサネット(登録商標)や無線LAN、ハブ、リピータ、ブリッジ、スイッチ、ルータ、モデム、電話回線、DSL(Digital Subscriber Line)回線、ISDN回線、光ファイバー回線、電力線LAN、赤外線、USB(Universal Serial Bus)、IEEE1394等で構成される。
(2)制御装置
制御装置2は、CPU、主メモリ、例えばハードディスクのような2次記憶装置を備え(図示せず)、ネットワーク接続手段9を備える。さらに、キーボード、マウス、タブレット等の入力装置、CRTや液晶等のディスプレイ装置(画像表示装置)を備える場合もある(図示せず)。また、制御装置2に直結された生産設備3を直接制御する場合には生産設備制御手段4を備える。例えばPLC(Programmable Logic Controller)、NC(Numerical Controller)、プラント制御装置等がこれに該当する。
(3)生産設備制御手段
生産設備制御手段4は、後述する生産設備3を制御するために設けられており、前述の制御装置2と同一のCPUで生産設備3を制御できるようなソフトウェアと生産設備3との物理インターフェースから構成されている場合と、制御装置2を構成するハードウェアとは独立した制御専用CPU、メモリ、2次記憶装置、生産設備3との物理インターフェース等から構成された独立専用ハードウェアの場合がある。後者の装置構成では、制御装置2と生産設備制御手段4の間は内部バス、シリアルあるいはパラレル回線接続、共有2ポートメモリ等、なんらかの通信可能な手段により接続される。
なお、本実施の形態の制御装置は上述したように生産設備3を制御するためのものであるが、単に生産設備3と上記通信手段を介して通信し、生産設備3の稼動状態を取得しサービス手段5でその稼動状態データを利用させるという機能に限定する構成が可能であり、この場合は例えば生産ラインのモニタリングという機能を果たす。
(4)生産設備
生産設備3は、具体例を挙げると工場内に設置された切削加工機、放電加工機、レーザー加工機、プレス加工機等の各種加工装置、反応槽等のバッチ処理装置、ロボット、搬送機など、水処理プラント、化学合成プラント等の連続系生産プラント等、半導体や液晶、プリント基盤組み立てなどの組み立て装置であり、制御装置2により制御される各種設備を指している。なお、上述の生産設備制御手段4は、それぞれの生産設備3の制御を直接的に行なう目的で設けられている。
(5)サービス手段
サービス手段5はソフトウェア(各種プログラム)で構成される。但し、ハードウェアで構成することも可能である。
(a)サービス手段の動作例1
サービス手段5は、生産に必要なデータ、例えばNCプログラム、あるいは加工条件と呼ばれる制御パラメータの組み合わせを保持しつつ、他のサービス手段5からの要請に応じてこれらをデータとして提供し、あるいは他のサービス手段5に要請を行なって他のサービス手段5の保持するデータを取得するような動作を実施する。かかるデータの提供や要請はネットワーク接続手段9を経由してネットワーク1を介して行うデータ交換を指す。なお、通信に必要な手順における送受信の部分を除いて、注目するデータの送信元を提供側、受信側を要請側とここでは呼ぶ。
(b)サービス手段の動作例2
サービス手段5の別の動作例として、生産設備設備2を加工機とし、かかる加工機でワークを加工する場合を以下に説明する。この加工機はその可動部を所定の軌道もしくは加工経路で動かすよう制御されることでワークの加工を行なうが、加工時間あるいは仕上がりは軌道もしくは加工経路の良し悪しに依存する。したがって、加工時の軌道もしくは加工経路の最適化ないし準最適化が必要となる。このとき、サービス手段5によって、ワークの加工開始前に軌道もしくは加工経路を最適化ないし準最適化するための演算を実行できるように準備しておく。かかる演算はある制御装置のサービス手段5が、他の制御装置のサービス手段5からの要請に応じて実施し、その制御装置に結果を返すよう動作する。あるいは自己の制御装置のサービス手段5に対しこの演算を要請する。これらの演算の結果、サービス手段5が取得した最適ないし準最適な軌道もしくは加工経路が生産設備制御手段4に渡され、生産設備3たる加工機が加工を開始する。
(c)サービス手段の動作例3
さらに、サービス手段5の別の動作の一例として、生産設備制御手段4が加工機の軌道を利用して制御動作している最中に、必要な演算を他のサービス手段5からの要請に応じて実行し、あるいは他のサービス手段5にこれを要請するような動作が挙げられる。
(d)サービス手段の動作例4
さらに、サービス手段5の別の動作例の一例として、ある特定の制御装置2から他の生産設備制御手段4の動作状態を外部からモニタリングする際、モニタリング周期や複雑な動作をモニタリングするとき大量のデータが流れることになるが、このデータの流通配信を中継して他の制御装置のサービス手段5に送るように特定の制御装置のサービス手段5が動作し、あるいは中継を実行している他の制御装置のサービス手段5からのデータを特定の制御装置が受け取る動作が挙げられる。データの中継ということで、自分から次の中継先を知る必要があるが、これは他のサービス手段5と同じ制御装置内にある自サービス公布手段6と他サービス探知手段7により与えられる。本動作例の制御装置の適用により、データ中継先は動的に、つまり複数の制御装置に対して適宜中継先を変化させるような構成が可能となる。
(e)サービス手段の動作例5
さらに、サービス手段5の別の動作の一例として、生産設備制御手段4から得られる生産設備3の動作状態を他の制御装置のサービス手段5に提供し、もしくは他の制御装置のサービス手段5から提供された動作状態を保持することで工場全体の稼動情況情報としてまとめるような動作も挙げられる。
(f)サービス手段の動作例6
さらに、サービス手段5の別の動作の一例として、ネットワーク・システム内にどのようなサービス手段5が存在するかの一覧を保持し、これを提供するような動作も挙げられる。
なお、上述の各サービスの内容はサービス手段5の中に、一つだけ備える場合もあり得るし、複数備える場合もあり得る。また、それぞれのサービスについての提供と要請は、各制御装置2のサービス手段5が提供と要請を両方とも行なう場合もあり得るし、いずれか一方のみ行なうこともあり得る。これらサービス手段5の様々な動作内容はコンピュータのソフトウェア(プログラム)として実装される。
(6)自サービス公布手段
自サービス公布手段6は、上記のようなサービス手段5が他の制御装置2のサービス手段5に対して提供可能な内容をネットワーク1を介して他の制御装置2のサービス手段5に公知する手段で、ソフトウェアで実装される。例えば、ネットワーク1としてイーサネット上でTCP/IP通信を使用している場合には、一定の周期でネットワーク1内にマルチキャスト通信を行なう方法により実施される。あるいは、ネットワーク1上の他の制御装置2のサービス手段5が提供可能なサービス内容の一覧を保持する動作を行なう。IPマルチキャスト送信においては、送信を行なう制御装置のIPアドレスは通信の規約上必ず含まれることになるが、送信する制御装置のIPアドレス、ホスト名、ポート番号等の通信上の識別番号、あらかじめ取り決めた記号、文字列を含めて送信することもできる。
さらに、他の制御装置2のサービス手段5に対し、自己の制御装置2のサービス手段5が提供可能なサービス内容を通知する方法もある。この場合は、保持動作を行なっているサービス手段5を備えた制御装置2のIPアドレス、ホスト名、ポート番号等の通信上の識別番号、記号、文字列を予め知っておくか、あるいは後述する他サービス探知手段7により保持動作を行なっているサービス手段5を備える制御装置2のIPアドレス、ホスト名、ポート番号等を知る必要がある。前述したようにIPアドレス、ホスト名、ポート番号等の通信上の識別番号、予め取り決めた記号、文字列を含めて送信することで、このような目的に利用することができる。なお、ホスト名、ポート番号等の通信上の識別番号、予め取り決めた記号、文字列は固有識別名と呼ばれる。このようにして得られたIPアドレス、ホスト名、ポート番号等に対し自サービスの内容を送信する。異なるIPアドレス体系のネットワークをアクセスする際に、IPアドレスが重複している事態もありえるが、識別番号や固有識別名の適用により、そのような場合にも本発明の目的とする動作が可能となる。つまり、例えIPアドレスが重複していても、ホスト名、ポート番号等の通信上の識別番号、固有識別名が重複していなければ動作可能である。
(7)他サービス探知手段
他サービス探知手段7は、他の制御装置2のサービス手段5、および自己の制御装置2のサービス手段5に要請可能なサービス内容を知るための手段である。他サービス探知手段7では、他の制御装置2のサービス手段5が公布している内容、すなわちマルチキャスト通信により送信しているデータを受信し、そのデータを記憶する。また、他サービス探知手段7では、上述した他の制御装置の自サービス公布手段6により送信された内容の保持動作を行なっているサービス手段5からデータを転送する。
(8)自他サービス接続手段
自他サービス接続手段8は、2つ以上のサービス手段5同士の間で、サービスに関するデータ通信を行なうための手段であり、ソフトウェアで実装される。例えば、上述の経路最適化計算の場合では、自他サービス接続手段8により、要請側のサービス手段5から最適化前の加工経路を表すデータが提供側に送り込まれ、最適化ないし準最適化後の加工経路データが返されてくる。要請側のサービス手段5は、他の複数のサービス手段5に対し、この自他サービス接続手段8を用いて最適化前加工経路データを送信し、帰ってきた複数の最適ないし準最適加工経路の中から最も優秀な経路を選択する。自他サービス接続手段8間の通信手段としては、ユニキャスト通信が用いられる。これは、該当するサービス手段間のみでデータパケットがやり取りされれば充分だからである。
(9)ネットワーク接続手段
最後に、ネットワーク接続手段9は、上述のネットワーク1に使用するハードウェアに適合したハードウェアで構成される。例えば、ネットワーク1としてイーサネットを用いて、ネットワーク接続手段9にイーサネット用のICチップ群を用いることが一般的である。ネットワーク接続手段9は、一般的にこれらのイーサネット用ICチップを動作させるためのいわゆるデバイスドライバソフトウェアおよびIP通信を行なうための通信プロトコルスタックと呼ばれるソフトウェアにより構成される。上述の通り、イーサネット以外のハードウェアがネットワーク1に使用される場合は、それ相応のハードウェアチップとデバイスドライバソフトウェアに変更する。
制御装置2を複数台使用する場合における上述の各手段の動作を以下に説明する。図2は、2台の生産設備3A,3Bが4台の制御装置2A〜2Dにより制御されている形態を表している。まず、第1生産設備3Aおよび第2生産設備3Bから構成される加工セルの稼動状態を第3制御装置2Cにて集計する場合について説明する。この場合、第3制御装置2Cのサービス手段5Cは稼動状態の集計データベースを備えることになる。また、第1制御装置2Aのサービス手段5Aと第2制御装置2Bのサービス手段5Bは、それぞれの生産設備制御手段4A、4Bからそれぞれの生産設備3A、3Bの稼動状態を表すデータを得て、自他サービス接続手段8、ネットワーク接続手段9、ネットワーク1を介して、ユニキャスト通信によって第3制御装置2Cのサービス手段5Cにそのデータを送信する動作を行なう。しかしながら、かかる動作は以下に述べるような手順に従った自動構成動作が行なわれた後の動作である。本実施の形態の制御装置の特徴の一つは、以下に説明するような自動構成動作が行なわれる点にあり、かかる自動構成動作によって、各制御装置2A〜2Dの設定作業をメンテナンス要員あるいはシステムエンジニアらの人手を煩わすことなく、自動的に実行できる。
まず、はじめに第3制御装置2Cの自サービス公布手段6Cの動作を説明する。図3のフローチャートに示すように、予め指定されているマルチキャストIPアドレスの指定ポートにデータパケットをマルチキャスト通信によって送信し(ステップST301)、その後、予め定められた時間待ちを行い(ステップST302)、再びデータパケットの送信(ステップST301)を繰り返している。要するに、マルチキャスト通信によって一定周期でデータパケットを送信している。因みに、本動作例では15秒に1回送信するように設定されている。マルチキャストIPアドレスは、例えば、234.5.6.7とし、ポート番号は5670とする。データパケットの中身は、本動作例では“p2p-mon"という文字列を送信している。ただしこの場合は、文字列として意味のある利用はしていない。文字列自体は、何ら動作に影響しないからである。
このIPアドレス、ポート番号は本実施の形態における他の動作例とは異なるアドレス、番号を選択している。このように特定の動作に対して固有のアドレス、番号を付与することにより、他のサービスおよびアプリケーションと何ら不都合なく共存できる。
第3制御装置2Cの自サービス公布手段6Cは、第3制御装置2Cの電源が入ると同時に動作を開始する。例えば、タスクあるいはスレッドあるいはプロセスと呼ばれるコンピュータプログラムの実行形態にて他の手段の動作とは独立した実行を行なうようにすれば、スレッドであってもプロセスであっても同等の効果が得られる。因みに、本動作例ではスレッドと呼ばれる態様で実装している。なお、IPアドレス234.5.6.7のポート番号5670にデータを送出する制御装置2では、稼動状態の集計データベースを備えることは、各制御装置が動作する前に予め取り決めておく。また、マルチキャストIPアドレスと、各制御装置2に割り当てられたIPアドレスは異なる。マルチキャストIPアドレスはラジオやテレビジョン放送におけるチャンネルのようなもので、そのIPアドレスの特定ポート番号にデータパケットを送信すれば、そこにチューニングをあわせてデータパケットの到着を待っている機器全てで、データが受信される仕組みである。一方、他の通信方法としてブロードキャスト送信があるが、こちらは待っていてもいなくても、好むと好まざるに関わらず全ての機器に一律にデータが届けられる方式である。
マルチキャスト通信によって第3制御装置2Cから送信されたマルチキャストのデータパケットは、第1制御装置2Aおよび第2制御装置2Bの他サービス探知手段7A,7Bにより受信されて処理される。この第1制御装置2Aおよび第2制御装置2Bの他サービス探知手段7A,7Bの動作を図4に示す。他サービス探知手段7A,7Bも各制御装置の電源が入ると同時に動作を始める。これもスレッドとして実装されている。図4のフローチャートに示すとおり、予め指定されているマルチキャストIPアドレスの指定ポートにてデータパケットの到着を待ち(ステップST401)、データパケット到着の際には、予め定められたディレクトリ(記憶)領域(ステップST402)(ファイルシステムの構成によるが、本動作例では予め取り決めておいたディレクトリ領域にファイルを作成するようにしている)に送信元のIPアドレスをファイル名としたファイルを作成するような動作(ステップST403)を行なっている。同一ファイル名のファイルが既に存在するときは、そのファイルに付加されている更新日付情報が更新される。ファイルの更新日付情報の存在はファイルシステムに依存するが、本動作例のファイルシステムはこれを備えているものとしている。マルチキャストIPアドレス234.5.6.7のポート番号5670でデータパケットの到着を待っている。届けられたデータパケットの中身が作成されたファイルに書き込まれるようにしている。
さらに、第1制御装置2Aおよび第2制御装置2Bの他サービス探知手段7A,7Bでは、図5に示すような手順を実行するスレッドが実装されている。この手順では、送信元IPアドレスをファイル名にしたファイルが書き込まれるディレクトリ領域(記憶領域)を15秒に1回調べ、ファイルの最終更新から60秒以上経過している場合はそのファイルを削除する動作を行なう。これにより送信元からマルチキャストデータパケットが15秒に1回送信されているはずのところ、最後にその送信元からの送信を受信してから60秒以上経過した場合にその送信元は何らかの都合でネットワーク1内に存在しなくなったか、ネットワーク1が分断されたと判断する。以下、図5のフローチャートに基づき、詳細な動作を説明する。
まず、上述のディレクトリ領域(ステップST501)に保持されているファイル名の一覧リストを取得する(ステップST502)。そして一覧リストの中の個々のファイル名についてループを回している(ステップST503)。個々のファイル名の指し示すファイルの更新日時と現在日時をそれぞれ取得し、個々のファイルについての作成後の経過時間を計算して(ステップST504)、両者を比較する(ステップST505)。時間差が60秒以上ある場合にはそのファイルをディレクトリ領域(ステップST501)から削除して(ステップST506)、次のファイル名の処理を行う(ステップST503)。経過時間が60秒未満の場合は何もせず、次のファイル名の処理を行う(ステップST503)。すべてのファイル名の処理を終えたらループを抜け出して、15秒の時間待ちに入り(ステップST507)、その後、先頭から処理を繰り返す(ステップST502)。
さらに、第1制御装置2Aおよび第2制御装置2Bの他サービス探知手段7A,7Bは別のスレッドを実装している。上述した2つのスレッドの動作は他の制御装置2のサービス手段5を利用するための準備段階を示すものであったが、以下に説明するスレッドは他のサービス手段5を直接的に利用する段階のものである。かかるスレッドの動作を図6のフローチャートに示す。なお、図6のフローチャートには他サービス探知手段7以外の部分も記載されている。図6のフローチャートにおける他サービス探知手段7の動作は点線四角で囲んだ範囲である。それ以外の部分は後述するサービス手段5で実行される範囲を表している。図6のフローチャートで示される動作では、ユニキャスト通信によって60秒に1回、自己が制御している生産設備3の稼動状態を表すデータを送信する。その送信先は、他サービス探知手段7を用いて探した他の制御装置2のサービス手段5である。
図6のフローチャートに従って、動作を詳細に説明する。まず、生産設備3の稼動状態を表すデータを取得する(ステップST601)。次に、上述した所定のディレクトリ領域(ステップST602)からファイル名一覧を取得する(ステップST603)。続いて、各ファイル名について処理を行なうループを回す(ステップST604)。ループの中では各ファイル名の指し示すIPアドレスに向かって、先に取得された稼動状態データを送信する(ステップST605)。すべてのファイル名を処理し終えると60秒間待機する(ステップST606)。その後、再び処理の先頭に戻って稼動状態の取得が開始される(ステップST601)。本スレッドはすべてのファイル名についてのループに関して実行されるが、上述の動作例では第3制御装置2CのIPアドレスをファイル名とするファイルのみであるので、ループはかかるファイルに対してのみ、すなわち1回だけ実行される。因みに、第3制御装置2CのIPアドレスすら入っていない場合は、ネットワーク1か第3制御装置2Cになんらかの障害発生の可能性があり、この場合は稼動状態の送信は行なわれない。
さて、上記動作例においては稼動状態を表すデータを「送信する」と単に述べたが、かかるデータパケットを作成し、所定のプロトコルによってユニキャスト通信により送受信する部分が自他サービス接続手段8の役割である。図6に示した動作は、ファイル一つという非常に単純な場合であるので、送信側は稼動状態を一つのパケットに書き込んでユニキャストソケットで送信するだけであるし、受信側もユニキャストソケットを受信モードで開けて待機し、届けられた一つのパケットを受け取って、中身を解釈するだけである。
例えば、送信したいデータが加工経路の場合のように、X座標、Y座標の組み合わせが複数在るような場合にはこの自他サービス接続手段8に予めそれを送受信するプロトコルを定めればよい。例えば、X座標、Y座標をテキスト形式にてスペースで区切って、1つの点は1行で送信、最終行を送り終えたら行頭にピリオドだけの行が送られる、等と取り決めればよい。
なお、第1制御装置2Aおよび第2制御装置2Bのサービス手段5の動作は、図6で示したフローチャートそのものである。
第3制御装置2Cのサービス手段5Cの動作を図7のフローチャートに示す。図7に示すとおり、自分のIPアドレスの5550番ポートにおいてIPユニキャストパケットの受信待ちを行なっている(ステップST701)。受信されたIPユニキャストパケットは第1制御装置2Aあるいは第2制御装置2Bからの稼動状態のパケットであるので、受信時刻、送信元、受信パケットデータを一つのレコードに仕立て、リレーショナルデータベース(ステップST702)の所定の記録用テーブルに格納し(ステップST703)、次のデータパケット受信待機状態になる(ステップST701)。
以上述べた本実施の形態における制御装置の全体の動作を図8のフローチャートに示す。かかるフローチャートから、稼動状態の記録システムが動作していることが分かる。しかも、生産設備3A,3Bを制御している各第1制御装置2Aおよび第2制御装置2Bには予めマルチキャストIPアドレス、ユニキャストIPアドレス、ポート番号を設定しておく必要があるが、それだけ決定した上でネットワーク1に接続すれば、稼動状態を収集している制御装置が第3制御装置2Cであることを自動的に検知し、第3制御装置2Cに向けて稼動状態を送信し始める。かかる動作により自動的に稼動状態の記録システムを構成することができる。
本動作例において、マルチキャスト通信で送受信されるデータパケットの中身の文字列は利用されていない場合を説明したが、この文字列として第3制御装置2Cが稼動状態を待っているポート番号を追加することで、第1制御装置2Aおよび第2制御装置2Bに予め設定する情報が一つ減る効果が得られる。さらに、この文字列に、サービス手段5の提供するサービスを利用するための手順を実装することもできる。提供されるサービスが関数であるのなら、その引数並びに関する情報が実装される。あるいはサービス提供側で実行できるコンピュータプログラムそのものが実装されており、サービス利用側は自己のサービス手段にそのプログラムをコピーした上で実行することもできる。つまり、かかる実行により他のサービス手段が提供しているサービスを利用できる。
一方、第3制御装置2Cと同時に第4制御装置2D(図2)が起動した場合、第1制御装置2Aおよび第2制御装置2Bは、第3制御装置2Cおよび第4制御装置2Dの両方に稼動状態を表すデータパケットをユニキャスト通信によって送信する。この場合、第3制御装置2Cあるいは第4制御装置2Dの一方が何らかの障害により停止したとしても、正常に動いている他方にデータが蓄積されていく。
通常は第3制御装置2Cで運用し、第3制御装置2Cをメンテナンスするために停止する直前に第4制御装置2Dを起動し、その後、第3制御装置2Cを停止してメンテナンスした後、第3制御装置2Cを起動、第4制御装置2Dの自サービス公布手段6Dを停止し、第4制御装置2Dのリレーショナルデータベースに蓄積されたデータを第3制御装置2Cのリレーショナルデータベースに転送し、第4制御装置2Dを停止という運用手段をとる。
なお、上述したように本実施の形態では、各制御装置側から発信し、リレーショナルデータベースを持つ制御装置にデータパケットを送信する例を示している。つまり、各制御装置がクライアント側となり、リレーショナルデータベースを持つ制御装置がサーバ側として動作する。
なお、上述の動作説明では生産設備3A,3Bを制御する制御装置が第1制御装置2A、第2制御装置2Bの2台の場合(図2)について述べたが、かかる仕様の制御装置が何台あっても同様に動作するし、生産設備と直接接続されていない第3制御装置2C、第4制御装置2Dのような仕様の制御装置に関しても何台あったとしても同様に動作する。
また、制御装置の自他サービス接続手段8をユニキャストソケットにより構成する例について説明してきたが、HTTPプロトコル、SOAPプロトコル、WebDAVプロトコル、FTPプロトコル、SMTPプロトコル、POPプロトコル、IMAPプロトコル、XMLプロトコル、DCOM(登録商標)プロトコル、CORBA(登録商標)プロトコルであっても同様の効果が得られる。
本動作例ではIPアドレス、ポート番号は本実施の形態における制御装置2の他の動作例とは異なるものを選択している。こうすることにより、他のサービスおよびアプリケーションとなんら無理なく共存することができるのであるが、サービスの内容がほとんど同じ場合には他のIPアドレス、ポート番号と同一のものであってもよい。ただし、似ているが異なるサービスであることを区別するためには送信されるデータパケットのデータフォーマットを予め設計する必要がある。
また、本実施例では自サービス公布手段6において、一定周期でパケットを送出する例について説明したが、これを可変周期としても良い。例えば、制御装置の電源投入直後には10秒周期で送信を行ない、電源投入からたとえば5分経過したら、30秒ごとに行なうようにする、などの動作を行なっても良い。この場合にはネットワークの付加を減らす効果が得られる。しかし、他サービス探知手段7が探し出すのに、より時間がかかる欠点も生じる。その他にも10秒周期でパケットを送信している他の制御装置が検出された場合には、自分の送出周期も5分間は10秒間にする、などの手段を実施することもできる。この場合は、他の制御装置より後から電源が投入された制御装置があった場合に、後から電源を投入された制御装置が先に電源が投入されてすでに動いている制御装置を発見するのを迅速に完了させる効果がある。
また、これらIP通信はIPのバージョン4による例で説明したがバージョン6(IPv6)であっても同様に動作し、同様の効果がある。
以上、実施の形態1の制御装置によると、各制御装置の設定作業が、メンテナンス要員あるいはシステムエンジニアらの人手を煩わすことなく自動的に実行可能となる。また、各制御装置間における自サービス公布手段と他サービス探知手段間の通信手段としてマルチキャスト通信を適用し、かつ自他サービス接続手段間の通信手段としてユニキャスト通信を適用することにより、ネットワーク上の通信量が抑制でき、かつデータパケットの到達範囲の制御が容易となる。
実施の形態2.
上述の実施の形態1においては第1制御装置2Aおよび第2制御装置2Bが自己の制御する生産設備3A、3Bの稼働状態を第3制御装置2Cあるいは第4制御装置2Dに送信する形態について説明したが、実施の形態2においては図2の構成図に示すような第1制御装置2Aおよび第2制御装置2Bが、他からの稼働状態の問い合わせに対して稼働状態を表すデータを返送するようなサービス内容を具備するサービス手段5A,5Bをそれぞれ有している。さらに、自サービス公布手段6A,6Bにより、このような問い合わせに対して返送する動作を行なうサービス手段5A,5Bが存在することをネットワーク1にIPマルチキャストパケットとして送信し、第3制御装置2Cあるいは第4制御装置2DがそのIPマルチキャストパケットを受信して、どの制御装置に問い合わせてデータを集めるかを決定するように構成している。要するに、所定のIPマルチキャストパケットの送信元を、ネットワーク1上に存在する制御装置として記憶する。この場合も実施の形態1に示したのと同様に、第1制御装置2Aおよび第2制御装置2Bの稼動状態を収集する制御装置が自動的に得られる効果がある。
さらに、実施の形態2においては、稼働情報を集める対象となる第1制御装置2Aおよび第2制御装置2Bが正常に稼動しており、かつネットワーク1に障害が発生していないことが明らかな時間帯に、第3制御装置2Cおよび第4制御装置2Dにおける他サービス探知手段7C,7D中の図5のフローチャートに示すような削除手順を動作させ、その後、一定時間経過後にこの削除手順のみを停止するよう構成している。各制御装置が正常に稼動していること、およびネットワークに障害が発生していないことの確認は人間が行なうことにしている。一定時間経過後、というのは人間が確認作業を完了したときに経過する時間を指す。
削除手順が動作している間は、新たな制御装置が設置されたこと、及びそれまで存在していた制御装置の撤去されたことが、IPマルチキャストパケットを受信することで得られている存在情報に反映されることになる。例えば、第1制御装置2Aおよび第2制御装置2Bが存在することが、第3制御装置2Cあるいは第4制御装置2Dにより検知されて全体の稼動が始まり、その後、第1制御装置2Aが撤去された場合、第3制御装置2Cあるいは第4制御装置2Dは第1制御装置2Aが存在していることを表すデータを削除し、第2制御装置2Bのみが存在していることを表すデータを保持するようになる。このようにして、存在情報に反映される。つまり、各制御装置の設定作業が、メンテナンス要員あるいはシステムエンジニアらの人手を煩わすことなく、自動的に実行可能となる効果が得られる。
削除手順が停止させたときは、制御装置が新たに設置された場合には存在情報が変化するが、撤去されるか、あるいはなんらかの障害が発生してIPマルチキャストパケットが受信できなくなった場合でも存在情報は変化しなくなる。つまり、第1制御装置2A、第2制御装置2Bあるいはネットワーク1に何らかの障害が発生して所定のディレクトリ領域(記憶領域)のファイルが更新されなくなったとしても、第1制御装置2Aあるいは第2制御装置2Bの存在を表すデータが削除されなくなる。削除されないので自他サービス接続手段8は接続できない相手と通信しようとするが、当然通信できないので、この結果、第1制御装置2Aあるいは第2制御装置2Bに障害が発生しているか、ネットワーク1に障害が発生していることを検知できる。削除手段を動作させている場合、障害が発生した制御装置の存在を表すデータが削除されるので、その制御装置とは通信しなくなるので障害の発生がわからない。本実施の形態では削除手段を停止しているので存在を示すデータの表す制御装置と通信しようとするので障害を検知することが可能となる。また、削除手段は任意のタイミングで動作を再開させる。これにより最新の設置、撤去情報を更新する。
なお、本実施の形態では生産設備3を制御する制御装置を第1制御装置2A、第2制御装置2Bの2台で構成する場合について説明したが、かかる仕様の制御装置が何台あっても同様に動作するし、第3制御装置2C、第4制御装置2Dについても、かかる仕様の制御装置が何台あっても同様に動作する。
さらに、本実施の形態においては削除手段を停止および動作することにして説明したが、以下の動作方法でも、制御装置もしくはネットワークの障害を検知することができる。
まず、上述したような人間の確認作業が行なわれる。このときに得られたIPマルチキャストパケット受信データによる制御装置の存在情報を「正」として記憶保持しておく。確認作業終了後に、先の動作例では削除時手段を停止することにしていたが、本動作例では削除手段を停止しない。したがって、障害が発生した制御装置の存在を表すデータは削除される。ネットワークに障害が発生した場合にあってはすべてのデータが削除されることになる。このような各時点での制御装置の存在を表すデータと、先に記憶保持した「正」のデータを比較することで制御装置の撤去、障害発生、ネットワークの障害発生を判定する。この動作例によれば、実際に対象となる制御装置と通信を試みて、通信できないことで障害の発生等を知るのに比して、通信を試みる前に障害等を知ることができる効果が得られる。よって、メンテナンス要員あるいはシステムエンジニアらの人手を煩わすことなく、通信障害を事前に察知できる。
実施の形態3.
図9は実施の形態3の制御装置の構成図である。図9において10は広域ネットワークである。1は構内ネットワークとしているが、他の実施の形態におけるネットワーク1と同一のものである。
図9における第1制御装置2Aは、第1生産設備3Aの制御を実行しつつ、サービス手段5Aが構内ネットワーク1あるいは広域ネットワーク(インターネット)10上の第3制御装置2Cのサービス手段5Cを利用したり、逆に第3制御装置2Cが第1制御装置2Aのサービス手段5Aを利用する場合を示している。通常、構内ネットワーク1と広域ネットワーク10はルータと呼ばれる接続装置で結合されるが、そのルータを第2制御装置2Bで構成した例について説明する。かかる構成では、第2制御装置2Bは構内ネットワーク1用と広域ネットワーク10用の2つのネットワーク接続手段9B1,9B2を備えている。第2制御装置2Bはこれら2つのネットワーク間のデータパケットの転送を制御する機能を具備しており、あるパケットは転送するし、あるパケットは転送しないという振り分けを行なう。これがルータ機能であり、広域ネットワーク10側からの不正なデータ通信要求を選択的に排除する振り分けを行なう機能を前面に出せばファイヤーウォールとして使用できる。
さて、第1制御装置2Aが第3制御装置2Cのサービス手段5Cのサービスにユニキャスト通信で接続したいとする。通常は第2制御装置2Bの2つのネットワーク接続手段9B1,9B2のデータ転送は実施されないようにし、第1制御装置2Aが第3制御装置2Cに接続するときのみデータ転送を実行するようにすることで広域ネットワーク10からの不正な侵入、構内ネットワーク1の中からの意図せぬデータ漏洩、不正な通信を防ぐことができる。そして、第2制御装置2Bのサービス手段5Bはこのデータ転送を行なうか、止めるかに関するサービスを行っている。第1制御装置2Aの自他サービス接続手段8Aは第2制御装置2Bの自他サービス接続手段8Bに接続し、自分から第3制御装置2Cへの通信データの転送を実行してもらうように依頼する。すなわち、第2制御装置2Bの2つのネットワーク接続手段9B1,9B2の間のデータ転送の実行を依頼する。
次に、第1制御装置2Aは第3制御装置2Cへの接続を行なう。データ転送が実行されているので通信路が確立する。データ通信が完了すれば、再び第2制御装置2Bに接続し、データ転送を停止する依頼をする。一方、外部から第1制御装置2Aのサービス手段5Aを利用させるために、やはり第2制御装置2Bの自他サービス接続手段8Bに接続し、第3制御装置2Cから自分への通信データの転送を実行してもらうように依頼する。そして以下同様の手順でデータ転送は終了する。なお、第2制御装置2Bがデータ転送を行なうサービスを実行できることは自サービス公布手段6Bにより、第1制御装置2Aの知るところとなっていることはいうまでもない。以上の一連の動作はすべて自動的に行われるので、各制御装置の設定作業が、メンテナンス要員あるいはシステムエンジニアらの人手を煩わすことなく、自動的に実行可能となる効果が得られる。
さらに、ネットワーク接続手段9B1がIPv6通信を行ない、ネットワーク接続手段9B2がIPv4通信を行なっている場面を考えることができる。また、その逆も可能である。かかる場合は、構内はIPv6通信を行なう一方で、インターネット上のIPv4通信を利用する必要のある場面に対応できる効果が得られる。
実施の形態4.
図10の構成図は、生産設備3を2台の制御装置2A、2Bで制御している実施の形態4の制御装置の例である。本実施の形態における第1制御装置2Aの生産設備制御手段4Aは生産設備3Aの状態の計測信号およびモーターなどアクチュエータへのエネルギー供給指令信号あるいは位置指令信号、速度指令信号、接点開閉信号等の制御指令信号を自他サービス接続手段6Aおよびサービス手段5Aを介して第2制御装置2Bの生産設備制御手段4Bに接続している。これにより第2制御装置2Bが生産設備3Aの状態に対応した制御指令を、第1制御装置2Aの生産設備3Aに送ることで制御動作が実現する。以上の一連の動作はすべて自動的に行われるので、各制御装置の設定作業が、メンテナンス要員あるいはシステムエンジニアらの人手を煩わすことなく、自動的に実行可能となる効果が得られる。
実施の形態5.
実施の形態5における制御装置の構成図を図11に示す。生産設備3が2台で制御装置2は4台で構成されている。本実施の形態では第1生産設備3Aおよび第2生産設備3Bは、レーザー穴あけ加工機のような加工経路の良し悪しが加工時間に影響する加工機である。以下に加工機の動作を説明する。図12はワークの平面図であり、四角いワークに5つの穴を開ける様相を示す図である。このとき、図12(a)に示すような順番でワークに穴を開けていくより、図12(b)に示すような順番でワークに穴を開けたほうが、加工経路が短い。したがって、第1生産設備3Aあるいは第2生産設備3Bにおいて図12に示すような加工を実際に行なう前に、図12(b)のように穴の配置に対して最適な加工順番を得ておくことが重要である。加工経路が短いと加工時間が短縮され、この結果、例えば1日の操業でより多くのワークを加工することができ、生産性が一層向上するからである。図11中の第1生産設備3Aが、このような最適な加工順番、言い換えると加工経路の最適化ないし準最適化演算を必要としている場合に、かかる最適化演算を4台の制御装置2A〜2Dにより実行するのが本実施の形態における各制御装置の機能である。
まず、最短な加工経路を求める演算について説明する。通常は、ワークとそのワークに開けるべき穴の配置のみが与えられたところから加工経路の計画が開始される。最初は乱数等によって穴の順番を適当に並べ、その後、いわゆる最適化アルゴリズムを適用して、最も加工経路が短くなる最適加工経路、あるいは最も加工経路が短いものに近いであろう準最適化経路を求める。これは、巡回セールスマン問題と呼ばれる問題そのものである。
このような巡回セールスマン問題を解くための最適化アルゴリズムには、例えば山登り法、シミュレーテッドアニーリング法、遺伝的アルゴリズム法、全探索法等の方法がある。開ける穴の数が少ないときには全探索も可能であるが、通常、実用的な加工における穴の数において、実用的な時間内に全探索が完了することは無く、全探索法が使われることは無い。そこで、他のアルゴリズムによるが、それぞれ得失があるので、ここでは複数の手法を組み合わせることで、各手法の長所を活かすような動作例を説明する。
上述した各方法のうち、比較的局所的な最適解に陥ることが無く、迅速に最適化が進行するのはシミュレーテッドアニーリング法(第1の最適化プログラム)である。しかし、このシミュレーテッドアニーリング法はある程度最適化が進行した後は、計算を続けても良い解が得られなくなってくる。そこで、シミュレーテッドアニーリング法で演算を始めて、しばらくはかかる演算方法を続行し、そしてあるところで得られた解(第1の最適解)に基づき、山登り法(第2の最適化プログラム)に切り替えて最適化を継続し、さらなる最適解(第2の最適解)を求める。ここで一つ問題がある。つまり、山登り法は局所最適解に容易に陥ってしまい、良い解が得られなくなることが多い一方、驚くほど良い解が短時間で得られる場合もある。このような問題を解決するためには、山登り法に切り替えた後は複数の山登り法演算スレッドを複数同時に動かして最終的に最も良い解を出している山登り法の解(第2の最適解)のみ採用すればよい。1000回計算すれば1000通りの答になるので、できるだけ多くのスレッドを同時に動かすことが好適である。
図13のグラフは本動作例による演算結果を表している。横軸が山登り法の繰り返し演算の回数、縦軸は加工経路の総延長距離である。複数のプロット曲線は複数のスレッドの各実行結果を表している。図13のグラフでは10個のスレッドで計算しているので、スレッドに対応して曲線も10本ある。図13のグラフから判るように、ある演算回数において比較すると、各スレッドの加工経路の総延長距離はばらついている。よって、より最適な解を得るために、ばらついている各演算結果中から総延長距離が最小となっているようなスレッドの解(第2の最適解)を選択する。
一方、遺伝的アルゴリズムにより最適化演算を行なった場合には、このような複数スレッド山登り法に比べて繰り返し演算を重ねることで最終的には良い解が得られるにせよ、解が得られるまでの時間は長くなることが実験的に判っている。複数スレッド山登り法と同じ時間で遺伝低アルゴリズムの演算を打ち切ることもできるが、その場合には複数スレッド山登り法よりも良い解が得られないことも実験的に判っている。
以上で述べたようなシミュレーテッドアニーリング法(第1の最適化プログラム)と複数スレッド山登り法(第2の最適化プログラム)を組み合わせた方法の手順を図14のフローチャートに示す。以下、図14のフローチャートに従って説明する。加工は2次元平面に複数の穴を指定された位置にあけていくというものである。したがって、各穴はX,Y座標の組み合わせが複数並べられたものとして表現される(ステップST1401)。演算の開始は複数のX,Y座標の組み合わせで表現されている問題を取得することである(ステップST1402)。次に、初期解として開ける穴の順番を乱数により決定する(ステップST1403)。続いて、この乱数による初期解を出発点とするシミュレーテッドアニーリング法を実行する(ステップST1404)。このシミュレーテッドアニーリング法は一定時間で打ち切られる。他の打ち切り方としては、一定の演算回数で打ち切る方法、解が徐々に良い値(この場合は総延長距離がより短い値)になっていく速さがある値より小さくなったときに打ち切る方法が挙げられる。
続いて、山登り法に移行する。上述したように、山登り法は複数のスレッドで実行する(ステップST1405)。因みに、図14のフローチャートでは4つのスレッドで演算した例を示している(ステップST1406,ステップST1407,ステップST1408,ステップST1409)。各スレッドはそれぞれ山登り法で繰り返し演算を行なうが、演算の中で乱数を使用するので既述の図3のフローチャートに示したとおりで、同じ初期解から演算を開始しても、その経過と結果は異なるものになる。この山登り法は予め定められた演算回数で打ち切られる。他の打ち切りかたとして、一定時間で打ち切る、解の改善速度が鈍ったら打ち切るなどの方法も挙げられる。
すべてのスレッドが終了したことを判定し(ステップST1410)、それぞれのスレッドの解が出揃う。その後、すべての解を総延長距離でソートし、最短の値を最終的な解(第2の最適解)として(ステップST1411)、穴を開ける順番とともに結果記録ファイルに記録して(ステップST1412)、終了する。
本実施の形態では図14のフローチャートに示した演算方法の中で、複数スレッドによる山登り法(第2の最適化プログラム)の実際の演算部分を複数の制御装置2により実行する。すなわち、複数の制御装置によって山登り法を並列に処理している。図11に示すように、上記の山登り法を計算するサービスが第1ないし第4制御装置2A〜2Dそれぞれのサービス手段5A〜5Dで並列に実行可能であるように予め構成する。そして、4つの制御装置2A〜2Dそれぞれの自サービス公布手段6A〜6Dによってネットワーク1内に向けて、IPマルチキャストアドレス234.5.6.7、ポート番号4567にて、データパケットがマルチキャスト送信される。このIPマルチキャストアドレスとポート番号は予め定めておく。
ここで、このIPアドレス、ポート番号は本発明の他の実施の形態における動作例とは異なる値を選択している。つまり、このIPアドレス、ポート番号は固有の値を有している。この結果、他のサービスおよびアプリケーションと異なるIPアドレス、ポート番号を有することになるため、各サービスおよびアプリケーションは互いになんら無理なく共存できる。
上述のサービスで、送信されるデータパケットは“P2P-TSP”という文字列を含んでいる。第1制御装置2Aの他サービス探知手段7AはこのIPマルチキャスト送信データパケットを受信し(図4のフローチャートと同等の動作。ただし、受信待ちIPアドレスおよびポート番号は異なる)、ディレクトリ領域に順次記憶する。マルチキャストパケットの受信が第1制御装置2Aにて観測されないときにディレクトリ領域から削除される動作も図5のフローチャートと同様である。
さて、第1制御装置2Aにおいて、これから加工するワークに関するデータの取り扱いが始まったとする。そして、図14のフローチャートに示したような動作が第1制御装置2Aのサービス手段5Aで実施される。まず、第1制御装置2Aのサービス手段5Aにおいて乱数による初期解が演算され、それに続いてシミュレーテッドアニーリング法による最適化演算が実行され、第1の最適解が得られる。次に、図6のフローチャート中に点線で囲んだ領域に示した他サービス探知手段7Aと同等の動作により、記憶領域から山登り法を実行可能な制御装置2Aのサービス手段5Aが読み出される。図6のフローチャートに示すように各サービス手段5AのIPアドレスがファイル名として得られる。
続いて、各サービス手段5A〜5Dに対し、シミュレーテッドアニーリング法にて得られている解が配信される。かかる解の配信に際しては、自他サービス接続手段8Aが用いられる。上述したように、自他サービス接続手段8Aは自己以外の他の制御装置2B〜2Dのサービス手段5B〜5Dを利用するために必要なデータのやり取りを行なうために設けられた手段である。本実施の形態においては、第1制御装置2Aの自他サービス接続手段8Aは、まずは複数のX,Y座標の組み合わせを他のサービス手段5B〜5Dに配信するために用いられる。
以下、図15のフローチャートに従って、本実施の形態の制御装置の動作を説明する。第1制御装置2Aの動作においてシミュレーテッドアニーリング法を終えたら(ステップST1504)、他サービス探知手段7B〜7Dにより得られた(ステップST1506)山登り法を担当できる他の制御装置2B〜2Dのサービス手段5B〜5Dに対して、それぞれスレッドを起動し(ステップST1508)、各スレッド毎に、複数のX、Y座標の組み合わせを自他サービス接続手段8Aを用いてユニキャスト通信によって送信する(ステップST1510)。かかる送信が完了したら、その印として行頭に『.』(ピリオド)を持ったデータをさらにユニキャスト通信によって送信する(ステップST1511)。送信後は、結果が返ってくるまで待機する(ステップST1512)。各スレッドを起動し終えた元スレッドは各スレッドが終了するまで待機する(ステップST1516)。各スレッドにおいては自他サービス接続手段8B〜8Dにより最短の総延長距離(ステップST1512)、その距離を与える複数のX、Y座標の組み合わせ(ステップST1515)、行頭に『.』(ピリオド)(ステップST1514)、の順でデータが帰ってくるのでこの順序に従ってデータを受け取り、終了する。すべてのスレッドが終了したら、各スレッドの返してきた総延長距離をソートして(ステップST1517)その中から最短のものを選択し、同時にその最短距離を与えるX、Y座標を選び出して(ステップST1518)演算を終える。
一方、山登り法を担当できる各制御装置2A〜2Dの自他サービス接続手段8A〜8Dにおいては同様のデータ伝送手順を実装しており(ステップST1520からステップST1522)、受け取ったX、Y座標の並びを初期解とする山登り計算を所定回数行ない(ステップST1513)、結果を先に述べたような手順で送信元に送り返す(ステップST1524からステップST1526)。以上により、最適な加工経路が得られたので第1生産設備3Aにおいて加工を開始することができる。
なお、本実施の形態では加工経路が問題になる加工機の場合について説明したが、加工開始前に加工パラメータを演算する加工機、プラント、組み立てラインなどの生産設備の場合であっても、サービス手段におけるサービスの中身を、問題に対応した最適化演算に変更することで、同様の効果が得られる。
また、これらIP通信はIPのバージョン4による例で説明したが、バージョン6(IPv6)であっても同様に動作し、また、同様の効果がある。
本実施の形態ではIPアドレス、ポート番号は他の動作例とは異なる値を選択している。こうすることにより、他のサービスおよびアプリケーションとなんら無理なく共存することができるのであるが、サービスの内容がほとんど同じ場合には他のIPアドレス、ポート番号と同一のものであってもよい。ただし、似ているが異なるサービスであることを区別するためには送信されるデータパケットのデータフォーマットを予め設計する必要がある。
以上、本実施の形態の制御装置による生産設備の制御方法によると、複数の制御装置を用いて最適化プログラムの一部を実行したので、生産設備の一種である加工機において最適ないし準最適な加工経路による加工を実行できる効果がある。
実施の形態6.
実施の形態6における制御装置は、構成としては上述の図2に示すような生産ラインとほぼ同一である。図2における制御装置の構成では、第1制御装置2Aのサービス手段5Aは、第1生産設備3Aの現在の動作状態を表すデータを他の制御装置2B〜2Dのサービス手段5B〜5Dに対して送出するが、3台の制御装置2B〜2Dにのみ送信することで自分の負荷を押さえている。一方、制御装置2B〜2Dのサービス手段5B〜5Dは受け取った動作状態を表すデータをさらに他の制御装置のサービス手段に中継転送するサービスを具備している。それぞれの自サービス公布手段8A〜8Dは動作状態を送出できる旨、もしくは中継できる旨をネットワーク1内にマルチキャスト送信している。さらに、それぞれの他サービス探知手段7A〜7Dは中継してくれる制御装置を探すし、元データを送出できる制御装置を探す。
かかる動作をするように各制御装置が構成されている場合に、ネットワーク1に制御装置2A〜2Kの計11台が接続されると、これら一群の制御装置2A〜2Kは、それぞれの自サービス公布手段6、他サービス探知手段7により、どの制御装置からデータを受け取って、どこの制御装置に送信することにするのかが、人手作業を介することなく自動的に決定されていく。制御装置2B〜2Kは、自己は中継可能であると自サービス公布手段6でマルチキャスト通信によって送信する。このとき、第1制御装置2Aは中継を実行可能な制御装置として、例えば、制御装置2B〜2Dの3台を選択する。そして自他サービス接続手段8同士が接続を開始する。次に、制御装置2B〜2Dの3台は、それぞれ中継を実行可能な制御装置として例えば、制御装置2E〜2G,制御装置2H〜2Jおよび制御装置2Kを選択する。この際、各制御装置2E〜2Kは中経路の末端にあることを自サービス公布手段6でマルチキャスト通信によって送信する。各制御装置2E〜2Kが末端ではなく中継点になったときには、末端であることの公布は中止される。これで図16に模式的に示すような中経路が完成する。
第1制御装置2Aの稼動状態をモニタリングしたい制御装置はこれら末端の制御装置に接続することでモニタリングを行なう。このあたりの中継点、末端の選択と接続は「早い者勝ち」としている。
上述の「早い者勝ち」の意味について詳細に説明する。モニタリング作業を実行したい制御装置が現れたとき、他サービス探知手段7で「中継の末端である」と公布している制御装置を探知し、複数の「末端」が見つかったとき、どれか一つを選択して接続する。ランダムに制御装置を選択するという方法を行っているので、各制御装置の接続関係は、予め決まった順序にならないし、ネットワーク1内に現れる順番が変わればできあがっていく中経路も毎回同じにはならない。
「早い者勝ち」という情況が生じるのは、例えば中継路の、より始まりに近い所に位置する「末端」に接続したほうがデータの遅延が少ないことが予想されるので、そのようなデータの遅延が少ない上流の、接続可能な「末端」が早い者勝ちで取られていくからである。
つまり、各制御装置の自サービス公布手段6を通して自分が「末端」であって接続可能である、と公布するときに、最上流から数えて何番目であるかをデータとして同時に公布するので、この公布データを受信した他の制御装置の自他サービス接続手段8は、複数の公布データの中から最も最上流に近い、すなわち何番目という値が最も少ないサービス手段5に接続するように構成されているので、早くネットワーク1に現れた制御装置が上流に近い「末端」と接続でき、この結果、上述の如く「早い者勝ち」となる状況が生じる。
本実施の形態の制御装置は、以上のように構成し動作することで、第1生産設備3Aの動作状態をモニタリングしたい制御装置が複数台あった場合に、従来ならその台数分データを送出する必要があるが、本実施の形態の制御装置では制御装置2B〜2Dに送るだけですむので3台分の送出負荷しかかからないので、ネットワーク上の通信量を抑制し、かつデータパケットの到達範囲の制御が容易となる。また、モニタリングしたい制御装置がさらに増加した場合には中継できるサービス手段5を具備する制御装置を単に増やすだけで自動的に中経路が広がり、簡単に対応でき、各制御装置の設定作業が、メンテナンス要員あるいはシステムエンジニアらの人手を煩わすことなく、自動的に実行可能となる効果が得られる。
実施の形態7.
実施の形態7における制御装置では、上述の図2に示すような制御装置の構成において、各サービス手段5における動作内容はソフトウェアで実装される。ソフトウェアであるのでネットワーク1上のデータとして容易に伝送可能となる。このとき、サービス手段5で実行される動作手順を他の制御装置に対し伝送するサービスを、サービス手段5に予め具備させておく。これにより、他のサービス手段5の内容をコピーして同じ動作を行なえる制御装置が得られる。あるいは他の複数の制御装置に対してサービス手段5の中身を配布するよう動作する制御装置が得られる。
この結果、あるサービスを実行するサービス手段5を増やしたいときに簡単にそれを実現する制御装置が得られる効果がある。また、全く新しいサービス手段5の内容であるソフトウェア(プログラム)の配布、バージョンアップしたソフトウェアを配布することで人手作業によるインストール作業に依存しない制御装置が得られる効果がある。
実施の形態8.
実施の形態8における制御装置では、上述の図2に示すような制御装置の構成において、自他サービス接続手段8をHTTP(Hyper Text Transfer Protocol)クライアント、もしくはSOAP(Simple Object Access Protocol) クライアント、もしくはWebDAV(Web-based Distributed Authoring and Versioning) クライアントにより構成する。いわゆる上位情報系がWebアプリケーションサーバに実装される場合が多く、HTTPプロトコルあるいはWebDAVプロトコルのサーバ側として動作するので、制御装置はこのような上位情報系に対し直接データを送信できる。もしくは上位情報系がWebサービスとして実装され始めており、同様に制御装置はこのような上位情報系に対し直接データを送信でき、各制御装置の設定作業が、メンテナンス要員あるいはシステムエンジニアらの人手を煩わすことなく、自動的に実行可能となる効果が得られる。
実施の形態9.
実施の形態9における制御装置は、図17に示すような複数の制御装置により制御されている生産ラインのモニタリングシステム、つまり画像表示装置を具備する。各制御装置のサービス手段5は自己の制御する生産設備3の稼動状態を表すデータを他の制御装置からの要求に応じて送信することができるよう構成されている。送信可能なデータは自サービス公布手段6によりネットワーク1内にIPマルチキャスト送信されるように構成される。要求と送信は自他サービス接続手段8により実装されている。
かかる構成では、第4制御装置2Dにはグラフィックディスプレー(画像表示装置)とマウスに代表されるポインティングデバイスにより構成されたグラフィカルユーザーインターフェースを備える(図示せず)。そして、このグラフィカルユーザーインターフェース上には図18に示すような図形情報が描画され、オペレーターが図形情報をマウスの操作により選択指示を行なうことで描画状態を変化させるよう、サービス手段5にプログラミングされている。図18に示したグラフィカルユーザーインターフェースの左側には、他サービス探知手段7により得られた他の制御装置のネットワーク構成情報を元に、生産ラインのネットワーク構成間略図が描画されている。ここに描かれる四角や丸がそれぞれ一つの制御装置を表している。オペレーターはマウスによりこれらのうちの一つを選択している。この選択により、グラフィカルユーザーインターフェースの右上にその制御装置が送信可能な稼動状態を表すデータの種類がツリー上に表示される。ツリー情報は、その制御装置2のサービス手段5に自他サービス接続手段8を用いて接続して要求することで得られる。例えばXML(eXtended Markup Language)と呼ばれるデータ形式はここで述べているようなツリー構造を表現するのに好適である。そしてツリー上に描かれた図形の中で、例えばZ座標をマウスで選択することで図18の右下部分に実際の値が表示される。データはやはり自他サービス接続手段8を介して得たものである。
さらに、ネットワーク構成図を図19に示すように3次元的に表示することもできる。そしてマウスで制御装置2の一つを選択すると、その制御装置2から送信することのできるデータ名をツリー上に表示する図形が選択している図形から、あたかもにょきにょき生えてきたかのようにアニメーション表示することもできる。かかるモニタリングシステムを具備することにより、各制御装置の設定作業を、メンテナンス要員あるいはシステムエンジニアらの人手をなるべく煩わすことなく、より円滑に実行できる。
実施の形態10.
実施の形態9で選んだ制御装置において、選択したデータの実際の値は、選択している実際の制御装置2からネットワーク1を介して取得するものであることは上述したとおりである。その選択されたデータを取得するためのプログラムコードが存在して、データとして取り出し自在である。そのようなプログラムコードに対して、注目している制御装置2のIPアドレスと取り出したいデータ種類がプログラムコードに対するパラメータとして付与される。このプログラムコードは、自他サービス接続手段8にて利用されるが、プロシージャ、クラス、関数など(プログラミング言語により異なる)として実装されている。各プログラムコードに対しては、これらの引数等としてパラメータがそれぞれ付与される。
本実施の形態では、図20のモニタリングシステム(画像表示装置)に示したように、注目する制御装置および欲しいデータを、これまでの動作例と同様の操作でマウスで選択した場合に、各種プログラミング言語による引数を含んだプログラムのソースコードを自動生成し、画面上に表示するか、ファイルに保存するよう構成されている。これによりモニタリングシステムを記述する際にプログラミングの補助に有効な効果がある。モニタリングシステムのプログラマーは表示されたコードを自分のプログラムにカット&ペーストすればよい。かかるモニタリングシステムを具備することにより、各制御装置の設定作業を、メンテナンス要員あるいはシステムエンジニアらの人手をなるべく煩わすことなく、より円滑に実行できる。
実施の形態11.
本実施の形態では、各制御装置は図2に示すがごとく構成される。すなわち生産設備Aを制御するために設けられた第1制御装置2A、生産設備Bを制御するために設けられた第2制御装置2B、その他の制御装置、第3制御装置2C、第4制御装置2Dがネットワーク1を介してデータを交換するようにしてある。各制御装置2は、それぞれ自サービス公布手段6、他サービス探知手段7、自他サービス接続手段8、ネットワーク接続手段9を備えている。それぞれの制御装置の自サービス公布手段6は図3に示すように、IPマルチキャスト通信の方法に従ってパケットを送信することを一定時間毎に繰り返し行なう(ST301およびST302)。ここでは、IPアドレスは234.5.6.7とし、ポート番号5670、送信間隔は15秒毎としているが、これらの値はシステム全体であらかじめ定めておけば別の値でも差し支えない。送信間隔は実施の形態1において述べたように可変にしても良い。これと同時に各制御装置2の他サービス探知手段は図4に示した動作を行ない、上述のマルチキャストパケットを受信し(ST401)、それを送信した制御装置のIPアドレスおよび送信されてきた内容をディレクトリ領域に記憶する(ST402)。これらの受信動作は繰り返し行なわれる。
ここで送信されてくる内容について説明する。本実施の形態は、ファイルの格納領域をお互いに供出しあうことを実現するためのものであるので、この目的のための情報を送信内容に含めることにしている。
送信内容の第1の例としてはある制御装置2が、他の制御装置2に対して供出可能なファイル格納領域の大きさを送信内容に含めることであり、格納可能なバイト数を用いることにしている。後述するが、この格納可能なバイト数がわかると、ある制御装置が今から他の制御装置に格納したいファイルのサイズと、他の制御装置がそれぞれ公布している内容、すなわち格納可能なサイズとを比較し、自分のファイルをどの制御装置に送れば格納可能かを判断できるようになる。あるいは、各制御装置が公布しているシステム全体としてまんべんなく均等にファイルの分散を行なうことができるか、などの計画をすることができるようになる。
内容の第2の例としては、送信している制御装置の地理的な位置をその内容に含めることである。これにより各制御装置は、他の制御装置の公布する地理的位置と自分の地理的位置からそれぞれの間の地理的な距離を計算し、自分の近くにある制御装置、遠くにある制御装置を把握することが可能となる。この演算の後、例えば他の制御装置群の中から最も近い位置にある制御装置と最も遠くに位置する制御装置を選んで、送りたいファイルを送信するように動作する。これはデータのバックアップを作るという観点から理にかなっている。つまり、バックアップを取り出して使いたい場面が訪れたときに通信路が不達となるリスクの少ない近所のバックアップデータを利用するという考え方、および天災、火事の被害などを同時に受けるリスクの少ない地理的に離れた場所存在するバックアップデータを利用するという考え方の2つを実現しているのである。
図21および図22は本実施の形態の一連の動作を表す説明図(フローチャート)である。図に示すとおり一連の動作は複数のスレッド(もしくはプロセスあるいはタスク)から構成されている。まず、常駐させるスレッドが起動される(ST2101)。以下、起動されるスレッドをそれぞれ説明する。ここで起動されるスレッドはST2102、ST2107、ST2111、ST2133の4つである。
(1)スレッドST2102
ST2101により、ST2102スレッドが起動される。ST2102スレッドは、他の制御装置が公布する内容を受信するスレッドの開始点である。ST2103にてIPマルチキャストパケットの受信待ちをする。IPアドレスは234.5.6.7というIPv4のマルチキャストIPアドレスで、ポート番号は5670である。マルチキャストパケットが他の制御装置から送信されてくると(ST2104)、ST2105にて受信内容を取り出し、ST2106の記憶領域Aに受信内容を格納する。受信内容とは前述したように例えば他の制御装置それぞれが格納可能なファイル容量であったり、地理的な位置であったりする。
(2)スレッドST2107
さらにST2101により起動されるスレッドST2107について説明する。ST2108においてIPマルチキャストパケットを送信する。このIPマルチキャストパケットは他の制御装置のST2103において受信されるのである(ST2109)。送信後はST2110において15秒間の時間待ちをした後、再びST2108に戻る。
(3)スレッドST2111
ST2101により、さらにST2111が起動される。ST2111はFTPサーバのスレッドである。ST2112にてFTPサーバであり、他の制御装置の備えるFTPクライアント(ST2117およびST2131:後述)からの接続に備える。接続があった場合には、その要求にしたがってファイルを受け取ってファイル領域ST2113に格納したり、ファイル領域ST2113に格納されているファイルのファイル名の一覧を送り返したり、要求されたファイルそのものを送り返したりといった動作を行なうのであるが、FTP動作の詳細については例えばIETF(Internet Engineering TaskForce)のRFC959、RFC1579等の文献に示された内容の手順にしたがって動作を実行するものである。
さらに、スレッドST2133が起動されるのであるが、他のスレッドST2120の説明後のほうがST2133の動きを理解しやすいので、詳細については後述する。
以上の手順、ST2102、ST2107、ST2111、ST2133の起動により、全体の動作としてはとりあえず安定した状態に入る。この次の段階としては、ある制御装置が自分のデータファイルを他の制御装置に送ろうとする時、および他の制御装置がST2113に格納しているファイルを取り出して自分のST2113に格納しようとするときにスレッドが起動される段階である。以下、これら2つのスレッドついて説明する。
(4)スレッドST2114
まず、ある制御装置が自分のデータファイルを他の制御装置に送ろうとする時に起動されるスレッドST2114について説明する。起動直後のST2115にて、記憶領域A(ST2106)から各制御装置の公布内容を取り出す。次に、ST2116にて制御装置のIPアドレスを一つ、もしくは複数選択する。続いて、ST2117にてFTPクライアントを用いて、送信したいデータファイルを選択した制御装置に送信する。ST2118にて複数選択した場合にはST2117を繰り返す判定を行ない、全て繰り返した場合にはST2119にて本スレッドは終了する。
(5)スレッドST2120
続いて、他の制御装置がST2113に格納しているファイルを取り出して自分のST2113に格納しようとするときに起動されるスレッドST2120について説明する。まず、ST2121にてユニキャストパケットを受信待ちするための準備が行なわれる。ソフトウェア的にはTCP/IPのソケットを用意し(socket()システムコール)、パケット待ちポート番号を割り当てて(bind()システムコール)、実際にパケット到着を待ち始める(listen()システムコール)、などといった処理が行なわれる。この準備が済んだときにST2122スレッドが起動され、ST2123でIPマルチキャストパケットが他の制御装置に向けて送信される(ST2124)。送信後は、このスレッドは終了する(ST2125)。
一方ST2126にて、IPユニキャストパケットの受信待ちに入っているのであるが、他の制御装置からパケットが送信されると(ST2127:ST2127は他の制御装置のST2138と接続される)、ST2128にて送信された内容を記憶領域Bに記憶する(ST2129)。本実施の形態においてはST2128にて受信したパケットから、それを送信した制御装置のIPアドレスを抽出して記憶するようにしているが、その他の実施例としては保持しているファイル名のファイルサイズ、各種日付(最初のファイル作成日時、ファイルの最終更新日時、写真撮影日時などファイルの内容に関する日時など)、ファイルの内容のチェックサム、制御装置の地理的な位置、ファイル作成者情報、ファイルの来歴(どの制御装置からいつ受信したか、どの制御装置にいつ送出したか)をやり取りすることもできる。その後、再びST2126にて受信待ちに入る。
さて、ST2126にて、受信開始から10秒間受信待ちを行なうが、その後、いずれかの制御装置が送信してきたか否かにかかわらず、10秒後にはST2130に進む。ST2130では記憶領域B(ST2129)に記憶された制御装置から任意の一つを選択することにしている。このとき上述の他の実施例によれば、任意の一つを選ぶのでなく、何らかの意図を持って選択をすることができる効果がある。例えば最も新しい日付をもつもの、チェックサムが正しいものを多数決で選ぶ、地理的に最も近くにあるもの、最も遠くにあるもの、作成者から見て正しそうなもの、等の意図をもって選択できるようになるのである。もちろん、記憶領域B(ST2129)に何も格納されていない場合は、どの制御装置も指定したファイルを持っていなかったのであるから、本スレッドはそこで終了する(図示せず)。ST2130で一つ制御装置を選んだのち、ST2131に移行する。ST2131はFTPクライアントである。一つ選んだ制御装置のFTPサーバ(ST2112)と通信して目的のファイルを自己のファイル領域(ST2113)にコピーする動作を行なう。以上で本スレッドの動作は完了しST2132で終了する。
(6)ST2133スレッド
最後に、説明を保留してきたスレッドST2133の動作について説明する。このスレッドST2133は初期動作として起動される4スレッド(ST2102、ST2107、ST2111、ST2133)のうちの一つである。スレッドST2114やST2120、ST2122が起動される頃にはすでに動作を開始しているものである。ST2134ではIPマルチキャストパケットの受信動作待ちをしている。ここに、先に説明したスレッドST2122において、他の制御装置に送られるIPマルチキャストパケットST2124が受信される。すなわち、指定されたファイルがあるかどうかを探索する目的のパケットである。パケットが受信されたらファイル領域ST2113に対して、パケットに含まれるファイル名のデータ・ファイルが存在するかどうかをファイルサーチする(ST2136)。例えばマイクロソフト社のWin32 APIではFindFirstFile()というOSへのシステムコールを発行することで実装できる。ファイルが見つからなければST2134に戻る(図示せず)が、ファイルが見つかった場合にはIPユニキャスト通信を行なって、先のST2135のパケットを送信してきた制御装置にその結果を送信する(ST2138)。ST2138が接続される先は他の制御装置のST2127である。その後ST2134に戻る。以上がスレッドST2133の動作である。本スレッドの目的は、他の制御装置上のスレッドST2120に対してファイルが存在するかどうかの問い合わせの返事を行なうことにある。
以上ですべての動作を説明したが、すべての制御装置は、図21および図22に示す一連の動作が可能である。すなわち同一構造のソフトウェアを搭載している。同一構造の通信上のクライアントとサーバを対向させることで、システム全体として、目的に沿った動作を行なっているのである。
本実施の形態によれば、各制御装置の動作上必要な初期設定の内容、もしくは動作結果として収集蓄積されたロギングファイルを、お互いのファイル記憶領域を共用して保存保持するシステムが実現するので、パソコンサーバなど新たに特別なファイル記憶領域を設けることなく、データファイルを保存・保持できる効果がある。
実施の形態12.
制御装置は電源が投入されると、いわゆるファームウェアが起動し、ハードウェアチェック(無いこともある)したのち、OSが起動して、TCP/IP通信上のパラメータ(IPアドレス、ネットマスク、ゲートウェイIPアドレス、DNSサーバIPアドレス、時刻サーバIPアドレス、メールサーバIPアドレスなど)がOSの通信プロトコルスタックに対して設定され、その後、計測制御のためのアプリケーションプログラムが各種設定パラメータを読み込みつつ、起動される。このときの通信上のパラメータおよびアプリケーションプログラムのパラメータは不揮発性のメモリかファイルシステムに記憶されているもので、通常は制御装置の据付調整時に作業者が設計に従って決定後、制御装置の設定画面に打ち込んだり、パラメータファイルとして制御装置にコピーするのである。これに対し、本実施の形態においては、制御装置の起動時に、通信上のパラメータ、アプリケーションのパラメータを自動設定することにしている。
まず通信上のパラメータであるが、ネットワーク内にDHCPサーバ(Dynamic Host Configration Protocol Server)が存在するときには、通信プロトコルスタックの初期化時に問い合わせパケットをネットワークに向けて送出、DHCPサーバが返答してきたパケットから通信パラメータを取り出して、自分の通信上のパラメータとして利用する。これはIETFのRFC2131示された手順による。また、DNS解決のため、自己の「ホスト名」と呼ばれるパラメータをダイナミックDNSと呼ばれる手順によりDNSサーバに自己のIPアドレスと組み合わせて登録する(RFC2136)。なおこのDNS登録についてはDHCPサーバがIPアドレスを割り当ててくれたときにDNSサーバにも同時に登録してくれることもある。DHCPサーバが無い場合には例えばIETFのRFC2462に示されたAutoIPの手順により、IPアドレスを自動決定する。
さらにアプリケーションが動作を開始する際にも各種パラメータの事前設定が必要となる。その一つはIPマルチキャストIPアドレス、ポート番号である。これについてどのような値をネットワーク・システム内で利用するかについて、アプリケーション起動前に、各制御装置が合議制で決めてからアプリケーションを起動すればよい。すなわち、OSが起動し、アプリケーション起動の準備が整った段階で、あるサービスに関するマルチキャストIPアドレスはいくつかを問い合わせるブロードキャストあるいはマルチキャストパケットを送信する。これに対して返事があった場合にはその値を利用する。所定時間内にどの制御装置も返事を返してこない場合には自己決定してアプリケーションを起動し、同時に前記問い合わせに対して今決めた値を返答するサーバ動作を開始する。
さらに、本実施の形態では、システム上の機能分担も合議制で決定する。例えば、システムの監視データを蓄積するサーバをどの制御装置にするかを決定する際に、いずれかの制御装置から、「合議の実施要求」パケットが送信される。受信した各制御装置は合議に参加するモードに移行し、自己のファイル容量を「公約」としてパケット送信する。各制御装置は「公約」パケットを受信し、最も容量の大きなファイルを有する制御装置を「認許」したパケットを送信し、合議は終了する。以降蓄積サーバとして、各制御装置は認許された制御装置にデータを送信することになる。「合議」の後から起動された制御装置は、蓄積サーバの有無を問い合わせるパケットを送出し、蓄積サーバがこれに答えて、それ以降後から起動された制御装置は蓄積サーバにデータを送信するようになる。あるいは「合議の実施要求」パケットを送信してもよい。
以上述べてきたように本実施の形態によれば、IPアドレスをはじめ各種通信上のパラメータ、アプリケーションのパラメータをあらかじめ決定しておかなくても自動決定できる制御装置が得られる効果があり、さらに、制御装置を追加する際にも通信パラメータの再設定が必要でなくなる効果がある。
実施の形態1の生産設備用制御装置の構成図である。 実施の形態1、2、7および8の生産設備用制御装置の構成図である。 実施の形態1の生産設備用制御装置の動作を示すフローチャートである。 実施の形態1の生産設備用制御装置の動作を示すフローチャートである。 実施の形態1の生産設備用制御装置の動作を示すフローチャートである。 実施の形態1の生産設備用制御装置の動作を示すフローチャートである。 実施の形態1の生産設備用制御装置の動作を示すフローチャートである。 実施の形態1の生産設備用制御装置の動作を示すフローチャートである。 実施の形態3の生産設備用制御装置の構成図である。 実施の形態4の生産設備用制御装置の構成図である。 実施の形態5の生産設備用制御装置の構成図である。 生産設備(加工機)における加工経路を示す模式図である。 加工経路の総延長距離と繰り返し演算の回数を示す図である。 実施の形態5の生産設備用制御装置の動作を示すフローチャートである。 実施の形態5の生産設備用制御装置の動作を示すフローチャートである。 実施の形態6の生産設備用制御装置の構成図である。 実施の形態9の生産設備用制御装置の構成図である。 実施の形態9の生産設備用制御装置における画像表示装置上の画像の模式図である。 実施の形態9の生産設備用制御装置における画像表示装置上の画像の模式図である。 実施の形態10の生産設備用制御装置における画像表示装置上の画像の模式図である。 実施の形態11の生産設備用制御装置の一連の動作を示すフローチャートである。 実施の形態11の生産設備用制御装置の一連の動作を示すフローチャートである。
符号の説明
1 ネットワーク、 2,2A〜2K 生産設備用制御装置、 3,3A〜3D 生産設備、 4 生産設備制御手段、 5,5A〜5D サービス手段、 6、6A〜6D 自サービス公布手段、 7、7A〜7D 他サービス探知手段、 8、8A〜8D 自他サービス接続手段、 9、9A〜9D、9B1,9B2 ネットワーク接続手段、 10 広域ネットワーク。

Claims (15)

  1. ネットワークを介して生産設備を制御すべく設けられ、CPUおよび記憶装置を有する生産設備用制御装置であって、
    前記ネットワークに接続すべく設けられたネットワーク接続手段と、
    他の生産設備用制御装置から前記ネットワークを介して送信され前記ネットワーク接続手段を経由して取得されたデータおよび/または直結された前記生産設備から取得されたデータに基づき前記CPUが前記記憶装置に格納された所定の処理プログラムを実行するサービス手段と、
    前記CPUが、前記ネットワーク接続手段を経由して前記ネットワークを介して前記記憶装置に格納された少なくとも自己のIPアドレスおよびポート番号、自己の固有識別番号、自己の固有識別名のいずれか一つ以上を前記他の生産設備用制御装置に対してマルチキャスト通信により一定周期もしくは可変周期で送信する自サービス公布手段と、
    前記CPUが、前記ネットワーク接続手段を経由して前記ネットワークを介して前記他の生産設備用制御装置に対してユニキャスト通信によりデータの入出力を行う自他サービス接続手段と、
    前記CPUが、前記ネットワーク接続手段を経由して前記ネットワークを介して前記他の生産設備用制御装置に対して前記マルチキャスト通信により送信されたデータを検索する他サービス探知手段と、を備えことを特徴とする生産設備用制御装置。
  2. 前記生産設備に対してデータを入出力すべく設けられ、前記データの入出力を実行するプログラムおよびハードウェアを具備した生産設備制御手段を備えたことを特徴とする請求項1記載の生産設備用制御装置。
  3. 前記生産設備制御手段が、少なくとも前記IPアドレス、前記固有識別番号、前記固有識別名、前記ポート番号のいずれかのデータを保持する記憶領域を有し、前記データは前記一定周期毎もしくは可変周期毎に送信されたデータによって更新され、一定経過時間以上前記データが送信されない場合は前記記憶領域の前記データが削除されることを特徴とする請求項2記載の生産設備用制御装置。
  4. 前記サービス手段内のプログラム毎に固有の前記IPアドレスと前記ポート番号が付与されていることを特徴とする請求項1または2記載の生産設備用制御装置。
  5. 前記ネットワークが、相互に直接接続されていない複数のネットワークで構成されている場合に、前記複数のネットワークを相互に結合させる複数のネットワーク接続手段を具備し、双方のネットワーク間で行なわれるべきデータ通信の中継および中継拒否をすることを特徴とする請求項1または2記載の生産設備用制御装置。
  6. 前記生産設備が加工機であり、前記サービス手段が最適な加工パラメータあるいは加工経路あるいは加工手順を算出するプログラムを有し、前記ネットワークを介して前記複数の生産設備用制御装置間で前記プログラムを並列に処理する機能を具備することを特徴とする請求項1または2記載の生産設備用制御装置。
  7. 複数の生産設備用制御装置が、前記ネットワーク接続手段を介して前記ネットワークに接続されている場合に、前記自サービス公布手段によって自己の前記IPアドレス、固有識別番号、固有識別名、前記ポート番号のいずれか1つ以上および生産設備用制御装置間の接続順序を表すデータを他の生産設備用制御装置にマルチキャスト送信あるいはユニキャスト送信することによって、生産設備用制御装置間の接続形態を順次決定する機能を具備することを特徴とする請求項1または2記載の生産設備用制御装置。
  8. 複数の生産設備用制御装置における前記各サービス手段内で自己のサービス手段が有していないプログラムがある場合に、必要に応じて前記プログラムを有する他の生産設備用制御装置から前記ネットワークを介して送信することによって前記プログラムを前記自己のサービス手段内にコピーする機能を具備することを特徴とする請求項1または2記載の生産設備用制御装置。
  9. 前記サービス手段の内容を表示する画像表示装置を備えたことを特徴とする請求項1または2記載の生産設備用制御装置。
  10. 前記画像表示装置が、画像上に表示された複数の生産設備用制御装置のうち1台を選択した場合に、前記選択された生産設備用制御装置に関するデータがさらに表示される機能を具備することを特徴とする請求項9記載の生産設備用制御装置。
  11. 前記画像表示装置が、前記各生産設備用制御装置と前記ネットワークによって構成されたネットワーク接続図を画像上に表示し、前記各生産設備用制御装置に関するデータをツリー構造として固定的あるいはアニメーション的に表示し、前記データを取得するためのコンピュータプログラムコードを併せて表示することを特徴とする請求項10記載の生産設備用制御装置。
  12. 前記自他サービス接続手段が、HTTP(Hyper Text Transfer Protocol)クライアント、もしくはSOAP(Simple Object Access Protocol)クライアント、もしくはWebDAV(Web-based Distributed Authoring and Versioning) クライアント、もしくはFTP(File Transfer Protocol) クライアント、もしくはSMTP(Simple Mail Transfer Protocol)、
    もしくはXML(eXtensible Markup Language)プロトコルクライアント、もしくはIMAP(Internet Mail Access)クライアント、もしくはPOP(Post Office Protocol)クライアント、DCOM(登録商標:Distributed Component Object Model)クライアント、CORBA(登録商標:Common Object Request Broker Architecture)クライアント、で構成されていることを特徴とする請求項1または2記載の生産設備用制御装置。
  13. ネットワークを介して生産設備を制御すべく設けられ、CPUおよび記憶装置を有する複数の生産設備用制御装置による生産設備の制御方法であって、
    ネットワーク接続手段によって前記ネットワークと前記生産設備用制御装置を接続するステップと、
    前記他の生産設備用制御装置から前記ネットワークを介して送信され前記ネットワーク接続手段を経由して前記生産設備用制御装置に取り込まれたデータおよび/または直結された前記生産設備から取得されたデータに基づき前記CPUが前記記憶装置内に格納された所定の処理プログラムを実行するステップと、
    前記CPUが、前記ネットワーク接続手段を経由して前記ネットワークを介して一定周期で、前記記憶装置に格納された少なくとも自己のIPアドレス、ポート番号、固有識別番号、固有識別名のいずれか1つ以上を前記他の生産設備用制御装置に対してマルチキャスト通信により送信する自サービス公布ステップと、
    前記CPUが、前記ネットワーク接続手段を経由して前記ネットワークを介して前記他の生産設備用制御装置に対してユニキャスト通信によりデータの入出力を行う自他サービス接続ステップと、
    前記CPUが、前記ネットワーク接続手段を経由して前記ネットワークを介して前記他の生産設備用制御装置に対して前記マルチキャスト通信により送信されたデータを検索する他サービス探知ステップと、を含んでなことを特徴とする生産設備用制御装置による生産設備の制御方法。
  14. 前記各生産設備用制御装置のサービス手段の一部に前記ネットワークを介して共用するファイル記憶領域が設けられていることを特徴とする請求項1または2記載の生産設備用制御装置。
  15. 請求項1または2記載の生産設備制御装置がネットワークを介して複数台接続されたことを特徴とする生産設備制御システム。
JP2003370105A 2002-11-06 2003-10-30 生産設備用制御装置、生産設備制御システムおよび生産設備用制御装置による生産設備の制御方法 Expired - Fee Related JP4479220B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003370105A JP4479220B2 (ja) 2002-11-06 2003-10-30 生産設備用制御装置、生産設備制御システムおよび生産設備用制御装置による生産設備の制御方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002322382 2002-11-06
JP2003370105A JP4479220B2 (ja) 2002-11-06 2003-10-30 生産設備用制御装置、生産設備制御システムおよび生産設備用制御装置による生産設備の制御方法

Publications (2)

Publication Number Publication Date
JP2004171540A JP2004171540A (ja) 2004-06-17
JP4479220B2 true JP4479220B2 (ja) 2010-06-09

Family

ID=32715981

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003370105A Expired - Fee Related JP4479220B2 (ja) 2002-11-06 2003-10-30 生産設備用制御装置、生産設備制御システムおよび生産設備用制御装置による生産設備の制御方法

Country Status (1)

Country Link
JP (1) JP4479220B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4271160B2 (ja) * 2005-03-23 2009-06-03 ファナック株式会社 生産システムにおけるネットワーク開通方法
JP4302084B2 (ja) * 2005-07-29 2009-07-22 ファナック株式会社 ロボットレーザ加工システム
CN100427296C (zh) * 2005-09-23 2008-10-22 清华大学 聚合物光子晶体光纤拉丝塔控制系统及其控制方法
JP4565658B2 (ja) * 2006-05-17 2010-10-20 日本電信電話株式会社 コンサルティング支援システムおよび方法
CN102267284B (zh) * 2010-06-03 2015-06-03 上海海泰克系统工程有限公司 圆网印花机的控制系统
KR101697299B1 (ko) * 2015-10-19 2017-01-17 박인철 무선랜 기반의 usb 장치 데이터 전송 방법 및 장치
DE112018007559T5 (de) 2018-06-21 2021-02-25 Mitsubishi Electric Corporation Datenverarbeitungsgerät, Datenverarbeitungssystem, Datenverarbeitungsverfahren und Programm
CN118011977A (zh) * 2024-02-02 2024-05-10 广州宇格水淼科技有限公司 一种智慧工厂的自适应调节方法、系统、设备及存储介质

Also Published As

Publication number Publication date
JP2004171540A (ja) 2004-06-17

Similar Documents

Publication Publication Date Title
EP1959635B1 (en) Relay server and relay communication system
JP4416035B2 (ja) 中継サーバ及び中継通信システム
CN101202709A (zh) 中继服务器以及中继通信系统
JP2007142903A (ja) 経路生成システム、経路生成方法、経路管理サーバ、中継装置、端末装置および制御プログラム
JP2001320393A (ja) 集線装置およびこれを用いたネットワーク管理装置
JP4479220B2 (ja) 生産設備用制御装置、生産設備制御システムおよび生産設備用制御装置による生産設備の制御方法
JP2007109228A (ja) センサネットワーク中の近隣センサ間における自律的相互作用の為のシステム及び方法
JP7310495B2 (ja) 制御システム、情報処理装置およびプログラム
US20140169373A1 (en) Relay server and relay communication system
WO2024183449A1 (zh) 楼宇协议数据处理方法、装置及系统
WO2010109767A1 (ja) データ同期システム、データ同期方法、及び同期管理サーバ
KR101513393B1 (ko) 프로그램 작성 장치 및 프로그래머블 로직 컨트롤러
JP2004306200A (ja) ロボット制御システム
JP2005006294A (ja) 仮想ネットワーク制御システム及び方法、ネットワーク端末装置並びにプログラム
JP2008301159A (ja) ネットワーク間仲介装置
JP2007213479A (ja) チャットシステム
JP5282625B2 (ja) 中継装置およびクライアントサーバシステムの制御方法
JP4215072B2 (ja) 通信システム
JP4416592B2 (ja) 監視制御システムおよび監視制御データ入出力プログラム
JP3771744B2 (ja) グループ作業におけるコンピュータ内に蓄積された共有情報の共同編集方法,およびグループ作業におけるコンピュータ内に蓄積された共有情報の共同編集のためのプログラム記録媒体
JP6899741B2 (ja) 電力線通信システム、端末装置、プログラムおよび電力線通信システムのメンテナンス方法
JP2000029847A (ja) エージェントシステム、情報処理方法及び情報処理用ソフトウェアを記録した記録媒体
JP4596153B2 (ja) プログラマブルコントローラおよびコントローラシステムならびに変数解決方法
JP3321359B2 (ja) 加工制御システム
CN118659971A (zh) 数字设备的数据配置方法和装置,存储介质和电子设备

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040712

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051021

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080820

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080909

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090617

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

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

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

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140326

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees