JPS624726B2 - - Google Patents

Info

Publication number
JPS624726B2
JPS624726B2 JP53021940A JP2194078A JPS624726B2 JP S624726 B2 JPS624726 B2 JP S624726B2 JP 53021940 A JP53021940 A JP 53021940A JP 2194078 A JP2194078 A JP 2194078A JP S624726 B2 JPS624726 B2 JP S624726B2
Authority
JP
Japan
Prior art keywords
data
sequence
program
processor
output
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
Application number
JP53021940A
Other languages
English (en)
Other versions
JPS54114687A (en
Inventor
Toshihiko Hasuda
Takeshi Yokota
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.)
Toyoda Koki KK
Original Assignee
Toyoda Koki KK
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 Toyoda Koki KK filed Critical Toyoda Koki KK
Priority to JP2194078A priority Critical patent/JPS54114687A/ja
Priority to US06/014,280 priority patent/US4249248A/en
Publication of JPS54114687A publication Critical patent/JPS54114687A/ja
Publication of JPS624726B2 publication Critical patent/JPS624726B2/ja
Granted 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/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/04Program control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/052Linking several PLC's
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing
    • 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/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15048Microprocessor
    • 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/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15103Microprogram stored in rom or 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/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15127Bit and word, byte oriented instructions, boolean and arithmetic operations
    • 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/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15131Pipeline registers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Executing Machine-Instructions (AREA)
  • Control By Computers (AREA)

Description

