JP2001014018A - ファクトリーオートメーションシステムの制御方法、そのプログラムを記録した記録媒体、並びにその中央処理装置。 - Google Patents

ファクトリーオートメーションシステムの制御方法、そのプログラムを記録した記録媒体、並びにその中央処理装置。

Info

Publication number
JP2001014018A
JP2001014018A JP11185414A JP18541499A JP2001014018A JP 2001014018 A JP2001014018 A JP 2001014018A JP 11185414 A JP11185414 A JP 11185414A JP 18541499 A JP18541499 A JP 18541499A JP 2001014018 A JP2001014018 A JP 2001014018A
Authority
JP
Japan
Prior art keywords
control
interface means
executed
control device
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP11185414A
Other languages
English (en)
Other versions
JP3651573B2 (ja
Inventor
Masayuki Ueno
雅之 上野
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 JP18541499A priority Critical patent/JP3651573B2/ja
Priority to US09/457,690 priority patent/US6668205B1/en
Publication of JP2001014018A publication Critical patent/JP2001014018A/ja
Application granted granted Critical
Publication of JP3651573B2 publication Critical patent/JP3651573B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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], computer integrated manufacturing [CIM]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31226Multitasking server connected to general network and to nc machines
    • 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)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • General Factory Administration (AREA)
  • Numerical Control (AREA)

Abstract

