DE2715497A1 - Multiprozessorsystem fuer die steuerung des arbeitszyklusses einer maschine - Google Patents

Multiprozessorsystem fuer die steuerung des arbeitszyklusses einer maschine

Info

Publication number
DE2715497A1
DE2715497A1 DE19772715497 DE2715497A DE2715497A1 DE 2715497 A1 DE2715497 A1 DE 2715497A1 DE 19772715497 DE19772715497 DE 19772715497 DE 2715497 A DE2715497 A DE 2715497A DE 2715497 A1 DE2715497 A1 DE 2715497A1
Authority
DE
Germany
Prior art keywords
memory
data
signals
input
signal
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.)
Ceased
Application number
DE19772715497
Other languages
English (en)
Inventor
Paul Stephen Borzcik
Robert Michael Ondercin
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.)
Milacron Inc
Original Assignee
Milacron Inc
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 Milacron Inc filed Critical Milacron Inc
Publication of DE2715497A1 publication Critical patent/DE2715497A1/de
Ceased 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/04Programme 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
    • 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/11Plc I-O input output
    • G05B2219/1105I-O
    • 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/11Plc I-O input output
    • G05B2219/1125I-O addressing
    • 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/11Plc I-O input output
    • G05B2219/1159Image table, memory
    • 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/13Plc programming
    • G05B2219/13004Programming the plc
    • 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/13Plc programming
    • G05B2219/13017Macro instructions
    • 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/13Plc programming
    • G05B2219/13092Speed up, evaluation of expressions between brackets
    • 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/13Plc programming
    • G05B2219/13128Relay ladder diagram, RLL RLD KOP
    • 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/13Plc programming
    • G05B2219/13159Cassette
    • 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/14Plc safety
    • G05B2219/14144Galvanic isolation
    • 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/15018Communication, serial data transmission, modem
    • 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/15055FIFO
    • 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/15081Period length ratio between application and communication task is settable
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Control By Computers (AREA)
  • Hardware Redundancy (AREA)
  • Logic Circuits (AREA)

Description