【発明の詳細な説明】
本発明は算術演算等の論理演算用プロセツサで
は実行できないシーケンスプログラムをマイクロ
プロセツサ等の算術演算用プロセツサに実行させ
るようにした複合形のシーケンスコントローラに
関するもので、その目的とするところは、算術演
算用プロセツサに対する演算要求が時間遅れなく
伝達され、かつ算術演算用プロセツサによる演算
の完了が応答遅れなく論理演算用プロセツサに伝
達されるようにして、算術演算用プロセツサでの
演算処理結果が直ちにシーケンス制御に反映され
るようにすることにある。 近年、シーケンス制御の複雑化に伴い、リミツ
トスイツチやリレー等の入出力要素のオンオフの
テストを行つてリレー等の所定の出力要素を付勢
無勢する論理演算機能の他にデータの加算、減
算、比較等を行う算術演算機能がシーケンスコン
トローラに要求されるようになつた。 このような要求に答えるためには、シーケンス
コントローラの演算処理部に論理演算と算術演算
の両方を行うことができるマイクロプロセツサを
用いれば良いが、マイクロプロセツサの命令語体
系やアーキテクチヤはシーケンスプログラムの実
行には必ずしも適しておらず、1つのシーケンス
プログラムを実行するのに数10ステツプのプログ
ラムが必要となり、シーケンスプログラムの実行
を高速度に行うことができない。このため、シー
ケンス制御の規模が大きくシーケンスプログラム
の数が多い場合にはシーケンスプログラムを一回
通り実行するのに必要なスキヤンニングタイムが
通常のリレー回路の応答時間に比べて長くなり、
シーケンス制御に影響を及ぼしてしまう。 このため、従来においては、マイクロプログラ
ム方式やランダムロジツクで構成された高速形の
論理演算用プロセツサと、マイクロコンピユータ
等の算術演算用プロセツサとを設け、通常の論理
演算プログラムは高速形の論理演算用プロセツサ
によつて実行し、算術演算等の論理演算用プロセ
ツサでは実行できないプログラムのみを算術演算
用プロセツサで実行するようにして、シーケンス
プログラムの実行速度をなるべく遅くしないで算
術演算も行うようにしていた。 ところで、このようにシーケンスプログラムの
一部を算術演算用プロセツサで分担させる場合、
論理演算用プロセツサでシーケンスプログラムを
解読して算術演算用プロセツサに行うべき動作に
応じた動作指令を発し、また、算術演算用プロセ
ツサは動作が完了したことを知らせる完了信号を
論理演算用プロセツサに転送する必要がある。こ
のため、従来においては論理演算用プロセツサと
算術演算用プロセツサとの両方からアクセスでき
る情報交換用のメモリを設け、このメモリの所定
のエリアのビツトに“1”を書込んだり、所定の
ビツトの状態を読出したりして動作指令や完了信
号を両者の間で交換するようにしていた。したが
つて、このようなシーケンスコントローラにおい
ては、情報交換用のメモリが必要となるだけでな
く、このメモリを所定の周期で切換えて論理演算
用プロセツサと算術演算用プロセツサが交互にメ
モリをアクセスできるようにする回路を設ける必
要がある。また、このような方法で両者の連携を
取ると、情報交換用のメモリを算術演算用プロセ
ツサがアクセスする期間だけシーケンスプログラ
ムの実行を停止して論理演算用プロセツサが情報
交換用のメモリをアクセスしないようにしなけれ
ばならないため、シーケンスプログラムを一回通
り実行するのに要するスキヤンニングタイムが長
くなり、シーケンス制御に影響を及ぼす欠点があ
る。さらに、このような方法で連携を取ると次の
ような欠点がある。すなわち、シーケンスプログ
ラム中に算術演算プログラムがあつた場合には、
算術演算プログラムが算術演算用プロセツサによ
つて実行され、この演算プログラムの実行後の次
の一定時間の間で演算が完了したことが論理演算
用プロセツサに伝達されるが、この演算結果はシ
ーケンス制御には直ぐには反映されず、次のスキ
ヤンニングサイクルにおいて前記算術演算プログ
ラムが実行されて初めてシーケンス制御に反映さ
れる。このため、従来の方式では算術演算プログ
ラムによる演算結果がシーケンスプログラムの流
れに反映するのが1スキヤンニング時間遅れるこ
とになり、シーケンス制御に支障を来たす恐れが
ある。特に多数のデータを加算してその結果を設
定値と比較し、その大小によつてシーケンスの流
れを変えるというようなプログラムにおいては、
1つの演算が完了したことを確認して次の演算を
行うようにプログラムが組まれるため、1つの演
算を行う度に1スキヤンニング時間だけの応答遅
れが生ずることになり、シーケンスプログラム中
に多数の算術演算プログラムがある場合にはその
遅れ時間のためにシーケンス制御に多大な影響を
及ぼしてしまう欠点を有していた。 本発明はかかる点に鑑みてなされたもので、シ
ーケンスメモリから読出されたシーケンス命令が
算術演算命令であるときは、算術演算用プロセツ
サに割込みを掛けて読出された演算命令を直ちに
実行させるとともに、算術演算用プロセツサによ
る算術演算の実行中は、論理演算用プロセツサを
停止させ、算術演算の完了と同時に論理演算用プ
ロセツサによるシーケンスプログラムの実行を再
開するようにしたことを特徴とするものである。 また、本発明は、複数種類の算術演算命令を設
け、読出された算術演算命令の種類を表わすデー
タを算術演算プロセツサに伝送するデータライン
を入出力バスと別個に設け、算術演算用のプロセ
ツサは、このデータラインから読出したデータに
応じて異なる処理を行うようにしたことを特徴と
するものである。 さらに、本発明は、算術演算用プロセツサをシ
ーケンスプログラム読出用プログラムカウンタと
シーケンスメモリとに接続して、算術演算用プロ
セツサがシーケンスメモリ内での演算命令の記憶
アドレスに引続くアドレスの内容を直接読めるよ
うにし、算術演算用プロセツサが実行する処理プ
ログラムの少なくとも1つは、シーケンスプログ
ラム中の演算命令に引続くアドレスに記憶された
データを利用して処理を行うようにしたことを特
徴とするものである。第1図において10〜18
は入出力ユニツトを示し、これらの入出力ユニツ
ト10〜18は入力データバスIDB、出力データ
バスODB、ラツチ信号線LSLを介してシーケン
スコントローラの本体に接続されている。これら
の入出力ユニツト10〜18には通常のシーケン
ス制御に使用される接点入力ユニツト、交流出力
ユニツトの外にデジタル設定器、デジタル表示
器、ADコンバータ、DAコンバータ等がある。 接点入力ユニツト10,11は押ボタンスイツ
チ、リミツトスイツチ等の入力要素の開閉状態を
TTLレベルのオンオフ信号に変換するもので、
1つの接点入力ユニツトに対して8個の入力要素
が接続されている。そして、これらの接点入力ユ
ニツトに選択信号SS1,SS2が与えられると、
選択されたユニツトに接続された8個の入力要素
の開閉状態が8ビツトデータとしてデータ入力バ
スIDBに出力されるようになつている。一方、交
流出力ユニツト12〜14はリレー、ソレノイド
等の出力要素の付勢、無勢を制御するものでそれ
ぞれのユニツト毎に8個の出力要素が接続されて
いる。これらの出力ユニツト12〜14の内部に
はそれぞれ8個ずつのフリツプフロツプが設けら
れており、出力ユニツト12〜14のいずれかに
選択信号SSが与えられ、信号線LSLにラツチ信
号が送出されると、出力データバスODBに出力
された8ビツトのデータが選択された交流出力ユ
ニツト12〜14のフリツプフロツプに記憶さ
れ、これによつて8個の出力要素が同時に付勢ま
たは無勢される。また、入出力要素のテスト時に
交流出力ユニツト12〜14のいずれかが選択さ
れると、選択された交流出力ユニツトのフリツプ
フロツプの状態信号が出力要素のオンオフ状態を
示す信号として入力データバスIDBに出力される
ようになつている。 デジタル設定器15は例えばパレツトに搬入さ
れるワークの総重量の最大値を設定するもので、
3桁の10進数が2進数に変換されて入力データバ
スIDBに出力される。また、デジタル表示器16
は出力データバスODBに出力される8ビツトの
2進データを10進数に変換して表示するもので、
選択信号SSとラツチ信号とのアンド条件で8ビ
ツトのデータが読込まれこれが表示される。これ
は、加工済ワークの計数値表示等に利用される。
さらに、ADコンバータ17は与えられたアナロ
グ値を8ビツトの2進データに変換して入力デー
タバスIDBに出力するもので、DAコンバータ1
8は出力データバスODBに出力されている8ビ
ツトのデータをアナログ値に変換して出力するも
のである。これらのコンバータ17,18はアナ
ログ形の計測機器やアナログ形の表示器、サーボ
モータ等に接続され、アナログ電圧による制御が
行われる。 アドレスカウンタ20、ユニツトセレクタ2
1、データセレクタ22,23、データレジスタ
24、ゲートG1,G2によつて構成される回路
は入出力要素の選択を行う回路で、接点入力ユニ
ツト10,11と交流出力ユニツト12〜14に
接続されている入出力要素を1点単位で選択する
機能と、デジタル設定器15、デジタル表示器1
6等をユニツト単位で選択する機能とを有してい
る。 アドレスカウンタ20は、シーケンスメモリ3
0から読出されるシーケンスプログラムの入出力
アドレス部のデータをラツチして出力するもの
で、歩進入力端子+1に信号が与えられると入出
力アドレスを歩進させる機能も有している。本実
施例では入出力アドレスデータは11ビツトで構成
され、ユニツト単位でアドレス指定をする場合に
は上位8ビツトでアドレス指定をするようになつ
ている。したがつて、最大で256個の入出力ユニ
ツトの選択ができることになる。このアドレスカ
ウンタ20に記憶された11ビツトのアドレスデー
タの内、上位8ビツトのデータはユニツトセレク
タ21に与えられ、下位3ビツトのデータはデー
タセレクタ22とデータレジスタ24とに与えら
れるようになつている。 ユニツトセレクタ21は与えられた上位8ビツ
トのアドレスデータで入出力ユニツトを選択する
もので、8ビツトのデータをデコードして選択信
号SS1〜SS256を出力する。また、データセ
レクタ22は入出力アドレスデータの下位3ビツ
トによつて入力データバスIDBに出力されている
8ビツトのデータの中から1つデータを取出して
出力するもので、これによつて入出力アドレスデ
ータで指定された入出力要素のオンオフ信号がデ
ータセレクタ22から出力される。 一方、データレジスタ24は、交流出力ユニツ
ト12〜14から送出される8ビツトのデータを
読込み、この読込まれたデータの内、入出力アド
レスデータで指定される出力要素に対応したビツ
トのみを演算処理部から送出される出力信号によ
つて書換え、この書換えられたデータを交流出力
ユニツト12〜14に送出するもので、出力命令
の実行時に使用される。このデータレジスタ24
はロード端子LOADに信号が与えられると入力デ
ータバスIDB上の8ビツトのデータを取り込み、
データセレクタ23を介して出力信号が与えられ
ると、取り込んだ8ビツトのデータの内、入出力
アドレスデータの下位3ビツトのデータにて指定
されたビツトを出力信号に応じて書換え、これを
出力データバスODB上に出力するようになつて
いる。なお、本実施例では入出力要素のオンの状
態を“1”で表わすとともに出力要素を付勢する
信号を“1”で表わすものとする。したがつて、
選択された入出力要素がオンである場合にはデー
タセレクタ22から“1”の信号が出力され、デ
ータレジスタ24に“1”の信号が与えられると
選択された出力要素が付勢されることになる。 ゲートG1,G2は入力データバスIDBと出力
データバスODBをシーケンスコントローラ内部
のメインデータバスMDBに接続するもので、ア
ドレスカウンタ20へ上位8ビツトの入出力アド
レスデータをロードするとともに、ゲートG1,
G2の切換を行うことにより、入出力ユニツトの
1つを選択してデータをメインデータバスMDB
に取込んだり、メインデータバスMDBのデータ
を選択した入出力ユニツトに転送したりすること
ができる。また、メモリ25は内部ダミー用のメ
モリで書換え可能な半導体メモリが使用される。
このメモリ25は入出力要素と同一的にアドレス
指定され、オンオフ信号の読出しと書込みが行わ
れる。本実施例では8ビツト128ワードのものが
使用され、1025〜2048までの番地が割振られてい
る。 シーケンスメモリ30は予めプログラムされた
シーケンスプログラムを記憶するもので、コアメ
モリ等が使用される。このシーケンスメモリ30
は1ワードが16ビツトで構成され、8KWの記憶
容量を有している。したがつて、このシーケンス
メモリ30のアドレスは13ビツトの2進数で指定
することができる。また、プログラムカウンタ3
1はシーケンスメモリ30の読出しアドレスを指
定するためのもので13ビツトの2進カウンタによ
つて構成されている。このプログラムカウンタ3
1にはロード端子LOADと歩進端子+1とクリア
端子CLEARとが設けられており、これらの端子
に信号が与えられるとそれぞれ、データのロー
ド、歩進、クリアの動作が行われる。そして、こ
のプログラムカウンタ31の計数値はゲートG3
を介してシーケンスメモリ30のアドレス端子
ADDに与えられるようになつている。また、シ
ーケンスメモリ30のアドレス端子ADDにはゲ
ートG4を介してマイクロアドレスバスμABの
データが与えられるようになつており、ゲートG
3,G4の操作によつて、プログラムカウンタ3
1によつて読出しアドレスを指定したり、マイク
ロアドレスバスμABのデータによつて読出しア
ドレスを指定したりすることができる。さらに、
プログラムカウンタ31の出力はゲートG6を介
してメインデータバスMDBに接続されており、
ゲートG6が開かれるとプログラムカウンタ31
から出力されるアドレスデータがメイデータバス
MDB上に出力される。 次にシーケンスメモリ30に記憶されるシーケ
ンスプログラムの命令体系とシーケンスプログラ
ムデータの記憶形式を演算処理部の説明に先立つ
て述べる。本実施例に使用されるシーケンスプロ
グラムはリレー回路を基にしてプログラムするよ
うになつており、第1表のような命令語が使用さ
れる。
【表】
【表】 表1において、テスト命令、ジヤンプ命令、出
力命令は通常の論理演算形のプロセツサで実行で
きる命令で、演算命令と特別命令が論理演算形の
プロセツサでは実行できない命令である。これら
の命令語のビツト構成は第2図に示すようになつ
ており、ジヤンプ命令とトランスフア命令以外の
命令は上位5ビツトに命令コードが記憶され、下
位11ビツトに入出力要素または内部ダミーを指定
する入出力要素アドレスのデータが記憶される。
また、特別命令の場合にはモニタの種類を表わす
コードが下位11ビツトに記憶される。一方、ジヤ
ンプ命令の場合には、上位3ビツトに命令コード
が記憶され、下位13ビツトにジヤンプ先のメモリ
アドレスが記憶されるようになつている。 トランスフア命令TRRは加減算命令や比較命
令を実行する前に、シーケンスメモリ30内のデ
ータや入出力ユニツト10〜18のデータをA、
Bレジスタ32,33に転送したり、演算結果を
シーケンスメモリ30や入出力ユニツト10〜1
8に転送するのに用いられるもので、このトラン
スフア命令は3ワードで構成されており、最初の
1ワードにトランスフア命令を表わす命令コード
と内部ダミーのアドレスが記憶され、2ワード目
と3ワード目にはそれぞれのデータの転送元と転
送先を表わすコードが記憶される。第3図はこの
転送元、転送先の要素を表わすコードを示すもの
で、転送元、転送先の要素が入出力ユニツト10
〜18やシーケンスメモリ30である場合には、
残りのオペランド部によつて転送元や転送先とな
る入出力ユニツトのアドレスデータかメモリアド
レスが記憶される。 第4図は本実施例のシーケンスコントローラに
よつて制御できるリレー回路の一例を示すもので
括弧内の数字は入出力アドレスを示している。こ
のリレー回路はリレーCR10の付勢と図略のリ
レーCR5の無勢とのアンド条件によつて、入出
力ユニツト15のデジタル設定器と入出力ユニツ
ト17のADコンバータの出力とそれぞれA、B
レジスタ32,33に転送し、この転送されたデ
ータを比較して、Aレジスタの内容よりもBレジ
スタの内容の方が小さい場合にリレーCR20を
付勢するものである。このようなリレー回路を第
1表に示すような命令語に従つてプログラムし、
シーケンスメモリ30の100番地から記憶させる
場合のプログラムシートを第5図に示す。プログ
ラムは図略のプログラム書込装置を用いてこのプ
ログラムをシーケンスメモリ30内に記憶させる
ことにより第4図に示すようなリレー回路の動作
がシーケンスコントローラによつて行われる。 続いて、シーケンスメモリ30に記憶されてい
るシーケンスプログラムを読出して実行する演算
処理部について説明する。この演算処理部は論理
演算用のプロセツサと算術演算用のプロセツサと
から構成されており、本実施例では論理演算用の
プロセツサとしてマイクロプログラム方式のプロ
セツサが使用され、算術演算用のプロセツサとし
てマイクロプロセツサが使用されている。 マイクロプログラム方式のプロセツサはマイク
ロプログラムメモリ40、マイクロプログラムコ
ントロールユニツト(以下、MCUと呼ぶ)4
1、パイプラインレジスタ42、セレクタ43、
インバータ44によつて構成されており、これ
に、割込処理のためにフリツプフロツプFF1と
レジスタ45とマルチプレクサ46とが設けられ
ている。一方、マイクロプロセツサは、プロセツ
サ本体50、マイクロメモリ51、バツフアレジ
スタ52、ゲートG5によつて構成され、割込処
理のためにバツフアレジスタ53とフリツプフロ
ツプFF2が設けられ、バツフアレジスタ53は
データラインDLを介してマイクロプログラム方
式のプロセツサに接続されている。また、RQレ
ジスタ54は特別命令RQIの時にモニタの種類を
表わすデータを記憶するレジスタであり、インタ
ーフエイス55はテレタイプTTY等の外部記録
装置とマイクロプロセツサを接続するためのもの
である。 次に上記演算処理部の細部について説明する。
マイクロプログラム方式のプロセツサを構成する
マイクロプログラムメモリ40はシーケンスプロ
グラムの読出しと実行を制御するマイクロプログ
ラムを記憶するもので、読出し専用の半導体メモ
リが使用される。このマイクロプログラムメモリ
40の1ワードは通常のコンピユータに使用され
るメモリの1ワードに比べてビツト数が多く本実
施例では1ワードが32ビツトによつて構成されて
いる。この1ワードを構成する32ビツトのデータ
フイールドは第6図aに示すように大きく3分割
され、上位7ビツトにはMCU41によつて実行
されるジヤンプ命令が、中央の4ビツトには
MCU41の内部に設けられたフラツグを選択す
るためのセレクトデータが、下位21ビツトにはシ
ーケンスプログラムの読出しの制御等を行うコン
トロールデータが記憶されている。なお、このコ
ントロールデータの記憶される下位21ビツトのエ
リアは第6図bに示されるように、シーケンスメ
モリ30の読出しやプログラムカウンタの歩進等
を制御するビツト、ゲートG1〜G5の切換を制
御するビツト、マイクロプロセツサに割込信号を
発生するビツト、マイクロプロセツサによつて行
わせたい処理の種類を表わすデータを送出するビ
ツトというように、各ビツト毎に制御する対象が
決められており、マイクロプログラムの読出しに
よつてこれらの制御信号が並列的に出力される。
また、マイクロプログラムの上位7ビツトに記憶
されるジヤンプ命令には無条件ジヤンプ命令と条
件付ジヤンプ命令とがあり、無条件ジヤンプ命令
は複数のマイクロプログラムをシーケンシヤルに
読出す場合に用いられ、条件付ジヤンプ命令は、
フラツグの状態によつてジヤンプ先を変更した
り、シーケンスメモリ30から読出されるシーケ
ンスプログラムに応じて所定のマイクロプログラ
ムルーチンへ分岐するのに用いられる。 このマイクロプログラムメモリ40から読出さ
れる32ビツトのデータの内、上位7ビツトのジヤ
ンプ命令のデータはMCU41のアドレス制御端
子ACに直接与えられ、中位4ビツトのデータは
パイプラインレジスタ42を介してMCU41の
フラツグ制御端子FCに与えられるようになつて
いる。また、下位21ビツトのコントロールデータ
はパイプラインレジスタ42を介してシーケンス
コントローラの各部のゲートや、プログラムカウ
ンタ、マイクロプロセツサ等に与えられるように
なつている。なお、パイプラインレジスタ42は
マイクロプログラムメモリ40から読出されるデ
ータを1クロツクの間記憶保持するもので、これ
によつてマイクロプログラムメモリ40のメモリ
アドレス切換時にコントロール信号MCSが不安
定になることが防止される。 MCU(マイクロプログラムコントロールユニ
ツト)41は、マイクロプログラムメモリ40か
ら出力されるジヤンプ命令のデータと、命令入力
端子SXに与えられるデータと、内部に設けられ
ているフラツグの状態とによつてマイクロプログ
ラムメモリ40の次サイクルにおける読出しアド
レスを発生し出力端子Mから送出するもので、マ
イクロプログラムメモリ40内に記憶されている
マイクロプログラムと協働して、シーケンスプロ
グラムの読出しと実行を行う。本実施例の場合に
は、このMCUとしてインテル社の3001が使用さ
れている。このMCU41は図略のクロツク発生
回路から送出される制御クロツクCLKに同期し
て動作し、制御クロツクCLKの1サイクルの間
に次に読出すべきメモリアドレスが生成され、新
しいマイクロプログラムの読出しが行われる。イ
ンテル社の3001の場合には制御クロツクの周期を
最小で85nSにすることができるが、ノイズに対
する安定性等を考慮して数百nS〜1μS程度の
周期の制御クロツクが使用される。また、この
MCU41の内部にはCフラツグと名付けられた
フリツプフロツプとZフラツグと名付けられたフ
リツプフロツプとが設けられており、本実施例に
おいては、これらのCフラツグおよびZフラツグ
の内、Cフラツグによつてアンドテストの結果を
記憶し、Zフラツグによつてオアテストの結果を
記憶するようになつている。これらのC、Zフラ
ツグは前記したように、マイクロプログラムとし
てプログラムされたセレクトデータによつて制御
することができ、入力端子FIに与えられる信号
をCフラツグやZフラツグに書込んだり、Cフラ
ツグやZフラツグの内容を出力端子FOから出力
したりすることができる。また、出力端子FOか
ら強制的に“1”や“0”の信号を送出すること
もできる。このMCU41の入力端子FIはセレク
タ43を介して、データセレクタ22から送出さ
れる入出力要素のオンオフ信号IOS、このオンオ
フ信号をインバータ44で反転したオンオフ信号
、コントロール信号MCS、割込受付用のフリ
ツプフロツプFF1のセツト出力端子Qから出力
される信号のいずれかが与えられるようになつて
おり、これらの信号をC、Zフラツグに取り込ん
だり、条件付ジヤンプの条件としてジヤンプ先を
変更したりすることができる。これらの信号の内
コントロール信号MCSはC、Zフラツグのイニ
シヤライズに使用され、オンオフ信号IOSと
はシーケンスプログラムのテストにおいてC、Z
フラツグの内容を書換えるのに使用され、フリツ
プフロツプFF1からの信号はマイクロプロセツ
サからの割込を認知して割込処理ルーチンへジヤ
ンプするのに用いられる。 さらに、MCU41にはハード的な割込機能が
設けられており、ロード端子LDに信号が与えら
れると、命令入力端子SXに与えられるアドレス
データに応じたメモリアドレスへジヤンプするよ
うになつている。このロード端子LDにはマイク
ロプロセツサからの割込信号μISが与えられるよ
うになつており、命令入力端子SXにはマイクロ
プロセツサによつてデータのロードされるレジス
タ45からの信号がマルチプレクサ46を介して
与えられるようになつている。したがつて、マル
チプレクサ46を操作することによつて、マイク
ロプロセツサで指令されたジヤンプ先への割込み
を受付けることができる。 一方、算術演算用プロセツサをなすプロセツサ
本体50は、一例としてテキサスインスツルメン
ト社のTMS9900が使用されており、シーケンス
プログラムの内の算術演算命令や比較命令、トラ
ンスフア命令等を実行する。プロセツサ本体50
の動作は周知であるので詳述を避けるが、このプ
ロセツサ本体50は、マイクロアドレスバスμ
ABにアドレスデータを送出することによつてマ
イコンメモリ51をアクセスできるだけでなく、
ゲートG4,G5が開かれた状態ではシーケンス
メモリ30も直接アクセスすることができる。ま
た、このマイクロアドレスバスμABに出力され
るアドレスデータは図略のアドレスデコーダによ
つて解読され、Aレジスタ32、Bレジスタ3
3、レジスタ45、バツフアレジスタ52、RQ
レジスタ54、インタフエース55、フリツプフ
ロツプFF2の選択も行うようになつている。こ
れにより、これらの要素のデータをプロセツサ本
体50の内部に読込んだり、プロセツサ本体50
の内部に記憶されているデータをこれらの要素に
転送したりすることができる。さらに、ゲートG
5が開かれた状態ではメインデータバスMDBと
プロセツサ本体50との間でデータの交換を行う
ことができる。なお、バツフアレジスタ52はコ
ントローラ本体の各部にコントロール信号μCS
を送出したり、MCU41に割込信号μISを送出
したりするものである。 また、プロセツサ本体50には割込機能が設け
られており、割込入力端子INTに信号が与えられ
ると、バツフアレジスタ53にラツチされている
データに応じたメモリアドレスへジヤンプするよ
うになつている。 第7図はマイコンメモリ51内のプログラムの
配置を示すもので、零番地から63番地までにはジ
ヤンプ処理プログラムが記憶され、64番地から
127番地までにはRQI処理プログラムが記憶され
ている。プログラム選択実行手段を成すジヤンプ
処理プログラムはバツフアレジスタ53に与えら
れたデータを読込んでジヤンプ先を決定するため
のもので、RQI処理プログラムはRQレジスタ5
4に与えられるモニタの種類を表わすデータを読
込んで、これに応じたモニタプログラムへジヤン
プするものである。また、128番地以後には加算
プログラム、減算プログラム、比較プログラム、
転送プログラムが順番に記憶され、これらのプロ
グラムを選択して実行することによつて、シーケ
ンスプログラム中の加算命令ADD、減算命令
SUB、比較命令CMP、転送命令TRRを実行する
ことができる。なお、176番地からの割込処理プ
ログラムは命令の実行後、MCU41に対して割
込みを掛け次のシーケンスプログラムを実行させ
るためのものである。さらに、192番地以後には
種々のモニタプログラムが記憶されており、シー
ケンスプログラムの特別命令RQIが読出される
と、これらのモニタプログラムの内の1つが実行
される。このモニタプログラムは必要に応じて
種々の演算プログラムを組込むことができるが、
一例として、シーケンスメモリ30に記憶されて
いるシーケンスプログラムのリストをテレタイプ
TTYに出力したり、運転中における所定の入出
力要素の状態や、シーケンスの進行状況を表わす
サイクル番号等を図略の外部表示装置に表示する
のに用いられる。一方、2048番地以後は計算処理
の途中結果等を一時記憶するための記憶エリア
で、書換えが可能な半導体メモリで構成されてい
る。 次に上記構成の演算処理部の動作を第8図A〜
第9図Bのフローチヤートに基づいて説明する。
今、図略の電源スイツチが投入されると、制御ク
ロツクCLKの発振が開始され、MCU41の動作
が開始される。これにより、MCU41は図略の
スタートアドレス発生回路によつて指定されたメ
モリアドレスへジヤンプし、マイクロプログラム
の読出しを開始する。 スタートアドレスに続く数個のマイクロプログ
ラムにはプログラムカウンタ31を零クリアする
とともに、MCU41内部のCおよびZフラツグ
に“1”の信号を書込んで、シーケンスプログラ
ムを実行するための準備が行われる。プログラム
カウンタ31のクリアは、マイクロプログラムを
構成するコントロールデータフイールドのプログ
ラムカウンタ31をクリアするためのビツトに書
かれている“1”のデータが読出されることによ
つて行われ、C、Zフラツグへの“1”の書込み
は、セレクタ43を操作してMCU41の入力端
子FIに“1”のデータを与え、この“1”のデ
ータをC、Zフラツグに書込むことによつて行わ
れる。なお、このC、Zフラツグの内、Cフラツ
グに書込まれた“1”の信号はアンドテストの結
果が条件不満足のときに“0”に書換えられ、Z
フラツグの“1”の信号はオアテストの結果が条
件満足のときに“0”に書換えられるようにマイ
クロプログラムが組まれており、オアテストの終
りではZフラツグが“0”かどうかによつてCフ
ラツグの状態を書換えたり書換えなかつたりする
ようにしている。 このような初期化が完了すると、マイクロプロ
グラムはシーケンスプログラムの読出ルーチンへ
ジヤンプする。この読出ルーチンの最初ではフリ
ツプフロツプFF1がセツトされたかどうかを判
別してマイクロプロセツサ側からの割込の有無を
検出している。これは、前のシーケンスプログラ
ムの実行の途中で発生されたマイクロプロセツサ
からの割込信号を認識するために行われるもので
ある。ここでマイクロプロセツサから割込が掛け
られフリツプフロツプFF1がセツトされていた
場合にはゲート切換ルーチンへジヤンプするが、
特別命令RQI以外のシーケンスプログラムの実行
ではマイクロプロセツサから割込が掛けられるこ
とはないので、次のシーケンスプログラム読出し
のステツプへジヤンプする。このシーケンスプロ
グラムの読出しのステツプではシーケンスメモリ
30の書込読出し制御端子R/Wにコントロール
信号MCSが与えられ、プログラムカウンタ31
にて指定されている零番地のシーケンスプログラ
ムの読出しが行われる。一般のコアメモリはアド
レス指定してからデータが安定するまでに1.5μ
S程度の時間を要するため、コアメモリ30から
のシーケンスプログラムの読出しには数ステツプ
の無効なマイクロプログラムが使用される。例え
ばMCU41に与えられる制御クロツクの周期を
300mSとした場合には5ステツプのマイクロプ
ログラムがシーケンスプログラムの読出しのため
に使われる。 このようにしてシーケンスプログラムの読出し
が完了すると、アドレスカウンタ20にコントロ
ール信号MCSが与えられ、シーケンスプログラ
ムの下位11ビツトに記憶されている入出力アドレ
スのデータがアドレスカウンタ20内に読込まれ
る。これにより、シーケンスプログラムで指定さ
れた入出力要素が選択され、選択された入出力要
素のオンオフ信号IOSがデータセレタク22から
出力される。また、選択された入出力ユニツト
が、デジタル設定器、デジタル表示器等である場
合には選択された入出力ユニツトからの8ビツト
のデータが入力データバスIDBを介してゲートG
1に与えられる。 一方、これに続く数ステツプでは、シーケンス
メモリ30から読出されたシーケンスプログラム
の上位5ビツトのデータによつて命令コードが解
読され、解読された命令コードに応じた処理ルー
チンへジヤンプする。なお、このときアンドテス
トの結果を記憶するCフラツグに“0”が書込ま
れている場合には、いままでに行われたテストの
結果によつて出力要素を付勢する条件が不満足に
なつたことを意味しているため、これ以後のテス
ト命令を実行する必要がない。このため、テスト
命令の場合には下位ビツトで再分岐する前にCフ
ラツグが“0”の状態にあるかどうかにより、再
分岐を行うルーチンへジヤンプさせたり、読出ル
ーチンへジヤンプさせたりしている。また、出力
命令の場合には、下位データによつて再分岐する
前に入力データバスIDBに出力されている8ビツ
トのデータをデータレジスタ24へロードするよ
うにしている。これは、出力命令を実行するため
の準備で、出力命令が実行されるとロードされた
8ビツトのデータの内の1ビツトが書換えられて
交流出力ユニツト12〜14に送出される。 次にシーケンスプログラムの各命令を実行する
それぞれの処理ルーチンについて説明する。これ
らの処理ルーチンはいずれも2〜3ステツプのマ
イクロプログラムによつて構成され、マイクロプ
ロセツサが関与しない論理演算プログラムを実行
する処理ルーチンの最後には読出しルーチンへ戻
るための無条件ジヤンプ命令が書込まれている。 第8図Bはテスト命令を実行するための処理ル
ーチンを示すもので、それぞれのテスト命令につ
いて説明する。まず、テスト命令がTNAである
場合にはデータセレクタ22から出力される入出
力要素からのオンオフ信号IOSをCフラツグに読
込むことによつてテスト命令が実行される。本実
施例においては選択された入出力要素がオンであ
る場合に“1”の信号がデータセレクタ22から
出力され、選択された入出力要素がオフである場
合にはデータセレクタ22から“0”の信号が出
力されるから、上記のようなマイクロプログラム
によつてTNA命令が実行されたことになり、条
件を満足している場合にはCフラツグは“1”の
ままとなり、条件不満足の場合には“0”に書換
えられる。一方、TFA命令は選択された入出力
要素がオフかどうかをアンド論理でテストする命
令であるので、入出力要素からのオンオフ信号
IOSをインバータ44によつて反転した信号
をCフラツグに読込むことによつてテスト命令が
実行される。 TNO、TFO命令は選択された入出力要素がオ
ンかどうかまたはオフかどうかをオア論理でテス
トするもので、入出力要素からのオンオフ信号を
反転した信号をZフラツグに読込むことによ
つてTNO命令が実行され、入出力要素からのオ
ンオフ信号IOSをZフラツグに読込むことによつ
てTFO命令が実行される。また、Zフラツグが
“0”の状態にあればオア回路全体の条件を満足
したことになつてこれ以後のテストを行う必要は
ないため、Zフラツグの書換えに先立つてZフラ
ツグが“0”であるかどうかをテストし、“0”
である場合にはシーケンスプログラムの読出ルー
チンへ戻すようになつている。 また、TNE,TFEはオアテストの終りに用い
られる命令語で、オアテストの結果をアンド論理
に組入れる必要がある。今、オアテストの最後の
テストが行われる前までZフラツグが“1”の状
態にあつたとすると、今まで行われたテスト結果
ではオア条件を満足するものはなく最後のテスト
結果が条件満足であればオアテスト全体のテスト
結果が条件満足になり、最後のテスト結果が条件
不満足であればオアテスト全体のテスト結果が条
件不満足となる。このため、これらのテストでは
Zフラツグが“1”であるかどうかをテストし、
Zフラツグが“1”である場合に選択された入出
力要素からのオンオフ信号IOS又はこれを反転し
たオンオフ信号をCフラツグに書込むように
している。これにより、オアテスト全体のテスト
結果がアンド論理に組込まれたことになる。な
お、TNE、TFEテストの終りでは、Zフラツグ
に“1”を書込み、再びオアテストが行えるよう
にしている。 さらに、NOP命令の場合には無動作であるの
でC、Zフラツグの操作は行わず、無条件に読出
ルーチンへジヤンプして次のシーケンスプログラ
ムが実行される。 第8図Cはジヤンプ命令の処理ルーチンを示す
もので、条件付ジヤンプ命令JMY,JMNの場合
には、Cフラツグが“1”かどうかまたは“0”
かどうかによつてプログラムカウンタ31を+1
させるかまたはオピランド部のデータをプログラ
ムカウンタ31にロードするかを決定している。
また、無条件ジヤンプ命令JMPの場合には無条件
にオペランド部のデータをプログラムカウンタ3
1にロードする。なお、プログラムカウンタ31
へのロードはプログラムカウンタ31のロード端
子LOADへコントロール信号MCSを与えること
によつて行われる。そして、これに続く2ステツ
プのマイクロプログラムで、CフラツグとZフラ
ツグの両方に“1”のデータが書込まれ、C、Z
フラツグが初期化される。これにより、ジヤンプ
命令の前に行われたテスト結果がジヤンプ命令以
後のテストに影響することが防止される。 さらに、第8図Dは出力命令の処理ルーチンを
示すもので、条件付出力命令YONの場合にはC
フラツグの状態信号を出力端子FOから出力し、
無条件出力命令SON,SOFの場合には出力端子
FOからそれぞれ“1”または“0”の信号を出
力する。したがつて、条件付出力命令YONの場
合には選択された出力要素がCフラツグの状態に
応じて付勢または無勢される。すなわち、テスト
の結果が条件満足でCフラツグが“1”の状態に
あれば、この“1”の信号がデータレジスタ24
に与えられ、選択された出力要素に対応するビツ
トのデータが書換えられる。すると、この書換え
られたデータは出力バスODBを介して出力ユニ
ツトに送出される。そして、この後信号線LSLに
ラツチ用のコントロール信号を送出すると、出力
データバスODB上のデータが選択された交流出
力ユニツトの内部に取込まれ選択された出力要素
が付勢される。また、テスト結果が条件不満足で
Cフラツグが“0”の状態にあれば、この“0”
の信号がデータレジスタ24内の所定のビツトに
書込まれ、選択された出力要素が無勢される。一
方、無条件出力命令SON,SOFの場合には、テ
スト結果とは無条件にデータレジスタ24内の所
定のビツトが書換えられ選択された出力要素が付
勢または無勢される。なお、C、Zフラツグの初
期化はジヤンプ命令の場合と同様の意味で行われ
るもので、出力命令の前に行われたテストの結果
が出力命令に続くシーケンスに影響することを防
止している。 次に加算命令、減算命令等のマイクロプロセツ
サで実行されるシーケンスプログラムの実行動作
について説明する。これらのプログラムは、マイ
クロプログラムによつて命令が解読された後、マ
イクロプロセツサによつてシーケンスプログラム
の実行がなされるが、マイクロプロセツサにシー
ケンスプログラムの実行動作を行わせるために、
第8図Eに示すような数ステツプのマイクロプロ
グラムが記憶されている。まず、最初のステツプ
では、解読された命令に応じて、マイクロプロセ
ツサで実行すべき処理ルーチンの先頭メモリアド
レスを表わすデータデータラインDLを介してを
バツフアレジスタ53へロードする。この後ゲー
トG1〜G5の切換やデータセレクタ23の操作
等を行つてシーケンスメモリ30や入出力ユニツ
ト10〜18がプロセツサ本体50によつてアク
セスできるようにしておき、プロセツサ本体50
に割込みを掛ける。そして、マイクロプログラム
の歩進は停止され、MCU41は割込みが掛けら
れるまで待機状態を維持する。 第9図Aはマイクロプロセツサ側で実行される
各シーケンスプログラム実行ルーチンを示すもの
で、バツフアレジスタ53に先頭アドレスを表わ
すデータがプリセツトされ、プロセツサ本体50
に割込みが掛けられると、これらの処理プログラ
ムの内の1つが実行される。 まず、読出されたシーケンスプログラムが加算
命令ADDである場合には加算プログラムが実行
される。このプログラムはAレジスタ32の内容
とBレジスタ33の内容とを加算するもので、A
レジスタ32とBレジスタ33に記憶されている
データがプロセツサ本体50内に読込まれ、内部
で加算演算が行われる。そして、この演算結果が
Aレジスタ32にロードされる。また、読出され
たシーケンスプログラムが減算命令SUBである
場合には減算プログラムが実行され、Aレジスタ
32のデータからBレジスタ33のデータが減算
され、その演算結果がAレジスタ32にロードさ
れる。 一方、読出されたシーケンスプログラムがトラ
ンスフア命令TRRである場合には次の転送プロ
グラムが実行される。このトランスフア命令
TRRはトランスフア命令に続く次のメモリアド
レスのデータで指定された転送元要素のデータ
を、トランスフア命令の2つ後のメモリアドレス
にプログラムされている転送先要素に転送するも
のであるため、最初にプログラムカウンタ31が
歩進されて、トランスフア命令に続いてプログラ
ムされている転送元要素を表わすデータが読出さ
れて解読され、この後このデータにて指定される
転送元要素に記憶されているデータがプロセツサ
本体50内部に読込まれる。そして、プログラム
カウンタ31を再歩進させることによつて、転送
先要素を表わすデータがプロセツサ本体50によ
つて解読され、プロセツサ本体50の内部に記憶
されている転送元から読込んだデータが転送先の
要素に書込まれる。 さらに、シーケンスプログラムが比較命令
CMPである場合には、比較プログラムが実行さ
れ、Aレジスタ32のデータとBレジスタ33の
データとの大小が比較される。そして、Aレジス
タ32の内容とBレジスタ33の内容の大小関係
がそれぞれA>B、A=B、A<Bにあるとき、
アドレスカウンタ20の内容をそれぞれ+1、+
2、+3だけ歩進させ、アドレスカウンタ20で
指定された出力要素(内部ダミー)を付勢するよ
うにしている。 上記のような処理ルーチンが読出されたシーケ
ンスプログラムに応じて実行されると、どの処理
ルーチンが実行された場合でもプログラムの実行
後割込処理ルーチンへジヤンプする。この割込処
理ルーチンになると、MCU41側のレジスタ4
5に、MCU41によつて実行されるマイクロプ
ログラムのシーケンスプログラム読出ルーチンの
先頭番地がロードされ、この後MCU41に割込
みが掛けられる。そして、プロセツサ本体50は
処理動作を停止して割込みが掛けられるまで待機
する。 MCU41に割込みが掛けられると、MCU41
はレジスタ45内にプリセツトされているシーケ
ンスプログラム読出ルーチンの先頭番地(第8図
AのRETの位置)のデータを読込みジヤンプす
る。これにより、プログラムカウンタ31が歩進
され、次のシーケンスプログラムの読出しが行わ
れる。 上述のように、読出されたシーケンスプログラ
ムが、加算命令、減算命令等のマイクロプロセツ
サで行う命令である場合には、第11図aに示す
ように命令の解読が行われた後で、マイクロプロ
セツサに割込みが掛けられ、MCU41の動作は
停止状態となる。そして、マイクロプロセツサに
よつてシーケンスプログラムの実行が行われる
と、MCU41に割込みが掛けられ、MCU41は
マイクロプログラムと協働して次のシーケンスプ
ログラムの読出しを行う。以下同様の動作が繰返
えし行われ、テスト命令等の論理演算プログラム
と、加減算命令等の算術演算プログラムが交互に
シーケンシヤルに実行されて行く。このため、算
術演算の結果や比較結果がこれに続くシーケンス
プログラムに直ぐに反映され、従来のように、演
算結果や比較結果が1スキヤン後でないとシーケ
ンスプログラムに反映されないというようなこと
はなくなり、正確なシーケンス制御を行うことが
できる。また、シーケンスプログラム中に演算命
令等のマイクロプロセツサで実行すべきプログラ
ムが多数ある場合でも、マイクロプロセツサによ
る演算時間分だけの遅れが生ずるだけで、従来の
ように、1つの演算を行う度に1チヤンス時間の
遅れが生ずることはなく、演算命令の多い複雑な
プログラムでも全部の演算命令を短時間でスキン
ニングでき、複雑なシーケンス制御を実行する場
合でも演算結果や比較結果等の応答遅れのために
シーケンス制御に影響を及ぼすことがない利点を
有している。 次に特別命令RQIのプログラムの実行動作につ
いて説明する。この特別命令RQIは前記したよう
に、マイコンメモリ51に記憶されるモニタプロ
グラムを変更することによつて、TTYを用いた
プログラムリストの作成、入出力要素のオンオフ
状態のモニタ等の種々のモニタ動作を行うことが
できるが、本実施例ではTTYを用いたプログラ
ムリストを作成するモニタプログラムについて説
明する。 この特別命令RQIを使用する場合には、マイコ
ンメモリ51内のモニタプログラムを変更するこ
とによつて、任意ワードの修飾部を付加すること
ができる。シーケンスプログラムのリストを作成
する場合には、第10図に示すように、リストア
ツプすべきシーケンスプログラムの先頭番地と最
終番地を表わす2ワードの修飾部が付加されてい
る。また、本実施例では特別命令RQIとシーケン
スプログラムを並行して行うため、RQI命令に続
いて無条件ジヤンプ命令JMPがプログラムされて
いる。このため、RQI命令が読出されると、第1
1図bに示すようにマイクロプロセツサに割込み
が掛けられた後で、MCU41はこのRQI命令に
続くシーケンスプログラムの実行を引続いて行
う。 第9図Bはマイコンメモリ51に記憶されるモ
ニタプログラムを示すもので、シーケンスプログ
ラムとしてプログラムされている先頭番地と最終
番地のデータをシーケンスメモリ30から読出先
頭番地のデータをプロセツサ本体50内部の内部
プログラムカウンタにロードする準備ルーチン
と、シーケンスメモリ30からシーケンスプログ
ラムを1つずつ読出し、これを翻訳してテレタイ
プTTYに転送する転送ルーチンとから成つてい
る。まず、プログラムの最初では内部に設けられ
た準備フラツグをリセツトし、この後、マイクロ
プロセツサからコントロール信号μCSを送出し
てフリツプフロツプFF1をセツトする。このフ
リツプフロツプFF1がセツトされると、MCU4
1は第8図Aに示すように、シーケンスプログラ
ムの読出しを行う前の段階で、これを識別し、ゲ
ート切換ルーチンへジヤンプする。このゲート切
換ルーチンは、シーケンスメモリ20がプロセツ
サ本体50によつてアクセスできるようにするも
ので、ゲートG3〜G5の切換えが行われる。こ
のようなゲート切換えが完了すると、マイクロプ
ログラムによつてマイクロコンピユータ側のフリ
ツプフロツプFF2がセツトされ、ゲートの切換
完了がプロセツサ本体50に知らされる。また、
これに続くステツプでは、フリツプフロツプFF
1がリセツトされ、マイクロプロセツサからフリ
ツプフロツプFF1が再びセツトできる状態にさ
れる。 フリツプフロツプFF2がセツトされると、プ
ロセツサ本体50は引続いてプログラムを実行す
る。これに続くプログラムは準備フラツグがセツ
トされているかどうかをテストするもので、準備
フラツグがリセツト状態にある場合には準備ルー
チンへジヤンプし、セツトされている場合には転
送ルーチンへジヤンプする。モニタプログラムの
開始時においては準備フラツグがリセツトされて
いるため準備ルーチンへジヤンプする。この準備
ルーチンでは最初にゲートG6を開いてプログラ
ムカウンタ31から出力されているアドレスデー
タを読込み、この読込まれたアドレスデータを基
準にしてジヤンプ命令JMPの次にプログラムされ
ている先頭番地と最終番地のデータをシーケンス
メモリ30から読出す。そして、先頭番地のデー
タを内部プログラムカウンタにプリセツトし、こ
の後、準備フラツグをセツトする。これにより、
プロセツサ本体50は転送ルーチンへジヤンプし
プログラムの実行を行う。 転送ルーチンになると、シーケンスメモリ30
の内部プログラムカウンタで指定されたメモリア
ドレスに記憶されているシーケンスプログラムを
読出し、内部レジスタ又はマイコンメモリ51の
RAMエリアに一時記憶する。この後、マイクロ
プロセツサはMCU41側のレジスタ45へ、マ
イクロプログラムとしてプログラムされているシ
ーケンスプログラム読出ルーチンの先頭アドレス
のデータをプリセツトし、MCU41へ割込みを
掛ける。これにより、MCU41は第11図bに
示すように、シーケンスプログラムの読出し、実
行動作を再開する。この後、マイクロプロセツサ
はフリツプフロツプFF2をリセツトした後、シ
ーケンスメモリ30から読出したシーケンスプロ
グラムのデータを解読してプログラム言語に翻訳
し、アスキーコードに変換して1文字分ずつイン
ターフエース55内のレジスタに転送する。これ
により、シーケンスメモリ30から読出され解読
されたシーケンスプログラムが1文字ずつテレタ
イプTTYにシリアル転送され、第5図に示すよ
うな形式でシーケンスプログラムがプリントアウ
トされる。テレタイプTTYの印字速度は1秒間
に10文字程度で、プログラム言語に翻訳されたシ
ーケンスプログラムは、6文字程度であるので、
1つのシーケンスプログラムをプリントアウトす
るのに0.6秒かかり、この間にシーケンスプログ
ラムが数10回以上実行される。このため、シーケ
ンスプログラムの実行と、シーケンスプログラム
のリストアツプを並行して行つてもシーケンス制
御に影響を与えることはない。 1つのシーケンスプログラムを表わすデータが
テレタイプTTYに転送されると、マイクロプロ
セツサは転送されたデータが最終番地のものであ
るかどうかをテストし、最終番地でない場合には
内部カウンタを歩進させてフリツプフロツプFF
1をセツトするステツプへ戻る。すると、MCU
41は再びゲート切換ルーチンへジヤンプするた
め、ゲートの切換えが行われ、マイクロプロセツ
サはこの後で次のシーケンスプログラムの読出し
を行い、読出されたデータを翻訳してテレタイプ
TTYに転送する。このとき、MCU41にはマイ
クロプロセツサによるシーケンスプログラムの読
出しの後で割込が掛けられ、次のシーケンスプロ
グラムの読出しと実行を上記動作と並行して行
う。 このように、本実施例のシーケンスコントロー
ラにおいてはシーケンスプログラム中に特別命令
RQIをプログラムしておくとともに、マイコンメ
モリ51内に所定のモニタプログラムを記憶させ
ておけば、シーケンスプログラムのリストアツプ
等のモニタ動作をシーケンスプログラムの実行と
並行して行うことができるが、特別命令RQIプロ
グラムがシーケンスメモリ30から読出される
と、マイクロプロセツサに割込みが掛けられて、
特別命令プログラムの実行がマイクロプロセツサ
に引継がれるようになつているため、従来のよう
に論理演算プロセツサと算術演算プロセツサとの
間に情報交換を行うメモリを設けたり、両方のプ
ロセツサが情報交換用のメモリをアクセスできる
ようにするための切換回路を設けたりする必要が
全くない。また、情報交換のためにシーケンスプ
ログラムのスキヤンニングタイムが長くなること
もない。 なお、上記実施例は論理演算用プロセツサがマ
イクロプログラム方式の演算処理回路によつて構
成されていたが、これはランダムロジツクの回路
で構成してもよい。また、上記実施例においては
ゲートG1〜G5の切換えを論理演算用プロセツ
サで一括して行つていたが、このゲートG1〜G
4の切換を論理演算プロセツサからの信号と、算
術演算用プロセツサからの信号との両方で制御す
るようにしてもよい。 以上述べたように本発明のシーケンスコントロ
ーラにおいては、読出されたシーケンス命令が算
術演算命令である場合には算術演算用プロセツサ
に割込みを掛けて読出された演算命令に応じた処
理を算術演算用プロセツサで実行させるととも
に、これと同時に論理演算用プロセツサの動作を
停止させ、算術演算プロセツサによる処理が完了
したときに、論理演算プロセツサを再起動して引
続くシーケンスプログラムが実行されるように構
成したので、算術演算の結果や比較結果がこれに
続くシーケンスプログラムに直ちに反映され、演
算結果に応じて即時にシーケンスの流れが変化さ
れる。したがつて、従来のように演算結果が1ス
キヤンだけ遅れてシーケンスプログラムに反映さ
れるようなことはなく、演算処理を含むシーケン
ス制御を確実に行うことができる利点がある。 また、本発明においては、複数種類の算術演算
命令を設け、読出された算術演算命令の種類を表
わすデータを算術演算プロセツサに伝送するデー
タラインを入出力バスと別個に設け、算術演算用
のプロセツサは、このデータラインから読出した
データに応じて異なる処理を行うようにしたの
で、算術演算用プロセツサに動作指令を与えるた
めに入出力アドレスが専有されることがなく、算
術演算の機能を付加したことによつて、利用でき
る入出力アドレスの数が減少することを防止でき
る利点がある。 さらに、本発明においては、算術演算用プロセ
ツサをシーケンスプログラム読出用プログラムカ
ウンタとシーケンスメモリとに接続して、算術演
算用プロセツサがシーケンスメモリ内での演算命
令の記憶アドレスに引続くアドレスの内容を直接
読めるようにし、算術演算用プロセツサが実行す
る処理プログラムの少なくとも1つは、シーケン
スプログラム中の演算命令に引続くアドレスに記
憶されたデータを利用して処理を行うようにした
ので、算術演算等を実行するためのプログラムが
シーケンスメモリと独立したメモリに記憶されて
いるものにおいても、算術演算用プロセツサの処
理で必要となる転送アドレス等データを演算命令
に引続いてプログラムすることができ、演算処理
を含むシーケンスプログラムの作成が極めて容易
になる利点がある。
【図面の簡単な説明】
第1図は本発明にかかるシーケンスコントロー
ラの構成を示すブロツク図、第2図はシーケンス
プログラムデータのビツト配分を示す図、第3図
はトランスフア命令に使用される転送元、転送先
要素のコードを示す図、第4図はリレー回路の一
例を示す図、第5図は第4図のリレー回路を表1
の命令語に基づいてプログラムしたプログラムシ
ート、第6図はマイクロプログラムデータのビツ
ト配分を示す図、第7図はマイコンメモリ51内
に記憶されたプログラムを示すメモリマツプ、第
8図A〜Eはマイクロプログラムメモリ41内に
記憶されたマイクロプログラムを示すフローチヤ
ート、第9図A,Bはマイコンメモリ51内に記
憶された処理プログラムを示すフローチヤート、
第10図は特別命令RQIを用いたプログラム例、
第11図は本発明のシーケンスコントローラの動
作を説明するためのタイミングチヤートである。 10〜18……入出力ユニツト、20……アド
レスカウンタ、21……ユニツトセレクタ、2
2,23……データセレクタ、24……データレ
ジスタ、25……内部ダミー、30……シーケン
スメモリ、31……プログラムカウンタ、32…
…Aレジスタ、33……Bレジスタ、40……マ
イクロプログラムメモリ、41……マイクロプロ
グラムコントロールユニツト、42……パイプラ
インレジスタ、43……セレクタ、44……イン
バータ、45……レジスタ、46……マルチプレ
クサ、50……プロセツサ本体、51……マイコ
ンメモリ、52,53……バツフアレジスタ、5
4……RQレジスタ、55……インターフエイ
ス、FF1,FF2……フリツプフロツプ、G1〜
G6……ゲート。

Claims (1)

    【特許請求の範囲】
  1. 1 数値演算等の論理演算でない演算を指令する
    複数種類の演算命令を含むシーケンスプログラム
    を記憶するシーケンスメモリと、このシーケンス
    メモリの読出しアドレスを指定するプログラムカ
    ウンタと、前記シーケンスメモリから読出される
    シーケンスプログラムのアドレスデータによつて
    入出力要素の選択を行う入出力選択手段と、前記
    プログラムカウンタの歩進とシーケンスプログラ
    ムの読出しを周期的に行うとともに選択された入
    出力要素のオンオフ状態に応じてテストフラツグ
    の操作を行いテストの完了後テストフラツグの状
    態によつて選択された出力要素を付勢または無勢
    するマイクロプログラム方式まはたランダムロジ
    ツク方式の高速形の論理演算用プロセツサと、前
    記プログラムカウンタとシーケンスメモリに接続
    された算術演算用のプロセツサと、この算術演算
    用プロセツサに接続され前記シーケンスプログラ
    ムに含まれ得る複数種類の演算命令に対応する処
    理を前記算術演算用プロセツサにて実行させるた
    めの複数のプログラムを記憶するメモリと、前記
    シーケンスメモリから読出された命令が前記論理
    演算用プロセツサで実行できない算術演算命令で
    ある場合には、前記算術演算用プロセツサに割込
    信号を送出した後論理論算プロセツサを停止状態
    にする第1制御手段と、前記シーンケスメモリか
    ら読出された演算命令を表わすデータを前記算術
    演算用プロセツサに伝送する入出力バスとは別の
    データラインと、前記割込信号に応答して前記シ
    ーケンスメモリから読出された算術命令に対応す
    るプログラムを前記算術演算用プロセツサにて実
    行させるプログラム選択実行手段と、前記算術演
    算用プロセツサによる処理の完了に応答して前記
    論理演算用プロセツサによるシーケンスプログラ
    ムの実行を再開する第2制御手段とを設け、前記
    メモリ内の複数のプログラムの少なくとも1つは
    読出された演算命令の記憶アドレスに引続くアド
    レスに記憶されたデータを算術演算用プロセツサ
    にて読出させ、このデータ利用して処理を行うよ
    うプログラムしたことを特徴とするシーケンスコ
    ントローラ。
JP2194078A 1978-02-27 1978-02-27 Sequence controller Granted JPS54114687A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2194078A JPS54114687A (en) 1978-02-27 1978-02-27 Sequence controller
US06/014,280 US4249248A (en) 1978-02-27 1979-02-23 Programmable sequence controller with an arithmetic operation function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2194078A JPS54114687A (en) 1978-02-27 1978-02-27 Sequence controller

Publications (2)

Publication Number Publication Date
JPS54114687A JPS54114687A (en) 1979-09-06
JPS624726B2 true JPS624726B2 (ja) 1987-01-31

Family

ID=12069036

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2194078A Granted JPS54114687A (en) 1978-02-27 1978-02-27 Sequence controller

Country Status (2)

Country Link
US (1) US4249248A (ja)
JP (1) JPS54114687A (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56147203A (en) * 1980-04-17 1981-11-16 Toshiba Mach Co Ltd Sequence control device equipped with row cyclic operation part
JPS5776604A (en) * 1980-10-30 1982-05-13 Fanuc Ltd Numeric controller
JPS57141709A (en) * 1981-02-27 1982-09-02 Nissan Motor Co Ltd Operation processor for sequence controller
US4442504A (en) * 1981-03-09 1984-04-10 Allen-Bradley Company Modular programmable controller
JPS57191703A (en) * 1981-05-20 1982-11-25 Fanuc Ltd Sequence controller
JPS5811810A (ja) * 1981-07-14 1983-01-22 Matsushita Electric Ind Co Ltd サイクルタイマ−装置
US4447876A (en) * 1981-07-30 1984-05-08 Tektronix, Inc. Emulator control sequencer
DE3302902A1 (de) * 1983-01-28 1984-08-02 Siemens AG, 1000 Berlin und 8000 München Speicherprogrammierbare steuerung
DE3302940A1 (de) * 1983-01-28 1984-08-02 Siemens AG, 1000 Berlin und 8000 München Speicherprogrammierbare steuerung mit wort- und bitprozessor
DE3302929A1 (de) * 1983-01-28 1984-08-02 Siemens AG, 1000 Berlin und 8000 München Speicherprogrammierbare steuerung
JPS59205663A (ja) * 1983-05-07 1984-11-21 Hitachi Ltd コンピユ−タ処理モ−ドをもつたシ−ケンス制御装置
US4692859A (en) * 1983-05-16 1987-09-08 Rca Corporation Multiple byte serial data transfer protocol
DE3323824A1 (de) * 1983-07-01 1985-01-03 Siemens AG, 1000 Berlin und 8000 München Speicherprogrammierbare steuerung
JPS60128505A (ja) * 1983-12-16 1985-07-09 Hitachi Ltd プログラマブルコントロ−ラ
JPS60136810A (ja) * 1983-12-26 1985-07-20 Fuji Electric Co Ltd プログラマブルコントロ−ラ
JPH0619651B2 (ja) * 1984-06-22 1994-03-16 株式会社日立製作所 シ−ケンス制御装置
JPS6148001A (ja) * 1984-08-15 1986-03-08 Hitachi Ltd プログラマブルコントロ−ラ
JPS61120205A (ja) * 1984-11-16 1986-06-07 Sapporo Breweries Ltd 工程歩進処理方式
US4789789A (en) * 1986-02-17 1988-12-06 Tektronix, Inc. Event distribution and combination system
US4801813A (en) * 1986-02-17 1989-01-31 Tektronix, Inc. Event distribution and combination system
US4943915A (en) * 1987-09-29 1990-07-24 Digital Equipment Corporation Apparatus and method for synchronization of a coprocessor unit in a pipelined central processing unit
GB2232514B (en) * 1989-04-24 1993-09-01 Yokogawa Electric Corp Programmable controller
US5452425A (en) * 1989-10-13 1995-09-19 Texas Instruments Incorporated Sequential constant generator system for indicating the last data word by using the end of loop bit having opposite digital state than other data words
JP2848060B2 (ja) * 1991-10-24 1999-01-20 株式会社日立製作所 プログラマブルコントローラおよびシーケンス制御方法
JP3371349B2 (ja) * 1995-07-21 2003-01-27 オムロン株式会社 制御処理装置
JPH10307607A (ja) * 1997-05-08 1998-11-17 Hitachi Ltd 主プロセッサ及びプログラマブルコントローラ
JP4507888B2 (ja) * 2005-01-17 2010-07-21 株式会社デンソー マイクロコンピュータ
BRPI0905956A2 (pt) 2008-02-06 2015-06-30 Capis Sprl Método de determinação de banda de frequência característica de uma doença cardíaca, método para a detecção de doenças cardíacas, dispositivo programável e conjunto de instruções em meio legível por computador
US7870299B1 (en) 2008-02-06 2011-01-11 Westinghouse Electric Co Llc Advanced logic system
CN112988575A (zh) * 2021-02-10 2021-06-18 北京声智科技有限公司 一种对多设备系统的自动测试方法、装置及测试设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3854353A (en) * 1973-06-20 1974-12-17 Bendix Corp Method and apparatus for performing a threading operation on a rotating workpiece
US3944984A (en) * 1974-04-23 1976-03-16 Modicon Corporation Computer controller system with a reprogrammable read only memory
US4034354A (en) * 1975-11-21 1977-07-05 The Bendix Corporation Programmable interface controller for numerical machine systems
JPS52122786A (en) * 1976-04-09 1977-10-15 Hitachi Ltd Sequence controlling system
US4064395A (en) * 1976-08-17 1977-12-20 Cincinnati Milacron Inc. Machine control system employing a programmable machine function controller
US4086658A (en) * 1976-10-04 1978-04-25 International Business Machines Corporation Input/output and diagnostic arrangements for programmable machine controllers having multiprogramming capabilities
US4079455A (en) * 1976-12-13 1978-03-14 Rca Corporation Microprocessor architecture
US4077060A (en) * 1976-12-27 1978-02-28 International Business Machines Corporation Asymmetrical multiprocessor system

Also Published As

Publication number Publication date
US4249248A (en) 1981-02-03
JPS54114687A (en) 1979-09-06

Similar Documents

Publication Publication Date Title
JPS624726B2 (ja)
JP2610812B2 (ja) データ処理システムのエミユレーシヨン
US4442504A (en) Modular programmable controller
US5696989A (en) Microcomputer equipped with DMA controller allowed to continue to perform data transfer operations even after completion of a current data transfer operation
JPS5935056B2 (ja) デ−タ処理装置
JPH04290150A (ja) Fifoバッファの制御装置及び制御方法並びにデータ転送を制御する装置
JPH0430053B2 (ja)
JPS601643B2 (ja) デジタルコンピュ−タ用の初期化回路
CA1148665A (en) Microcomputer arranged for direct memory access
US4365312A (en) Sequence controller
JPH05108341A (ja) マイクロプロセツサ
US4173782A (en) Return and link mechanism
US4967339A (en) Operation control apparatus for a processor having a plurality of arithmetic devices
JPH0650863B2 (ja) 直接データ転送のためのインターフエース
JPH02284258A (ja) 機能ブロックプロセサ及びビットプロセサを具備する書込み可能論理制御器
US5455918A (en) Data transfer accelerating apparatus and method
US4814977A (en) Apparatus and method for direct memory to peripheral and peripheral to memory data transfers
AU714669B2 (en) Peripheral device control
CA1223969A (en) Microcode control of a parallel architecture microprocessor
JPS58115565A (ja) デ−タ処理装置
JPH04149658A (ja) 情報処理装置
EP0136699A2 (en) Programmable controller
JPS6410854B2 (ja)
JPS6155130B2 (ja)
JPH05210500A (ja) データ処理装置