CH632615A5 - Method and device for controlling a DC motor - Google Patents

Method and device for controlling a DC motor Download PDF

Info

Publication number
CH632615A5
CH632615A5 CH1464877A CH1464877A CH632615A5 CH 632615 A5 CH632615 A5 CH 632615A5 CH 1464877 A CH1464877 A CH 1464877A CH 1464877 A CH1464877 A CH 1464877A CH 632615 A5 CH632615 A5 CH 632615A5
Authority
CH
Switzerland
Prior art keywords
ignition
processor
motor
signal
control
Prior art date
Application number
CH1464877A
Other languages
German (de)
Inventor
Paul John Roumanis
David Lindsay Lippitt
Original Assignee
Gen Electric
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
Priority claimed from US05/749,648 external-priority patent/US4090116A/en
Priority claimed from US05/749,641 external-priority patent/US4201936A/en
Application filed by Gen Electric filed Critical Gen Electric
Publication of CH632615A5 publication Critical patent/CH632615A5/en

Links

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/0077Characterised by the use of a particular software algorithm
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P7/00Arrangements for regulating or controlling the speed or torque of electric DC motors
    • H02P7/06Arrangements for regulating or controlling the speed or torque of electric DC motors for regulating or controlling an individual dc dynamo-electric motor by varying field or armature current
    • H02P7/18Arrangements for regulating or controlling the speed or torque of electric DC motors for regulating or controlling an individual dc dynamo-electric motor by varying field or armature current by master control with auxiliary power
    • H02P7/24Arrangements for regulating or controlling the speed or torque of electric DC motors for regulating or controlling an individual dc dynamo-electric motor by varying field or armature current by master control with auxiliary power using discharge tubes or semiconductor devices
    • H02P7/28Arrangements for regulating or controlling the speed or torque of electric DC motors for regulating or controlling an individual dc dynamo-electric motor by varying field or armature current by master control with auxiliary power using discharge tubes or semiconductor devices using semiconductor devices
    • H02P7/285Arrangements for regulating or controlling the speed or torque of electric DC motors for regulating or controlling an individual dc dynamo-electric motor by varying field or armature current by master control with auxiliary power using discharge tubes or semiconductor devices using semiconductor devices controlling armature supply only
    • H02P7/292Arrangements for regulating or controlling the speed or torque of electric DC motors for regulating or controlling an individual dc dynamo-electric motor by varying field or armature current by master control with auxiliary power using discharge tubes or semiconductor devices using semiconductor devices controlling armature supply only using static converters, e.g. AC to DC
    • H02P7/293Arrangements for regulating or controlling the speed or torque of electric DC motors for regulating or controlling an individual dc dynamo-electric motor by varying field or armature current by master control with auxiliary power using discharge tubes or semiconductor devices using semiconductor devices controlling armature supply only using static converters, e.g. AC to DC using phase control

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Control Of Direct Current Motors (AREA)
  • Rectifiers (AREA)
  • Control Of Ac Motors In General (AREA)
  • Control Of Electric Motors In General (AREA)

Description

Aufgabe der Erfindung ist es daher, ein verbessertes Verfahren zur digitalen Steuerung der Zündung von steuerbaren Gleichrichtern in der Stromzuleitung für einen Gleichstrommotor zu schaffen sowie eine zur Ausführung dieses Verfah3 The object of the invention is therefore to provide an improved method for digitally controlling the ignition of controllable rectifiers in the power supply line for a DC motor, and one for carrying out this method

5 5

10 10th

15 15

20 20th

25 25th

30 30th

35 35

40 40

45 45

50 50

55 55

60 60

65 65

632615 632615

rens geeignete Vorrichtung mit einem programmierten Datenprozessor, welche Vorrichtung Schnittstellen-Einrichtungen enthält, die die Systemeingangsparameter lesen und die erforderliche Motorspannung berechnen können und einen einer derartigen berechneten Spannung proportionalen Wert benutzen, um den Zündwinkel für einen Zündimpuls zu wählen. Suitable device with a programmed data processor, which device contains interface devices which can read the system input parameters and calculate the required motor voltage and use a value proportional to such a calculated voltage to select the ignition angle for an ignition pulse.

Die vorstehende Aufgabe wird erfindungsgemäss mit einem Verfahren gelöst, das dadurch gekennzeichnet ist, dass in dem Prozessor Parameter gespeichert werden, die proportional zur Motor-Solldrehzahl und den Sollzündwinkeln sind, dass dem Prozessor ein Programmanforderungssignal zugeleitet wird, dass der Prozessor als Antwort auf dieses Signal einen der Motor-Istdrehzahl und einen dem Motorstrom proportionalen Wert abliest und einen den Zündwinkel bestimmenden Wert berechnet, der von den Differenzen zwischen der Motor-Solldrehzahl und der Motor-Istdrehzahl sowie zwischen den dem zuletzt abgelesenen und dem vorgängig abgelesenen, dem Motorstrom proportionalen Werten sowie dem vorgängig berechneten, den Zündwinkel bestimmenden Wert abhängig ist, dass der Prozessor ferner in Abhängigkeit vom Programmanforderungssignal auf der Grundlage des berechneten Werts einen der gespeicherten Zündwinkel auswählt, und zu dem dem ausgewählten Zündwinkel entsprechenden Zeitpunkt einen Zündimpuls für einen Gleichrichter erzeugt, und für die wiederholten Berechnungen des den Zündwinkel bestimmenden Werts und das Erzeugen des Zündimpulses, der Zündimpuls als Programmanforderungssignal verwendet wird. The above object is achieved according to the invention by a method which is characterized in that parameters are stored in the processor which are proportional to the desired engine speed and the desired ignition angles, and that a program request signal is sent to the processor that the processor responds to this signal reads an actual motor speed and a value proportional to the motor current and calculates a value determining the ignition angle, which is based on the differences between the nominal motor speed and the actual motor speed, as well as between the values last read and the previous one, proportional to the motor current, and the previously calculated value determining the ignition angle is dependent on the processor also selecting one of the stored ignition angles as a function of the program request signal on the basis of the calculated value, and an ignition pulse for a at the point in time corresponding to the selected ignition angle Rectifier generated, and for the repeated calculations of the value determining the ignition angle and the generation of the ignition pulse, the ignition pulse is used as a program request signal.

Das neue Verfahren ermöglicht die vollständige Berechnung des Zündwinkels, die Wahl eines zu zündenden Gleichrichters und die Bestimmung und Wahl der Betriebsart der Vorrichtung und die Drehrichtung des Motors in einer Zeitspanne, die kurz genug ist, dass der Prozessor einen Zündwinkel, der eine maximale Leistungsabgabe an den Gleichstrommotor ermöglicht, berechnen kann. The new method allows the ignition angle to be fully calculated, the rectifier to be fired selected, and the mode of operation of the device and the direction of rotation of the motor to be determined and selected in a time period that is short enough for the processor to provide an ignition angle that indicates maximum power output enables the DC motor, can calculate.

Die zur Ausführung des neuen Verfahrens verwendete Vorrichtung enthält einen Datenprozessor, der eine digitale Regelung der Änderungsgeschwindigkeit des Motorstroms, der Motorspannung und der Motordrehzahl ermöglicht. The device used to carry out the new method contains a data processor which enables digital regulation of the rate of change of the motor current, the motor voltage and the motor speed.

Die Verwendung des Zündimpulses als Programmanforderungssignal für den Prozessor ermöglicht insbesondere die Berechnungen in so kurzer Zeit auszuführen, dass ein Gleichrichter zum frühestmöglichen Zeitpunkt innerhalb eines Phasenintervalls der Wechselstromquelle gezündet und dadurch ein maximaler Leistungstransfer zum Gleichstrommotor erreicht werden kann. The use of the ignition pulse as a program request signal for the processor enables, in particular, the calculations to be carried out in such a short time that a rectifier can be fired at the earliest possible point in time within a phase interval of the AC power source and a maximum power transfer to the DC motor can thereby be achieved.

Im folgenden werden Ausführungsbeispiele der Erfindung anhand der Zeichnungen näher erläutert. Es zeigen: Exemplary embodiments of the invention are explained in more detail below with reference to the drawings. Show it:

Fig. 1 ein Blockschaltbild einer Regel- und Steuervorrichtung gemäss der vorliegenden Erfindung, 1 is a block diagram of a regulating and control device according to the present invention,

Fig. 2 ein vereinfachtes Blockschaltbild eines repräsentativen Datenprozessors zur Verwendung bei der Erfindung, 2 is a simplified block diagram of a representative data processor for use in the invention.

Fig. 3 ein Blockschaltbild, das den Regler und die Gleichrichtersteuerung und den Gleichrichter der Vorrichtung gemäss der Fig. 1 zeigt, die mit dem Datenprozessor und der Last oder Gleichstrommotor verbunden sind, 3 is a block diagram showing the regulator and the rectifier controller and the rectifier of the device according to FIG. 1, which are connected to the data processor and the load or DC motor,

Fig. 4 eine detaillierte Logikschaltung der Prozessor-/ Systemschnittstelle in dem Blockschaltbild gemäss der Fig. 3, die die Verbindung zwischen dem Datenprozessor und den anderen Logikblöcken des Reglers und der Gleichrichtersteuerung zeigt, 4 shows a detailed logic circuit of the processor / system interface in the block diagram according to FIG. 3, which shows the connection between the data processor and the other logic blocks of the controller and the rectifier control,

Fig. 5 ein detailliertes Logikschaltbild des Blockschaltbilds der Fig. 3, 5 is a detailed logic diagram of the block diagram of FIG. 3;

Fig. 6 ein Zeitsteuerdiagramm, das zum Verständnis des Betriebs des Systemtaktes und der erfindungsgemässen Regel-und Steuervorrichtung nützlich ist, 6 is a timing diagram useful for understanding the operation of the system clock and the regulation and control device according to the invention;

Fig. 7 ein detailliertes Logikschaltbild der Tachometer-impulszähler- und Logikeinheit der Fig. 3, 7 is a detailed logic diagram of the tachometer pulse counter and logic unit of FIG. 3;

Fig. 8 ein Zeitsteuerdiagramm, das zum Verständnis des Fig. 8 is a timing diagram for understanding the

Betriebs der Tachometerimpulszähler- und Logikeinheit der Fig. 7 nützlich ist, 7 is useful in operating the tachometer pulse counter and logic unit of FIG.

Fig. 9 ein detailliertes Logikschaltbild der Zündlogik der Fig. 3, 9 is a detailed logic diagram of the ignition logic of FIG. 3;

Fig. 10 ein Zeitsteuerdiagramm, das die Zeitsteuerung der Zündlogik der Fig. 9 zeigt und zum Verständnis des Betriebs der vorliegenden Erfindung hilfreich ist, 10 is a timing diagram showing the timing of the firing logic of FIG. 9 and helpful in understanding the operation of the present invention.

Fig. 11A und IIB zusammengenommen, wobei Fig. 11A an der Oberkante der Fig. 11B zu liegen kommt, zeigen ein detailliertes Logikschaltbild und einen schematischen Aufbau der Thyristorwähl- und Antriebsrichtung-Logik, der Gleichrichter und des Analog-/Digitalwandlers der Fig. 3 und die Zwischenverbindungen, 11A and IIB taken together, with FIG. 11A coming to rest on the upper edge of FIG. 11B, show a detailed logic circuit diagram and a schematic structure of the thyristor selection and drive direction logic, the rectifiers and the analog / digital converter of FIG. 3 and the interconnections,

Fig. 12 Kurven, die zum Verständnis des Betriebs der vorliegenden Erfindung nützlich sind, 12 curves useful for understanding the operation of the present invention;

Fig. 13 ein Strichbalken-Flussdiagramm, das zum Verständnis der Abfolge des Betriebs der Erfindung nützlich ist, und Fig. 13 is a dashed bar flow diagram useful for understanding the sequence of operation of the invention; and

Fig. 14 bis 24 ein Flussdiagramm, zum Verständnis der Durchführung des erfindungsgemässen Regel- und Steuerverfahrens. 14 to 24 a flowchart for understanding the implementation of the regulating and control method according to the invention.

Zur Beschreibung des Gesamtbetriebs der Erfindung wird nun auf Fig. 1 des Regel- und Steuersystems Bezug genommen, die in Form eines Blockschaltbildes die wesentlichen Funktionalblöcke zeigt, aus denen das vorliegende System besteht. In Fig. 1 enthält ein allgemein als Mikroprozessor 10 dargestellter Datenprozessor ein Programm zur Steuerung des Gesamtbetriebs des Systems, wobei über eine Regler- und Gleichrichtersteuereinheit 14 Parametereingangssignale von einem herkömmlichen Gleichstrommotor 12 dem Mikroprozessor eingelesen werden. Das Programm im Prozessor 10 steuert das Lesen dieser verschiedenen Eingangssignale und enthält ein Programm zur Berechnung des Zündwinkels zur richtigen Zündung der Gleichrichter oder Thyristoren, gewöhnlich auch als SCRs bezeichnet, in einem herkömmlichen Dreiphasen-Brük-kengleichrichter 16. Die Regler-und Gleichrichtersteuerein-heit 14 liefert ein gemeinsames Interface bzw. eine gemeinsame Schnittstelle zwischen dem Prozessor 10 und dem Rest des Regelsystems. Unter der Steuerung des Prozessors 10 liest die Gleichrichtersteuereinheit 14 Eingangssignale aus einer Drehzahlreferenzeinheit 18 über eine Vielzahl von Eingangsleitungen aus, wobei derartige Signale ein digitales Referenzsignal, gemäss dem der Motor in Umdrehungen pro Minute laufen soll, und einen Ein-/Aus-Leistungszustand des Motors, und Benutzersignale kennzeichnen, die gesetzt sind und die Richtung bezeichnen, in der der Motor 12 laufen soll. Die letzeren Signale werden über eine Vielzahl von Leitungen 20 geliefert, die als «Drehzahlreferenz» bezeichnet sind. Über die Reglersteuereinheit 14 gehen über eine Vielzahl von Leitungen 22 zusätzliche Eingangssignale zum Prozessor 10 und stellen Drehzahlsignale vom Gleichstrommotor 12 dar, die von einem Sensor am Motor 12 herkommen und die Drehzahl in Umdrehungen pro Minute kennzeichnen, mit welcher der Motor läuft. Der Motorstrom wird ebenso über die Regel- und Steuereinheit 14 vom Mikroprozessor gemessen, wofür ein Strom vom Motor über eine Vielzahl von Leitungen 24 an den Prozessor geliefert wird. Die Regel- und Steuereinheit 14 liefert unter der Steuerung von vom Prozessor 10 gelieferten Signalen Steuersignale an den Gleichrichter 16 und empfängt Daten vom Prozessor, um das Zünden der Thyristoren (SCR) im Gleichrichter zu geeigneter Zeit zu steuern, um dadurch den Gleichstrommotor zu regeln. Wie noch erläutert wird, ist der Gleichrichter 16 als ein Vorwärts-/Rückwärts-Brückengleichrichter ausgebildet, der derart ausgesteuert werden kann, dass er die Richtung der Spannung und des Stroms durch den Motor 12 umkehrt und auf diese Weise zur Drehzahlregelung und zur Umkehr der Laufrichtung dient. To describe the overall operation of the invention, reference is now made to FIG. 1 of the regulating and control system, which shows in the form of a block diagram the essential functional blocks of which the present system consists. 1, a data processor, generally represented as a microprocessor 10, contains a program for controlling the overall operation of the system, with parameter input signals from a conventional DC motor 12 being read into the microprocessor via a regulator and rectifier control unit 14. The program in processor 10 controls the reading of these various input signals and includes a program to calculate the firing angle for properly firing the rectifiers or thyristors, commonly referred to as SCRs, in a conventional three-phase bridge rectifier 16. The regulator and rectifier control unit 14 provides a common interface between the processor 10 and the rest of the control system. Under the control of the processor 10, the rectifier control unit 14 reads input signals from a speed reference unit 18 via a multiplicity of input lines, such signals being a digital reference signal according to which the motor is to run in revolutions per minute and an on / off power state of the motor , and identify user signals that are set and indicate the direction in which the motor 12 is to run. The latter signals are supplied via a plurality of lines 20, which are referred to as “speed reference”. Via the controller control unit 14, additional input signals go to the processor 10 via a plurality of lines 22 and represent speed signals from the DC motor 12, which come from a sensor on the motor 12 and identify the speed in revolutions per minute at which the motor is running. The motor current is also measured by the microprocessor via the regulating and control unit 14, for which purpose a current is supplied from the motor to the processor via a plurality of lines 24. The control unit 14, under the control of signals provided by the processor 10, provides control signals to the rectifier 16 and receives data from the processor to control the firing of the thyristors (SCR) in the rectifier at an appropriate time to thereby regulate the DC motor. As will be explained, the rectifier 16 is designed as a forward / reverse bridge rectifier which can be controlled in such a way that it reverses the direction of the voltage and the current through the motor 12 and in this way for speed control and for reversing the direction of rotation serves.

Der in Fig. 1 dargestellte Mikroprozessor kann irgendein Mikroprozessor aus der Vielzahl der mikroprogrammierten The microprocessor shown in FIG. 1 can be any of the many microprocessors programmed

4 4th

5 5

10 10th

15 15

20 20th

25 25th

30 30th

35 35

40 40

45 45

50 50

55 55

60 60

65 65

632615 632615

digitalen Vielzweckrechner sein, die zurzeit auf dem Markt erhältlich sind. Ein derartiger Rechner, der für die erfindungs-gemässe Anwendung geeignet ist, stellt der Mikrorechner Intel 8080 dar, der von der Intel Corporation verkauft wird. Ein weiterer ideal geeigneter Mikroprozessor, der bei der Ausführung 5 dieser Erfindung verwendet wird, ist ein digitaler mikrokodier-ter Vielzweckrechner, der von der General Electric Comp, als Modell CRD 8 Mikrocomputersystem verkauft wird. digital multipurpose computers currently available on the market. Such a computer, which is suitable for the application according to the invention, is the microcomputer Intel 8080, which is sold by the Intel Corporation. Another ideally suited microprocessor used in embodiment 5 of this invention is a general purpose digital microcoded computer sold by General Electric Comp as a model CRD 8 microcomputer system.

In Fig. 2 ist der digitale Mikroprogrammrechner CRD 8 dargestellt, wobei die Hauptkomponenten dieses Rechners io gezeigt sind. Die Hauptsteuereinheit des Rechners enthält einen Mikrokode-Steuerfestwertspeicher, ROM, 26, der mit einem Mikrokode programmiert ist, welcher aus Mikrobefehlen besteht, die im ROM gespeichert sind. Die Mikrobefehle, die als Aussteuersignale für das Register, den Speicher und I/O- 15 Kanäle bezeichnet sind und auf einer Vielzahl von Leitungen 28 geführt werden, steuern das Holen und die Interpretation der Befehle, die im Hauptspeicher oder Speicher 30 gespeichert sind, wobei sie zuerst den Befehl erkennen und dann den Sprung zu einer Sequenz von Mikrobefehlen im Steuer-ROM 20 bewirken, die die Vorgänge ausführen, die durch die Befehle aufgerufen sind. Die Adresse des nächsten Befehls, der vom Mikrokode-ROM interpretiert werden soll, ist in einem Programmzählerregister (PC) 32 enthalten. Vor der Interpretation jedes Befehls inkrementiert der Mikrokode-ROM den Inhalt 25 des Programmzählers PC, um auf den folgenden Befehl zu zeigen. The digital micro program computer CRD 8 is shown in FIG. 2, the main components of this computer being shown io. The main control unit of the computer includes a microcode control read only memory, ROM, 26 which is programmed with a microcode consisting of microinstructions stored in the ROM. The microinstructions, referred to as register, memory and I / O 15 channel drive signals, carried on a plurality of lines 28 control the fetching and interpretation of the instructions stored in main memory or memory 30, wherein they first recognize the command and then jump to a sequence of microinstructions in the control ROM 20 that perform the operations invoked by the instructions. The address of the next command to be interpreted by the microcode ROM is contained in a program counter register (PC) 32. Before interpreting each instruction, the microcode ROM increments the contents 25 of the program counter PC to point to the following instruction.

Der Mikrokode im Mikrokode-ROM interpretiert Subrouti-nes-Rufe dadurch, dass er die Adresse der Subroutine in ein Programmzähler-Zwischenregister PCS 34 gibt und dann die 30 Rolle des Programmzählers PC mit der Rolle des Programmzähler-Zwischenregisters PCS vertauscht. Subroutine-Rück-verzweigungen werden wiederum dadurch interpretiert, dass die Rolle der letzteren zwei Register vertauscht wird, wodurch veranlasst wird, dass der dem Subroutine-Aufruf folgende 35 Befehl als nächster interpretiert wird. Wenn eine äussere Unterbrechung beim Prozessor auftritt, tauscht der Prozessor die Rolle des Programmzählers PC 32, des Programmzähler-Zwischenregisters PCS 34, und eines Seitenregisters (Page) 36 mit einem Unterbrecherprogrammzähler 38, einem Unter- 40 brecherprogrammwähler-Zwischenregister (IPCS) 40, und einem Unterbrecher-Seitenregister (IPAGE) 42 aus. Unterbrechungsrückverzweigungen werden durch den Mikrokode im Mikrokode-ROM dadurch interpretiert, dass die Rollen dieser Register in ihre ursprünglichen Rollen zurückgetauscht wer- 45 den. The microcode in the microcode ROM interprets subroutine calls by placing the address of the subroutine in a program counter intermediate register PCS 34 and then swapping the role of the program counter PC with the role of the program counter intermediate register PCS. Subroutine back branches are again interpreted by swapping the role of the latter two registers, causing the 35 command following the subroutine call to be interpreted next. If an external interrupt occurs at the processor, the processor changes the role of the program counter PC 32, the program counter intermediate register PCS 34, and a page register (Page) 36 with an interrupt program counter 38, an interrupt program selector intermediate register (IPCS) 40, and a breaker page register (IPAGE) 42. Interruption branches are interpreted by the microcode in the microcode ROM by the roles of these registers being exchanged back to their original roles.

Dem Prozessor gelieferte äussere Unterbrechungen können unter der Programmsteuerung durch das Setzen oder Rücksetzen eines Unterbrecher-Auslöse-Flipflops (nicht dargestellt) ausgelöst oder nicht ausgelöst werden. Wenn eine äus- 50 sere Einrichtung den Prozessor zu unterbrechen wünscht, so gibt diese Einrichtung eine Anfrage an die Unterbrechungsleitung. Wenn diese Anfrage vorhanden ist, und das Unterbre-chungs-Auslöse-Flipflop gesetzt ist, und der Prozessor einen unterbrechbaren Befehl ausführt, dann beginnt der Prozessor 55 mit der Ausführung der Unterbrechung nach Abschluss des laufenden Befehls. Wenn einmal die Unterbrechungsverarbeitung beginnt, ist das Unterbrechungsprogramm dafür verantwortlich, dass es sich die äussere Eingabeeinrichtung merkt, um deren Anfrage von der Unterbrechungsleitung zu entfernen. 60 Der Speicher des Prozessors wird in Seiten unterteilt, wobei eine bestimmte Zahl an Wörtern pro Seite vorhanden ist. External interruptions provided to the processor may or may not be triggered under program control by setting or resetting an interrupt trip flip-flop (not shown). If an external device wishes to interrupt the processor, this device issues a request to the interrupt line. If this request is present and the interrupt trigger flip-flop is set and the processor executes an interruptible instruction, then processor 55 begins executing the interrupt upon completion of the current instruction. Once interrupt processing begins, the interrupt program is responsible for remembering the external input device to remove its request from the interrupt line. 60 The processor memory is divided into pages, with a certain number of words per page.

Durch Verwendung des Seitenregisters 36 kann ein Befehl überall im Speicher dadurch Zugriff zu Daten erhalten, dass lediglich eine Adresse bezüglich des Kopfes der laufenden 65 Datenseite spezifiziert wird (die Seite, auf die das Seitenregister zeigt). Using page register 36, a command can access data anywhere in memory by specifying only one address regarding the header of the current 65 page of data (the page pointed to by the page register).

Daten im Hauptspeicher 30 können ferner direkten Zugriff dadurch erhalten, dass eine Adresse des Datenworts in ein oder drei Vielzweckregister gegeben wird, die RI, R2 und R3 bezeichnet sind. Diese Register können auch zur Speicherung von Daten verwendet werden. Die Ansammlung der drei Vielzweckregister und der zusätzlichen Register 32 bis 42 wird als Zwischenspeicher (Scratch pad memory) bezeichnet. Data in main memory 30 can also be accessed directly by placing an address of the data word in one or three general purpose registers labeled RI, R2 and R3. These registers can also be used to store data. The collection of the three general-purpose registers and the additional registers 32 to 42 is referred to as a scratch pad memory.

Zusätzlich zu den Zwischenspeicherregistern enthält der Prozessor ferner einen Akkumulator 44, ein Befehlsregister 46 und ein Speicheradressenregister MAR 48, wobei letzteres den Hauptspeicher 30 adressiert. Während des Betriebs des Prozessors enthält das Befehlsregister 46 ständig den Befehl, den der Mikrokode-ROM zuletzt aus dem Hauptspeicher holte und augenblicklich interpretiert. Das Hauptspeicher-Adressenregi-ster 48 enthält ständig diejenige Adresse im Hauptspeicher, zu der durch die nächsten Speicherlese- oder Speicherschreibbefehle Zugriff erfolgt. In addition to the buffer registers, the processor further includes an accumulator 44, an instruction register 46 and a memory address register MAR 48, the latter addressing the main memory 30. During the operation of the processor, the instruction register 46 always contains the instruction which the microcode ROM last fetched from the main memory and which is currently interpreted. The main memory address register 48 always contains the address in the main memory to which the next memory read or write commands give access.

Durch eine Arithmetik- und Logikeinheit ALU 50 werden arithmetische und logische Operationen durchgeführt. Vom Akkumulator 44 und von einer Zweirichtungsdaten- und Steuersammelleitung 52 werden Eingangssignale der ALU 50 zugeführt. Arithmetic and logic operations are carried out by an arithmetic and logic unit ALU 50. Input signals of the ALU 50 are supplied from the accumulator 44 and from a bidirectional data and control bus 52.

Innerhalb des Prozessors werden Daten längs der Sammelleitung 52 übertragen. Diese Sammelleitung gestattet die Übertragung von Daten von dem Hauptspeicher 30, einem gewählten Zwischenspeicherregister 46, oder einem Eingangskanal 54 zu einem Befehlsregister 46, dem Speicheradressenregister 48 oder der ALU-Einheit 50. Wenn ein Eingabe-/Ausgabebefehl im Befehlsregister vorhanden ist, und wenn dieser Befehl festlegt, dass ein Ausgabebetrieb durchgeführt werden soll, gibt der Prozessor den Inhalt der ALU-Einheit 50 über einen Ausgangskanal 56 auf den Ausgabedatenkanal und hält die Eingabe-/Aus-gabeeinrichtung (I/O-Einrichtung) fest, die diese Daten erhalten soll. Data is transmitted along the bus 52 within the processor. This bus allows data to be transferred from main memory 30, a selected latch register 46, or an input channel 54 to a command register 46, memory address register 48, or ALU 50. If there is an input / output command in the command register and if there is Command specifies that an output operation is to be performed, the processor outputs the contents of the ALU unit 50 to the output data channel via an output channel 56 and holds the input / output device (I / O device) which is to receive this data .

Wenn eine Leseoperation spezifiziert ist, merkt sich der Prozessor die betreffende 1/O-Einrichtung und gibt Daten auf den Eingabekanal 54. Wie in Fig. 2 dargestellt ist, sind die Ein-gabe-/Ausgabeeinrichtungen im vorliegenden System in der Regler- und Steuereinheit 14 enthalten, die zuvor beschrieben wurde und auch in Fig. 2 enthalten ist. When a read operation is specified, the processor remembers the I / O device in question and outputs data to input channel 54. As shown in FIG. 2, the input / output devices in the present system are in the regulator and controller 14 included, which was previously described and is also included in Fig. 2.

Der Prozessor 10 enthält ferner einen Taktgenerator, der als Prozessortakt 58 bezeichnet ist und ein Taktgrundsignal erzeugt mit einer kennzeichnenden Wiederholfrequenz von 4,167 MHz. Wie in Fig. 2 dargestellt ist, wird das Taktgrundsignal dem Prozessor 10 zur Steuerung der Zeittaktung von Informationen und Befehlen durch den Prozessor, und ferner dem System zugeführt, um als ein Synchrongrundpuls zu dienen, um Information in und aus der Regler- und Gleichrichtersteuereinheit zu takten. Obwohl der Prozessortakt 58 in der vorliegenden Erfindung verwendet wird, um Systemtaktimpulse zu liefern, sei darauf hingewiesen, dass auch ein Taktgrundsignal gleichermassen von einer äusseren Quelle zur Durchführung derselben Funktion dem Prozessor zugeführt werden kann. The processor 10 also includes a clock generator, which is referred to as the processor clock 58 and generates a basic clock signal with a characteristic repetition frequency of 4.167 MHz. As shown in FIG. 2, the basic clock signal is fed to processor 10 for controlling the timing of information and commands by the processor, and also to the system to serve as a basic synchronous pulse to supply information into and out of the regulator and rectifier control unit clock. Although processor clock 58 is used in the present invention to provide system clock pulses, it should be understood that a basic clock signal may also be supplied to the processor from an external source to perform the same function.

Es wird nun auf Fig. 3 Bezug genommen, die hauptsächlich in Form eines Blockdiagramms die Blöcke enthält, welche die Regler- und Gleichrichtersteuereinheit 14 bilden. Aus Klar-heits- und Vereinfachungsgründen sind in Fig. 3 verschiedene, zuvor in Verbindung mit den Fig. 1 und 2 beschriebene Komponenten enthalten und mit den zuvor verwendeten Bezugszeichen versehen. Der Prozessor 10 liefert Taktgrundsignale an einen Systemtaktgenerator in der Regler- und Steuereinheit 14. Der Systemtaktgenerator 60 empfängt ferner ein dreiphasiges 60-Hz-Netzsignal von einer äusseren Netzquelle, nicht dargestellt, und liefert Taktimpulse an das System zur Verwendung bei der Synchronisierung des Systemgesamtbetriebs mit dem 60-Hz-Dreiphasennetz zur Steuerung des Zündvorgangs der Thyristoren oder SCRs, um den Motor 12 zu regeln. Reference is now made to FIG. 3, which contains, primarily in the form of a block diagram, the blocks that make up the regulator and rectifier control unit 14. For reasons of clarity and simplification, FIG. 3 contains various components previously described in connection with FIGS. 1 and 2 and has been given the reference numerals previously used. The processor 10 provides basic clock signals to a system clock generator in the controller 14. The system clock generator 60 also receives a three-phase 60 Hz line signal from an external line source, not shown, and provides clock pulses to the system for use in synchronizing overall system operation the 60 Hz three-phase network to control the firing of the thyristors or SCRs to regulate the motor 12.

Die Regler- und Steuereinheit 14 enthält ferner als einen The regulator and control unit 14 further includes as one

632615 632615

Teil ein Programm 62, das mit dem Prozessor 10 in Verbindung steht und den Betrieb des Reglers in der Steuereinheit 14 steuert, um letztlich die richtigen Zündimpulse an die Thyristoren oder SCRs zur Regelung des Gleichstrommotors zu liefern. Obwohl das Programm 62 im Hauptspeicher 30 der Fig. 2 enthalten sein kann, sei bemerkt, dass das Programm 62 als Teil der Regler- und Gleichrichtersteuereinheit 14 betrachtet wird, da es bestimmte Logikfunktionen ausführt, die für den Betrieb der Gesamtsteuerung des Systems wichtig sind. Part of a program 62 which is connected to the processor 10 and controls the operation of the controller in the control unit 14 in order to ultimately deliver the correct firing pulses to the thyristors or SCRs for regulating the DC motor. Although program 62 may be included in main memory 30 of FIG. 2, it should be noted that program 62 is considered part of regulator and rectifier control unit 14 because it performs certain logic functions that are important for the operation of overall control of the system.

In Fig. 3 ist die schon erwähnte Drehzahlreferenz 18 als digitale Schalter (RPM) und als Ein-/Aus- und Vorwärts-/Rück-wärts-Schalter 18' dargestellt, die Eingangssignale über eine Prozessor-/Systemschnittstelle 64 an den Prozessor 10 liefern. Von den Schaltern 18 wird über eine Vielzahl von Leitungen 66 eine digitale Drehzahlreferenz geliefert, die in Umdrehungen pro Minute der gewünschten Motordrehzahl entspricht und in den Prozessor eingelesen wird und im Hauptspeicher oder Programm 62 unter der Steuerung des Prozessors gespeichert wird. 3, the already mentioned speed reference 18 is shown as a digital switch (RPM) and as an on / off and forward / backward switch 18 ', which supply input signals to the processor 10 via a processor / system interface 64 . From the switches 18, a digital speed reference is supplied via a plurality of lines 66, which corresponds to the desired engine speed in revolutions per minute and is read into the processor and stored in the main memory or program 62 under the control of the processor.

In ähnlicher Weise werden Signale, die den Ein-/Ausschalter des Motors und einen Schalter kennzeichnen, der die gewünschte Vorwärts- oder Rückwärtsrichtung des Motors festlegt, dem Prozesspr von den Ein-/Aus- und Vorwärts-/Rück-wärtsschaltern 18' über die Prozessor-/Systemschnittstelle 64 auf Leitungen 68 zugeführt. Eine Verbindung zwischen dem Prozessor 10 und der Prozessor-/Systemschnittstelle 64 erfolgt über eine Vielzahl von Leitungen 70, die aus Dateneingabe-/ Ausgabeleitungen und Steuerleitungen bestehen. Wie noch erläutert wird, werden die Taktimpulse vom Systemtaktgenerator 60 auch über diese Leitungen während des Betriebs des Systems dem Prozessor zugeführt. Similarly, signals identifying the engine on / off switch and a switch which determines the desired forward or reverse direction of the engine are provided to the process by the on / off and forward / reverse switches 18 'via the Processor / system interface 64 fed on lines 68. A connection between the processor 10 and the processor / system interface 64 takes place via a plurality of lines 70, which consist of data input / output lines and control lines. As will be explained, the clock pulses from the system clock generator 60 are also supplied to the processor via these lines during the operation of the system.