CINCINNATI MILACRON INC., 4701 Marburg Avenue, Cincinnati, Ohio 45 209, USA
Multiprozessorsystem für die Steuerung des Arbeitezyklusses einer Maschine.
Die Erfindung betrifft allgemein das Gebiet der Maschinensteuerung und speziell einen logischen Prozessor in Kombination mit asynchron arbeitenden modulareη Datenprozessoren. Diese MuItiprozessorkombination kann dazu verwendet werden, um den Betriebszyklus einer Maschine zu steuern.
Es ist bekannt, Relaisschaltungen für die Steuerung von Ausgangsvorrichtungen, z.B. Motoranlassern, Zeitgeber, (Signal)-Lichtern, Steuerventilen, Solenoiden, Anzeigevorrichtungen usw., zu verwenden und zwar in Abhängigkeit vom Zustand der Eingangsschaltungen, z.B. von Grenzschaltern, Druck- und Temperaturwandlern, Drucktasten usw. Die Ausgangsvorrichtungen steuern den Betrieb der Maschine in Abhängigkeit von einem logischen Schema von Zuständen der Eingangsvorrichtungen, welche die Betriebsweise der Maschine überwachen. Die logischen Relaisschaltungen sind derart miteinander verdrahtet, daß das gewünschte logische Schema oder Muster derart verdoppelt wird, daß die Schaltungen im Sinne einer Steuerung der Ausgangsvorrichtungen in einer vorbestimmten Weise als Funktion des Zustandes der Eingangsvorrichtungen betrieben werden. Die logischen Relaisschaltungen erfordern einen mechanischen Betrieb, ; um ihre Schaltoperation durchführen zu können; diese Schaltun- ! gen sind daher inhärent weniger zuverlässig als elektronische ;
70984 4 /0716
2t
Pestkörper-Schaltervorrichtungen. Darüber hinaus sind Relaisschaltungen kostspielig, zumal die Kompliziertheit der Maschinensteuereinrichtungen zunimmt. Schließlich sind Relaisschaltungen auch starr und sperrig in ihrem Aufbau nnd sind daher einer Einschränkung hinsichtlich ihrer Vielseitigkeit und Erweiterung unterworfen.
In den letzten fünf Jahren, standen eine Anzahl von logischen Prozessoren zur Verfügung, durch die die logischen Relaisschaltungen für die Steuerung von Maschinen ersetzt wurden. Einige der logischen Prozessoren sind sehr einfach aufgebaut und sie können lediglich relativ einfache logische Entscheidungen duplizieren, die von logischen Relaischaltungen ausgeführt werden. Andere Begier enthalten jedoch volle Rechnereigenschaften und können den gesamten Bereich der arithmetischen Operationen ausführen, die in einem Rechner verfügbar sind und können auch standardisierte logische Entscheidungen treffen. Eine Betrachtung des Standes der Technik zeigt, daß es ein breites Spektrum von Prozessorkonstruktionen und Programmiertechniken gibt. Die bekannten Vorrichtungen besitzen jedoch nur ein Merkmal gemeinsam und zwar sind sie alle einzelne verarbeitende Einheiten. Dies ist ausreichend und zufriedenstellend in Einheiten, bei denen lediglich eine logische Entscheidung durchgeführt werden muß; wenn jedoch arithmetische Operationen zusätzlich zu den logischen Entscheidungen gefordert werden, so wird der Prozessor sehr komplex und teuer.
Durch die vorliegende Erfindung sollen die geschilderten Nachteile der bekannten Systeme teseitigt werden und zwar durch Schaffung eines modulareη und erweiterungsfähigen Multiprozeesorsystems mit einem logischen Prozessor für die überwachung des Arbeitszyklusses einer Maschine in Abhängigkeit von einem programmierten Satz von logischen Instruktionen. Das System
709844/0718
enthält einen oder mehrere unabhängige Datenprozeasoren, die asynchron mit dem logischen Prozessor arbeiten, um die programmierten Folgen von arithmetischen Operationen auszuführen, die durch den logischen Prozessor ausgewählt wurden.
Eine Ausführungsform der Erfindung betrifft ein Dualfunktions-Multiprozessorsystem für die Steuerung des Betriebes einer Maschine. Die Maschine enthält Eingabevorrichtungen für die Erzeugung von Eingangssignalen, welche die Betriebsbedingungen an oder in der Maschine wiedergeben. Weiter enthält die Maschine Ausgangs- oder Ausgabevorrichtungen, um den Betrieb der Maschine in Abhängigkeit von den Ausgangssignalen zu steuern, welche von dem Multiprozessorsystem erzeugt werden. Das Multiprozessorsystem enthält Mittel für die Übertragung bzw. Kommunikation der Eingangs- und Ausgangssignale zwischen den Vorrichtungen an der Maschine und einem logischen Prozessor. Der logische Prozessor spricht auf die Eingangssignale an, um die Ausgangssignale in Abhängigkeit von der Maschine zu erzeugen, die in Einklang mit einer vorbestimmten programmiertem Folge von logischen Instruktionen arbeitet. Das Multiprozessorsystem enthält ferner wenigstens einen Datenprozessor, der an die Kommunikationsmittel angeschlossen ist. Der Datenprozessor führt asynchron Sätze von programmierten arithmetischen Instruktionen aus, welche durch die Ausgangssignale ausgewählt werden. Während der Ausführung der arithmetischen Instruktionen erzeugt der Datenprozessor Steuereingangssignale, die auf die Hauptleitung zurückgelangen und von dem logischen Prozessor verwendet werden können.
Im folgenden wird die Erfindung anhand von Ausführungsbeispielen unter Hinweis auf die Zeichnungen näher erläutert. Es zeigen:
709844/0718
Figur 1 ein allgemeines Blockschaltbild des neuartigen Multiprozessorsystems ;
Figur 2 eine typische Auswahl von Steuergrößen für eine Programmiere inheit, die in Verbindung mit dem logischen Prozessor verwendet wird;
Figur 3 einige der grundlegenden Elemente, die eine typische Maschinensteuerschaltung ausmachen oder ein Kettendiagramm (ladder diagram);
Figuren 4a und 4b, wenn diese an den angezeigten Verbindungsleitungen miteinander verbunden sind ein detailiertes Blockschaltbild des logischen Prozessors;
Figur 5 ein detailliertes Blockschaltbild des Datenprozessors;
Figur 6 ein Beispiel einer Maschinensteuerschaltung, die die Verwendung des Multiprozessorsystems erfordert; und
Figur 7 ein Flußdiagramm eines Programms für die Steuerung eines Sprung-Uhrzeigersinn-Zyklusses (jog clockwise cycle) einer Werkzeugmatrix.
Figur 1 zeigt ein allgemeines Blockschaltbild des Multiprozessorsystems. In Figur 1 wird eine Maschine 10 durch ein Multiprozessorsystem gesteuert, welches einen logischen Prozessor 12, einen oder mehrere Datenprozessoren 11 und 14 und eine Kontakthauptleitung 50 enthält, um Signale zwischen dem lagi- : sehen Prozessor und der Maschine und zwischen dem logischen [ Prozessor und den Datenprozessoren zu übertragen. Die Daten- j
709844/071·
AZ
Prozessoren sind hinsichtlich ihres Aufbaus und ihrer Betriebsweise identisch. Es soll daher von nun an nur ein Datenprozessor in den Einzelheiten beschrieben werden; obwohl jedoch nur ein Datenprozessor beschrieben wird, so werden jedoch einer oder mehrere Datenprozessoren zur Anwendung gebracht. Die Betriebsweise der Maschine wird dirch eine Anzahl von logischen Instruktionen wiedergegeben, die durch Speicherworte in dem Speicher 16 des logischen Prozessors 12 definiert sind. Die Speicherworte werden durch Verwendung einer Programmiereinheit 18 einprogrammiert. Es gibt eine große Vielfalt von Formaten, die für das Speicherwort verwendet werden können. Auch gibt es weiter eine gleich große Vielzahl von Programmiereinheiten, die für die Erzeugung der Speicherworte zur Verfügung stehen. Für die Erläuterung ist es jedoch ausreichend, ein Beispiel einer Programmiereinheit zu erläutern und das von dieser erzeugte Speicherwort zu beschreiben.
Figur 2 zeigt ein Drucktastenpult für eine Programmiereinheit, welche dazu verwendet werden kann, Speicherworte für den logischen Prozessor 12 zu erzeugen. Die Programmiereinheit 18 ist so ausgelegt, daß sie mit einem Relaisschaltungsdiagramm verwendet werden kann, was auch als Kettendiagramm (ladder diagram) bekannt ist. Diese Diagramme werden allgemein verwendet, um Maschinensteuerschaltungen darzustellen. Weiter ist die Komplexität der Logik eine Funktion des Maschinenzyklusses. Ein Beispiel eines solchen Diagramms ist in Figur 3 gezeigt. Wie der Fachmann erkennt, stellt Figur 3 lediglich ein elemezteree Beispiel einer Maschinensteuerschaltung dar. Typisch erfordern derartige Schaltungen eine Reihe von Zeichnungsblättern; man kann jedoch eine Schaltung irgendeiner Große in Ausdrücken von Elementen programmieren, wie dies im folgenden erläutert werden soll. Der Strom wird den vertikal verlaufenden Leitungen a und b zugeführt und die Schaltungselemente definieren eine
701844/0711
Al
logische Folgern Operationen. Der Zweck der Programtiereinheit 18 von Figur 2 besteht darin, eine Folge von logischen Instruktionen zu erzeugen, welche die logische Folge der Operationen der Schaltung von Figur 3 simulieren. Die Schaltung besteht aus mehreren Grundelementen - normalerweise offenen oder normalerweise geschlossenen Eingangskontakten, UHD-Funktionen, einer OBER-Funktion» einer Ausgangswicklung und einer Den-Betriebnicht-ausgeführt-Fttoktion (NOF). Darüber hinaus besitzen die
und Ausgangswicklung einheitliche Vorrichtungs-
adressenidentifizierer.
Eine typische Folge von Speicherworten ist in der folgenden Tabelle I wiedergegeben:
708044/0716
Ak
Tabelle I
Speicher
stelle
Speicherworte Kontakt
zustand
NO-O
NC - 1
Element
NOP - OO
Ausgang - 01
Eingang - 10
ODER - 11
309 • · 0
310 1 O 1
311 1 O 0
312 1 1 0
313 1 O 0
314 O O 1
315 1 O 0
316 O 1
317 • »
Vorrichtungs-Adressen-Zuweisung
0-127 - externe Wicklung Aus
128-255 " " Ein
10100001 00100101 00000000 10100101 00000000 00110001 00100011
Die Speicherstelle in der linken Spalte definiert die Speichersteile in der Programmiereinheit. Mit jeder Speicherstelle ist l ein binärer Ausdruck zugeordnet, welcher jedes Element in der Schaltung von Figur 3 definiert. Es sollten hier mehrere Punk te festgehalten werden. Erstens ist die Zahl der Elemente, die ; in der Schaltung definiert ist, vollständig willkürlich. Die ί hier definierten Elemente geben eine sehr einfache Kombination wieder. Sie sind jedoch ausreichend, um die meisten Maschinensteuerschaltungen zu definieren. Zweitens ist auch die Länge des Speicheradressenwortes vollständig willkürlich. Bei dem vorliegenden Beispiel ist ein Elfbitwort verwendet. Es kann jedoch die Länge des Wortes erweitert werden, um einer erweiter-
7098U/0716
2715A97
- ar -
AS
ten Zahl von Eingangsgrößen und Ausgangsgrößen, zusätzlichen Elementdefinitionen, z.B. Hilfszeitgeberfunktionen und Schaltungselementen größerer Verwendbarkeit, z.B. Vielfachdatenprozessoren, Zwischenverb indungs funkt ionen usw. Rechnung zutragen.
Bevor die tatsächliche Programmierung beginnt, muß die Schaltung in dem Beispiel gemäß Figur 3 betrachtet werden. Als eine Frogrammierannehmlichkeit ist eine Speicherstellenzahl jedem Element zugeordnet. Bei dem Beispiel gemäß Figur 3 bewegen sich diese Zahlen von 310 bis 316 und erscheinen auf der unteren rechten Seite jedes Elementes. Als nächstes muß jeder Eingangskontakt und jede Ausgangswicklung einer einheitlichen Vorrichtungsadresse zugeordnet werden. Bei dem bevorzugten hier erläuterten logischen Prozessor sind Vorrichtungsadressen als eine Funktion der Eigenart des Elements zugeordnet. Beispielsweise können die Ausgangswicklungen oder Spulen, deren Kontakte mit der Kontakthauptleitung verbunden sind und welche direkt eine ; bestimmte Maschinenoperation steuern, Vorrichtungsadressenzahlen von Null bis 127 haben. Externe Kontakteingänge, die an : der Maschine erzeugt werden und Eingangssignale zurück zum lo- i gischen Prozessor erzeugen, können die Vorriehtungsadreseenzahlen 128 bis 255 zugeordnet werden. Nachdem die Speicherstellen und Vorrichtungsadressen zugeordnet wurden, kann die Programmiereinheit von Figur 2 dazu verwendet werden, das gewünschte Programm der logischen Instruktionen zu erzeugen.
Der erete Programmierschritt besteht in der Wahl der ersten , Speicherstelle unter Verwendung der Schalter 28. Ein Nieder- : drücken der Lastdrucktaste 34 bewirkt, daß die Programmiereinheit eine Stelle in einem internen Speicher adressiert, welche dem Adressenstellensatz in den Schaltern 28 entspricht. Veiter wird diese Seile durch die Sichtanzeigevorrichtung 30
709ΘΑ4/0718
dargestellt. In Figur 3 ist die erste Speicherstelle gleich 310. Es wird daher diese Zahl in den Schalter 28 eingestellt und der dadurch gedruckte Lastschalter oder Taste bewirkt, daß die Zahl 310 an der Anzeigevorrichtung 30 erscheint. Als nächstes wird die Kontaktadresse 161 in den Schaltern 24 gesetzt. Der Schalter 31 wird dazu verwendet, au. definieren, ob der Kontakt normalerweise geschlossen ist oder normalerweise offen ist. Danach wird die Eingabedrucktaste 40 gddrückt, wodurch ein Speicherwort in die ausgewählte Speicherstelle des Programmiereinheit-Speichers eingeladen wird. Gemäß Tabelle I definieren gegenüber der Speicherstelle 310 die ersten acht Bits des Speicherwortes die Vorrichtungsadresse des Kontaktes 161. Die Größe der Vorrichtungsadresse zeigt an, daß 161 ein Signal wiedergibt, welches an der Maschine erzeugt wurde und welches als eine Eingangsgröße an die Steuerschaltung übertragen wird. Das neunte Bit definiert, ob der Knntakt normalerweise offen oder normalerweise geschlossen ist. Die Bits 10 und 11 definieren die , Funktion des Elements. ;
Bei dein bevorzugten Ausführungsbeispiel schaltet nach dem Drücken der Eingabetaste der Speicher in der Programmiereinheit automatisch zur nächsten Speicherstelle weiter. Es werden dann die Inhalte der neueE Speicherstelle an der Programmiereinheit dargestellt. Wenn beispielsweise die Speicherstelle eine Vorrichtungsadresse enthält, 30 wird diese Adresse durch d?e Anzeigevorrichtung 26 angezeigt,. Wenn ein Element in der Speicherstelle definiert ist» se wird eine der Drucktasten 30, 52, 3ύ oder 33 für dia Definition dieses Elements erleuchtet. '
um axt dem Programm fortzufahren, wird die Vorrichtungsadres- I se 57 in die Schal te iahe ίΐ 2/l eingegeben: es wird die Druckte- ! r:e JI betätig!:·, .im arien „-.ormaierwise geschlossenen Kontakt zu ;
eren ;r,<.: :;s -<?ird d?,rm die Eingabe drucktaste 40 gedrückt.
; 0
Es wird demzufolge ein binäres Speicherwort in die Speicherstelle 311 eingelesen, wie dies in Tabelle I angezeigt ist. Die ; geeigneten Eingänge werden für jede aufeinanderfolgende Speij cherstelle ausgewählt. Nachdem die gesamte Schaltung von Figur j 3 programmiert wurde, enthalten die Speicherstellen 310 bis \ 3^6 des Speichers der Prognmmiereinheit eine Folge von binären I Speicherworten, die in Tabelle I angegeben sind. An dieser Stel* > Ie wird die Drucktaste 42 betätigt, um die Zu-Speicherstelle S auszuwählen und es wird die Übertragungstaste 44 gedrückt. Dai durch werden die Inhalte des Speichers in der Programmiereinheit
! über die Programmhauptleitung 46 in den Speicher 16 des logi- ' sehen Prozessors 12 gemäß Figur 1 übertragen.
, Es seien hier verschiedene Punkte erwähnt. Erstens kann das
; NOP-Element wahlfrei/das Schaltungsdiagramm eingefügt werden. j Dieβ gibt die Möglichkeit, die Schaltung zu ändern und auch die j Möglichkeit, Elemente hinzuzufügen, ohne eine übermäßig große j Viederprogrammierung erforderlich zu machen. Zweitens enthal-I ten viele Programmiereinheiten Diagnosemerkmale. Beispielsweise kann gemäß einer Diagnosebetriebsart die Kontinuität entlang jedes Zweiges der Schaltung geprüft werden, da jedoch die Diagnosemerkmale für die vorliegende Erfindung nicht von ausschlaggebender Bedettung sind, sollen sie nicht weiter erläutert werden. Drittens stellt die Programmiereinheit nur eine Programmquelle dar. Das Progamm kann bereits bestehen und in irgendeinem von einer Anzahl von Medien gespeichert sein. Beispielsweise kann das Programm in einer Magnetbandkassette gespeichert sein. In diesem Fall kann eine Tonbandkassetteneinheit 23 von Figur 1 dazu verwendet werden, um das Programm in den Speicher 16 über die Programmhauptleitung 46 einzuladen.
Nachdem das Programm in den Speicher des logischen Prozessors 12 übertragen wurde, überträgt der logische Prozessor vermittelt
709844/0716
einer Zeitsteuerschaltung 48 aufeinanderfolgend die Bits 9 bis 11 jedes Speicherwortes zu einer logischen Schaltung 54. Gleichzeitig wird die zugeordnete Vorrichtungsadresse» die durch die ersten acht Bits des Speicherwortes definiert ist, auf die Kontakthauptleitung 50 übertragen. Bei dem Beispiel gemäß Figur 3 dekodiert eine Eingangsschaltung 52, wenn die Speicherstelle 310 gelesen wird, die Vorrichtungsadresse 161 und überträgt ein Eingangssignal zurück auf die; Kontakthauptleitung, welches den Zustand der Eingangsvorrichtung an der Maschine entsprechend der Vorrichtungsadresse wiedergibt. Die logische Schaltung 54 kann ein erstes Signal speichern, wenn die tatsächlichen Maschinenbedingungen den gewünschten Maschinenbedingungen für den Kon- ; takt 161 in dem Schaltungszweig entsprechen.
Mit anderen Worten besteht dann, wenn das Eingangssignal anzeigt, daß die Eingangsvorrichtung erregt wurde und das Spei- ,
cherwort einen normalerweise offenen Kontakt definiert, Konti- '
nuität; und es wird das erste Signal gespeichert. Ähnlich be- |
steht Kontinuität, wenn das Eingangssignal anzeigt, daß die ,
Eingangsvorrichtung entregt wurde und das Speicherwort einen !
normalerweise geschlossenen Kontakt definiert; und das erste i Signal gespeichert wird.
Als nächstes wird die Speicherstelle 311 gelesen und die Vorrichtungsadresse 37 wird auf die Kontakthauptleitung übertragen. Die Eingangsschaltung 52 dekodiert diese Adresse und erzeugt ein anderes Eingangssignal, welches den Zustand der neuer-f lieh adressierten Eingangsvorrichtung wiedergibt. Wenn das Eingangssignal anzeigt, daß die tatsächlichen und die gewünschten Maschinenbedingungen oder Zustände für diesen adressierten Kontakt korrespondieren und wenn Kontinuität durch den früheren Kontakt vorgesehen wurde, so wird das erste die Kontinuität wiedergebende Signal beibehalten oder aufrechterhalten. Wenn je-·
709844/0716
2715A97
doch die Kontinuität gebrochen wird, wird das erste Signal beendet. Wenn weiter die Kontinuität nicht durch den früheren Kontakt aufgebaut wurde, so kann das erste die Kontinuität wiedergebende Signal zu Beginn durch die Kontinuität aufgrund eines nachfolgenden Kontaktes nicht aufgebaut werden. Die logische Schaltung überprüft daher oder such nach der Kontinuität aufeinanderfolgend entlang dem Zweig und zwar beginnend mit dem ersten Kontakt $10 in dem Zweig.; Demzufolge arbeitet also die logische Schaltung 5^ gemäß einer logischen UND-Funktion.
Solange die logische Schaltung 5^ Kontinuität entlang dem Zweig erfaßt oder feststellt, bleibt sie auch erregt. Wenn die Kontinuität verlustig geht, wird die logische Schaltung 5^ entregt, bis ein ODEE-Element oder ein Ausgangselementsignal gelesen wird. Wenn eines dieser Signale gelesen wird oder erfaßt wird, wird die logische Schaltung 5M- zurückgestellt; und am Anfang des nächsten Zweiges wird erneut mit der Prüfung oder dem { Suchen nach Kontinuität begonnen. Wenn eine Kontinuität oder Stetigkeit besteht, wenn das ODER-Element $12 aus dem Speicher ausgelesen wird, so wird die logische Schaltung 5^· erregt gehalten, bis das Ausgangselement 516 dekodiert ist. Wenn die Kontinuität oder Stetigkeit aufrechterhalten wird, bis eine Speicherstelle, welche das Ausgangselement $16 identifiziert, dekodiert ist, so wird das von der logischen Schaltung auf der Kontaktleitung 50 erzeugte Ausgangssignal in seinen erregten Zustand geschaltet. Dieses Signal und die Vorrichtungsadresse der Ausgangswicklung oder Spule wird erfÄt und durch die Ausgangsschaltung 56 dekodiert, die derart arbeitet, dcß sie eine | Ausgangsvorrichtung an der Maschine erregt, welche der Vorrichtungsadresse entspricht.
Wie der Fachmann erkennen kann, stellt das Programm der logischen Instruktionen einen Boolschen Ausdruck dar, der die lo-
709844/0716
gische Operation der Schaltung definiert. Solange der Boolsche Ausdruck, der einer Ausgangswicklung zugeordnet ist, befriedigt wird, wird die Ausgangswicklung erregt. Wenn jedoch die logische Schaltung keine Kontinuität oder Stetigkeit entlang irgendeinem der Zweige, die der Ausgangswicklung zugoirdnet sind, feststellt, so wird das Ausgangssignal auf den entregten Zustand geschaltet; und es wird die zugeordnete Ausgangswicklung entregt.
Aus der vorangegangenen Beschreibung läßt sich erkennen, daß der logische Prozessor 12 aus einem logisch gesteuerten Festfolge-Prozessor besteht, der kontinuierlich eine Entsprechung überwacht, und zwar zwischen den gewünschten Maschinen-bedingun*· gen oder Zuständen, wie sie durch die Speicherworte gegeben werden und den tatsächlichen Maschinenbedingungen oder Zuständen, wie sie durch die Ehgangssignale von der Maschine wiedergege- ben werden. Wenn eine Entsprechung auftritt, so werden die Ausgangsvorrichtungen entsprechend dem Programm erregt. Wenn eine j Entsprechung nicht auftritt, so werden die Ausgabevorrichtungen niht erregt. Der Prozessor 12 als eine separate Vorrichtung steuert den Betrieb von vielen relativ einfachen Maschinen. Wenn jedoch die Komplexität des Maschinenbetriebes zunimmt, so j entsteht ein Bedarf für höhere Intelligenz in dem Prozessor. Durch die vorliegende Erfindung wird daher ein unabhängiger asynchron arbeitender Datenprozessor 14 vorgesehen, der in Verbindung mit dem logischen Prozessor 12 verwendet wird, um die arithmetische Instruktion auszuführen.
Gemäß Figur 1 besteht der Datenprozessor 14 aus einem Pro- j grammspeicher 58, einer arithmetischen Einheit 60 und einem Datenspeicher 62. Der Datenspeicher enthält numerische Daten- ! signale, die auf den Betrieb der Maschine bezogen sind. Die j Datensignale können vor dem Beginn des Betriebs der Maschine ' vorprogrammiert sein oder die arithmetische Einheit 16 kann der!
709844/0716
Datenspeicher 62 instruieren, sich die Daten von der Maschine auf einer realen Zeitbasis über die Datenhauptleitung 64 und über die Datenkopplungsschaltung 65 zurückzuholen. Der Programmspeicher enthält ein oder mehrere Programme, die eine Folge von arithmetischen Instruktionen definieren, die für einige Abschnitte des Betriebszyklusses der Maschine relevant sind. Es wird ein bestimmtes Programm in obm Programmspeicher 58 durch ein Ausgangesignal ausgewählt; welches durch die logische Schaltung 54 des logischen Prozessors erzeugt wird. Wenn das Programm einmal ausgewählt wurde, arbeitet der Datenprozessor 14 vom logischen Prozessor 12 asynchron, um das ausgewählte Programm durchzuführen. Die arithmetische Einheit 60 spricht auf das ausgewählte Programm an und verwendet die geeigneten Datensignale,aus dem Datenspeicher 62, um die vorbestimmten arithmetischen Operationen durchzuführen. Das ausgewählte Programm bewirkt auch, daß der Datenprozessor 14 geeignete Steuereingangssignale an die KontaktHauptleitung 50 liefert. Der logische Prozessor 12 fährt dann in seiner festen iterativen Be- ■ triebsweise fort; wenn dann der Speicher 16 eine Vorrichtungsadresse erzeugt, die einem Steuereingangssignal zugeordnet ist, so wird das Eingangssignal auf die logische Schaltung 54 übertragen, in welcher sie als typisches Eingangssignal in einer Weise verwendet wird, wie sie an früherer Stelle erläutert wurde.
Es sei darauf hingewiesen, daß dann, wenn Vielfachdatenprozessoren verwendet werden, der Datenspeicher 62 in Verbindung mit einem Vielfachdatenspeicher 29 verwendet werden kann oder durch diesen ersetzt werden kann. Der Vielfach- oder GesamELatenspei- ' eher 29 kann aus irgendeinem oder einer Anzahl von im Handel !
erhältlichen Speichereinheiten zusammengesetzt sein. Weiter | können die Kontakthauptleitung 50 und die Datenhauptleitung 64 die Maschinenkontaktinformationen von den Maschinendaten-
709844/0716
ix
informationen; bei bestimmten speziellen Anwendungsfallen kann es erforderlich sein, daß der logische Prozessor während seines Betriebszyklusses Datensignale zu dem Datenprozessor 14 überträgt oder diese von diesem Datenprozessor empfängt. Um dies zu erreichen, ist eine Zwischenkommunikationsschaltung 86 vorgesehen, die über die Kontakthauptleitung entsprechend einem Bit zu einem Zeitpunkt mit dem logischen Prozessor in Verbindung steht. Darüber hinaus transponiert die Schaltung 86 die Einzelbit-Eingangssignale in Vielbitdatensignale und umgekehrt.
Demzufolge zeigt Figur 1 einen logischen Prozessor, der dafür gedacht ist, den Betriebszyklus einer Maschine zu steuern. Der logische Prozessor führt lediglich logische Entscheidungen aus und kann keine arithmetischen Operationen durchführen. Ehe Kontakthauptleitung ist zwischen dem logischen Prozessor und der Maschine eingeschaltet und führt nur Einzelbit-Binärkontaktinformationen. Wenn arithmetische Operationen gefordert werden, so erzeugt der logische Prozessor ein Ausgangssignal, welches durch den Datenprozessor dekodiert wird und welches ein gespeicherte Programm der arithmetischen Instruktionen in dem Datenprozessor auswählt. Eine Datenhauptleitung verbindet den Datenjjrozessor mit den Datensignalvorrichtungen an der Maschine und führt nur die Vielbit-Datensignale. Während der Datenprozessor die arithmetischen Instruktionen ausführt, fährt der logische Prozessor mit seinem aufeinanderfolgenden Betriebszyklus fort. An den durch das gespeicherte Programm bestimmten Zeitpunkten erzeugt der Datenprozessor Eingangssignale, die auf der Knntakthauptleitung zurückgelangen, um von dem logischen ' Prozessor verwendet zu werden. Diese Signale werden von dem logischen Prozessor an einem Punkt in seinem Betriebszyklus ange-j nommen, wenn deren entsprechende Vorrichtungsadressen auf der j Kontakthauptleitung erzeugt werden. Figur 1 zeigt daher ein modulares asynchrones Dualfunktions-Multiprozessorsystem, wel- i
709844/ 0718
ches aus einem logisch gesteuerten Festfolgen-Prozessor besteht, der über eine Kontakthauptleitung mit der Maschine und mit einem oder mehreren programmgesteuerten Folgedatenprozessoren verbunden ist, die über eine Datenhauptleitung mit der Maschine verbunden sind.
Die Figuren 4a und 4b zeigen, wenn sie an den angegebenen \ferbindungsleitungen miteinander verbunden sind, ein detailliertes Blockschaltbild der Elemente des logischen Prozessors 12 und der Kopplungsschaltungen 52 und 56, die allgemein in Figur 1 dargestellt sind. In Figur 4a besteht der Speicher 16 aus einem elektrisch veränderbaren permanenten Lesespeicher, einem Betriebsarten-Leistungsschalterkreis 72, einem Speicheradressenzähler 76 und aus einem Pufferspeicher 82. Die Speicherworte werden in den Speicher 70 über die Leitung 74 eingelesen und ausgelesen. Nachdem die Programmiereinheit 20 in Figur 2 programmiert wurde, schicken die Steuereinheiten für die Übertragung in den Speicher ein Speicherwort ü>er die Leitung 81 zum Speicheradressenzähler 76. Es gelangen auch weitere Signale über die Leitung 78 zur Betriebsarten-Leistungsschalterschaltung 72^ um die Betriebsart zu bestimmen, z.B. Lesen, Schreiben oder Löschen des Speichers 70. Der Speicheradressenzähler 76 spricht auf ZeitSteuersignale einer Zeitsteuerschaltung 48 an, um die Speicherworte aus der Programmiereinheit 20 in den Speicher 70 auf der Leitung 7^ über die Programmhauptleitung 46 zu übertragen. Nachdem der Speicher 70 mit einem Programm beladen wurde, schaltet die Betriebsarten-Leistungs- schalterschaltung 72 in die Lesebetriebsart; und die Zeitsteuerschaltung 48 veranlaßt den Speicheradressenzähler 76 kontinuierlich und iterativ aufeinanderfolgende Speicherworte aus i dem Speicher 70 zu lesen. Wenn jedes Speicherwort gelesen wird, wird es in eine Pufferspeicherschaltung 82 übertragen. j
709844/0718
Es werden dann verschiedene Bits jedes Speicherwortes tonnäßig gesteuert zu unterschiedlichen Schaltungselementen als Funktion der Informationen übertragen, die durch die Bits wiedergegeben werden. Beispielsweise definieren die ersten acht Bits jedes Speicherwortes eine Vorrichtungsadresse, die an die Kontakthauptleitung 50 ausgegeben wird. Wie an späterer Stelle noch beschrieben werden soll, wird die Vorrichtungsadresse durch eine Kopplungsschaltung dekodiert. Weiter werden in Einklang mit dem früher beschriebenen Beispiel die letzten zwei Bits, d.h. die Bits 10 und 11 des Speicherwortes an einen Elementfunktions-Dekoder 84 eingegeben. Die Ausgänge aus dem Funktionsdekoder 84 bestimmen welches der vier möglichen Elemente der Vorrichtungsadresse zugeordnet ist. Der Dekodierer erzeugt ein Eingangselementsignal auf der Leitung 73, ein ODER-Elementsignal auf der Leitung 75 oder ein Ausgangselementsignal auf der Leitung 77· Das Bit 9 des Speicherwortes stellt eine Eingangsgröße zu einer Vergleichsstufe 83 dar. Der andere Eingang dieser Schaltung besteht aus einem Eingangssignal auf der Kontaktzustandsleitung 90 von der Kontakthauptleitung 50. Das Eingangssignal definiert den elektrischen Zustand der Eingangs- oder Ausgangsvorrichtung, die durch die Vorrichtungsadresse ausgewählt wurde. Die Vergleichsstufe 83 schaltet ein erstes Signal auf einen Stetigkeitszustand, wenn der tatsächliche Zustand oder Bedingung der adressierten Eingangs- oder Ausgangsvorrichtung dem programmierten Zustand oder Bedingung der Vorrichtung entspricht.
Wenn beispielsweise das Speicherwort einen normalerweise offenen Kontakt definiert und das Eingangssignal einen erregten Zustand der adressierten Eingangs- oder Ausgangsvorrichtung wiedergibt, so schaltet die Vergleichsstufe 83 das erste Signal auf einen Stetigkeitszustand. Wenn in ähnlicher Weise das Speicherwort einen normalerweise geschlossenen Kontakt defi-
7098Μ/071Θ
«sr
niert und das Eingangssignal anzeigt, daß de adressiate Eingangsoder Ausgangsvorrichtung entregt ist, erzeugt die Vergleichsstufe 83 erneut den Stetigkeitszustand des ersten Signals. Unter anderen Bedingungen oder Umständen hält die Vergleichsstufe 83 das erste Signal im Zustand, der eineir Nichtstetigkeit oder Kontinuität entspricht.
Es sei angenommen, daß der Speicher ein Speicherwort gelesen hat, welches das erste Kontaktelement in einem Schaltungszweig wiedergibt. Der Elementfunktions-Dekodierer 84 erzeugt dann ein Eingangselementsignal auf der Leitung 73, die mit einem Eingang des Flip-Flops 91 verbunden ist. Der Flip-Flop 91 wurde an früherer Stelle durch ein Haupt-Rücksetzsignal (nicht gezeigt) oder durch ein Rückstellsignal von dem ODER-Glied 87 zurückgestellt. Das ODER-Glied 87 erzeugt ein Rückstellsignal in Abhängigkeit von einem ODER-Elementsignal auf der Leitung 75 oder einem Ausgangselementsignal auf der Leitung 77· Ein UND-Glied 85 ist mit dem Takteingang des Flip-Flops 91 verbunden. Das UND-Glied 85 besitzt einen Eingang, der auf ein CLK-2-Signal anspricht, welches durch die Zeitsteuerschaltung 48 erzeugt wurde. Es sei darauf hingewiesen, daß die CLK-1- und CLK-2-Signale durch die Zeitsteuerschaltung jeweils einmal während jedes Speicherwortes erzeugt werden, jedoch nachdem die Vergleichsstufe 83 und der Elementfunktions-Dekodierer 84 ihre Signale, wenn überhaupt, erzeugt haben. Weiter tritt das CLK-1-Signal vor dem CLK-2-Signal auf. Nachdem Flip-Flop 91 zurückgestellt wurde, befindet sich der andere Eingang des UND-Gliedes 85 in einem Zustand, durch den das Signal CLK-2 die Möglichkeit erhält, den Flip-Flop 91 anzustoßen. Wenn am Eingang des Flip-Flops 91 kein Eingangselementsignal ansteht, so ändert dieser auch nicht seinen Ausgangszustand. Wenn jedoch am Eingang des Flip-Flops 91 ein Eingangselementsignal ansteht, so gelangt dieser Zustand zum Q-Ausgang des Flip-Flops 91. Der (J-
70984A/0716 ;
Ausgang ändert auch seinen Zustand, wodurch eine weitere Taktsteuerung des Flip-Flops 91 durch das CLK-2-Signal verhindert wird.
Der Flip-Flop 89 wird durch das gleiche Signal zurückgestellt, welches den Flip-Flop 91 zurückstellt und befindet sich zu Beginn in einem Zustand, so daß das- UND-Glied 71 das Hindurchgelangen des CLK-1-Signals verhindert. Wenn jedoch der Q-Ausgang des Flip-Flops 91 seinen Zustand ändert, so wird auch der Flip-Flop 89 angestoßen. Der Eingang des Flip-Flops 89 ist mit dem Ausgang der Vergleichsstufe 83 verbunden. Wenn das erste Signal aus der Vergleichsstufe 83 sich in dem NichtStetigkeitszustand befindet, wenn der Flip-Flop 89 angestoßen wird, so ändert der Q-Ausgang des Flip-Flops 89 seinen Zustand nicht. Die Ausgänge der Flip-Flops 91 und 89 sind auch derart, daß die UND-Glieder 85 und 71 ein weiteres Anstoßen dieser Flip-Flops verhindern. Das Ausgangssignal aus der logischen Schaltung 54 bleibt daher, bis eine erneute Rückstellung erfolgt, entregt.
Wenn das erste Signal aus der Vergleichsstufe 83 sich im Stetigkeit szustand befindet, wenn der Q-Ausgang des Flip-Flops 91 seinen Zustand ändert, so wird dieser Zustand des ersten Signals auf den Q-Ausgang des Flip-Flops 89 übertragen. Diese Ausgangsgröße beseitigt die Sperrung von dem UND-Glied 71· Wenn daher das nächste Speicherwort gelesen wird und ein anderes Eingangssignal auf der Leitung 90 erzeugt wird, wenn die Vergleichsstufe 83 Stetigkeit über den durch dieses nachfolgende Speicherwort definierten Kontakt feststellt, bewirkt das CLK-1-Signal, daß der Flip-Flop 89 erneut angestoßen wird und der Stetigkeitszustand des ersten Signals aus der Vergleichsstufe 83 zum Q-Ausgang übertragen wird.
Die Schaltung fährt dann fort aufeinanderfolgend jedes Speicher-
709844/0716
wort auszulesen; wenn dann zu irgendeinem Zeitpunkt die Vergleichsstufe 83 keine Stetigkeit mehr feststellt, so wird der Nichtstetigkeitszustand des ersten Signals aus der Vergleichsstufe 83 auf den Q-Ausgang des Flip-Flops 89 übertragen, wodurch eine weitere taktmäßige Steuerung des Flip-Flops 89 verhindert wird und das Ausgangssignal in einem entregten Zustand gehalten wird. Es läßt sich somit erkennen, daß die Vergleichsstufe 83 und die Flip-Flops 91 und 89 zusammenarbeiten, um eine logische TJND-Funktion auszuführen. Das Ergebnis dieser UND-Funktion wird durch die Q-Ausgangsgröße des Flip-Flops 89 wiedergegeben und der Flip-Flop 89 wird daher als "UND"-Flip-Flop bezeichnet.
Wenn ein Speicherwort dekodiert wird, welches ein ODER-Elementsignal enthält, so überträgt dieses Signal den Zustand des ersten Signals von dem"UND"-Flip-Flop 89 in den ODER-Flip-Flop 99. Das ODER-Elementsignal kann auch den Flip-Flop 91 und 89 über das ODER-Glied 87 zurückstellen. Wenn der Stetigkeitszustand des ersten Signalqdn dem Flip-Flop 89 gespeichert ist, und dieser Zustand in den Flip-Flop 99 eingegeben wurde, so wurde Stetigkeit oder Kontinuität entlang einem Zweig der Schaltung aufgebaut oder hergestellt. Obwohl der "UND"-Flip-Flop 89 fortfährt, entlang paralleler Schaltungszweige Stetigkeit oder Kontinuität festzustellen, so ist das Ergebnis unbedeutend, da die Stetigkeit entlang eines Zweiges der Schaltungszweige aufgebaut oder hergestellt wurde. Wenn ein Speicherwort dekodiert wird, welches ein Ausgangs element s ignal enthält, so wird der Anfang dieses Ausgangselementsignals durch einen Eingang des UND-Gliedes 97 erfaßt. Ein weiterer Eingang des UND-Gliedes 97 spricht auf den Ausgang des ODER-Gliedes 95 an, welches auf die Q-Ausgänge der Flip-Flops 89 und 99 anspricht. Wenn einer dieser Flip-Flops den Stetigkeitszustand speichert, so wird das Ausgangssignal auf der Leitung 93 in seinen erregten Zustand geschaltet.
709844/0716
3* -
Weiter wird ein Ausgangssteuersignal über das Tor 94- in Abhängigkeit von jedem aus dem Speicher ausgelesenen Ausgangselementsignal auf die Kontakthauptleitung 50 gegeben. Vie dies im folgenden noch mehr im einzelnen erläutert werden soll, verwenden die Kopplungsschaltungen das Ausgangssteuersignal für die Taktsteuerung des Zustande des Ausgangssignals in einem Adressenspeicher. Am Ende des Ausgangselementsignals, welches durch die Ausgangsgröße aus dem UND-Gli:ed 69 bestimmt ist, werden die Flip-Flops 91, 89 und 99 zurückgestellt und die Stetigkeitsüberprüfung beginnt von vorne.
Zusammenfassend wird also in Abhängigkeit von dem Auftreten jedes Speicherwortes, welches ein Eingangselement definiert, durch den Zustand des ersten Signals, welches in dem"UNDu-Flip-Flop 89 gespeichert wurde, bestimmt, ob entlang eines Schaltungszweiges Stetigkeit vorhanden ist oder nicht. Das Lesen eines Speicherwortes, welches ein ODER-Elementsignal enthält, bewirkt, daß der Zustand des ersten Signals in dem "UND"-Flip-Flop 89 in dem "ODER"-Flip-Flop 99 gespeichert wird. Wenn der Stetigkeitszustand des ersten Signals in einem der Flip-Flops 89 oder 99 gespeichert ist, wenn ein Ausgangselementsignal auftritt, so wird das Ausgangssignal auf der Leitung 93 in seinen erregten Zustand geschaltet. Dieses bleibt solange erregt, bis die Kopplungsschaltungen auf den erregten Zustand desselben aisprechen können und ebenso auf das Ausgangssteuersignal aus dem Tor 94. Am Ende des Ausgangselementsignals wird das Ausgangssignal 93 in seinen entregten Zustand geschaltet und zwar durch Rückstellen der Flip-Flops 91, 89 und 99-
In Figur 4b enthält die Maschine 10 Eingangsvonichtungen 96, Ausgangsvorrichtungen 98 und Datensignalvorrichtungen 100. Die Elemente der Eingangskopplungsschaltung 52 und der Ausgangskopplungsschaltung 56 sind ebenfalls dargestellt. Es sei an
709844/0716
dieser Stelle darauf hingewiesen, daß die Kopplungsschaltungen 52 und 56 aus einer Anzahl von Leiterplatten bestehen können, von denen jede Sätze von identischen Elementen enthalten. Beispielsweise enthält jede eingangs-gedruckte Schaltung (circuit board) einen Dekoder 102, einen Multiplexer 104 und Isolationsschaltungen 106. In ähnlicher Weise enthält jede äusgangs-gedruckte Schaltung einen Dekoder 108, einen Speicher 116t einen Multiplexer 112 und Isolations-'schaltungen 120. Zur Vereinfachung der Erläuterung veranschaulichen die Kopplungsschaltungen 52 und 56 lediglich die Komponenten einer einzelnen Eingangsschalttafel oder gedruckten Leiterplatte und einer Ausgangs-Schaltungsplatte.
Nachdem der Pufferspeicher 82 die Vorrichtungsadresse auf der Adressenleitung 103 der Kontakthauptleitung 50 in Kombination mit dem Auftreten eines Eingangselementsignals zugeführt hat, empfängt die Dekodierschaltung 102 innerhalb der Eingangskopplungsschaltung 52 die Vorrichtungsadressenbits 4 bis 7 auf der Leitung 103· Diese Bits wählen die bestimmte Eingangsschaltungstafel oder -platte aus, welche der gewünschten Eingangsvorrich- \ tung zugeordnet ist. Die Vorrichtungsadressenbits 1 bis 3 gelan- : gen in die MuItiplexerschaltung 104 und dienen daz-u, den bestimmten Isolator innerhalb der Isolationsschaltung 106 auszuwählen, der an die Eingangsvo richtung angeschlossen wird, welehe der Vorrichtungsadresse zugeordnet ist. Der Zustand der Eingangsvorrichtung wird über den ausgewählten Isolator zum Multiplexer 104 übertragen, der auf der Konbaktzustandsleitung 90 der Kontakthauptleitung 50 ein Eingangssignal erzeugt, welches den Zustand der adressierten Eigangsvorrichtung definiert.
In ähnlicher Weise enthält die Ausgangskopplungsschaltung 56 einen Dekodierer 108, der auf die Bits 4 bis 7 des Vorrichtungsadressensignals auf der Adressenleitung 103 anspricht. Der De-
709844/0716
kodierer 108 spricht auf die Vorrichtungsadresse an, um den Speicher 116 zu erregen. Weiter gelangen die Bits 1 bis 3 der Vorrichtungsadresse als Eingangsgröße zum Multiplexer 112. Diese Adressenbits wählen einen von einer Anzahl von Isolatoren innerhalb der Isolationsschaltungen 120 aus der adressierten Leiterplatte aus. Während jedes Programmzyklusses in dem logischen Prozessor wird jedesmal dann, wenn ein Ausgangselementsignal dekodiert wird, ein Ausgangssteuersignal durch das UND-Glied 94-der Figur 4a erzeugt. Das Ausgangssteuersignal wird von dem Speicher 116 auf der Leitung 1^5 empfangen. Wenn weiter das Ausgangssignal sich in seinem erregten Zustand befindet, so empfängt der Speicher 116 den erregten Zustand des Ausgangssignals über die Leitung 93 und speichert diesen. Der Speicher 116 erregt dann einen ausgewählten Isolator, der seinerseits eine der Ausgangsvorrichtungen 98 aktiviert, die direkt mit dem ausgewählten Isolator verbunden ist. Die Ausgangsvorrichtung bleibt dann aktiviert, bis ein nachfolgender Zyklus des logischen Prozessors das Ausgangssignal auf seinen entregten Zustand schaltet. Demzufolge wird die Betriebsweise der Maschine durch die Ausgangselementsignale in Abhängigkeit von den logischen Instruktionen gesteuert, die durch das gespeicherte Programm definiert sind.
Wie an früherer Stelle erläutert wurde, wird der logische Prozessor in Kombination mit einem asynchron arbeitenden Datenprozessor verwendet, der über die Kontakthauptleitung 50 mit dem logischen Prozessor verbunden ist. Figur 5 zeigt ein detailliertes Blockschaltbild des Datenprozessors 14 in Figur 1. Der Dekodierer, Speicher und die Multiplexer-Kopplungsschaltung 122 sind mit der Kontakthauptleitung 50 verbunden und arbeiten derart, daß die einheitlichen Vomchtungsadressen dekodiert werden, die auf der Adressenleitung 103 empfangen werden. Die Kopplungsschaltung 122 spricht auf den erregten Zustand des Ausgangssignals und auf ein Ausgangssteuersignal an, um zeitweilig ;
709844/0716
die einheitliche Vorrichtungsadresse zu speichern. Weiter arbeitet die Kopplungsschaltung 122 in Abhängigkeit von den einheitlichen Vorrichtungsadressen derart, daß die Eingangssignale nach (fern Multiplexverfahren bzw. nach dem Mehrfachbetrieb zurück zum logischen Prozessor über die Kontaktzustandsleitung 90 der Kontakthauptleitung 50 gelangen. Da die Kopplungsschaltung 122 in einer Weise funktioniert ähnlieh den Eingangs- und Ausgangskopplungsschaltungen 52 und 56^ braucht sie auch nicht weiter in Einzelheiten erläutert werden.
Wenn der logische Prozessor eine der einheitlichen Vorrichtungsadressen in Kombination mit dem Ausgangssteuersignal und dem erregten Zustand des Ausgangssignals erzeugt, so dekodiert die Kopplungsschaltung 122 die Vorrichtungsadresee und nimmt eine Voreinstellung einer Zahl in einem Programmzähler 124 vor. Der Zustand des Programmzählers dient dazu, das wünschte Programm in dem Makroprogrammspeicher 126 zu adressieren, der typischerweise aus einem programmierbaren Lesespeicher (PROM) besteht. Der Speicher 126 enthält eine Anzahl von Programmen, die eine Zahl von arithmetischen Instruktionen unter Verwendung von Daten, die auf den Betrieb der Maschine bezogen sind, definieren. Es wird daher eingestimmtes Programm durch ein Speicherwort in dem logischen Prozessor ausgewählt, welches ein Ausgangselement mit einer Adresse definiert, die durch die Kopplungsschaltung 122 dekodierbar ist. Während der Datenprozessor das ausgewählte Programm ausführt, fährt der logische Prozessor mit seinem Reihen- und iterativen Betriebszyklus fort; die Prozessoren arbeiten daher asynchron. Während des Betriebes des Datenprozessors erzeugt dieser ein Steuereingangssignal. Wenn der logische Prozessor ein Speicherwort liest, welches ein Eingangselement wiedergibt mit einer Vorrichtungsadresse, welche der Adresse des Steuereingangssignals entspricht, so wird das Steuereingangssignal über die Kontaktzustandsleitung 90 der Kontakthauptlei-
7098U/0716
3a
tung 50 zu dem logischen Prozessor übertragen. Der logische Prozessor verwendet das Steuereingangssignal in einer Weise, wie dies an früherer Stelle unter Hinweis auf die anderen Eingangssignale beschrieben wurde.
Die Instruktionen in dem ausgewählten Programm in dem Makroprogrammspeicher 126 werden auf eine Reihe von MikroInstruktionen und Zeitsteuersignale reduziert und zwar durch die Instruktionsdekodier- und Zeitsteuerschaltung 128. Diese Mikroinstruktions- und Zeitsteuersignale werden über eine Steuer- und Zeitsteuerhauptleitung 130 zum Datenspeicher 62, der arithmetischen Einheit 60 und dem Daten-I/O-Multiplexer 132 übertragen. Ein binär kodierter Dezimal (BCD)-Datenspeicher 138 enthält eine Anzahl von Speicherstellen für die Speicherung von numerischen Daten, während des Aufbaus des Maschinenbetriebszyklusses erstellt werden können. Diese Speicherstellen werden über eine Speicheradressenhauptleitung 140 von zwei Ziffern-Speicheradressenregistern 13^ adressiert, welches direkt durch ein Signal auf der Ausgangsdatenhauptleitung 136 von dem Makroprogrammspeicher gesperrt werden kann. Der BCD-Datenspeicher enthält auch zwei statische Speicherstellen - ein A-Register 142 und ein B-Register 144. Diese Register speichern die Datensignale, welche von der arithmetischen Einheit 60 verwendet werden.
Die arithmetische Einheit 60 arbeitet im BCD-Kode und enthält eine A-Sperre 146, eine B-Sperre 148, Neuner-Komplement-Schaltungen 150 und 152, eine Vergleichsstufe 154, eine BCD-Addierstufe 156 und eine Sperre 158 (latch). Die A- und B-Sperren 146 und 148 der arithmetischen Einheit können Daten auf einer Dateneingangshauptleitung 160 von einem Speicheradressenregister 134, dem Datenspeicher 138 oder dem Daten-I/O-Multipiexer 132 empfangen. Der Multiplexer ist an die Datenhauptleitung angeschlossen, welche die Datensignale zu Datensignalvorrichtun-
7098U/0716
gen 100 an der Maschine 10 über eine Datenkopplungselektronik 65 überträgt und von diesen empfängt.
Die in Figur 4b gezeigten Datensignalvorrichtungen 100 können die Form von Druckwandlern oder Temperaturwandlern, Positionsoder Geschwindigkeitswandlern, Rückkopplungs- oder Fehlersignalen für die Steuermechanismen, Kommunikationsmodule usw. haben· Die Datenkopplnngselektronik 65 enthält Schaltungen, die kompatibel mit dem verwendeten Typ einer Datensignalvorrichtung sind. Typischerweise wird die Kopplungselekiaonik durch Dig it al-zu-Analogwandler, Analog-zu-Digitalwandler, Digital-zu-Frequenzwandler, Frequenz-zu-Digitalwandler usw. gebildet. Schließlich kann der Makroprogrammspeicher direkt Datensignale über die Adressenhauptleitung 162 adressieren.
Es seien verschiedene weitere Funktionen erwähnt. Der Programmzähler 124 kann durch Signale auf den Leitungen 164 und 166 gesteuert werden. Das Signal auf der Leitung 166 von dem Makroprogrammspeicher 126 veranlaßt den Programmzähler auf einen Zustand zu springen, der einer Sprunginstruktion zugeordnet ist. Das Signal auf der Leitung 164 aus der Vergleichs stufe 154- der arithmetischen Einheit zeigt an, daß ein Vergleich vorhanden ist und veranlaßt allgemein den Programmzähler, die nächste Instruktion (typisch eine Sprunginstruktion) zu überspringen. Während der Ausführung eines Programms wird von dem Makroprogrammspeicher 126 auf der Leitung 168 ein Steuereingangssignal für die Kopplungsschaltung 122 erzeugt. Die Kopplungsschaltung 122 wartet auf den logischen Prozessor, damit eine Vorrichfcungsadresse erzeugt werden kann, die dem Steuereingangssignal zugeordnet ist, woraufhin diese das Steureingangssignal über die Kontaktheuptleitung zum logischen Prozessor überträgt.
Das folgende ist eine Liste von typischen Instruktionen, die da-
7098U/0716
zu verwendet werden können, um ein in dem Makroprogrammspeicher 126 gespeichertes Programm zu schreiben:
JMP - spring eine Zahl von Makroinstruktionsadressen, wie durch eine programmierte Zahl definiert ist, welche der Sprunginstruktion zugeordnet ist;
SMAU, SMAL - setze das Speicheradressenregister auf eine Zahl mit einer höchstwertigen Ziffer, die durch eine Zahl definiert ist, welche in Zuordnung zur SMAU-Instruktion programmiert wurde, und eine niedrigstwertige Ziffer, die durch eine Zahl definiert ist, welche in Zuordnung zu der SMAL-Instruktion programmiert wurde ^
ATC, BTG - setze das Speicheradressenregister gleich den letzten zwei Signifikantenziffern des ausgewählten A- oder B-Registers;
CTA, CTB - lade das ausgewählte A oder B-Register mit den Inhalten des Speicheradressenregisters;
MTA, MTB - übertrage die Daten an der Adressenstelle, die durch das Speicheradressenregister spezifiziert ist, zu dem ausgewählten A- oder B-Register;
ATM, BTM - übertrage die Inhalte des ausgewählten A- oder B-Registers zu der Adressenstelle, die durch das Speicheradressenregister spezifiziert ist;
CLA, CLB - lösche das ausgewählte A- oder B-Register;
INA, INB - inkrementiere das ausgewählte A- oder B-Register;
709844/0716
- 28 -
DCA, DCB - dekrementiere das ausgewählte A- oder B-Register;
SLA, SLB - verschiebe das ausgewählte A- oder B-Register um ein Zeichen nach links;
SRA, SRB - verschiebe das ausgewählte A- oder B-Register um ein Zeichen nach rechts; -
CZA, CZB - vergleiche das ausgewählte A- oder B-Register mit Null; und wenn Gleichheit besteht, überspringe die nächste Instruktion; wenn nicht Gleichheit besteht, führe die nächste Instruktion aus;
TSA, TSB - teste das Vorzeichen des ausgewählten A- oder B-Registers; wenn es positiv ist, überspringe die nächste Instruktion; wenn es negativ ist, führe die nächste Instruktion aus;
CSA, CSB - ändere das Vorzeichen des ausgewählten A- oder B-Registers in das entgegengesetzte Vorzeichen;
ADD - addiere die Inhalte des Α-Registers und die Inhalte des B-Registers und übertrage die Summe in das A-Register;
SUB - ziehe die Inhalte des B-Registers von den Inhalten des Α-Registers ab und übertrage die Differenz in das A-Register;
CMG - vergleiche die Größe des Α-Registers und des B-Registers; und wenn A gleich ist oder größer als B ist, überspringe die nächste Instruktion. Wenn A kleiner ist als B, führe die nächste Instruktion aus;
7098U/0716
CUE - vergleiche die Größe des A-Registers mit derjenigen des B-Registers; wenn Gleichheit besteht, überspringe die nächste Instruktion. Wenn keine Gleichheit besteht, führe die nächste Instruktion
SCC - setze das durch die Zahl spezifizierte Bit, die in
Zuordnung zur SCC-Instruktion programmiert wurde. (Das Steuereingangs signal ist "erregt.)
RCC - setze das Bit, welches durch die Zahl spezifiziert ist, die in Zuordnung zur RCC-Instruktion programmiert wurde. (Das Steuereingangssignal ist entregt.)
NOP - keine Operation ausgeführt.
Wie bereits an früherer Stelle erwähnt wurde, arbeitet der Datenprozessor mit binär kodierten Dezimalziffer-(BCD)-Datensignalen. Jedes BCD-Datensignal besteht aus einer Vorzeichenziffer und sieben numerischen Ziffern. Für jede in einer arithmetischen Operation erforderlichen Makroinstruktion erzeugt die Instruktionsdekodier- und Zeitsteuerahaltung 128 Signale, die neun Durchgänge durch die arithmetische Einheit erfordern, um ein BCD-Datensignal zu verarbeiten. Während des ersten Durchgangs durch cie arithmetische Einheit wird die Vorzeichenziffer gelesen. Während des zweiten bis achten Durchgangs arbeitet die arithmetische Einheit auf der Grundlage der sieben numerischen Ziffern; beim neunten Durchgang wird das Vorzeichen des Datensignals bestimmt und gespeichert, welches aus der Ausführung der programmierten Instruktion resultiert.
Die Instruktionsdekodier- und Zeitsteuerschaltung 128 enthält einen Lesespeicher (nicht gezeigt) für die Dekodierung jeder Instruktion in dem Makroprogrammspeicher in eine Anzahl von
7098U/0716
Mikroinstruktionen. Bei dem bevorzugten Ausführungsbeispiel besteht jede Mikroinstruktion aus einem Achtbitwort. Die drei letztsignifikanten Bits definieren, welche von einer Anzahl von arithmetischen Operationen ausgeführt wird, z.B. ein Vergleich mit Null, ein Vergleich von A mit B, eine Verschiebung nach rechts, eine Verschiebung nach links, eine Inkrementierung oder Dekrementierung, Subtraktion, keine Operation usw. Weitere zwei Bits in der Mikroinstruktion können dazu verwendet werden, Modal-Instruktionen vorzusehen. Dies sind z.B. Lesen oder Einschreiben, Eingabe oder Ausgabe, keine Operation usw. Darüber hinaus können weitere Bits dazu verwendet werden, Adresseninstruktionen vorzusehen, z.B. Α-Register, B-Register, MAR-Register usw.
Bei dem bevorzugten Ausführungsbeispiel sind acht Mikroinstruktionen definiert. Weiter sind diese Mikroinstruktionen den Durchgängen zugeordnet, wie dies in der Tabelle II im folgenden gezeigt ist.
7098U/0718
Tabelle II
MIKROINSTRUKTIONS-DEFINITIONEN
Durch- Mikroin- Operation
gang struktionen
1 ROM O ' Abrufvorzeichen B
1 ROM 1 Abrufvorzeichen A
2-8 ROM 2 Abrufdaten B
2-8 ROM 3 Abrufdaten A
2-8 ROM 4 Modifizieren (arithmetische
Einheit), Schreiben
9 ROM 5 Abrufvorzeichen B
9 ROM 6 Abrufvorzeichen A
9 ROM 7 Modifizieren (arithmetische
Einheit), Schreiben
Wie der Fachmann erkennen kann, wird die exakte Operation jeder MikrοInstruktion spezifisch durch die Zustände der acht Bits definiert, welche das Mikroinstruktionswort ausmachen.
Um die MikroInstruktionen zu implementieren, wird jeder Durchgang durch die arithmetische Einheit in neun Zeitsteuer-Zählschritte aufgeteilt. Die Tabelle III gibt jeden Zählschritt numerisch an und die dabei ausgeführte Operation. Weiter wird die bei jedem Zählschritt ausgeführte Mikroinstruktion in Zuordnung zu dem jeweiligen Durchgang definiert, bei welchen die Mikroinstruktion verwendet wird.
7098U/0716
Durch Durch Durch
gang 1 gänge 2-8 gang 9
ROM ROM ROM
Tabelle III
ZÄHLSCHRITT-DKFINITIONEN
Zählschritt Operation
1 Lese und Dekodiere Ό 2 5 Makroinstruktionen
2 Führe Mikroinstruk-
tionen aus 0 2 5
3 Lese und Dekodiere
Makroinstruktionen 13 6
4 Führe Makroinstruktionen aus ^3 6
5 Lese und Dekodiere
MikroInstruktionen 4 7
6 Führe aus, d.h. Modifiziere in arithmetischer Einheit 4 7
7 Führe aus, d.h. Modifiziere in arithmetischer Einheit ^ 7
8 Sperre in arithmetischer Einheit 4 7
9 Einschreibe in geeignete Stelle 4 7
Um die Betriebsweise des Datenprozessors klarzustellen, sei ein Beispiel einer einfachen Instruktion erläutert. Gemäß Figur 5 werden, nachdem eine ADD-Instruktion in den Makroprogrammspeicher 126 durch d ie Instruktionsdekodier- und Zeitsteuerschaltung 128 dekodiert wurde, Zeitsteuersignale erzeugt, um einen ersten Durchgang durch die arithmetische Einheit einzuleiten. Beim Zählschritt 1 des Durchgangs 1 wird die Makroinstruktion ROM 0 gelesen und dekodiert, d.h. das Speicheradressenregister wählt das Register B über die Speicher-
7098U/0716
ko
adressenhauptleitung 140 aus. Beim Zählschritt 2 wird die Mikroinstruktion ROM 0 ausgeführt. Es werden dann Zeitsteuersignale für den Datenspeicher erzeugt, um zu bewirken, daß die Vorzeichenziffer des Datensignals in dem B-Register in den B-Vorzeichenspeicher der B-Sperre 148 über die Hauptleitung 160 übertragen wird. Beim Zählschritt 3 .des ersten Durchgangs wird die Mikroinstruktion ROM 1 gelesen und dekodiert. Das Speicheradressenregister arbeitet dann, um das A-Register 142 über die Speicheradressenhaupt leitung 140 zu adressieren. Beim Zählschritt
4 wird die Mikroinstruktion ROM 1 ausgeführt. Die Vorzeichenziffer des Datensignals in dem A-Register 142 wird zu dem A-Vorzeichenspeicher der A-Sperre 146 (latch) über die Datenhauptleitung 160 übertragen. Keine der weiteren Zählungen erzeugen während des ersten Durchgangs irgendeine Operation.
Zu Beginn des zweiten Durchgangs wird beim Zählschritt 1 die Mikroinstruktion ROM 2 gelesen und dekodiert, wodurch das Speicheradressenregister erneut das B-Register 144 adressiert. Beim Zählschritt 2 wird die Mikroinstruktion ROM 2 ausgeführt, die bewirkt, daß die erste numerische Ziffer des Datensignals in dem B-Register in die B-Sperre 148 über die Dateneingabehauptleitung 160 übertragen wird. Auf ähnliche Weise wird während der Zählschritte J und 4 beim zweiten Durchgang die Mikroinstruktion ROM 3 gelesen und ausgeführt; und es wird die erste numerische Ziffer des Datensignals, welches in dem A-Register enthalten ist, zur A-Sperre 146 übertragen. Beim Zählschritt
5 wird die Mikroinstruktion ROM 4 gelesen und dekodiert; und es werden die Daten in der arithmetischen Einheit modifiziert und in das A-Register eingeschrieben. Die Instruktions-Dekodier- und Zeitsteuerschaltung 128 erzeugt daher währenddes Zählschrittes 5 Signale, um das A-Register in einen Schreibbetriebszustand zu setzen und um die arithmetische Einheit in einen Addierbetriebszustand zu bringen. Beim Zählschritt 6 und 7 des
709844/0718
-J* if
zweiten Durchgangs gelangen bei der Ausführung der MikroInstruktion ROM 4 die numerischen Ziffern, die in den A- und B-Sperren 146 und 148 enthalten sind, durch die Komplimentierstufen 150 und 152 zu dem BCD-Addierer 156. Beim Zählschritt 8 wird die die Summe wiedergebende Ziffer in der Sperre bzw. Register (latch) 158 gehalten. Beim Zählschritt 9 wird die in der Sperre bzw. Register gespeicherte Ziffer über d.ie Datenausgabehauptleitung zurück in das Α-Register übertragen. Beim dritten Durchgang verwendet die arithmetische Einheit die nächste numerische Ziffer der Datenworte in den A- und B-Registern in genau der gleichen Weise, wie dies in Verbindung mit dem Duchgang 2 erläutert wurde. Nach dem achten Durchgang sind daher die numerischen Werte, die durch die Datensignale in den A- und B-Registern wiedergegeben werden, zusammenaddiert und in das Α-Register zurück übertragen. Bei den Zählschritten 1 und 2 des neunten Durchgangs wird die Mikroinstruktion ROM 5 gelesen und ausgeführt. Im Falle einer Addier-Makroinstruktion wird die Mikroinstruktion ROM 5 als NOP der AbrufInstruktion definiert. Das gleiche trifft für die Zählschritte 3 und 4 zu, bei welchen de Mikroinstruktion ROM 6 gelesen und ausgeführt wird und ebenso NOP dieser AbrufInstruktion (fetch instruction). Bei den Zählschritten 5 bis9 wird der Datenspeicher in eine Schreibbetriebsphase oder Zustand gebracht und weiter wird die arithmetische Einheit dazu gebracht, ein neues Vorzeichen zu ermitteln. Bei den Zählschritten 6 und 7 des neunten Durchgangs wird das neue Vorzeichen ermittelt; und beim Zählschritt 8 wird das neue Vorzeichen in der Sperre bzw. Register 158 gespeichert. Beim Zähl schritt 9 gelangt das neue Vorzeichen auf der Datenausgabe-Hauptleitung 136 in die höchstsignifikante Ziffernstelle des A-Registers 142.
Die vorangegangene Erläuterung stellt nur ein Beispiel der Betriebsweise des Datenprozessors in Abhängigkeit von einer Makro-
7098U/0718
kz
Instruktion dar. Unter Verwendung der Informationen gemäß den Tabellen A und B kann, der Fachmann der Betonverarbeitung die Betriebsweise des Dabenprozessors relativ zu anderen Makroinstruktionen erkennen. Es sei darauf hingewiesen, daß die vorangegangenen Ausführungen lediglich die Übertragung von Datensignalen aus den Datensignalvorrichtungen 100 (siehe Figur 4b) an der Maschine 10 zu dem Daten-ϊ/0-Multiplexer 132 über die Datenkopplungselektronik 65 und die Datenhauptleitung 64 betrifit. Wie der Fachmann auch erkennt, handelt es sich bei den erwähnten Elementen um zwei Richtungselemente, die auch dau verwendet werden können, Daten von dem Datenprozessor zu den Datensignal-vorrichtungen an der Maschine zu übertragen.
Bis hierher wurde der logische Prozessor und der Datenprozessor allgemein in Kombination und im einzelnen erläutert. Um nun zu zeigen, auf welche Weise die Prozessoren in Kombination arbeiten, sei eine einfache praktische Situation erläutert und geprüft. Ein Gebiet, bei welchem die asynchrone Dualfunktions-Multiprozessorsteuerung zur Anwendung gelangen kann, ist die Steuerung eines Werkzeugaustauschmechanismus an einer Werkzeugmaschine. Ein Werkzeugaustauschmechanismus speichert eine Anzahl von Werkzeugen in einer Werkzeugmatrix und kann zwischen der Werkzeugmatrix und einer Maschinenspindel die Werkeeuge in Abhängigkeit von einem Werkzeugaustauschsignal austauschen. Während des Werkzeugaustauschzyklusses ist es erforderlich, daß das ausgewählte Werkzeug sich in einer vorbestimmten Matrixposition befindet, damit es von dem Werkzeugaustauschmechanismus herausgefunden werden kann. Während des Werkzeugaustauschzyklusses und bei weiteren ausgewählten Zeiten oder Zeitpunkten ist es erforderlich, die Werkzeugmatrix derart zu bewegen, daß das ausgewählte Werkzeug die vorbestimmte Matrixposition besetzt. Diese Bewegung üer Werkzeugmatrix kann durch ein Programm eingeleitet werden oder kann von Hand eingeleitet werden.
70984 A/0716
Weiter enthalten die Handsteuereinrichtungen allgemein eine Steuervorrichtung für die Bewegung der Werkzeugmatrix kontinuierlich oder um eine Position zu einem Zeitpunkt. Für die Erläuterung soll der Ausdruck "Werkzeugstoß" die Bewegung der Werkzeugmatrix um eine Position zu einem Zeitpunkt bezeichnen; und eine Ausführung eines Werkzeugstoßes bzw. Bewegung entsprechend einem im Uhrzeigersinn erfolgen'den Zyklus, der logische Datenprozessoren erfordert, soll nun im folgenden mehr im einzelnen beschrieben werden.
Figur 6 veranschaulicht einen kleinen Abschnitt einer typischen Steuerschaltung für einen WerkzeugaustHuschmechanismus, die einen Werkzeugbewegungs-Zyklus im Uhrzeigersinn steuert. Den Elementen des Diagramms sind numerische Adressen in Einklang mit den Adressenordnungen, die an früherer Stelle erläutert wurden, zugeordnet. Die Zahl rechts unten an jedem Element definiert die Speicheradresse des Speicherwortes, welches jedem Element zugeerdnet ist. Ein Programm, welches die logischen Funktionen der Schaltung in Figur 6 ausführt, kann durch eine Programmiereinheit erzeugt werden und kann in den Programmspeicher des logischen Prozessors in einer Weise übertragen werden, wie dies unter Hinweis auf die Figuren 2 bis 4 erläutert wurde.
In Zeile 170 von Figur 6 sind eine Anzahl von Reihenbedingungen dargestellt, die befriedigt werden müssen, bevor das Befehlssignal für einen Stoß oder eine Bewegung im Uhrzeigersinn erzeugt werden kann. Erstens, wenn ein anderes Programm in dem Datenprozessor läuft oder wenn sich die Maschinen-Werkzeugsteuereinheit in einem Arbeitszyklus befindet, so verhindern die normalerweise geschlossenen Kontakte 21 und 13 die Initialisierung eines Anstoß- oder Bewegungszyklusses im Uhrzeigersinn. Als nächstes erfordern die normalerweise offenen Kontakte 171 und 17, daß der Werkzeugaustauscharm sich in der Ausgangsposi-
7098 A4/071B
ν? -44
tion befindet und daß die die Werkzeugmatrix schützende Tür geschlossen ist, bevor ein Bewegungszyklus im Uhrzeigersinn beginnt. Wenn weiter die Drucktaste für die Bewegung im Gegenuhrzeigersinn gedrückt wird, so verhindert der normalerweise geschlossene Kontakt 175 einen Bewegungszyklus im Uhrzeigersinn. Wenn alle diese Vorbedingungen erfüllt sind, wird durch Niederdrücken der Drucktaste für eine Bewegung im Uhrzeigersinn der Kontakt 173 geschlossen, wodurch die Wicklung oder Spule 19 erregt wird und ein Bewegungszyklus im Uhrzeigersinn eingeleitet wird.
Eine Erregung von 19 CR schließt die normalerweise offoen Kontakte 19 in der Leitung 174- des Diagramms, wodurch die Ausgangswicklung 119 erregt wird. Wie noch mehr im einzelnen erläutert werden soll, wird diese vorrichtungsadresse durch den Datenprozessor dekodiert, der seinerseits zwei Eingangssignale erzeugt und auf die Kontakthauptleitung zurückschickt, so daß sie von dem logischen Prozessor empfangen werden. Ein erste Signal zeigt an, daß das Programm noch nicht beendet ist, duch welches die normalerweise geschlossenen Kontakte 221 in den Leitungen 172 und 182 der Figur 6 geschlossen werden. Da 19 CR anspricht, werden die normalerweise offoen Kontakte 19 geschlossen, wodurch 19 CE über den Schaltungszweig 172 gesperrt wird. Die Wicklung oder Spule 119 hat normalerweise die Kontakte 119 in dem Schaltungszweig 176 geöffnet. Diese Kontakte erregen die Wicklung 21, welche die normalerweise offenen Kontakte 21 in dem Schaltungszweig 182 schließt, wodurch die Spule 21 gesperrt wird. Die Erregung der Spule 21 zeigt an, daß ein Programm in dem Datenprozessor läuft und die normalerweise geschlossenen Kontakte dieser Spule, von denen einer in dem Schaltungszweig 170 veranschaulicht ist, verhindern das Erzeugen irgendeiner ■ anderen Befehlsgröße, welche den Betrieb des Datenprozessors fordert. Ein Beispiel einer solchen Operation ist durch die ;
7098U/0716
normalerweise offenen Kontakte 117 in dem Schaltungszweig 178 gezeigt, die durch ein Signal entsprechend einer Bewegung im Gegenuhrzeigersinn (jog counterclockwise signal) erregt werden. Der Schaltungszweig 180 ist strichliert gezeigt und repräsentiert alle anderen Befehlssignale, die eine Ausführung eines Programms in dem Datenprozessor fordern.
Unmittelbar nach der Erregung·der Wicklung 119, wodurch ein Programm in dem Datenprozessor ausgewählt wird, zusätzlich zu dem Eingangssignal, welches anzeigt, daß ein Programm noch nicht beendet ist, d.h. die normalerweise geschlossenen Kontakte 221 des Schaltungszweiges 182, erzeugt der Datenprozessor auch ein Eingangssignal für die Kontakthauptleitung, wodurch der Werkzeugmatrix-Motor den Befehl erhält, sich im Uhrzeigersinn zu drehen. Dieses Signal besitzt eine Vorrichtungsadresse, welche der Adresse der normalerweise offenen Kontakte 217 entspricht, die in dem Schaltungszweig 184 gezeigt sind. Wenn die durch die Reihenelemente 17, 171, 15 und 69 definierten Bedingungen oder Zustände Stetigkeit durch den Schaltungszweig 184 erzeugen und wenn der logische Prozessor das Befehlssignal für die Bewegung des Motors dekodiert, wodurch die Kontakte 217 geschlossen wer den, so wird die Wicklung 67 erregt. Die Erregung der Spule 67 bewirkt, daß der an die Werkzeugmatrix angeschlossene Motor die Werkzeugmatrix im Uhrzeigersinn bewegt bzw. dreht. Die Bewegung wird durch das Programm überwacht, welches in dem Datenprozessor ausgeführt wird; und wenn die Werkzeugmatrix um eine Position im Uhrzeigersinn weitergeschaltet wurde, wird die Btfehlsgröße für die Bewegung des Motors beendet, wodurch die Kontakte 217 öffnen und das Programmbeendigungs-Eingangssignal erzeugt wird, so daß die Wicklungen oder Spulen 19 und 21 freigegben oder entriegelt werden.
Figur 7 zeigt ein Flußdiagramm eines Programms, welches von
7098U/0716
dem Datenprozessor während eines im Uhrzeigersinn erfolgenden Bewegungszyklusses ausgeführt werden soll. Nachdem das Programm entsprechend einer Bewegung im Uhrzeigersinn durch die Wicklung 119 ausgewählt wurde, wird der Prozessblock 186 tätig und stellt den Kontakt 221 entsprechend einer Programmbeendigung zurück, wodurch die Wicklungen oder Spulen 19 und 21 gesperrt werden können. Der Prozeßblock 188 stellt den Kontakt 217 entsprechend einer Bewegung im Uhrzeigersinn ein, wodurch die Spule 67 erregt wird und die Werkzeugmatrix im Uhrzeigersinn bewegt wird. Wenn ein Werkzeug in einer vorbestimmten Matrixposition gelegen ist, so wird ein Grenzschalter betätigt. Der Entscheidungsblock 190 bestimmt, ob der Grenzschalter aktiviert ist oder nicht. Wenn der Grenzschalter aktiviert ist, wurde die Werkzeugmatrix nicht bewegt; der Prozess folgt dann der Schleife um den Entscheidungsblock 190, bis der Grenzschalter entregt wird. Als nächstes bestimmt der Prozeßentscheidungsblock 192 erneut, ob der Grenzschalter erregt ist oder nicht. Wenn der Grenzschalter nicht erregt ist, so befindet sich die vorbestimmte Position zwischen zwei Werkzeugen an der Matrix. Der Prozeß wird dann entsprechend der Schleife um den Entscheidungsblock 192 fortgesetzt, bis der Entscheidungsblock bestimmt, daß der Grenzschalter erneut erregt ist. Der Prozeßblock 194 stellt dann den Kontakt 270 entsprechend einer Bewegung im Uhrzeigersinn zurück, wodurch die Spule 67 entregt wird und die Bewegung der Werkzeugmatrix beendet wird.
Zusammenfassend erhielt also die Werkzeugmatrix den Befehl einer Bewegung; und das Datenprozessorprogramm hat festgestellt, daß der Grenzschalter, der der vorbestimmten Matrix-position zugeordnet ist, eine Entregung erfahren hat und eine nachfolgende Erregung, wodurch angezeigt wird, daß ein Werkzeug sich von der vorbestimmten Position aus bewegt hat und daß ein anderes Werkzeug in die vorbestimmte Position bewegt wurde.
709844/0718
kl
Der Rest des Flußdiagramms zeigt die erforderlichen Schritte, um die neue Position der Werkzeugmatrix zu berechnen. Allgemein kann dies allein dadurch erreicht werden, indem man lediglich die alte Werkzeugmatrixposition um die Einheit inkrementiert. Dieser Inkrementierungsprozeß wird durch den Prozeßblock 196 definiert. Es kann jedoch die Situation entstehen, bei welcher die Zahl, um welche inkrementiert wurde, größer ist als eine maximale Zahl der verfügbaren'Werkzeugmatrixpositionen. Der Entscheidungsblock 198 bestimmt, ob die neue Werkzeugmatrixposition-Zahl zu groß ist. Wenn dies der Fall ist, so definiert der Prozeßblock 200 die neue Werkzeugmatrixposition als die erste Werkzeugmatrixpostion. Dies bedeutet, daß die Werkzeugmatrix sich bewegt hat und zwar von ihrer Endpositionsnummer in ihre Anfangspositionsnummer. Der Prozeßblock 202 überträgt die neue Werkzeugmatrixposition in den BCD-Datenspeicher. Schließlich setzt der Prozeßblock 204 den Kontakt 221 entsprechend einem beendeten Programm, wodurch die normalerweise geschlossenen Kontakte 221 in den Schaltungszweigen 172 und 182 von Figur 7 geöffnet werden und jeweils die Spulen oder Wicklungen 19 und 21 entriegelt oder freigegeben werden. Eine Freigabe der Spulen 19 und 21 vervollständigt den Bewegungszyklus im Uhrzeigersinn der Operation.
tabelle IV zeigt ein kodiertes Programm zur Erfüllung oder Ausführung des Flußdiagramms von Figur 8.
Tabelle IV
JOG C.W. PROGRAMM
Instr. RCC
SCC ITBO
SLB
CTB CTB
CZB
JMP ITBO
SLB
BTC CTB
CZB
113 JMP 115
JMP 108
r 5 HCC O
116 SMAU O
117 SMAL 4
118 MTB
119 INB
120 SMAL 2
Erläuterung
Rückstellen des Programmbeendigungs-Kontakts 221
Setzen Bewegungjs-CW-Kontakt
tibertrage We rkzeug-Änderungs-Instrukt ionen (+00OTTFH) zu B-Register
Schiebe B-Register um eine Ziffer nach links (+0OTTFHO)
Übertrage B-Register zu Speich. Add. Reg. (HO)
Übertrage Speich. Add. Reg. zu B-Register (+00000HO)
Vergleiche B-Register mit 0; wenn = 0, überspringe nächste Instruktion
Wenn B-Register = 0, springe zu Add.
Übertrage Werkzeug-Änd.Instr. (+00OTTFH) zu B-Register
Schiebe B-Register um ein Bit nach links (+0OTTFHO)
Übertrage B-Register zu Speich.Add.Reg. (HO)
Übertrage Speich.Add.Reg. zu B-Register (+00000HO)
Vergleiche B-Register mit 0; wenn = 0, überspringe nächste Instruktion
Wenn B-Register = 0, springe zu Add. Wenn B-Register = 0, springe zu Add. Rückstelle Beweg. CW-Kontakt Setze MSB von Speich.Add.Reg. = Setze LSB von Speich.Add.Reg. =
Bewege Daten (Werkzeug-Matrix-Pos.Nr.) entsprechend zu Speich.Add. 04 zu B-Register
Inkrem. B-Register zur Def. neuer Werkzeugmatrix-Pos. Nr.
Setze LSB von Speich.Add.Reg. =
7098U/0716
Instr.
MTA
CMG
12$ JMP 125
124 JMP 127
125 CLB
126 INB
127 SMAL 4
128 BTM
129 SCC 3
130 JMP 0
Erläuterung
Bewege Daten (Max. Werkzeugmatrix-Pos. Nr.) entsprechend zu Speich.Add. 02 zu A-Register
Vergleiche Α-Register mit B-Register; wenn A = B, überspringe nächste Instruktion
A=B; springe zu Add. 125
A=B; springe zu Add. 127
Lösche B-Register (+0000000) Inkrementiere B-Register (+0000001) Setze LSB von Speich.Add. Reg. = 4
Übertrage B-Register zu Speich.Stelle entsprechend zu Speich. Add. 04
Setze Progr.-Beendig.-Kontakt - 221 Halten.
Das Programm verwendet viele der Makroinstruktionen, die an früherer Stelle in der Beschreibung angesprochen wurden. Die Definition dieser Makroinstruktionen in Kombination mit den Erläuterungen, sollten eine detaillierte Erläuterung des Programms überflüssig machen. Es gibt nur ein Gebiet, welches eine weitere Klärung erforderlich macht. Bei der Realisierung oder Ausführung eines Mechanismus-Prozessors für einen Werkzeugaustauschmechanismus ist es erforderlich, bestimmte Informationen von der Kontakthauptleitung unter der Steuerung des logischen Prozessors zur Datenhauptleitung zu übertragen. Dies wird dadurch erreicht, indem man eine Interkommunikationsschaltung 86 zwischen diesen zwei Hauptleitungen vorsieht, die ein oder mehrere Datenregister enthält. Den Registern werden Informationsbits zu geeigneten Zeitpunkten während des Zyklusses des logischen Prozessors zugeführt. Während der Ausführung eiies Programms in dem Datenprozessor werden die Informationen in den Registern über die Datenhauptleitung in den Datenprozessor übertragen.
SO
Ein Beispiel dieses Austausches besteht aus einem Werkzeugaustausch-Instruktionswort, welches von dem Programm entsprechend einer Bewegung im Uhrzeigersinn, wie dies in Tabelle IV gezeigt ist, erforderlich ist. Die Werkzeugaustauschinstruktion besteht aus einem Achtbitwort, welches eine Vorzeichenziffer und sieben BCD-numerische Ziffern enthält. Die erste Ziffer H definiert den Zustand des Grenzschalters an der vorbestimmten Position der Werkzeugmatrix. Die zweite: Ziffer F definiert das erste Werkzeug in der Matrix. Die nächsten zwei Ziffern T definieren die laufende Werkzeugnummer. Die einzige Ziffer von Interesse in dem Programm entsprechend der Bewegung im Uhrzeigersinn ist die Ziffer H. Während jedes Zyklusses des logischen Prozessors werden die Informationsbits, welche den laufenden Zustand des Grenzschaltero und die laufenden Werkzeuginformationen definieren, von der Kontakthauptleitung zu einer Interkommunikationsschaltung (siehe Figur 1) übertragen. Bei der Adresse 102 des Programms wird diese Werkzeugaustauschinstruktion von der Inte rkommunikat ions schaltung entlang der Datenhauptleitung in das B-Register übertragen. Dh das Programm entsprechend einer Bewegung im Uhrzeigersinn nur in Verbindung mit dem Zustand der Ziffer H betrachtet wird, bedeutet dies, daß der Zustand der Grenzschalterschritte 103 bis105 die Ziffer H der Werkzeugaustauschinstruktion isoliert. Die Ziffer wird dann mit Null verglichen, um ihren Zustand zu bestimmen und das Programm wird dann in Einklang hiermit fortgesetzt.
Zusammenfassend schafft die Erfindung somit ein Multiprozessorsystem für die Steuerung eines Zyklusses des Betriebes einer Maschine. Der Betriebszyklus der Maschine wird durch einen ersten Satz von Vorrichtungen gesteuert und wird durch einen zweiten Satz von Vorrichtungen überwacht. Das Multiprozessorsystem enthält eine logische Prozessoreinheit, die ein erstes Programm von logischen Instruktionen enthält, welche den Be-
7098U/0716
triebszyklus der Maschine definieren. Eine Hauptleitung und zugeordnete Schaltungen sind zwischen den logischen Prozessor und die Vorrichtungen an der Maschine eingeschaltet. Der logische Prozessor spricht auf den zweiten Satz der Vorrichtungen an und trifft logische Entscheidungen in einer kontinuierlichen und zyklischen Weine, um den Betrieb der ersten Vorrichtungen zu steuern, wodurch der Betriets^ykluc der Maschine in Einklang mit dem ersten Programm gebracht wird. Das Multiprozessorsystem enthält weiter einen oder mehrere unabhängige Datenprozessoren, die an die Hauptleitung angeschlossen sind und asynchron zum logischen Prozessor arbeiten. Die Datenprozessoren sprechen auf die Ausgangssignale des logischen Prozessors an, der vorprogrammierte Sätze von arithmetischen Instruktionen auswählt. Die Datenprozessoren führen die ausgewählten Sätze von arithmetischen Instruktionen aus und erzeugen Steuersignale, die von dem logischen Prozessor zum geeigneten Zeitpunkt in ihrem eigenen Arbeitszyklus angenommen werden.
Obwohl der Gegenstand der Erfindung in Einzelheiten anhand von bevorzugten Ausführungsbeispielen und unter Hinweis auf die Zeichnungen dargelegt wurde, ist die Erfindung nicht auf diese Einzelheiten beschränkt. Es sind somit eine Reihe von Abwandlungen und Änderungen und äquivalenten Ausführungsformen möglich, ohne dadurch den Rahmen der Erfindung zu verlassen.
Sämtliche in der Beschreibung erkennbaren und in den Zeichnung η dargestellten technischen Einzelheiten sind für die Erfindung von Bedeutung.
Le
e r s e ι t e

Claims (1)

  1. BROSEDKa BROSE
    Diplom Ingenieure
    D-8023 München-Pullach, Wiener Sir 2, Tel (089) 7 90 30 71. . e!ex 52;C147 bros d; Cab'es: . Pa'entibus·· München
    271 5Λ97
    Ihr Zeichen Tag 5· April 1977
    Your re) -. Date Vlll/aU
    CINCINNATI MILACRON INC., 4701 Marburg Avenue, Cincinnati, Ohio 45 209, USA
    PATENTANSPRÜCHE
    i.jMultiprozessorsystem für die Steuerung des Arbeitszyklus-
    einer Maschine, wobei die Maschine Eingangsvorrichtungen aufweist, die in Abhängigkeit von der Betriebsweise der Maschine Eingangssignale erzeugen, und die Ausgangsvorrichtungen aufweist, um Ausgangssignale zu empfangen, die für die Abänderung der Betriebsweise der Maschine verwendet werden, gekennzeichnet durch folgende Einrichtungen und Merkmale:
    a) eine Einzeldatenbit-Kontakthauptleitung (50);
    b) Kopplungsschaltungen (52, 56), die zwischen die Kontakthauptleitung und Vorrichtungen an der Maschine eingeschaltet sind, um die Eingangs- und Ausgangssignale zwischen der Kontakthauptleitung und den Eingangs- und Ausgangsvorrichtungen jeweils zu koppeln;
    709844/0718
    ORIGINAL INSPECTED
    c) durch einen Einzeldatenbit-Logischen^Prozessor (12), der an die Kontakthauptleitung angeschlossen ist und auf die Eingangssignale anspricht, um in Abhängigkeit von der Betriebsweise der Maschine entsprechend einem gespeicherten Satz von logischen Instruktionen die Ausgangesignale zu erzeugen;
    d) einen Datenprozessor (14), der an die Kontakthauptleitung angeschlossen ist und ein weiteres Eingangssignal durch Ausführen eines gespeicherten Satzes von arithmetischen Instruktionen in Abhängigkeit von einem der Ausgangssignale, asynchron zum logischen Prozessor erzeugt; und
    e) eine Datenkommunikationsschaltung (64, 65, 132), die an den Datenprozessor angeschlossen ist.
    2. System nach Anspruch 1, dadurch gekennzeichnet, daß der Einzeldatenbit-Logische-Prozessor weitere folgende Einrichtungen und Merkmale aufweist:
    a) eine Speicherschaltung (16) für die Speicherung der logischen Instruktionen, die ein Muster von vorbestimmten Zustän den der Eingangsvorrichtungen wiedergeben, so daß dadurch ein gewünschter Betriebszyklus der Maschine definiert wird; und
    b) eine logische Schaltung (54), die auf die Speichereinrich tung anspricht und an die Kontakthaupt leitung angeschlossen ', ist, um in Abhängigkeit von den tatsächlichen Zuständen der Eingangsvorrichtungen an der Maschine Ausgangssignale zu er— ; zeugen, welche den vorbestimmten Zuständen dieser Vorrichtun gen entsprechen. ,
    3. System nach Anspruch 2, dadurch gekennzeichnet, daß die ; Speicherschaltung folgende Merkmale und Einrichtungen enthält: i
    7098U/0716
    a) einen Speicher (70, 72) für die Speicherung einer Reihe von Speicherworten, welche die gewünschten Zustände und Vorrichtungsadressen der Eingangs- und Ausgangsvorrichtungen und die diesen zugeordneten logischen Instruktionen wiedergeben, so daß dadurch der gewünschte Betriebszyklus der Maschine simuliert wird; und
    b) eine Abtastschaltung (76f 82) für eine kontinuierliche Auslesung der Speicherworte in einem festen iterativen Folgezyklus, um die Vorichtungsadressen auf die Kontakthauptleitung zu schicken.
    4. Systemhach Anspruch 3, dadurch gekennzeichnet, daß die logische Schaltung folgende Einrichtungen enthält:
    a) einen Element-Punktionsdekodierer (84) für die Dekodierung der Speicherworte und zur Erzeugung von Eingangs-, Ausgangsund ODER-Elementsignalen, wobei die Eingangs- und Ausgangsei emeösignale zugeordnete Vorrichtungsadressensignale aufweisen;
    t>) eine Vergleichsstufe (83),die in zeitlicher Aufeinanderfolge auf die aufeinanderfolgenden Speicherworte mit den Eingangselementsignalen und den ersten Vorrichtungsadressen anspricht und welche die gewünschten Maschinenbedingungen oder Zustände, die durch die aufeinanderfolgenden Speicherworte definiert sind, mit den tatsächlichen Maschinenbedingungen oder Zuständen vergleicht, die durch die Eingangssignale, die den ersten Vorrichtungsadressen zugeordnet sind, definiert sind; und
    c) logische Elemente (89, 91, 99), die auf den Element-Funktionsdekodierer und die Vergleichsstufe ansprechen, um ein Ausgangssignal in Abhängigkeit von einer kontinuierlichen Ent-
    709844/0718
    2715A97
    sprechung zwischen gewünschten und tatsächlichen Maschinenbedingungen oder Zuständen vorzusehen und um eine nachfolgende Dekodierung eines ODER-Elementsignals oder eines Ausgangselementsignals durchzuführen, wobei die Vergleichsstufe und das logische Element (89) im Sinne der Ausführung einer logischen UND-Funktion arbeiten.
    5. System nach Anspruch 4, dadurch gekennzeichnet, daß die logischen Elemente folgende Einrichtungen enthalten:
    a) einenersten logischen Speicher (89), der an die Vergleichsstufe angeschlossen ist und auf die Dekodierung der aufeinanderfolgenden Speicherworte anspricht, um ein erstes Signal in Abhängigkeit von einer kontinuierlichen Entsprechung zwischen den gewünschten und den tatsächlichen Maschinenbedingungen oder Zuständen zu .speichern;
    b) einen zweiten logischen Speicher (99), der an den ersten logischen Speicher und den Element-Funktionsdekodierer angeschlossen ist, um das erste Signal zu speichern und um den ersten logischen Speicher in Abhängigkeit von einem ODER-Elementsipnal zurückzustellen; und
    c) ein Torct-euemetzwerk (69, rf7, Q5, 97), velches auf den ersten und der zweiten logischen Speicher und die Slement-Funktionsdekorlier stuf e anspricht, jjh ein Ausgangs signal in Abhängigkeit von dem ersten Signal und dem Anfang eines Auqgangs- :? leinen 13 ignal .-· v.i erzeugen ur;o. \·χά den ersten und den zweiten logischen Speicher zn Abhängigke: t vom Ende des Ausgangseiement*- sienals zurückzustellen.
    ·:. ;'--;-r'■.··'■ ;-.-■ ■ Λ;·■r■- ruc.■", :: i:C .: ';-. ~~PK?nr,zih \cp,nez , daß der .."v· .::;:■ " .::.:':: V. *·;..itr" rn ■-v'.n -" ■ :b?' .^: ", Oermaiieaten Lese-
    speicher (70) besteht.
    7. System nach Anspruch 1, dadurch gekennzeichnet, daß der Datenprozessor noch folgende Einrichtungen enthält:
    a) einen Programmspeicher (58), der auf eines der Ausgangssignale anspricht, um ein gespeieheites;Programm von arithmetischen Instruktionen auszuwählen; - -
    b) einen Datenspeicher (62) für die Speicherung von Datensignalen; und
    c) eine arithmetische Einheit (60), die auf den Programmspeicher und die Datensignale anspricht, um die arithmetischen Instruktionen auszuführen und die ein weiteres Eingangssignal auf die Kontakthauptleitung schickt, welches von dem logischen Prozessor verwendet wird.
    8. System nach Anspruch 7, cadurch gekennzeichnet, daß der Programmspeicher folgende Einrichtungen enthält:
    a) einen Programmspeicher (126) für die Speicherung einer Anzahl von Makroinstruktionsprogrammen, von denen jedes eine Reihe von arithmetischen Instruktionen enthält;
    b) einen Dekodierspeicher und eine Multiplexer-Schaltung (122, 124), die zwisc hen die Kontakthauptleitung und den Programmspeicher geschaltet sind, um eines der Programme in Abhängigkeit von einem der Eingangssignale auszuwählen; und
    c) einen Instruktionsdekodierer (128), der auf den Programmspeicher anspricht, um jede Makroinstruktion für die Erzeugung einer Anzahl von Mikroinstruktionen und Zeitsteuersignalen zu
    709844/0710
    2715417
    dekodieren.
    9· System nach Anspruch 8, dadurch gekennzeichnet, daß der Dekodierer und die Multiplexerschaltung folgende Einrichtungen enthalten:
    a) eine Dekodierschaltung (122),.die auf eines der Eingangssignale und die zweiten Varictitungsadressen anspricht, um die zweite Vorrichtungsadresse zu dekodieren und zu speichern; und
    b) einen Programmzähler (124),der auf die gespeicherte zweite Vorrichtungsadresse anspricht, um eine vorbestimmte Zahl in diesem voreinzustellen, so daß dadurch das eine der Makroprogramme in dem Programmspeicher ausgewählt wird.
    10. System nach Anspruch 9, dadurch gekennzeichnet, däi die Datensignale aus binär kodierten Dezimalzahlen bestehen und daß der Datenspeicher eine binär kodierte Dezimal-Speicherschaltung enthält.
    11. System nach Anspruch 10, dadurch gekennzeichnet, daß die arithmetische Einheit auf die binär kodierten Dezimalzahlen anspricht, um jede der Makroinstruktionen mit Hilfe eines festen Zyklusses durchzuführen, der aus einer vorbestimmten festen Zahl von Durchgängen durch die arithmetische Einheit besteht und zwar mit einer vorbestimmten festen Anzahl von Zeitsteuer-Zählschreiben pro Durchgang.
    12. System nach Anspruch 1, dadurch gekennzeichnet, daß ein Hauptdatenspeicher (29) vorgesehen ist und an die Datenhauptleitung angeschlossen ist, so daß dadueh Datensignale von dem Hauptdatenspeicher zu dem Datenprozessor übertragen werden können.
    709844/0718
    13· System nach Anspruch 1, tadurch gekennzeichnet, daß Vorrichtungen vorgesehen sind, um Datensignale zu erzeugen und zu empfangen und daß die Datenkommunikationsschaltung folgende Einrichtungen enthält:
    a) eine Detenhauptleitung (64);
    b) eine Datenkopplungselektroriik (64), die an die Datenhauptleitung und die anderen Vorrichtungen angeschlossen ist, um die Datensignale zwischen diesen zu koppeln; und
    c) einen Daten-I/O-Multiplexer (17><°), der zwischen die Datenhauptleitung und den Datenprozessor für die Behandlung der Signale zwischen diesen nach dem Multiplexverfahren eingeschaltet ist.
    14. System nach Anspruch 1, dadurch gekennzeichnet, daß eine Interkommunikationsschaltung (86) zwischen die Kontakthauptleitung und die Datenhauptleitung eingeschaltet ist, um dadurch
    O) Einzeldatenbit-Ausgangssignale von dem logischen Prozessor in Vielfachbit-Datensignale für den Datenprozessor, und
    (2) Vielfachbit-Datensignale aus dem Datenprozessor in Einzeldatenbit-Eingangssignale für den logischen Prozeseor umzuwandeln.
    4/0718
