JPS61256406A - 制御装置 - Google Patents

制御装置

Info

Publication number
JPS61256406A
JPS61256406A JP60097701A JP9770185A JPS61256406A JP S61256406 A JPS61256406 A JP S61256406A JP 60097701 A JP60097701 A JP 60097701A JP 9770185 A JP9770185 A JP 9770185A JP S61256406 A JPS61256406 A JP S61256406A
Authority
JP
Japan
Prior art keywords
job
instruction
control
program
host processor
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
JP60097701A
Other languages
English (en)
Other versions
JP2528813B2 (ja
Inventor
Masatsugu Kametani
亀谷 雅嗣
Kengo Sugiyama
謙吾 杉山
Takashi Furukawa
隆 古川
Takeshi Hanada
花田 武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP60097701A priority Critical patent/JP2528813B2/ja
Priority to DE8686106190T priority patent/DE3681486D1/de
Priority to EP86106190A priority patent/EP0201081B1/en
Priority to US06/860,430 priority patent/US4803613A/en
Publication of JPS61256406A publication Critical patent/JPS61256406A/ja
Application granted granted Critical
Publication of JP2528813B2 publication Critical patent/JP2528813B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4141Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by a controller or microprocessor per axis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G2207/00Indexing codes relating to constructional details, configuration and additional features of a handling device, e.g. Conveyors
    • B65G2207/14Combination of conveyors
    • 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/32Operator till task planning
    • G05B2219/32052Lookup table, identify job to be executed by master or slave
    • 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/33Director till display
    • G05B2219/33156Communication between two processors over shared, dualport ram
    • 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/33Director till display
    • G05B2219/33342Master slave, supervisor, front end and slave processor, hierarchical structure
    • 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/33Director till display
    • G05B2219/33344Each slave has several processors operating in parallel
    • 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/34Director, elements to supervisory
    • G05B2219/34367Interrupts, different tasks foreground, midground, background
    • 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/34Director, elements to supervisory
    • G05B2219/34418Scheduler for sequential control, task planning, control sequence
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35243Inserted code calls parallel execution of another program, synchronize

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control By Computers (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、高機能を要求する機械の制御装置に係り、特
に適応制御型ロボット等における高機能な制御を必要と
する制御対象に好適な汎用の制御装置に関する。
〔発明の背景〕
従来、産業用ロボット等における制御装置においては1
例えば文献「トキコレビューVOL、 28 。
&1.pP20〜26.  (1984) Jの「新形
ロボット制御盤の開発(モデル4)Jにみられるように
、制御機能の高度化に対応して、高性能の制御装置が要
求されている。
この種の制御装置は、ロボット等の制御対象を明確にし
た上で、その専用制御装置として提供する場合が多く、
制御対象の台数も一台に限定するのが一般的であった。
このように、制御装置を制御対象ごとに限定して専用的
に使用することを前提としたアーキテクチュアを持つ制
御装置は、制御対象が1つに限られ、しかも実現すべき
機能及びスペックが明確な場合、高い価格性能比を示す
と考えられるが、機能の向上や他の制御対象への流用ま
たは制御対象自体の機能変更に伴う制御装置側の対応、
さらには、複数の制御対象への対応や複数制御要素の協
調制御、センサ情報に応じた適応制御等の問題は本質的
な制御装置の改造や再開発もしくは買い替えを必要とす
る。また、制御の高速、高精度化の要求に褌って、制御
演算等の高速化といったスペック向上の必要性が生じた
場合にも一部分の変更では済まず、制御装置のものを買
い替えるのが一般的であり、将来に渡った価格性能比を
総合的に考察した場合、従来の制御装置はかなり低位の
価格性能比しか有していないものであった。
〔発明の目的〕
本発明の目的は、ホストプロセッサを中心とし、プロセ
ッサを内蔵することによってインテリジェント化及びモ
ジュール化を図り1種々の面での高機能化をユーザーの
ニーズに応じて図ることのできる汎用の制御装置を提供
することにある。
〔発明の概要〕
餉―従来汎用の制御装置としてミニコンやスーパーミニ
コン等が広く使用されているが、制御対象の増加に伴っ
てプロセッサの負荷が増大し、処理能力がオーバーフロ
ーしたり、リアルタイム処理性やセンサベースの適応制
御処理性に欠けていたり、価格が高価であったり等の間
点がある。
以上の様々な問題は、種々の制御対象の特徴や制御処理
負荷に応じて、それらに適した制御システム構造に可変
できるだけのソフトウェア及びハードウェア機能の拡張
性や柔軟性及び統一性が従来の制御装置に乏しいことに
起因してると考えられる。
そこで、ハードウェア及びソフトウェアをすべて統一し
た思想のもとで運用でき、上記の問題点で挙げた今後の
制御装置に要求される多くの有効な特性を実現できる汎
用制御装置のハードウェア及びソフトウェア・アーキテ
クチュアを提供する必要がある。
本発明の制御装置は、各制御要素対応の制御機能をプロ
セッサを内蔵しインテリジェント化を図ったコントロー
ル・モジュールに分担させるハードウェア及びソフトウ
ェア両面でのモジュール化によって、制御要素が増加し
てもそれに対応するコントロール・モジュールを増加す
るだけで全体の処理能力も追従する方式の拡張性、柔軟
性に富むハードウェア及びソフトウェア構造を採るとと
もに、ホストプロセッサを中心として、その管理下にス
レーブ・モジュールを置く階層化構造と、モジュール内
への並列処理構造の導入及び各モジュールが自律して制
御プロセスの進行を制御するモジュール自律型システム
制御とにより、システム制御、システム構造の統一化、
並行プロセスの並列処理、各制御要素の高速、高精度制
御等、ユーザーのニーズに応じた高機能化を図ることが
でき、将来に渡るトータル意味で高い価格性能比を有す
る汎用制御装置のシステム・アーキテクチュアを提供す
るものである。
〔発明の実施例〕
以下、本発明の実施例を図面を参照して説明する。
第1図は本発明の制御装置の一実施例の構成を示すもの
で、この制御装置による制御対象は一例としてロボット
アームとしている。1はホストプロセッサ(HP)で、
このホストプロセッサ1はシステム全体を管理するオペ
レーティング・システムが駐留し、その上で制御プログ
ラムの開発を支援する高級言語と、それにより記述され
オブジェクト化された制御プログラムが走る。さらにこ
のホストプロセッサ1はシステム全体の制御や管理だけ
でなく、システムの状態をユーザーに知らせたり、ユー
ザーの制御プログラム作成作業を援助したりするマン・
マシン・インターフェースの役割も兼ねている。ホスト
プロセッサ1は下位にスレーブ・モジュール群を接続す
るために、バス・バッファ機能とスレーブ・モジュール
19〜22とのハードウェア割込機能とを有するバス・
バッファ・アンド・インターラブド・コントロール・イ
ンターフェイス(BBIC1,F、 ) 2と、そこか
ら拡張された8つ(個数的な制約は特に無い。
主にホストプロセッサの処理能力を考慮して最大拡張個
数を決定する)のエクステンプイツト・データ・スペー
ス・ジェネレータ(EDSG) 3〜1゜を持ち、ホス
トプロセッサ1のI10アドレス空間にアドレスを発生
するためのアドレスレジスタデータの入出力を行うデー
タレジスタをテーブル化して持つことによって、新たに
8つのデータアドレス空間を生成し、ホストプロセッサ
1個有の物理アドレス空間と切りはなして扱えるように
している。これによってスレーブ・モジュール19〜2
2とホストプロセッサ1との間はすべて同等のアドレス
空間及びデータ入出力構造を持つことになり、任意のエ
クステンプイツト・データ・スペース・ジェネレータ(
EDSG) 3〜10に任意のスレーブ・モジュール1
9〜22を接続できるばかりか、同一のスレーブ・モジ
ュールを複数台接続でき、高い統−性及び拡張性が得ら
れる。また、その他に、十分なバスタイミングを得てホ
ストプロセッサ1とスレーブ・モジュール19〜22と
に十分な距離を保障する効果、すなわちホストプロセッ
サ1の個有アドレス空間を侵害しないためハードウェア
的な制約が少なく汎用のオペレーティング・システムを
ホストプロセッサ1上で走らせることができる等他シス
テムとのコンパチビリティの保障が容易である等の利点
を持つ6本実施例においては、さらにエクステンプイツ
ト・データ・スペース・ジェネレータ(EDSG) 3
〜10とスレーブ・モジュール19〜22との間にデュ
アル・ポート・RAM (DPR)11〜18の中間記
憶メモリを設はデータロケーションに関する標準化を図
っている。
次に、エクステンプイツト・データ・スペース・ジェネ
レータ(EDSG) 3〜1o及びデュアル・ボートR
AM (DPR)11〜18を介してホストプロセッサ
1の下位に接続されたスレーブ・モジュール19〜22
について説明する0本実施例においては、2台の6関節
型ロボットアームをセンサフィードバック、視覚フィー
ドバックにより位置補正型適応制御及びアームの協調制
御を行うことを想定している。スレーブ・モジュール1
9及び20はロボット・アーム、コントロール・モジュ
ール(RACM)を構成し、ロボットアームのサーボ制
御、軌跡演算等の運転制御演算及びテーチ点等の必要演
算定数の記憶を行う、24はロボット・アーム・コント
ロール・モジュール(RACN)19の総合管理及びサ
ーボオペレーションを行うマスク・プロセッサ・ユニッ
トであり、ロボット・アーム・コントロール・モジュー
ル(RACM)19内部での基本動作命令であるマクロ
命令の管理やホストプロセッサ1との通信も行っている
符号26に代表される円形は、マスタ・プロセッサ佛ユ
ニット24のローカルI10である。符号25に代表さ
れる3つの四角形は、運動制御演算を高速、高精度で行
うための並列演算プロセッサであり、共通バス34によ
ってマスタ・プロセッサ・ユニット24と接続している
。共通バス34はさらに外部へ拡張されたインテリジェ
ント・ローカル・センサ・コントロール・モジュール(
ILSCM ) 23のマスタ・プロセッサ27と接続
している。このインテリジェント・ローカル・センタ・
コントロール・モジュール(ILSCN )  23は
高速サンプルを必要とするロボット・アーム・コントロ
ール・モジュール(RACN) 19個有のインテリジ
ェント化されたセンサ・コントロール・モジュールであ
り、適応型の高精度制御に用いる。
ロボット・アーム・コントロール・モジュール(RAC
M)についてのハードウェア詳細は後述する。
ロボット・アーム・コントロール・モジュール(RAC
M) 20はロボット・アーム・コントロール・モジュ
ール(RACM) 19と同様のロボット・アーム・コ
ントローラであり、ロボット・アーム・コントロール・
モジュール(RACM 19 )が制御するロボット・
アームと協調動作するもう一つのロボットアームの制御
を担当する。21は視覚により外界の状況を認識してロ
ボット・アームを制御するための画像認識処理装置I(
VPM)である。
この画像認識処理袋!!21はスレーブ・モジュール1
9.20と同様マスク・プロセッサ28と30に代表さ
れる画像処理を並列演算により高速に行うための並列演
算プロセッサとから成る。また29は、並列演算の為の
ステータスをやりとりする共有メモリ、符号30に代表
される円形は処理すべき画像をストアするための3つの
共有メモリフレームを示している。画像認識処理装置(
VPM)21で処理された結果である認識データは、ホ
ストプロセッサ1を通じてロボット・アーム・コントロ
ール・モジュール(RACM) 19 。
20に送られロボットアームの軌跡を補正するのに使用
されるe22はモジュール群共通のインテリジェント化
されたセンサ・コントロール・モジュール(工C3CN
)であり、ロボット・アーム・コントロール・モジュー
ル19,20.画像認識処理装置21あるいはセンサ・
コントロール・モジュール23と同様にマスタ・プロセ
ッサ32が存在し、符号33に代表される円形で示すセ
ンサ用I10及びそれに接続される符号35に代表され
る三角形で示すセンサとから成っている。ここで処理さ
れたセンサ情報はホスト・プロセッサ1を通じてロボッ
ト・アーム・コントロール・モジュール(RACM) 
19 、20及び画像認識処理装置(VPM)21等に
送られ、補正データとして利用される。
以上のように、すべてのモジュールはマスク・プロセッ
サを持ちインテリジェント化されている。
基本制御動作はマクロ命令セットとして各モジュールが
それぞれ持ち、ホストプロセッサ1の指示によって同期
をとりながら各制御要素の制御を行う。これにより、ハ
ードウェア及びソフトウェアの両面におけるモジュール
化を図って統一性、拡張性、適応性の各特性を得ている
第2図はスレーブ・モジュール側からホストプロセッサ
1への割込みサービスを要求するためのエクステンプイ
ツト・データ・スペース・ジェネレータ(EDSG)内
のスレーブ用割込みレジスタ(SIR)37とホストプ
ロセッサ側から見える割込みベクトル型式に修正された
バス・バッファ・アンド・インターラブド・コントロー
ル・インターフェイス(BBICU、F、 )内のホス
ト用割込みベクトルレジスタ()IIVR) 36を示
している。スレーブ・モジュール19〜22は、ホスト
プロセッサ1にマクロ命令の終了を伝えるマクロ命令終
了サービスやデータの転送等を行う一般のサービスジョ
ブを要求する場合、レジスタ(S I R)37の8ビ
ツト目(ビット7)に示される割込み可能又は不可能の
情報を示す割込み受付はフラグ38を参照し、割込み受
付は可能ならば、レジスタ(SIR)37にサービス番
号(7ビツト)を書き込む、レジスタ(SIR)37の
サービス番号が書き込まれると、バス・バッファ・イン
ターラブド・コントロール・インターフェイス(BOX
(:1、F、) 2内でレジスタ(SIR)37の内容
を左に1ビツトシフトし、ビット番号0にゼロが書き込
まれ、さらに、エクステンプイツト・データ・スペース
・ジェネレータCHDSG) 3〜10によって決定さ
れるスレーブ・モジュール番号がビット番号8,9.1
0に、ホストプロセッサ1によって決定される割込みサ
ービスルーチンの先頭番地テーブル(これを単に割込み
ベクトルテーブルと称す)のロケーションを決定する情
報をビット番号11〜15に付は加わえた割込みベクト
ルテーブルを参照するための情報を作成しレジスタ(H
IVR) 36上に現われる。それと同時にホストプロ
セッサ1にハードウェア割込みがかかり、ホストプロセ
ッサ1がそれを受は付けると、まずレジスタ(HIVR
) 36を参照し、引き続いて、その情報から対応する
割込ベクトルテーブルを参照して割込みサービスルーチ
ンの先頭にジャンプする。
スレーブ・モジュールは複数存在するため、レジスタ(
SIR)37もそれに対応して複数存在する。レジスタ
(SIR)37を利用したこれら複数のスレーブ・モジ
ュールからホストプロセッサ1への割込みは、バス・バ
ッファ・アンド・インターラブド・コントロール・イン
ターフェイス(BBIC1,F、 ) 2内でハードウ
ェア的に自動ポーリングされ、1つに選択されてホスト
プロセッサ1に示されるため、各スレーブ・モジュール
に対するホストプロセッサ1のサービスはほぼ平等に行
われることになる。直ちに、受は付けられなかったサー
ビス要求は一時的に保留され、優先順位が1位になった
とき処理される。
第3図はホストプロセッサ1からスレーブ・モジュール
に対して、強制的にサービスを要求する際のホスト用割
込みレジスタ(HIR)39と。
デュアル・ボート・RAM (DPR)11〜18内で
変換されたスレーブ・モジュールから見える割込みベク
トルレジスタ(SIVR) 40を示している。この方
式は前述したレジスタ(SIR)37およびレジスタ(
HIVR) 36と同様であるが、上位バイトの付加情
報はスレーブ・モジュールがレジスタ(SIVR) 4
0上の情報を受は取った後、マスタ・プロセッサ内で生
成され付加される。スレーブ・モジュールから見た場合
ホストプロセッサは1台であるため、レジスタ(HIV
R) 36におけるスレーブ・モジュール番号及び自動
ポーリング機能は必要ない、尚、レジスタ(SIR)3
7及びレジスタ(HIR)39のビット7に示される割
込み受付フラグ38及び41は、レジスタ(SIR)3
7及びレジスタ(HIR)39に値が書き込まれてハー
ドウェア割込みが受は付けられると自動的に割込み受付
は不可の状態にセットされ、矛盾なく次のサービス割込
みを受は付けられる適当な時期に、割込み受付フラグ3
8はホストプロセッサ1によって、フラグ41はスレー
ブ・モジュールのマスタ・プロセッサによってソフトウ
ェアにより割込み受信可の状態に戻される。
ホストプロセッサとスレーブ・モジュールとの情報のや
りとりは大別して4つに分けることができる。以下にそ
れらの各フォーマットについて述べる。
第1はホストプロセッサからスレーブ・モジュールへの
命令伝達である。第4図はデュアル・ボート・RAM 
(DPR)11〜16上に構成されるその命令伝達フォ
ーマットを示している。命令とはホストプロセッサから
スレーブ・モジュールへのマクロ命令の発動を言い、マ
クロ命令の発動は1つのスレーブ・モジュールにおいて
常にシーケンシャルに行われる。つまり、あるマクロ命
令を実行中のスレーブ・モジュールに、その命令が終了
しないうちに次のマクロ命令を指示することはできない
、したがって、マクロ命令を指示する命令レジスタはデ
ュアル・ボート・RAM (DPR)11〜18上に設
け、ハードウェア割込みは使用しない、フォーマットは
以下の4つのフィールドから成る。まず、命令処理が終
了したいとき、ホストプロセッサ1に命令終了サービス
を要求する際、呼び出したジョブプログラム番号を終了
ステータスとしてレジスタ(SIR)37に書き込みエ
コーバックするために、ホストプロセッサ1から指示さ
れた終了ステータスフィールド421次に、必要なデー
タのデュアル・ボート・RAM(DPR)11〜18上
のロケーションアドレスを指示したデータロケーション
アドレスフィールド43.その次に伝達すべきデータ数
を指示したデータ数フィールド44、最後に命令コード
を指示した命令コードフィールド45(これを単に命令
レジスタと言う)の4フイールドである。ホストプロセ
ッサ1は一般に、必要なデータをデュアル・ボート・R
AM (DPR)11〜18にロケーションした後、こ
の4つのフィールドに情報を書き込む、スレーブ・モジ
ュールは命令コードレジスタを見ており、命令がロケー
ションされると、その命令を解析し、必要なデータをデ
ータロケーションアドレスとデータ数をもとにして入手
し。
マクロ命令の処理を行う、尚、命令によっては命令コー
ド以外の各フィールドデータは省略できる場合もある。
またアジレス型式として、データ数が少量の場合、デー
タロケーションフィールドとデータ数フィールドに直接
データをロケーションするイミデイエイトデータ型式4
6を採る命令もある。
第2はホストプロセッサからスレーブモジュールへのサ
ービス割込み要求である。第5図はその要求フォーマッ
トを示している。フィールド型式としては、命令レジス
タのかわりにレジスタ(HIR)39上にサービス処理
番号を要求コードとして書き込むこと以外は第1の場合
と同様である。サービス割込み要求の場合、ハードウェ
ア割込みがスレーブ・モジュール側にかかるため。
マクロ命令処理中も、他の割込みサービスを実行中でな
ければ並行して受は付は可能である。ホストプロセッサ
1は必要なデータをデュアル・ポート・RAM (DP
R)11〜18上にロケーションした後、レジスタ(H
IR)39の割込み受付はフラグ41を知らべ、サービ
ス割込みが受は付は可能であればサービス番号をレジス
タ(HI R)39に書き込む、これにより、スレーブ
・モジュールにハードウェア割込みがかかり、スレーブ
・モジュールのサービス処理を受けることができる。
この情報を伝達方法ではおもにスレーブ・モジュール間
あるいはホストプロセッサとスレーブ・モジュール間で
のデータ転送がサポートされる。
第3は第1の方法に対応してマクロ命令処理の終了処理
をホストプロセッサ1に要求するスレーブ・モジュール
からホストプロセッサ1への命令終了処理サービス要求
である。第6図はその要求フォーマットを示している。
アドレッシングの要領は第1あるいは第2の方法と同様
であり、処理結果のデータロケーション番地を示す処理
データロケーションアドレスフィールドとそのデータ数
を示すデータ数フィールドから成る。スレーブ・モジュ
ールは、マクロ命令処理が終了し、返すべき処理結果が
あるか、あるいは終了ステータスをエコーバックする必
要がある場合には、自身のデュアル・ポート・RAM 
(DPR)に処理結果をロケーションした後、アドレッ
シングフィールドを指示して、第4図の命令レジスタに
ゼロを書き込む(命令ゼロはノーオペレーションを示す
)ことにより、命令レジスタをクリアし、続いてレジス
タ(SIR)37の割込み受は付はフラグ3色を知らべ
、サービス割込みをホストプロセッサ1が受は付は可能
ならばレジスタ(SIR)37に第1の方法により指示
された終了ステータス、すなわちホストプロセッサ1上
で走っているジョブプログラムのうち、マクロ命令の発
動を行ったジョブ番号を書き込む、レジスタ(SIR)
37に要求コードが書き込まれると、ホストプロセッサ
1にサービス割込みが発生し、対応するジョブプログラ
ムのプログラムステップの更新あるいは、命令ステート
メントルーチン中で次のマクロ命令の発動がなされる。
これらのホストプロセッサ1による後処理については後
で詳しく述べる。
第4はスレーブ・モジュールからホストプロセッサへの
一般的なサービス割込要求である。第7図はその要求フ
ォーマットを示している。この情報伝達方式は大きく見
ればホストプロセッサ側では、第3の場合と同等の処理
手続きを採る。ホストプロセッサ1上で起動されるルー
チンが、ジョブプログラム関係のタスクではなく、単な
るサービスジョブルーチンであるという違いがあるだけ
である。スレーブ・モジュール側の処理としては、必要
なデータを自身のデュアル・ポート・RAM(D P 
R)にロケーションし、そのロケーションアドレスとデ
ータ数を設定した後、終了ステータスではなく、サービ
スジョブの番号を要求コードとしてレジスタ(SIR)
37にロードするだけであり、命令レジスタのクリアは
必要ない、この情報伝達方式では、第2の方法と対応し
て、おもにスレーブ・モジュール間あるいはホストプロ
セッサとスレーブ・モジュール間でのデータ転送がサポ
ートされる。
以上の4つの情報伝達フォーマットにより、統一的にホ
ストプロセッサとスレーブ・モジュール間で情報の伝達
がなされる。尚、アドレッシングのバリエーションは命
令コード、又は要求コードの違いによりサポートする。
以下に、上述した4つの情報伝達方式を利用したホスト
プロセッサ1上のオペレーティング・システムの種々の
動作方式及び機能について述べる。
まず上述した第4図、第6図に示すホストプロセッサ1
からスレーブ・モジュールへの命令伝達方式を使用して
必要な制御動作をプログラムしたジョブプログラムのホ
ストプロセッサ1内での処理シーケンスを以下に述べる
第12図は、ジョブプログラムの内部構成を示している
。ジョブプログラム77は、内部的には行番号によって
管理されているプログラムステップの集合体であり1分
岐及びサブルーチン呼出し関係の命令を除いて原則とし
て行番号の若い方から順に処理される。各プログラムス
テップには命令ステートメントと呼ぶ単位の命令語79
が書かれており、命令ステートメントBはさらにホスト
プロセッサ1あるいはスレーブ・モジュールの各モジュ
ールでサポートされるマクロ命令A’ B’C’ D’
により構成され、モジュール群のマクロ命令処理ルーチ
ン80によって処理される。
第8図はジョブプログラムを処理するための各種テーブ
ルと命令、サービス要求及びデータ伝達用の各種レジス
タフィールドを使用したホストプロセッサ1上のジョブ
プログラムとスレーブ・モジュール間での命令、サービ
ス要求及びデータ交換の様子を示している0本発明にお
いては、複数のジョブプログラムが並行して走るが、こ
こではジョブプログラムi(ジョブ1)54に注目して
流れを追ってみることにする。各ジョブには、ジョブコ
ントローラが存在し、中間コードで記述されたジョブプ
ログラムを解読しジョブプログラムの管理とコントロー
ルを行っており、いわばインタープリタの役割を果して
いる。ジョブi54には符号47で示すブヨブコントロ
ーラi (Jobi)が存在する。ジョブコントローラ
(Jobi)47は、新たなプログラムステップの実行
のためジョブi54のサービスが要求されると、初期動
作として、ジョブ番号レジスタ(Jb no i) 4
8にジョブ番号iを書き込みジョブi54のサービス中
であることを示し、ジョブプログラムi54の処理すべ
きプログラムステップに記述された中間の命令ステート
メントコードである命令ステートメント番号nによって
命令ステートメントルーチン開始番地テーブル49を参
照してそこに指示された番地Nより実際の命令処理を行
う命令ステートメントルーチン群50の目的とする命令
ステートメントルーチンnへ処理を移す、命令ステート
メントルーチンでは、ジョブ番号レジスタ48を参照し
てそこに書かれたジョブ番号iに対応するジョブミスタ
ツクを符号51で示すジョブスタック群より作業領域(
ワークエリア)として確保する。
ジョブコントローラi (Jobi)47は中間コード
を入手する際、その命令を実行するのに必要なデータで
あるオペランドデータをジョブミスタツクに取り込んで
いる。オペランドデータは、ジョブコントローラi  
(Jobi)47が命令の内容を知らなくても動作でき
るように、命令ステートメントに記述されたオペランド
データ部をそのままジョブミスタツク51に格納する。
実行中の命令ステートメントルーチンnは、ジョブミス
タツク51で必要な初期データを入手した後、命令ステ
ートメントnの指示している処理を行うためマクロ命令
を起動する。マクロ命令はホストプロセッサ1のサポー
トするものと、スレーブ・モジュール19〜22のサポ
ートするものとがあり、スレーブ・モジュールとのデー
タ転送及びデータ交換も含めて、ホストプロセッサ1が
主体となって動作するマクロ命令に関しては、命令ステ
ートメントルーチンn内で連続的に処理がなされ、スレ
ーブ・モジュール19〜22のいずれが、あるいは複数
のスレーブ・モジュールに処理を依頼するものに関して
は原則的な手続きとして命令レジスタ45がクリアされ
ておりスレーブ・モジュールがノーオペレーションで次
のマクロ命令を受は付は可能であるなら、依頼先のスレ
ーブ・モジュールのデュアル・ポートRAM (DPR
)にデータをロケーションした後、データレジスタA 
(DTRGA )53 (43,44の総称)にデータ
の設定情報を、終了ステータスレジスタ42 (END
ST )に終了ステータスiをそれぞれセットし、最後
に命令レジスタ45に起動すべきマクロ命令mをセット
してマクロ命令処理を起動する。
ホストプロセッサ1はスレーブ・モジュールにマクロ命
令の実行を指示し、現在の状態をジョブスタック51に
格納した後、サービス割込み要求がはいるまでの空時間
を有効に利用するため、おもにマン・マシン・インター
フェイスソフトウェアの動作するバックグラウンドオペ
レーションに処理を戻す、マクロ命令処理が完了すると
、スレーブ・モジュールは原則的な手続きとしてホスト
プロセッサへの割込みが許可されれば、処理結果を自身
のデュアル・ポート・RAM (DPR)にロケーショ
ンし、そのデータ設定情報をデータレジスタB (DT
RGB ) 52にセットした後、終了ステータスiを
レジスタ(SIR)37に書き込み、命令終了処理サー
ビス割込み要求をホストプロセッサ1に対して行うとと
もに次のマクロ命令の処理が可能であることを示すため
命令レジスタをクリアする。この要求をホストプロセッ
サ1が受は付けると、バックグラウンドオペレーション
より復帰し、まずジョブコントローラi47が終了ステ
ータスのSIRレジスタ37からのエコーバック情報i
により、サービス割込みルーチンの先頭番地テーブル5
5を参照してその情報から直ちにジョブコントローラi
47に制御が移される6ジヨブコントローラi47は、
ジョブミスタツク51の命令実行情況を示すフラグを参
照し、そのときまだ命令ステートメントnの実行が完了
していなければジョブ番号レジスタ48にジョブiのサ
ービスを実行中であることを示すジョブ番号iを再度セ
ットし、実行中のプログラムステップの命令ステートメ
ントnの中間命令ステートメントコードnより命令ステ
ートメントルーチン開始番地テーブル49を参照して命
令ステートメントルーチンnに再び処理を移す、この時
はオペランドデータのジョブミスタツクへの移動処理は
必要ないので行わない、これにより、命令ステートメン
トルーチンnは、ジョブミスタツクより状態を復帰し、
スレーブ・モジュールにより処理された処理結果の後処
理を行う0以上の処理を原則として必要なマクロ命令の
処理がすべて完了するまで続ける。命令ステートメント
ルーチンnはその命令ステートメントnが指示している
必要な処理をすべて完了すると、ジョブミスタツク内の
命令実行情況を示すフラグに命令ステートメントnが処
理を完了したことを示し、同スタック内の実行すべきプ
ログラムステップ番号を保持しているプログラムステッ
プ番号レジスタの値菖を次に実行すべきジョブステップ
番号に更新した後、ジョブコントローラi47に処理を
移す、ジョブコントローラi47はプログラムステップ
Ωが更新されたことをジョブミスタツクより知り次の命
令ステートメントを処理するための初期動作にはいる1
以上のシーケンスでジョブプログラムiはスレーブ・モ
ジュールからの終了処理サービス割込みによって自動的
にマクロ命令処理あるいは命令ステートメント処理の更
新がなされるため、ホストプロセッサ1はスレーブ−モ
ジュールがマクロ命令を実行中の大半の時間をバックグ
ラウンドオペレーションに割り当てることができる。
本発明では、以上の説明から判かるように、ハードウェ
ア割込みを利用したスレーブ・モジュール主導型の自律
型システム制御を特徴としている。
尚、ジョブの処理中は特別な場合を除き、原則としてホ
ストプロセッサ1へのハードウェア割込みは禁止されて
おり、ホストプロセッサ1がスレーブ・モジュールにマ
クロ命令処理を依頼している間のバックグラウンドオペ
レーション実行中に原則としてホストプロセッサlへの
ハードウェア割込みを許可している。この期間に他のジ
ョブプログラムの起動が可能となるため、複数のジョブ
が自動的に並行動作することができる。これをマルチ・
ジョブ機能と呼んでいる。ホストプロセッサ1がスレー
ブ・モジュールにマクロ命令処理を依頼中であり、どの
ジョブプログラムのサービスも行っていない場合は、バ
ックグラウンドオペレーションが連続して実行される。
バックグラウンドオペレーションとしては前述した様に
、一般的にはシステム状態をユーザに表示したり、ユー
ザからの指示を受は付は制御動作に反映したり、新しい
ジョブプログラムのニブイト・コンパイル処理を行った
りする。いわゆるマン・マシン・インタ−フエイス処理
を行う、この方式によれば、処理時間の大半を占めると
思われる、スレーブ・モジュールがマクロ命令の処理を
行っている間のホストプロセッサ1の空き時間を有効に
利用できるばかりか、スレーブ・モジュールの処理速度
に同期してジョブが動作するため無駄がなくホストプロ
セッサにかかるソフトウェアオーバーヘッドを減少させ
ることができ、処理負荷等も軽減できる。
また、並列に動作するジョブプログラム数や、新しい命
令ステートメントの増設が容易に可能である等、拡張性
、柔軟性のあるマルチ・ジョブ機能がサポートできる。
次に第9図を参照しながら、第5図および第6図に示し
たサービス割込要求方式を利用してホストプロセッサ1
とスレーブ・モジュール間で情報の伝達がなされるとシ
ーケンスと、スレーブ・モジュール内でのマクロ命令処
理シーケンスについて述べる。
サービス割込要求は、レジスタ(SIR)37及びレジ
スタ(HIR)39によりホストプロセッサ、スレーブ
・モジュールともハードウェア割込みを利用してサポー
トされる。スレーブ・モジュール内のマクロ命令処理は
、命令レジスタ45をスレーブ・モジュールのマスタ・
プロセットが監視しており、ホストプロセッサ1によっ
て有効なマクロ命令番号がそこに書き込まれると、起動
される。これに引き続いてスレーブ・モジュールのマス
ク・プロセッサはそれ自身のデュアル・ボート・RAM
 (DPR)上の必要なデータの存在場所をデータレジ
スタA (DTRGA ) 53のアドレッシング情報
を参照しながらマクロ命令ルーチン群で使用可能な様に
標準化し、次に命令レジスタ45上のマクロ命令番号を
示す命令コードmよりマクロ命令ルーチンの先頭番地テ
ーブル57を参照して必要なマクロ命令ルーチンmに処
理を移す操作を61で実行する。マクロ命令処理の実行
を完了すると前述した様に割込み受付はフラグ38によ
ってホストプロセッサ1のサービス割込み受付けが許可
されたら必要な処理結果を自身のデュアル・ボート・R
AM (DPR)上にロケーションし、ロケーションデ
ータのアドレス情報をデータレジスタB (DTRGB
 ) 52にセットし、起動したジョブプログラムのジ
ョブ番号を示す終了ステータス情報をレジスタ(SIR
)37に書き込みホストプロセッサ1にエコーバックす
る。この時、次のマクロ命令の受は付けが可能になった
ことを他のジョブに知らせるため命令レジスタ45をク
リアする。サービス割込み要求は、レジスタ(HIR)
39を利用したハードウェア割込みによるため、上記の
マクロ命令処理とは並行して別のデープルすなわちサー
ビスルーチン先頭番地テーブル59を参照することによ
り必要なサービスルーチンへの処理の移行を行う、ホス
トプロセッサ1はスレーブ・モジュール19〜22のサ
ービスを必要とする場合、割込み受付はフラグ41によ
りスレーブ・モジュールのサービス割込み受付けが許可
されたら送受すべきデータがある場合には目的とするス
レーブ・モジュールのデュアル・ボート・RAM (D
PR)に必要なデータのロケーションを行い、データレ
ジスタC(DTRGC)56にアドレッシング情報をセ
ットした後、レジスタ(HIR)39にサービス番号を
示す要求コートn (SDMNDn)を書き込み目的と
するスレーブ・モジュールのマスタ・プロセッサへサー
ビス割込みをかける。そのスレーブ・モジュールのマス
タ・プロセッサは、サービス割込み要求を受は付けると
62によってデータレジスタC(DTRGC)56より
標準化したアドレッシング情報を作り出し、続いて、要
求コードに対応するサービスルーチン先頭番地テーブル
を参照して実際のサービスを行うサービスルーチン群6
0の必要なサービスルーチンnへ処理を移す、この際、
もし必要なら命令伝達の場合と同様にホストプロセッサ
1がら終了ステータス付でサービス要求を行い、レジス
タ(SIR)37を利用した終了処理要求をスレーブ・
モジュールから終了ステータスをエコーバックすること
によって行うことができる。この場合エコーバックされ
る終了ステータスはジョブプログラム番号に限らず一般
のサービス番号でも良く、起動されるジョブは要求コー
ドに応じて符号47に代表されるジョブコントローラi
  (Jobi)か又は符号64に代表されるサービス
ジョブt(sJobt)である、サービスジョブが終了
したら割込み受付はフラグ41をサービス割込み許可の
状態にする。スレーブ・モジュールからホストプロセッ
サへのサービス要求の処理シーケンスは、上述した終了
処理要求も含め原則的な手順として。
まず、ホストプロセッサ側の割込み受付はフラグ38に
よってホストプロセッサ1のサービス割込みの受付けが
許可されたら必要なデータを自身のデュアル・ボート・
RAM (DPR)上にロケーションし、データレジス
タB (DTRGB) 52にアドレッシング情報をセ
ットした後、サービス要求番号を示す要求コードiもし
くはtをレジスタ(SIR)37に書き込みサービス割
込み要求をホストプロセッサ1に対して行う、ホストプ
ロセッサ1はその要求を受は付けると、サービスジョブ
の先頭番地を示すサービス割込みルーチンの先頭番地テ
ーブル55を参照し、目的とするサービスジョブに処理
を移す、ここでサービスジョブ先頭番地テーブルはスレ
ーブ・モジュール各々に対応して1セツトずつ存在する
。どのスレーブ・モジュールのテーブルを使用するかは
、レジスタ(HIVR) 36に示されるスレーブ・モ
ジュール番号に従う、もしサポートするジョブプログラ
ム番号の最大値n以下の値であるiがレジスタ(SIR
)にセットされていればホストプロセッサ1はサービス
ジョブとして符号47で示されるジョブコントローラi
  (Jobi)47を起動し、nより大きな値tがセ
ットされていれば、スレーブ・モジュールそれぞれに対
応する一般のサービスジョブ(gJob)64が起動さ
れる9以上よりわかる様に、原則としてサービス割込み
ルーチンの先頭番地テーブル55の0からnまではどの
スレーブ・モジュールのサービスジョブ先頭番地も同等
の値。
すなわちジョブプログラム番号に対応したジョブコント
ローラの先頭番地が指示されている必要がある。67及
び68はジョブプログラムの処理(単にジョブ処理)6
5と一般のサービス処理66からスレーブ・モジュール
への情報伝達をサポートする各種レジスタ45,53,
42,39゜56への原則的なアクセスの可能性を示し
ている。
以上のように、本発明の情報伝達手法は、統一性、拡張
性、柔軟性にすぐれ、汎用性も十分考慮している。
本実施例において、バックグラウンドオペレーションは
スジステム全体を監視する機能と、システムの状態をC
RTやプリンタ等の出力装置に出力したり、その情報か
ら人為的な非常処理をキーボードやライトペン等の入力
装置によって行い、システムの制御に影響を与えたり、
ジョブプログラムの作成、ニブイト、デパック及びコン
パイル処理を行ったり等のユーザとシステムの間のイン
ターフェースを司さどる、いわゆる、マン・マシン・イ
ンターフェースの機能とを有する。原則としてバックグ
ラウンドオペレーションと、制御を司さどる各種の制御
用ジョブ処理とは切りはなされているが、上述したよう
に1例えば、非常処理や異常処理等に人為的な操作が必
要な場合はユーザから直接システムに指示を与えること
ができなければならない。
第10図はシステムのメインとして走る制御用ジョブや
バックグラウンドオペレーションとして動作するエディ
ター中コンパイラ(EDτ訃CにPLR)69を管理し
、バックグラウンドでそれらとユーザとの仲介的な役割
を果たすシステム・モニタ(SYSTEM・にNTR)
78のシステム管理の様子と、ジョブプログラムのエデ
ィト、コンパイル処理をシステム・モニタ78を通じて
ユーザと共に行うエディタ・コンパイラ69の動作の様
子及びメインで動作する各種の制御用ジョブとバックグ
ラウンドオペレーションとの関係を示している。
システム・モニタ78はシステムが矛盾した動作を行わ
ないように、ジョブコントローラ47がジョブプログラ
ム実行用テーブル49.50等とサービスジョブ(SJ
OB) 64と、情報伝達用レジスタ群71を介して7
2に代表される各スレーブ・モジュール(SM)内でサ
ポートするマクロ命令とを利用して必要な制御用プログ
ラムであるオブジェクトジョブプログラム(OJJPR
G) 77の処理を矛盾なく実行しているかどうかを各
種制御用パラメータを監視することによってチェックし
ている。また、スレーブ・モジュール側からの非常処理
要求の監視も合わせて行い、システム状態の管理に必要
なパラメータ及び表示フラグをグラフィック等を利用し
てCRT上に表示することによってユーザ(USER)
 70にシステム状態を通知する役割も果たしている。
ユーザ70は人為的な非常処理が必要な場合、システム
・モニタ78の管理下で変更を許可されるパラメータの
変更や非常処理命令の発動が可能であり、非常処理、異
常処理等に万全の体制をとることが可能となっている。
エディタ・コンパイラ(EDTR−CNPLR) 69
は。
システム・モニタ78の管理下でユーザ70と連絡をと
りながらジョブ・プログラムを作成する。
ユーザ70からキーボードにより入力された命令ステー
トメントを表わす文字列シンボルは、行単位で入力され
ると同時に命令二一モニツクシンボルテーブルに照らし
合わせ、相当する命令二一モニツクシンボルnとマツチ
ングをとり、命令ステートメント番号nに相当する命令
中間コードnを見つけ出し、さらに対応する命令ニーモ
ニック処理ルーチンによってオペランドデータ部を分離
して数値化し、命令中間コードと合わせて定められたフ
ォーマットのオブジェクトコードを作り出す操作を、ユ
ーザ70が命令ステートメントに相当する文字列シンボ
ルを入力するたびに繰り返し、オブジェクト・ジョブプ
ログラム77を作成していく、ジョブプログラムをユー
ザ70に示すときはこれと逆の操作をたどり、オブジェ
クト・ジョブプログラム77に記述された各プログラム
ステップの命令中間コードから、命令ニーモニック処理
ルーチン先頭番地テーブル73と命令二−モニックシン
ボル先頭番地テーブル74を参照して。
当てはまる命令ステートメントとオペランドデータ部の
文字列のシンボル化を命令ニーモニック処理ルーチン群
75と命令二一モニツクシンボルテーブルとによって行
い、リストとしてCRTに表示する。ユーザ70はエデ
ィター・コンパイラ69及びシステムモニタ78の管理
下で、CRTに出力されたリストに対し、スクリーンニ
ブイトによって変更、追加、削除等のデバッグ作業を行
うことができる。一方、符号64及び47に代表される
制御用の各種ジョブは、情報伝達用レジスタ群71を通
してスレーブ・モジュール群72のサービスジョブ又は
マクロ命令処理と交信し、ホストプロセッサ1の内部で
はジョブコントローラ47が符号50.49に代表され
るジョブプログラム実行分テーブルを利用しながらオブ
ジェクトジョブプログラム77を1ステツプずつ実行し
ていく。
以上のように、命令実行処理も含めてすべてテーブルに
よって管理されているので、命令ステートメントの追加
、削除、マクロ命令の増加等が容易に行えるため、ソフ
トウェア的な機能向上を図りやすい、さらに、命令ニー
モニック・シンボルの定義が容易に行えるため、高級ロ
ボット言語等の様々な制御用高級プログラミング言語の
サポートが比較的容易に行える。
次に1本発明の実施例をサポートするところの並行に動
作可能なプロセス間でデータのやりとりや同期をとりな
がら、それらのプロセスを協調して並列処理する機能に
ついて述べる。
本実施例においては、n個のジョブ・プログラムを登−
でき、並行動作させることができる。その他、各スレー
ブ・モジュール及びホストプロセッサは、各動作の先行
関係に制約がなければ、それらによるマクロ命令処理は
原則として互いに並列処理できる。すなわち、モジュー
ル各々はそれぞれプロセッサを有し、自律的に動作でき
るため。
原則として並列動作が可能な訳である6本実施例におい
ても、複数のジョブプログラムの協調型並列動作及び並
行処理可能なマクロ命令の並列処理をサポートする機能
を、並行プロセス同期用の命令ステートメントと、並行
動作するジョブプログラム間でデータやステータスのや
りとりを行うための共有パラメータとを持つことにより
実現している。
第11図はジョブプログラム間の同期と、パラメータの
共有及び共通サブルーチンプログラムの共有の様子を、
協調して動作し制御を行う2つのジョブプログラムの並
行動作を例にとって示している。81はジョブプログラ
ム(1)として動作する制御用ジョブの例、83はジョ
ブプログラム(2)としと動作する制御用ジョブの例を
示しており、いずれも上位から下位にかけて処理が進行
し、最下位のプログラムステップで先頭ヘジャンプして
ループを構成している。尚、各プログラムステープの左
端の数字は、プログラムステップ番号を示している。処
理の先行関係に制約があり、ジョーブ間で同期をとる必
要が生じた場合同期化命令5ynch nを双方の適当
なプログラムステップに挿入すれば良い、ジョブプログ
ラム(1)79のプログラムステップ2とジョブプログ
ラム(2)80のプログラムステップ3とで同期をとり
協調する必要がある場合、例えば同期化命令5ynch
 Oを双方に挿入する。同期化命令5ynch nのオ
ペランドnが一致する同期化命令を持ったプログラムス
テップで、同期化を指示されたジョブプログラムは自動
的に同期化される。同期化が行われると、同期化の対象
となってすべてのジョブプログラムは、同期化命令の次
のプログラムステップの処理を同時に開始することにな
る。処理開始の時期は、同期化の対象となったジョブプ
ログラム中、最も処理進行の遅れているジョブが、最後
に同期化命令の処理を実行した直後である。
同期化命令5ynch nのステートメントによる同期
化処理は、内部的に次のシーケンスによって行われる。
ジョブコントローラが同期化命令5ynchnのステー
トメントをフェッチし、それに対応する命令ステートメ
ントルーチンに処理を移すと。
そこでは、まず5ynch nの同期化処理が、同期す
べき他のジョブで開始されているかどうかを示す5yn
ch nの同期化開始フラグを見て、クリアされていれ
ば自分が最初に同期化処理を開始した事を知り、そのフ
ラグをセットする6次に、クリアされている5ynch
 n用の同期化レジスタを1つのインクリメントし、5
ynch nによって同期すべきジョブ数と同期化レジ
スタを比較して等しくなければ、ハードウェア割込みを
許可し、同期化レジスタが他のジョブによってクリアさ
れゼロが書き込まれるのをチェックするチェックループ
の処理に移行する。通常、ジョブコントローラ及び命令
ステートメントルーチンにおいてはハードウェア割込み
を禁止しているが、ホストプロセッサ単独で処理を行う
命令ステートメントの処理のうち待ちループ等による処
理待ち状態が生じたり、処理に長時間要する場合にはハ
ードウェア割込みを適当な時期に許可してから必要な処
理を実行する。この方法によれば、他のジョブのジョブ
コントローラ動作やサービスジョブの処理がその間可能
となるため、他の並行に動作するジョブの進行を妨げる
恐れがない。同期化命令5ynch nのステートメン
トにおいても同様の考えに基づく、この後、同期化命令
5ynch nのプログラムステップに到達したジョブ
から順に同様の処理を行う、最後に同期化命令5ync
h nを実行したジョブは、必然的に5ynch n用
の同期化レジスタが同期すべきジョブ数と一致したこと
を知り、同期化レジスタにゼロを書き込んでクリアし、
同期化命令5ynch nの処理を終了して次のプログ
ラムステップへ移行し、適当な時期にリターンする。そ
のとき、システムスタック内のリターン時にCPUのス
テータスレジスタに復帰されるべき割込み許可にセット
されているはずの割込みフラグをハードウェア割込み不
許可の状態にセットしておく、そして今度は。
gynch n用同期化レジスタをインクリメントして
いったジョブ類とは逆に同期の対象となるジョブのチェ
ックループへリターンして行き、同期化命令5ynch
 nの処理を終了していく、この際、最後にチェックを
行うジョブを除き、システムスタック内のリターン時に
CPUのステータスレジスタに復帰されるべき割込みフ
ラグをハードウェア割込み不許可の状態にセットしてお
く操作をチェックループをぬけた後で実行しておき、同
期化処理が他の割込み処理に妨げられず連続的に実行さ
れる様に配慮しておく0以上の様なシーケンスに従えば
、最後にチェックを実行するジョブは、最初に同期化処
理を開始したジョブである。このジョブはチェックルー
プをぬけた後、同期化開始フラグをクリアして同期化命
令5ynch nの処理を終了し、割込みフラグの操作
は行わない、同期化命令5ynch nのオペランドn
を変えることにより、複数の同期化機能を利用すること
ができる。
83は共有パラメータ(cp)のファイルを示している
。共有パラメータ83はそれを必要とする各ジョブプロ
グラム内で定義し、宣言することで使用可能になる。ま
た、共有パラメータ群を宣言し、群単位でその使用権が
どのジョブに属するかを明確化するLock(M)命令
ステートメントによりLockを解除するまで指定した
パラメータ群を占有することもできる。Lock(M)
命令ステートメントを使用すれば、他のジョブに侵害さ
れず、共有パラメータ群の内容変更あるいは内容読み出
し処理が可能となる。
84は並行動作する複数のジョブから呼び出し可能な共
通サブルーチン・プログラムを示している。ジョブプロ
グラムは、前述したように、並行動作するそれぞれのジ
ョブプログラム主に対応してジョブコントローラiとジ
ョブミスタツクが存在するが、共通サブルーチンプログ
ラムには専用のジョブコントローラ及びジョブスタック
は存在せず、ジョブプログラムiから呼び出された場合
は、ジョブコントローラiの管理下で、ジョブミスタツ
クを使用して処理され、ジョブプログラムjから呼び出
された場合はジョブコントローラjの管理下で、ジョブ
ミスタツクを使用して処理される。これより、プログラ
ムステップの節約及びプログラムのライブラリー化が可
能となる。
以上の機能を総称してマルチ・ジョブ機能と呼び、これ
によって、例えば、複数のロボットの群制御や協調制御
等、複雑な制御機能をサポートできる。また、並列処理
を行うことになるので、処理効率や処理能力の向上につ
ながる。
第13図は、1つのジョブプログラム内で、複数のスレ
ーブ・モジュールを対象にプログラムする際の並行プロ
セスの記述の仕方と、それに対応する実際の処理の様子
を示している。85は通常の処理を示しており、符号8
8に示すように、命令ステートメントA、B、Cは、プ
ログラムステップ番号n 、 ’ n + 1 、 n
 + 2に従って順に直列に処理されていく、ここで、
命令ステートメントA。
B、Cはそれぞれ別のスレーブ・モジュールで処理され
、並列に処理可能な並行プロセスである場合、コンカレ
ント・プロセス・プレフイクス(CPn−)により並行
プロセス宣言を行っておく。そして1つのジョブ内での
並行プロセスの同期をとるためのWTn命令ステートメ
ントにより。
WTI、2.3として並行プロセスCPI−A。
CF2−B、CF2−Cの同期をとるようにプログラム
している。このときの動作の様子は、符号89で示すご
と<A、B、Cの処理が同時に開始され、処理終了時刻
の1番遅いCの処理に同期している。87は並行プロセ
スとしてCPI−A。
CF2−Bを同時にスタートさせ、次のステップでWT
IによりCPI−Aを待ち、Aの処理が終了したら並行
プロセスとしてCF2−Cをスタートさせ、最後にWT
2,3でCF2−B、CF2−Cを待ち、B、Cの同期
をとって命令ステートメントA、B、Cの処理を完了し
ている。その動作の様子を符号90に示す。
以上かられかるように、WT、、、、、という同期用命
令ステートメントは、フンカレントプロセスQ (CP
 a  XJ? In (CP wa  Xj t n
(CP *−X、)・・・がすべで終了するまで待つ命
令である。
コンカレントプロセス処理及びWT、、、、、命令ステ
ートメントの内部処理は、まず、コンカレント・プロセ
ス宣言された並行プロセスは、命令ステートメントルー
チンでスレーブ・モジュールにマクロ命令の指示を行う
際、処理ステータスとしCジョブプログラム番号を与え
るのではなく、コンカレント・プロセス処理サービスジ
ョブのサービスジョブ番号を与え、マクロ命令処理の終
了の確認せず次のプログラムステップへ移行する。コン
カレント・プロセス宣言された命令ステートメントルー
チンの指示したマクロ命令処理は、スレーブ・モジュー
ルがその処理を終了した時に、レジスタ(SIR)37
にコンカレント・プロセス処理サービスジョブのサービ
スジョブ番号を返すため、ジョブコントローラが動作す
るのではなく。
コンカレント・プロセス処理サービスジョブが動作する
。そこでは、指示された並行プロセスが終了した事を示
す並行プロセス終了フラグをセットする。ジョブコント
ローラがW T a 、 1.命令ステートメントをフ
ェッチし、その命令ステートメントルーチン処理にはい
ると+ 411 mHnで示されたコンカレントプロセ
スの処理がすべて終了したことを確認するためQ、m、
nに対応する並行プロセス終了フラグを知らべ、それら
がすべてセットされるまでチェックを続ける。この時、
他のジョブが動作可能な様に、ハードウェア割込みを許
可しておく、WT命令ステートメントによって指示され
た並行プロセスの同期チェックが完了すると、次のプロ
グラムステップへ移行する。尚、並行プロセス終了フラ
グは、そのチェックを完了した際にクリアしておく0以
上のようにして、1つのジョブ内での並行プロセスの並
列処理が可能となり、これによって処理能力の向上が期
待できる。
最後に、制御対象を、主として機能の違いによりいくつ
かの制御要素に分解し、制御機能を分散して担当する各
制御要素対応のスレーブ・モジュール・コントローラ(
単にスレーブ・モジュールと称してきた)の内部ハード
ウェア構成について詳述する。
本発明実施例の制御対象は、複数のロボットアームを主
とする作業用ロボットとそれらを作業対象の特性や特徴
さらには様々な作業環境に応じてロボットアームを適応
制御するための種々のセンサ群であり、1つのシステム
化されたものを想定している。それに必要なスレーブ・
モジュールとして、第1図に示したように、ロボットア
ームを制御するロボット・アーム・コントロール・モジ
ュール(RACM) 19 、20、視覚を制御し物体
を認識して作業対象の特徴を把握するビジュアル・プロ
セッシング・モジュール(VPM)21.システムの作
業環境を認識し、システム全体の制御に反映するインテ
リジェント・コモン・センサ・コントロール・モジュー
ル(IC8CN ) 22、ロボットアーム個有のセン
サ情報を高速に提供するインテリジェント・ローカル・
センサ・コントロール・モジュール(ILSCM ) 
23等のスレーブ・モジュールを例として挙げている。
前述したように、これらのスレーブ・モジュールはそれ
ぞれマスタ・プロセッサを内蔵してインテリジェント化
されており、ホストプロセッサから指示されるマクロ命
令処理やサービス要求処理を可能な限り独立して自律的
に実行する。
第14図はロボット・アーム・コントロール・モジュー
ル(RACM) 19を例にとってスレーブ・モジュー
ル内のハードウェア構成を示したものである。91はマ
スタ・プロセッサ・ユニット24を含むメインのコント
ローラ部を示す、91は単独でスタンドアローン型の安
価な制御装置としてクローズする構成になっており、単
一制御ユニットと称している。マスタ・プロセッサ・ユ
ニット(MST−PU)2417)内部は、CPUとメ
モリ(M)及びそれらを機能的に補助するCPUの周辺
チップを含む内部入出力デバイス(IN  l10)か
ら成り、内部ローカルバス109をバスインターフェー
ス(B1.F)107を通してマスタ・ローカルバス(
MST LOCAL Bus ) 100として外部に
提供している。98はマスク・ローカル・バス100上
の外部I10デバイス用インターフェース群であり、符
号99で示すように、外部にいくつかの必要なI10デ
バイスを直接接続することを可能にする機能を提供する
。94は高速デジタルサーボ系を構成するためのデータ
・シグナル・プロセッサ(DSP)であり、デュアル・
ボート・RAM (DPR)94を介してマスタ・ロー
カル・バス100と接続している。96はデュアル・ボ
ート・RAM (DSP)94用のメモリ(M)、10
1はデュアル・ボート・RAM(DSP)のバスを示し
ている。97は制御対象93内のサーボアンプ105及
び多関節ロボットアーム(ROBOT ARM ) 1
06を制御するためのサーボユニット(SVU)を示し
、多関節ロボットアームの各軸に対応して設けられてお
り、エンコーダカウンタ等を内蔵してデジタル・サーボ
処理におけるデュアル・ボート・RAM (DSP)9
4とのインターフェース的役割を果たしている。
サーボユニット(SVU)を、デュアル・ボート・RA
M (DSP)のバス101上に増設していくことによ
り、ロボットアームの軸数拡張に対応することができる
。ホスト・プロセッサとは、マスク・プロセッサ・ユニ
ット24の内部バスからバスインターフェース(B 1
.F、) 102を通し。
さらにデュアル・ボート・RAM (DPR)11を介
して接続されている。さらに特徴的なのは。
マスク・プロセッサ・ユニット24の内部バスからバス
インターフェース(B1.F、)108を通して共通バ
ス34への接続を可能にしており、制御対象の複雑化に
伴う制御演算の増大や高速、高精度制御への対応ができ
る様に並列演算ユニット92を拡張接続できる方式を採
っている。並列演算ユニットは、一般的に符号25に代
表される複数の拡張プロセッサ(EXT、PU)と共有
メモIJ (CM)103及び共有I10 (CIlo
)104とから成り、演算負荷に応じて拡張プロセッサ
を増設できるようになっている0本発明の実施例におい
ては、ロボットアームの運動制御をサポートする高速サ
ンプルの関節角制御演算やトルク、ダイナミックス計算
等の運動制御演算を加減乗除算のレベルまで分解し並列
化して実行するマルチ・インストラクション・ストリー
ム・マルチ・データ・ストリーム(Multi−Ins
tructionstrsas+ Multi−Dat
a stream)  (MIMD)型の完全並列処理
によって絶対的に高速化し、リアルタイム処理性能の向
上を図っている。なお、並列演算ユニットへの命令及び
データの指示もマスタ・プロセッサ・ユニット24が行
い、情報の交換は共有メモリ(CM)103上で行われ
る。また、共通バス34上には、ロボットアーム・制御
個有に必要なセンサコントローラであるインテリジェン
ト・ローカル・センサ・コントロール・モジュール(I
LSCM ) 23を接続でき、高速サンプルの必要な
センサ処理及びコントロールを行う、このように、共通
バス34は様々な用途のプロセッサ・ユニットが接続可
能なため、ロボット・アーム・コントロール・モジュー
ル19のシステムバスと考えられ、そこにインテリジェ
ント・ローカル・センサ・コントロール・モジュール(
ILSCM )23に代表されるスレーブ・モジュール
を接続していくことによって、ロボット・アーム・コン
トロール・モジュール(RACM) 19をホストとし
た階層化構造に拡張していくことができる。
以上述べた本発明の制御装置の実施例の特徴及び利点に
ついて以下にまとめてみる。
本発明は、ホストプロセッサを中心として、プロセッサ
を内蔵することによりインテリジェント化及びモジュー
ル化を図った。制御対象の各制御要素対応の制御機能を
分担して持つスレーブ・モジュールを、その管理下に双
方向の高速通信機構によって複数台接続していく機能分
散、階層化アーキテクチュアを特徴とする。ホストプロ
セッサとスレーブ・モジュール間の通信は、ハードウェ
ア及びソフトウェア両面で統一化されており、必要な制
御動作は、ホストプロセッサ及びスレーブ・モジュール
の持つ機能をマクロ命令化し命令セットとして各モジュ
ール内に持ち、ホストプロセッサ上の制御用プログラム
すら必要なマクロ命令の実行を指示することによって行
うことができる。
以上の特徴より、ロボットの群制御や適応制御等。
制御の複雑化に伴うハードウェア及びソフトウェアの拡
張が、スレーブ・モジュールの増設やマクロ命令の増設
によって容易に行え、通信のフォーマット化やマクロ命
令セットによる制御機能のサポートによりシステム制御
を統デ的に行える等、高い拡張性と統一性を提供できる
。また、ホストプロセッサとスレーブ・モジュール間で
は、ハードウェア割込みによるサービス要求をお互い指
示し合うことができ、スレーブ・モジュールからホスト
プロセッサへあるいはホストプロセッサからスレーブモ
ジュールへサービスジョブを依頼し、おもにモジュール
間のデータ転送やデータ交換時の情報伝達をサポートで
きる。マクロ命令の終了処理もスレーブ・モジュールか
らホストプロセッサへのハードウェア割込みによる処理
終了サービス要求により行われ、この情報をもとにホス
トプロセッサは対応するジョブプログラムの進行制御を
行う、すなわち、スレーブ・モジュールからの割込み制
御によりスレーブ・モジュールの処理速度に同期して、
対応するジョブプログラムの実行がなされるため、複数
のジョブプログラムの実行制御が自動的に行われ、これ
により複数のジョブを並行動作させて複数の制御対象を
制御することができるマルチ・ジョブ機能を提供してい
る。またこの方式のシステム制御を採ることによって、
スレーブ・モジュールがマクロ命令を実行中のホストプ
ロセッサの空き時間を、システムの状態を管理し、シス
テムが矛盾なく動作しているかどうかをチェックして、
矛盾がある場合に非常処理や異常処理を行ったり、ユー
ザーとシステムとのインターフェースを司さどるバック
グラウンドオペレーションに利用できる等、すべてのプ
ロセッサを効率良く動作させることができる。これらの
システム制御に関する特徴により、複数台のロボットの
群制御や協調制御、センサモジュールをベースにした適
応制御等の並行協調動作を行う複数制御要素から成る制
御対象の総合制御等、高度な機能をサポートできる。ま
た、異常処理に対するサポートもユーザーと対話しなが
らホストプロセッサ上で柔軟に実施することができる。
システムの必要な制御動作をプログラムしたジョブプロ
グラムは、各プログラムステップを構成する命令ステー
トメントの単位ですべてテーブルによりホストプロセッ
サ上で管理され、ユーザーは制御用プログラムを命令ス
テートメントそれぞれに対応する命令二一モニツクシン
ボルにより定義された高級プログラミング言語で記述で
きる。これらのテーブル化による命令処理及び高級プロ
グラミング言語のサポートは、命令ステートメントの増
設や他の高級プログラミング言語への移行を容易にする
ため、ユーザー側からみた使い勝手の高機能化。
拡張性及び柔軟性を提供する。最後の特徴として。
各制御用スレーブ・モジュールは、必要なら、リアルタ
イム処理性能を向上させるため、並列演算用プロセッサ
を増設して制御演算を完全並列に処理し、高速、高精度
制御のニーズに応える外部プロセッサ拡張機能を持つ。
これにより、制御対象の制御処理負荷に応じて並列演算
用外部プロセッサの増設ができ、制御対象の複雑化によ
る処理能力ネックを防止している。
以上の特徴、利点によって、本発明の制御装置の実施例
は、ハードウェアならびにソフトウェアにおける拡張性
、システム制御の統一性、様々なニーズに対応できる柔
軟性、汎用性及び適応性等の各特性にすぐれ、高速、高
精度制御にも対応できるユーザーのニーズに応じた高機
能化が実現可能であり、将来に渡るトータルな意味での
高い価格性能比を有した、マイクロ・プロセッサベース
の汎用制御装置を提供することができる。
〔発明の効果〕
本発明によれば、ユーザーが望む必要最小構成の最適シ
ステム設計、将来の機能向上に伴うソフトウェア、ハー
ドウェア両面での拡張性、制御対象の変更や機能の変化
に伴う制御プログラムの変更、複数の制御対象の統一的
、並行的あるいは協調的制御、センサからの情報に基づ
く複数制御対象の自律型あるいは協調型適応制御等、様
々な面での高機能化が、ユーザーのニーズに応じて行え
る効果を有する。
【図面の簡単な説明】
第illは本発明の装置の一実施例の構成図、第2図及
び第3図は情報伝達用レジスタの構成図。 第4図〜第7図は情報伝達フォーマットを示す図。 第8図及び第9図はホストプロセッサとスレーブ・モジ
ュール内のジョブ処理用テーブルと内部におけるジョブ
処理方式を示す図、第10図はバックグラウンドオペレ
ーションとメインの制御用ジョブとの関係を示す図、第
11図はマルチ・ジョブを説明する図、第12図はジョ
ブプログラムの構成を示す図、第13図は並行プロセス
の記述と実際の処理の流れを示す図、第14図はロボッ
ト・アーム・コントロール・モジュールのハードウェア
構成を示す図である。 1・・・ホストプロセッサ、11〜13・・・デユアル
ーポート・RAM (DPR)、19〜22・・・スレ
ーブ会モジュール、37・・・スレーブ・モジュール・
インターラブド・レジスタ(SIR)、40・・・ホス
ト・プロセッサ・インターラブド・レジスタ(HIR)
、42・・・終了ステータス・レジスタ、45・・・命
令レジスタ、47・・・ジョブコントローラi、5o・
・・命令ステートメントルーチン群、51・・・ジョブ
スタック群、55・・・サービスルーチン先頭番地テー
ブル、58・・・マクロ命令ルーチン群、64・・・サ
ービスジョブt%75・・・命令ニーモニックルーチン
群、76・・・命令ニーモニックシンボルテーブル、7
7・・・オブジェクト・ジョブ、プログラム、78・・
・システムモニタ、69・・・エディター・コンパイラ
、7o・・・ユーザー、79・・・命令ステートメント
、81・・・ジョブプログラム(1)、82・・・ジョ
ブプログラム(2)、83・・・共有パラメータ。 84・・・共通サブルーチン・プログラム、24・・・
マスク・プロセッサ・ユニット、25・・・拡張プロセ
ッサ・ユニット、91・・・単一制御ユニット、92・
・・並列演算ユニット、93・・・制御対象。 第 1  図 ¥r、z  邑 f 3 呂 業4図 ¥:J 5 図 冨 t 図 第 7 図 冨 ど 目 冨 q 口 K  to  口 1fJIl  図 第  13   図 寡 t4  図

Claims (1)

  1. 【特許請求の範囲】 1、高機能な制御を要求する機械のための制御装置にお
    いて、システム全体を管理するオペレーティングシステ
    ムと、制御用プログラムが駐留するホストプロセッサと
    、プロセッサを内蔵し、制御対象の各制御要素に対応し
    て制御機能を命令化したマクロ命令セットを持つことに
    よりインテリジェント化及びモジュール化を図つたスレ
    ーブ・モジュールとを備え、スレーブ・モジュールを、
    双方向の高速通信手段によつてホストプロセッサに密結
    合しこれらを複数設置して構成したことを特徴とする制
    御装置。 2、特許請求の範囲第1項記載の制御装置において、ホ
    ストプロセッサとスレーブ・モジュールとの間の通信制
    御手段は、各スレーブ・モジュールからホストプロセッ
    サへそれぞれ独立にハードウェア割込みをかけ、種々の
    サービス処理を要求することが可能なスレーブ・モジュ
    ール割込みサービス要求機能を持つことを特徴とする制
    御装置。 3、特許請求の範囲第1項または第2項記載の制御装置
    において、ホストプロセッサとスレーブ・モジュールと
    の間の高速通信手段は、スレーブ・モジュールからホス
    トプロセッサへの割込みを制御するスレーブ・モジュー
    ル割込み要求レジスタとホストプロセッサからスレーブ
    ・モジュールへの割込みを制御するホストプロセッサ割
    込み要求レジスタと、中間記憶媒体としてのデュアルポ
    ートRAM(DPR)とを各スレーブ・モジュールに対
    応してそれぞれ有することを特徴とする制御装置。 4、特許請求の範囲第1項記載の制御装置において、各
    スレーブ・モジュール及びホストプロセットは各モジュ
    ールそれぞれに分担した機能をソフトウェアによりマク
    ロ命令化して各モジュールの命令セットとしてそれぞれ
    のモジュール内に保持し、ホストプロセッサ上のシステ
    ムの必要な制御動作をプログラムした制御用プログラム
    であるジョブプログラムにおける各プログラムステップ
    を、それらのマクロ命令を使用してホストプロセッサ上
    で定義された命令ステートメントによつて記述し、各モ
    ジュールに必要なマクロ命令を適宜実行させることによ
    り必要な制御を行うことを特徴とする制御装置。 5、特許請求の範囲第1項、第2項、第4項のいずれか
    に記載の制御装置において、システムの必要な制御動作
    をプログラムした制御用プログラムであるジョブプログ
    ラムを実行する際、ジョブプログラムを構成する各プロ
    グラムステップは、ホストプロセッサのみで実行可能な
    ものを除き、各プログラムステップに指示された命令ス
    テートメントで実行しなければならないマクロ命令の処
    理を必要なスレーブ・モジュールに依頼し、そのマクロ
    命令の処理をスレーブ・モジュールが終えた時にスレー
    ブ・モジュールからホストプロセッサへハードウェア割
    込みをかけ、指示されたマクロ命令の処理が完了し必要
    なデータが出そろつたことをホストプロセッサへ知らせ
    てサービスを要求し、ホストプロセッサはその割込みサ
    ービス要求を受けて、必要ならスレーブ・モジュールに
    よつて処理されたデータの後処理や次のマクロ命令の起
    動もしくは次のプログラムステップへの移行処理を行う
    手法により制御用プログラムの進行制御を行うことを特
    徴とする制御装置。 6、特許請求の範囲第1項、第2項、第5項のいずれか
    に記載の制御装置において、スレーブ・モジュールが依
    頼されたマクロ命令の処理を終えた時に行うホストプロ
    セッサへのマクロ命令処理完了を示すサービス割込み要
    求により制御用プログラムの進行制御を行うモジュール
    自律型システム制御によつて複数の制御プログラムを自
    動的に並行処理する方式のマルチ・ジョブ機能を有する
    ことを特徴とする制御装置。 7、特許請求の範囲第1項または第4項記載の制御装置
    において、ホストプロセッサを含む各モジュールの有す
    るマクロ命令セットは、各モジュールごとに命令コード
    に相当するマクロ命令番号によつてテーブル化して管理
    されており、ホストプロセッサ上の必要な制御動作をプ
    ログラムしたジョブプログラム各々でユーザーが必要な
    制御動作を実現するためにジョブプログラムの各プログ
    ラムステップで用いる命令ステートメントは、ホストプ
    ロセッサを含む各モジュールのマクロ命令セットを使用
    してホストプロセッサ上で命令ステートメントルーチン
    として定義され、命令ステートメントを表わす中間命令
    ユーザーに相当するステートメント番号によつて必要な
    情報をテーブル化及びルーチン化してホストプロセッサ
    上に持ち、すべてテーブル処理によりジョブプログラム
    の実行を実現することを特徴とする制御装置。 8、特許請求の範囲第1項または第7項記載の制御装置
    において、システムの必要な制御動作を実現するための
    ジョブプログラムは、ホストプロセッサで実行可能なオ
    ブジェクトプログラムである、中間命令コードと、制御
    用オペランドパラメータであるオペランドデータ部とか
    ら成る数値コードで、ジョブプログラムの各プログラム
    ステップを構成する各命令ステートメントを表わしたオ
    ブジェクトジョブプログラムとしてホストプロセッサ上
    に駐留し、ユーザーがジョブプログラムとしてシステム
    の必要な制御動作を実際にプログラムとして記述する際
    の各命令ステートメントに対応する命令コード記述用文
    字列シンボルである命令ニーモニックシンボルと、命令
    ニーモニックシンボルを中間命令コードと対応づけ、命
    令ステートメントの命令コード部と制御用パラメータに
    相当するオペランドデータ部の文字列シンボルから数値
    コードへの変換及び数値コードから文字列シンボルへの
    変換を行う命令ニーモニック処理ルーチンとを命令ステ
    ートメント番号に対応してテーブル化及びルーチン群化
    して持つことにより高級制御用言語で制御用プログラム
    の記述が可能なことを特徴とする制御装置。 9、特許請求の範囲第1項、第5項、第6項、第7項の
    いずれかに記載の制御装置において、ユーザーによつて
    システムの必要な制御動作を記述したジョブプログラム
    の実行は、並行に動作する複数のジョブプログラムそれ
    ぞれに対応して存在するインタプリンタの役割を果たし
    、ホストプロセッサのみで実行可能な命令ステートメン
    トを除きスレーブ・モジュールからの指示によつてプロ
    グラムステップの進行制御がなされる方式のジョブコン
    トローラによつて管理し、ジョブプログラムの処理を行
    うことを特徴とする制御装置。 10、特許請求の範囲第5項、第6項、第7項、第9項
    のいずれかに記載の制御装置において、システムの必要
    な制御動作をプログラムした並行に動作し得る複数のジ
    ョブプログラムそれぞれに対応し、その作業領域として
    ジョブスタックを設け、ジョブプログラムそれぞれに対
    応して存在し、ジョブプログラムの実行を管理するジョ
    ブコントローラは、プログラムステップの進行が指示さ
    れると、自分自身のジョブ番号をホストプロセッサがサ
    ービス中のジョブプログラム番号を表示するジョブ番号
    レジスタにストアし、必要な情報をそのジョブに対応す
    るジョブスタックに格納した後、実行中のジョブプログ
    ラムのプログラムステップ番号を示すプログラムステッ
    プ番号レジスタの内容に従つて、実行すべきプログラム
    ステップを読み出し、そこに書かれた命令ステートメン
    トの中間コードである命令ステートメント番号に対応し
    てテーブル化された命令ステートメント開始番地テーブ
    ルを参照して、命令ステートメントの処理を行う命令ス
    テートメントルーチンに処理を移し、そこでは、ジョブ
    番号レジスタに表示されたサービス中のジョブ番号から
    そのジョブプログラムに対応するジョブスタックをワー
    クエリアとして選択し、その上に保持された必要な情報
    と、サービス中のジョブに対応して新たにスレーブ・モ
    ジュールから得られた情報とによつてサービス中のジョ
    ブに応じた処理を行い、サービス中のジョブにおける現
    在のプログラムステップ番号を保持してるジョブスタッ
    ク上のプログラムステップ番号レジスタの内容を次に実
    行すべきプログラムステップ番号に更新した後、ジョブ
    コントローラに処理を戻す方式の処理シーケンスによつ
    てジョブプログラムを実行していくことを特徴とする制
    御装置。 11、特許請求の範囲第1項または第5項記載の制御装
    置において、ホストプロセッサがマクロ命令の処理をス
    レーブ・モジュールに依頼し、マクロ命令処理の終了を
    知らせるサービス割込み要求がスレーブ・モジュールか
    ら出されるまでのホストプロセッサの空き時間をバック
    グラウンドオペレーションに割り当て、有効に利用する
    ことが可能であることを特徴とする制御装置。 12、特許請求の範囲第1項または第11項記載の制御
    装置において、スレーブ・モジュールがマクロ命令を実
    行中のホストプロセッサの空き時間に、ユーザーとのマ
    ン・マシン・インターフェースとして働き、同時にシス
    テム全体の動作状態を監視して非常処理や異常処理を行
    うシステム・モニタがホストプロセッサ上で動作するこ
    とを特徴とする制御装置。 13、特許請求の範囲第1項、第4項、第5項、第6項
    のいずれかに記載の制御装置において、並行に処理され
    る複数のジョブプログラム間のデータ及びステータスの
    やりとりに使用する共有パラメータと、並行に処理され
    る種々のプロセス間で同期をとる機能とを有することを
    特徴とする制御装置。 14、特許請求の範囲第1項記載の制御装置において、
    これを構成するモジュールに、MIMD型の完全並列処
    理手段を導入したとを特徴とする制御装置。
JP60097701A 1985-05-10 1985-05-10 制御装置 Expired - Lifetime JP2528813B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP60097701A JP2528813B2 (ja) 1985-05-10 1985-05-10 制御装置
DE8686106190T DE3681486D1 (de) 1985-05-10 1986-05-06 Steuergeraet.
EP86106190A EP0201081B1 (en) 1985-05-10 1986-05-06 Control apparatus
US06/860,430 US4803613A (en) 1985-05-10 1986-05-07 Decentralized master-slave control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60097701A JP2528813B2 (ja) 1985-05-10 1985-05-10 制御装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP7185262A Division JP2581481B2 (ja) 1995-07-21 1995-07-21 制御装置

Publications (2)

Publication Number Publication Date
JPS61256406A true JPS61256406A (ja) 1986-11-14
JP2528813B2 JP2528813B2 (ja) 1996-08-28

Family

ID=14199227

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60097701A Expired - Lifetime JP2528813B2 (ja) 1985-05-10 1985-05-10 制御装置

Country Status (4)

Country Link
US (1) US4803613A (ja)
EP (1) EP0201081B1 (ja)
JP (1) JP2528813B2 (ja)
DE (1) DE3681486D1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63254503A (ja) * 1987-04-10 1988-10-21 Fanuc Ltd ロボツト制御装置
JPS6441902A (en) * 1987-08-07 1989-02-14 Canon Kk Control device for automatic assembling device
JPS6441901A (en) * 1987-08-07 1989-02-14 Canon Kk Control device for automatic assembling device
JPH01114902A (ja) * 1987-10-29 1989-05-08 Hitachi Ltd プロセス制御システム
JPH01169507A (ja) * 1987-12-24 1989-07-04 Honda Motor Co Ltd ロボット制御装置
JPH01287705A (ja) * 1988-05-13 1989-11-20 Hitachi Koki Co Ltd ロボツトの制御装置
JPH0238603U (ja) * 1988-09-02 1990-03-14
JP2008310632A (ja) * 2007-06-15 2008-12-25 Asyst Technologies Japan Inc プロセス状態監視装置

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5113502A (en) * 1986-11-20 1992-05-12 Allen-Bradley Company, Inc. Method and apparatus for saving and performing industrial control commands
JPH0738183B2 (ja) * 1987-01-29 1995-04-26 日本電気株式会社 中央処理装置間通信処理方式
JPS63216689A (ja) * 1987-03-04 1988-09-08 株式会社日立製作所 自動作業装置
JPS63289607A (ja) * 1987-05-21 1988-11-28 Toshiba Corp 知能ロボットのモジュ−ル間通信制御方式
JP2834122B2 (ja) * 1987-07-08 1998-12-09 株式会社日立製作所 制御装置
US5193189A (en) * 1987-10-07 1993-03-09 Allen-Bradley Company, Inc. Programmable controller with multiple priority level task processing
US4937777A (en) * 1987-10-07 1990-06-26 Allen-Bradley Company, Inc. Programmable controller with multiple task processors
JPH01109403A (ja) * 1987-10-09 1989-04-26 Instron Corp 複数の制御要素の相互作用的制御を行なうための回路
US4984176A (en) * 1988-01-11 1991-01-08 Den Heuvel Raymond C Van VDH biocomputer
US5161228A (en) * 1988-03-02 1992-11-03 Ricoh Company, Ltd. System with selectively exclusionary enablement for plural indirect address type interrupt control circuit
US5252899A (en) * 1988-03-09 1993-10-12 Fanuc Ltd Numerical control system
US5241646A (en) * 1988-03-30 1993-08-31 Kabushiki Kaisha Toshiba Systems for changing hardware parameters using sub-CPU for sensing specialized key inputs and main CPU for changes
JPH01295355A (ja) * 1988-05-24 1989-11-29 Fanuc Ltd マルチマスタバス用割込制御回路
US4878002A (en) * 1988-10-27 1989-10-31 Advanced Engineering Systems, Operations & Products, Inc. Multi-axis DSP-based parallel processing servo controller for machine tools and robots
DE58908047D1 (de) * 1989-04-25 1994-08-18 Siemens Ag Verfahren zur Synchronisation von Datenverarbeitungsanlagen.
US5150288A (en) * 1989-12-18 1992-09-22 Honda Giken Kogyo Kabushiki Kaisha Production management system and method of transmitting data
US5309352A (en) * 1990-05-18 1994-05-03 Tektronix, Inc. Method and system for optimizing termination in systems of programmable devices
US5185708A (en) * 1990-06-18 1993-02-09 Ge Fanuc Automation North America, Inc. Method for collecting data by a manufacturing process manager from a plurality of programmable logic controllers
FR2671884A1 (fr) * 1991-01-17 1992-07-24 Moulinex Sa Procede d'attribution d'adresses dans un reseau domotique.
DE4207826C2 (de) * 1992-03-12 1995-06-14 Deutsche Aerospace Bahn- und Lageregelungssystem (AOCS) mit Prüfsystem
JP2574983B2 (ja) * 1993-04-06 1997-01-22 本田技研工業株式会社 マルチタスク制御システム
JPH0950312A (ja) * 1995-05-31 1997-02-18 Mitsubishi Electric Corp Faコントローラのデータ処理方法
JP3676882B2 (ja) 1996-06-12 2005-07-27 株式会社リコー マイクロプロセッサ及びその周辺装置
US6330008B1 (en) * 1997-02-24 2001-12-11 Torrent Systems, Inc. Apparatuses and methods for monitoring performance of parallel computing
JP3242031B2 (ja) * 1997-04-24 2001-12-25 株式会社ブリヂストン Fa情報管理方法及びシステム
JP3269003B2 (ja) * 1997-05-12 2002-03-25 川崎重工業株式会社 ロボット制御装置
US6144884A (en) * 1998-04-17 2000-11-07 Massachusetts Institute Of Technology Teleoperation with variable delay
US7089331B1 (en) * 1998-05-29 2006-08-08 Oracle International Corporation Method and mechanism for reducing client-side memory footprint of transmitted data
US6615243B1 (en) * 1999-04-01 2003-09-02 Thomson Licensing S.A. System and method for programming and transmitting macros for controlling audio/video devices
US7389284B1 (en) 2000-02-29 2008-06-17 Oracle International Corporation Method and mechanism for efficient processing of remote-mapped queries
KR20020093516A (ko) * 2001-06-09 2002-12-16 주식회사 엘지이아이 인터넷을 이용한 홈 네트워킹 통신 장치 및 방법
US6813523B2 (en) * 2001-08-23 2004-11-02 George Mauro Distributed process control
US7103590B1 (en) * 2001-08-24 2006-09-05 Oracle International Corporation Method and system for pipelined database table functions
JP2003241807A (ja) * 2002-02-19 2003-08-29 Yaskawa Electric Corp ロボット制御装置
US6973457B1 (en) 2002-05-10 2005-12-06 Oracle International Corporation Method and system for scrollable cursors
US7610351B1 (en) 2002-05-10 2009-10-27 Oracle International Corporation Method and mechanism for pipelined prefetching
US7065638B1 (en) * 2002-07-08 2006-06-20 Silicon Motion, Inc. Table-driven hardware control system
JP4379793B2 (ja) * 2004-03-12 2009-12-09 株式会社デンソー 車両用電子制御装置
JP4659483B2 (ja) * 2005-02-25 2011-03-30 シスメックス株式会社 測定装置の制御方法及び測定装置
JP2006318305A (ja) * 2005-05-13 2006-11-24 Toshiba Corp システム構築用フレームワーク及び半導体装置
US9195233B2 (en) * 2006-02-27 2015-11-24 Perrone Robotics, Inc. General purpose robotics operating system
US9833901B2 (en) 2006-02-27 2017-12-05 Perrone Robotics, Inc. General purpose robotics operating system with unmanned and autonomous vehicle extensions
US10331136B2 (en) 2006-02-27 2019-06-25 Perrone Robotics, Inc. General purpose robotics operating system with unmanned and autonomous vehicle extensions
US8108914B2 (en) 2006-04-25 2012-01-31 Vetrix, Llc Converged logical and physical security
US20080046121A1 (en) * 2006-08-17 2008-02-21 Innovati, Inc. Developing system of re-configurable modularized robot
CN101436059A (zh) * 2007-11-16 2009-05-20 鸿富锦精密工业(深圳)有限公司 控制系统及其控制方法
WO2010080821A1 (en) * 2009-01-06 2010-07-15 Vetrix, Llc Integrated physical and logical security management via a portable device
US20120064921A1 (en) 2009-03-06 2012-03-15 Hernoud Melani S Systems and methods for mobile tracking, communications and alerting
US8250343B2 (en) * 2009-07-21 2012-08-21 National Instruments Corporation Axial motion control processing by multiple cores respectively executing each of a sequence of functions in parallel for respective portions of a motion system
KR101789757B1 (ko) * 2010-12-28 2017-10-26 삼성전자주식회사 보행 로봇 및 그 제어 방법
US9588502B2 (en) 2011-03-30 2017-03-07 Citizen Watch Co., Ltd. Machine tool control device
WO2013165379A1 (en) * 2012-04-30 2013-11-07 Hewlett-Packard Development Company, L.P. Reflective memory bridge for external computing nodes
US10762011B2 (en) 2012-04-30 2020-09-01 Hewlett Packard Enterprise Development Lp Reflective memory bridge for external computing nodes
US10572774B2 (en) * 2012-12-06 2020-02-25 Toyota Motor Engineering & Manufacturing North America. Inc. Methods and robots for adjusting object detection parameters, object recognition parameters, or both object detection parameters and object recognition parameters
EP4096057A3 (en) * 2013-08-06 2022-12-21 Bedrock Automation Platforms Inc. Smart power system
JP2015060370A (ja) * 2013-09-18 2015-03-30 ファナック株式会社 ロボットコントローラを内蔵した数値制御装置
US10379007B2 (en) 2015-06-24 2019-08-13 Perrone Robotics, Inc. Automated robotic test system for automated driving systems
JP6977600B2 (ja) * 2018-02-14 2021-12-08 オムロン株式会社 制御装置、制御システム、制御方法、および、制御プログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55153004A (en) * 1979-05-08 1980-11-28 Rodenhuis & Verloop Bv Control system
JPS5617401A (en) * 1979-07-23 1981-02-19 Omron Tateisi Electronics Co Sequence controller
JPS57105047A (en) * 1980-12-20 1982-06-30 Toshiba Corp Interruption processing system of computer measuring control system
JPS57155603A (en) * 1981-03-23 1982-09-25 Hino Motors Ltd Electronic controller of car
JPS5965307A (ja) * 1982-10-06 1984-04-13 Canon Inc シ−ケンス制御装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3363234A (en) * 1962-08-24 1968-01-09 Sperry Rand Corp Data processing system
US4123794A (en) * 1974-02-15 1978-10-31 Tokyo Shibaura Electric Co., Limited Multi-computer system
US4251858A (en) * 1979-03-06 1981-02-17 The Boeing Company Paging, status monitoring and report compiling system for support, maintenance and management of operator-supervised automatic industrial machines
JPS55146552A (en) * 1979-05-02 1980-11-14 Hitachi Ltd N 1 backkup method of dispersion type hierarchy system
US4302818A (en) * 1979-07-10 1981-11-24 Texas Instruments Incorporated Micro-vector processor
CH637228A5 (fr) * 1980-03-27 1983-07-15 Willemin Machines Sa Dispositif de commande d'une machine ou d'une installation.
US4380698A (en) * 1980-07-25 1983-04-19 Roper Corporation Multiprocessor control bus
US4432064A (en) * 1980-10-27 1984-02-14 Halliburton Company Apparatus for monitoring a plurality of operations
US4365297A (en) * 1980-12-29 1982-12-21 Forney Engineering Company Industrial control system with distributed computer implemented logic
IN155236B (ja) * 1981-03-20 1985-01-12 Gould Inc

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55153004A (en) * 1979-05-08 1980-11-28 Rodenhuis & Verloop Bv Control system
JPS5617401A (en) * 1979-07-23 1981-02-19 Omron Tateisi Electronics Co Sequence controller
JPS57105047A (en) * 1980-12-20 1982-06-30 Toshiba Corp Interruption processing system of computer measuring control system
JPS57155603A (en) * 1981-03-23 1982-09-25 Hino Motors Ltd Electronic controller of car
JPS5965307A (ja) * 1982-10-06 1984-04-13 Canon Inc シ−ケンス制御装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63254503A (ja) * 1987-04-10 1988-10-21 Fanuc Ltd ロボツト制御装置
JPS6441902A (en) * 1987-08-07 1989-02-14 Canon Kk Control device for automatic assembling device
JPS6441901A (en) * 1987-08-07 1989-02-14 Canon Kk Control device for automatic assembling device
JPH01114902A (ja) * 1987-10-29 1989-05-08 Hitachi Ltd プロセス制御システム
JPH01169507A (ja) * 1987-12-24 1989-07-04 Honda Motor Co Ltd ロボット制御装置
JPH01287705A (ja) * 1988-05-13 1989-11-20 Hitachi Koki Co Ltd ロボツトの制御装置
JPH0238603U (ja) * 1988-09-02 1990-03-14
JP2008310632A (ja) * 2007-06-15 2008-12-25 Asyst Technologies Japan Inc プロセス状態監視装置

Also Published As

Publication number Publication date
EP0201081A3 (en) 1987-10-14
DE3681486D1 (de) 1991-10-24
EP0201081A2 (en) 1986-11-12
US4803613A (en) 1989-02-07
EP0201081B1 (en) 1991-09-18
JP2528813B2 (ja) 1996-08-28

Similar Documents

Publication Publication Date Title
JPS61256406A (ja) 制御装置
EP2169547B1 (en) Compilation model for programmable logic controllers (PLC).
US5204942A (en) Robot control system for controlling a set of industrial robots for cooperative operation
KR20070075957A (ko) 멀티 타스킹을 위한 타스크 기반 로봇 제어시스템
JPH08110860A (ja) インターフエース機構、クラス・ライブラリ及び非同期のデータ処理方法
US5984499A (en) Method and apparatus for a numerical control system for processing multiple job streams
US5848295A (en) System for allocating common memory in cache such that data is maintained when exiting first programming structure and entering second programming structure
WO2024140416A1 (zh) 一种工业控制程序开发平台及方法
CN113433894A (zh) 基于工业pc的多通道多轴联动的数控系统及方法
JP2820189B2 (ja) 数値制御装置の制御ソフトウェア実行システム
CN114327628A (zh) 分层控制方法、系统、终端设备及存储介质
US6009268A (en) Device for programming a stored program controller
JP7172864B2 (ja) サポート装置およびサポートプログラム
JP2581481B2 (ja) 制御装置
US5060133A (en) Transputer CNC processor
JP3053797B2 (ja) 制御装置の制御ソフトウエア実行システム
Zhang et al. An USB-based software CNC system
CN116330263A (zh) 一种基于Codesys的智能工业机器人平台实现方法
JP2002268896A (ja) 制御プログラム作成方法とその装置
JPH04149658A (ja) 情報処理装置
CN114690702B (zh) 一种软plc和运动控制相结合的机器人控制系统
US5812846A (en) Method and apparatus for passing control from a first process to a second process
JP7234810B2 (ja) サポート装置およびサポートプログラム
JPH01217536A (ja) 異種言語混在形プログラム処理コントローラ
JP3081341B2 (ja) 知能型リアルタイムコントロ−ラ、機能分散階層型リアルタイムコントローラ、均質階層型リアルタイムコントローラ、複合型リアルタイムコントローラ