Eine Zündlogik 72 ist in der Regler- und Steuereinheit 14 vorgesehen, um Information zu erhalten, die einem gewünschten Zündwinkel zur Zündung der Thyristoren entspricht, um den Motor zu regeln. Diese Information wird vom Mikroprozessor über die Prozessor-/SystemschnittsteIIe 64 auf den Leitungen 74 geliefert. Die Zündlogik 72 liefert im wesentlichen drei Signale, ein Signal ist ein Unberbrechersignal, das auf der Leitung 76 dem Prozessor 10 zugeführt wird. Das Unterbrechersignal kann entweder die Schnittstelle 64 umgehen oder durch die Schnittstelle 64 hindurchlaufen. Ein weiteres dieser Signale stellt ein Umwandlungssignal auf einer Leitung 78 zu einem Analog-/Digitalwandler 80 dar, um diesen Wandler zu triggern, um den analogen dreiphasigen Motorstrom in einen der Stärke des Gleichstroms proportionalen Zählerwert umzuwandeln, der über die Leitung 24 und die Schnittstelle 64 dem Prozessor zugeführt wird. Zusätzlich erzeugt die Zündlogik 72 einen Zündimpuls auf einer Leitung 82, die zu einer Thy-ristorwähl- und Antriebsrichtungslogik 84 führt. An ignition logic 72 is provided in the regulator and control unit 14 in order to obtain information which corresponds to a desired ignition angle for the ignition of the thyristors in order to regulate the engine. This information is provided by the microprocessor via processor / system interface 64 on lines 74. The firing logic 72 essentially provides three signals, one signal being an unbreaker signal which is fed to the processor 10 on the line 76. The interrupt signal can either bypass the interface 64 or pass through the interface 64. Another of these signals is a conversion signal on line 78 to an analog-to-digital converter 80 to trigger that converter to convert the analog three-phase motor current to a counter value proportional to the strength of the direct current, which is transmitted via line 24 and interface 64 is fed to the processor. In addition, the firing logic 72 generates an firing pulse on a line 82 that leads to a thyristor selection and drive direction logic 84.

Die Thyristorwähl- und Antriebslogik 84 empfängt über die Schnittstelle 64 auf einer Vielzahl von Leitungen 86 digitale Information vom Prozessor 10. Diese Information stellt Wörter oder Adressen dar, um die richtige Wahl der zu zündenden Thyristoren durchzuführen, und um eine spezielle Brücke aus zwei Brücken (vorwärts oder rückwärts) im Gleichrichter 16 auszuwählen, um die Motorrichtung zu steuern. Der Betrieb der Zündlogik und der Thyristorwähl- und Antriebsrichtungslogik wird weiter unten näher erläutert. The thyristor selection and drive logic 84 receives digital information from the processor 10 via interface 64 on a plurality of lines 86. This information represents words or addresses in order to make the correct choice of the thyristors to be fired and to provide a special bridge of two bridges ( forward or backward) in the rectifier 16 to control the motor direction. The operation of the firing logic and the thyristor selection and drive direction logic is discussed in more detail below.

Die genannten Drehzahlsignale auf den Leitungen 22 werden von einer Tachoimpulszähler- und Logikschaltung 88 geliefert, vergleiche Fig. 3, die Impulse von einem herkömmlichen digitalen Tachometer 90 erhält. Ein spezieller Tachometer, der in der vorliegenden Erfindung Verwendung findet, ist als Modell K827 von der Firma Avtron Corporation erhältlich. Dieser Tachometergenerator ist als optische Einrichtung ausgebildet und enthält zwei sich drehende Scheiben mit Schlitzen, die die Erzeugung von 1200 Impulsen pro Motorumdrehung durch jede Scheibe bewirken. Das Ausgangssignal von den beiden Scheiben ist im wesentlichen als Rechteckkurve ausgebildet mit 1200 Zählimpulsen pro Umdrehung der Tachometerwelle. Diese Impulse von den beiden Scheiben werden um 90° in der Phase gegeneinander versetzt, so dass die Motorrichtung dadurch wahrgenommen werden kann, dass die Verschiebung der Phasen der Impulse festgestellt wird, die vom Tachometer auf den Leitungen 92 dem Tachoimpulszähler 88 zugeführt werden. Die Art und Weise der Feststellung oder des Nachweises wird unten in Verbindung mit der Beschreibung der Tachoimpulszählerlogik 88 beschrieben. The above-mentioned speed signals on the lines 22 are supplied by a tachometer pulse and logic circuit 88, see FIG. 3, which receives pulses from a conventional digital tachometer 90. A special tachometer used in the present invention is available as the Model K827 from Avtron Corporation. This tachometer generator is designed as an optical device and contains two rotating disks with slots, which cause the generation of 1200 pulses per engine revolution through each disk. The output signal from the two disks is essentially designed as a rectangular curve with 1200 counting pulses per revolution of the tachometer shaft. These pulses from the two disks are mutually offset in phase by 90 °, so that the motor direction can be perceived by determining the shift in the phases of the pulses which are fed from the tachometer on lines 92 to the tachometer pulse counter 88. The manner of detection or detection is described below in connection with the description of the tachometer counter logic 88.

Der in Fig. 1 erwähnte Gleichrichter 16 besteht, wie aus Fig. 3 ersichtlich ist, aus einem Block, der als Thyristoren (SCRs) 94 und Vorwärts- und Rückwärtsimpulsverstärker 96 bzw. 98 bezeichnet ist. Den Verstärkern 96 und 98 werden über eine Vielzahl von Leitungen 100 von der Thyristorwähl- und Antriebsrichtungslogik 84 Thyristorwähl- oder Adressensignale und Antriebsrichtungswählsignale zugeführt. Während des Betriebs des Systems bewirkt die vom Mikroprozessor in die Thyristorwähl- und Antriebsrichtungslogik geleitete Information, dass der richtige Verstärker der Vorwärts- oder Rückwärtsverstärker 96 bzw. 98 ausgewählt wird, um einen Zündimpuls den Thyristoren 94 zuzuführen, wenn die Zündlogik den Zündimpuls auf der Leitung 82 erzeugt. Die Ausgangszündimpulse von den Vorwärts-und Rückwärtsimpulsverstärkern 96 und 98 werden über Leitungen 102 bzw. 104 den Thyristoren 94 zugeführt. Die Leistung für den Betrieb der Thyristoren und damit des Gleichstrommotors 12 wird von einem 60-Hz-Drei-phasennetz 106 den Thyristoren 94 zugeführt Wenn die Thyristoren gezündet sind, werden über die Leitungen 108 Impulse geliefert, um dem Gleichstrommotor 12 Strom zuzuführen, um den Motor anzutreiben. Ein Gesamtverständnis des Betriebs der vorliegenden Erfindung lässt sich am besten durch eine in Einzelheiten gehende Beschreibung aller der Logikblöcke erhalten, die in der Regler- und Gleichrichtersteuereinheit 14 der Fig. 3 beschrieben wurden. Der erste dieser zu beschreibenden Blöcke ist die Prozessor-/SystemschnittsteIle, die in Fig. 4 dargestellt ist. Wie im linken Teil der Fig. 4 gezeigt ist, umfassen alle Eingangs- und Ausgangssignalleitungen zur Prozessor-/ Systemschnittstelle, die links von der gestrichelten Linie verlaufen, kollektiv die Leitungen 70, wie zuvor in Verbindung mit Fig. 3 beschrieben wurde. Die vom Prozessor 10 in die Systemschnittstelle 64 übertragene Information kommt vom Ausgabekanal 56, wie zuvor in Verbindung mit Fig. 2 erläutert wurde. Im Grunde überträgt der Prozessor 10 zwei Arten von Befehlen oder Instruktionen an die Systemschnittstelle. Diese Befehle leiten die Systemschnittstelle derart, dass sie entweder gewisse Daten vom Prozessor in spezielle Register im System, zum Beispiel in die Zündlogik und die Thyristorrichtungslogik, einschreibt, oder dass sie Information von verschiedenen adressierten Eingabeeinrichtungen ausliest, die im rechten Teil der Fig. 4 dargestellt sind. The rectifier 16 mentioned in FIG. 1 consists, as can be seen from FIG. 3, of a block which is designated as thyristors (SCRs) 94 and forward and backward pulse amplifiers 96 and 98, respectively. Amplifiers 96 and 98 are supplied with a plurality of lines 100 from thyristor select and drive direction logic 84 to select thyristor or address signals and drive direction select signals. During operation of the system, the information provided by the microprocessor to the thyristor select and drive direction logic causes the correct amplifier of the forward or reverse amplifiers 96 and 98 to be selected to apply a firing pulse to the thyristors 94 when the firing logic carries the firing pulse on the line 82 generated. The output firing pulses from the forward and reverse pulse amplifiers 96 and 98 are supplied to the thyristors 94 via lines 102 and 104, respectively. The power for the operation of the thyristors and thus of the DC motor 12 is supplied to the thyristors 94 by a 60 Hz three-phase network 106. When the thyristors are triggered, pulses are supplied via the lines 108 to supply the DC motor 12 with current to the To drive the motor. An overall understanding of the operation of the present invention can best be obtained from a detailed description of all of the logic blocks described in the regulator and rectifier control unit 14 of FIG. 3. The first of these blocks to be described is the processor / system interface shown in FIG. As shown in the left part of FIG. 4, all input and output signal lines to the processor / system interface that run to the left of the dashed line collectively include lines 70 as previously described in connection with FIG. 3. The information transmitted by processor 10 into system interface 64 comes from output channel 56, as previously explained in connection with FIG. 2. Basically, processor 10 transmits two types of instructions or instructions to the system interface. These commands direct the system interface in such a way that it either writes certain data from the processor into special registers in the system, for example into the ignition logic and the thyristor direction logic, or that it reads information from various addressed input devices, which is shown in the right part of FIG. 4 are.

Vom Ausgabekanal 56 des Prozessors werden über Leitungen 110,112,114 und 116 Befehlsdaten an die Systemschnittstelle geliefert. Die Signale auf den Leitungen 112,110 und 114 stellen Befehlsregisterbits vom Prozessor 10 dar. Wenn der Prozessor einen Lesebefehl an die Systemschnittstelle liefert, werden die Befehlsregisterbits IR1 bis IR3 auf den Leitungen 112 in einem BCD-/Dezimalwandler dekodiert, der als ein Dekoder dient, um einen als READ gekennzeichneten Leseimpuls von einem Ausgangsanschluss 6 der Einheit 118 zu erzeugen. Der Leseimpuls wird erzeugt, wenn das Befehlsregisterbit IR4 auf der Leitung 114 eine binäre Null ist, und er wird durch einen Inverter 120 in eine binäre 1 umgewandelt, um ein NOR-Tor 122 auszulösen, wenn ein READ-Befehlsregister-signal (IR-Signal) mit dem binären Wert 1 durch den Prozessor geliefert wird. Wenn das Tor 122 ausgelöst ist, liegt an dessen Ausgang ein binärer O-Taktimpuls, der an den D-Eingangsan-schluss des Dekoders 118 geleitet wird und auf diese Weise Command data is supplied to the system interface from the output channel 56 of the processor via lines 110, 112, 114 and 116. The signals on lines 112, 110 and 114 represent instruction register bits from processor 10. When the processor provides a read instruction to the system interface, instruction register bits IR1 through IR3 on lines 112 are decoded in a BCD / decimal converter that serves as a decoder generate a read pulse identified as READ from an output terminal 6 of unit 118. The read pulse is generated when the command register bit IR4 on line 114 is a binary zero and is converted to a binary 1 by an inverter 120 to trigger a NOR gate 122 when a READ command register signal (IR signal ) is supplied with the binary value 1 by the processor. When the gate 122 is triggered, there is a binary O clock pulse at its output, which is sent to the D input terminal of the decoder 118 and in this way

6 6

5 5

10 10th

15 15

20 20th

25 25th

30 30th

35 35

40 40

45 45

50 50

55 55

60 60

65 65

einen READ-Impuls erzeugt, wie auf der Leitung 124 gezeigt ist. der READ-Impuls oder Leseimpuls wird zwei logischen Elementen in der Schnittstelle zugeführt, zuerst einem D-Ein-gangsanschluss eines zweiten BCD-/Dezimalwandlers, der als ein Dekoder 126 dient, und einem Auslöseeingangsanschluss (EN) eines 8-Bit-Multiplexers 128. generates a READ pulse as shown on line 124. the READ pulse or read pulse is applied to two logic elements in the interface, first a D input connector of a second BCD / decimal converter that serves as a decoder 126 and a trigger input connector (EN) of an 8-bit multiplexer 128.

Die Dekoder 126 und der Multiplexer 128 empfangen auf der Leitung 110 die Befehlsregisterbits IR5 bis IR7. Wenn diese Bits durch einen Dekoder 126 als O-Befehl für eine Leseeinrichtung dekodiert werden, erzeugt der Dekoder ein RDVO-Signal an seinem O-Ausgangsanschluss auf einer Leitung 130, wie in Fig. 4 gezeigt ist. Das RDVO-Signal wird der Zündlogik 72 zugeführt, deren Aufgabe anschliessend erläutert wird. Wenn ferner ein READ-Befehl durch den Prozessor abgegeben wird, werden die Befehlsregisterbits IR5 bis IR7, die einem SEL-Ein-gang des Multiplexers 128 zugeführt werden, dekodiert, um Daten aus einer der Eingabeeinrichtungen im rechten Teil der Fig. 4 über eine gemeinsame zeitverzahnte (time shared) Sammelleitung 132 zum Datenprozessor zu leiten, wobei die als IDO bis ID7 bezeichnete Eingangsinformation dem Eingabekanal 54 des Prozessors 10 zugeführt wird (vergleiche Fig. 2). Decoder 126 and multiplexer 128 receive instruction register bits IR5 through IR7 on line 110. When these bits are decoded by a decoder 126 as an O command for a reader, the decoder generates an RDVO signal at its O output port on line 130, as shown in FIG. 4. The RDVO signal is fed to the ignition logic 72, the task of which is subsequently explained. Further, when a READ instruction is issued by the processor, instruction register bits IR5 through IR7, which are provided to a SEL input of multiplexer 128, are decoded to share data from one of the input devices in the right part of FIG. 4 to lead time-shared collector line 132 to the data processor, the input information designated as IDO to ID7 being fed to the input channel 54 of the processor 10 (cf. FIG. 2).

Wenn der Prozessor einen Schreibbefehl abgibt, wird der Befehl im Dekoder 118 in der zuvor für den READ-Impuls beschriebenen Art dekodiert, und es wird auf diese Weise ein Schreibimpuls am Ausgangsanschluss 7 auf eine Leitung 134 gegeben. Der Schreibimpuls auf der Leitung 134 wird dem Dekoder 136 und dem Logiktreiber 138 zugeführt. Der Dekoder 136 empfängt ferner die Befehlsregisterbits IR5 bis IR7 auf den Leitungen 110 und dekodiert diese Bits, um gemäss der binären Bitkonfiguration ein Ausgangssignal aus zwei Ausgangssignalen (WDVI oder WDV3) zu erzeugen. Die letztgenannten beiden Signale, welche die Bezeichnungen WDV1, WDV3 für Schreibeinrichtungen tragen, werden der Zündlogik und der Thyristorwähl- und Antriebsrichtungslogik aus Gründen zugeführt, die noch erläutert werden. Der einem C- oder Takteingangsanschluss des Treibers 138 zugeführte Schreibimpuls gestattet, dass Daten auf einer Vielzahl von Leitungen 140 vom Prozessorausgabekanal 56 zur Zündlogik und der Thyristorwähl- und Antriebsrichtungslogik als Signale WDV0 bis WDB7 zugeführt werden. When the processor issues a write command, the command is decoded in decoder 118 in the manner previously described for the READ pulse, and a write pulse is thus applied to output port 7 on line 134. The write pulse on line 134 is supplied to decoder 136 and logic driver 138. Decoder 136 also receives command register bits IR5 through IR7 on lines 110 and decodes these bits to generate an output signal from two output signals (WDVI or WDV3) according to the binary bit configuration. The latter two signals, designated WDV1, WDV3 for writing devices, are applied to the firing logic and the thyristor select and drive direction logic for reasons that will be explained. The write pulse applied to a C or clock input terminal of driver 138 allows data on a plurality of lines 140 to be supplied from processor output channel 56 to firing logic and thyristor select and drive direction logic as signals WDV0 through WDB7.

Es wird nun auf die Eingangseinrichtungsblöcke 18,60,80 88 im rechten Teil der Fig. 4 Bezug genommen. Es ist ersichtlich, dass jede dieser Einrichtungen mit einer eigenen Eingabeeinrichtungszahl versehen ist, wie zum Beispiel die Eingabeeinrichtung 1 für den Systemtaktgenerator 60. Diese Einrichtungszahl entspricht der Adresse der betreffenden Einrichtung, die der Systemschnittstelle vom Prozessor geliefert wird, wenn es erwünscht ist, Information durch den Multiplexer 128 aus irgendeiner der Einrichtungen in den Prozessor zu lesen. Wenn zum Beispiel der Datenprozessor einen Lesebefehl liefert, um einen Leseimpuls auf der Leitung 124 zu erzeugen, wobei eine Adresse auf der Leitung 110 die Adresse für die Einrichtung 1 spezifiziert, so werden die Systemtakt-Eingangsdatenbits IDI B0 bis IDI B7 durch den Multiplexer 128 auf die Eingabeda-tensammelleiter 132 kanalisiert oder geleitet und in den Daten-prozessorspeicher übertragen. Alle Übertragungen der Eingabedaten von den Eingabeeinrichtungen zum Prozessor werden in der Weise behandelt, wie gerade für den Systemtakt 60 beschrieben, mit der Ausnahme, dass die dem 8-Bit-Multiplexor 128 gelieferte spezielle Adresse die Information von der adressierten Einrichtung in den Prozessor leitet. Reference is now made to the input device blocks 18, 60, 80, 88 in the right part of FIG. 4. It can be seen that each of these devices is provided with its own input device number, such as input device 1 for system clock generator 60. This device number corresponds to the address of the device in question, which the processor provides the system interface with, if desired, information through read multiplexer 128 from any of the devices into the processor. For example, if the data processor provides a read command to generate a read pulse on line 124, with an address on line 110 specifying the address for device 1, system clock input data bits IDI B0 through IDI B7 are cleared by multiplexer 128 the input data bus 132 is channeled or routed and transferred to the data processor memory. All transfers of input data from the input devices to the processor are handled in the manner just described for system clock 60, except that the special address provided to the 8-bit multiplexor 128 routes the information from the addressed device to the processor.

Es wird nun auf die Fig. 5 und 6 Bezug genommen, wobei Fig. 5 ein Blockdiagramm der Einrichtung 1, des Systemtaktgenerators 60 ist, und Fig. 6 ein Zeitsteuerdiagramm darstellt, welches zum Verständnis des Betriebs des Systemtakts nützlich ist. Die Dreiphasennetzspannung wird drei herkömmlichen Rechteckverstärkern 142 zugeführt, die entsprechende Rechteckausgangssignale mit der Bezeichnung 0 1,02 und 0 3 auf Referring now to FIGS. 5 and 6, FIG. 5 is a block diagram of device 1, system clock generator 60, and FIG. 6 is a timing diagram useful for understanding the operation of the system clock. The three-phase mains voltage is fed to three conventional square-wave amplifiers 142, the corresponding square-wave output signals with the designations 0 1.02 and 0 3

632615 632615

den Leitungen 144,145 bzw. 146 erzeugen. Die drei Signale- 01 bis 0 3 werden den entsprechenden Eingängen eines D-Anschlusses eines herkömmlichen D-Typ-Flipflops von drei ähnlichen Phasennulldurchgangslogik- oder Kantendetektoren 148,150 und 152 zugeführt. Da die Kantendetektoren 148 bis 152 ähnlich aufgebaut sind, wird nur der Kantendetektor 148 in den gestrichelten Linien in Fig. 5 in Einzelheiten gezeigt. generate lines 144, 145 and 146, respectively. The three signals - 01 through 0 3 are applied to the corresponding inputs of a D-connector of a conventional D-type flip-flop from three similar phase zero crossing logic or edge detectors 148, 150 and 152. Since the edge detectors 148 to 152 are constructed similarly, only the edge detector 148 is shown in detail in the dashed lines in FIG. 5.

Die Kantendetektoren arbeiten alle in folgender Weise, wie anhand des Kantendetektors 148 beschrieben ist. Wenn das 0 1-Signal auf der Leitung 144 auf einen positiven Wert geht, wird der D-Eingangsanschluss eines FA0 1-Flipflops erregt, um einen Setzzustand bei Anlegen des Taktgrundsignals vom Prozessor zu einem CLK-Eingangsanschluss dieses Flipflops zu verwirklichen. Wenn das Taktgrundsignal auf einen positiven Wert geht, wird das FA0 1-Flipflop gesetzt und bewirkt, dass der Q-Ausgangsanschluss dieses Flipflops in einen binären The edge detectors all operate in the following manner as described with the edge detector 148. When the 0 1 signal on line 144 goes positive, the D input terminal of an FA0 1 flip-flop is energized to achieve a set state when the clock signal is applied from the processor to a CLK input terminal of that flip-flop. When the basic clock signal goes to a positive value, the FA0 1 flip-flop is set and causes the Q output terminal of this flip-flop to be binary

1-Zustand übergeht, wodurch ein IDI B0-Signal auf der Leitung 154 erzeugt wird. Das IDIBO-Signal wird als Eingangssignal an ein negatives exklusives ODER-Tor 156 und an den D-Anschluss eines zweiten Flipflops gelegt, welches als FB0 1 bezeichnet ist. Beim Auftreten des nächsten Taktgrundsignals erreicht das FB0 1-Flipflop einen gesetzten Zustand, wobei der Q-Ausgangsanschluss auf eine binäre 1 geht und dadurch bewirkt, dass das exklusive ODER-Tor 156 einen Ausgangsimpuls 0 1ZR0X auf der Leitung 158 erzeugt, vergleiche Fig. 5. Die FA0 1- und FB0 1-Flipflops bilden im wesentlichen ein 1 state transitions, producing an IDI B0 signal on line 154. The IDIBO signal is applied as an input signal to a negative exclusive OR gate 156 and to the D terminal of a second flip-flop, which is designated as FB0 1. When the next basic clock signal occurs, the FB0 1 flip-flop reaches a set state, the Q output connection going to a binary 1 and thereby causing the exclusive OR gate 156 to generate an output pulse 0 1ZR0X on line 158, see FIG. 5 The FA0 1 and FB0 1 flip-flops essentially form one

2-Bit-Schieberegister, dessen Ausgänge dem Tor 156 zugeführt werden. Der FA0 1-Eingang synchronisiert das Rechtecksignal vom 0 1-Eingang mit dem Systemtakt. Es lässt sich daher erkennen, dass der Ausgang 0 1ZR0X des exklusiven ODER-Tors 156 einen Impuls mit der Breite des Taktbasisimpulses jedesmal dann erzeugt, wenn die Sinuskurve am Eingang durch einen Nulldurchgang mit ungefähr einer 2,7 Millisekunden dauernden Periode hindurchläuft. Das 0 lZROX-Signal wird dem Eingang eines ODER-Tors 160 in Verbindung mit Signalen 0 2ZR0X und 0 3ZR0X von den entsprechenden Kantendetektoren 150 bzw. 152 auf den Leitungen 162 bzw. 164 zugeführt. Die Signale 0 1ZR0X bis 0 3ZR0X entsprechen den Phasen A, B und C der Eingangsnetzspannung. 2-bit shift register, the outputs of which are fed to gate 156. The FA0 1 input synchronizes the square wave signal from the 0 1 input with the system clock. It can therefore be seen that the output 0 1ZR0X of the exclusive OR gate 156 generates a pulse with the width of the clock base pulse every time the sine curve at the input passes through a zero crossing with a period of approximately 2.7 milliseconds. The 0 lZROX signal is fed to the input of an OR gate 160 in connection with signals 0 2ZR0X and 0 3ZR0X from the corresponding edge detectors 150 and 152 on lines 162 and 164, respectively. The signals 0 1ZR0X to 0 3ZR0X correspond to phases A, B and C of the input mains voltage.

Das Ausgangssignal des ODER-Tors 160 wird einem K-Ein-gangsanschluss eines ZROX-JK-Flipflop 166 zugeführt. Das Flipflop 166 empfängt am CLK-Eingangsanschluss das Taktgrundsignal, um dieses Flipflop zu triggern, damit es gemäss dem Zustand des vom ODER-Tor 160 an den K-Anschluss angelegten Eingangssignals gesetzt oder zurückgesetzt wird. Das ZROX-Flipflop erzeugt ein ZROX-Signal oder Nulldurchgangssignal an seinem Q-Ausgangsanschluss, welches der Tachoimpulszähler- und Logikschaltung und zwei Zählern 168 und 170 zugeführt wird. Unter Bezugnahme auf das Zeitsteuerdiagramm der Fig. 6 lässt sich erkennen, dass das ZROX-Flipflop 166 ein ZROX-Signal jedesmal dann erzeugt, wenn eine Phasenspannung die Eingangsspannung kreuzt, oder es werden 6 Impulse bei einem Netzspannungszyklus von 360° erzeugt, wobei das ZROX-Signal einen Impuls mit der Breite einer Taktgrundbreite besitzt. The output signal of the OR gate 160 is fed to a K input terminal of a ZROX-JK flip-flop 166. The flip-flop 166 receives the basic clock signal at the CLK input connection in order to trigger this flip-flop so that it is set or reset in accordance with the state of the input signal applied by the OR gate 160 to the K connection. The ZROX flip-flop generates a ZROX signal or zero crossing signal at its Q output terminal, which is fed to the tacho pulse counter and logic circuit and two counters 168 and 170. Referring to the timing diagram of FIG. 6, it can be seen that the ZROX flip-flop 166 generates a ZROX signal each time a phase voltage crosses the input voltage, or 6 pulses are generated on a 360 ° line cycle, the ZROX Signal has a pulse with the width of a basic clock width.

Aus den Fig. 5 und 6 lässt sich erkennen, dass die drei Signale ID1B0 bis ID1B2 (die kombiniert die Leitungen 172 bilden) vom Datenprozessor benutzt werden können, um ein beliebiges 60°-Intervall innerhalb eines 360°-Phasenzyklus' der Netzspannung zu definieren. Dies ist in Fig. 6 unter Bezugnahme auf das 0 3-Rechteck (IDIB2) dargestellt, wobei die verschiedenen Grade der Sinuseingangskurve und die verschiedenen Nulldurchgänge bei den 60°-Intervallen dargestellt sind. Wie sich durch die Beziehungen zwischen den IDI B0- bis ID1B3-Signalen ergibt, ist es relativ leicht, diese Signale so zu dekodieren, dass festgelegt wird, welches Intervall aus den 6 Intervallen eines 360°-Zyklus' während eines beliebigen gegebenen Zeitpunktes vorhanden ist. Wird zum Beispiel angenom- 5 and 6 that the three signals ID1B0 to ID1B2 (which together form the lines 172) can be used by the data processor to define any 60 ° interval within a 360 ° phase cycle of the mains voltage . This is shown in Figure 6 with reference to the 0 3 rectangle (IDIB2), showing the different degrees of the sine input curve and the different zero crossings at the 60 ° intervals. As can be seen from the relationships between the IDI B0 to ID1B3 signals, it is relatively easy to decode these signals to determine which interval out of the 6 intervals of a 360 ° cycle is present at any given time . For example, if

7 7

5 5

10 10th

15 15

20 20th

25 25th

30 30th

35 35

40 40

45 45

50 50

55 55

60 60

65 65

632615 632615

8 8th

men, dass das erste Intervall von 0 bis 60° läuft, so kann dieses Intervall, wenn IDI B0 eine binäre 1 ist, IDI B1 eine binäre 0 ist und ID1B2 eine binäre 1 ist, durch Dekodierung dieser 3 binären Bits als das erste Intervall des 360°-Zyklus bezeichnet werden. Eine ähnliche Dekodierung kann für die 60°- bis 120°-Inter-valle, die 120°- bis 180°-Intervalle usw. durchgeführt werden. If the first interval runs from 0 to 60 °, this interval, if IDI B0 is a binary 1, IDI B1 is a binary 0 and ID1B2 is a binary 1, by decoding these 3 binary bits as the first interval of the 360 ° cycle. A similar decoding can be carried out for the 60 ° to 120 ° intervals, the 120 ° to 180 ° intervals etc.

Es wird nun wieder auf Fig. 5 Bezug genommen, in der die zuvor erwähnten Zähler 168 und 170 in Verbindung mit einem durch den Wert 45 teilenden Zähler 174 gezeigt ist. Der 4,167-MHz-Grundtakt wird dem Eingang des durch den Wert 45 teilenden Zählers 174 zugeführt, der die Taktgrundimpulse herunterteilt, um ein Signal auf einer Leitung 176 mit einer Impulsdauer von 11 Mikrosekunden zu erzeugen. Wie in Fig. 5 gezeigt ist, wird der Puls auf der Leitung 176 mit einer Dauer von 11 Mikrosekunden einem UND-Tor 178 und ferner auf einer Leitung 180 der Zündlogik zugeführt. Wie ferner auf der Leitung 180 angezeigt ist, ist der Impuls mit einer Dauer von 11 Mikrosekunden ungefähr gleich einem Viertel eines elektrischen Grads der Netzspannung, die den Rechteckverstärkern 142 zugeführt wird. Die Impulse mit 11 Mikrosekunden Dauer werden über ein UND-Tor 178 einem durch den Wert 8 teilenden Zähler 168 zugeführt, um Zeitbasisimpulse mit 88 Mikrosekunden Dauer zu erzeugen, die jeweils ungefähr 2 elektrischen Graden der Netzspannung entsprechen. Die Impulse mit 88 Mikrosekunden Dauer werden über eine Leitung 182 der Zündlogik, einem NOR-Tor 184 und dem Zähler 170 zugeführt. Der Zähler ist ein durch den Wert 32 teilender Zähler, der die Impulse mit 88 Mikrosekunden Dauer durch den Wert 32 teilt. Solange sich der Zähler 170 nicht auf einem Zählerwert von 31 befindet, liefert das NOR-Tor 184 ein Taktstoppsignal CT31 mit einer binären 1 auf die Leitung 186 als ein zweites Eingangssignal für das UND-Tor 178, um zu gestatten, dass die Impulse mit 11 Mikrosekunden Dauer durch dieses Tor zum Zähler 168 gelangen. Wenn der Zähler 170 einen Zählerwert von 31 erreicht, wird in Verbindung mit einem Impuls mit binärer 1 (88 Mikrosekunden Dauer) das NOR-Tor 104 ausgelöst, um ein Sperrsignal mit einer binären 0 an das Tor 178 zu liefern, wodurch die Zähler 168 und 170 daran gehindert werden, über die Zahl 31 hinaus zu zählen. Der aus den Zählern 168 und 170 bestehende Zähler verbleibt auf einem Zählwert 31, bis das nächste Nulldurchgangs- oder ZROX-Signal vom Flipflop 166 erzeugt wird, um die Zähler auf 0 zurückzusetzen, wie in den zeitlichen Beziehungen der Fig. 6 gezeigt ist. Es lässt sich daher erkennen, dass der Zähler zwischen den einzelnen Nulldurchgängen der Eingangsspannung von 0 bis 31 zählt. Wie in Fig. 5 dargestellt, lässt sich feststellen, dass die Ausgangssignale IDlB7bisIDlB3 vom Zähler 170 auf den Leitungen 188 die Zeit innerhalb des 60°-Intervalls festlegen, wie es durch das Signal IDI B0 bis ID1B2 definiert ist. Die IDI B3- bis ID1B7-Signale werden mit den ID1B0- bis ID1B2-Signalen kombiniert, um Leitungen 190 zu bilden, die dem 8-Bit-Multiplexer 128 der Prozessor-/Systemschnittstelle zugeführt werden, vergleiche Fig. 4. Referring back to FIG. 5, the aforementioned counters 168 and 170 are shown in conjunction with a counter 174 dividing by value 45. The 4.167 MHz base clock is applied to the input of counter 174, which divides by 45, which divides the clock base pulses down to produce a signal on line 176 with a pulse duration of 11 microseconds. As shown in FIG. 5, the pulse on line 176 is applied to an AND gate 178 for a duration of 11 microseconds and further on line 180 to the ignition logic. As further indicated on line 180, the 11 microsecond pulse is approximately equal to a quarter of an electrical degree of the line voltage applied to square wave amplifiers 142. The 11 microsecond duration pulses are fed through an AND gate 178 to a counter 168 dividing by 8 to generate 88 microsecond duration time base pulses each corresponding to approximately 2 electrical degrees of the line voltage. The 88 microsecond duration pulses are supplied to the ignition logic, a NOR gate 184 and counter 170 via line 182. The counter is a counter dividing by the value 32, which divides the 88 microsecond duration pulses by the value 32. As long as counter 170 is not at a counter value of 31, NOR gate 184 provides a clock stop signal CT31 with a binary 1 on line 186 as a second input to AND gate 178 to allow the pulses to be 11 Microsecond duration through this gate to counter 168. When counter 170 reaches a counter value of 31, in conjunction with a binary 1 pulse (88 microseconds duration), NOR gate 104 is triggered to provide a binary 0 inhibit signal to gate 178, causing counters 168 and 170 are prevented from counting beyond the number 31. The counter consisting of counters 168 and 170 remains at a count 31 until the next zero crossing or ZROX signal is generated by flip-flop 166 to reset the counters to 0, as shown in the timing relationships of FIG. 6. It can therefore be seen that the counter counts from 0 to 31 between the individual zero crossings of the input voltage. As can be seen in FIG. 5, it can be seen that the output signals IDlB7bisIDlB3 from the counter 170 on the lines 188 determine the time within the 60 ° interval as defined by the signal IDI B0 to ID1B2. The IDI B3 through ID1B7 signals are combined with the ID1B0 through ID1B2 signals to form lines 190 that are fed to the 8-bit multiplexer 128 of the processor / system interface, see FIG. 4.

Es lässt sich erkennen, dass der Prozessor 10 durch das Lesen des Systemtakts den 60°-Intervall eines 360°-Zyklus' der Eingangskurve dadurch feststellen kann, dass er die Bits ID1B0 bis IDI B2 betrachtet, während er gleichzeitig die Zahl von 2°-Inkrementen (Impulse mit 88 Mikrosekunden Dauer) der Netzphasenspannung bestimmt, die seit dem letzten Nulldurchgang (ZR0X) passiert sind. It can be seen that the processor 10, by reading the system clock, can determine the 60 ° interval of a 360 ° cycle of the input curve by looking at bits ID1B0 to IDI B2 while at the same time looking at the number of 2 °. Increments (pulses with 88 microseconds duration) of the line phase voltage determined, which have passed since the last zero crossing (ZR0X).