(57)【要約】 【課題】 通信待ちを抑制し、制御を高速に
実行すること 【解決手段】 複数の制御装置それぞれに対し
て、並列に命令を発行し、上記複数の制御装置1〜4を
制御するアプリケーション13と、このアプリケーショ
ン13と上記複数の制御装置1〜4とを接続する複数の
インタフェース手段30a、bと、上記制御手段が上記
複数の制御装置に対し並列に発行する命令数に応じて、
上記複数のインターフェース手段30a、bの数を動的
に増減させるインタフェースコントロール手段35cと
を備えたものである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、ファクトリーオ
ートメーションシステム(以下FAシステムと呼ぶ)に関
するものであり、例えば、プログラマブル・コントロー
ラ(以下PCと呼ぶ)、数値制御装置(以下NCと呼ぶ)、サ
ーボコントローラ(以下SCと呼ぶ)、及びロボットコン
トローラ(以下RCと呼ぶ)等の制御装置を制御するパー
ソナルコンピュータ(以下パソコンと呼ぶ)等の中央制
御装置、その制御方法、並びにそのプログラムを記録し
た記録媒体に関するものである。
【0002】
【従来の技術】近年、データ処理及びマンマシン・イン
ターフェースの充実からプログラムロジックコントロー
ラ(以下、PLCという)システム、NCシステム、SCシステ
ム、及びRCシステム(各システムの組合せも含む)にパ
ソコン(モジュールタイプのものを含む)を接続して使
用する機会が急増している。これらを結び付けたシステ
ムとしては、例えばシステムのモニタリングや入出力イ
ンターフェース(表示器など)として使用するシステム
がある。
【0003】従来、この様なアプリケーションプログラ
ムを開発する場合、PLC、NC、SC、RCの各々のシステム
にあらかじめ提供されたライブラリを用いて開発を行
う。
【0004】図12は、特開平09-050312号公報に記載
されたFAシステムの機能ブロック図である。図12にお
いて、103はコントローラに制御されるPLC、111
はコントローラ側にあってPLC103と通信するためのP
LC通信ボード、113、116、及び118は、コント
ローラの処理に使用されるメモリであり、113aは、
PLC103とデータの送受信を行うユーザプログラムで
ある。次に、このFAシステムにおけるデータの送受信を
説明する。まずユーザプログラム113aが要求データ
エリア116aに送信要求を書き込む。続いて、送受信
機能118aが、要求データエリア116aに書き込ま
れた送信要求を読み込んで、送信要求に記載されたチャ
ネル番号に基づき通信先を決定し、例えば、PLC通信機
能118e及びPLC通信ボード111を介して、PLC10
3に送信要求を出す。PLC103は送信要求に応じて、
必要なデータを返し、送受信機能118aがそのデータ
をPLC通信機能118e及びPLC通信ボード111を介し
て受け取る。そして、送受信機能118aが受信したデ
ータを応答データエリア116bに書き込み、ユーザプ
ログラム113aが応答データエリア116bからデー
タを読み取る。
【0005】
【発明が解決しようとする課題】従来のアクセス方式は
以上のように構成されているので次のような問題点があ
った。従来のFAシステムにおいては、データの送受信を
可能とするためにチャンネル番号を用いており、このチ
ャンネル番号により送受信先を切り換えるために1つの
送受信機能を備えている。すなわち、1つの送受信機能
118aがユーザプログラム113aの送受信全てを管
理している。そして、この送受信機能118aに送られ
る命令は、シーケンシャルに処理されるため、時間のか
かる命令と高速に処理できる命令が混在した場合に、本
来高速に処理できる命令が時間のかかる命令の終了を待
たなければならず、処理スピードが上がらないという問
題があった。
【0006】この発明は、かかる問題を解決するために
なされたものであり、複数の命令を効率よく実行するこ
とができるFAシステムの制御方法、そのプログラムを記
録した記録媒体、並びに中央制御装置を得ることを目的
としている。
【0007】
【課題を解決するための手段】この発明にかかるファク
トリーオートメーションシステムの制御方法において
は、複数の制御装置を用いたファクトリーオートメーシ
ョンシステムを制御する中央制御装置が上記複数の制御
装置のうちの第1の制御装置及び第2の制御装置を制御
するファクトリーオートメーションシステムの制御方法
であって、既存のインタフェース手段に加えて新たなイ
ンタフェース手段を生成することにより、複数のインタ
フェース手段を起動する生成ステップと、上記中央制御
装置に設けられ上記複数の制御装置の制御手順を有する
制御手段が、上記第1の制御装置を制御する第1の命令
を上記複数のインタフェース手段のうちのいずれか一方
のインタフェース手段へ送信する第1の送信ステップ
と、上記複数のインタフェース手段のうち上記第1の命
令が送信されなかった他方のインタフェース手段に、上
記制御手段が上記第2の制御装置を制御する第2の命令
を送信する第2の送信ステップと、上記第1及び第2の
送信ステップの後に実行され、上記一方のインタフェー
ス手段が上記第1の命令を実行し、この実行と並列に、
上記他方のインタフェース手段が上記第2の命令を実行
する並列実行ステップと、この並列実行ステップの後に
実行され、上記第1の命令に対する処理結果を上記一方
のインタフェース手段が上記制御手段へ送信する第3の
送信ステップと、上記並列実行ステップの後に実行さ
れ、上記第2の命令に対する処理結果を上記他方のイン
タフェース手段が上記制御手段へ送信する第4の送信ス
テップと、この第4の送信ステップの後に実行され、上
記他方のインタフェース手段が占有していたリソースを
開放し、上記他方のインタフェース手段を終了させる終
了ステップと、を備えたものである。
【0008】また、上記終了ステップの後に実行され、
上記制御手段が上記第3の送信ステップで送信された処
理結果を受信し、受信した処理結果を処理するステップ
と、を備えたものである。
【0009】この発明のプログラムを記録した記録媒体
においては、アプリケーションプログラムからライブラ
リに対し、制御装置の制御が要求され、上記ライブラリ
に予め備えられた制御処理が呼び出された場合に、上記
ライブラリが新たにスレッドを生成することにより、上
記ライブラリに対して複数のスレッドを割り当てる生成
ステップと、上記ライブラリが上記制御装置の処理に対
応する上記制御装置からの処理結果を受け取る前に、上
記ライブラリが上記複数のスレッドのうちの一方のスレ
ッドを用いて上記アプリケーションプログラムへ実行権
を返すリターンステップと、このリターンステップによ
り実行を再開したアプリケーションプログラムと並列
に、上記ライブラリが上記複数のスレッドのうちの他方
のスレッドを用いて上記制御装置の処理を実行し、上記
制御装置を制御する第1の制御ステップと、上記リター
ンステップの後に実行され、上記制御装置の処理結果を
上記他方のスレッドを用いて実行されていたライブラリ
から上記一方のスレッドを用いて実行されていた上記ア
プリケーションプログラムへ送信するステップと、をコ
ンピュータに実行させるものである。
【0010】また、上記リターンステップの後に実行さ
れ、上記一方のスレッドを用いて、上記アプリケーショ
ンプログラムが上記ライブラリに対して他の制御装置の
制御を要求する要求ステップと、上記ライブラリが上記
要求ステップの要求を受けて、上記他の制御装置の制御
を上記第1の制御ステップと並列に実行する第2の制御
ステップと、上記送信ステップの後に実行され、上記他
のスレッドを用いて実行されていた上記ライブラリが上
記他方のスレッドを終了させる終了ステップと、をコン
ピュータに実行させるものである。
【0011】また、発明にかかるファクトリーオートメ
ーションシステムの中央処理装置においては、複数の制
御装置それぞれに対して、並列に命令を発行し、上記複
数の制御装置を制御する制御手段と、この制御手段と上
記複数の制御装置とを接続する複数のインタフェース手
段と、上記制御手段が上記複数の制御装置に対し並列に
発行する命令数に応じて、上記複数のインターフェース
手段の数を動的に増減させるインタフェースコントロー
ル手段と、を備えたものである。
【0012】また、上記インタフェースコントロール手
段は、上記制御手段が上記インタフェース手段に命令を
送ったことを検知して上記インタフェース手段を増加さ
せるものである。
【0013】また、上記インタフェースコントロール手
段は、命令の種類に応じて上記インタフェース手段を増
加させるとともに、上記インタフェース手段を増加させ
る命令よりも処理時間の短い種類の命令に対しては、上
記インタフェース手段を増加させず既存のインタフェー
ス手段に上記処理時間の短い種類の命令を実行させるも
のである。
【0014】
【発明の実施の形態】実施の形態1.図1は、この実施
の形態のFAシステムのハードウェアを示す機能ブロック
図である。図1において、1〜4はそれぞれ制御装置を
示しており、1はPCシステム、2はNCシステム、3はSC
システム、4はRCシステムである。20は制御装置1〜
4を制御する中央制御装置であり、例えば、一般に普及
しているパーソナルコンピュータ(以下パソコンとい
う)である。このパソコン20は、プロセッサ(以下、
CPUという)、及び汎用メモリを持ち、アプリケーショ
ンプログラムを実行する実行部22、及び、共有メモリ
21を備えている。
【0015】パソコン20とPCシステム1との間の命令
及びデータ転送は図示のように共有メモリ21を介して
行われる。共有メモリ21は、実行部22のCPU及びPC
システム3のCPUの両側から読み書きができるデュアル
ポートRAM素子、或いは、通常のRAM素子に外部回路を付
加して同様な効果が得られるようにした回路ブロックか
らなっている。パソコン20とPCシステム1とはこの共
有メモリ21を介して相互にアクセスするため、両者の
ハードウェアが相違していても容易にアクセスすること
ができ、例えば相互に同期をとる必要もなく、並行して
処理を進めることができる。そのため、システムとして
のパフォーマンスを向上させることができる。同様に、
パソコン20−NCシステム2間、パソコン20−SCシス
テム3間、パソコン20−RCシステム4間の命令及びデ
ータ転送も図示のように共有メモリ21を介して行われ
る。
【0016】図2は、この実施の形態のFAシステムのソ
フトウェア構成を示す機能ブロック図である。図2にお
いて、図1と同一の符号は同一又は相当の部分を表して
いる。PCデバイスドライバ5は、共有メモリ21を通し
てPCシステム1とデータ交換(リード/ライト)を行う
最もベーシックなドライバであり、PCシステム1のハー
ドウェア資源にアクセスし、PCシステム1を直接ドライ
ブする。同様に、NCデバイスドライバ6はNCシステム2
とデータ交換を行うドライバ、SCデバイスドライバ7は
SCシステム3とデータ交換を行うドライバ、RCデバイス
ドライバ8はRCシステム4とデータ交換を行うドライバ
である。13は各制御装置1〜4を駆動するアプリケー
ションプログラム、30はアプリケーションプログラム
13と各デバイスドライバ5〜8との間のデータ通信
や、アプリケーションプログラム13からの命令を受け
て制御装置を制御するインタフェースプログラムであ
る、例えば、このインタフェースプログラムは、アプリ
ケーションプログラム13によって使用されるダイナミ
ック・リンク・ライブラリとして、ユーザに提供するこ
とができる。なお、この実施の形態において、アプリケ
ーションプログラム13は制御手段であり、インタフェ
ースプログラム30はインタフェース手段とインタフェ
ースコントロール手段とを含んでいる。
【0017】このインタフェースプログラム30は、PC
通信オブジェクト31、NC通信オブジェクト32、SC通
信オブジェクト33、RC通信オブジェクト34、さらに
PCコントローラインタフェースオブジェクト35及びモ
ーションコントローラインタフェースオブジェクト36
を備えている。
【0018】PC通信オブジェクト31はPCデバイスドラ
イバ5を介してPCシステム1をアクセスするオブジェク
トであり、その役割はPCデバイスドライバ5を介したPC
システム1との通信回線の接続及びその切断、並びに通
信回線接続後のPCシステム1とのデータ交換である。こ
れら回線の接続や切断、データ交換の命令は、インタフ
ェースプログラム30の各オブジェクトが、オブジェク
トのメッセージングを用いて行う。PC通信オブジェクト
31は、図3のメモリマップに示すように、複数のPC命
令を有しており、例えば、これらのPC命令の命令エリア
には、PCコントローラI/Fオブジェクト35からPC操作
命令を受けたときに命令メッセージを作成し、PCデバイ
スドライバ5へ送信する処理を行うプログラムが記載さ
れている。ここで、各オブジェクト31〜36は、それ
ぞれ様々なデータを記憶するデータエリアとプログラム
を記憶する命令エリアを備えている。
【0019】また、同様に、NC通信オブジェクト32は
NCデバイスドライバ6を介してNCシステム2とアクセス
するためのオブジェクトである。NC通信オブジェクト3
2の役割は、パソコン20−NCシステム2間の通信回線
の接続、切断、及びNCシステム2とのデータ交換であ
り、NCデバイスドライバ6を介して、これらの動作を実
行する。また、NC通信オブジェクト32への命令は、オ
ブジェクトのメッセージングによって行なわれる。ここ
で、図4で示すようにNC通信オブジェクト32は、前記
のPC通信オブジェクト31と同様のPC命令1〜PC命令n
を持つ。これらPC命令1〜PC命令nをNCシステム2に内
蔵されているPC機能に対応させる。
【0020】また、同様にSC通信オブジェクト33はSC
デバイスドライバ7を介してSCシステム3とアクセスす
るためのオブジェクトである。SC通信オブジェクト33
の役割は、パソコン20−SCシステム3間の通信回線の
接続、切断、及びSCシステム3とのデータ交換であり、
SCデバイスドライバ7を介して、これらの動作を実行す
る。ここでも同様に、SC通信オブジェクト33はSC独自
の機能に対応した命令の他に、PC命令1〜PC命令nを備
える。同様にRC通信オブジェクト34はRCデバイスドラ
イバ8を介してRCシステム4とアクセスするためのオブ
ジェクトである。RC通信オブジェクト34の役割は、パ
ソコン20−RCシステム4間の通信回線の接続、切断、
及びRCシステム4とのデータ交換であり、RCデバイスド
ライバ8を介して、これらの動作を実行する。ここでも
同様にRC通信オブジェクト34はRC独自の機能に対応し
た命令の他に、PC命令1〜命令nを備える。
【0021】この実施の形態では、個々の制御装置1〜
4が有する複数の機能が大きく分けて2つに分類されて
いる。例えば、PCシステム1では、PC機能を有し、NCシ
ステム2、SCシステム3及びRCシステム4では、大きく
分けて2つの機能、PC機能とモーション機能を有してい
る。モーション機能とは、1つまたは複数のサーボモー
タを制御する機能であり、具体的には、モーション機能
から継承したそれぞれのシステム固有の機能、すなわち
NCシステム2ではNC機能でありSCシステム3ではSC機能
でありRCシステム4ではRC機能である。
【0022】これらの機能をオブジェクト指向技術を用
いてオブジェクト化したものがコントローラインタフェ
ースオブジェクト(以下、コントローラI/Fオブジェクト
という)である。35は、PC通信オブジェクト31、NC
通信オブジェクト32、SC通信オブジェクト33、及
び、RC通信オブジェクト34と接続可能に設けられ、ア
プリケーションプログラム13からPC機能に関する命令
を受け、受け取った命令を各通信オブジェクト31〜3
4用に変換にし、実行させるPCコントローラI/Fオブジ
ェクトである。PCコントローラI/Fオブジェクト35
は、図5のメモリマップに示すように、接続する通信オ
ブジェクト31〜34のポインタをデータエリアに記憶
することができ、また、命令エリアには、接続時に実行
されるアタッチ、デタッチのプログラム、各通信オブジ
ェクト31〜34のPC命令を使用してPC機能を制御する
PC操作命令を複数記憶している。
【0023】36はNC通信オブジェクト32、SC通信オ
ブジェクト33、及び、RC通信オブジェクト34と接続
可能に設けられ、アプリケーションプログラム13から
モーション機能に関する命令を受け、受け取った命令を
各通信オブジェクト32〜34用に変換にし、実行させ
るモーションコントローラI/Fオブジェクトである。な
お、ここで、図2の各デバイスドライバ5〜8、及びイ
ンタフェースプログラム30の各オブジェクト31〜3
6は、パソコン20の実行部22によって実行される。
モーションコントローラI/Fオブジェクト36も、PCコ
ントローラI/Fオブジェクト35と同様に、接続する通
信オブジェクト31〜34のポインタをデータエリアに
記憶することができ、また、命令エリアには、接続時に
実行されるアタッチ、デタッチのプログラム、各通信オ
ブジェクト31〜34のモーション機能を制御する命令
を複数記憶している。
【0024】アプリケーションプログラム13は、これ
らのコントローラI/Fオブジェクト35、36にメッセ
ージングすることにより、各々異なる制御装置1〜4を
意識せずに、間接的にハードウェアである制御装置1〜
4にアクセスできる。尚、本発明に用いられるオブジェ
クト指向技術の概念自体は、例えば、『石塚:オブジェ
クト指向プログラミング、アスキー出版、1988』、
『酒井:オブジェクト指向入門、オーム社、1990』
などの参考文献に説明されている。
【0025】次に、この実施の形態1のFAシステムの動
作について説明する。図6は、パソコン20の実行部22
が実行する制御を示すシーケンス図である。図6におい
て、図2と同一の符号は同一又は相当の部分を表してい
る。この実施の形態の1つの特徴は、複数の制御装置に
対する処理が並列に実行され、処理時間が長い処理が混
在しても、他の処理を高速に実行できる点にある。すな
わち、PCデバイスドライバ5で実行されるステップS1
5〜S17までの長い処理と、NCデバイスドライバ6で
実行されるステップS7〜S8の短い処理が並列に実行
され、アプリケーションプログラム13は、短い処理の
結果を先に受け取って、その処理結果に基づく処理ステ
ップS12を実行することができる。すなわち、後から
発生したNCシステム2に対する処理を先に実行すること
ができるため、全体としてパソコン20は複数の処理を
高速に終了することができる。特に、制御装置に対する
問合せ処理等は、従来、制御装置から処理結果を受け取
るまでに中央処理装置側は待機する必要があったが、こ
の実施の形態によれば、この待機処理中に他の処理を実
行することができ、高速な処理が可能となる。
【0026】詳細な動作は以下のとおりである。まず、
アプリケーションプログラム13は、パソコン20のプ
ロセッサにより、1つのスレッド13aを用いて実行さ
れているとする。ここで、スレッドはプロセッサが複数
の処理を並列に実行する場合に、CPUタイムを割り当て
る単位、すなわち実行単位である。次に、第1の送信ス
テップS1でアプリケーションプログラム13がPCコン
トローラI/Fオブジェクト35へ、第1の制御装置(例
えばPCシステム1)に対する第1の命令を実行するメソ
ッドの呼び出しを行う。すると、スレッド13aの処理
は、PCコントローラI/Fオブジェクト35のメソッドの
実行に移り、生成ステップS2で、PCコントローラI/F
オブジェクト35は、新しいスレッド13bを作成する
とともに、アプリケーションプログラム13へ処理を返
す。この生成ステップS2により、パソコン20は複数
の処理を並列に実行することができるようになり、後述
するステップS5〜S11でスレッド13aのPCコント
ローラI/Fオブジェクト35及びNC通信オブジェクト3
2が一方のインタフェース手段としてNCシステム2に対
する制御を実行し、他方、後述するステップS13から
S19で、スレッド13bのPCコントローラI/Fオブジ
ェクト35及びPC通信オブジェクト31が他方のインタ
フェース手段としてPCシステム1に対する制御を並列に
実行する。なお、PCコントローラI/Fオブジェクト35
がアプリケーションプログラム13へ実行権を返す処理
はリターンステップである。ここで、新しいスレッド1
3bの並列実行が開始されるが、その新しいスレッド1
3bの動作については後述する。
【0027】次に、ステップS13で、アプリケーショ
ンプログラム13は、スレッド13aでスレッド13b
と並行して他の処理を行う。この処理は任意の処理であ
り、他の処理を実行せずにステップS2の次にステップ
S4を直接実行してもよい。続いて、第2の送信ステッ
プS4で、アプリケーションプログラム13は、第2の
制御装置(例えば、NCシステム2)に対する第2の命令
を実行するメソッドの呼び出しを行う(ここで第2の送
信ステップは、他の制御装置への制御を要求する要求ス
テップでもある)。すると、スレッド13aの処理は、
PCコントローラI/Fオブジェクト35に移り、ステップ
S5で、PCコントローラI/Fオブジェクト35は、第2
の命令の送付先を決定するとともに、決定した送付先、
ここではNC通信オブジェクト32へ第2の命令を送信す
る。このとき、PCコントローラI/Fオブジェクト35
は、アプリケーションプログラム13からの送信先の情
報に基づいて送信先を決定する。この送信先の情報は、
アプリケーションプログラム13によるアタッチの動作
によりPCコントローラI/Fオブジェクト35に知らせら
れるが、この動作については後述する。
【0028】次に、ステップS6で、スレッド13aの
処理は、NC通信オブジェクト32に移り、NC通信オブジ
ェクト32が受け取った第2の命令に基づいて、NCデバ
イスドライバ6に対する処理を開始する。例えば、第2
の命令がNCシステム2に対するデータ転送要求だったと
すると、このステップS6で、NC通信オブジェクト32
はNCデバイスドライバ6へデータ転送要求を送信する。
続いて、ステップS7で、受け取った第2の命令に基づ
いて、NCデバイスドライバ6が処理を開始する。NCデバ
イスドライバ6とNCシステム2との命令及びデータの送
受信は、図1の共有メモリ21を介して行う。そして、
NCシステム2はNCバスを介して共有メモリ21に記憶さ
れた命令又はデータを読み取り、読み取った命令に基づ
いた処理を実行する。例えば、NCデバイスドライバ6か
ら送られた命令がデータ転送要求だとすると、NCシステ
ム2は命令に指示されたデータを読み取り、読み取った
データをNCバスを介して共有メモリ21に書き込む。次
に、ステップS8で、NC通信オブジェクト32は共有メ
モリ21からNCシステム2が書き込んだデータを読み取
る。そして、NCデバイスドライバ6の処理が終了する
と、ステップS9で、NCデバイスドライバ6は第2の命
令に対応する第2の処理結果をNC通信オブジェクト32
へ送信する。
【0029】続いて、ステップS10でNC通信オブジェ
クト32は、受け取った第2の処理結果をPCコントロー
ラI/Fオブジェクト35へ送信する。上述ステップS6
〜ステップS10までのNC通信オブジェクト32の処理
が第1の制御ステップであり、ここでは、第2の制御ス
テップS14〜18がPC通信オブジェクト31で並列に
実行されている、すなわちステップS6〜ステップS1
0は並列実行ステップでもある。次に、第4の送信ステ
ップS11でPCコントローラI/Fオブジェクト35は、
受け取った第2の処理結果をアプリケーションプログラ
ム13へ返し、スレッド13aの処理をアプリケーショ
ンプログラム13へ移す。次に、ステップS12で、ア
プリケーションプログラム13は、ステップS11で受
け取った第2の処理結果に基づいて、次の処理を実行す
る。例えば、第2の命令がデータ転送要求であったとき
に、その要求したデータを用いた処理、或いは、そのデ
ータのコンピュータディスプレイ上への表示等を行う。
【0030】以上、ステップS1〜S12まで、スレッ
ド13aの処理を説明した。次に、ステップS2で生成
された、新たなスレッド13bでの処理について説明す
る。生成ステップS2において、スレッド13aでPCコ
ントローラI/Fオブジェクト35が新たなスレッド13
bを生成すると、スレッド13bで動作するPCコントロ
ーラI/Fオブジェクト35は、スレッド13aと並列に
ステップS13を開始する。ステップS13では、PCコ
ントローラI/Fオブジェクト35は制御装置に対し第1
の命令を送信する。ここでは、PCコントローラI/Fオブ
ジェクト35がPCシステム1を制御するため、PC通信オ
ブジェクト31に対して第1の命令を送信する。
【0031】次に、ステップS14で、スレッド13b
の処理は、PC通信オブジェクト31に移り、PC通信オブ
ジェクト31がPCデバイスドライバ5に対して受け取っ
た第1の命令を送信する。ここで、命令形式の変更や、
受け取った第1の命令の実行に複数の処理が必要な場合
には、ステップS14でそれらの様々な処理を実行し、
また、複数の命令をPCデバイスドライバ5へ送信しても
よい。続いて、ステップS15で、NCデバイスドライバ
6は、PC通信オブジェクト31から受け取った命令を実
行し、上述のように、共有メモリ21を介して、PCシス
テム1を制御する。ここで、PCシステム1の動作に時間
がかかり、処理が終了するまでに時間がかかる場合があ
る。例えば、ステップS7〜S8まで、NCシステム2の
制御にかかる時間よりも、ステップS15〜S16まで
にかかるPCシステム1の制御にかかる時間が長くなる場
合がある。次に、ステップS16で、ステップS14で
送信された命令に基づいたPCデバイスドライバ5の処理
が終了すると、ステップS17でPCデバイスドライバ5
は、第1の命令に対応する第1の処理結果をPC通信オブ
ジェクト31へ送信する。
【0032】この第1の処理結果を受け取ったPC通信オ
ブジェクト31は、ステップS18でその第1の処理結
果をPCコントローラI/Fオブジェクト35へ送信する。
ここで、上述ステップS13〜S18でPCコントローラ
I/Fオブジェクト35及びPC通信オブジェクト31が行
っている処理は、第2の制御ステップである。次に、第
3の送信ステップS19で、PCコントローラI/Fオブジ
ェクト35は第1の処理結果をスレッド13aで動作し
ているアプリケーションプログラム13へ送信する。こ
こで、第1の処理結果の送信は、スレッド13aとスレ
ッド13bに共通のグローバル変数を用いて非同期的に
行ってもよいし、他のスレッド間通信を用いて、アプリ
ケーションプログラム13がデータを受け取れる状態に
なってから同期的通信を実行し、スレッド13bからス
レッド13aへ第1の処理結果を送信するようにしても
よい。
【0033】続いて、終了ステップS20において、ス
レッド13bで実行されているPCコントローラI/Fオブ
ジェクト35は、自己のスレッド13bを終了し、CP
Uタイム等のリソースを開放する。従って、他のスレッ
ド、又はプロセスが使用できるパソコン20のリソース
が増え、FAシステムを効率的に動作させることができ
る。
【0034】一方、スレッド13aで動作しているアプ
リケーションプログラム13は、ステップS19で送信
された第1の処理結果を受け取り、ステップS21で、
受け取った第1の処理結果に基づく処理を実行する。以
上の説明では、PCシステム1、NCシステム2を並列に制
御する場合について説明したが、他の制御装置、例え
ば、SCシステム3、又は、RCシステム4等を制御する場
合についても、対応する通信オブジェクト33〜34、
モーションコントローラ35又は36が同様に動作す
る。以上、説明したようにこの実施の形態では、コント
ローラI/Fオブジェクト35〜36及び通信オブジェク
ト32〜34を状況に応じて複数並列に実行することが
でき、1つの制御装置に対する処理を、他の制御装置に
対する処理の終了を待つことなく実行することができ、
FAシステムを高速に動作させることができる。
【0035】また、この実施の形態においては、PCコン
トローラI/Fオブジェクト35等のライブラリ側にイン
タフェースコントロール手段を設け、インタフェース手
段の数を動的に制御している。図7〜図10は、この実
施の形態1のインタフェース手段の増減を説明する図で
あり、図7〜図10において、図2及び図6と同一の符
号は同一又は相当の部分を表している。35aは上述ス
レッド13aで実行される一方のPCコントローラI/Fオ
ブジェクト35であり、35bはスレッド13bで実行
される他方のPCコントローラI/Fオブジェクト35であ
る。35c、dは、PCコントローラI/Fオブジェクト3
5に設けられたインタフェースコントロール手段であ
り、アプリケーションプログラム13から呼ばれたメソ
ッド毎に、新しいスレッドを生成する必要があるか否か
を判断し、この判断に基づいて新しいスレッドを生成す
る手段である。例えば、PCシステム1に対するある制御
が処理に時間がかかるものである場合には、インタフェ
ースコントロール手段35c、dは、新しいスレッドを
生成して、その新しいスレッドにPCシステム1に対する
制御を実行させる。例えば、時間のかかるメソッドがア
プリケーションプログラム13から呼ばれた場合、その
メソッドの中に新しいスレッドを生成する命令を設けて
おくことでかかる機能を実現することができる。
【0036】また、このインタフェースコントロール手
段35c、dは、新しいスレッドを生成するだけでな
く、制御装置に対する処理が終了したと判断した場合に
は、新しく生成したスレッドを終了させる。例えば、新
しいスレッドを終了させる場合、PCコントローラI/Fオ
ブジェクト35のメソッドの最後にスレッドを終了させ
る命令を設けておけば、新しく生成したスレッドを終了
させることができる。
【0037】制御装置に対する制御を開始する場合、図
7のように、インタフェースコントロール手段35は1
つである。もちろんここで、既に複数のインタフェース
コントロール手段35が起動されていても構わないが、
ここでは説明の簡単のため1つのインタフェースコント
ロール手段35が起動されているとする。次に、図8の
ように、アプリケーションプログラム13からステップ
S1でインタフェースコントロール手段35のメソッド
を呼ぶと、インタフェースコントロール手段35cがそ
のメソッドに応じて新しいスレッド13bを起動するか
否かを判断する。ここでは、上述ステップS2の通り新
しいスレッド13bを起動する。これにより、PCコント
ローラI/Fオブジェクト35a等がコピーされたと同様
の効果が発生し、新しいスレッド13bで実行されるPC
コントローラI/Fオブジェクト35bが生成される。
【0038】新しく生成されたPCコントローラI/Fオブ
ジェクト35bでは、PC通信オブジェクト31等を介し
て上述図6を用いて説明したようにPCシステム1を制御
する。一方、PCコントローラI/Fオブジェクト35a
は、アプリケーションプログラム13へ実行権を返す。
次に、図9に示すように、ステップS4でアプリケーシ
ョンプログラム13がNCシステム2に対する第2の命令
を送信すると、PCコントローラI/Fオブジェクト35a
のインタフェースコントロール手段35cが新しいスレ
ッドの生成の有無を判断する。ここで例えば、ステップ
S4で呼ばれたメソッドは処理時間がさほどかからない
ものであるとすると、インタフェースコントロール手段
35cは、新しいスレッドの生成を行わないと判断し、
現在のスレッド、すなわち、PCコントローラI/Fオブジ
ェクト35aでステップS5以降のNCシステム2に対す
る制御処理を行う。この機能は、例えば、このような処
理時間が短いPCコントローラI/Fオブジェクト35aの
メソッドに、新しいスレッドを生成する命令を備えない
ようにすることによって実現することができる。
【0039】続いて、ステップS9〜ステップS11
で、NCシステム2に対する処理が終了すると、図10に
示すようにPCコントローラI/Fオブジェクト35aは、
アプリケーションプログラム13に実行権を渡してしま
う。他方、PCコントローラI/Fオブジェクト35b又はP
C通信オブジェクト31は、第1の命令をステップS1
7〜18で実行し、PCコントローラI/Fオブジェクト3
5bがステップS19で、第1の命令に対する処理結果
をアプリケーションプログラム13へ送信する。ここ
で、インタフェースコントロール手段35dが第1の命
令が終了したかを判断し、現スレッドが新しく生成され
たものである場合には、スレッド13bを終了して、図
6に示すように、PCコントローラI/Fオブジェクト35
bを消滅させ、再び図7に示すようにインタフェース手
段を1つに減らすことができる。上述の説明は、インタ
フェース手段を1つから2つ、そして再び1つに戻す場
合について述べたが、2つから3つ、そして3つから2
つにする場合にもパソコン20は同様に動作し、アプリ
ケーションプログラム13がメソッドを何回か呼び出す
ことにより、ライブラリがインタフェース手段の生成の
要否を判断し、複数のインタフェース手段を生成し、さ
らに、減少させることができる。
【0040】以上のように、インタフェース手段を並列
制御する命令数に応じて自在に増減させることにより、
1つの処理が終了するまで待たずに他の処理を高速に実
行することができるという効果がある。また、このよう
にインタフェース手段を減少させることにより、中央制
御装置のCPUタイム、メモリ等のリソースを有効に活
用することができ、不要なインタフェース手段によって
リソースが占有されることにより、中央処理装置の速度
が落ちてしまうとうことを抑制することができる。
【0041】次に、アプリケーションプログラム13の
動作について、図11を用いて説明する。以下の説明で
は、1つの制御装置に複数の命令を送信する場合につい
て述べるが、上述の説明のように、1つの制御装置に1
つの命令を送信する場合も、送受信する命令数とデータ
の数を換えれば同様に処理できる。図11は、制御装置
を制御するときのアプリケーションプログラム13の処
理を説明するフローチャートである。まず、ステップS
30で、アプリケーションプログラム13は、PC通信オ
ブジェクト31に対し初期化命令の実行を指示する。そ
して、PC通信オブジェクト31は、PCデバイスドライバ
5の初期化を呼び出しPCシステムを初期化する。続い
て、ステップS31で、PC通信オブジェクト31はPCデ
バイスドライバ5のデータエリアに通信条件を書込む。
次に、ステップS32で、PCデバイスドライバ5はデー
タエリアに書込まれた通信条件に基づいてPCシステム1
との間の通信回線をオープンする。
【0042】次に、ステップS33で、アプリケーショ
ンプログラム13は、PCコントローラI/Fオブジェクト
35にPC通信オブジェクト31と接続するためのポイン
タを渡し、PCコントローラI/Fオブジェクト35がPC通
信オブジェクト31に接続、すなわちアタッチする。こ
こでポインタを渡すため、アプリケーションプログラム
13はPCコントローラI/Fオブジェクト35の有するデ
ータエリアに、PC通信オブジェクト31のポインタを書
き込む。
【0043】そして、ステップS34で、アプリケーシ
ョンプログラム13は、PCコントローラI/Fオブジェク
ト35へn個の命令を送信し、PCコントローラI/Fオブジ
ェクト35がアタッチされたPC通信オブジェクト31の
PC命令領域に受け取ったn個の命令を書き込む。続い
て、PC通信オブジェクト31は、n個あるPC命令を随時
実行し、例えばPC通信オブジェクト31は、1番目のPC
命令を実行すると1番目のPC命令の命令メッセージを作
成し、命令メッセージをPCデバイスドライバ5の要求命
令領域に送信する。PCデバイスドライバ5は、要求命令
を通信回線を使ってPCシステム1へ送信する。ここで
は、アプリケーションプログラム13がn個の命令を送
信したが、アプリケーションプログラム13が送信した
1個の命令をPCコントローラI/Fオブジェクト35が解
釈し、この1個の命令に対応する予め定められたn個の
命令をPCコントローラI/Fオブジェクト35がPC通信オ
ブジェクト31へ送信するようにしてもよい。
【0044】次にステップS35で、PCデバイスドライ
バ5はステップS32で送信した命令に対する処理結果
を受信し、PC通信オブジェクト31はPCデバイスドライ
バ5からの応答要求から処理結果を結果メッセージとし
て受信する。そして、アプリケーションプログラム13
は、PCコントローラI/Fオブジェクト35を介して処理
結果を受け取る。このとき、アプリケーションプログラ
ム13は、n個の命令に対する結果全てを一度に受けと
ってもよいし、1つ1つの命令の結果が出しだい逐次受
け取ってもよい。続いて、アプリケーションプログラム
13はステップS36で実行すべき他のPC命令が残って
いるか判断し、実行するPC命令が有ればステップS34
へ戻り同様に処理を繰り返す。
【0045】ここでもし、残っているPC命令が無けれ
ば、ステップS37で、アプリケーションプログラム1
3は、PCコントローラI/Fオブジェクト35へデタッチ
を指令する。このデタッチの指令を受けたPCコントロー
ラI/Fオブジェクト35は、アタッチしていたPC通信オ
ブジェクト31を開放し、接続を切断する。ここで、デ
タッチするため、アプリケーションプログラム13はス
テップS33で書き込んだポインタのデータエリアに、
NULLを書き込む。
【0046】なお、他のスレッドでPCコントローラI/F
オブジェクト35が実行され、そのPCコントローラI/F
オブジェクト35がPCシステム1に接続したい場合に
は、その他のスレッドで実行されているPCコントローラ
I/Fオブジェクト35が上述ステップS33から再び処
理を開始してもよい。すなわち、1つのスレッドで実行
されているPCコントローラI/Fオブジェクト35から他
のスレッドで実行されているPCコントローラI/Fオブジ
ェクト35へ、PC通信オブジェクト31を接続し直すこ
とができる。この場合、ステップS30〜S32の処理
等を省略することができるため、高速に処理を実行でき
るという効果がある。また、例えば、NC通信オブジェク
ト32のように複数のコントローラI/Fオブジェクト3
5、36に接続される可能性がある通信オブジェクト3
2〜34の場合には、PCコントローラI/Fオブジェクト
35からモーションコントローラI/Fオブジェクト36
へ通信オブジェクトの接続先を換えることもできる。そ
の際も、回線をクローズする前にステップS33の再接
続を行えば、回線のオーブン等の一部処理を省くことが
でき、高速な動作をすることができる。
【0047】次に、ステップS38で、アプリケーショ
ンプログラム13は、パソコン20と制御装置との間の
回線を閉じる命令「回線クローズ」をPCコントローラI/
Fオブジェクト35を介してPC通信オブジェクト31へ
送信する。この命令を受け取ったPC通信オブジェクト3
1は、PCデバイスドライバ5へ回線クローズ命令を送信
し、PCシステム1が回線を閉じる処理を実行する。
【0048】以上によりPCコントローラI/Fオブジェク
ト35はPC通信オブジェクト31の所有と解放を行い、
所有している間にPCシステム1に操作命令を実行するこ
とができる。また、上述説明では、PCシステム1の制御
について説明したが、他の制御装置2〜4についても同
様の制御が行われる。その際には、それらの制御装置2
〜4に対応する各PCコントローラI/Fオブジェクト3
5、36、各通信オブジェクト32〜34が上述説明に
相当する動作を行う。また、各通信オブジェクト31〜
34におけるデータ交換では、各制御装置1〜4により
データフォーマットが異なるため、それぞれのデータフ
ォーマットを用いてデータ交換を行う。すなわち、各々
の通信オブジェクト31〜34はデータメンバとしてデ
ータエリアに接続する制御装置1〜4のデータフォーマ
ットを持っている。
【0049】また、上述のように、PCコントローラI/F
オブジェクト35は、各通信オブジェクト31〜34を
接続したり、切断したりすることにより、制御する制御
装置1〜4を変更することができる。例えば、図4に示
したようにNC通信オブジェクトにPC命令を持つので、PC
コントローラI/Fオブジェクト35は、NC通信オブジェ
クトを図11のステップS33によりアタッチして所有
することができる。所有することによりPCコントローラ
I/Fオブジェクト35からNCシステム2のPC機能に対し
て操作命令を実行することができる。同様に、PCコント
ローラI/Fオブジェクト35からSC通信オブジェクト3
3、RC通信オブジェクト34に対してもPCの操作命令を
実行することができる。
【0050】例えば、PCコントローラI/Fオブジェクト
35は、NC通信オブジェクト32へPC機能をメッセージ
ングし、モーションコントローラI/Fオブジェクト36
は、NC通信オブジェクト32へモーション機能をメッセ
ージングすることができる。メッセージを受けたNC通信
オブジェクト32は、メッセージングに従って、NCデバ
イスドライバ6へファンクションコールを行い、NCシス
テム2へアクセスする。NCシステム2からの結果は、上
記の逆の経路を辿る。
【0051】従って、アプリケーションプログラム13
は、制御装置1〜4がなんであれ、アプリケーション機
能のPC機能に対してはPCコントローラI/Fオブジェクト
35へメッセージングし、アプリケーション機能のモー
ション機能に対してはモーションコントローラI/Fオブ
ジェクト36へメッセージングすることにより所望の結
果を得ることができる。
【0052】以上のように、この実施の形態によれば以
下のような効果も得られる。コンピュータ(アプリケー
ションプログラム)から制御装置にアクセスする場合、
制御装置の保有する機能に対応したコントローラI/Fオ
ブジェクトへメッセージングすることにより、個々の制
御装置を意識することなく、制御装置へのアクセスが可
能となり、アプリケーション開発が容易になる。さら
に、不具合の発生の数を大幅に低減できると共に、アプ
リケーション開発者の負担を大幅に軽減する。また、複
数の制御装置に対応したアプリケーション開発において
も、共通の機能としてアクセス可能となり、アプリケー
ションプログラムのバージョンアップや保守作業が大幅
に低減される。そして、それぞれのコントローラI/Fオ
ブジェクト35、36及び通信オブジェクト31〜34
は独立しているため、通信待ちによる処理の遅れの発生
を抑制できる。
【0053】
【発明の効果】
【発明の効果】この発明は、以上に説明したように構成
されているので、以下に記載されるような効果を奏す
る。この発明にかかるファクトリーオートメーションシ
ステムの制御方法においては、複数の制御装置を用いた
ファクトリーオートメーションシステムを制御する中央
制御装置が上記複数の制御装置のうちの第1の制御装置
及び第2の制御装置を制御するファクトリーオートメー
ションシステムの制御方法であって、既存のインタフェ
ース手段に加えて新たなインタフェース手段を生成する
ことにより、複数のインタフェース手段を起動する生成
ステップと、上記中央制御装置に設けられ上記複数の制
御装置の制御手順を有する制御手段が、上記第1の制御
装置を制御する第1の命令を上記複数のインタフェース
手段のうちのいずれか一方のインタフェース手段へ送信
する第1の送信ステップと、上記複数のインタフェース
手段のうち上記第1の命令が送信されなかった他方のイ
ンタフェース手段に、上記制御手段が上記第2の制御装
置を制御する第2の命令を送信する第2の送信ステップ
と、上記第1及び第2の送信ステップの後に実行され、
上記一方のインタフェース手段が上記第1の命令を実行
し、この実行と並列に、上記他方のインタフェース手段
が上記第2の命令を実行する並列実行ステップと、この
並列実行ステップの後に実行され、上記第1の命令に対
する処理結果を上記一方のインタフェース手段が上記制
御手段へ送信する第3の送信ステップと、上記並列実行
ステップの後に実行され、上記第2の命令に対する処理
結果を上記他方のインタフェース手段が上記制御手段へ
送信する第4の送信ステップと、この第4の送信ステッ
プの後に実行され、上記他方のインタフェース手段が占
有していたリソースを開放し、上記他方のインタフェー
ス手段を終了させる終了ステップと、を備えたため、高
速に処理を実行することができる。
【0054】また、上記終了ステップの後に実行され、
上記制御手段が上記第3の送信ステップで送信された処
理結果を受信し、受信した処理結果を処理するステップ
と、を備えたため、他方のインタフェース手段が占有し
ていたリソースが開放され、第3の送信ステップで受信
した処理結果をより高速に実行することができる。
【0055】この発明のプログラムを記録した記録媒体
においては、アプリケーションプログラムからライブラ
リに対し、制御装置の制御が要求され、上記ライブラリ
に予め備えられた制御処理が呼び出された場合に、上記
ライブラリが新たにスレッドを生成することにより、上
記ライブラリに対して複数のスレッドを割り当てる生成
ステップと、上記ライブラリが上記制御装置の処理に対
応する上記制御装置からの処理結果を受け取る前に、上
記ライブラリが上記複数のスレッドのうちの一方のスレ
ッドを用いて上記アプリケーションプログラムへ実行権
を返すリターンステップと、このリターンステップによ
り実行を再開したアプリケーションプログラムと並列
に、上記ライブラリが上記複数のスレッドのうちの他方
のスレッドを用いて上記制御装置の処理を実行し、上記
制御装置を制御する第1の制御ステップと、上記リター
ンステップの後に実行され、上記制御装置の処理結果を
上記他方のスレッドを用いて実行されていたライブラリ
から上記一方のスレッドを用いて実行されていた上記ア
プリケーションプログラムへ送信するステップと、をコ
ンピュータに実行させるため、処理を高速に実行するこ
とができる。
【0056】また、上記リターンステップの後に実行さ
れ、上記一方のスレッドを用いて、上記アプリケーショ
ンプログラムが上記ライブラリに対して他の制御装置の
制御を要求する要求ステップと、上記ライブラリが上記
要求ステップの要求を受けて、上記他の制御装置の制御
を上記第1の制御ステップと並列に実行する第2の制御
ステップと、上記送信ステップの後に実行され、上記他
のスレッドを用いて実行されていた上記ライブラリが上
記他方のスレッドを終了させる終了ステップと、をコン
ピュータに実行させるため、不要に占有されているリソ
ースを開放し、より高速に処理を実行することができ
る。
【0057】また、発明にかかるファクトリーオートメ
ーションシステムの中央処理装置においては、複数の制
御装置それぞれに対して、並列に命令を発行し、上記複
数の制御装置を制御する制御手段と、この制御手段と上
記複数の制御装置とを接続する複数のインタフェース手
段と、上記制御手段が上記複数の制御装置に対し並列に
発行する命令数に応じて、上記複数のインターフェース
手段の数を動的に増減させるインタフェースコントロー
ル手段と、を備えたため、処理を高速に実行することが
できる。
【0058】また、上記インタフェースコントロール手
段は、上記制御手段が上記インタフェース手段に命令を
送ったことを検知して上記インタフェース手段を増加さ
せるため、制御手段による複数のインタフェース手段の
コントロールの手間を省き、ユーザによる制御手段のプ
ログラムが容易になる。
【0059】また、上記インタフェースコントロール手
段は、命令の種類に応じて上記インタフェース手段を増
加させるとともに、上記インタフェース手段を増加させ
る命令よりも処理時間の短い種類の命令に対しては、上
記インタフェース手段を増加させず既存のインタフェー
ス手段に上記処理時間の短い種類の命令を実行させるた
め、インタフェース手段がリソースを多く占有すること
を抑制し、高速に処理を実行することができる。
【図面の簡単な説明】
【図1】 この発明の実施の形態1におけるファクトリ
ーオートメーションシステムのハードウェアを表す機能
ブロック図である。
【図2】 この発明の実施の形態1におけるファクトリ
ーオートメーションシステムのソフトウェア構成を示す
機能ブロック図である。
【図3】 この発明の実施の形態1におけるPC通信オブ
ジェクトのメモリマップである。
【図4】 この発明の実施の形態1におけるNC通信オブ
ジェクトのメモリマップである。
【図5】 この発明の実施の形態1におけるPCコントロ
ーラI/Fオブジェクトのメモリマップである。
【図6】 この発明の実施の形態1におけるパソコンの
制御手順を示すシーケンス図である。
【図7】 この発明の実施の形態1におけるファクトリ
ーオートメーションシステムを示す機能ブロック図であ
る。
【図8】 この発明の実施の形態1におけるファクトリ
ーオートメーションシステムを示す機能ブロック図であ
る。
【図9】 この発明の実施の形態1におけるファクトリ
ーオートメーションシステムを示す機能ブロック図であ
る。
【図10】 この発明の実施の形態1におけるファクト
リーオートメーションシステムを示す機能ブロック図で
ある。
【図11】 この発明の実施の形態1におけるアプリケ
ーションプログラムのフローチャートである。
【図12】 従来の技術におけるファクトリーオートメ
ーションシステムを表す機能ブロック図である。
【符号の説明】
1 PCシステム、 2 NCシステム、3 SCシステム、
4 RCシステム、5PCデバイスドライバ、6 NCデバ
イスドライバ、7 SCデバイスドライバ、8RCデバイス
ドライバ、13 アプリケーションプログラム、30
インタフェースプログラム、 31 PC通信オブジェク
ト、32 NC通信オブジェクト、33SC通信オブジェク
ト、34 RC通信オブジェクト、35 PCコントローラ
インタフェースオブジェクト、36 モーションコント
ローラインタフェースオブジェクト。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 複数の制御装置を用いたファクトリーオ
    ートメーションシステムを制御する中央制御装置が上記
    複数の制御装置のうちの第1の制御装置及び第2の制御
    装置を制御するファクトリーオートメーションシステム
    の制御方法であって、 既存のインタフェース手段に加えて新たなインタフェー
    ス手段を生成することにより、複数のインタフェース手
    段を起動する生成ステップと、 上記中央制御装置に設けられ上記複数の制御装置の制御
    手順を有する制御手段が、上記第1の制御装置を制御す
    る第1の命令を上記複数のインタフェース手段のうちの
    いずれか一方のインタフェース手段へ送信する第1の送
    信ステップと、 上記複数のインタフェース手段のうち上記第1の命令が
    送信されなかった他方のインタフェース手段に、上記制
    御手段が上記第2の制御装置を制御する第2の命令を送
    信する第2の送信ステップと、 上記第1及び第2の送信ステップの後に実行され、上記
    一方のインタフェース手段が上記第1の命令を実行し、
    この実行と並列に、上記他方のインタフェース手段が上
    記第2の命令を実行する並列実行ステップと、 この並列実行ステップの後に実行され、上記第1の命令
    に対する処理結果を上記一方のインタフェース手段が上
    記制御手段へ送信する第3の送信ステップと、 上記並列実行ステップの後に実行され、上記第2の命令
    に対する処理結果を上記他方のインタフェース手段が上
    記制御手段へ送信する第4の送信ステップと、 この第4の送信ステップの後に実行され、上記他方のイ
    ンタフェース手段が占有していたリソースを開放し、上
    記他方のインタフェース手段を終了させる終了ステップ
    と、を備えたファクトリーオートメーションシステムの
    制御方法。
  2. 【請求項2】 上記終了ステップの後に実行され、上記
    制御手段が上記第3の送信ステップで送信された処理結
    果を受信し、受信した処理結果を処理するステップと、
    を備えたことを特徴とする請求項1に記載のファクトリ
    ーオートメーションシステムの制御方法。
  3. 【請求項3】 アプリケーションプログラムからライブ
    ラリに対し、制御装置の制御が要求され、上記ライブラ
    リに予め備えられた制御処理が呼び出された場合に、上
    記ライブラリが新たにスレッドを生成することにより、
    上記ライブラリに対して複数のスレッドを割り当てる生
    成ステップと、 上記ライブラリが上記制御装置の処理に対応する上記制
    御装置からの処理結果を受け取る前に、上記ライブラリ
    が上記複数のスレッドのうちの一方のスレッドを用いて
    上記アプリケーションプログラムへ実行権を返すリター
    ンステップと、 このリターンステップにより実行を再開したアプリケー
    ションプログラムと並列に、上記ライブラリが上記複数
    のスレッドのうちの他方のスレッドを用いて上記制御装
    置の処理を実行し、上記制御装置を制御する第1の制御
    ステップと、 上記リターンステップの後に実行され、上記制御装置の
    処理結果を上記他方のスレッドを用いて実行されていた
    ライブラリから上記一方のスレッドを用いて実行されて
    いた上記アプリケーションプログラムへ送信するステッ
    プと、をコンピュータに実行させるためのプログラムを
    記録した記録媒体。
  4. 【請求項4】 上記リターンステップの後に実行され、
    上記一方のスレッドを用いて、上記アプリケーションプ
    ログラムが上記ライブラリに対して他の制御装置の制御
    を要求する要求ステップと、 上記ライブラリが上記要求ステップの要求を受けて、上
    記他の制御装置の制御を上記第1の制御ステップと並列
    に実行する第2の制御ステップと、 上記送信ステップの後に実行され、上記他のスレッドを
    用いて実行されていた上記ライブラリが上記他方のスレ
    ッドを終了させる終了ステップとを備えたことを特徴と
    する請求項3に記載のコンピュータに実行させるための
    プログラムを記録した記録媒体。
  5. 【請求項5】 複数の制御装置それぞれに対して、並列
    に命令を発行し、上記複数の制御装置を制御する制御手
    段と、 この制御手段と上記複数の制御装置とを接続する複数の
    インタフェース手段と、 上記制御手段が上記複数の制御装置に対し並列に発行す
    る命令数に応じて、上記複数のインターフェース手段の
    数を動的に増減させるインタフェースコントロール手段
    と、を備えたファクトリーオートメーションシステムの
    中央処理装置。
  6. 【請求項6】 上記インタフェースコントロール手段
    は、上記制御手段が上記インタフェース手段に命令を送
    ったことを検知して上記インタフェース手段を増加させ
    ることを特徴とする請求項5に記載のファクトリーオー
    トメーションシステムの中央処理装置。
  7. 【請求項7】 上記インタフェースコントロール手段
    は、命令の種類に応じて上記インタフェース手段を増加
    させるとともに、上記インタフェース手段を増加させる
    命令よりも処理時間の短い種類の命令に対しては、上記
    インタフェース手段を増加させず既存のインタフェース
    手段に上記処理時間の短い種類の命令を実行させること
    を特徴とする請求項6に記載のファクトリーオートメー
    ションシステムの中央処理装置。