DE19772715497 1976-04-16 1977-04-06 Multiprozessorsystem fuer die steuerung des arbeitszyklusses einer maschine Ceased DE2715497A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/677,712 US4058711A (en) 1976-04-16 1976-04-16 Asynchronous dual function multiprocessor machine control

Publications (1)

Publication Number Publication Date
DE2715497A1 true DE2715497A1 (de) 1977-11-03

Family

ID=24719831

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19772715497 Ceased DE2715497A1 (de) 1976-04-16 1977-04-06 Multiprozessorsystem fuer die steuerung des arbeitszyklusses einer maschine

Country Status (4)

Country Link
US (1) US4058711A (de)
JP (1) JPS605962B2 (de)
DE (1) DE2715497A1 (de)
GB (1) GB1580988A (de)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0002138A1 (de) * 1977-11-22 1979-05-30 Cutler-Hammer World Trade, Inc. Programmiergerät für ein Steuergerät für elektrische Systeme und Apparate
DE2852060A1 (de) * 1977-12-02 1979-06-13 Canon Kk Bilderzeugungsgeraet
EP0071703A2 (de) * 1981-08-04 1983-02-16 Dr. Johannes Heidenhain GmbH Mikroprozessorsystem zur Steuerung von Arbeitsabläufen
DE3718639A1 (de) * 1987-06-04 1988-12-22 Kloeckner Moeller Elektrizit Verfahren und schaltungsanordnung zum betreiben von zwei oder mehr mikroprozessoren im parallelbetrieb, insbesondere in speicherprogrammierbare steuerungen
WO1988010471A2 (en) * 1987-06-15 1988-12-29 Siemens Aktiengesellschaft Computer with bit processor and word processor
EP0362819A2 (de) * 1988-10-05 1990-04-11 Kabushiki Kaisha Toshiba Programmierbare Steuerung
DE4433013A1 (de) * 1994-09-15 1996-03-28 Jochen Bihl Verfahren und Vorrichtung zur Steuerung und Aktivierung von miteinander mittels eines Bussystems vernetzten Sensoren und/oder Aktuatoren

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1062827B (it) * 1976-03-29 1985-02-11 Olivetti Controllo Numerico Sistema di controllo numerico per macchine utensili
US4122519A (en) * 1976-12-14 1978-10-24 Allen-Bradley Company Data handling module for programmable controller
US4149235A (en) * 1976-12-27 1979-04-10 Mcdonnell Douglas Corporation Computer numerical control system for machine tool
NL7703078A (nl) * 1977-03-22 1978-09-26 Philips Nv Inrichting voor het genereren en corrigeren van een gebruikersprogramma.
US4306803A (en) * 1977-08-30 1981-12-22 Xerox Corporation Microprocessor and control apparatus in a photocopier
JPS6016664B2 (ja) * 1977-10-28 1985-04-26 豊田工機株式会社 デ−タ転送装置
DE2824190A1 (de) * 1978-06-02 1979-12-06 Bosch Gmbh Robert Mikrorechner-system zur steuerung von betriebsvorgaengen in kraftfahrzeugen, mit einer diagnoseeinrichtung zur ueberpruefung des kraftfahrzeuges
US4215395A (en) * 1978-08-24 1980-07-29 Texas Instruments Incorporated Dual microprocessor intelligent programmable process control system
US4215397A (en) * 1978-08-24 1980-07-29 Texas Instruments Incorporated Automatic end-of-scan control system for a programmable process controller with expandable memory
US4215396A (en) * 1978-08-24 1980-07-29 Texas Instruments Incorporated Intelligent programmable process control system
DE2932394A1 (de) * 1978-08-24 1980-02-28 Texas Instruments Inc Intelligente, programmierbare prozessteueranordnung
US4215398A (en) * 1978-08-24 1980-07-29 Texas Instruments Incorporated Dual microprocessor intelligent programmable process control system with communication link
US4215399A (en) * 1978-08-24 1980-07-29 Texas Instruments Incorporated Special function control system for a dual microprocessor programmable process control system
US4262336A (en) * 1979-04-27 1981-04-14 Pritchard Eric K Multi-axis contouring control system
US4314329A (en) * 1980-02-04 1982-02-02 Cincinnati Milacron Inc. Method and apparatus for using a computer numerical control to control a machine cycle of operation
JPS5717012A (en) * 1980-07-07 1982-01-28 Fanuc Ltd Numerical controller
US4385350A (en) * 1980-07-16 1983-05-24 Ford Aerospace & Communications Corporation Multiprocessor system having distributed priority resolution circuitry
JPS57132207A (en) * 1981-02-10 1982-08-16 Toyoda Mach Works Ltd Online monitor device of sequence controller
JPS57191703A (en) * 1981-05-20 1982-11-25 Fanuc Ltd Sequence controller
JPS5884308A (ja) * 1981-11-16 1983-05-20 Toshiba Mach Co Ltd プログラマブルシーケンスコントローラの制御装置
US4590573A (en) * 1982-09-17 1986-05-20 Robert Hahn Computer-controlled grinding machine
DE3302929A1 (de) * 1983-01-28 1984-08-02 Siemens AG, 1000 Berlin und 8000 München Speicherprogrammierbare steuerung
JPS59153205A (ja) * 1983-02-18 1984-09-01 Fanuc Ltd 数値制御システム
JPS59205663A (ja) * 1983-05-07 1984-11-21 Hitachi Ltd コンピユ−タ処理モ−ドをもつたシ−ケンス制御装置
US4720784A (en) * 1983-10-18 1988-01-19 Thiruvengadam Radhakrishnan Multicomputer network
US4623961A (en) 1984-03-07 1986-11-18 Westinghouse Electric Corp. Programmable controller having automatic contact line solving
US4870614A (en) * 1984-08-02 1989-09-26 Quatse Jesse T Programmable controller ("PC") with co-processing architecture
EP0174231B1 (de) * 1984-08-02 1990-11-14 Telemecanique Programmierbare Steuereinrichtung mit Zusatzprozessor
US4716516A (en) * 1984-09-26 1987-12-29 Dynamics Research Corporation Modular machine tool controller
US5034900A (en) * 1984-10-05 1991-07-23 Hitachi, Ltd. Method and apparatus for bit operational process
US6552730B1 (en) 1984-10-05 2003-04-22 Hitachi, Ltd. Method and apparatus for bit operational process
US5265204A (en) * 1984-10-05 1993-11-23 Hitachi, Ltd. Method and apparatus for bit operational process
US4609855A (en) * 1984-11-09 1986-09-02 Motorola, Inc. Adaptive servomotor control
US4722071A (en) * 1985-04-19 1988-01-26 Pertron Controls, Corporation Compiler for evaluating Boolean expressions
US4718872A (en) * 1985-09-09 1988-01-12 Outboard Marine Corporation Automatic trim system
US4818993A (en) * 1986-02-27 1989-04-04 Siemens Aktiengesellschaft Electronic control system for controlling several remote devices
US5297260A (en) * 1986-03-12 1994-03-22 Hitachi, Ltd. Processor having a plurality of CPUS with one CPU being normally connected to common bus
US6379998B1 (en) * 1986-03-12 2002-04-30 Hitachi, Ltd. Semiconductor device and method for fabricating the same
JP2834122B2 (ja) * 1987-07-08 1998-12-09 株式会社日立製作所 制御装置
US4969083A (en) * 1988-04-04 1990-11-06 Petron Controls Corporation Network programmable logic controller system
DE58908739D1 (de) * 1989-01-14 1995-01-19 Gutehoffnungshuette Man Digitales Steuer- und Regelverfahren für eine gas- oder dampfdurchströmte Turbomaschine sowie Vorrichtung zur Durchführung des Verfahrens.
US5195041A (en) * 1989-07-24 1993-03-16 Institute Of Business Technology Method and apparatus for improving manufacturing processes
US5351195A (en) * 1989-07-24 1994-09-27 The George Group Method for improving manufacturing processes
USRE34285E (en) * 1989-12-18 1993-06-15 Outboard Marine Corporation Automatic trim system
JPH03288906A (ja) * 1990-04-05 1991-12-19 Fanuc Ltd Pcの命令実行方式
BE1009813A3 (nl) * 1995-09-29 1997-08-05 Philips Electronics Nv Programmeerbare logische controller.
FR2829338B1 (fr) * 2001-09-03 2003-10-31 Schneider Automation Equipement d'automatisme equipe d'une liaison de type usb
US8069122B2 (en) * 2007-03-20 2011-11-29 Accenture Global Services Limited Predictive cost reduction based on a thermodynamic model
US20110213715A1 (en) * 2010-03-01 2011-09-01 Accenture Global Services Gmbh Lean Analytics
US8364290B2 (en) * 2010-03-30 2013-01-29 Kimberly-Clark Worldwide, Inc. Asynchronous control of machine motion
DE102013208530A1 (de) * 2013-05-08 2014-11-13 Robert Bosch Gmbh Speichereinrichtung
US11366457B1 (en) 2018-11-16 2022-06-21 On-Time.Ai, Inc. Controling operation of machine tools using artificial intelligence

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2422042A1 (de) * 1973-05-07 1974-11-14 Mitsubishi Electric Corp Folgesteuereinrichtung
DE2522343C3 (de) * 1975-05-20 1979-03-08 Siemens Ag, 1000 Berlin Und 8000 Muenchen Anordnung zur Steuerung Von Verfahrensabläufen

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3686639A (en) * 1969-12-11 1972-08-22 Modicon Corp Digital computer-industrial controller system and apparatus
US3731280A (en) * 1972-03-16 1973-05-01 Varisystems Corp Programmable controller
US3827030A (en) * 1973-01-29 1974-07-30 Gulf & Western Industries Programmable controller using a random access memory
US3930233A (en) * 1974-04-11 1975-12-30 Richard E Morley Data transfer and manipulation apparatus for industrial computer controllers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2422042A1 (de) * 1973-05-07 1974-11-14 Mitsubishi Electric Corp Folgesteuereinrichtung
DE2522343C3 (de) * 1975-05-20 1979-03-08 Siemens Ag, 1000 Berlin Und 8000 Muenchen Anordnung zur Steuerung Von Verfahrensabläufen

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DE-Buch: Wolfgang Weber: Einführung in die Methoden der Digitaltechnik", 1970, AEG-Tele- funken Handbücher, Bd.6, S.158-177, 182-185 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0002138A1 (de) * 1977-11-22 1979-05-30 Cutler-Hammer World Trade, Inc. Programmiergerät für ein Steuergerät für elektrische Systeme und Apparate
DE2852060A1 (de) * 1977-12-02 1979-06-13 Canon Kk Bilderzeugungsgeraet
EP0071703A2 (de) * 1981-08-04 1983-02-16 Dr. Johannes Heidenhain GmbH Mikroprozessorsystem zur Steuerung von Arbeitsabläufen
EP0071703A3 (en) * 1981-08-04 1985-06-12 Dr. Johannes Heidenhain Gmbh Method and means for programmed control in a programmable logic controller
DE3718639A1 (de) * 1987-06-04 1988-12-22 Kloeckner Moeller Elektrizit Verfahren und schaltungsanordnung zum betreiben von zwei oder mehr mikroprozessoren im parallelbetrieb, insbesondere in speicherprogrammierbare steuerungen
WO1988010471A2 (en) * 1987-06-15 1988-12-29 Siemens Aktiengesellschaft Computer with bit processor and word processor
WO1988010471A3 (fr) * 1987-06-15 1989-01-26 Siemens Ag Equipement de traitement de donnees comprenant un processeur de bits et un processeur de mots
EP0362819A2 (de) * 1988-10-05 1990-04-11 Kabushiki Kaisha Toshiba Programmierbare Steuerung
EP0362819A3 (en) * 1988-10-05 1990-11-28 Kabushiki Kaisha Toshiba Programmable controller
DE4433013A1 (de) * 1994-09-15 1996-03-28 Jochen Bihl Verfahren und Vorrichtung zur Steuerung und Aktivierung von miteinander mittels eines Bussystems vernetzten Sensoren und/oder Aktuatoren

Also Published As

Publication number Publication date
JPS605962B2 (ja) 1985-02-15
JPS52127135A (en) 1977-10-25
GB1580988A (en) 1980-12-10
US4058711A (en) 1977-11-15

Similar Documents

Publication Publication Date Title
DE2715497A1 (de) Multiprozessorsystem fuer die steuerung des arbeitszyklusses einer maschine
DE2648229C2 (de)
DE2113891C2 (de) Datenverarbeitungsanlage
DE3047251C2 (de) Rechner
DE1499200B2 (de) Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung
DE2652706A1 (de) Numerisch gesteuerte produktionsmaschinen
DE2714805A1 (de) Datenverarbeitungssystem
DE1549523B2 (de) Datenverarbeitungsanlage
DE2023354A1 (de) Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit
DE1920454B2 (de) Ein-/ausgabeterminal
DE2317870A1 (de) Programmgesteuertes unterbrechungssystem fuer ein- und ausgabe in einem digitalen rechenwerk
DE2339636A1 (de) Programmsteuereinrichtung
DE2318069A1 (de) Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix
DE1499194A1 (de) Speichersystem
DE2440628A1 (de) Datenverarbeitungsanlage mit mikroprogrammierung
DE2725396B2 (de) Pufferspeicher
DE2726537A1 (de) Programmierbares steuergeraet mit einem speicher
DE1799012C3 (de) Registereinrichtung zur Erleichterung des Wechsels von Teilprogrammen und Teilprogrammschritten in einem elektronischen Rechner
DE1812137A1 (de) Elektronische Datenverarbeitungseinrichtung
DE2603555C2 (de) Informationsverarbeitungssystem
DE2720842A1 (de) Daten-uebertragungssystem
DE2242009C2 (de) Verfahren und Anordnung zum Erkennen, ob im Mikroprogramm einer Datenverarbeitungsanlage vorgesehene Verzweigungsoperationen ausgeführt werden
DE1283895B (de) Codeumsetzer zum Umsetzen eines beliebigen Eingangscode in einen beliebigen Ausgangscode
DE2265696C2 (de) Rechenanordnung
DE2622140C3 (de) Einrichtung zur Steuerung manueller Operationen

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G05B 19/04

8126 Change of the secondary classification

Ipc: ENTFAELLT

8127 New person/name/address of the applicant

Owner name: CINCINNATI MILACRON INDUSTRIES, INC., CINCINNATI,

8128 New person/name/address of the agent

Representative=s name: BROSE, D., DIPL.-ING., PAT.-ANW., 8023 PULLACH

8127 New person/name/address of the applicant

Owner name: CINCINNATI MILACRON INC. (EINE GES. N.D. GESETZEN

8128 New person/name/address of the agent

Representative=s name: BROSE, D., DIPL.-ING. RESCH, M., DIPL.-PHYS., PAT.

8131 Rejection