Es wird nun auf die Fig. 7 und 8 Bezug genommen, wobei Fig. 7 ein in Einzelheiten gehendes Blockschaltbild der Tachoimpulszähler- und Logikschaltung, und Fig. 8 ein Zeitsteuerdiagramm zeigt, welches zum Verständnis des Betriebs dieser Logikschaltung nützlich ist. Wie schon in Verbindung mit Fig. 3 erwähnt, erzeugt der in der vorliegenden Ausführungsform verwendete Tachometer zwei rechteckförmige Ausgangssignale wobei jedes Ausgangssignal 1200 Zählwerte pro Umdrehung der Tachometerwelle erzeugt. Diese beiden Signale werden auf den Leitungen 92, vergleiche Fig. 7, als zwei Eingangssignale geführt, das Signal TACH-Eingangssignal 1 wird dem Operationsverstärker 192, und ein TACH-Eingangssignal 2 einem D-Eingangsanschluss eines TACH-Rev-Flipflop 194 zugeführt. Die in Fig. 8 dargestellten zeitlichen Beziehungen zeigen eine 90°-Phasenverschiebung zwischen dem TACH-Eingangssignal 1 und dem TACH-Eingangssignal 2. Das TACH-Eingangssignal 1 wird über den Verstärker 192 einem D-Eingangsanschluss eines flankengetriggerten TACH-Flipflop F/Fl vom D-Typ zugeführt, welches an seinem CLK-Anschluss das Taktgrundsignal vom Prozessor empfängt. Wie in Fig. 8 gezeigt, pendelt das TACH-Flipflop F/Fl jedesmal dann vom Setz- in den Rück-setzzustand gemäss dem Zustand des TACH-Eingangssignals 1, wenn das Taktgrundsignal vom Prozessor dieses Flipflop trig-gert. Der Q-Ausgangsanschluss des TACH-FIipflops F/Fl ist mit dem D-Eingangsanschluss eines zweiten Flipflops, als TACH F/F2 bezeichnet, verbunden, welches ebenso den Grundtakt an seinem CLK-Eingangsanschluss empfängt. Diese beiden Flipflops stellen im wesentlichen ein 2-Bit-Schieberegi-ster dar, das in einer Weise funktioniert, die derjenigen der oben geschilderten Kantendetektor-Flipflops der Fig. 5 im Systemtaktgenerator ähnlich ist. Der Ausgang der TACH-Flipflops F/Fl und F/F2 wird über Leitungen 196 und 198 einem negativen exklusiven ODER-Tor 200 zugeführt. Das ODER-Tor differenziert den TACH-Eingangsimpuls 1 wirksam, der über Leitungen 196 und 198 angelegt wird, um bei jedem Übergang des TACH-Eingangssignals 1 einen Impuls mit einer Taktbreite des Grundtakts zu erzeugen. Da das TACH-Eingangssignal 1 200 Impulse pro Umdrehung der Tachomterwelle erzeugt, erzeugt der Ausgang des exklusiven ODER-Tors 200 2400 Impulse pro Umdrehung der Tachometerwelle und erzeugt ein TACH-Eingangssignal X2, das auf der Leitung 202 und in Fig. 8 dargestellt ist. Referring now to FIGS. 7 and 8, FIG. 7 is a detailed block diagram of the tachometer counter and logic circuit and FIG. 8 is a timing diagram useful for understanding the operation of this logic circuit. As already mentioned in connection with FIG. 3, the tachometer used in the present embodiment generates two rectangular output signals, each output signal generating 1200 counts per revolution of the tachometer shaft. These two signals are carried on lines 92, see FIG. 7, as two input signals, the signal TACH input signal 1 is fed to the operational amplifier 192, and a TACH input signal 2 is fed to a D input terminal of a TACH Rev flip-flop 194. The temporal relationships shown in FIG. 8 show a 90 ° phase shift between the TACH input signal 1 and the TACH input signal 2. The TACH input signal 1 is connected via amplifier 192 to a D input terminal of an edge-triggered TACH flip-flop F / Fl from D-type supplied, which receives the basic clock signal from the processor at its CLK connection. As shown in FIG. 8, the TACH flip-flop F / Fl swings from the set to the reset state in accordance with the state of the TACH input signal 1 each time the basic clock signal is triggered by the processor of this flip-flop. The Q-output connection of the TACH-FI flip-flop F / Fl is connected to the D-input connection of a second flip-flop, referred to as TACH F / F2, which also receives the basic clock at its CLK input connection. These two flip-flops essentially represent a 2-bit shift register that functions in a manner similar to that of the edge detector flip-flops described above in FIG. 5 in the system clock generator. The output of the TACH flip-flops F / Fl and F / F2 is fed via lines 196 and 198 to a negative exclusive OR gate 200. The OR gate effectively differentiates the TACH input pulse 1, which is applied via lines 196 and 198, to generate a pulse with a clock width of the basic clock each time the TACH input signal 1 changes. Since the TACH input signal 1 generates 200 pulses per revolution of the tachometer shaft, the output of the exclusive OR gate 200 generates 2400 pulses per revolution of the tachometer shaft and generates a TACH input signal X2, which is shown on line 202 and in FIG. 8.

Das TACH-Eingangssignal X2 auf der Leitung 202 wird einem CLK-Eingangsanschluss eines Tachoimpulszählers 204 zugeführt, um den Zähler zu veranlassen, dass er die vom Tachometer ausgelesenen Tachoimpulse akkumuliert. Das TACH-Eingangssignal X2 wird ferner einem vorsetzbaren LSB-Eingangsanschluss des Zählers 204 zugeführt, dessen Zweck unten erläutert wird. Es sei bemerkt, dass das ZROX-Signal vom Systemtaktgenerator auch einem vorsetzbaren Ein-gangsanschluss des Zählers 204 und auch einem CLK-Ein-gangsanschluss einer Tachoimpuls-Verriegelungsschaltung 206 zugeführt wird. Es sei aus der obigen Beschreibung des Systemtaktgenerators daran erinnert, dass immer dann ein ZROX-Signal erzeugt wird, wenn die Eingangsphasenspannungen einen Nulldurchgang aufweisen und durch 0 laufen. Auf diese Weise lässt sich erkennen, dass der Tachozähler 204 auf einen binären Nullzustand zurückgesetzt wird, wenn ein Nulldurchgangsimpuls auftritt. Auf diese Weise ist es evident, dass der Tachoimpulszähler 204 Zählwerte akkumuliert, die für die Motorumdrehungen pro 60°-IntervaIl eines 60-Hz-Eingangs-signals kennzeichnend sind. TACH input signal X2 on line 202 is fed to a CLK input terminal of a tachometer pulse counter 204 to cause the counter to accumulate the tachometer pulses read from the tachometer. The TACH input signal X2 is also fed to a presettable LSB input connection of the counter 204, the purpose of which is explained below. It should be noted that the ZROX signal from the system clock generator is also supplied to a presettable input connection of the counter 204 and also to a CLK input connection of a tacho pulse latch circuit 206. It should be remembered from the above description of the system clock generator that a ZROX signal is always generated when the input phase voltages have a zero crossing and pass through 0. In this way, it can be seen that the tachometer 204 is reset to a binary zero state when a zero crossing pulse occurs. In this way, it is evident that the tacho pulse counter 204 accumulates count values which are characteristic of the motor revolutions per 60 ° interval of a 60 Hz input signal.

Wie in Fig. 8 dargestellt ist, wird der Tachoimpulszähler 204 beim Auftreten eines ZROX-Signals immer auf einen Nullzustand zurückgesetzt. Es ist ferner wichtig zu beachten, wie in den Fig. 7 und 8 dargestellt, dass der Inhalt des Tachoimpulszählers 204 beim Auftreten eines ZROX-Signals an die Tachoimpuls-Verriegelungsschaltung 206 übertragen wird. Obwohl in den Fig. 6 und 7 nicht dargestellt, sei darauf hingewiesen, dass der Inhalt des Tachoimpulszählers bei der Forderflanke des ZROX-Signals in die Tachoimpulsverriegelung übertragen wird, und dass der Tachoimpulszähler bei der Rückflanke dieses Signals zurückgesetzt wird. As shown in FIG. 8, the tachometer pulse counter 204 is always reset to a zero state when a ZROX signal occurs. It is also important to note, as shown in FIGS. 7 and 8, that the content of the tacho pulse counter 204 is transmitted to the tacho pulse latch circuit 206 when a ZROX signal occurs. Although not shown in FIGS. 6 and 7, it should be noted that the content of the tacho pulse counter on the leading edge of the ZROX signal is transferred to the tacho pulse lock and that the tacho pulse counter is reset on the trailing edge of this signal.

Es wird nun erneut auf den vorsetzbaren LSB-Eingangsan-schluss des Zählers 204 Bezug genommen. Der Zweck, dass das TACH-Eingangssignal X2 dem letzteren Anschluss zugeführt Reference is now made again to the presettable LSB input connection of the counter 204. The purpose of the TACH input signal X2 being fed to the latter port

5 5

10 10th

15 15

20 20th

25 25th

30 30th

35 35

40 40

45 45

50 50

55 55

60 60

65 65

9 9

632615 632615

wird, besteht darin, das am wenigsten signifikante Bit des Tachoimpulszählers auf eine binäre 1 vorzusetzen oder vorzugeben für den Fall, dass ein Tachoimpuls zur Zeit eines ZROX-Signals oder eines Nulldurchgangs auftritt. Sofern ein gleichzeitiges Auftreten eines ZROX-Signals mit einem TACH-Eingangssignal X2 erfolgen sollte, stellt die Vorgabe des am wenigsten signifikanten Bits sicher, dass jeder Zählwert, der während eines Nulldurchgangs auftritt, nicht unbeachtet bleibt, sondern im Tachoimpulszähler gespeichert wird. Sofern einmal der Inhalt des Tachoimpulszählers in die Tachoimpuls-Verriegelung 206 geladen ist, ist diese Information in Form der Signale ID3B0 bis ID3B7 auf den Leitungen 22 für den Prozessor verfügbar, um die Motorumdrehungen pro 60° auszulesen, wenn der Prozessor die Einrichtung 3 adressiert. is to set the least significant bit of the tacho pulse counter to a binary 1 or to set it in case a tacho pulse occurs at the time of a ZROX signal or a zero crossing. If a ZROX signal occurs simultaneously with a TACH input signal X2, the specification of the least significant bit ensures that every count value that occurs during a zero crossing is not ignored, but is stored in the tachometer pulse counter. Once the content of the tachometer pulse counter is loaded into the tachometer pulse latch 206, this information is available in the form of the signals ID3B0 to ID3B7 on the lines 22 for the processor to read out the motor revolutions per 60 ° when the processor addresses the device 3.

In den Fig. 7 und 8 ist ferner Logik zur Feststellung der Drehrichtung des Motors dargestellt. Die Drehrichtung des Motors wird durch ein Flipflop 194, auch TACH-Rev-Flipflop genannt, festgestellt, welches das TACH-Eingangssignal 2 an seinem D-Eingangsanschluss empfängt. Der Betrieb des Flipflops 134 ist in Fig. 8 dargestellt, die den Betrieb dieses Flipflops zeigt, wenn der Motor in Vorwärts- oder in Rückwärtsrichtung läuft. Es sei bemerkt, dass das TACH-Eingangssignal 1 dem TACH-Eingangssignal 2 ständig um 90° vorauseilt, wenn der Motor in Vorwärtsrichtung läuft. Wenn der Motor in Vorwärtsrichtung läuft, vergleiche Fig. 8, erreicht das TACH-Rev-Flip-flop 194 nie den gesetzten Zustand aufgrund der Tatsache, 7 and 8, logic for determining the direction of rotation of the motor is also shown. The direction of rotation of the motor is determined by a flip-flop 194, also called a TACH-Rev flip-flop, which receives the TACH input signal 2 at its D input terminal. The operation of flip-flop 134 is shown in FIG. 8, which shows the operation of this flip-flop when the motor is running in the forward or reverse direction. It should be noted that the TACH input signal 1 is always 90 ° ahead of the TACH input signal 2 when the motor is running in the forward direction. When the motor is running in the forward direction, see FIG. 8, the TACH Rev flip-flop 194 never reaches the set state due to the fact

dass das TACH-Eingangssignal 1, welches das Flipflop 194 über die Leitung 208 triggert, ständig in den gesetzten Zustand geht bevor das TACH-Eingangssignal 2 jeweils einen binären 1-Zustand erreicht. Das flankengetriggerte Flipflop 194 wird daher nie gesetzt. Bei der Rückwärtsrichtung lässt sich jedoch feststellen, vergleiche die rechte Seite der Fig. 8, dass wenn das TACH-Eingangssignal 2 dem TACH-Eingangssignal 1 um 90° vorauseilt, das TACH-Rev-Flipflop 194 einen gesetzten Zustand erreicht, wenn das TACH-Flipflop 1 einen gesetzten Zustand erreicht. Wenn das Rev-Flipflop den gesetzten Zustand erreicht, erzeugt sein Q-Ausgangsanschluss ein ID0B4-Signal mit einer binären 1 auf einer der Leitungen 22 zur Pro-zessor-/Systemschnittstelle. Wenn das TACH-Eingangssignal 2 dem TACH-Eingangssignal 1 vorauseilt, gibt das ID0B4-Signal mit einem binären Wert 1 dem Datenprozessor Kenntnis, dass der Motor in Rückwärtsrichtung läuft. that the TACH input signal 1, which triggers the flip-flop 194 via the line 208, constantly goes into the set state before the TACH input signal 2 in each case reaches a binary 1 state. The edge triggered flip-flop 194 is therefore never set. In the reverse direction, however, compare the right-hand side of FIG. 8 that if the TACH input signal 2 leads the TACH input signal 1 by 90 °, the TACH Rev flip-flop 194 reaches a set state when the TACH Flip-flop 1 reaches a set state. When the Rev flip-flop reaches the set state, its Q output connector generates an ID0B4 signal with a binary 1 on one of the lines 22 to the processor / system interface. If the TACH input signal 2 leads the TACH input signal 1, the ID0B4 signal with a binary value 1 informs the data processor that the motor is running in the reverse direction.

Es wird nun auf die Zündlogik der Fig. 9 Bezug genommen, die diese Logik in Form eines Blockschaltbildes zeigt. In Verbindung mit Fig. 9 soll ebenfalls auf Fig. 10 Bezug genommen werden, die ein Zeitablaufdiagramm zeigt, das die zeitliche Beziehung zwischen den verschiedenen Signalen innerhalb der Zündlogik 72 angibt. Wie schon erläutert, besteht der primäre Zweck der Zündlogik darin, Zündimpulse auf der Leitung 82 der Thyristorwähl- und Antriebsrichtungslogik 84 zuzuführen, wie in Fig. 3 dargestellt ist. Zusätzlich erzeugt die Zündlogik einen Umwandlungsimpuls an den Analog-/Digitalwandler auf der Leitung 78. Durch den Betrieb der Zündlogik wird dem Prozessor von einem Unterbrechungssignal auf der Leitung 210 der Fig. 9 mitgeteilt, den Berechnungsprozess für den Zündwinkel zur Erzeugung eines Zündimpulses zu beginnen, um einen Thyristor zur richtigen Zeit zu zünden. Reference is now made to the ignition logic of FIG. 9, which shows this logic in the form of a block diagram. In conjunction with FIG. 9, reference is also made to FIG. 10, which shows a timing diagram that indicates the temporal relationship between the various signals within the ignition logic 72. As previously explained, the primary purpose of the firing logic is to provide firing pulses on line 82 to the thyristor select and drive direction logic 84, as shown in FIG. 3. In addition, the firing logic generates a conversion pulse to the analog to digital converter on line 78. Operation of the firing logic informs the processor of an interrupt signal on line 210 of FIG. 9 to begin the firing angle calculation process to generate an firing pulse. to fire a thyristor at the right time.

Bei der Beschreibung des Betriebs der Zündlogik wird ferner jetzt auf Fig. 4 Bezug genommen. Aus der vorausgegangenen Beschreibung sei daran erinnert, dass der Prozessor einen Schreibbefehl und eine Adresse einer Einrichtung erzeugen muss, um einen Befehl an diese Einrichtung zu senden. Für die Zündlogik erzeugt der Dekoder 136 ein Schreibsignal für die Einrichtung 1, WDV1, das in den Fig. 4 und 10 dargestellt ist. Wie aus Fig. 10 ersichtlich, geht das WDVl-Signal von einem binären 1- auf einen binären Nullzustand über, wenn das WDVl-Signal auf der Leitung 212 bewirkt, dass ein Lastzähler-Flipflop 214 das binäre 0-Signal am CLR-Eingangsanschluss empfängt, welches dieses Flipflop zurücksetzt. Gleichzeitig wird das WDVl-Signal durch einen Inverter 216 in ein binäres 1-Signal invertiert, wobei ein Auslösesignal an einen EN-Ein-gangsanschluss einer Schreibdatenverriegelung 218 zugeführt wird, wodurch die Daten (WDB0 bis WDB7) von den Treibern 138 der Fig. 4 auf die Leitungen 220 geliefert werden. 4, reference is now made to the description of the operation of the ignition logic. From the foregoing description, it should be remembered that the processor must generate a write command and address of a device to send a command to that device. For the ignition logic, decoder 136 generates a write signal for device 1, WDV1, which is shown in FIGS. 4 and 10. 10, the WDVl signal transitions from a binary 1 to a binary zero state when the WDVl signal on line 212 causes a load counter flip-flop 214 to receive the binary 0 signal at the CLR input terminal which resets this flip-flop. At the same time, the WDV1 signal is inverted into a binary 1 signal by an inverter 216, with a trigger signal being applied to an EN input terminal of a write data latch 218, whereby the data (WDB0 through WDB7) is supplied by the drivers 138 of FIG. 4 can be supplied on lines 220.

Es wird nun auf die Fig. 9 und 10 Bezug genommen, und es wird darauf hingewiesen, dass das Auftreten des ersten Impulses mit 88 Mikrosekunden Dauer auf der Leitung 182 erscheint, nachdem das WDVl-Signal das Lastzähler-Flipflop 214 taktet, wodurch bewirkt wird, dass der Zähler nun einen gesetzten Zustand einnimmt und an seinem Q-Ausgangsanschluss auf der Leitung 222 ein binäres 1-Signal erzeugt. Das binäre 1-Signal auf der Leitung 222 wird einem Inverter-Eingangslastanschluss eines Abwärtszählers 224 zugeführt. Wie in Fig. 10 dargestellt ist, liefert das Lastzähler-Flipflop, wenn es sich in gesetztem Zustand befindet, und in Verbindung mit einem Impuls von 88 Mikrosekunden Dauer dem Abwärtszähler 22 entweder ein Verzögerungssignal mit 20 Sekunden Verzögerung oder TIMTGO-Signal. Das TIMTGO-Signal ist eine binäre Anordnung von Bits, die vom Datenprozessor in den Abwärtszähler eingegeben sind und den Zündwinkel der Thyristoren kennzeichnen oder diesem proportional sind. Wenn ein TIMTGO-Signal nicht in den Abwärtszähler gegeben ist, dann wird ein Datenwort eingegeben, welches eine Verzögerung von 20° repräsentiert. Eine in grössere Einzelheiten gehende Beschreibung der Aufgabe und des Zwecks der TIMTG0- und der 20°-Verzögerungssignale oder Werte wird weiter unten gegeben. Referring now to FIGS. 9 and 10, it is noted that the appearance of the first 88 microsecond pulse appears on line 182 after the WDV1 signal clocks the load counter flip-flop 214, thereby causing that the counter now assumes a set state and generates a binary 1 signal on its Q output connection on line 222. The binary 1 signal on line 222 is supplied to an inverter input load terminal of a down counter 224. As shown in FIG. 10, the load counter flip-flop, when set and in conjunction with an 88 microsecond pulse, provides the down counter 22 with either a 20 second delay signal or TIMTGO signal. The TIMTGO signal is a binary arrangement of bits which are entered into the down counter by the data processor and which characterize or are proportional to the firing angle of the thyristors. If a TIMTGO signal is not given in the down counter, then a data word is entered which represents a delay of 20 °. A more detailed description of the task and purpose of the TIMTG0 and 20 ° delay signals or values is given below.

Es wird nun erneut auf ein UND-Tor 226 der Fig. 9 Bezug genommen. Das UND-Tor 226 wird durch ein Ausgangssignal mit dem binären Wert 1 vom Q-Ausgangsanschluss eines ersten Detektor-Flipflops 228 ausgelöst. Wenn das Flipflop 228 in dem Rücksetzzustand ist, bewirkt der erste Impuls von 11 Mikrosekunden Dauer auf der Leitung 180, der dem Tor 226 zugeführt wird, dass der Inhalt des Zählers 224 über die Leitung 230 getaktet oder gezählt wird, und dass ein Inverter 232 den Impuls von 11 Mikrosekunden Dauer einem CLK-Anschluss des Abwärtszählers zuführt. Der Zeitablauf für die Taktung des Abwärtszählers 224 ist auf der 11-Mikrosekunden-Zeile und auf der Abwärtszählerzelle der Fig. 10 dargestellt. Der Abwärtszähler fährt mit dem Abwärtszählen bis zu einem speziellen Wert fort, bis ein Dekoder 234 für einen Zählwert 14 über eine Vielzahl von Leitungen 236 vom Zähler erkennt. Bei einem Zählwert 14, und bei einem Impuls von 11 Mikrosekunden Dauer vom Tor 226, erzeugt der Dekoder 234 einen Impuls, um einen monostabilen Umwandlungsmultivibrator 238 zu zünden. Der monostabile Multivibrator 238 erzeugt einen Umwandlungsimpuls von 8 Mikrosekunden Dauer auf der Leitung 78, der einem Analog-/Digitalwandler 80 der Fig. 3 zu dem in Fig. 10 dargestellten Zeitpunkt zugeführt wird. Dieser Impuls startet den Analog-/Digitalwandler und lässt ihn mit der Durchführung einer Analog-/DigitalwandIung des Motorstroms auf den Leitungen 24 zur nachfolgenden Verwendung durch den Prozessor beginnen. Reference is now made again to an AND gate 226 of FIG. 9. The AND gate 226 is triggered by an output signal with the binary value 1 from the Q output terminal of a first detector flip-flop 228. When flip-flop 228 is in the reset state, the first 11 microsecond pulse on line 180 applied to gate 226 causes the contents of counter 224 to be clocked or counted via line 230 and an inverter 232 to do so Feeds a pulse of 11 microseconds in duration to a CLK connection of the down counter. The timing for the down counter 224 timing is shown on the 11 microsecond line and on the down counter cell of FIG. 10. The down counter continues counting down to a specific value until a decoder 234 for a count 14 detects from the counter over a plurality of lines 236. At a count of 14 and a pulse of 11 microseconds from gate 226, decoder 234 generates a pulse to fire a monostable conversion multivibrator 238. The monostable multivibrator 238 generates a conversion pulse of 8 microseconds in duration on the line 78, which is fed to an analog / digital converter 80 of FIG. 3 at the time shown in FIG. 10. This pulse starts the analog-to-digital converter and lets it begin performing an analog-to-digital conversion of the motor current on lines 24 for subsequent use by the processor.

Der Abwärtszähler setzt seine Abwärtszählung bis auf einen speziellen Wert Null fort, wie in Fig. 10 dargestellt ist. Wenn der Abwärtszähler auf den Zählwert Null gelangt, der über Leitungen 242 vom Abwärtszähler durch einen Dekoder 240 für den Zählwert Null festgestellt wird, erzeugt der Dekoder 240 für den Zählwert Null einen Impuls auf einer Leitung 244, der einem D-Anschluss des Detektor-Flipflops 1,228, zugeführt wird. Beim Auftreten des nächsten Taktgrundsignals, welches dem CLK-Anschluss des Flipflops 228 zugeführt wird, The down counter continues to count down to a special value zero, as shown in FIG. 10. When the down counter reaches zero count, which is determined by lines 242 from the down counter by a zero count decoder 240, zero count decoder 240 generates a pulse on line 244, which is a D terminal of the detector flip-flop 1,228. When the next basic clock signal occurs, which is fed to the CLK connection of the flip-flop 228,

geht dieses Flipflop in den gesetzten Zustand und bewirkt, dass ein binäres 0-Signal nun dem UND-Tor 226 zugeführt wird, um die Taktimpulse von 11 Mikrosekunden Dauer daran zu hindern, dass sie zum Abwärtszähler 224 gelangen. Dies wird this flip-flop goes into the set state and causes a binary 0 signal to be applied to the AND gate 226 to prevent the 11 microsecond clock pulses from reaching the down counter 224. this will

5 5

10 10th

15 15

20 20th

25 25th

30 30th

35 35

40 40

45 45

50 50

55 55

60 60

65 65

632615 10 632 615 10

durch die Bemerkung «Stopp Abwärtszähler» in Fig. 10 kenzündnetzwerke handelt, die zur Regelung eines Gleichgezeigt. Wenn das Detektor-Flipflop 228 in einen gesetzten strommotors bekannt sind. Eine derartige herkömmliche Zustand geht, geht der Q-Ausgangsanschluss auf eine binäre 1, Brücke wird von der General Electric Comp, hergestellt und um gleichzeitig einen Eingang eines UND-Tors 246 zu erregen unter der Bezeichnung Siltrol 1 verkauft, die als integriertes sta-und ein Setzsignal mit einem binären Wert 1 einem 5 tisches Wandlungs- und Regelelement für einstellbare Dreh-D-Anschluss eines zweiten Detektor-Flipflops 248 zuzuführen. zahlantriebe unter der Bezeichnung IC3610 bekannt ist. by the remark "stop down counter" in Fig. 10 acts ignition networks, which is shown to regulate a match. If the detector flip-flop 228 in a set current motor is known. Such a conventional state goes, the Q output connector goes to a binary 1, bridge is manufactured by General Electric Comp, and at the same time to energize an input of an AND gate 246 sold under the name Siltrol 1, which is integrated as a sta- and to supply a set signal with a binary value 1 to a table conversion and control element for adjustable rotary D connection of a second detector flip-flop 248. Number drives under the name IC3610 is known.

Es sei bemerkt, vergleiche Fig. 10, dass das UND-Tor 246 in Drei Stromtransformatoren, 260,262 und 264, sind je einer dem Augenblick ausgelöst wird, wenn das Flipflop 228 in den Netzphasenspannung 0 A bis 0 C zugeordnet. Drei Transfor- It should be noted, compare FIG. 10 that the AND gate 246 in three current transformers, 260, 262 and 264, is triggered one at a time when the flip-flop 228 is assigned 0 A to 0 C in the line phase voltage. Three transformers

gesetzten Zustand übergeht, da das Flipflop zu jener Zeit matoren liefern Wechselstromeingangssignale an die Dreipha- set state, since the flip-flop at that time mators supply AC input signals to the three-phase

zurückgesetzt ist. Der Ausgang des UND-Tors 246 liefert nun io sen-Brückensummierverstärker 258 über entsprechende Lei- is reset. The output of the AND gate 246 now supplies io sen bridge summing amplifier 258 via corresponding lines

ein Triggersignal an einen J-Eingangsanschluss eines Unterbre- tungen, wobei das Ausgangssignal des Gleichrichters an den chungs-Flipflops 245, das die Erzeugung eines Unterbrechungs- Wandler 80 der Durchschnitt der drei Eingangsströme ist. Wie signais für den Datenprozessor bewirkt. Das Unterbrechungs- schon erwähnt, besitzt der Analog-/Digitalwandler 80 einen signal bewirkt, dass der Datenprozessor in eine Unterbre- herkömmlichen Aufbau, wobei ein derartiger Wandler von der chungssubroutine eintritt, um die Berechnungen des Zündwin- 15 Firma Analog Devices Inc. als Modell ADC-8QU hergestellt kels zum anschliessenden Zünden der Thyristoren zu starten. wird. Dieser spezielle Wandler ist ein vollständiger 8-Bit-Wand- a trigger signal to a J input terminal of a break, the output signal of the rectifier to the device flip-flop 245, which is the generation of an interrupt converter 80, the average of the three input currents. How signals work for the data processor. The interrupt already mentioned, the analog-to-digital converter 80 has a signal that causes the data processor to operate in an interrupt-conventional fashion, with such a converter entering the processing subroutine to model the calculations of the ignition device 15 Analog Devices Inc. ADC-8QU manufactured kels to start firing the thyristors. becomes. This special converter is a complete 8-bit wall

Es sei bemerkt, dass das erste Taktgrundsignal, welches 1er mit aufeinanderfolgender Approximation und hoher dem Setzen des FJipflops 28 folgt, das Flipflop 248 setzt, Geschwindigkeit, der das Eingangsanalogsignal auf der Lei- It should be noted that the first basic clock signal, which follows the FJip-flop 28 with successive approximation and high, sets the flip-flop 248, speed that the input analog signal on the line

wodurch dessen Q-Ausgangsanschluss auf eine binäre 0 geht tung 256 bei Empfang eines Eingangsbefehls, der als und dadurch das UND-Tor 246 entregt. Dies bewirkt die Erzeu- 20 Wandlungsimpuls auf der der Leitung 78 bezeichnet ist, in gung eines kurzen Impulses, der einem INT-Flipflop 250 zuge- einen digitalen Wert wandelt. Bei diesem speziellen Wandler führt wird, wie in Fig. 10 durch die Überlappung zwischen den bezeichnen 7 der 8 Bits die Stromgrösse, und das achte Bit DET-FF1- und DET-FF2-Signalen angezeigt ist. Es lässt sich fer- bezeichnet die Polarität des Stroms. Es sei an die obige Erläute- whereby its Q output terminal goes to a binary 0 device 256 upon receipt of an input command which, as a result, excites the AND gate 246. This causes the generation pulse on line 78 to be a short pulse that converts an INT flip-flop 250 to a digital value. In this particular converter, as shown in FIG. 10, the current magnitude and the eighth bit DET-FF1 and DET-FF2 signals are indicated by the overlap between the designated 7 of the 8 bits. The polarity of the current can also be designated. It is to the above explanations-

ner erkennen, dass gleichzeitig mit dem Setzen des Unterbre- rung der Zündlogik gemäss Fig. 9 erinnert, aus der sich ergibt, ner recognize that simultaneously with the setting of the interruption of the ignition logic according to FIG. 9, from which it follows that

chungs-Flipflops 250 das Ausgangssignal vom UND-Tor 246 25 dass die Zündlogik einen Wandlungsimpuls von 8 Mikrosekun- flip-flops 250 the output signal from AND gate 246 25 that the ignition logic generates a conversion pulse of 8 microseconds

einem monostabilen Zündimpuls-Multivibrator 252 (FP) zuge- den Dauer auf der Leitung 78 zum Analog-/Digitalwandler sen- a monostable ignition pulse multivibrator 252 (FP) for the duration on line 78 to the analog / digital converter.

führt wird, um einen Zündimpuls von 23 Mikrosekunden Dauer det, wenn der Abwärtszähler einen Zählwert von 14 erreicht, leads to an ignition pulse of 23 microseconds duration when the down counter reaches a count of 14,

auf der Leitung 82 der Thyristorwähl- und Antriebsrichtungslo- Dieser Wandlungsimpuls startet den Analog-/Digitalwandler gik 84 zuzuführen. Die Erzeugung des Zündimpulses ist in 80, um den analogen Motorstrom auf der Leitung 256 in einen on the line 82 of the thyristor selection and drive direction lo This conversion pulse starts to supply the analog / digital converter 84. The generation of the firing pulse is at 80 to convert the analog motor current on line 256 into one

Fig. 10 dargestellt, wobei zu diesem Zeitpunkt ein Thyristor- 30 digitalen Wert zum nachfolgenden Transfer an den Datenpro- 10, at which time a thyristor 30 digital value for subsequent transfer to the data pro-

paar gleichzeitig mit der Erzeugung des Unterbrechersignals zessor über die Prozessorschnittstelle als Datenbits ID5B0 bis gezündet wird. Die Zündlogik bleibt im vorliegenden oder vor- ID5B7 auf der Leitung 24 umzuwandeln. couple is fired simultaneously with the generation of the interrupt signal processor via the processor interface as data bits ID5B0 to. The ignition logic remains in the present or pre-ID5B7 to be converted on line 24.

gegebenen Zustand, bis ein anderes WDVl-Signal auf der Lei- Wie in Fig. 4 gezeigt ist, wird der Transfer des Motorstroms tung 212 empfangen wird und veranlasst, dass neue Daten in auf der Leitung 24 durchgeführt, wenn der Analog-/Digital- given state until another WDV1 signal is on the line. As shown in FIG. 4, the transfer of motor current device 212 is received and causes new data to be performed on line 24 when the analog / digital

den Abwärtszähler 224 in der eben geschilderten Weise einge- 35 wandler 80 (Einrichtung 5) über den 8-Bit-Multiplexer 128 the down counter 224 in the manner just described 35 converter 80 (device 5) via the 8-bit multiplexer 128

geben werden. adressiert wird, um Daten über die Sammelleitung 132 dem will give. is addressed to the data via the bus 132

Wenn der Abwärtszähler mit neuen Daten beladen wird, Prozessor zuzuleiten. Die Adressierung des Analog-/Digital- When the down counter is loaded with new data, feed the processor. The addressing of the analog / digital

liefert der Dekoder für den Zählwert Null ein Rücksetzsignal wandlers wird dadurch verwirklicht, dass der Datenprozessor auf der Leitung 244 zum Flipflop 228, wodurch diesem Flipflop eine richtige Adresse in die Bits IR5 bis IR7 eingibt und diese nun gestattet wird, einen Rücksetzungszustand zu erreichen 40 Bits an den SEL-Anschluss des Multiplexers 128 zusammen mit und gleichzeitig das Flipflop 248 zurückzusetzen.Wenn das Flip- dem READ-Impuls an dem Auslöseeingangssignal des Multi- If the decoder provides a reset signal converter for the count value zero, this is achieved in that the data processor on line 244 to flip-flop 228, whereby this flip-flop enters a correct address in bits IR5 to IR7 and this is now allowed to reach a reset state of 40 bits to the SEL terminal of the multiplexer 128 together with and at the same time to reset the flip-flop 248. When the flip-to-READ pulse on the trigger input signal of the multi

flop 228 sich zurücksetzt, geht sein Q-Ausgangssignal auf der plexers anlegt. Die richtige binäre Bitkonfiguration der Bits Leitung 254 auf den binären Wert 1, wodurch das UND-Tor 226 IR5 bis IR7 leitet die Motorstromauslesung vom Analog-/Digi- flop 228 resets, its Q output goes to the plexers. The correct binary bit configuration of the bits line 254 to the binary value 1, whereby the AND gate 226 IR5 to IR7 directs the motor current reading from the analog / digital

ausgelöst wird und dem Zähler 224 das Zählen gestattet, nach- talwandler 80 durch den Multiplexer auf der Sammelleitung dem dieser Zähler beladen wurde. Wie in Fig. 10 dargestellt, 45132 zum Transfer an den Datenprozessor. is triggered and the counter 224 is allowed to count, night converter 80 through the multiplexer on the bus line to which this counter has been loaded. As shown in Fig. 10, 45132 for transfer to the data processor.

muss der Datenprozessor eine Zeit nach der Zündung des Thy- Es wird nun auf Fig. IIB und auf die Thyristorwähl- und ristorpaares ein RDVO-Leseeinrichtungen-Nullsignal auf der Antriebsrichtungslogik 84 Bezug genommen. Der primäre IIB and the thyristor select and ristor pairs, an RDVO reader zero signal on drive direction logic 84 is now referred to. The primary

Leitung 130 an einen Löscheingangsanschluss CLR des Zweck der Wähl- und Antriebsrichtungslogik besteht darin, ein Line 130 to an erase input terminal CLR for the purpose of the dial and drive direction logic is one

Unterbechungs-FIipflops 250 senden, um dieses Flipflop zur Datenwort oder eine Adresse vom Datenprozessor über Lei- Send break flip-flops 250 to transfer this flip-flop to the data word or address from the data processor