JP18541499A 1999-06-30 1999-06-30 ファクトリーオートメーションシステムの制御方法、ファクトリーオートメーションシステムの中央制御装置 Expired - Fee Related JP3651573B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP18541499A JP3651573B2 (ja) 1999-06-30 1999-06-30 ファクトリーオートメーションシステムの制御方法、ファクトリーオートメーションシステムの中央制御装置
US09/457,690 US6668205B1 (en) 1999-06-30 1999-12-09 Control method of factory automation system, recording medium recording a program therefor and central processor of factory automation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18541499A JP3651573B2 (ja) 1999-06-30 1999-06-30 ファクトリーオートメーションシステムの制御方法、ファクトリーオートメーションシステムの中央制御装置

Publications (2)

Publication Number Publication Date
JP2001014018A true JP2001014018A (ja) 2001-01-19
JP3651573B2 JP3651573B2 (ja) 2005-05-25

Family

ID=16170380

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18541499A Expired - Fee Related JP3651573B2 (ja) 1999-06-30 1999-06-30 ファクトリーオートメーションシステムの制御方法、ファクトリーオートメーションシステムの中央制御装置

Country Status (2)

Country Link
US (1) US6668205B1 (ja)
JP (1) JP3651573B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004005302A (ja) * 2002-06-03 2004-01-08 Yaskawa Electric Corp モーションプログラムの実行装置およびデバック装置

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7016865B1 (en) * 2000-04-14 2006-03-21 Deluxe Corporation Personalization format converter system and method
DE10065401A1 (de) * 2000-12-27 2003-03-06 Siemens Ag Automatisierungssystem
US6819960B1 (en) 2001-08-13 2004-11-16 Rockwell Software Inc. Industrial controller automation interface
US7506214B2 (en) * 2004-04-22 2009-03-17 International Business Machines Corporation Application for diagnosing and reporting status of an adapter
US8132225B2 (en) * 2004-09-30 2012-03-06 Rockwell Automation Technologies, Inc. Scalable and flexible information security for industrial automation
US7565654B2 (en) * 2006-01-10 2009-07-21 National Instruments Corporation Programmatic control of tasks in a programmable logic controller
EP1868082A1 (de) * 2006-06-12 2007-12-19 Siemens Aktiengesellschaft Navigation zwischen Verwendungsstellen von Ressourcen in Automatisierungssystemen
EP2141562B1 (de) * 2008-06-30 2013-03-06 Siemens Aktiengesellschaft Verfahren zur Bereitstellung von Diensten in einem mehrere vernetzte Rechnereinheiten umfassenden Automatisierungssystem, Computerprogramm und Automatisierungssystem
CN112449245B (zh) * 2019-09-05 2022-12-16 海信视像科技股份有限公司 双系统显示设备应用升级进度显示方法及显示设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB950312A (en) 1959-11-25 1964-02-26 Rank Precision Ind Ltd Measuring and recording arrangements
US4831582A (en) * 1986-11-07 1989-05-16 Allen-Bradley Company, Inc. Database access machine for factory automation network
JPS63188247A (ja) * 1987-01-30 1988-08-03 Yokogawa Electric Corp メモリ・アクセス装置
EP0416331B1 (en) * 1989-08-31 1995-05-17 Yokogawa Electric Corporation Line computer
JP2501978B2 (ja) * 1991-09-17 1996-05-29 村田機械株式会社 自動ワインダの巻取速度制御方法
JP3075809B2 (ja) * 1991-11-12 2000-08-14 株式会社東芝 データ伝送システムにおける受信データ転送制御装置
EP0915507B1 (en) * 1996-06-07 2008-03-12 Tokyo Electron Limited Device for controlling treating station

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004005302A (ja) * 2002-06-03 2004-01-08 Yaskawa Electric Corp モーションプログラムの実行装置およびデバック装置