Vorbereitung auf das Aussenden eines weiteren Unter- 50 tungen 266 auf den richtigen Datenleitungen 266 (WDB0 bis brechungssignals an den Prozessor unmittelbar nach Erzeu- WDB7) vom Treiber 138 der Fig. 4 zu erhalten. Dieses Daten- Preparation for the transmission of a further submissions 266 on the correct data lines 266 (WDB0 to refraction signal to the processor immediately after generation WDB7) from driver 138 of FIG. 4. This data

gung eines Zündimpulses an die Thyristoren zurückzusetzen. wort stellt eine binäre Bitfolge dar, die durch ein WDV3-Signal reset an ignition pulse to the thyristors. word represents a binary bit sequence that is generated by a WDV3 signal

Es wird nun auf die Fig.-l 1A und IIB Bezug genommen, auf der Leitung 270 vom Dekoder 116 der Fig. 4 in ein Thyri-wobei Fig. 11A oben an Fig. IIB anschliesst, um eine Figur zu storsteuer- oder Wählregister 268 geladen wird. Wenn der Probilden, die die Logik der Wähl- und Antriebsrichtungslogik 84 55 zessor einen Schreibbefehl sendet, der die Schreibeinrichtung 3 und ein elektrisches Schema der aus Thyristoren bestehenden adressiert, geht das WDV3-Signal auf der Leitung 270 auf eine Vorwärts- und Rückwärtsantriebsbrücken in Einzelheiten binäre Null über und wird durch einen Inverter 272 in eine zeigt. Ferner ist der Analog-/Digitalwandler 80 gezeigt, der den binäre 1 invertiert, und liefert auf diese Weise ein Auslöselade-analogen Motorstrom über eine Leitung 256 aus dem her- signal an das Register 268, um eine Thyristorpaaradresse in das kömmlichen Dreiphasen-Brückensummiergleichrichterkreis 60 Register zu laden. Die Ausgänge von allen Stufen oder Bits des 258 erhält. In Fig. IIA wird die dreiphasige 60-Hz-Netzspan- Registers 268 sind bis auf eine Stufe mit einem entsprechenden nung (auch 50-Hz-Netzspannung) als 0 A, 0 B und 0 C auf den UND-Tor aus einer Vielzahl von UND-Toren 274,276,278 und Leitungen 106 den entsprechend zugeordneten Anoden und 280 verbunden. Das Ausgangssignal von den einzelnen UND-Kathoden der Vorwärts- und Rückwärtsthyristorbrücken Toren ist mit einem Signal bezeichnet, das in jeder der Vorzugeordnet, die je aus 6 Thyristoren bestehen, die mit PI bis P3 65 wärts- und Rückwärtsbrücken einem der Thyristoren ent-und N1 bis N3 bezeichnet sind, vergleiche Fig. 11A. Der Betrieb spricht. So entspricht zum Beispiel ein Ausgangssignal PI vom der Vorwärts- und Rückwärtsthyristorbrücken wird nicht in UND-Tor 274 dem Thyristor PI in den Vorwärts- oder RückEinzelheiten beschrieben, da es sich um herkömmliche Brük- wärtsthyristorbrücken. Wenn es erwünscht ist, ein spezielles Referring now to Figs. 1A and IIB, line 270 from decoder 116 of Fig. 4 into a thyri, with Fig. 11A at the top of Fig. IIB, for a figure to store control or select register 268 is loaded. When the probilde that the logic of the select and drive direction logic 84 55 sends a write command that addresses the writer 3 and an electrical schematic of the thyristor, the WDV3 signal on line 270 goes to a forward and reverse drive bridge in detail binary zero above and is shown by an inverter 272 to one. Also shown is the analog-to-digital converter 80, which inverts binary 1, and thus provides a trip charge analog motor current over line 256 from the signal to register 268 to add a thyristor pair address to the conventional three-phase bridge summing rectifier circuit 60 Load register. The outputs from all stages or bits of the 258 receive. In Fig. IIA, the three-phase 60 Hz mains voltage register 268 are up to one level with a corresponding voltage (also 50 Hz mains voltage) as 0 A, 0 B and 0 C on the AND gate from a variety of AND gates 274, 276, 278 and lines 106 are connected to the correspondingly assigned anodes and 280. The output signal from the individual AND cathodes of the forward and backward thyristor bridges gates is designated with a signal which is assigned in each of the pre-gates, each of which consists of 6 thyristors, with PI to P3 65 forward and backward bridges one of the thyristors ent and N1 to N3, see Fig. 11A. The company speaks. For example, an output signal PI from the forward and backward thyristor bridges is not described in AND gate 274 as the thyristor PI in the forward or backward details, since they are conventional brittle thyristor bridges. If desired, a special one

11 11

632615 632615

Thyristorpaar in einer der Brücken zu zünden, wird ein binäres ist auf der rechten Spalte als FINVAL-Zählwert gezeigt. To fire the thyristor pair in one of the bridges, a binary is shown on the right column as a FINVAL count.

Wort oder Adresse in das Register 268 gebracht, um die spe- Die FINVAL-Tabelle wird aus der Beziehung ziellen UND-Tore 274 bis 280 auszulösen, so dass sie ihre geeigneten Steuersignale an die entsprechenden Vorwärts-/Rück- FINVAL = 245,8 Cos-1(3VT/ 7iVln) wärts-Antriebsschaltverstärkerkreise (FWD/REV) liefern. 5 The FINVAL table is triggered from the relationship AND gates 274 through 280 so that it sends its appropriate control signals to the appropriate forward / backward FINVAL = 245.8 Cos -1 (3VT / 7iVln) forward drive switching amplifier circuits (FWD / REV) supply. 5

Diese FWD/REV-Antriebskreise besitzen einen herkömmli- berechnet, wobei 245,8 gleich der Zahl der Impulse von 11 chen Aufbau und sind mit 282,284,286,288 bezeichnet. Jeder Mikrosekunden Dauer ist, die dem Abwärtszähler zugeführt Kreis entspricht einem mit gleicher Zahl versehenen Thyristor werden, um den Zähler pro elektrisches Grad abwärts zu zäh-in den Vorwärts- und Rückwärtsantriebsbrücken. So ist zum len. VLN ist als Leitererdspannung der Eingangsnetzspannung Beispiel die Pl-FBD/REV-Antriebsschaltung 282 über Leitun- io definiert. These FWD / REV drive circuits have a conventionally calculated, where 245.8 is equal to the number of pulses of 11 positions and are designated with 282,284,286,288. Each microsecond duration is that the circuit fed to the down counter corresponds to an equal number thyristor to tough down the counter per electrical degree in the forward and reverse drive bridges. That's how it works. VLN is defined as the line earth voltage of the input line voltage, for example the PI-FBD / REV drive circuit 282 via line.

gen 290 und 292 mit entsprechenden Steuerelektroden des Thyristors PI in jeder Brücke verbunden. Ähnliche Verbindungen Tabelle I bestehen von der Antriebsschaltung 284 zu den P2-Torelek- Spannung gegen FINVAL-Zählwerte troden und von den Antriebsschaltungen 286 und 288 zu den Steuerelektroden N2 und N3. In Fig. IIB lässt sich erkennen, 15 dass nur vier der UND-Tore, welche die PI- bis N3-Signale erzeugen, und der Antriebskreise gezeigt sind, die den Thyristoren PI bis N3 zugeordnet sind. Das UND-Tor und die Antriebselektronik für die Thyristoren P3 und N3 kommen aus Vereinfachungsgründen aus dem Wählregister 268 nur als gestrichelte 20 Linien heraus. gen 290 and 292 connected to corresponding control electrodes of the thyristor PI in each bridge. Similar connections Table I exist from the drive circuit 284 to the P2 Torelek voltage against FINVAL counts and from the drive circuits 286 and 288 to the control electrodes N2 and N3. In FIG. IIB it can be seen 15 that only four of the AND gates which generate the PI to N3 signals and the drive circuits which are assigned to the thyristors PI to N3 are shown. For reasons of simplicity, the AND gate and the drive electronics for the thyristors P3 and N3 only come out of the selector register 268 as dashed 20 lines.

Es ist wichtig zu beachten, dass ein Bit des Zündregisters 268 ein FWD/REV-Signal auf einer Leitung 294 an alle FWD/ It is important to note that one bit of the firing register 268 sends an FWD / REV signal on line 294 to all FWD /

REV-Antriebskreise 282 bis 288 liefert. Die Antriebskreise 282 bis 288 stellen herkömmliche Treiber- oder Schaltkreise 25 bekannter Ausführungsform dar, die in der Lage sind, logische Eingangssignale zu empfangen, um ihre Ausgangssignale selektiv zwischen eine von zwei Leitungen zu schalten, die aus jeder Antriebsschaltung herausführen. So wird zum Beispiel beim Betrieb der Antriebsschaltung 282, um den Thyristor PI der Vorwärtsbrücke zu aktivieren oder zu zünden, ein Signal mit dem binären Wert 1 vom Register 268 als ein Eingangssignal an das Tor 274 geliefert, und beim Auftreten des Zündimpulses auf der Leitung 82 und der Zündlogik wird das Tor 274 ausgelöst und lässt Impulse durch den Antriebskreis PI zum Vorwärtsthyristor PI hindurch. Andererseits wird der Antriebskreis 282 aktiviert, sofern das FWD/REV-Bit den binären Wert 0 besitzt, REV drive circuits 282 to 288 delivers. The drive circuits 282 through 288 are conventional driver or circuitry 25 of a known embodiment capable of receiving logic input signals to selectively switch their output signals between one of two lines leading out of each drive circuit. For example, when the drive circuit 282 is operating to activate or fire the forward bridge thyristor PI, a binary 1 signal is provided from register 268 as an input to gate 274 and when the firing pulse occurs on line 82 and the firing logic, gate 274 is triggered and passes pulses through the drive circuit PI to the forward thyristor PI. On the other hand, the drive circuit 282 is activated if the FWD / REV bit has the binary value 0,

um den Zündimpuls auf der Leitung 292 zum Thyristor PI der Rückwärtsthyristoren zu übertragen. In der vorliegenden Ausführungsform und beim Betrieb der Thyristoren des Gleichrich-40 ters 94 ist es wünschenswert, die Thyristoren immer paarweise, to transmit the firing pulse on line 292 to the thyristor PI of the reverse thyristors. In the present embodiment, and when operating the thyristors of the rectifier 40, it is desirable to always pair the thyristors,

wie zum Beispiel PI und N2 in den Vorwärts- oder Rückwärtsbrücken zu zünden. Das in das Register 268 geladene Wort besitzt immer zwei binäre Bits, die den zu zündenden Thyristoren entsprechen. So aktiviert zum Beispiel die binäre 1, die den Thyristor PI zünden soll, das Tor 274, und die binäre 1, die den Thyristor N2 zünden soll, aktiviert das Tor 280, wobei die anderen Tore nicht erregt oder ausgesteuert sind. Um den Gesamtbetrieb des erfindungsgemässen Systems voll zu verstehen und zu würdigen, wird es als vorteilhaft erachtet, zu beschreiben, 50 wie der Zündwinkel zur Zündung der Thyristorpaare in dem System abgeleitet wird. such as firing PI and N2 in the forward or reverse bridges. The word loaded into register 268 always has two binary bits that correspond to the thyristors to be fired. For example, binary 1, which is to fire the thyristor PI, activates the gate 274, and the binary 1, which is to fire the thyristor N2, activates the gate 280, the other gates not being energized or activated. In order to fully understand and appreciate the overall operation of the system according to the invention, it is considered advantageous to describe how the firing angle for firing the thyristor pairs in the system is derived.

Es wird nun auf Fig. 12 Bezug genommen, die den Zusam- Es wird nun wieder auf Fig. 12 Bezug genommen, wobei menhang zwischen den Dreiphasen-Netzspannungen 0 A, 0 B diese Figur die Ableitung der TIMTGO-Gleichung zeigt, und und 0 C und eine Darstellung zeigt, auf welche Weise der Zünd- 55 TIMTGO ein Wert ist, der proportional zum Zündwinkel ist, der winkel, der als FINVAL bezeichnet wird, für die Thyristorpaare in den Abwärtszähler 224 der Fig. 9 geladen wird, um das rich-entwickelt wird, um einen variablen Wert zu erzeugen, der für tige Thyristorpaar zur richtigen Zeit zu zünden. Per Definition ein Signal TIMTGO kennzeichnend ist, das die zu verstrei- gilt: Reference is now made to FIG. 12, which shows the connexion. FIG. 12 is again referred to, wherein the relationship between the three-phase mains voltages 0 A, 0 B shows the derivative of the TIMTGO equation, and and 0 C and a plot shows how the firing TIMTGO is a value proportional to the firing angle, the angle designated FINVAL, for the thyristor pairs is loaded into the down counter 224 of FIG. 9 to achieve the rich - is developed to generate a variable value that will fire for the right pair of thyristors at the right time. By definition, a signal TIMTGO is characteristic that is to be spread:

chende Zeit darstellt, die einen berechneten Wert darstellt, der proportional zum Zündwinkel ist. Es ist bekannt, dass der Zünd- 6o TIMTGO = FINVAL - (NEWTIM + 1) • 8 - TP. represents a calculated value that is proportional to the ignition angle. It is known that the ignition 6o TIMTGO = FINVAL - (NEWTIM + 1) • 8 - TP.

winkel zur Steuerung von Thyristorgleichrichtern des erfin- bracket for controlling thyristor rectifiers of the invented

dungsgemäss verwendeten Bautyps vom Phasen-/Phasenkreuz- Das Verfahren oder die Reihenfolge, mit der der Abwärtspunkt bis zum Zündpunkt des Thyristorpaars gemessen wird. zähler mit dem Wert TIMTGO beladen wird, ist in der verein-Gemäss der Erfindung wird der Wert für den Zündwinkel, FIN- fachtesten Form durch folgende Schritte erläutert: The type or sequence used to measure the downward point to the ignition point of the thyristor pair. counter is loaded with the value TIMTGO, the value according to the invention is explained by the following steps:

VAL, zur Erzeugung einer Motorklemmenspannung, die gleich 65 1. Der Prozessor berechnet den Wert FINVAL, den Zünd-VT ist, dadurch erhalten, dass ein Tabellennachschlag im Spei- winkel, der das laufende Ausgangssignal des Reglers bildet; eher mit der Darstellung oder Anordnung gemäss Tabelle I 2. Der Prozessor liest anschliessend den Systemtakt (Ein erfolgt. Die im Speicher gespeicherte Grösse, der Zündwinkel, richtung 1 ), wie zuvor in Verbindung mit den Fig. 4 und 5 VAL, to generate a motor terminal voltage that is equal to 65 1. The processor calculates the FINVAL value, which is the ignition VT, obtained by looking up the table at a specific angle, which forms the current output signal of the controller; rather with the representation or arrangement according to Table I 2. The processor then reads the system clock (on. The variable stored in the memory, the ignition angle, direction 1), as previously in connection with FIGS. 4 and 5

Motorklemmenspannung Motor terminal voltage

Zählwerte Counts

-272 -272

715 715

-256 -256

671 671

-240 -240

640 640

-224 -224

615 615

-208 -208

592 - 592 -

-192 -192

572 572

-176 -176

553 553

-160 -160

530 530

-144 -144

519 519

-128 -128

503 503

-112 -112

487 487

-960 -960

472 472

-800 -800

457 457

-040 -040

443 443

-480 -480

428 428

-320 -320

414 414

-160 -160

400 400

0 0

386 386

160 160

372 372

320 320

358 358

480 480

343 343

40 40

329 329

800 800

314 314

960 960

300 300

112 112

284 284

128 128

269 269

144 144

253 253

160 160

236 236

176 176

218 218

192 192

199 199

203 203

179 179

224 224

157 157

240 240

132 132

256 256

101 101

272 272

57 57

632615 632615

12 12

beschrieben, um das 60°-Intervall im Eingangsleistungszyklus aufzubauen oder zu definieren, und um ferner eine Zeit innerhalb dieses Intervalls zu definieren, und anschliessend berechnet er den Wert von NEWTIM und TIMGO. to establish or define the 60 ° interval in the input power cycle, and further to define a time within that interval, and then calculate the value of NEWTIM and TIMGO.

3. Der Prozessor liest anschliessend den Systemtakt wiederholt, bis der Wert des Takts gleich NEWTIM ist, anschliessend arbeitet der Prozessor, um den Abwärtszähler mit TIMTGO zu laden. NEWTIM ist der vom Prozessor berechnete Wert, der vom Programm benutzt wird, um anzugeben, zu welcher Zeit TIMTGO in den Abwärtszähler geladen werden soll, so dass der Abwärtszähler zur richtigen Zeit mit dem Zählen beginnt. Das Beladen zu dem durch NEWTIM angegebenen Zeitpunkt stellt sicher, dass das Programm mit dem Zünden der Thyristorenpaare synchronisiert ist. 3. The processor then reads the system clock repeatedly until the value of the clock is NEWTIM, then the processor works to load the down counter with TIMTGO. NEWTIM is the processor calculated value that the program uses to indicate the time at which TIMTGO should be loaded into the down counter so that the down counter starts counting at the right time. Loading at the time specified by NEWTIM ensures that the program is synchronized with the firing of the thyristor pairs.

Der zuvor erwähnte Prozessor CRD8 benutzt einen 300 Nanosekundenspeicher, der gestattet, den Schritt 2 in ungefähr 120 Mikrosekunden auszuführen. Diese Periode von 120 Mikrosekunden Dauer ist geringfügig kleiner als die Zeitdauer von zwei Impulsen mit 88 Mikrosekunden Dauer, die durch den Systemtakt 360 der Fig. 5 entwickelt werden. Wenn daher TCLOCK die Zeit darstellt, die durch die Bits IDI B3 bis IDI B7 des Systemtakts zu Beginn des erwähnten Schritts 2 gegeben ist, und wenn NEWTIM durch NEWTIM = TCLOCK + 2 gegeben ist (Berechnungszeit des Prozessors für NEWTIM und TIMTGO), wird Schritt 2 ständig rechtzeitig abgeschlossen, um den Abwärtszähler 224 vor dem Systemtaktübergang bei NEWTIM + 1 zu laden. Die Grösse + 1, die in Fig. 12 der Grösse NEWTIM angehängt ist, gibt die Taktperiode von 88 Mikrosekunden Dauer an, die erforderlich ist, um den Abwärtszähler vom Prozessor zu laden. Es sei an die Beschreibung des Systemtakts nach Fig. 5 erinnert, wonach der Zähler 170 von Nulldurchgang zu Nulldurchgang (ZR0X) von Null bis 31 zählt. Es ist für den Zähler möglich, auf einem Zählwert 31 für ein Intervall stehen zu bleiben, das gleich 32 Zählwerten ist, wobei der letzte Zählwert des Zählers 170 länger als die vorausgegangenen Zählwerte gemacht wird. Wenn NEWTIM gleich oder grösser 31 ist, so muss in diesem Fall ein schneller Impuls oder 11 Mikrosekundenimpuls dem Wert Tp zuaddiert werden, dass das 31. Intervall des Systemtakts länger ist. Sofern NEWTIM grösser als 31 ist, muss das System ferner zum Rücksetzen des Systemtakts beim nächsten Nulldurchgang (CR0X) korrigiert werden. The aforementioned CRD8 processor uses a 300 nanosecond memory which allows step 2 to be carried out in approximately 120 microseconds. This period of 120 microseconds is slightly less than the duration of two 88 microsecond pulses developed by system clock 360 of FIG. 5. Therefore, if TCLOCK represents the time given by bits IDI B3 to IDI B7 of the system clock at the beginning of step 2 mentioned, and if NEWTIM is given by NEWTIM = TCLOCK + 2 (processor calculation time for NEWTIM and TIMTGO), step becomes 2 always completed in time to load the down counter 224 at NEWTIM + 1 before the system clock transition. Size +1, appended to NEWTIM in Figure 12, indicates the 88 microsecond clock period required to load the down counter from the processor. 5, counter 170 counts from zero crossing to zero crossing (ZR0X) from zero to 31. It is possible for the counter to remain at a count 31 for an interval equal to 32 counts, the last count of counter 170 being made longer than the previous counts. In this case, if NEWTIM is equal to or greater than 31, a fast pulse or 11 microsecond pulse must be added to the value Tp that the 31st interval of the system clock is longer. If NEWTIM is greater than 31, the system must also be corrected to reset the system clock at the next zero crossing (CR0X).

Es gilt FINVAL = Tp + (NEWTIM + 1) + TIMTGO, vergleiche Fig. 12. In der vorliegenden Ausführungsform werden FINVAL, Tp und TIMTGO in schnellen Zählwerten oder 11 Mikrosekundenimpulsen ausgedrückt, und NEWTIM + 1 wird in langsamen Zählwerten oder 88 Mikrosekundenimpulsen ausgedrückt. Um daher in äquivalente Werte umzuwandeln, gilt FINVAL = Tp + 8 (NEWTIM + 1) -l- TIMTGO. FINVAL = Tp + (NEWTIM + 1) + TIMTGO, see Fig. 12. In the present embodiment, FINVAL, Tp and TIMTGO are expressed in fast counts or 11 microsecond pulses, and NEWTIM + 1 is expressed in slow counts or 88 microsecond pulses. Therefore, to convert to equivalent values, FINVAL = Tp + 8 (NEWTIM + 1) -l- TIMTGO applies.

Der Multiplikationsfaktor 8 soll NEWTIM + 1 an Tp und TIMTGO angleichen, da es 8 schnelle Zählwerte (Impulse von 11 Mikrosekunden Dauer) für einen langsamen Zählwert (Impulse von 88 Mikrosekunden Dauer) braucht. The multiplication factor 8 should adjust NEWTIM + 1 to Tp and TIMTGO, since it takes 8 fast counts (pulses of 11 microseconds in duration) for a slow count (pulses of 88 microseconds in duration).

Es wird mit der Entwicklung der TIMTGO-Gleichung fortgefahren, und die Substitution des Werts von TCLOCK für NEWTIM in der Gleichung liefert: TIMTGO = FINVAL - Tp -8 (TCLOCK+ 3). Development of the TIMTGO equation continues and substitution of the value of TCLOCK for NEWTIM in the equation provides: TIMTGO = FINVAL - Tp -8 (TCLOCK + 3).

Es sei daran erinnert, dass es ungefähr zwei langsame Taktimpulse benötigt, um den 360°-Systemtakt zu lesen und NEWTIM und TIMTGO zu berechnen. Diese Zeit muss daher in NEWTIM durch Addition von +2 addiert werden. Wenn daher TCLOCK die vom Prozessor gelesene Zeit ist, und wenn zwei langsame Taktimpulse an Todzeit hinzuaddiert werden, um die Rechenzeit zu kompensieren, dann gilt: NEWTIM + 1 = TCLOCK + 3, wie in der obigen Gleichung für TIMTGO gezeigt ist. It should be remembered that it takes approximately two slow clock pulses to read the 360 ° system clock and to calculate NEWTIM and TIMTGO. This time must therefore be added in NEWTIM by adding +2. Therefore, if TCLOCK is the time read by the processor and if two slow clock pulses are added at dead time to compensate for the computation time, then: NEWTIM + 1 = TCLOCK + 3, as shown in the above equation for TIMTGO.

Um TIMTGO zu berechnen gilt, da Tp in langsamen Takt-impulsen vorliegt, TIMTGO = FINVAL - Tp - 8 x TCLOCK To calculate TIMTGO, since Tp is present in slow clock pulses, TIMTGO = FINVAL - Tp - 8 x TCLOCK

— 24. Beachte den Ausdruck 8(TCLOCK+3) oben, wobei drei langsame Impulse gleich 24 schnellen Impulsen sind. - 24. Note expression 8 (TCLOCK + 3) above, where three slow pulses equals 24 fast pulses.

Es wird weiterhin auf Fig. 12 Bezug genommen, in der Tp als der Winkel vom Phasen-/Phasenkreuzpunkt, der den Zündwinkel Null für den zu zündenden Thyristor festlegt, bis zum nächstfolgenden Phasennulldurchgang definiert ist. Ein anderer Weg, dies zu bestätigen, besteht darin, den nächstfolgenden Phasennulldurchgang im 0°- bis 360°-Zyklus zu betrachten und von diesem Winkel den Referenzwinkel des zu zündenden Zellenpaars abzuziehen, wobei dies die Grösse Tp ergibt. Wenn zum Beispiel der nächstliegende Nulldurchgang durch die Phase 0 C gegeben ist, die bei 60° zu negativen Werten läuft, vergleiche Fig. 12, und wenn die Thyristorpaare P1/N2 gezündet werden sollen, dann beträgt der Referenzwinkel 30° (60°-30° = Tp), wobei 30° der Winkel zwischen dem 0 Referring also to FIG. 12, Tp is defined as the angle from the phase / phase cross point that defines the zero firing angle for the thyristor to be fired to the next phase zero crossing. Another way to confirm this is to look at the next phase zero crossing in the 0 ° to 360 ° cycle and subtract the reference angle of the cell pair to be ignited from this angle, which gives the magnitude Tp. If, for example, the closest zero crossing is given by phase 0 C, which runs at 60 ° to negative values, see Fig. 12, and if the thyristor pairs P1 / N2 are to be fired, then the reference angle is 30 ° (60 ° -30 ° = Tp), where 30 ° is the angle between the 0

0 A/OC-Kreuzungspunkt und dem Nulldurchgang von 0C ist. Sofern Tp + 24 = TABTP sei, dann gilt TIMTGO = FINVAL - 8 x TCLOCK - TABTP - CORR, wobei CORR die Korrektur für den zuvor erwähnten langen 31. Impuls des Systemtakts ist. 0 A / OC crossing point and the zero crossing of 0C is. If Tp + 24 = TABTP, then TIMTGO = FINVAL - 8 x TCLOCK - TABTP - CORR, where CORR is the correction for the aforementioned long 31st pulse of the system clock.

Beim Betrieb des Programms wird der Wert vom TABTP aus einer Nachschlagetabelle erhalten, wie in Tabelle II dargestellt ist. Unter Bezugnahme auf Tabelle II lässt sich erkennen, dass die TABTP-Tabelle 11 Erklärungen (entry) in den schnellen Zählwerten enthält, die Gradwerte kennzeichnen, die als ein Gleichwert oder Offset bei der TIMTGO-Gleichung dienen, um das tatsächliche Zeitintervall zu der Zeit zu kompensieren, innerhalb dessen der Systematik vom Rechner ausgelesen wird. In running the program, the TABTP value is obtained from a lookup table, as shown in Table II. Referring to Table II, it can be seen that TABTP Table 11 contains entries in the fast counts that identify degree values that serve as an equivalent or offset in the TIMTGO equation to determine the actual time interval at the time compensate within which the system is read out by the computer.

Es wird nun auf Fig. 6 und die Tabelle II Bezug genommen, und es wird darauf hingewiesen, dass die Systemtaktbits ID1B0 bis IDI B2, die die 3 signifikantesten Bits darstellen, in 60°-Inter-valle dekodiert werden können, die die Nummern 1 bis 6 tragen und in der linken Spalte der Tabelle II, ebenso wie in Fig. 6 gezeigt, als KOCT bezeichnet sind. Es wird nun auf die zweite Spalte von links der Tabelle II Bezug genommen, und es lässt sich erkennen, dass eine als TABPH bezeichnete Tabelle, die die Zahl der Nulldurchgänge kennzeichnet, in sequentiellen Plätzen, die im Speicher als PHA1 bis PHA6 bezeichnet sind, gespeichert ist, wobei jeder der Plätze einer der betreffenden Phasen entspricht, wie ebenfalls in Tabelle II angegeben ist. 6 and Table II, reference is made to the fact that the system clock bits ID1B0 to IDI B2, which represent the 3 most significant bits, can be decoded into 60 ° intervals, which are numbered 1 to 6 and are designated as KOCT in the left column of Table II, as shown in Fig. 6. Reference is now made to the second column from the left of Table II, and it can be seen that a table labeled TABPH, which indicates the number of zero crossings, is stored in sequential locations labeled PHA1 through PHA6 in memory where each of the locations corresponds to one of the phases in question, as is also shown in Table II.

Während der Zeit zum Lesen des Systemtaktes benutzt der Rechner die KOCT-Zahl, um den entsprechenden der PHA-Plätze im TABPH zu adressieren, wie in Tabelle II angezeigt ist. Es lässt sich zum Beispiel erkennen, dass KOCT5 der Fig. 6 und in der linken Spalte der Tabelle II gleich dem Phasennulldurchgang PHA1 oder 0 A ist, dass KOCT4 gleich dem Phasennulldurchgang PHA2 oder 0C ist usw. During the time to read the system clock, the computer uses the KOCT number to address the corresponding one of the PHA locations in the TABPH, as shown in Table II. For example, it can be seen that KOCT5 of FIG. 6 and in the left column of Table II is equal to the phase zero crossing PHA1 or 0 A, that KOCT4 is equal to the phase zero crossing PHA2 or 0C etc.

Der Prozessor enthält einen Thyristorpaarzündzähler, der in einer Spalte der Tabelle II als PH bezeichnet ist. Der PH-Zähler wird jedesmal, wenn während des Programms ein Thyristorpaar gezündet wird, um einen speziellen Wert erhöht oder aktualisiert. Der Zündvorgang findet also in einer speziellen Folge statt. Um einen richtigen TABTP-Wert für die Berechnung von TIMTGO zu erhalten, wird die Adresse, die aus der Differenz zwischen PHA und PH (PHA minus PH)-Werten entwickelt ist, verwendet, um eine Adresse für die TABTP-Tabelle zu entwickeln. Der Thyristorpaarzähler PH gibt immer ein spezielles Paar von Thyristoren an, das gezündet werden soll. Wenn zum Beispiel der Thyristorpaarzähler PH auf dem Wert The processor includes a thyristor pair firing counter, designated PH in a column of Table II. The PH counter is incremented or updated by a specific value each time a thyristor pair is fired during the program. The ignition process takes place in a special sequence. In order to get a correct TABTP value for the calculation of TIMTGO, the address developed from the difference between PHA and PH (PHA minus PH) values is used to develop an address for the TABTP table. The thyristor pair counter PH always indicates a special pair of thyristors to be fired. For example, if the thyristor pair counter PH is at the value

1 steht, wird das Thyristorpaar P1/N2 gezündet, während das Paar P3/N2 gezündet wird, wenn der Zähler auf dem Wert 6 steht usw. 1, the pair of thyristors P1 / N2 is fired, while the pair P3 / N2 is fired when the counter is at the value 6, etc.

Für jeden der Speicherplätze TABTP sind 6 Adresseneinsprünge (adress entries) vorhanden, wobei jede dieser 6 Adressen für einen der 6 Nulldurchgänge in einem vollständigen Zyklus der Eingangsspannung repräsentativ ist. Es sei bemerkt, dass jedes der Thyristorenpaare jeweils einmal alle 60° gezündet wird oder 6 Zündungen pro 360°-Zyklus der Eingangssinus5 There are 6 address entries for each of the memory locations TABTP, each of these 6 addresses being representative of one of the 6 zero crossings in a complete cycle of the input voltage. It should be noted that each of the thyristor pairs is fired once every 60 ° or 6 firings per 360 ° cycle of the input sine5

10 10th

15 15

20 20th

25 25th

30 30th

35 35

40 40

45 45

50 50

55 55

60 60

65 65

13 13

632615 632615

kurve besitzt. Es sei ferner bemerkt, dass die PHAO-Nulldurch-gangszahl nicht immer mit dem PH-Zählwert korrespondiert. Dies ist in der Tatsache begründet, dass jedes gegebene Zellenpaar während einer 360°-Zyklusperiode bei jedem beliebigen 60°-Intervall gezündet werden kann. Es ist diese Differenz zwischen den PHA-Zahlen und den Zahlen des PH-Zählers, die die Ableitung von Adressen für die TABTP-Tabelle gestattet, um aus der Tabelle die richtige Zählerzahl in schnellen Zählwerten zur Einfügung in die TIMTGO-Gleichung zu gewinnen. curve owns. It should also be noted that the PHAO zero crossing number does not always correspond to the PH count. This is due to the fact that any given pair of cells can be ignited at any 60 ° interval during a 360 ° cycle period. It is this difference between the PHA numbers and the numbers of the PH counter that allows the derivation of addresses for the TABTP table in order to obtain from the table the correct number of counters in fast counts for insertion into the TIMTGO equation.

Tabelle II Table II

60°- TABPH 60 ° - TABPH

SCR SCR

FWD/REV FWD / REV

PHA-PH PHA-PH

TABTP TABTP

Inter 0 -Null- Inter 0 -Null-

Thyri- Thyri-

Thyristor Thyristor

TABTP TABTP

Tabelleninhalt vall durch- Table contents vall through

stor- sturgeon-

paar, gezün pair, tongued

Tabelle table

(schnelle gang paar-zähler det = (fast gear pair counter det =

addieren add

Zählwerte) Counts)

KOCTPHA - KOCTPHA -

PH PH

5 1-0 A - 5 1-0 A -

1 1

P1/N2 = P1 / N2 =

0 0

-105 = 30° -105 = 30 °

4 2-0 C - 4 2-0 C -

2 2nd

P1/N3 = P1 / N3 =

0 0

6 3-0 B - 6 3-0 B -

3 3rd

P2/N3 = P2 / N3 =

0 0

2 4-0 A - 2 4-0 A -

4 4th

P2/N1 = P2 / N1 =

0 0

3 5-0 C - 3 5-0 C -

5 5

P3/N1 = P3 / N1 =

0 0

1 6-0 B - 1 6-0 B -

6 6

P3/N2 = P3 / N2 =

0 0

- -

2 2nd

P1/N3 P1 / N3

-1 -1

-362 = -90° -362 = -90 °

- -

3 3rd

P2/N3 P2 / N3

-1 -1

- -

4 4th

P2/N1 P2 / N1

-1 -1

- -

5 5

P3/N1 P3 / N1

-1 -1

- -

6 1 6 1

P3/N2 P1/N2 P3 / N2 P1 / N2

-1 -1

- -

3 3rd

P2/N3 P2 / N3

-2 -2

O O

O O

00 00

I I.

II II

<£> 1 <£> 1

- -

4 4th

P2/N1 P2 / N1

-2 -2

- -

5 5

P3/N1 P3 / N1

-2 -2

- -

6 6

P3/N2 P3 / N2

-2 -2

- -

1 1

P1/N2 P1 / N2

4 4th

- -

2 2nd

P1/N3 P1 / N3

4 4th

- -

4 4th

P2/N1 P2 / N1

-3 -3

667= +180° 667 = + 180 °

- -

5 5

P3/N1 P3 / N1

-3 -3

- -

6 6

P3/N2 P3 / N2

-3 -3

- -

1 1

P1/N2 P1 / N2

3 3rd

- -

2 2nd

P1/N3 P1 / N3

3 3rd

- -

3 3rd

P2/N3 P2 / N3

3 3rd

- -

5 5

P3/N1 P3 / N1

-4 -4

410= +90° 410 = + 90 °

- -

6 6

P3/N2 P3 / N2

-4 -4

- -

1 1

P1/N2 P1 / N2

2 2nd

- -

2 2nd

P1/N3 P1 / N3

2 2nd

- -

3 3rd

P2/N3 P2 / N3

2 2nd

- -

4 4th

P2/N1 P2 / N1

2 2nd

5 1-0 A- 5 1-0 A-

6 6

P3/N2 = P3 / N2 =

-5 -5

153 = +30° 153 = + 30 °

4 2-0 C - 4 2-0 C -

1 1

P1/N2 = P1 / N2 =

1 1

6 3-0 B - 6 3-0 B -

2 2nd

P1/N3 = P1 / N3 =

1 1

2 4-0 A - 2 4-0 A -

3 3rd

P2/N3 = P2 / N3 =

1 1

3 5-0 B - 3 5-0 B -

4 4th

P2/N1 = P2 / N1 =

1 1

1 6-0 C - 1 6-0 C -

5 5

P3/N1 = P3 / N1 =

1 1

Bevor mit einer Beschreibung des Programms zur Steuerung des Gesamtbetriebs des erfindungsgemässen Regel- und Steuersystems fortgefahren wird, wird nun auf Fig. 13 Bezug genommen, die in einem vereinfachten Balkendiagramm den Gesamtbetrieb des Systems zeigt, um den dem Zündwinkel proportionalen Wert TIMTGO zu erzeugen, um die Thyristorpaare im Gleichrichter 16 der Fig. 1 zu zünden. Um den Betrieb der Fig. 13 zu verstehen, wird es als vorteilhaft erachtet, zuerst anzunehmen, dass irgendein Thyristorpaar im Gleichrichter gerade gezündet hat. Wie schon erläutert, erzeugt das INT-Flipflop 250 der Fig. 9 ein Unterbrechungssignal an den Prozessor, wenn ein Thyristorpaar gezündet wird. Dieses Unterbrechungssignal veranlasst den Prozessor, zu einer Unterbrechungssubroutine zu springen, die das Einlesen des Analog-/ Digitalwandlers 80 in den Rechner bewirkt. Wie gezeigt, belädt der Prozessor zu diesem Zeitpunkt den Abwärtszähler mit einem Zählwert, der proportional zu einer 20°-Verzögerung ist. Die vorliegende Erfindung ist in der Lage, entweder in einem kontinuierlichen oder nicht kontinuierlichen Strombetrieb zu arbeiten, und der Zweck, dass die 20°-Verzögerung in den Abwärtszähler 224 der Fig. 9 geladen wird, besteht darin, dem Prozessor Zeit zu geben, dass er die Betriebsart bestimmen kann, in der der Regler arbeiten soll, und dass er die Verstärkungen und Konstanten in richtiger Weise entweder für den kontinuierlichen oder den diskontinuierlichen Betrieb setzen kann. Die Art und Weise, wie dies durchgeführt wird, wird weiter unten in Verbindung mit dem Programm beschrieben. Before proceeding with a description of the program for controlling the overall operation of the regulating and control system according to the invention, reference is now made to FIG. 13, which shows the overall operation of the system in a simplified bar diagram in order to generate the value TIMTGO proportional to the ignition angle in order to to ignite the thyristor pairs in the rectifier 16 of FIG. 1. To understand the operation of FIG. 13, it is considered advantageous to first assume that any pair of thyristors in the rectifier has just fired. As already explained, the INT flip-flop 250 of FIG. 9 generates an interrupt signal to the processor when a pair of thyristors is fired. This interrupt signal causes the processor to jump to an interrupt subroutine which causes the analog / digital converter 80 to be read into the computer. As shown, the processor at this time loads the down counter with a count that is proportional to a 20 ° delay. The present invention is capable of operating in either a continuous or non-continuous power mode and the purpose for the 20 ° delay to be loaded into the down counter 224 of FIG. 9 is to give the processor time that he can determine the mode of operation in which the controller is to operate and that he can set the gains and constants correctly for either continuous or discontinuous operation. The manner in which this is done is described below in connection with the program.

Anhand der Fig. 13 sei bemerkt, dass bei einem Zählwert von 14 im Abwärtszähler 224 ein Umwandlungsimpuls auf der Leitung 78 an den Analog-/Digitalwandler geschickt wird, um den Wandler zu aktivieren, damit der Wandler mit der Analog-Digitalwandlung beginnt. Bei Beendigung der 20°-Verzöge-rung, oder wenn der Abwärtszähler 224 den vorgegebenen Zählwert 0 erreicht, sendet das INT-Flipflop 250 wieder ein zweites Unterbrechungssignal an den Prozessor. Bei Empfang des zweiten Unterbrechungssignals führt die Unterbrechungssubroutine des Prozessors nun die Berechnungen des Zündwinkels FINVAL durch, um den TIMTGO-Wert zu entwickeln. Wie aus Fig. 13 erkennbar ist, findet die gesamte Auslesung und Berechnung des Zündwinkels zwischen der Zündung aufeinanderfolgenden Thyristoren statt. Da alle 60° des Eingangssinus-kurvenzyklus' eine Thyristorzündung erfolgt, wird also die gesamte Berechnung für den Zündwinkel zur Zündung des nächsten Thyristorpaars in einem 60°-Intervall vorgenommen. Die 20°-Verzögerung, die ausgewählt wurde, stellt den Maximalwert dar, die Zeit für die Berechnungen des Reglers gibt (das heisst Zeit, um den Zündwinkel zu berechnen), und um einen positiven TIMTGO-Wert zu erzeugen, wenn die Phasen-voreilrate maximal ist. Referring to FIG. 13, if the count in the down counter 224 is 14, a conversion pulse on line 78 is sent to the analog-to-digital converter to activate the converter so that the converter begins analog-to-digital conversion. When the 20 ° delay has ended, or when the down counter 224 reaches the predetermined count value 0, the INT flip-flop 250 again sends a second interrupt signal to the processor. Upon receipt of the second interrupt signal, the processor interrupt subroutine now performs the FINVAL firing angle calculations to develop the TIMTGO value. As can be seen from FIG. 13, the entire reading and calculation of the firing angle takes place between the firing of successive thyristors. Since thyristor firing takes place every 60 ° of the input sine curve cycle, the entire calculation for the firing angle for firing the next pair of thyristors is carried out in a 60 ° interval. The 20 ° delay selected represents the maximum value that gives time for the controller's calculations (i.e. time to calculate the ignition angle) and to produce a positive TIMTGO value when the phase lead rate is maximum.

Der zweite vom Prozessor gelesene Strom wird zu den Berechnungen der Reglerantwort benutzt. Vorteilig bei der Ausführung der Berechnungen auf diese Weise ist: The second current read by the processor is used to calculate the controller response. The advantages of performing the calculations in this way are:

1. Die Regelzeitverzögerung, wie vom Gesamtregler gesehen, wird auf ein Minimum gebracht, wodurch die Eigenschaften des Reglers maximiert werden. 1. The control time delay, as seen by the overall controller, is minimized, which maximizes the properties of the controller.

2. Die zweite Stromlesung besitzt immer einen gewissen endlichen Wert bei allen praktischen Betriebsregeln des Reglers, so dass der Regler während der diskontinuierlichen Strombetriebsart arbeiten kann. Dies ergibt sich aufgrund der Tatsache, dass die zweite Stromlesung 20° nach der ersten Stromlesung vorgenommen wird. 2. The second current reading always has a certain finite value in all practical operating rules of the regulator, so that the regulator can work during the discontinuous current operating mode. This results from the fact that the second current reading is carried out 20 ° after the first current reading.

3. Wie noch erläutert wird, wird ein einziger Abwärtszähler, wie der Abwärtszähler 224 der Fig. 9 benötigt, da der Zählvorgang immer erst gestartet wird, nachdem das vorausgegangene Thyristorpaar gezündet ist. 3. As will be explained, a single down counter, such as the down counter 224 of FIG. 9, is required because the counting process is always started only after the previous pair of thyristors has fired.

Es wird weiter auf Fig. 13 Bezug genommen, wenn die Berechnungen abgeschlossen sind, lädt der Prozessor den TIMTGO-Wert in den Abwärtszähler 224 der Fig. 9, und zu diesem Zeitpunkt beginnt dieser Zähler gegen den Wert 0 zu zählen. Das Programm verzweigt sich dann unmittelbar zu einer READ-TACH-Zählersubroutine RDTACH, bei der der Tachoimpulszähler 88 vom Prozessor gelesen wird und ein Wert einer Gegen-EMK für Vorwärtsspeisung (CEMF) zur Benutzung bei der Berechnung der befohlenen Motorklemmenspannung (VT) benutzt wird. 13, when the calculations are complete, the processor loads the TIMTGO value into the down counter 224 of FIG. 9 and at that point this counter begins to count against the value 0. The program then branches directly to a READ-TACH counter subroutine RDTACH, in which the tachometer pulse counter 88 is read by the processor and a value of a back emf for forward feed (CEMF) is used for the calculation of the commanded motor terminal voltage (VT).

Bei Beendigung der Subroutine RDTACH verzweigt sich das Programm zurück zur Unterbrechungssubroutine, wobei diese Subroutine eine Änderungsgeschwindigkeit des Stromsetzwerts SPDESI berechnet. Das Programm tritt nun in eine Schleife ein und wartet, bis der Zündzähler den Wert 0 erreicht, wie auf der oberen Linie in Fig. 13 gezeigt ist, wobei zu diesem When the RDTACH subroutine ends, the program branches back to the interrupt subroutine, which subroutine calculates a rate of change of the power set value SPDESI. The program now enters a loop and waits until the firing counter reaches 0, as shown on the top line in Fig. 13, to this

5 5

10 10th

15 15

20 20th

25 25th

30 30th

35 35

40 40

45 45

50 50

55 55

60 60

65 65

632615 632615

14 14

Zeitpunkt das Thyristorpaar gezündet und wieder ein Unterbrechungssignal an den Prozessor gegeben wird und der -gerade beschriebene Prozess wiederholt wird. When the thyristor pair is triggered and an interrupt signal is again sent to the processor and the process just described is repeated.

Es wird nun auf Fig. 14 Bezug genommen, die ein Flussdiagramm hoher Stufe darstellt, welches den Gesamtbetrieb des 5 erfindungsgemässen Regel- und Steuersystems in grösseren Einzelheiten als gerade in Verbindung mit Fig. 13 beschrieben, zeigt. Reference is now made to FIG. 14, which shows a high-level flowchart which shows the overall operation of the regulating and control system according to the invention in greater detail than just described in connection with FIG. 13.

Wenn das System zuerst gestartet wird, wie im linken oberen Block der Fig. 14 dargestellt ist, liefert das Programm eine i o Pseudounterbrechung an das System, indem eine Zahl 16 in den Abwärtszähler 224 der Fig. 9 geladen wird. Zu diesem Zeitpunkt werden auch Nullwerte in das Thyristorwählregister 268 der Fig. 11B geladen. Der Abwärtszähler beginnt dann gegen den Wert 0 zu zählen, und wenn der Wert 0 erreicht ist, erzeugt is das INT-Flipflop 250 der Fig. 9 ein Unterbrechungssignal auf der Leitung 210 an den Prozessor. Der Zweck dafür, dass Nullen in das Thyristorwählregister eingegeben werden, besteht darin, zu verhindern, dass irgendein Thyristorpaar zu diesem Zeitpunkt gezündet wird. 20 When the system is first started, as shown in the upper left block of FIG. 14, the program provides an i pseudo interrupt to the system by loading a number 16 into the down counter 224 of FIG. 9. At this time, zero values are also loaded into the thyristor select register 268 of FIG. 11B. The down counter then begins counting against the value 0, and when the value 0 is reached, the INT flip-flop 250 of FIG. 9 generates an interrupt signal on line 210 to the processor. The purpose of having zeros entered in the thyristor selection register is to prevent any pair of thyristors from firing at that time. 20th

Der Prozessor tritt nun bei Empfang des Unterbrechungssignals in die Unterbrechungssubroutine ein. Das Programm tritt in einen ersten Lesentscheidungsblock ein, der bestimmt, ob dies die erste oder zweite Stromlesung vom Analog-/Digital-wandler 80 der Fig. 3 ist. Unter der Annahme, dass es sich um 25 die erste Stromlesung handelt, geht das Programm durch einen Ja-Zweig in einen Block, in dem der erste Strom vom Analog-/ Digitalwandler gelesen wird. Das Programm bestimmt ferner in diesem Block, ob sich das System im kontinuierlichen oder diskontinuierlichen Strombetrieb befindet, wobei es die Werte 30 des ersten Stroms mit einer Konstanten vergleicht, die proportional zu einem vorgegebenen Strom ist. Das Programm läuft dann weiter und setzt den zuvor erwähnten Zündwinkel für eine 20°-Verzögerung. Das Programm läuft weiter und liest die Systemtaktbits IDI B0 bis ID1B7 auf den Leitungen 90 der 35 Fig. 5 aus und berechnet den Wert von NEWTIM. Nach Abschluss der Berechnung von NEWTIM läuft das Programm weiter und berechnet TIMTGO, wobei diese Grösse zu diesem Zeitpunkt eine 20°-Verzögerung einschliesst. Das Programm tritt dann in eine Schleife ein und fährt fort, den Systemtakt zu 40 lesen, bis NEWTIM gleich den 5 am wenigsten signifikanten Bits des durch den Wert 32 teilenden Zählers 170 der Fig. 5 ist, die als IDI B3 bis ID1B7 bezeichnet sind. Wenn diese beiden Werte gleich sind, lädt der Prozessor den Wert TIMTGO, der proportional zum Zündwinkel ist, in den Abwärtszähler und 45 fährt fort, ein Kennzeichen (flag) für die zweite Lesung zu setzen. The processor now enters the interrupt subroutine upon receipt of the interrupt signal. The program enters a first read decision block, which determines whether this is the first or second current reading from the analog / digital converter 80 of FIG. 3. Assuming that this is the first current reading, the program goes through a yes branch into a block in which the first current is read by the analog / digital converter. The program also determines in this block whether the system is in continuous or discontinuous current operation, comparing the values 30 of the first current with a constant that is proportional to a given current. The program then continues and sets the aforementioned ignition angle for a 20 ° delay. The program continues and reads the system clock bits IDI B0 to ID1B7 on lines 90 of FIG. 5 and calculates the value of NEWTIM. After the calculation of NEWTIM has been completed, the program continues and calculates TIMTGO, whereby this variable includes a 20 ° delay at this time. The program then loops and continues to read the system clock 40 until NEWTIM equals the 5 least significant bits of the 32-by-32 counter 170 of FIG. 5, designated IDI B3 through ID1B7. If these two values are equal, the processor loads the TIMTGO value, which is proportional to the firing angle, into the down counter and 45 continues to set a flag for the second reading.

Das Programm fährt dann fort, zu prüfen, ob eine neue Tachometerlesung im Tachoimpulszählerregister vorhanden ist. Wenn ein neuer Lesewert vorhanden ist, wird er ausgelesen 50 und den Tachometerlesewerten hinzugefügt, die schon im Speicher (CACTI) akkumuliert sind. Das Programm überprüft dann, ob drei aufeinanderfolgende Ablesungen oder Lesewerte akkumuliert sind. Ist dies nicht der Fall, verzweigt sich das Programm nicht und läuft zurück in das Hauptprogramm, bis ein 55 weiteres Unterbrechungssignal vom Prozessor erhalten wird (das heisst wenn TIMTGO gleich 0 ist). Zu diesem Zeitpunkt erfolgt ein neuer Eintritt in den ersten Leseentscheidungsblock, und bei diesem Eintritt tritt das Programm, da das flag-Kennzei-chen für die zweite Lesung gesetzt ist, durch den Nein-Zweig 60 des letzten Entscheidungsblocks aus und tritt in einen Block ein, in dem der Prozessor den zweiten Strom aus dem Analog-/ Digitalwandler ausliest. The program then continues to check for a new tachometer reading in the tachometer counter register. If a new read value is available, it is read out 50 and added to the tachometer read values which have already been accumulated in the memory (CACTI). The program then checks whether three consecutive readings or readings are accumulated. If this is not the case, the program does not branch and runs back into the main program until a further interrupt signal is received from the processor (that is, if TIMTGO is 0). At this point, the first read decision block is re-entered, and at this entry, since the flag for the second reading is set, the program exits through the no branch 60 of the last decision block and enters a block , in which the processor reads the second current from the analog / digital converter.

Nachdem der zweite Strom gelesen ist, führt das Programm nun Reglerberechnungen aus, um die Grössen FINVAL und 65 TIMTGO zu berechnen. Beim Abschluss dieser Berechnungen schreibt der Prozessor dann die Thyristorpaaradresse in das Thyristorwählregister 268 der Fig. 11B. Zu diesem Zeitpunkt tritt der Prozessor wieder in eine Schleife ein, um mit dem Lesen des Systemtakts fortzufahren, bis die Werte von NEWTIM und ID1B3 bis ID1B7 gleich sind. Wenn diese Werte gleich sind, wird dem Prozessor mitgeteilt, wenn TIMTGO in den Abwärtszähler geladen werden soll, was zu dieser Zeit erfolgt. Der Prozessor fährt dann fort, die Thyristorpaaradresse im zuvor erwähnten PH-Zähler zu aktualisieren und setzt dann ein flag-Kennzeichen für die erste Stromlesung, so dass beim nächsten Durchgang durch das Programm eine erste Auslesung vorgenommen wird. Das Programm kehrt dann zurück und liest erneut den Tachometer ab, um festzustellen, ob ein Lesewert verfügbar ist, und es prüft dann, ob drei aufeinanderfolgende Tachometerlesewerte akkumuliert sind. Wenn 3 Lesewerte noch nicht akkumuliert sind und ein Geschwindigkeitsregler Anfrage-flag-Kennzeichen (SPDFLG) nicht gesetzt ist, läuft das Programm durch die gerade beschriebene Schleife weiter und läuft zurück durch den ersten Leseentscheidungsblock, aus dem Ja-Zweig heraus und fährt mit den Stromreglerberechnungen fort, wie dies beim zweiten Auslesen gerade beschrieben wurde. Wenn nach der zuvor erwähnten Prüfung bezüglich eines neuen Tachometerlesewerts drei aufeinanderfolgende Lesewerte verfügbar sind, werden neue Werte für die Motorgeschwindigkeit (CACT), stetig gemachte Motorbeschleunigung (TACSMD) und Gegenelektromotorische Kraft (CEMF) berechnet. Das Geschwindigkeitsregler-flag-Kennzei-chen (SPDFLG) wird auf Null gesetzt, um zu bewirken, dass eine Geschwindigkeitsreglerberechnung durchgeführt wird. Bei Abschluss dieser Berechnungen wird ein flag-Kennzeichen für eine zweite Stromlesung gesetzt, wodurch angezeigt wird, dass die erste Lesung gerade gemacht wurde, und das Programm zweigt zum Hauptprogramm zurück, wobei ein Unterbrechungssignal vom INT-Zündlogik-Flipflop 250 der Fig. 9 abgegeben wird, wie zuvor beschrieben wurde. Wenn jedoch kein flag-Kennzeichen für die zweite Auslesung gesetzt wird, wird ein Ja-Zweig zu einem Block genommen, um die Zeit zur Durchführung der Geschwindigkeitsreglerberechnung zu prüfen, die Grösse SPDFLG wird um 1 erhöht und dann bezüglich des Werts 2 geprüft. Wenn dieser Tèst durchgeht, wird mit der Geschwindigkeitsreglerberechnung begonnen. Wenn nicht, wird, wie schon zuvor, wieder in das Hauptprogramm eingetreten. Diese Prozedur stellt sicher, dass Regler- und Versteti-gungsberechnungen zwischen dem Zünden der Thyristoren nicht im gleichen Intervall durchgeführt werden. Dies wurde getan, um eine Überlastung des Rechners zu verhindern. Bei Abschluss der Geschwindigkeitsreglerberechnungen läuft das Programm bei schwebendem Empfang des Unterbrechungssignals vom Zündzähler zurück in das Hauptprogramm. After the second stream has been read, the program now carries out controller calculations to calculate the sizes FINVAL and 65 TIMTGO. Upon completion of these calculations, the processor then writes the thyristor pair address to the thyristor select register 268 of FIG. 11B. At this point the processor loops again to continue reading the system clock until the values of NEWTIM and ID1B3 through ID1B7 are equal. If these values are the same, the processor is informed if TIMTGO is to be loaded into the down counter, which is happening at that time. The processor then continues to update the thyristor pair address in the aforementioned PH counter and then sets a flag for the first current reading, so that a first reading is made the next time the program is run. The program then returns and reads the tachometer again to determine if a reading is available and then checks to see if three consecutive tachometer reads have accumulated. If 3 read values have not yet been accumulated and a speed controller request flag flag (SPDFLG) is not set, the program continues through the loop just described and runs back through the first read decision block, out of the yes branch and continues with the current controller calculations continues, as was just described during the second readout. If three consecutive readings are available after the aforementioned check for a new tachometer reading, new values for engine speed (CACT), steady-state engine acceleration (TACSMD) and counter electromotive force (CEMF) are calculated. The cruise control flag (SPDFLG) is set to zero to cause a cruise control calculation to be performed. Upon completion of these calculations, a flag is set for a second current reading, indicating that the first reading has just been made, and the program branches back to the main program with an interrupt signal from INT firing logic flip-flop 250 of FIG. 9 as previously described. However, if no flag is set for the second reading, a yes branch is taken to a block to check the time for the speed controller calculation to be carried out, the size SPDFLG is increased by 1 and then checked for the value 2. When this test goes through, the cruise control calculation starts. If not, the main program is entered again, as before. This procedure ensures that controller and continuity calculations between firing the thyristors are not performed in the same interval. This was done to avoid overloading the computer. When the speed controller calculations are completed, the program runs back to the main program when the interruption signal from the ignition counter is pending.

Auf dem breiten Hintergrund der Beschreibung des Systembetriebs in Verbindung mit den Fig. 13 und 14 wird nun auf die Fig. 15 bis 24 Bezug genommen, die in Form detaillierter Flussdiagramme die Ausführung des Stromreglerprogramms zur Steuerung und Regelung des erfindungsgemässen Regierund Steuersystems zeigen. Es wird zuerst auf Fig. 15 Bezug genommen, die ein Flussdiagramm darstellt, welches das erfin-dungsgemässe Hauptprogramm wiedergibt. Nicht enthalten in Fig. 15 ist eine Standardauslöseroutine, die normalerweise jedes Programm durchläuft, um alle verschiedenen Register und Speicherplätze im Speicher für einen Programmlauf vorzubereiten. Da diese Art der Auslösung bekannt ist, ist sie in Fig. 15 nicht dargestellt, vielmehr wird angenommen, dass das Programm an einer Einsprungstelle beginnt, die BEGIN bezeichnet ist. Wenn das System zuerst startet, wobei der Start an der Einsprungstelle BEGIN erfolgt, liest der Prozessor zuerst die Einrichtung 3, den Tachoimpulszähler 88, wie in den Fig. 4 und 7 dargestellt ist. Die durch den Rechner gelesenen Bits sind die Bits ID3B0 bis ID3B7 auf den Leitungen 22. Diese Bits werden durch den 8-Bit-Multiplexer 128 der Fig. 4 in Abhängigkeit von einer Leseadresse, die durch die Bits IR5 bis On the broad background of the description of the system operation in connection with FIGS. 13 and 14, reference is now made to FIGS. 15 to 24, which show in the form of detailed flow diagrams the execution of the current regulator program for controlling and regulating the regulating and control system according to the invention. Reference is first made to Fig. 15, which is a flow chart depicting the main program of the invention. Not included in Figure 15 is a standard trigger routine that normally runs through each program to prepare all of the various registers and locations in memory for a program run. Since this type of triggering is known, it is not shown in FIG. 15, rather it is assumed that the program begins at an entry point that is designated BEGIN. When the system starts first, starting at the BEGIN entry point, the processor first reads the device 3, the tachometer pulse counter 88, as shown in FIGS. 4 and 7. The bits read by the computer are bits ID3B0 to ID3B7 on lines 22. These bits are determined by the 8-bit multiplexer 128 of FIG. 4 depending on a read address which is represented by bits IR5 to

15 632615 15 632615

IR7 bezeichnet ist, und einen READ-P-Impuls auf der Auslöse- erwähnten Drehzahlreferenzschalter, die einen Drehzahlsollleitung ausgelesen, die zum Multiplexer 128 führt. wert des Motors in Umdrehungen pro Minute kennzeichnen IR7, and a READ-P pulse on the trip-mentioned speed reference switch, which reads out a speed reference line that leads to multiplexer 128. Mark the value of the motor in revolutions per minute

Der Prozessor prüft dann in einem Entscheidungsblock (Bits ID6B3 bis ID6B7 und ID7B0 bis ID7B7) in einem TACH COUNT = 0, um zu bestimmen, ob der Motor sich Speicherplatz im Prozessorprogramm 62 gespeichert, der als dreht. Sofern der Tachozähler-(tach count-)Lesewert (ID3B0- s CHALF bezeichnet ist und den Speicherplatz für den Dreh-ID3B7) nicht 0 ist, zeigt der Prozessor an, dass CEMF nicht 0 ist zahlsollwert darstellt. The processor then checks in a decision block (bits ID6B3 through ID6B7 and ID7B0 through ID7B7) in a TACH COUNT = 0 to determine whether the engine is storing memory in the processor program 62 that is rotating. If the tacho count (ID3B0- s CHALF) is designated and the storage space for the rotary ID3B7) is not 0, the processor indicates that CEMF is not 0 is the setpoint.

und der Motor sich dreht, und das Programm nimmt eine Nein- Das Programm fährt nun fort, das Vorzeichen des Platzes Verzweigung von diesem Entscheidungsblock und läuft in der CHALF gemäss der Einstellung des FWD/REV-Schalters zu Schleife zurück zu BEGIN, bis CEMF oder TACH COUNT 0 setzen, wobei zuerst ein «Leseeinrichtung-0»-Signal zur ist. Wenn TACH COUNT 0 ist, tritt das Programm durch eine to Systemschnittstelle gesendet wird und Bit ID0B5 aus der Ein-Ja-Verzweigung in den nächsten Aktionsblock, in welchem der richtung 0 ausgelesen wird. Wenn ID0B5 angibt, dass der Prozessor die Einrichtung 0(18' der Fig. 4) liest. ID4B0 ist das Motor in Vorwärtsrichtung laufen soll, wird der Platz CHALF zu diesem Zeitpunkt vom Prozessor gelesene Bit, um im Ein-/ nicht verändert, wenn jedoch ID0B5 angibt, dass die Richtung Ausschalter zu lesen und um festzustellen, ob der Motor einge- des Motors in Rückwärtsrichtung laufen soll, dann wird das schaltet wurde. Zusätzlich sendet der Prozessor einen «Lese- 15 binäre Komplement (2s-Komplement) von CHALF genommen einrichtung-0»-Befehl an die Prozessor-/Systemschnittstelle, und folglich für CHALF substituiert. and the motor turns, and the program takes a no- the program now continues, the sign of the place branch from this decision block and runs in the CHALF according to the setting of the FWD / REV switch to loop back to BEGIN until CEMF or Set TACH COUNT 0, whereby a "reader 0" signal is first. If TACH COUNT is 0, the program enters through a to system interface and bit ID0B5 from the one-yes branch into the next action block, in which direction 0 is read out. If ID0B5 indicates that the processor is reading device 0 (18 'of FIG. 4). If ID4B0 is the motor to run in the forward direction, the CHALF place is read by the processor at this point in order to not change the on / on, however if ID0B5 indicates that the direction of the switch is read and to determine whether the motor is on Motors should run in the reverse direction, then that has been switched. In addition, the processor sends a “read 15 binary complement (2s complement) taken from CHALF device-0” command to the processor / system interface, and consequently substituted for CHALF.

wobei das RDVO-Signal auf der Leitung 130 zum INT-Flipflop Das Programm fährt nun fort, festzustellen, ob der ON/ 250 erzeugt wird, wodurch dieses Flipflop zurückgesetzt wird. OFF-Schalter sich in der OFF-Stellung befindet. Wenn der Das INT-Flipflop 250 befindet sich nun in einem Zustand, in Schalter in der OFF-Stellung liegt, tritt das Programm durch dem es ein Unterbrechungssignal zur richtigen Zeit während 20 eine Ja-Verzweigung aus und geht zurück zu BEGINN, des Betriebs des Systems erzeugt. wodurch die gerade beschriebenen Operationen wiederholt the RDVO signal on line 130 to the INT flip-flop. The program now continues to determine if the ON / 250 is being generated, thereby resetting this flip-flop. OFF switch is in the OFF position. If the INT flip-flop 250 is now in a state with the switch in the OFF position, the program exits by giving an interrupt signal at the right time during 20 yes branch and goes back to BEGIN, the operation of the System. which repeats the operations just described

Das Programm läuft nun in einen Entscheidungsblock werden. Wird jedoch angnommen, dass der ON/OFF-Schalter The program now runs into a decision block. However, it is assumed that the ON / OFF switch

ON/OFF SCHALTER EIN. Wenn, in diesem Entscheidungs- nicht in der OFF-Stellung liegt, tritt das Programm aus dem block, der ON/OFF-Schalter, der gerade von der Einrichtung 0 letzten Entscheidungsblock durch eine Nein-Verzweigung aus gelesen wurde, nicht im eingeschalteten Zustand liegt, nimmt 25 und kehrt zur START-Einsprungstelle zurück, wie in Fig. 15 das Programm eine Nein-Verzweigung zurück zum Beginn des dargestellt ist. Das Programm setzt nun den Durchlauf durch Programms und läuft im Programm so lange um, bis der ON/ die Schleife vom START-Punkt nach unten bis zum ON/OFF-OFF-Schalter eingeschaltet ist. Es wird nun angenommen, dass Schalter AUS (OFF>Entscheidungsblock fort, bis ein Unter-der ON/OFF-Schalter eingeschaltet sei, wobei dann das Pro- brechungssignal durch den Datenprozessor vom INT-Flipflop gramm durch eine Ja-Verzweigung austritt und in einen 30 250 in der Zündlogik 9 erhalten wird. ON / OFF SWITCH ON. If, in this decision is not in the OFF position, the program comes out of the block, the ON / OFF switch, which was just read from the last decision block 0 by means of a No branch, is not in the switched-on state , takes 25 and returns to the START entry point, as shown in Fig. 15 the program takes a no branch back to the beginning of the. The program now runs through the program and runs in the program until the ON / loop from the START point down to the ON / OFF-OFF switch is switched on. It is now assumed that the switch OFF (OFF> decision block continues until a sub-ON / OFF switch is switched on, in which case the break signal from the data processor exits the INT flip-flop program through a yes branch and into one 30 250 is obtained in the ignition logic 9.

Aktionsblock eintritt, in dem der Prozessor einen «Schreibe- Wie schon in Verbindung mit dem Zündbetrieb der Logik Action block occurs in which the processor writes a «As already in connection with the ignition operation of the logic

Einrichtung-1 »-Befehl zusammen mit Datenbits WDB0-WDB7 beschrieben wurde, wird das INT-Flipflop 250 gesetzt, um ein zur Prozessor-/Systemschnittstelle der Fig. 4 überträgt, um die INT-Signal auf der Leitung 210 zum Prozessor zu schicken, Erzeugung des WDV1 -Signals auf der Leitung 212 zu veranlas- wenn der Abwärtszähler einen Zählwert 0 erreicht. Es ist wichsen, das zur Zündlogik der Fig. 9 gesendet werden soll, und um 35 tig, darauf hinzuweisen, dass das Unterbrechungssignal von der den Zählwert 16 in die Schreibdatenverriegelung und in den Zündlogik zu j eder Zeit während der Ausführung dieser letzt-Abwärtszähler 224 in der zuvor beschriebenen Weise zu laden. genannten Schleife (das heisst zwischen der START-Ein-Der Zweck, den Zählwert 16 in den Abwärtszähler 224 zu sprungstelle und dem ON/OFF-SCHALTER-AUS-Entschei- Device-1 'command along with data bits WDB0-WDB7, the INT flip-flop 250 is set to transmit to the processor / system interface of Fig. 4 to send the INT signal on line 210 to the processor, Generate the WDV1 signal on line 212 when the down counter reaches a count of 0. It is wanking to be sent to the firing logic of FIG. 9 and by 35 to indicate that the interrupt signal from the count 16 into the write data latch and firing logic is at all times during the execution of this last down counter 224 load in the manner previously described. called loop (that is, between the START-On-The purpose to jump the count 16 into the down counter 224 and the ON / OFF-SWITCH-OFF decision

laden, besteht darin, eine Pseudounterbrechung an den Prozes- dungsblock) auftreten kann. Wenn die Unterbrechung auftritt, sor zu liefern, so dass der Prozessor mit der Ausführung des 40 springt der Prozessor vom Hauptprogramm der Fig. 15 in eine Hauptprogramms und allen anschliessenden Subroutinen Startstelle INTPT der Fig. 16, den Beginn des Unterbrechungs beginnen kann, in die ein Eintritt vom Hauptprogramm aus programms. Wie noch ersichtlich wird, kehrt bei Beendigung erfolgt. des Unterbrechungsprogramms, wenn alle Berechnungen is a pseudo interrupt to the process block) can occur. When the interruption occurs, sor to deliver so that when the 40 is executed, the processor jumps from the main program of FIG. 15 to a main program and all subsequent subroutines starting point INTPT of FIG. 16 to begin the start of the interrupt an entry from the main program. As can still be seen, it returns upon completion. the interrupt program when all calculations

Zu diesem Zeitpunkt beginnt der Abwärtszähler mit der abgeschlossen sind, zurück zum Hauptprogramm der Fig. 15, Abwärtszählung, während das Programm umgehend an eine 45 zu demjenigen Punkt, an dem die Unterbrechung auftrat. START-Einsprungstelle weiterläuft, vergleiche Fig. 15. Der Es werde nun angenommen, dass der Prozessor das Unter At this point, the down counter that is completed starts back to the main program of FIG. 15, down counting, while the program immediately goes to 45 at the point at which the interrupt occurred. START entry point continues, see Fig. 15. It is now assumed that the processor is the sub

Prozessor sendet einen «Lies-Einrichtung-6»-Befehl zur Prozes- brechungssignal auf der Leitung 210 erzeugt hat, wodurch das sor-/Systemschnittstelle, um das Ablesen des Drehzahlreferenz- Programm in die Stelle START INTPT der Fig. 16 eintritt. Die Änderungsschalters durchzuführen, der durch Bit ID6B0 auf erste Operation durch den Prozessor besteht darin, die Strom-den Leitungen 66 gezeichnet ist, vergleiche Fig. 4. Der Zustand 50 werte der verschiedenen Prozessorregister, insbesondere des des Bits ID6B0 wird nun vom Prozessor abgefragt, um festzu- zuvor in Verbindung mit Fig. 2 beschriebenen Zwischenspei-stellen, ob der Drehzahländerungsschalter sich im Ein-Zustand chers, zu speichern. Dies stellt eine Standardprozedur bei allen befindet. Der Drehzahländerungsschalter ist als ein vom Benut- Betriebsprogrammen dar, wenn von einer Subroutine oder Pro-zer gesteuerter Schalter auf einer Konsole ausgebildet, der gramm zu einer anderen gesprungen wird, so dass diese Werte nicht dargestellt ist, und bildet einen Teil der Drehzahlreferenz- 55 später wieder gespeichert werden können, wenn eine Rück-schalter 18 (Eingangseinrichtungen 6 und 7), die von einem kehr zum Programm erfolgt, von dem der Sprung aus gemacht The processor sends a “Read 6” command to the process break signal on line 210 which causes the sor / system interface to read the speed reference program into the START INTPT of FIG. 16. The change switch to be carried out by bit ID6B0 on the first operation by the processor is to draw the current lines 66, see FIG. 4. The state 50 values of the various processor registers, in particular that of bit ID6B0, is now queried by the processor. in order to determine whether the speed change switch is in the on-state, as previously described in connection with FIG. 2. This represents a standard procedure for everyone located. The speed change switch is shown as being one of the user operating programs when a switch controlled by a subroutine or processor is formed on one console, the program is jumped to another so that these values are not shown, and forms part of the speed reference 55 can be saved again later if a reset switch 18 (input devices 6 and 7) that occurs from a return to the program from which the jump was made

Benutzer betätigt werden, wenn der Benutzer wünscht, die wurde. Users can be operated when the user desires that has been.

Drehzahlreferenz-Eingabe an den Datenprozessor zu ändern, Dann fährt der Prozessor fort, einen «Lies-Einrichtung-0»- To change speed reference input to the data processor, then the processor continues to run a "Read Setup-0" -

um die Drehzahl des Motors zu ändern. Solange dieser Schalter Befehl zur Prozessorschnittstelle der Fig. 4 zu senden, um das im Ein-Zustand liegt, fährt das Programm fort und tritt durch 6o Bit ID0B0 des ON/OFF-Schalters auszulesen und gleichzeitig den Ja-Zweig des Entscheidungsblocks CHANGE SPEED SW das Unterbrechungs-Flipflop zurückzusetzen oder zu löschen, ON aus und kehrt im Programm zurück zum START-Punkt. wobei das RDVO-Signal vom Dekoder 126 der Fig. 4 zur Zünd- to change the speed of the motor. As long as this switch sends the command to the processor interface of FIG. 4, which is in the on state, the program continues and passes through 6o bit ID0B0 of the ON / OFF switch to read out and at the same time the yes branch of the decision block CHANGE SPEED SW Reset or clear interrupt flip-flop, ON off and returns to the START point in the program. the RDVO signal from decoder 126 of FIG. 4 to the ignition

Es werde nun angenommen, dass der Drehzahländerungs- logik in der zuvor beschriebenen Weise gesendet wird. Der Schalter nicht im Ein-Zustand liegt, wobei dann das Programm ON/OFF-Schalter wird nun geprüft, um festzustellen, ob er im durch eine Nein-Verzweigung in einen Aktionsblock eintritt, in 65 AUS- oder OFF-Zustand ist. Sofern der Schalter im OFF-dem der Prozessor Befehle zur Prozessor-/Systemschnittstelle Zustand liegt, wodurch angezeigt wird, dass Leistung vom sendet, um die Einrichtungen 6 und 7 über Leitungen 66 in den Motor abgenommen werden soll, tritt das Programm durch Prozessor einzulesen. In diesem Augenblick werden die zuvor einen Ja-Zweig aus, und die zuvor gespeicherten Register wer- It is now assumed that the speed change logic is sent in the manner previously described. The switch is not in the on state, and the program ON / OFF switch is now checked to determine whether it enters the action block by a no branch, is in the OFF or OFF state. If the switch is in the OFF state that the processor has commands to the processor / system interface state, which indicates that power is being sent by the device 6 and 7 to the motor 6 via lines 66, the program is read by the processor. At this moment, the previously a yes branch is made, and the previously saved registers are

632615 632615

16 16

den nun wieder auf ihre ursprünglichen Werte zurückgespeichert, und das Programm kehrt zur Fig. 15 zurück, in der die Operationen ablaufen, wie schon beschrieben wurde. Es werde jedoch angenommen, dass der ON/OFF-Schalter nicht im OFF(AUS)-Zustand liegt, wobei dann das Programm durch eine Nein-Verzweigung in einen ersten CURRENT-REA-DING-Entscheidungsblock (CURFLG = 0) eintritt. Im letztgenannten Entscheidungsblock wird ein Test ausgeführt, um festzustellen, ob dies der erste Stromlesewert ist. Der Test wird hier mit variablem Kennzeichen (variable flag) im Speicher vorgenommen, das CURFLG für das erste Stromlesewert-Kennzeichen bezeichnet wird. Wenn D'CURFLG gleich 0 ist, so zeigt dies an, dass dies der erste Stromlesewert ist, wenn CURFLG eine binäre 1 ist, so zeigt dies an, dass es der zweite Stromlesewert ist. which is now restored to its original values, and the program returns to FIG. 15, in which the operations take place, as has already been described. However, it is assumed that the ON / OFF switch is not in the OFF state, and the program then enters a first CURRENT-REA-DING decision block (CURFLG = 0) by a No branch. A test is performed in the latter decision block to determine if this is the first current reading. The test is carried out here with a variable flag in the memory, which is called CURFLG for the first current reading flag. If D'CURFLG is 0, this indicates that this is the first current reading, if CURFLG is a binary 1, it indicates that it is the second current reading.

Unter der Annahme, dass zurzeit CURFLG gleich 0 ist, tritt das Programm durch eine Ja-Verzweigung aus und tritt in einen Aktionsblock ein, in welchem der Prozessor einen «Lies-Ein-richtung-5»-Befehl zur Prozessor-/Systemschnittstelle sendet, der anweist, dass der Analog-/Digitalwandler 80 die Bits ID5B0 bis ID7B7 durch den 8-Bit-Multiplexer in den Prozessor auf den Eingabedatenleitungen IDO bis ID7 einliest. Der durch die Bits ID5B0 bis ID5B7 spezifizierte Wert wird in einem CRNT bezeichneten Platz im Speicher gespeichert, wobei dieser Platz ein Speicherplatz für den gemessenen Motorstrom ist. Das Programm läuft dann zu einem Entscheidungsblock weiter, in dem ein im Speicher gespeicherter konstanter Wert CURTOL mit dem Absolutwert von CRNT verglichen wird. Der Wert von CURTOL ist einem Wert von 1 bis 2 Prozent des Motornennstroms proportional und wird benutzt, um eine Prüfung bezüglich des diskontinuierlichen Strombetriebs vorzunehmen. Sofern CURTOL kleiner als CRNT ist, tritt das Programm durch eine Ja-Verzweigung aus und geht in den diskontinuierlichen Betrieb, während dann, wenn CURTOL grösser als CRNT ist, der kontinuierliche Betrieb vorliegt, und das Programm durch die Nein-Verzweigung austritt. Assuming that currently CURFLG is 0, the program exits with a yes branch and enters an action block in which the processor sends a “Read Setup 5” command to the processor / system interface, which instructs that the analog / digital converter 80 reads the bits ID5B0 to ID7B7 through the 8-bit multiplexer into the processor on the input data lines IDO to ID7. The value specified by bits ID5B0 to ID5B7 is stored in a location in the memory designated CRNT, this location being a location for the measured motor current. The program then continues to a decision block in which a constant value CURTOL stored in the memory is compared with the absolute value of CRNT. The value of CURTOL is proportional to a value of 1 to 2 percent of the nominal motor current and is used to carry out a test regarding discontinuous current operation. If CURTOL is smaller than CRNT, the program exits with a yes branch and goes into discontinuous operation, while if CURTOL is larger than CRNT, continuous operation is present and the program exits with a no branch.

Es wird zuerst angenommen, dass der Motor im diskontinuierlichen Betrieb arbeitet. Wenn also durch den Ja-Zweig ausgetreten wird, setzt der Prozessor ein Betriebsartkennzeichen MODFLG im Speicher auf einen Wert 1, wodurch angezeigt wird, dass das System nun im diskontinuierlichen Strombetrieb arbeitet. Im Speicher sind vier Konstanten gespeichert, die Gl und G2 bezeichnet sind. Es sind zwei Konstanten Gl und zwei Konstanten G2 vorhanden, wobei ein Paar verwendet wird, wenn das System im diskontinuierlichen Betrieb arbeitet, und das andere Paar der Grössen Gl und G2 verwendet wird, wenn das System im kontinuierlichen Betrieb arbeitet. Diese Konstanten, die für kontinuierlichen und diskontinuierlichen Strombetrieb benutzt werden, sind Verstärkungskonstanten, die gewählt sind, um die von der Motorantriebsschleife geforderte Gesamtverstärkung zu schaffen, wenn der Motor in dem einen oder dem anderen Betrieb arbeitet. So wählt zum Beispiel im diskontinuierlichen Betrieb das Programm die richtigen Gl und G2 aus, die Verstärkungen von 32 bzw. 0 besitzen. Im letzteren Aktionsblock werden auch negative und positive obere und untere Grenzwerte (VRLIMN und VRLIMP) vom Speicher ausgelesen und in die Unterbrechungssubroutine gebracht, um beim Aufbau von oberen und unteren Grenzwerten für die Motorspannung verwendet zu werden, die durch den Stromregler berechnet werden. It is first assumed that the engine is operating in a discontinuous mode. If the Yes branch is used, the processor sets a mode flag MODFLG in the memory to a value of 1, which indicates that the system is now operating in discontinuous current mode. Four constants are stored in the memory, which are designated G1 and G2. There are two constants Gl and two constants G2, one pair being used when the system is operating in a batch mode and the other pair of sizes Gl and G2 is used when the system is operating in a continuous mode. These constants, which are used for continuous and discontinuous current operation, are gain constants chosen to provide the overall gain required by the motor drive loop when the motor is operating in one or the other mode. In discontinuous operation, for example, the program selects the correct Gl and G2, which have gains of 32 and 0, respectively. In the latter action block, negative and positive upper and lower limit values (VRLIMN and VRLIMP) are also read from the memory and brought into the interrupt subroutine to be used in the construction of upper and lower limit values for the motor voltage, which are calculated by the current controller.

Bei Abschluss dieser letzten Operationen tritt das Programm in die Anschlussstelle B der Fig. 17 ein. Unter Bezugnahme auf Fig. 17 sei bemerkt, dass die Anschlussstelle A von der Fig. 16 ebenfalls in die Fig. 17 läuft. Wie schon beschrieben, erfolgt ein Einsprung an der Anschlussstelle A in die Fig. 17, sofern das System im kontinuierlichen Betrieb arbeitet. Beim Einsprung in die Anschlussstelle A sind die im ersten Aktionsblock stattfindenden Operationen dieselben wie die im letzten Upon completion of these last operations, the program enters port B of FIG. 17. With reference to FIG. 17, it should be noted that the connection point A from FIG. 16 also runs into FIG. 17. As already described, there is an entry at connection point A in FIG. 17 if the system is operating in continuous mode. When entering junction A, the operations taking place in the first action block are the same as those in the last

Aktionsblock der Fig. 16 beschriebenen Aktionen, mit der Ausnahme, dass MODFLG für den kontinuierlichen Betrieb gleich 0 gesetzt ist. Das Programm wählt auch die richtigen Gl und G2 für den kontinuierlichen Strombetrieb (ein Beispiel für diese Verstärkungswerte ist Gl = 15 und G2=11). Action block of the actions described in FIG. 16, except that MODFLG is set to 0 for continuous operation. The program also selects the correct Gl and G2 for continuous current operation (an example of these gain values is Gl = 15 and G2 = 11).

Beim Einsprung in die Anschlussstelle B der Fig. 17 setzt der Prozessor den Zündwinkel derart, dass eine Unterbrechung von 20° nach dem Zünden des letzten Thyristorpaars bewirkt wird. Dies wird dadurch verwirklicht, dass der Zündwinkel FINVAL im Speicher gleich FINVAL minus einer Zahl gesetzt wird, die proportional zu 40° ist. Wenn 40° von der Grösse FINVAL subtrahiert werden, wird eine Unterbrechung zur richtigen Zeit für den zweiten Stromlesewert bewirkt. Sofern TIMTGO unter Benutzung des alten Werts von FINVAL berechnet wäre, würde das Thyristorpaar 60° später gezündet werden. Durch Subtraktion von 40° vom Wert FINVAL wird der Abwärtszählerwert derart gesetzt, dass er eine Unterbrechung 20° nach der Zündung des letzten Thyristorpaars erzeugt. Das Programm läuft nun in einen Aktionsblock weiter, in welchem ein Speicherplatz DESI, der den gewünschten Stromsollwert kennzeichnet, gleich sich selbst plus einem berechneten Wert SPDESI gesetzt wird, der eine gewünschte Änderungsgeschwindigkeit des Stromsollwerts angibt When entering connection point B in FIG. 17, the processor sets the firing angle in such a way that an interruption of 20 ° is effected after the firing of the last thyristor pair. This is achieved by setting the ignition angle FINVAL in the memory equal to FINVAL minus a number that is proportional to 40 °. If 40 ° is subtracted from the size FINVAL, an interruption is caused at the right time for the second current reading. If TIMTGO were calculated using the old FINVAL value, the thyristor pair would be triggered 60 ° later. By subtracting 40 ° from the FINVAL value, the down counter value is set in such a way that it generates an interruption 20 ° after the ignition of the last pair of thyristors. The program now continues in an action block, in which a memory location DESI, which identifies the desired current setpoint, is set equal to itself plus a calculated value SPDESI, which indicates a desired rate of change of the current setpoint

Das Programm läuft nun in eine Anschlussstelle E der Fig. 20 und tritt in einen Aktionsblock ein, in dem der Prozessor nun einen «Lies-Einrichtung-1 »-Befehl zur Prozessorschnittstelle schickt, um die Systemtaktbits ID1B0 bis ID1B7 auf den Leitungen 190 zu lesen, wie in Fig. 4 und 5 dargestellt ist. Im nächsten Aktionsblock wird das 60°-Intervall, das durch die Bits IDI B0 bis ID1B7 gekennzeichnet ist, im Platz KOCT gespeichert (vergleiche Tabelle 2), und die Zeit innerhalb des Intervalls, durch die Bits ID1B3 bis ID1B7 gekennzeichnet, The program now runs into a connection point E of FIG. 20 and enters an action block in which the processor now sends a “read device 1” command to the processor interface in order to read the system clock bits ID1B0 to ID1B7 on the lines 190 , as shown in Figs. 4 and 5. In the next action block, the 60 ° interval, which is identified by bits IDI B0 to ID1B7, is stored in place KOCT (see Table 2), and the time within the interval, is identified by bits ID1B3 to ID1B7,

wird in einem als TCLOCK bezeichneten Speicherplatz gespeichert. is stored in a memory location called TCLOCK.

Der Prozessor fährt nun fort, den Wert von NEWTIM zu berechnen und setzt diesen Speicherplatz im Speicher gleich TCLOCK plus 2, was die Verzögerungszeit darstellt, die zuvor zur Berechnung bei der Ableitung der TIMTGO-Gleichung beschrieben wurde. Zu diesem Zeitpunkt wird ferner die lange Taktzählkorrektor CORR gleich 0 gesetzt. Das Programm tritt nun in einen NEWTIM > 30 Entscheidungsblock ein. Sofern NEWTIM grösser als 30 ist, tritt das Programm durch eine Ja-Verzweigung aus und setzt das CORR-Bit auf den Wert 1. Das Programm läuft dann in einen weiteren Entscheidungsblock NEWTIM > 31. Wenn NEWTIM 32 oder grösser ist, tritt das Programm durch eine Ja-Verzweigung in einen Aktionsblock oben im rechten Teil der Fig. 20 ein, in welchem NEWTIM entweder auf den Wert 0 oder 1 gesetzt wird, indem NEWTIM = NEWTIM-32 gesetzt wird. Sofern NEWTIM den Wert 32 besitzt, wird diese Grösse auf den Wert Null gesetzt, während NEWTIM auf den Wert 1 gesetzt wird, wenn diese Grösse gleich 33 (das heisst TCLOCK = 31 + 2 = 33) ist. The processor now continues to calculate the value of NEWTIM and sets this memory location in memory to TCLOCK plus 2, which represents the delay time previously described for calculation in deriving the TIMTGO equation. At this point, the long clock counter corrector CORR is also set to 0. The program now enters a NEWTIM> 30 decision block. If NEWTIM is greater than 30, the program exits with a yes branch and sets the CORR bit to the value 1. The program then runs in a further decision block NEWTIM> 31. If NEWTIM is 32 or greater, the program executes a yes branch in an action block at the top right of FIG. 20 in which NEWTIM is either set to the value 0 or 1 by setting NEWTIM = NEWTIM-32. If NEWTIM has the value 32, this quantity is set to the value zero, whereas NEWTIM is set to the value 1 if this quantity is 33 (that is, TCLOCK = 31 + 2 = 33).

Es wird nun wiederum auf die Entscheidungsblöcke NEWTIM > 30 und NEWTIM >31 der Fig. 20 Bezug genommen. Wenn eine dieser Entscheidungen negativ ist, tritt das Programm durch eine Nein-Verzweigung des betreffenden Entscheidungsblocks aus und tritt in einen Aktionsblock ein, in welchem die Nulldurchgangszahl PHA im Speicher benutzt wird, um TIMTGO zu berechnen, wobei der Wert von KOCT als eine Adresse zur PH-Tabelle (TABPH) verwendet wird, in dem PHA gleich TABPH gesetzt wird (vergleiche Tabelle 2). Der Prozessor fährt nun fort, TIMTGO dadurch zu berechnen, dass TIMTGO gleich FINVAL (dem Zündwinkel), minus TABTP (die Offsetkorrektur der Tabelle 2, adressiert durch die Differenz zwischen PHA und PH) minus 8 x TCLOCK (das gerade gelesene Zeitintervall) minus dem Wert von CORR gesetzt wird. CORR ist zu dieser Zeit entweder 0 oder 1, je nachdem ob NEWTIM grösser oder kleiner 31 war. Der Prozessor tritt Reference is now again made to the decision blocks NEWTIM> 30 and NEWTIM> 31 of FIG. 20. If one of these decisions is negative, the program exits by no branching the decision block in question and enters an action block in which the zero crossing number PHA in memory is used to calculate TIMTGO, the value of KOCT being an address for PH table (TABPH) is used in which PHA is set to TABPH (see Table 2). The processor now continues to calculate TIMTGO by making TIMTGO equal to FINVAL (the firing angle) minus TABTP (the offset correction of Table 2, addressed by the difference between PHA and PH) minus 8 x TCLOCK (the time interval just read) minus that Value is set by CORR. CORR is either 0 or 1 at this time, depending on whether NEWTIM was greater or less than 31. The processor kicks

5 5

10 10th

15 15

20 20th

25 25th

30 30th

35 35

40 40

45 45

50 50

55 55

60 60

65 65

17 17th

632615 632615

dann in einen Entscheidungsblock CURFLG = 0 ein, in dem wiederum ein Test durchgeführt wird, um festzustellen, ob dies der erste Stromlesewert ist. Sofern CURFLG nicht gleich 0 ist, was anzeigt, dass es der zweite Stromlesewert ist, dann erfolgt ein Einsprung in Fig. 21 an der Anschlussstelle F, wobei in einen Aktionsblock eingetreten wird, in welchem der Prozessor die Thyristorpaar- und Brückenadresse an die Einrichtung 3, das Thyristorwähl- und Antriebsrichtungsregister 268 der Fig. 11B, schreibt, in dem ein WDV3-Befehl über die Leitungen 270 ausgesendet wird und die Thyristorpaar- und Brückenadresse über die Leitungen 266 als Schreibdatenbits WDBO bis WDB7 vom Treiber 138 der Prozessor-/Systemschnittstelle 64 gesendet fyird. Die Thyristorpaar- und Brückenadressen kommen von einer als OCTF bezeichneten Tabelle im Speicher, die 12 separate Adresseinsprungstellen, 6 für die Vorwärtsthyristorbrücke und 6 für die Rückwärtsthyristorbrücke, enthält. Die Plätze in der Tabelle OCTF werden durch den Inhalt des PH-Zählers adressiert, der das zu zündende Thyristorpaar und das Richtungskennzeichen DIRFLG spezifiziert, welches ein flag-Kennzeichen im Speicher ist, das angibt, ob die Vorwärts- oder die Rückwärtsbrücke zu zünden ist. then into a decision block CURFLG = 0, in which a test is again carried out to determine whether this is the first current reading. If CURFLG is not equal to 0, which indicates that it is the second current reading, then an entry in FIG. 21 takes place at connection point F, whereby an action block is entered in which the processor sends the thyristor pair and bridge address to device 3 11B, in which a WDV3 command is sent over lines 270 and the thyristor pair and bridge address over lines 266 as write data bits WDBO through WDB7 from driver 138 of processor / system interface 64 sent fyird. The thyristor pair and bridge addresses come from an OCTF table in memory that contains 12 separate address entry points, 6 for the forward thyristor bridge and 6 for the back thyristor bridge. The locations in the OCTF table are addressed by the content of the PH counter, which specifies the thyristor pair to be fired and the directional flag DIRFLG, which is a flag flag in memory that indicates whether the forward or reverse bridge is to be fired.

Es sei daran erinnert, dass die Zündung der Thyristoren tatsächlich nach der Durchführung der Berechnung von TIMTGO (das heisst im Anschluss an das Lesen des zweiten Stroms) stattfindet, es ist daher notwendig, die Thyristorpaar-und Brückenadresse zu ändern, um die richtigen Thyristoren zu zünden. Handelt es sich dagegen um einen ersten Stromlesewert, so ist es nicht wünschenswert, die Thyristorpaar- und Brückenadresse zu ändern, da zu diesem Zeitpunkt kein Zünden erfolgt. Handelt es sich also nicht um den ersten Stromlesewert, so erfolgt ein Einsprung in Fig. 21 am Punkt G aus Fig. 20, und die Aktualisierung der Thyristorpaar- und Brückenadresse wird umgangen. It should be remembered that the firing of the thyristors actually takes place after performing the calculation of TIMTGO (i.e. after reading the second current), it is therefore necessary to change the thyristor pair and bridge address in order to get the correct thyristors ignite. If, on the other hand, it is a first current reading, it is not desirable to change the thyristor pair and bridge address, since no firing takes place at this time. If it is not the first current read value, an entry in FIG. 21 takes place at point G from FIG. 20, and the update of the thyristor pair and bridge address is bypassed.

Das Programm läuft nun in einen Entscheidungsblock TIMTGO < 16. Wenn TIMTGO kleiner als 16 ist, tritt das Programm durch eine Ja-Verzweigung aus und in einen Aktionsblock ein, in welchen der Prozessor die Zahl 16 zur Einrichtung 1, den Abwärtszähler, schreibt, in dem ein WDVl-Signal von der Prozessor-/Systemschnittstelle zusammen mit der Zahl 16 auf den Schreibdaten-Sammelleitungen WDBO bis WDB7 erzeugt wird, wie zuvor erläutert wurde. Der Grund für den Test TIMTGO > besteht darin, dass ein minimaler Grenzwert für den Wert von TIMTGO gesetzt ist, um sicher zu stellen, The program now runs into a decision block TIMTGO <16. If TIMTGO is less than 16, the program exits by a yes branch and enters an action block in which the processor writes the number 16 for device 1, the down counter which a WDVl signal is generated by the processor / system interface together with the number 16 on the write data bus WDBO to WDB7, as previously explained. The reason for the TIMTGO> test is that there is a minimum limit on the value of TIMTGO to ensure

dass ständig mindestens 4° Verzögerung vor der Erzeugung eines Unterbrechungssignals an den Datenprozessor vorhanden ist, so dass ein Umwandlungsbefehl zum Analog-/Digital-wandler 80 gesendet wird, um die Durchführung einer neuen Umwandlung zu veranlassen. that there is always at least a 4 ° delay before the interrupt signal is generated to the data processor so that a conversion command is sent to the analog-to-digital converter 80 to cause a new conversion to be performed.

Sofern in Fig. 21 TIMTGO nicht kleiner als 16 ist, zweigt das Programm durch eine Nein-Verzweigung ab und tritt in einen Aktionsblock READ DEVICE 1 ein, in welchem der Prozessor wieder die Systemtaktbits IDI B0 bis IDI B7 liest. Das Programm tritt dann über einen Entscheidungsblock ID1B3 bis IDI B7 = NEWTIM in eine Schleife ein, die durch eine Nein-Verzweigung zurück zum Aktionsblock READ DEVICE 1 führt, und das Programm läuft so lange in dieser Schleife um, bis der Systemtakt gleich NEWTIM ist. Wenn diese beiden Werte gleich sind, ist es Zeit, den Abwärtszähler zu beladen, und das Programm nimmt eine Ja-Verzweigung und tritt in einen Aktionsblock ein, in dem der Prozessor nun TIMTGO in den Abwärtszähler 224 der Fig. 9 schreibt. If TIMTGO is not less than 16 in FIG. 21, the program branches off by a No branch and enters an action block READ DEVICE 1, in which the processor reads the system clock bits IDI B0 to IDI B7 again. The program then enters a loop via a decision block ID1B3 to IDI B7 = NEWTIM, which leads back to action block READ DEVICE 1 by a No branch, and the program continues in this loop until the system cycle is equal to NEWTIM. If these two values are equal, it is time to load the down counter and the program takes a yes branch and enters an action block in which the processor now writes TIMTGO to the down counter 224 of FIG. 9.

Wie schon beschrieben, startet der Abwärtszähler, um TIMTGO abwärts gegen 0 zu zählen, wenn das nächste Taktsignal von 88 Mikrosekunden Dauer (vergleiche Fig. 9 und 10) auftritt, das dem Laden des Abwärtszählers folgt. Wenn der Abwärtszähler den Wert 0 erreicht, erzeugt der Prozessor wieder ein Unterbrechungssignal auf der Leitung 210 der Fig. 9 und erzeugt auf diese Weise eine weitere Unterbrechung für den Prozessor, wie schon beschrieben wurde. Unmittelbar nach der Übertragung der Grösse TIMTGO in den Abwärtszähler geht der Prozessor von der Anschlussstelle H in Fig. 21 zur Anschlussstelle H in Fig. 22 und tritt in einen Entschei-5 dungsblock CURFLG = 0 ein. As already described, the down counter starts to count TIMTGO down to 0 when the next 88 microsecond clock signal (see Figs. 9 and 10) occurs following the loading of the down counter. When the down counter reaches 0, the processor again generates an interrupt signal on line 210 of FIG. 9, thus generating another interrupt for the processor, as previously described. Immediately after the size TIMTGO has been transferred to the down counter, the processor goes from connection point H in FIG. 21 to connection point H in FIG. 22 and enters a decision block CURFLG = 0.

In diesem Entscheidungsblock wird dann ein Test durchgeführt, um festzustellen, ob dies der erste Stromlesewert ist. Sofern es der erste Lesewert ist, tritt der Prozessor durch eine Nein-Verzweigung aus und in einen Aktionsblock ein, in dem io der Platz CURFLG, das Stromlesekennzeichen gleich dem Wert 1 gesetzt ist, um anzugeben, dass der zweite Lesewert im nächsten Durchgang durch das Programm an der Reihe ist. Handelt es sich um den ersten Lesewert, so tritt das Programm aus dem Entscheidungsblock CURFLG = 0 durch eine Ja-Ver-15 zweigung aus und tritt in einen Aktionsblock ein, in dem der Reihenfolgezähler oder Sequenzzähler PH gleich PH + 1 gesetzt wird, wodurch die Thyristorpaaradresse erhöht wird, so dass das richtige Thyristorpaar bei der nächsten Berechnung von TIMTGO gezündet wird. A test is then performed in this decision block to determine if this is the first current reading. If it is the first read value, the processor exits through a No branch and enters an action block in which the place CURFLG, the current read indicator is set to the value 1, to indicate that the second read value in the next pass through the It's the turn of the program. If it is the first read value, the program exits the decision block CURFLG = 0 by a yes branch and enters an action block in which the sequence counter or sequence counter PH is set equal to PH + 1, whereby the Thyristor pair address is increased so that the correct thyristor pair is fired the next time TIMTGO is calculated.

20 Der Prozessor tritt nun in einen Entscheidungsblock PH > 6 ein. Sofern PH grösser als 6 ist, tritt das Programm durch eine Ja-Verzweigung aus und in einen Aktionsblock ein, in dem PH nun in Vorbereitung der Zündung des Thyristorzellenpaars, welches der PH-Adresse 1 entspricht, gleich dem Wert 1 25 gesetzt wird. Sofern andererseits PH nicht grösser als 6 ist, 20 The processor now enters a decision block PH> 6. If PH is greater than 6, the program exits with a yes branch and enters an action block in which PH is now set to the value 1 25 in preparation for the ignition of the thyristor cell pair, which corresponds to PH address 1. If, on the other hand, PH is not greater than 6,

wird PH nicht verändert, und das Programm tritt durch eine Nein-Verzweigung aus und in einen Aktionsblock ein, in dem der Platz CURFLG gleich 0 gesetzt wird, zur Vorbereitung auf den ersten Stromlesewert beim nächsten Durchgang durch das 30 Programm. Die Unterbrechungssubroutine ruft nun eine Subroutine, die RDTACH bezeichnet ist, vergleiche Fig. 24. PH is not changed and the program exits with a No branch and enters an action block in which the CURFLG position is set to 0, in preparation for the first current reading on the next pass through the program. The interrupt subroutine now calls a subroutine called RDTACH, see FIG. 24.

Es wird nun auf Fig. 24 Bezug genommen, in der der Prozessor in eine Einsprungstelle START RDTACH zur READ-Tachometerroutine eintritt. In der Subroutine RDTACH liest 35 der Prozessor zuerst die Eingangseinrichtung 1, den Systemtakt, in dem die ersten signifikantesten Bits (IDI B0-ID1B2) dieses Takts gelesen werden. Es sei daran erinnert, dass diese Bits ein 60°-Intervall der Eingangsspannung definieren, wenn die Auslesung durch den Prozessor vorgenommen wird. Der Pro-40 zessor tritt nun in einen Entscheidungsblock PHOCT = ID1B0 bis IDI B2 ein. In diesem Entscheidungsblock wird ein Test durchgeführt, um festzustellen, ob ein Phasennulldurchgang seit dem letzten Durchlauf durch die Subroutine stattgefunden hat. Dies wird durch einen Vergleich der drei signifikantesten 45 Bits des 360°-Systemtakts (IDI B0-ID1B2) mit dem Platz PHOCT verwirklicht, der den Lesewert oder Wert des 60°-Intervalls vom vorausgegangenen Durchgang durch die Subroutine enthält. Eine Änderung in ID1B0 bis ID1B2 bedeutet, dass ein Nulldurchgang aufgetreten ist, und dass ein neuer so Wert in PHOCT gespeichert werden soll, um diesen Speicherplatz für nachfolgende Tests zu aktualisieren. Dies wird in einem Aktionsblock durchgeführt, in den ein Eintritt von einer Nein-Verzweigung des Entscheidungsblocks PHOCT ist gleich ID1B0 bis ID1B2 erfolgt, in dem PHOCT gleich ID1B0 bis 55ID1B2 gesetzt wird. Hat andererseits keine Änderung bei den Nulldurchgängen stattgefunden, dann tritt das Programm durch eine Ja-Verzweigung aus und kehrt von dem Punkt zu Fig. 22 zurück, den es verlassen hatte, um in einen Entscheidungsblock CURFLG = 1 einzutreten. Referring now to FIG. 24, the processor enters a START RDTACH entry point to the READ tachometer routine. In the subroutine RDTACH the processor first reads 35 the input device 1, the system clock, in which the first most significant bits (IDI B0-ID1B2) of this clock are read. It should be remembered that these bits define a 60 ° interval of the input voltage when the reading is done by the processor. The processor now enters a decision block PHOCT = ID1B0 to IDI B2. A test is performed in this decision block to determine if a phase zero crossing has occurred since the subroutine was last passed. This is accomplished by comparing the three most significant 45 bits of the 360 ° system clock (IDI B0-ID1B2) with the location PHOCT, which contains the reading or value of the 60 ° interval from the previous pass through the subroutine. A change in ID1B0 to ID1B2 means that a zero crossing has occurred and that a new value should be stored in PHOCT in order to update this storage space for subsequent tests. This is carried out in an action block in which an entry from a no branch of the decision block PHOCT is ID1B0 to ID1B2 occurs, in which PHOCT is set to ID1B0 to 55ID1B2. On the other hand, if there has been no change in the zero crossings, the program exits with a yes branch and returns from the point to Fig. 22 it had left to enter a decision block CURFLG = 1.

60 Es wird nun wieder auf Fig. 24 Bezug genommen, und es wird angenommen, dass eine Änderung in den Nulldurchgängen erfolgte, wodurch der Wert von ID1B0 bis ID1B2 geändert ist. Als Ergebnis tritt das Programm aus dem Entscheidungsblock PHOCT = ID1B2 aus, wobei PHOCT in der zuvor ange-65 gebenen Weise gesetzt ist, und tritt in einen Aktionsblock ein, in welchem der Prozessor nun die Einrichtung 3, den Tachoimpulszähler, liest, in dem er die Bits ID3B0 bis ID3B7 und ID0B4 in den Prozessor liest. Unter Bezugnahme auf Fig. 7 sei 60 Referring back to FIG. 24, it is assumed that there was a change in the zero crossings, thereby changing the value from ID1B0 to ID1B2. As a result, the program exits decision block PHOCT = ID1B2, where PHOCT is set in the manner previously indicated, and enters an action block in which the processor now reads device 3, the tachometer pulse counter, in which it reads reads bits ID3B0 through ID3B7 and ID0B4 into the processor. Referring to Fig. 7

632615 632615

18 18th

daran erinnert, dass das Bit ID0B4 als dasjenige Bit identifiziert war, welches die Laufrichtung des Motors angibt. In diesem Aktionsblock wird der Wert des Tachoimpulszählers in den Prozessor gelesen, und das Vorzeichen dieses Werts wird gemäss dem Zustand von ID0B4 gesetzt. Der Wert des Tacho- s impulszählers stellt als solcher entweder eine positive oder negative Zahl dar, die angibt, dass der Motor entweder in Vorwärts- oder in Rückwärtsrichtung läuft. Im vorliegenden System bewirkt die Adressierung der Eingabeeinrichtung 3 durch den 8-Bit-Multiplexer der Fig. 4 auch, dass das Bit ID0B4 io durch diesen Multiplexer gelesen und gleichzeitig mit den Bits ID3B0 bis ID3B7 in den Prozessor eingegeben wird. Recall that bit ID0B4 was identified as the bit indicating the direction of the motor. In this action block, the value of the tachometer pulse counter is read into the processor and the sign of this value is set according to the state of ID0B4. As such, the value of the tachometer pulse counter is either a positive or negative number, indicating that the motor is running in either the forward or reverse direction. In the present system, the addressing of the input device 3 by the 8-bit multiplexer of FIG. 4 also has the effect that the bit ID0B4 is read by this multiplexer and is simultaneously input into the processor with the bits ID3B0 to ID3B7.

In Fig. 24 tritt der Prozessor nun in einen Aktionsblock ein, in dem der Tachometerlesewert der Summe der zuvor abgegriffenen Lesewerte hinzuaddiert wird, in dem ID3B0 bis is ID3B7 einem Platz CACTI hinzuaddiert wird, der als Tachozählerakkumulator im Speicher festgelegt ist. Es lässt sich daher erkennen, dass bei jedem Durchgang durch die RDTACH-Subroutine die Tacholesewerte vom Tachoimpulszähler 88 als eine Summe im Speicherplatz CACTI akkumuliert 20 werden. Der Prozessor schreitet dann in den nächsten Aktions-block, in dem eine Zahl des Lesewertzählers CKNT im Speicher aktualisiert oder um den Wert 1 erhöht wird, wobei CKNT = CKNT + 1 gesetzt wird. Der Zweck des Zählers CKNT besteht darin, die Zahl der akkumulierten Lesewerte in CACTI 25 zu verfolgen. Dies wird durch einen Entscheidungsblock CKNT = 3 im rechten oberen Teil der Fig. 24 angezeigt, der einen Test durchführt, um festzustellen, ob 3 Lesewerte akkumuliert sind. Sofern CKNT nicht gleich 3 ist, werden die Drehzahlstetigkeitsberechnungen nicht durchgeführt, das Pro- 30 gramm tritt daher durch eine Nein-Verzweigung aus und kehrt zur Unterbrechungssubroutine zurück, die es verlassen hat, um in den Entscheidungsblock CURFLG = 1 der Fig. 22 einzutreten, wie erläutert wurde. In FIG. 24, the processor now enters an action block in which the tachometer read value is added to the sum of the previously read values, in which ID3B0 to is ID3B7 is added to a location CACTI which is defined as a tachometer accumulator in the memory. It can therefore be seen that with each pass through the RDTACH subroutine, the tachometer values from the tachometer pulse counter 88 are accumulated 20 as a sum in the memory location CACTI. The processor then proceeds to the next action block in which a number of the read value counter CKNT in the memory is updated or increased by the value 1, with CKNT = CKNT + 1 being set. The purpose of the CKNT counter is to keep track of the number of reads accumulated in CACTI 25. This is indicated by a decision block CKNT = 3 in the upper right part of FIG. 24, which carries out a test to determine whether 3 read values have been accumulated. If CKNT is not equal to 3, the speed continuity calculations are not carried out, the program therefore exits with a No branch and returns to the interrupt subroutine that it left to enter decision block CURFLG = 1 in FIG. 22, as explained.

Es wird nun in Fig. 24 angenommen, dass drei Lesewerte 35 akkumuliert sind, wobei dann das Programm durch eine Ja-Ver-zweigung austritt und in einen Entscheidungsblock eintritt, in dem eine nichtverstetigte Motordrehzahl berechnet wird. Dies wird dadurch bewirkt, dass der Platz TEMP im Speicher gleich der Summe der über die letzten zwei Durchgänge akkumulier- 40 ten Tachoimpulse gesetzt wird. Dies ist die mittlere Motordrehzahl. Die Summe wird dadurch verwirklicht, dass TEMP = It is now assumed in FIG. 24 that three read values 35 are accumulated, in which case the program exits through a yes branch and enters a decision block in which an inconsistent engine speed is calculated. This is achieved by setting the TEMP location in the memory equal to the sum of the tachometer pulses accumulated over the last two passes. This is the average engine speed. The sum is realized by TEMP =

CACT gesetzt wird, wobei CACT einen Speicherplatz darstellt, der die alte Summe der Tachometerdrehzahllesewerte mit dem Speicherplatz CACTI speichert, welcher die Summe der neuen 45 Tachometerlesewerte enthält. In diesem Aktionsblock wird der Speicherplatz CACT auch gleich CACTI gesetzt, so dass er die Summe der alten Lesewerte reflektiert oder wiedergibt. Ferner wird CACTI gleich dem Wert 0 gesetzt, so dass CACTI zur Akkumulierung der Summe der nächsten Lesewerte in nachfol- 50 genden Durchgängen ausgelöst werden kann. Ferner wird ein Drehzahlkennzeichen SPDFLG auf eine binäre 0 gebracht. SPDFLG wird benutzt, wie noch erläutert wird, um dem Prozessor mitzuteilen, ob Drehzahlreglerberechnungen durchgeführt werden sollen oder die Drehzahlreglerberechnungen aus- 55 gelassen werden sollen. Wenn SPDFLG gleich Null ist, gibt dieses Kennzeichen dem Programm an, dass die Drehzahlreglerberechnungen ausgelassen werden sollen. Das Programm schreitet dann in den nächsten Aktionsblock der Fig. 24, in dem eine stetige Drehzahl berechnet wird. Dies wird dadurch 50 bewirkt, dass ein Speicherplatz TACSMD = Platz TEMP-TAC-SUM gesetzt wird. Zusätzlich wird in diesem Aktionsblock ein Speicherplatz TACSUM gleich TACSUM + TACSMD gesetzt. Der Platz TACSUM enthält einen Wert, der proportional zu der stetigeren Drehzahl ist, und TACSMD ist die Dreh- ss zahlrate, die eine Ableitung von TACSUM ist. Das Programm fährt nun fort, die gegenelektromotorische Kraft CEMF zu berechnen, die nachfolgend bei der Berechnung der Motorklemmenspannung VT benutzt wird. CEMF wird dadurch berechnet, dass ein Platz CEMF im Speicher gleich KV, multipliziert mit dem Speicherplatz TEMP, gesetzt wird. KV ist eine Konstante, die im Speicher gespeichert ist und einen Wert besitzt, der aus der Formel KV = CEMF (VOLTS), dividiert durch Umdrehungen pro Minute, abgeleitet ist. CACT is set, where CACT represents a memory location that stores the old sum of the tachometer speed readings with the memory location CACTI, which contains the sum of the new 45 tachometer readings. In this action block the memory location CACT is also set equal to CACTI so that it reflects or reflects the sum of the old read values. Furthermore, CACTI is set equal to the value 0, so that CACTI can be triggered in subsequent passes in order to accumulate the sum of the next read values. Furthermore, a speed indicator SPDFLG is brought to a binary 0. SPDFLG is used, as will be explained, to tell the processor whether speed controller calculations should be performed or whether the speed controller calculations should be omitted. If SPDFLG is zero, this indicator indicates to the program that the speed controller calculations should be omitted. The program then proceeds to the next action block of FIG. 24, in which a constant speed is calculated. This is achieved by setting a memory location TACSMD = location TEMP-TAC-SUM. In addition, a storage location TACSUM is set equal to TACSUM + TACSMD in this action block. The TACSUM location contains a value that is proportional to the steadier speed, and TACSMD is the speed rate that is a derivative of TACSUM. The program now continues to calculate the counter electromotive force CEMF, which is subsequently used in the calculation of the motor terminal voltage VT. CEMF is calculated by setting a location CEMF in the memory equal to KV multiplied by the memory location TEMP. KV is a constant that is stored in memory and has a value derived from the formula KV = CEMF (VOLTS) divided by revolutions per minute.

Wenn die Drehzahlberechnungen nun angeschlossen sind, kehr der Prozessor fcur Unterbrechungssubroutine in Fig. 22 zurück und tritt in den Entscheidungsblock CURFLG = 1 ein. In diesem Entscheidungsblock führt das Programm keine Stromdrehzahl-Reglerberechnungen aus, wenn CURFLG gleich 1 ist, wodurch angezeigt wird, dass dies der zweite Stromlesewert ist. Das Programm nimmt dann eine Ja-Verzwei-gung, die zur Stelle J am oberen Ende der Fig. 22 eintritt, in der die Zwischenregister wieder hergestellt werden, wie beschrieben wurde, und das Programm zum Hauptprogramm an der Unterbrechungsstelle in Fig. 15 zurückkehrte. Es soll jedoch angenommen werden, dass CURFLG nicht gleich 1 ist, wodurch angezeigt wird, dass dies der erste Stromlesewert ist, und der Prozessor tritt dann in eine Anschlussstelle I der Fig. 23 ein, in der das Drehzahlkennzeichen SPDFLG gleich SPDFLG + 1 gesetzt wird. In einem Entscheidungsblock SPDFLG = 1 "wird nun ein Test durchgeführt, um festzustellen, ob das Drehzahlkennzeichen gesetzt ist. Wenn das Drehzahlkennzeichen gesetzt ist, werden Drehzahlreglerberechnungen durch das Programm durchgeführt, welches durch eine Ja-Verzweigung dieses Entscheidungsblocks austritt und in einen Aktionsblock eintritt, um einen Drehzahlfehler zu berechnen. When the speed calculations are now connected, the interrupt subroutine processor in Fig. 22 returns and enters decision block CURFLG = 1. In this decision block, the program does not perform current speed controller calculations when CURFLG is 1, indicating that this is the second current reading. The program then takes a yes branch which enters position J at the top of FIG. 22, where the latches are restored as described, and the program returned to the main program at the point of interruption in FIG. 15. However, suppose that CURFLG is not 1, indicating that this is the first current reading, and the processor then enters port I of FIG. 23 where the speed indicator SPDFLG is set to SPDFLG + 1 . A test is now carried out in a decision block SPDFLG = 1 "in order to determine whether the speed indicator is set. If the speed indicator is set, speed controller calculations are carried out by the program, which exits by a yes branch of this decision block and enters an action block, to calculate a speed error.

Der Drehzahlfehler wird dadurch berechnet, dass ein Platz ERRACT im Speicher, der gleich dem Speicherplatz zur Speicherung des Drehzahlfehlers ist, gleich dem Inhalt des Platzes CHALF, dem Drehzahlsollwert, minus dem Inhalt des Platzes CACT, der alten Summe der Drehzahllesewerte oder der Drehzahl vor der Verstetigung, gesetzt wird. Beim Weiterschreiten durch das Programm, löst der Prozessor nun die Berechnung des Stromsollwerts aus, wobei gesetzt wird: Speicherplatz ERRACT = G3 x ERRACT -G4 x TACSMD. G3 und G4 sind Reglerverstärkungen, die gemäss dem speziellen Antriebsmotor gesetzt sind, um die gewünschte Drehzahlantwort abzugeben. In dieser Ausführungsform wurden Werte G3 = 1 und G4 = 16 verwendet. The speed error is calculated in that a place ERRACT in the memory, which is the same as the memory location for storing the speed error, is equal to the content of the place CHALF, the speed setpoint, minus the content of the place CACT, the old sum of the speed read values or the speed before Steadiness, is set. When the program continues, the processor now triggers the calculation of the current setpoint, whereby the following is set: Storage space ERRACT = G3 x ERRACT -G4 x TACSMD. G3 and G4 are controller gains that are set according to the special drive motor to give the desired speed response. In this embodiment values G3 = 1 and G4 = 16 were used.

Der Prozessor fährt nun fort, den Stromsollwert zu berechnen, wobei ein Wert TDESI = TDESI + ERRACT gesetzt wird. Das Programm läuft nun weiter in einen Entscheidungsblock TDESI > CURLMP am oberen Ende der Fig. 23. Im vorliegenden Antriebssystem wird ein maximaler Grenzwert für den Motorstrom festgelegt, es wird daher ein Test durchgeführt, um festzustellen, ob der Wert von TDESI, der berechnete Motorstrom, grösser oder kleiner als die festgelegten Stromgrenzwerte CURLMP und CURLMN sind. CURLMP ist der positive Stromgrenzwert, und CURLMN ist der negative Grenzwert, wie in einem Entscheidungsblock TDESI > CURLMN der Fig. 23 angegeben ist. Sofern TDESI grösser als CURLMP ist, tritt das Programm durch eine Ja-Verzweigung aus und tritt in einen Aktionsblock ein, in welchem TDESI gleich dem maximalen Stromgrenzwert CURLMP gesetzt wird. Ist andererseits CURLMP nicht grösser als TDESI, so tritt das Programm durch eine Nein-Verzweigung aus und in einen Entscheidungsblock TDESI < CURLM ein. Sofern dieser Test positiv ist, tritt das Programm durch eine Ja-Verzweigung aus, in der TDESI gleich CURLMN gesetzt wird. Sofern andererseits der Test negativ ist, tritt das Programm durch eine Nein-Verzweigung aus und in einen Aktionsblock ein, in welchem der Stromänderungssollwert nun berechnet wird. Der Stromänderungssollwert wird dadurch berechnet, dass ein Platz im Speicher, der SPDESI bezeichnet ist (Stromsollwertänderung) gleich TDESI (dem berechneten Stromsollwert) minus DESI (Stromsollwert) gesetzt wird und die Differenz The processor now continues to calculate the current setpoint, setting a value TDESI = TDESI + ERRACT. The program now continues to a decision block TDESI> CURLMP at the top of Fig. 23. In the present drive system, a maximum limit for the motor current is set, so a test is performed to determine if the value of TDESI, the calculated motor current , are larger or smaller than the specified current limit values CURLMP and CURLMN. CURLMP is the positive current limit and CURLMN is the negative limit as indicated in a decision block TDESI> CURLMN of FIG. 23. If TDESI is greater than CURLMP, the program exits with a yes branch and enters an action block in which TDESI is set equal to the maximum current limit value CURLMP. If, on the other hand, CURLMP is not greater than TDESI, the program exits with a No branch and enters a decision block TDESI <CURLM. If this test is positive, the program exits with a yes branch in which TDESI is set to CURLMN. If, on the other hand, the test is negative, the program exits through a No branch and enters an action block in which the current change setpoint is now calculated. The current change setpoint is calculated by setting a location in memory called SPDESI (current setpoint change) equal to TDESI (the calculated current setpoint) minus DESI (current setpoint) and the difference

durch 3 geteilt wird. Der Divisor 3 wird verwendet, um die Durchschnittsbildung des Stromänderungssollwerts über 3 Durchgänge durch das Stromreglerberechnungsprogramm für jede Drehzahlreglerberechnung in Betracht zu ziehen. divided by 3. Divisor 3 is used to consider averaging the current change setpoint over 3 passes through the current controller calculation program for each speed controller calculation.

Für den Stromänderungssollwert SPDESI wird ebenfalls ein Stromänderungsgrenzwert (current rate limit) festgelegt. Dies wird dadurch bewirkt, dass das Programm nun in einen Entscheidungsblock SPDESI > RTLMP eintritt, in dem ein Test durchgeführt wird, um festzustellen, ob SPDESI grösser als RATLMP ist, was eine positive Änderungsgrenze darstellt. Sofern es grösser ist, dann tritt das Programm durch eine Ja-Verzweigung in einen Aktionsblock SPDESI = RATLMP, der die maximale positive Änderungsgrenze für SPDESI festlegt. Ist andererseits SPDESI kleiner als RATLAMP, dann tritt das Programm durch eine Nein-Verzweigung aus und tritt in einen Entscheidungsblock SPDESI < RATLMN ein. In diesem Entscheidungsblock tritt das Programm, sofern SPDESI kleiner als RATLMN ist, durch eine Ja-Verzweigung aus, wodurch SPDESI = RATLMN gesetzt wird und eine minimale Änderungsgrenze hergestellt wird. Sofern SPDESI nicht kleiner als RATLMN ist, dann tritt das Programm durch eine Nein-Ver-zweigung aus und tritt in die Stelle J der Fig. 22 ein, in der die zuvor bewahrten Prozessorregister wieder hergestellt werden und das Programm an der Unterbrechungsstelle zurück zum Hauptprogramm zurückkehrt, wie zuvor beschrieben wurde. A current rate limit is also set for the current change setpoint SPDESI. This is caused by the program now entering a decision block SPDESI> RTLMP, in which a test is carried out to determine whether SPDESI is greater than RATLMP, which represents a positive change limit. If it is larger, the program enters an action block SPDESI = RATLMP by a yes branch, which defines the maximum positive change limit for SPDESI. On the other hand, if SPDESI is less than RATLAMP, the program exits with a No branch and enters a decision block SPDESI <RATLMN. In this decision block, if SPDESI is smaller than RATLMN, the program exits with a yes branch, whereby SPDESI = RATLMN is set and a minimal change limit is established. If SPDESI is not less than RATLMN, the program exits through a No branch and enters point J of FIG. 22, in which the previously saved processor registers are restored and the program at the point of interruption back to the main program returns as previously described.

Es wird weiter in Fig. 23 auf den Entscheidungsblock SPDFLG = 1 Bezug genommen. Sofern SPDFLG gleich 1 ist, zeigt dies an, dass die Drehzahlreglerberechnungen ausgelassen werden sollen, so dass das Programm von diesem Block durch eine Nein-Verzweigung austritt und zur Stelle J der Fig. 22 zurückkehrt, wie gerade beschrieben wurde. Reference is further made to decision block SPDFLG = 1 in FIG. If SPDFLG is 1, this indicates that the speed controller calculations should be omitted so that the program exits from this block with a No branch and returns to location J of FIG. 22, as just described.

Es wird nun auf Fig. 16 und zwar den Entscheidungsblock erster Stromlesewert CURFLG = 0 Bezug genommen, in dem ein Test durchgeführt wird, um festzustellen, ob das Programm den ersten oder den zweiten Stromlesewert nimmt. Wenn CURFLG nicht gleich Null ist, zeigt dies an, dass der erste Stromlesewert gerade genommen wurde, wie schon erläutert wurde, dass der zweite Stromlesewert genommen werden soll, und dass die Stromreglerberechnungen durchgeführt sind. Unter dieser Bedingung tritt der Prozessor nun durch eine Nein-Verzweigung an der Anschlussstelle C aus und tritt in Fig. 18 ein. Referring now to FIG. 16, the first current read decision block CURFLG = 0 is performed in which a test is performed to determine whether the program takes the first or second current read value. If CURFLG is not zero, this indicates that the first current reading has just been taken, as previously explained, that the second current reading is to be taken, and that the current controller calculations have been performed. Under this condition, the processor now exits through a no branch at connection point C and enters in FIG. 18.

Die erste in Fig. 18 stattfindende Operation besteht darin, dass der Prozessor einen «Lies-Einrichtung-5»-Befehl sendet, um den Analog-/Digitalstromwandler 80 auszulesen und die Bits ID5B0 bis ID5B7 im Speicherplatz CRNT zu speichern, wobei dieser Speicherplatz zur Speicherung des tatsächlichen Motorstroms oder des Ist-Wert des Motorstroms dient. Der Prozessor tritt nun in einen Aktionsblock und berechnet den Stromfehler dadurch, dass der Speicherplatz IDIFF gleich dem Speicherplatz DESI, den Stromsollwert, minus CRNT, den tatsächlichen Motorstrom, gesetzt wird. In einem Entscheidungsblock IDIFF> + IDLIM wird ein Test durchgeführt, um festzustellen, ob der Stromfehler grösser als ein positiver Stromfehlergrenzwert ist, der durch die Konstante + IDLIM gegeben ist. Sofern IDIFF grösser als + IDLIM ist, zweigt das Programm durch einen Ja-Ausgang ab und tritt in einen Aktions-block, in dem ein IDIFF gleich + IDLIM gesetzt wird. Sofern andererseits IDIFF nicht grösser als + IDLIM ist, tritt das Programm durch eine Nein-Verzweigung aus und tritt in einen Entscheidungsblock IDIFF-IDLIM ein. In diesem Block wird dieselbe Art von Entscheidung getroffen, um festzustellen, ob IDIFF kleiner als ein negativer oder minimaler Stromfehlergrenzwert ist. Ist dies der Fall, tritt das Programm durch eine Ja-Verzweigung aus, in der IDIFF gleich -IDLIM gesetzt wird. Ist andererseits IDIFF nicht grösser als —IDLIM, tritt das Programm durch eine Nein-Verzweigung aus und tritt in einen Aktionsblock ein, in dem die Motorklemmenspannung durch The first operation taking place in Fig. 18 is for the processor to send a "Read 5" command to read the analog-to-digital converter 80 and store bits ID5B0 through ID5B7 in the CRNT location, which space is used for Storage of the actual motor current or the actual value of the motor current is used. The processor now enters an action block and calculates the current error by setting the memory location IDIFF equal to the memory location DESI, the current setpoint, minus CRNT, the actual motor current. A test is carried out in a decision block IDIFF> + IDLIM to determine whether the current error is greater than a positive current error limit value, which is given by the constant + IDLIM. If IDIFF is greater than + IDLIM, the program branches off with a yes output and enters an action block in which an IDIFF is set to + IDLIM. If, on the other hand, IDIFF is not greater than + IDLIM, the program exits with a No branch and enters an IDIFF-IDLIM decision block. The same type of decision is made in this block to determine whether IDIFF is less than a negative or minimum current error limit. If this is the case, the program exits with a yes branch, in which IDIFF is set to -IDLIM. On the other hand, if IDIFF is not greater than —IDLIM, the program exits with a No branch and enters an action block in which the motor terminal voltage passes through

632615 632615

den Regler berechnet wird. the controller is calculated.

Die Motorklemmenspannung wird dadurch berechnet, dass ein Speicherplatz VR, der einen mittleren Wert bei der Berechnung darstellt, gleich (Gl x IDIFF) bis (G2 x IDIFFO) gesetzt wird. Die Verstärkungen Gl und G2 wurden oben festgelegt. Die Verstärkung 1 (Gl) für den diskontinuierlichen Strombetrieb ist normalerweise das 2- bis 3fache des Werts für den kontinuierlichen Strombetrieb, und die Verstärkung 2 ist für den diskontinuierlichen Strombetrieb gleich 0. Der Term IDIFFO stellt einen Speicherplatz im Speicher dar, der den alten Wert von IDIFF speichert. Das Programm schreitet dann zu einem Entscheidungsblock DIRFLG = 0 fort. In diesem Entscheidungsblock wird ein Test vorgenommen, um festzustellen, ob die Vorwärtsbrücke gezündet werden soll, wobei der Zustand der Grösse DIRFLG getestet wird, die ein Kennzeichen im Speicher darstellt, welches angibt, welche Brücke gezündet werden soll. Wenn DIRFLG nicht gleich Null ist, wodurch angezeigt wird, dass die Thyristoren der Rückwärtsbrücke gezündet werden sollen, erfolgt der Ausgang durch eine Nein-Verzweigung und VR wird gleich VRO-VR gesetzt, wobei VRO von einem Platz im Speicher herkommt, der den alten Wert von VR speichert. Sofern DIRFLG gleich 0 ist, wodurch angezeigt wird, dass die Thyristoren der Vorwärtsbrücke gezündet werden sollen, tritt das Programm durch eine Ja-Verzweigung in einen Aktionsblock, in dem VR gleich VRO + VR gesetzt wird. The motor terminal voltage is calculated by setting a memory location VR, which represents an average value in the calculation, equal to (Gl x IDIFF) to (G2 x IDIFFO). Gains G1 and G2 were defined above. Gain 1 (Gl) for discontinuous current operation is normally 2 to 3 times the value for continuous current operation, and gain 2 for discontinuous current operation is 0. The term IDIFFO represents a memory location in memory that corresponds to the old value from IDIFF stores. The program then proceeds to a decision block DIRFLG = 0. In this decision block, a test is made to determine whether the forward bridge should be fired, testing the state of the DIRFLG variable, which is a flag in memory that indicates which bridge should be fired. If DIRFLG is not zero, indicating that the reverse bridge thyristors are to be fired, the output is a no branch and VR is set to VRO-VR, where VRO comes from a location in memory that has the old value from VR stores. If DIRFLG is 0, which indicates that the thyristors of the forward bridge are to be fired, the program enters an action block with a yes branch in which VR is set to VRO + VR.

Bei Vollendung der Berechnung von VR tritt das Programm in einen Entscheidungsblock VR > VRLIMP. Es gibt zwei Konstanten (VRLIMP und VRLIMN), die im Speicher gespeichert sind und positive und negative Grenzwerte für das Maximum und das Minimum der berechneten Spannung angeben. Sofern VR grösser als VRLIMP ist, erfolgt ein Ausgang von diesem Entscheidungsblock durch eine Ja-Verzweigung in einen Aktionsblock, in dem VR gleich VRLIMP gesetzt wird. Andererseits wird, sofern VR nicht grösser als VRLIMP ist, When the calculation of VR is completed, the program enters a decision block VR> VRLIMP. There are two constants (VRLIMP and VRLIMN) that are stored in memory and give positive and negative limits for the maximum and minimum of the calculated voltage. If VR is greater than VRLIMP, an exit from this decision block takes place by a yes branch to an action block in which VR is set to VRLIMP. On the other hand, if VR is not larger than VRLIMP,

eine Nein-Verzweigung genommen, und es erfolgt ein Einsprung in einen Entscheidungsblock VR < VRLIMN. In diesem Block wird eine Ja-Verzweigung genommen, in der VR gleich VRLIMN gesetzt wird, sofern VR kleiner als VRLIMN ist. Ist dies nicht der Fall, wird eine Nein-Verzweigung genommen, und VRO, der Platz zur Speicherung des alten Werts von VR, wird durch das Setzen von VRO = VR aktualisiert. a no branch is taken and a decision block VR <VRLIMN is entered. In this block, a yes branch is taken, in which VR is set to VRLIMN, provided that VR is less than VRLIMN. If this is not the case, a No branch is taken and VRO, the space for storing the old value of VR, is updated by setting VRO = VR.

Das Programm tritt nun in die Stelle D ein, wobei es Fig. 18 verlässt und in die Stelle D der Fig. 19 eintritt. Beim Eintreten in Fig. 19 tritt der Prozessor in einen Entscheidungsblock MODFLG = 0 ein, in dem ein Test durchgeführt wird, um festzustellen, ob das System im kontinuierlichen oder diskontinuierlichen Strombetrieb arbeitet. Sofern MODFLG nicht gleich 0 ist, zeigt dies an, dass das System im kontinuierlichen Betrieb arbeitet. Der Prozessor tritt dann aus einer Nein-Verzweigung aus und tritt in einen Entscheidungsblock DIRFLG = 0 ein. Im Flussdiagramm der Fig. 19 wird die Entscheidung getroffen, ob es passend ist, die Richtung des Motors umzukehren. Das Kriterium für die Richtungsumkehr des Motors besteht darin, dass das System im diskontinuierlichen Strombetrieb arbeiten muss und das Vorzeichen des Stromsollwerts (DESI) dem Richtungskennzeichen (DIRFLG) entgegen gesetzt sein muss. Diese Bestimmung der Stromumkehr wird folgendermassen erläutert. Sofern der Entscheidungstest MODFLG = 0 positiv ist, tritt der Prozessor durch eine Ja-Verzweigung aus und zeigt damit einen diskontinuierlichen Betrieb in einem Vorzeichen des Entscheidungsblocks DESI OPP DIRFLG an. Im letzteren Entscheidungsblock wird die Feststellung getroffen, ob DESI der Grösse DIRFLG entgegengesetzt ist. Sofern DESI nicht entgegengesetzt ist, wird eine Nein-Verzweigung genommen, und das Programm tritt in den Entscheidungsblock DIRFLG = 0, wie schon beschrieben wurde. Wenn jedoch DESI der Grösse DIRFLG entgegengesetzt ist, nimmt das Programm The program now enters position D, leaving FIG. 18 and entering position D of FIG. 19. Upon entering FIG. 19, the processor enters a decision block MODFLG = 0, in which a test is performed to determine whether the system is operating in continuous or discontinuous current mode. If MODFLG is not 0, this indicates that the system is operating continuously. The processor then exits a no branch and enters a decision block DIRFLG = 0. In the flowchart of Fig. 19, the decision is made as to whether it is appropriate to reverse the direction of the motor. The criterion for reversing the direction of the motor is that the system must operate in discontinuous current mode and the sign of the current setpoint (DESI) must be opposite to the direction indicator (DIRFLG). This determination of the current reversal is explained as follows. If the decision test MODFLG = 0 is positive, the processor exits with a yes branch and thus indicates discontinuous operation in a sign of the decision block DESI OPP DIRFLG. In the latter decision block, a determination is made as to whether DESI is opposite the DIRFLG size. If DESI is not opposite, a No branch is taken and the program enters decision block DIRFLG = 0, as already described. However, if DESI is opposite the DIRFLG size, the program takes

19 19th

5 5

10 10th

15 15

20 20th

25 25th

30 30th

35 35

40 40

45 45

50 50

55 55

60 60

65 65

632615 632615

20 20th

eine Ja-Verzweigung und tritt in einen Aktionsblock, in dem das Richtungskennzeichen DIRFLG gegenüber dem augenblicklichen Zustand umgekehrt wird. Wie in diesem Aktionsblock gezeigt ist, wird, wenn DIRFLG gleich dem Wert 1 gesetzt ist, dadurch angezeigt, dass der Strom in der Rückwärtsbrücke und 5 nicht in der Vorwärtsbrücke fliesst. Wenn DIRFLG gleich 0 gesetzt ist, dann wird die Vorwärtsbrücke gezündet. Das Programm läuft nun weiter in den Entscheidungsblock DIRFLG = 0, um die relative Polarität der Grösse CEMF und der Spannung von der Brücke festzustellen. Sofern die Rückwärts- i o brücke gezündet werden soll, wird die Nein-Verzweigung von diesem Entscheidungsblock genommen, und es erfolgt ein Einsprung in einen Aktionsblock, in dem die gewünschte Klemmenspannung VT dadurch berechnet wird, dass VT = CEMF (die Gegen-EMK) minus VR (die Motorspannung, da die Polari-15 täten entgegengesetzt sind) gesetzt wird. Wenn die Vorwärtsbrücke gezündet werden soll, wie durch DIRFLG = 0 angezeigt wird, dann erfolgt ein Einsprung durch den Ja-Zweig in einen Aktionsblock, in dem die gewünschte Motorklemmenspannung VT dadurch berechnet wird, dass VT = CEMF + VR 20 gesetzt wird, um die richtige Polarität zu liefern. a yes branch and enters an action block in which the direction indicator DIRFLG is reversed from the current state. As shown in this action block, when DIRFLG is set to 1, it indicates that the current flows in the reverse bridge and 5 does not flow in the forward bridge. If DIRFLG is set to 0, the forward bridge is fired. The program now continues in decision block DIRFLG = 0 in order to determine the relative polarity of the variable CEMF and the voltage from the bridge. If the reverse io bridge is to be fired, the no branch is taken from this decision block and an entry is made into an action block in which the desired terminal voltage VT is calculated by subtracting VT = CEMF (the back emf) VR (the motor voltage because the polarities are opposite) is set. If the forward bridge is to be fired, as indicated by DIRFLG = 0, then the yes branch jumps into an action block in which the desired motor terminal voltage VT is calculated by setting VT = CEMF + VR 20 to the to provide correct polarity.

Im vorliegenden System sind der Motorklemmenspannung positive und negative Grenzwerte auferlegt, die der Berechnung von VT unmittelbar folgenden Tests müssen also bestimmen, ob VT gleich oder kleiner als die positiven und negativen 25 Grenzwerte ist. Der erste Entscheidungsblock nach der Berechnung von VT hat zum Inhalt VT > VTLIMP. Sofern VT über dem positiven Grenzwert liegt, wird ein Ja-Zweig in einen Aktionsblock genommen, in dem VT gleich dem maximalen positiven Grenzwert VTLIMP gesetzt wird. Sofern anderer- 30 seits VT kleiner als VTLIMP ist, wird eine Nein-Verzweigung genommen, und ein ähnlicher Test für VT < VTLIMN ausgeführt. Sofern VT kleiner als die minimale Grenze ist, wird eine Ja-Verzweigung genommen, und VT gleich VTLIMN gesetzt. Sofern dies nicht der Fall ist, wird eine Nein-Verzweigung vom 35 Entscheidungsblock VT < VTLIMN genommen und ein Einsprung in einen Aktionsblock der Fig. 19 vorgenommen, in welchem der Zündwinkel FINVAL zur Erzeugung der gewünschten VT aus der Wertetabelle genommen wird, die aufgrund der zuvor angegebenen Beziehung 40 In the present system, positive and negative limit values are imposed on the motor terminal voltage, so the tests immediately following the calculation of VT must determine whether VT is equal to or less than the positive and negative 25 limit values. The content of the first decision block after the calculation of VT is VT> VTLIMP. If VT is above the positive limit, a yes branch is placed in an action block in which VT is set equal to the maximum positive limit VTLIMP. If, on the other hand, VT is less than VTLIMP, a No branch is taken and a similar test is carried out for VT <VTLIMN. If VT is less than the minimum limit, a yes branch is taken and VT is set to VTLIMN. If this is not the case, a no branch is taken from the decision block VT <VTLIMN and a jump is made into an action block of FIG. 19, in which the ignition angle FINVAL for generating the desired VT is taken from the value table which is based on the previously specified relationship 40

FINVAL = 245,8 COS-1 (3VT/ 7tVLN) FINVAL = 245.8 COS-1 (3VT / 7tVLN)

berechnet ist, wie oben angegeben ist. Es sei daran erinnert, is calculated as indicated above. It should be remembered

dass diese Werte der Grösse FINVAL oben geschildert und in 45 Tabelle 1 dargestellt sind. Diese Art des Einsprungs in eine Tabelle ist bekannt und stellt eine geradlinige Art dar, die Tabelle mit einer Adresse zu adressieren, die durch den Wert von VT angegeben ist, und wobei der Wert des adressierten Platzes als Zündwinkel FINVAL benutzt wird. 50 that these values of the size FINVAL are described above and shown in Table 1. This type of entry into a table is known and represents a straightforward way of addressing the table with an address which is indicated by the value of VT, and the value of the addressed space is used as the ignition angle FINVAL. 50

Das Programm verlässt nun Fig. 19 an der Anschlussstelle E und tritt in die Anschlussstelle E der Fig. 20 ein, in der der Systemtakt durch den Prozessor in einer schon geschilderten Weise ausgelesen wird. Das Programm setzt seine Ausführung in Fig. 20 nicht fort und kehrt bei seiner Ausführung schliesslich zurück zur Unterbrechungsstelle des Hauptprogramms in der schon geschilderten Weise. The program now leaves FIG. 19 at connection point E and enters connection point E of FIG. 20, in which the system clock is read out by the processor in a manner already described. The program does not continue its execution in FIG. 20 and finally returns to the point of interruption of the main program in the manner already described.

Nachdem die Erfindung in Einzelheiten beschrieben ist, lässt sich würdigen, dass die Gesamtstruktur und das Gesamtverfahren des vorliegenden Systems ein Hauptprogramm umfasst, das kontinuierlich in einer Schleife umläuft, um die Drehzahlreferenzschalter und die Motorrichtungsschalter auszulesen und den Geschwindigkeitssollwert für den Motor zu berechnen. Das Unterbrechungsprogramm erhält die Drehzahlsollwertdaten vom Hauptprogramm und liest die Motordrehzahl, den Ankerstrom und die Zeit, die durch den 360°-Systemtakt gemessen werden. Das Unterbrechungsprogramm berechnet ferner den gewünschten Zündwinkel der Thyristoren und steuert den Prozessor, dass dieser Daten, deren Wert proportional zum Zündwinkel ist, an einen Zähler im System, und ein Adressenwort an eine Thyristorwähl- und Drehrichtungslogik sendet, um die Generatoren von Steuerimpulsen für die direkte digitale Zündung der Thyristoren, die durch die Adressendaten ausgewählt sind, zu veranlassen, ein umkehrbares Dreiphasen-Motorantriebssystem zu regeln und zu steuern. Das Programm ist mit dem Zünden der Thyristoren dadurch synchronisiert, dass eine Unterbrechung bei jedem Thyristorzündvorgang erzeugt wird, um die Reglerberechnungen zu starten, um den Zähler zur richtigen Zeit zu beladen, um dadurch die Zündzeit für einen nächsten, zu zündenden Thyristor zu steuern. Having described the invention in detail, it can be appreciated that the overall structure and method of the present system includes a main program that continuously loops to read the speed reference switches and motor direction switches and calculate the speed setpoint for the motor. The interrupt program receives the speed setpoint data from the main program and reads the motor speed, the armature current and the time measured by the 360 ° system cycle. The interrupt program also calculates the desired firing angle of the thyristors and controls the processor to send this data, the value of which is proportional to the firing angle, to a counter in the system and an address word to a thyristor selection and direction of rotation logic in order to generate the control pulse generators for the direct digitally trigger the thyristors selected by the address data to regulate and control a reversible three-phase motor drive system. The program is synchronized with thyristor firing by generating an interrupt on each thyristor firing cycle to start the controller calculations to load the counter at the correct time to control the firing time for a next thyristor to be fired.

Der Prozessor des Systems liest den Ankerstrom zweimal pro 60 elektrischen Graden aus. Eine erste Ankerstromauslesung wird zu einer vorgegebenen Zeit (zum Beispiel 4 Grad) bevor der nächste Thyristor gezündet werden soll, vorgenommen. Diese erste Stromauslesung bzw. Stromlesewert wird verwendet, um die Art des Stromreglerbetriebs (kontinuierlich oder diskontinuierlich) zu bestimmen. Eine zweite Stromauslesung bzw. Stromlesewert wird vorgenommen, und die Reglerberechnungen werden ungefähr 20° nach der vorausgegangenen Zündung eines Thyristors gestartet. Der zweite Stromlesewert wird durch das Stromreglerprogramm als Stromrückkopplung zur Steuerung des Gesamtstromreglers verwendet. The system processor reads the armature current twice per 60 electrical degrees. A first armature current reading is carried out at a predetermined time (for example 4 degrees) before the next thyristor is to be fired. This first current reading or current reading is used to determine the type of current regulator operation (continuous or discontinuous). A second current reading or current reading is carried out and the controller calculations are started approximately 20 ° after the previous ignition of a thyristor. The second current reading is used by the current regulator program as current feedback to control the overall current regulator.

Es wurde ein Regel- und Steuersystem zur Regelung einer Last, zum Beispiel eines Gleichstrommotors beschrieben, welches sich der Vorteile eines Prozessors, zum Beispiel eines Mikrocomputers, bedient und die Möglichkeiten bekannter analoger Regel- und Steuersysteme weit übertrifft, wobei nur begrenzte zusätzliche Ausgaben erforderlich sind. A regulating and control system for regulating a load, for example a DC motor, has been described, which takes advantage of a processor, for example a microcomputer, and far exceeds the possibilities of known analog regulating and control systems, with only limited additional expenditure being required .

g G

25 Blatt Zeichnungen 25 sheets of drawings

Claims (4)

632615 2 632 615 2 PATENTANSPRÜCHE zündenden Gleichrichters bestimmt, sowie mit den Gleichrich- Rectifier, as well as with the rectifier 1. Verfahren zum Steuern der Drehzahl eines Gleichstrom- tern zusammenwirkende Wähleinrichtungen (84), die die vom motors mit einer Steuer- und Regelvorrichtung (Fig. 3), die Prozessor (64) bestimmten Adressen empfangen und den zu einen zum Berechnen des Zündwinkels des Zündimpulses für zündenden Gleichrichter (94) aussuchen, und Einrichtungen mindestens einen zwischen einer Wechselstromquelle (106) 5 (72) für den Empfang des vom Prozessor gewählten Zündwin-und dem Gleichstrommotor (12) angeschlossenen, steuerbaren kels zu dem durch die Berechnung für die externe Übertragung Gleichrichter (94) vorgesehenen Datenprozessor (64) enthält, festgelegten Zeitpunkt, wobei jede Wähleinrichtung einen Zäh-dadurch gekennzeichnet, dass in dem Prozessor Parameter 1er (124,224) zum Einzählen der Taktsignale enthält und beim gespeichert werden, die proportional zur Motor-Solldrehzahl Erreichen eines vorgegebenen Zählerstands einen Zündimpuls und den Sollzündwinkeln sind, dass dem Prozessor ein Pro- i o für den ausgewählten Gleichrichter und ein Unterbrechungs-grammforderungssignal zugeleitet wird, dass der Prozessor als signal für den Prozessor erzeugt. 1. Method for controlling the speed of a direct current cooperating selection devices (84) which receive the addresses determined by the motors with a control and regulating device (FIG. 3), the processor (64) and the one for calculating the ignition angle of the Select ignition pulse for igniting rectifier (94), and devices at least one controllable angle connected between an alternating current source (106) 5 (72) for receiving the ignition selected by the processor and the direct current motor (12) by the calculation for the external Transmission rectifier (94) contains the provided data processor (64), fixed point in time, each selection device having a count, characterized in that the processor contains parameters 1er (124, 224) for counting the clock signals and storing them in proportion to the target engine speed of a predetermined counter reading, an ignition pulse and the target ignition angles are that the processor has a pro i o for the selected rectifier and an interrupt program request signal that the processor generates as a signal for the processor. Antwort auf dieses Signal einen der Motor-Istdrehzahl und einen dem Motorstrom proportionalen Wert abliest und einen den Zündwinkel bestimmenden Wert berechnet, der von den In response to this signal, one reads the actual engine speed and a value proportional to the motor current, and calculates a value determining the ignition angle, which of the Differenzen zwischen der Motor-Solldrehzahl und der Motor- 15 Istdrehzahl sowie zwischen den dem zuletzt abgelesenen und dem vorgängig abgelesenen, dem Motorstrom proportionalen Die Erfindung betrifft ein Verfahren zum Steuern eines Werten sowie dem vorgängig berechneten, den Zündwinkel Gleichstrommotors mit einer Steuer- und Regelvorrichtung, bestimmenden Wert abhängig ist, dass der Prozessor ferner in die einen zum Berechnen des Zündwinkels des Zündimpulses Abhängigkeit vom Programmanforderungssignal auf der 20 für mindestens einen zwischen einer Wechselstromquelle und Grundlage des berechneten Werts einen der gespeicherten dem Gleichstrommotor angeschlossenen, steuerbaren Gleich-Zündwinkel auswählt und zu dem dem ausgewählten Zündwin- richter vorgesehenen Datenprozessor enthält, kel entsprechenden Zeitpunkt einen Zündimpuls für einen Motorregelsysteme der hier beschriebenen Art verwenden Gleichrichter erzeugt und für die wiederholten Berechnungen häufig Leistungsverstärker mit Regelgleichrichtern, die den des den Zündwinkel bestimmenden Werts und das Erzeugen 25 elektrischen Energiefluss zwischen einer Wechselstromquelle des Zündimpulses der Zündimpuls als Programmanforderungs- und einem Antriebsmotor verändern. Regel- oder Steuergleichsignal verwendet wird. richter sind bekannt, und sie bestehen aus einer Familie von Differences between the target engine speed and the actual engine speed and between the last read and the previous read, proportional to the motor current. The invention relates to a method for controlling a value and the previously calculated, the ignition angle DC motor with a control and regulating device, determining value is dependent that the processor further selects one of the stored controllable direct ignition angles connected to the direct current motor in the one for calculating the ignition angle of the ignition pulse as a function of the program request signal on the 20 for at least one between an alternating current source and the basis of the calculated value and contains the data processor provided to the selected ignition inverter, the corresponding point in time generates an ignition pulse for an engine control system of the type described here, generates rectifiers and, for the repeated calculations, often power amplifiers with control rectifiers that change the value determining the firing angle and the generation of electrical energy flow between an alternating current source of the firing pulse, the firing pulse as a program request and a drive motor. Control or control DC signal is used. judges are known and they consist of a family of 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, Bauelementen, die bezüglich der elektrischen Energieströmung dass zum Erzeugen des Zündimpulses eine dem gewählten eine relativ hohe Impedanz darstellen, bis sie durch ein Zünd-Zündwinkel entsprechende Zahl in einem Zähler eingespei- 30 signal in Vorwärtsrichtung vorgespannt werden, welches an chert, der Zählerinhalt mit einer vorgegebenen Geschwindig- eine Steuerelektrode angelegt wird. Während des leitenden keit gezählt und beim Erreichen der eingespeicherten Zahl der Zustandes besitzen die Regelgleichrichter normalerweise eine Zündimpulse erzeugt wird. sehr kleine Impedanz gegenüber dem Stromfluss und leiten 2. The method according to claim 1, characterized in that, with respect to the electrical energy flow, that for generating the ignition pulse represent a relatively high impedance to the selected one until they are fed into a counter by an ignition angle corresponding number 30 signal biased in the forward direction which counts, the counter content is applied at a predetermined speed - a control electrode. Counted during the conductive speed and when the stored number of states is reached, the control rectifiers normally have an ignition pulse generated. very low impedance to current flow and conduct 3. Verfahren nach Anspruch 1 in einer Vorrichtung mit normalerweise den Strom so lange, bis sie in Rückwärtsrich-mehreren Gleichrichtern, dadurch gekennzeichnet, dass der 35 tung vorgespannt werden und/oder der Strompegel durch die Prozessor bei der Zuleitung des Programmanforderungssignals Gleichrichter unter einen minimalen Haltepegel verringert ist, ein von der Wechselstromquelle abgeleitetes und eine Zeit- der erforderlich ist, um diese Gleichrichter in leitendem spanne innerhalb der Periodendauer des Wechselstroms Zustand zu halten. Die Familie der erörterten Regelgleichrich-bezeichnendes Informationssignal ausliest, sowie den von dem ter umfasst allgemein Halbleiterbauelemente, wie zum Beispiel berechneten Wert bestimmten, gespeicherten Zündwinkel und 40 Thyristoren und andere Bauelemente, wie zum Beispiel Igni-den von dem Informationssignal bezeichneten zu zündenden trons und Thyrotrons. 3. The method according to claim 1 in a device with normally the current until it in reverse rectifier-several rectifiers, characterized in that the device 35 are biased and / or the current level through the processor when feeding the program request signal rectifier below a minimum Hold level is reduced, one derived from the AC power source and a time required to keep these rectifiers in a conductive state within the period of the AC power condition. The family of the discussed control rectifying information signal reads out, as well as the one generally includes semiconductor components, such as calculated value, stored ignition angle and 40 thyristors and other components, such as ignites, for example, the trons and thyrotrons to be ignited designated by the information signal . Gleichrichter sucht und zum Bestimmen des nächsten zu zün- In den hier erläuterten Systemen wird die Menge der einer denden Gleichrichters den Wert des gelesenen Informations- Systemlast oder einem Gleichstrommotor zugeführten Lei- Rectifier searches and to determine the next one to ignite. In the systems explained here, the amount of power supplied to a terminating rectifier is the value of the information system load read or to a DC motor. signals um einen festgelegten Betrag ändert. stung dadurch geregelt, dass die Dauer des leitenden Zustandes signals changes by a set amount. power regulated by the duration of the conductive state 4. Steuer- und Regelvorrichtung zum Ausführen des Verfah- 45 der regel- oder steuerbaren Gleichrichter verändert wird. Die rens gemäss Anspruch 1, gekennzeichnet durch Einrichtungen Dauer des leitenden Zustands der steuerbaren Gleichrichter ist (10) zum Erzeugen eines Grundtaktsignals und durch Taktein- eine Funktion des Zeitpunkts innerhalb des Wechselstrom-Kur-richtungen (60), die mit der Wechselstromquelle (106) verbun- venverlaufs, in dem die Gleichrichter in den leitenden Zustand den sind und auf das Grundtaktsignal ansprechen, um mit der gebracht werden. Dieser Punkt wird als Zündwinkel bezeich-Wechselstromquelle synchronisierte Informationssignale zu 50 net. 4. Control and regulating device for executing the process of the 45 controllable or controllable rectifier is changed. The rens according to claim 1, characterized by means of the duration of the conductive state of the controllable rectifier (10) for generating a basic clock signal and by clocking a function of the point in time within the alternating current course directions (60) which is connected to the alternating current source (106). connected course in which the rectifiers are in the conductive state and respond to the basic clock signal to be brought with. This point is referred to as the ignition angle-AC source synchronized information signals to 50 net. erzeugen, die einen ersten Kennwert definieren, der proportio- In der Vergangenheit wurden Systeme zur Regelung des nal zu der von den festgestellten Nulldurchgängen des Wech- Leitungszustands der steuerbaren Gleichrichter allgemein selstroms abgeleiteten Periodendauer des Wechselstroms ist, unter Verwendung von analogen Regeleinrichtungen verwirk- Generate, which define a first characteristic, the proportional- In the past, systems for regulating the nal to the period duration of the alternating current derived from the determined zero crossings of the alternating-state of the controllable rectifiers of alternating current were implemented using analog regulating devices. und einen zweiten Kennwert, der eine Zeitspanne innerhalb licht, um die geforderten Regelfunktionen durchzuführen, and a second characteristic value that illuminates a period of time in order to carry out the required control functions, der Periodendauer definiert, wobei der Nullpunkt dieser Zeit- 55 wobei die analogen Signale in digitale Werte umgewandelt spanne mit dem Nulldurchgang der Wechselstromperiode wurden, um die Gleichrichter zu zünden. Bei dieser Art von the period was defined, with the zero point of this time being 55 with the analog signals converted into digital values with the zero crossing of the AC period in order to ignite the rectifiers. With this type of übereinstimmt, Einrichtungen (80) zum Erzeugen eines ersten, Systemen arbeiten die Zündkreise in Abhängigkeit von einem dem Motorstrom proportionalen Parameters, Einrichtungen Eingangssignal, das die Leistung anzeigt, um einen Zündimpuls coincides, means (80) for generating a first, systems operate the ignition circuits in dependence on a parameter proportional to the motor current, means input signal indicating the power to an ignition pulse ( 18) zum Erzeugen eines zweiten, der Motor-Solldrehzahl pro- beim geeigneten Zündwinkel zu erzeugen. Allgemein gespro- (18) to generate a second, the target engine speed pro at the appropriate ignition angle. Generally spoken portionalen Parameters, Einrichtungen (90) zum Erzeugen 60 chen, ist der Zündwinkel direkt proportional zum Eingangs- proportional parameters, devices (90) for generating 60 chen, the ignition angle is directly proportional to the input eines dritten, der Motor-Istdrehzahl proportionalen Pararne- signal. Analogsysteme der bekannten Art arbeiten allgemein in ters, einen Datenprozessor (64), der beim Erscheinen eines Pro- Abhängigkeit von einem Eingangssignal, dessen Grösse den grammanforderungssignals die Parameter und Informations- gewünschten Zündwinkel angibt. a third parameter signal proportional to the actual engine speed. Analog systems of the known type generally work in ters, a data processor (64) which, when a program appears, depends on an input signal, the size of which indicates the parameters and information-desired ignition angles to the program request signal. signale selektiv ausliest und aus dem Betrag der daraus In den letzten Jahren ist mit der Entwicklung der Digitalbestimmten Motor-Sollspannung einen dem Zündwinkel pro- 65 technik und der Hardware das Interesse der Ingenieure daran portionalen Kennwert sucht, aus dem zweiten Kennwert den gewachsen, digitale Schaltungen in derartigen Regelsystemen Zeitpunkt für die externe Übertragung des Zündwinkels einzusetzen. Die Anwendung der Digitaltechnik bei derartigen berechnet und aus dem ersten Kennwert die Adresse des zu Regelsystemen ist insbesondere vorteilhaft, wo das System selectively reads signals and from the amount of them. In recent years, with the development of the digitally determined target motor voltage, the interest of the engineers in the technology and hardware has been sought. The second characteristic value has grown from digital circuits in such control systems to use time for the external transmission of the ignition angle. The use of digital technology in such calculations and from the first characteristic value the address of the control system is particularly advantageous where the system einen Genauigkeitsgrad, eine Zuverlässigkeit oder einen driftfreien Betrieb erfordert, der nur mit digitaler Schaltungstechnik herstellbar ist. Es ist daher ziemlich üblich, Elemente eines analogen Systems durch funktional äquivalente digitale Schaltungen zu ersetzen. requires a level of accuracy, reliability or drift-free operation that can only be achieved with digital circuit technology. It is therefore quite common to replace elements of an analog system with functionally equivalent digital circuits. Ein derartiges bekanntes digitales Regel- und Steuersystem zur Regelung des Leitungszustandes von steuerbaren Gleichrichtern ist in der US-PS 3 601 674 offenbart. In diesem Patent ist ein digitales Regelsystem offenbart, um den Leistungsfluss durch steuerbare Gleichrichter aus einer mehrphasigen Wechselstromquelle zu einer Last zu regeln. Dieses System enthält einen Zündkreis für jede Phase, wobei jeder Zündkreis einen reversiblen Zähler und einen digitalen Komparator enthält. Eine Phasenwahrnehmlogik ist vorgesehen, die die drei Phasen der Wechselstromquelle derart überprüft, um synchron ein Regelintervall für einen geeigneten Gleichrichter dadurch auszulösen, dass eine vorbestimmte positive oder negative digitale Zahl in dem reversiblen Zähler vorgesetzt wird, der der betreffenden Phase zugeordnet ist. Der reversible Zähler zählt dann während des Regelintervalls abwärts, wenn die vorgesetzte Zahl positiv ist, er zählt aufwärts, wenn die vorgesetzte Zahl negativ ist. Während des Zählvorgangs wird ein digitales Drehzahlfehlersignal, das aus einem vorausgegangenen Vergleich eines digitalen Befehls mit einem digitalen Rückkopplungssignal gewonnen wird und die Motordrehzahl angibt, kontinuierlich durch den digitalen Komparator mit dem Inhalt des reversiblen Zählers verglichen. Wenn der Fehler den Inhalt des reversiblen Zählers übersteigt, wird ein Zündimpuls erzeugt, der einem positiv oder negativ gepolten Gleichrichter zugeführt wird und den entsprechend gepolten Gleichrichter gemäss der positiven oder negativen Zahl zündet. Such a known digital regulating and control system for regulating the line status of controllable rectifiers is disclosed in US Pat. No. 3,601,674. This patent discloses a digital control system to control the flow of power through controllable rectifiers from a multi-phase AC source to a load. This system contains an ignition circuit for each phase, each ignition circuit containing a reversible counter and a digital comparator. A phase sensing logic is provided which checks the three phases of the AC source in order to synchronously trigger a control interval for a suitable rectifier by presetting a predetermined positive or negative digital number in the reversible counter which is assigned to the relevant phase. The reversible counter then counts down during the control interval if the preset number is positive, it counts up if the preset number is negative. During the counting process, a digital speed error signal obtained from a previous comparison of a digital command with a digital feedback signal and indicating the motor speed is continuously compared by the digital comparator with the content of the reversible counter. If the error exceeds the content of the reversible counter, an ignition pulse is generated which is fed to a positive or negative polarized rectifier and ignites the correspondingly polarized rectifier according to the positive or negative number. Ein weiteres bekanntes System der digitalen Bauart wurde in zwei Veröffentlichungen beschrieben, wobei die erste Veröffentlichung von R.D. Jackson und R.D. Weatherby stammt und den Titel trägt «Direct Digital Control of Thyristor Converters» in «IFAC Symposium on Control and Power Electronics and Electrical Drives», Oktober 1974, abgehalten in Düsseldorf, Deutschland, Vorabdruck, Band I, Seiten 431-441, und wobei die zweite Veröffentlichung von F. Fallside und R.D. Hackson stammt und den Titel trägt «Direct Digital Control of Ampli-fiers» in Proceedings of the Institute of Electrical Engineers, mit dem Titel «Control and Science», Band 116, Nr. 5, S. 873-878, Mai 1969. Another known digital design system has been described in two publications, the first being by R.D. Jackson and R.D. Weatherby comes from and bears the title "Direct Digital Control of Thyristor Converters" in "IFAC Symposium on Control and Power Electronics and Electrical Drives", October 1974, held in Düsseldorf, Germany, Vorabdruck, Volume I, pages 431-441, and being the second publication by F. Fallside and RD Hackson comes from and bears the title "Direct Digital Control of Amplifiers" in Proceedings of the Institute of Electrical Engineers, with the title "Control and Science", Volume 116, No. 5, pp. 873-878, May 1969. In den genannten Veröffentlichungen beschreiben die Autoren eine Untersuchung eines Laborsystems der direkten digitalen Regelart, um die Durchführbarkeit der direkten digitalen Regelung der regelbaren Verstärker, wie zum Beispiel von Thyristoren, zu zeigen. In diesem System wird ein programmierter digitaler Rechner verwendet, um das Zünden der Gleichrichter durch ein Anschlussgerät (Interfacegerät) zu regeln, um eine resistive kapazitive Last durch Erzeugung von Zündimpulsen zu regeln, die vom Rechner erzeugt sind. Der digitale Rechner berechnet den Zündwinkel, der einen Zeitpunkt festlegt, um einen speziellen Gleichrichter zu zünden. Das System ist mit den Nulldurchgängen der Phasenspannungen der Wechselstromquelle synchronisiert, wobei diese Phasendurchgänge Befehlssignale für einen Abtasthaltekreis eines AnaIog-/Digitalwandlers erzeugen, der die Ausgangsspannung der Systemlast misst. In the publications mentioned, the authors describe an investigation of a laboratory system of the direct digital control type in order to show the feasibility of the direct digital control of the controllable amplifiers, such as thyristors. In this system, a programmed digital computer is used to regulate the ignition of the rectifier by means of a connection device (interface device) in order to regulate a resistive capacitive load by generating ignition pulses which are generated by the computer. The digital computer calculates the ignition angle, which defines a point in time in order to ignite a special rectifier. The system is synchronized with the zero crossings of the AC source phase voltages, which phase crossings generate command signals to a sample and hold circuit of an analog / digital converter that measures the output voltage of the system load. Am Ende der Analog-/Digitalwandlung wird ein Impuls von dem Konverter als ein Programmanforderungssignal für den Rechner erzeugt. Dieser Impuls startet die Zündwinkelberechnung. Im Anschluss an die Auslösung dieses Signals liest der Rechner den Analog-/Digitalwandler eine bestimmte Zeit nach dem Zeitpunkt des Phasennulldurchgangs aus. Der Rechner berechnet dann den Zündwinkel oder Zündzeitpunkt für den Gleichrichter, wobei ein von den Autoren bezeichnetes «gegebenes Zündgesetz» verwendet wird. Bei dieser Berechnung At the end of the analog / digital conversion, a pulse is generated by the converter as a program request signal for the computer. This pulse starts the ignition angle calculation. Following the triggering of this signal, the computer reads out the analog / digital converter a certain time after the time of the phase zero crossing. The computer then calculates the ignition angle or ignition timing for the rectifier, using a “given ignition law” designated by the authors. With this calculation 632615 632615 wird ein Regelsignal oder Regelwert entwickelt, der kontinuierlich so lange mit einer linearten Nachschlagetabelle verglichen wird, die das Zündgesetz definierende Werte enthält, bis eine Übereinstimmung zwischen dem Regelsignal und dem Inhalt der Tabelle existiert. Wenn ein Vergleichswert erreicht ist, wird ein Zündimpuls erzeugt, in dem die Adresse des zu zündenden Gleichrichters gesetzt wird und ein Zündsignal dem Gleichrichter zugeführt wird. a control signal or control value is developed which is continuously compared with a linear look-up table which contains values defining the ignition law until there is a match between the control signal and the content of the table. When a comparison value is reached, an ignition pulse is generated in which the address of the rectifier to be ignited is set and an ignition signal is supplied to the rectifier. Während die Autoren die Durchführbarkeit der direkten digitalen Regelung von steuerbaren Gleichrichtern zeigten, stellten sie auch verschiedene praktische Schwierigkeiten fest, die sich beim Erstellen eines derartigen Systems ergaben. Dies war bei der auffälligsten Einrichtung innerhalb dieser Experimente, der Verwendung von Nachschlagetabellen, offensichtlich, die eine beträchtliche Rechnerzeit benötigen und die Menge an zusätzlichen Berechnungen, die durch den Rechner beim Betreiben eines Realzeitsystems dieser Art möglich sind, stark beschränken. While the authors demonstrated the feasibility of direct digital control of controllable rectifiers, they also identified various practical difficulties that arose in creating such a system. This was evident in the most striking set-up within these experiments, the use of look-up tables, which require significant computation time and severely limit the amount of additional computation that can be done by the computer when operating a real-time system of this type. Es muss ferner festgestellt werden, dass direkte digitale Antriebsregelsysteme die Lastausgangsspannung zu einem gegebenen Zeitpunkt abtasten müssen, der zu einem festgestellten Phasenintervall der Wechselstromquelle in Beziehung steht, dass anschliessend derartige Systeme die erforderliche Berechnung des Zündwinkels durchführen und einen ausgewählten Gleichrichter innerhalb des festgestellten Intervalls früh genug innerhalb des speziellen Intervalls zünden müssen, um die Verzögerung des Zündwinkels genau und voll zu steuern, um einen maximalen Leistungstransfer zur Last zu erhalten. It must also be noted that direct digital traction control systems must sample the load output voltage at a given time related to a determined phase interval of the AC source, that such systems subsequently perform the required ignition angle calculation and select a rectifier within the determined interval early enough must fire within the specific interval to accurately and fully control the retard of the firing angle to obtain maximum power transfer to the load. Die genannten Systeme arbeiteten nicht als ein Gesamtregelsystem zur Regelung der Motordrehzahl eines reversiblen Antriebsmotors mit variabler Drehzahl. In Analogsystemen ist die Art und Weise der Regelung der Drehzahl eines Gleichstrommotors, der entweder im kontinuierlichen oder nichtkontinuierlichen Strombetrieb arbeitet, ebenso wie die Art und Weise der Richtungsumkehr des Motors wohl bekannt. Es ist ferner bekannt, dass ein Kriterium zur Umkehr der Richtung eines Gleichstrommotors darin besteht, dass der Motorstrom zum Zeitpunkt der Umkehr null sein muss. Um diese Umkehr durchzuführen, muss bei Analogsystemen zuerst festgestellt werden, wenn der Strom null ist, und dann muss ein gegebenes Sicherheitsintervall gewartet werden, bevor eine Drehrichtungsumkehr des Motors erfolgen kann. Es ist ferner bei analogen Motorantriebssystemen bekannt, dass derartige Systeme zwei Rückkopplungskreise im System erfordern, ein Rückkopplungskreis regelt den Motor, wenn dieser sich in einem kontinuierlichen Strombetrieb befindet, und ein Rückkopplungskreis regelt den Motor, wenn der Motor im diskontinuierlichen Strombetrieb arbeitet. Diese beiden Kreise erzeugen in Abhängigkeit von der Betriebsart des Systems unterschiedliche Verstärkungen. Dieses Betriebsverfahren in analogen Regelsystemen hat sich in gewisser Weise bei Gleichstrommotor-Antriebssystemen als nicht ganz befriedigend herausgestellt, insbesondere wenn es erwünscht ist, einen sehr hohen Grad der Motordrehzahlkonstanz unter sehr leichten Lastbedingungen zu erzielen. Es ist daher wünschenswert, ein Antriebs- und Regelsystem für die Drehzahl eines Gleichstrommotors zu schaffen, welches den gesamten Betrieb des Systems dadurch verbessert, dass ein Regler vorgesehen wird, der die Systemparameter misst und die Motordrehzahl genau berechnet, der die Betriebsart des Systems bestimmt und der die Drehrichtung des Motors und Änderungen der Drehrichtung des Motors sofort und ohne Verzögerung feststellt, wenn dies erwünscht ist. The systems mentioned did not work as an overall control system for regulating the motor speed of a reversible drive motor with variable speed. In analog systems, the manner in which the speed of a DC motor operating in either continuous or non-continuous current mode is controlled, as well as the manner in which the motor reverses direction, is well known. It is also known that a criterion for reversing the direction of a DC motor is that the motor current must be zero at the time of the reversal. In order to perform this reversal, analog systems must first determine if the current is zero and then wait a given safety interval before the direction of rotation of the motor can be reversed. It is also known in analog motor drive systems that such systems require two feedback loops in the system, a feedback loop regulates the motor when it is in a continuous current mode and a feedback loop regulates the motor when the motor is operating in a discontinuous current mode. These two circles produce different gains depending on the operating mode of the system. This method of operation in analog control systems has to some extent been found to be not entirely satisfactory in DC motor drive systems, particularly when it is desired to achieve a very high level of motor speed consistency under very light load conditions. It is therefore desirable to provide a drive and control system for the speed of a DC motor that improves the overall operation of the system by providing a controller that measures the system parameters and accurately calculates the motor speed that determines the operating mode of the system and which detects the direction of rotation of the motor and changes in the direction of rotation of the motor immediately and without delay, if desired.
CH1464877A 1976-12-10 1977-11-30 Method and device for controlling a DC motor CH632615A5 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US05/749,648 US4090116A (en) 1976-12-10 1976-12-10 Closed loop digital control system and method for motor control
US05/749,641 US4201936A (en) 1976-12-10 1976-12-10 Motor speed regulator and control system

Publications (1)

Publication Number Publication Date
CH632615A5 true CH632615A5 (en) 1982-10-15

Family

ID=27115153

Family Applications (1)

Application Number Title Priority Date Filing Date
CH1464877A CH632615A5 (en) 1976-12-10 1977-11-30 Method and device for controlling a DC motor

Country Status (9)

Country Link
JP (1) JPS5391312A (en)
BR (1) BR7708065A (en)
CH (1) CH632615A5 (en)
DE (1) DE2747476C2 (en)
FR (1) FR2392534A1 (en)
GB (2) GB1598918A (en)
IT (1) IT1089072B (en)
PL (1) PL202827A1 (en)
SE (1) SE7713971L (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3529033A1 (en) * 1984-08-13 1986-02-20 Pioneer Electronic Corp., Tokio/Tokyo DRIVER CIRCUIT FOR DC MOTORS

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2933355A1 (en) * 1979-08-17 1981-03-26 Scintilla Ag, Solothurn ELECTRIC HAND TOOL
JPS6124737Y2 (en) * 1980-07-18 1986-07-25
JPS5774752U (en) * 1980-10-25 1982-05-08
JPS57129189A (en) * 1981-02-04 1982-08-11 Nec Corp Control device for motor
DE3131574C2 (en) * 1981-08-10 1987-01-02 ASR Servotron AG, 1213 Le Petit-Lancy, Genève "Current control circuit for a consumer controlled via a power driver stage"
JPS5875490A (en) * 1981-10-28 1983-05-07 Hitachi Ltd Motor speed controlling method and device therefor
JPS5899282A (en) * 1981-12-04 1983-06-13 Meidensha Electric Mfg Co Ltd Control device for dc motor
JPS5899283A (en) * 1981-12-04 1983-06-13 Meidensha Electric Mfg Co Ltd Control device for dc motor
US4628460A (en) * 1982-09-17 1986-12-09 Eaton Corporation Microprocessor controlled phase shifter
GB2128375B (en) * 1982-10-07 1986-07-30 Gardner R F Dc motor control system
AU2255583A (en) * 1982-12-21 1984-06-28 Sunbeam Corp. Food preparation appliance
FR2564998B1 (en) * 1984-05-22 1987-04-24 Carpano & Pons SPEED REGULATION DEVICE
DE3610062A1 (en) * 1986-03-25 1987-10-01 Msi Technik Gmbh Phase-gating controller

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS46818A (en) * 1970-02-05 1971-09-04
US3988577A (en) * 1972-04-14 1976-10-26 Automated Energy Systems, Inc. Automated energy systems with computer compatibility
JPS5321722A (en) * 1976-08-12 1978-02-28 Toshiba Corp Method and apparatus for directly controlling motor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3529033A1 (en) * 1984-08-13 1986-02-20 Pioneer Electronic Corp., Tokio/Tokyo DRIVER CIRCUIT FOR DC MOTORS

Also Published As

Publication number Publication date
JPS5391312A (en) 1978-08-11
DE2747476A1 (en) 1978-06-15
SE7713971L (en) 1978-07-26
DE2747476C2 (en) 1983-12-15
GB1598918A (en) 1981-09-23
BR7708065A (en) 1978-09-05
IT1089072B (en) 1985-06-10
FR2392534A1 (en) 1978-12-22
PL202827A1 (en) 1978-09-11
JPS6114756B2 (en) 1986-04-21
FR2392534B1 (en) 1984-06-01
GB1598919A (en) 1981-09-23

Similar Documents

Publication Publication Date Title
CH632615A5 (en) Method and device for controlling a DC motor
DE3117673C2 (en)
DE2930013C2 (en)
DE2151589C2 (en) Arrangement for controlling the speed of a three-phase three-phase motor
DE3006019C2 (en) Method for controlling the closing time of an internal combustion engine
DE69203794T2 (en) Electrical current measuring device for solid-state motor controllers.
DE2539113B2 (en) Electronic device for controlling a periodically repeating process in internal combustion engines, in particular the flow of traffic jams through the ignition coil
DE3138716A1 (en) METHOD AND DEVICE FOR CONTROLLING THE IGNITION TIMING FOR AN INTERNAL COMBUSTION ENGINE
DE2610647C2 (en) Circuit arrangement for detecting and initiating measures for eliminating a short circuit on the DC side caused by a faulty rectifier in a rectifier bridge-controlled motor drive system
DE2343760A1 (en) SERVO DEVICE FOR CONTROLLING THE APPLICATION OF ELECTRICAL ENERGY TO AN AC MOTOR
DE3116047C2 (en)
DE2935888A1 (en) CONTROL AND SWITCHING DEVICE FOR AN INERTIA SENSOR
DE3401751A1 (en) DEVICE FOR GENERATING SPEED DATA FOR AN INTERNAL COMBUSTION ENGINE
DE3620350C2 (en)
DE2104866A1 (en) Digital control system
DE3885942T2 (en) Microprocessor control system especially for an engine.
DE3780335T2 (en) PROCESS CONTROL SYSTEM AND METHOD.
DE102006039900B4 (en) Signal output unit and electronic control unit
EP0458794B1 (en) Process and device for controlling single-phase or multiphase a.c. controllers
DE69819517T2 (en) Method and system for changing and controlling the speed of an engine
EP0198204B1 (en) Method and device for dc-ac converting
DE3234702C2 (en)
DE2722041C2 (en) Device for digital control of the speed of a DC motor
DE69228652T2 (en) Method and device for performing submodel control in a data processing system
DE3411572A1 (en) Method for regulating an asynchronous machine, which is supplied by means of a current-impressing intermediate circuit converter, in the field-suppression range

Legal Events

Date Code Title Description
PL Patent ceased