Also Published As

Publication number Publication date
US6668205B1 (en) 2003-12-23
JP3651573B2 (ja) 2005-05-25

Similar Documents

Publication Publication Date Title
JP4455822B2 (ja) データ処理方法
JP3411273B2 (ja) プロセッサでのデータ処理方法及びデータ処理システム
EP1370971B1 (en) Processing modules for computer architecture for broadband networks
US4953074A (en) Function-distributed control apparatus
US7669002B1 (en) System and method for providing an application with memory access methods
US5469577A (en) Providing alternate bus master with multiple cycles of bursting access to local bus in a dual bus system including a processor local bus and a device communications bus
JPS61133454A (ja) 端末制御方式
JP3651573B2 (ja) ファクトリーオートメーションシステムの制御方法、ファクトリーオートメーションシステムの中央制御装置
CN113986513A (zh) 主从架构芯片的主从核通信方法及系统
KR20160035446A (ko) 공장 자동화 시스템의 제어방법
CN117112466B (zh) 一种数据处理方法、装置、设备、存储介质及分布式集群
KR100584583B1 (ko) 직렬 버스 제어 장치 및 방법
JP2002140103A (ja) サーボ制御装置及びその制御方法
JPH06138917A (ja) プログラマブル・コントローラ
JPH056333A (ja) マルチプロセサシステム
JP3167506B2 (ja) 多重処理方式
JP2803270B2 (ja) Scsiホストアダプタ回路
JPH06274210A (ja) プログラマブルコントローラ
JP2554423Y2 (ja) メモリ制御装置
JPH08221106A (ja) プログラマブルコントローラ
JPH10289196A (ja) コンピュータおよびコンピュータにおける周辺デバイス制御データの転送方法
JPH1063517A (ja) リアルタイム情報処理方法およびその装置
JP2000035939A (ja) インテリジェント型pcアドインボード
JPH0756501A (ja) プロセス計装システム
KR20000018537A (ko) 제어 장치의 데이터 병렬 처리 구조

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20031226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040308

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041029

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050215

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

Free format text: PAYMENT UNTIL: 20080304

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090304

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100304

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100304

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110304

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110304

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120304

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130304

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130304

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140304

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees