DE2511640A1 - Motor speed and acceleration control system - is digital system and has input to processor stating motor requirements - Google Patents
Motor speed and acceleration control system - is digital system and has input to processor stating motor requirementsInfo
- Publication number
- DE2511640A1 DE2511640A1 DE19752511640 DE2511640A DE2511640A1 DE 2511640 A1 DE2511640 A1 DE 2511640A1 DE 19752511640 DE19752511640 DE 19752511640 DE 2511640 A DE2511640 A DE 2511640A DE 2511640 A1 DE2511640 A1 DE 2511640A1
- Authority
- DE
- Germany
- Prior art keywords
- pulses
- speed
- time interval
- rate
- motor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/19—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
- G05B19/40—Open loop systems, e.g. using stepping motor
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Stepping Motors (AREA)
Abstract
Description
Verfahren zur Steuerung der Geschwindigkeit eines Motors und Vorrichtung zur Durchführung des Verfahrens Die Erfindung betrifft ein Verfahren zur Steuerung der Geschwindigkeit eines digital arbeitenden Motorsystems sowie eine Vorrichtung zur Durchführung des Verfahrens. Method of controlling the speed of a motor and apparatus for carrying out the method The invention relates to a method for controlling the speed of a digitally operating motor system and a device to carry out the procedure.
Die Erfindung kann insbesondere bei numerischen Steuersystemen eingesetzt werden, bei denen eine Einrichtung um eine Strecke bewegt wird, die durch programmierte Befehle vorgegeben wird; ein besonders zweckmäßiges Anwendungsgebiet bei diesen Systemen liegt dann vor, wenn die Bewegung in der Weise digital durchgeführt wird, daß sie durch einen Motor erzeugt wird, der jeden empfangenen Impuls im wesentlichen gleichzeitig in einen Schritt mit gleicher Länge überträgt. Durch Steuerung der Rate bzw.The invention is particularly applicable to numerical control systems in which a device is moved a distance that is programmed by Commands is given; a particularly useful area of application for these systems occurs when the movement is carried out digitally in such a way that it is generated by a motor which causes each received pulse to be substantially simultaneous in one step with the same length. By controlling the rate or
Geschwindigkeit und der Zahl der Impulse lassen sich in dieser Weise die Geschwindigkeit und Gesamtbewegung des Motors erreichen.Speed and number of pulses can be changed in this way reach the speed and overall motion of the motor.
Da der Motor eine endliche, begrenzte Fähigkeit hat, auf jeden Impuls anzusprechen, ist wesentlich, daß die Impulse dem Motor im Bereich der Möglichkeiten des Motors zugeführt werden, darauf anzusprechen; ist dies nicht der Fall, so treten Fehler dadurch auf, daß der Motor nicht für jeden Impuls einen Schritt erzeugt oder einen Schritt verliert. In dem US-Patent Nr. 3 411 058, das auf die Anmelderin der vorliegenden Erfindung übertragen wurde, wird ein System zur Steuerung der Rate bzw. Geschwindigkeit der Impulse beschrieben, die einer digitalen Motoreinrichtung zugeführt werden, während in dem US-Patent Nr. 3 553 549, das ebenfalls der Anmelderin der vorliegenden Erfindung übertragen wurde, ein weiteres System erläutert wird.Because the engine has a finite, limited ability to respond to every impulse To address, it is essential that the impulses the engine in the range of possibilities of the motor are supplied to respond to it; if this is not the case, step Errors in that the motor does not generate a step for each pulse or loses a step. In U.S. Patent No. 3,411,058, which is assigned to the assignee of the The present invention provides a rate control system or the speed of the pulses described by a digital motor device while in U.S. Patent No. 3,553,549, also assigned to the assignee of the present invention, another system will be explained.
Obwohl diese beiden Systeme zufriedenstellend arbeiten, beruhen sie beide im Grunde darauf, daß die Rate eines jeden Impuls es geregelt und/oder Analogschaltkreise verwendet werden. Da jeder Impuls geregelt wird, muß praktisch während der gesamten Zeit eine Schaltung dieser Regelung zugeordnet werden, während andererseits bei einer Analogschaltung die Rate oder Geschwindigkeit von Natur aus nur mit Schwierigkeiten eingestellt werden kann; außerdem ist es relativ schwierig, die Rate zu ändern; falls dies überhaupt durchgeführt werden kann, muß es mittels programmierter Befehle geschehen, um auch bei unterschiedlichen Betriebsbedingungen funktionsfähig zu sein. Der Erfindung liegt deshalb unter anderem die Aufgabe zugrunde, ein Verfahren und eine Vorrichtung zur Steuerung der Geschwindigkeit und der Bewegung einer digitalen Motoreinrichtung zu schaffen, bei der ein programmierter digitaler Rechner eingesetzt werden kann und programmierte Instruktionen verwendet werden, um die Vorrichtung unterschiedlichen Betriebsbedingungen anzupassen.Although both of these systems work satisfactorily, they are based both basically insist on the rate of each pulse being regulated and / or by analog circuitry be used. Since each pulse is regulated, it must be practically throughout the entire process Time a circuit can be assigned to this scheme, while on the other hand at an analog circuit, the rate or speed inherently has difficulty can be adjusted; it is also relatively difficult to change the rate; if this can be done at all, it must be done using programmed commands happen in order to be functional even under different operating conditions. Of the Invention is therefore, inter alia, the object of a method and a Apparatus for controlling the speed and movement of a digital motor device to create in which a programmed digital computer can be used and programmed instructions are used to make the device different Adjust operating conditions.
Weiterhin sollen mit depVorliegenden Erfindung ein Verfahren und eine Vorrichtung geschaffen werden, bei der die obige Aufgabe mittels eines Minimums an Rechnerzeit erreicht wird, indem Bestimmungen oder die Verwendung des Rechners auf der Basis von Zeitintervallen durchgeführt werden, indem normalerweise mehrere Impulse in Bezug auf Zahl und Rate gesteuert werden statt Bestimmungen an einzelnen Impulsen vorzunehmen.Furthermore, with the present invention, a method and a Apparatus can be provided in which the above task by means of a minimum in terms of computer time is achieved by provisions or the use of the calculator be done on the basis of time intervals, usually by several Impulses in relation to number and rate are controlled instead of determinations to individual ones Make impulses.
Schließlich sollen riil der vorliegenden Erfindung noch ein Verfahren und eine Vorrichtung zur Steuerung der Bewegung einer digitalen Motoreinrichtung geschaffen werden, wobei ein programmierter Rechner verwendet wird, gleichzeitig jedoch nur ein relativ geringer Bedarf an Speicherplätzen besteht; weiterhin soll die Vorrichtung leicht unterschiedlichen schritt- oder stufenweise arbeitenden Motoreinrichtungen angepaßt und relativ einfach programmiert werden können, wobei jedoch geichzeitig die Steuerung eines jeden Impulses, der der Motoreinrichtung zugeführt wird, in Bezug auf Zahl und Geschwindigkeit beibehalten wird, um eine Bewegung zu erzeugen.Finally, the present invention aims to provide a method and an apparatus for controlling the movement of a digital motor device using a programmed computer, simultaneously however, there is only a relatively small need for storage space; should continue the device slightly different step-wise or step-wise working motor devices can be adapted and programmed relatively easily, but at the same time the control of each pulse applied to the motor means in Regarding number and speed is maintained in order to produce movement.
Zur Durchführung der Erfindung wird bei dem Verfahren bzw.To carry out the invention, the method or
der Vorrichtung nach der Erfindung gemäß einer bevorzugten Ausführungsform eine Universalrechenanlage verwendet, die entsprechend dieser Erfindung programmiert wird; bei Bedarf kann jedoch für die Vorrichtung auch eine fest verdrahtete oder vorgegebene Schaltung eingesetzt werden.of the device according to the invention according to a preferred embodiment uses a general purpose computing system programming in accordance with this invention will; if necessary, however, a hard-wired or hardwired device can also be used for the device specified circuit can be used.
Bei beiden Aufbauten besteht die für jede Bewegung erforderliche Information aus drei Zahlen, nämlich dem Ausmaß der Bewegung in inkrementalen Schritten, der maximalen Geschwindigkeit in Schritten pro Sekunde und einem Wert für die Beschleunigung.With both structures, there is the one required for each movement information from three numbers, namely the amount of movement in incremental steps, the maximum speed in steps per second and a value for the acceleration.
Der Beschleunigungswert stellt eine Änderung der Geschwindigkeit dar, d.h., der Impulse pro Sekunde, auf die die Motoreinrichtung mit der Gewißheit ansprechen kann, daß kein Schritt verloren geht. Im Grunde beruht es auf der Anzahl von Impulsen pro Zeiteinheit, daß die Motoreinrichtung ihre Geschwindigkeit von einer Geschwindigkeit zu der nächsten Geschwindigkeit ändern kann, wobei die Motoreinrichtung den Wechsel zu der neuen Geschwindigkeit am Ende des Zeitintervalls erreicht hat. Wenn an dem Ende eines jeden Zeitintervalls die Motoreinrichtung in dieser Weise eine Geschwindigkeit hat, die gleich der Impulsrate ist, so überträgt sie jeden Impuls im wesentlichen gleichzeitig in eine inkrementale bzw. schrittweise Bewegung und ist so in Bezug auf Geschwindigkeit und Lage synchron mit den Impulsen.The acceleration value represents a change in speed, i.e., the number of pulses per second to which the engine device is certain to respond can that not a step is lost. Basically it is based on the number of pulses per unit of time that the motor device increases its speed from a speed can change to the next speed, the motor device making the change to have reached the new speed at the end of the time interval. If on that At the end of each time interval the motor means in this way a speed which is equal to the pulse rate, it essentially transmits each pulse at the same time in an incremental or stepwise movement and is so in relation on speed and position synchronous with the impulses.
Mit den obigen Informationen führt der Komputer eine Vielzahl von Bestimmungen durch, wobei jede Bestimmung die Zahl von Schritten (oder Impulsen) und die Impulsrate bzw. Pulsfrequenz (oder Schritte pro Sekunde) liefert, bei denen die Motoreinrichtung betrieben werden soll.With the above information, the computer performs a variety of Determinations, each determination being the number of steps (or pulses) and provides the pulse rate or pulse frequency (or steps per second) at which the engine device is to be operated.
Während Geschwindigkeitsänderungen, also wenn eine Beschleunigung oder eine Verringerung der Geschwindigkeit auftritt, werden die Bestimmungen nach einer bevorzugten Ausführungsform so häufig durchgeführt, wie die Motoreinrichtung auf die Geschwindigkeitsänderungen ansprechen kann, um dadurch die Zeit für die befohlene Bewegung möglichst gering zu halten und die Möglichkeiten des Motors vollständig auszunutzen. Während der Bewegungen mit konstanter Geschwindigkeit können die Bestimmungen wieder holt gemäß einer Ausführungsform der Erfindung mit konstanten Zeitintervallen durchgeführt werden, während nach einer anderen Ausführungsform die Zeitintervalle nicht konstant sind.During speed changes, i.e. when there is an acceleration or a decrease in speed occurs, the provisions are made according to a preferred embodiment performed as often as the motor device can respond to the speed changes, thereby reducing the time for the to keep commanded movement as low as possible and the possibilities of the motor completely to take advantage of. During the movements at constant speed, the determinations repeats according to an embodiment of the invention with constant time intervals be carried out while after another embodiment the time intervals are not constant.
Die Bestimmungen des Rechners werden als eine Reihe aus zwei Sätzen von Zahlen durchgeführt, wobei eine der Zahlen eine elektrische Darstellung der Zahl der Impulse ist, während die andere Zahl eine elektrische Darstellung der Pulsfrequenz oder Geschwindigkeit der Impulse ist. Jede Bestimmung wird dann durch eine Schaltung, die einen Geschwindigkeits- oder Fluß-Multiplikator und einen Rückwärtszähler enthält, zu einer Impulsfolge verarbeitet, bei der die Zahl der Impulse und die Rate durch die Informationen bei der Bestimmung spezifiziert sind. Diese Impulsserie bildet das Eingangssignal zu einer digitalen Motoreinrichtung, die für jeden Impuls einen Schritt oder eine inkrementale Bewegung erzeugen soll. Bei der Beendigung der Impulsfolge einer Bestimmung fordert die Schaltung dann von dem Rechner die Informationen der nächsten Bestimmung an, die bereits zur Verfügung gestellt und in einem Pufferspeicher gespeichert sein können.The determinations of the calculator are presented as a series of two sentences carried out by numbers, one of the numbers being an electrical representation of the Number of pulses is while the other number is an electrical representation of the pulse rate or speed of the pulses. Each determination is then made by a circuit, which contains a speed or flow multiplier and a down counter, processed into a pulse train in which the number of pulses and the rate through the information is specified in the determination. This series of impulses forms the input signal to a digital motor device that generates one for each pulse Step or an incremental movement. At the end of the pulse train a determination, the circuit then requests the information from the computer next determination that has already been made available and in a buffer memory can be stored.
Die Bestimmung? die der Rechner für jeden Ausgabesatz durchführen muß, ist relativ einfach und kann sehr viel schneller erfolgen, als die Motoreinrichtung die Bewegung erzeugen kann, so daß der Rechner nur intermittierend und nicht kontinuierlich eingesetzt werden muß. D.h. also, daß der Rechner auch für andere Berechnungen zur Verfügung stehen kann.The determination? which the calculator performs for each output record is relatively simple and can be done much faster than the engine setup can generate the movement, so that the computer is only intermittent and not continuous must be used. This means that the calculator can also be used for other calculations Can be available.
DieErfindung wird im folgenden anhand von Ausführungsbei spielen unter Bezugnahme auf die beiliegenden, schematischen Zeichnungen näher erläutert.The invention will be played in the following on the basis of exemplary embodiments Explained in more detail with reference to the accompanying schematic drawings.
Es zeigen: Fig. 1 ein Blockdiagramm der Verarbeitungsschaltung nach der vorliegenden Erfindung, die die Zahlen bei jeder Bestimmung in eine entspurhende Folge von Impulsen überträgt; Fig. 2 eine schematische Darstellung der impulsfolge, die für eine befohlene Bewegung der Motoreinrichtung erzeugt wird; Fig. 3 eine Fig. 2 ähnliche Ansicht, wobei jedoch nur die Impulsfolge gezeigt ist, die dann erzeugt wird, wenn eine weitere Ausführungsform eines Rechnerprogramms verwendet wird, und Fig. 4 einen Datenflußplan des Rechnerprogramms, das zur Lieferung der Bestimmungszahlen verwendet wird.1 shows a block diagram of the processing circuit according to FIG of the present invention, the the numbers on each determination translates into an emergent train of pulses; Fig. 2 is a schematic representation the pulse train generated for commanded movement of the motor means; 3 is a view similar to FIG. 2, but only showing the pulse train. which is then generated when a further embodiment of a computer program is used, and FIG. 4 is a data flow diagram of the computer program which is used for delivery the determination numbers is used.
Wie sich aus den Zeichnungen ergibt, ist das System nach der vorliegenden Erfindung allgemein durch das Bezugszeichen 10 angedeutet; ein solches System wird dazu verwendet, mittels eines Motors 11, dessen Energie durch eine digitale Motorsteuerung 12 eingestellt wird, eine inkrementale oder stufenweise Bewegung zu erzeugen; die Motorsteuerung empfängt an einem Eingang 13 einen Impuls, um im wesentlichen gleichzeitig mit seinem Empfang die Energie für den Motor 11 zu erzeugen, wodurch der Motor eine inkrementale oder stufenweise Bewegung hervorruft. Der Motor erzeugt also eine Bewegung von gleicher Länge für jeden Impuls, der an dem Eingang 13 empfangen wird. Der Eingang 13 ist mit einer Verarbeitungsschaltung verbunden, die allgemein mit dem Bezugszeichen 14 versehen ist; diese Verarbeitungsschaltung empfängt Informationen von einer trogrammierten Rechenanlage bzw. Datenverarbeitungsanlage 15, die einen Eingang 16 aufweist.As can be seen from the drawings, the system is according to the present invention Invention indicated generally by the reference numeral 10; such a system becomes used, by means of a motor 11, whose energy is controlled by a digital motor 12 is set to produce an incremental or stepwise movement; the Motor control receives at an input 13 a pulse to essentially simultaneously with its receipt to generate the energy for the motor 11, whereby the motor a causes incremental or gradual movement. So the motor creates a movement of the same length for each pulse received at input 13. The entrance 13 is connected to processing circuitry, generally designated by the reference numeral 14 is provided; this processing circuit receives information from a programmed Computing system or data processing system 15, which has an input 16.
Die Befehlsinformationen am Eingang 16 der Rechenanlage 15 oder an einer einer Bewegung zugeordneten, fest verdrahteten Schaltung bes-tehen aus folgenden Elementen: Der Anzahl der Schritte, die der Motor 11 durchführen muß, um die Bewegungzu erzeugen; der maximalen Geschwindigkeit, die er während der Bewegung haben soll; und einem akzeptierbaren Wert für die Geschwindigkeitsänderung zur Beschleunigung oder zur Verringerung der Geschwindigkeit.The command information at input 16 of the computer system 15th or on a hard-wired circuit assigned to a movement from the following elements: The number of steps that the motor 11 must perform, to create the movement; the maximum speed he can move while moving should have; and an acceptable value for the speed change for acceleration or to reduce the speed.
Die Rechenanlage 15 gibt auf einen Pufferspeicher 17 eine Zahl, die für jede Bestimmung die Geschwindigkeit in Schritten pro Sekunde (hier als VX bezeichnet) sowie die Zahl der Impulse statt einer Impulsfolge (als NX bezeichnft)dar steht, die der Motor bei dieser Geschwindigkeit erzeugen soll. Die Geschwindigkeitsinformation VX wird zu einem Fluß- bzw. Geschwindigkeits-Multiplikator 18 übertragen, sobald ein Ubertragungsblock 19 betätigt wird, während die Impulszahlinformationen NX unter der Steuerung eines Übertragungsblocks 21 zu einem in Richtung Null zählenden Rückwärtszähler 20 übertragen werden; der Ubertragungsblock 21 wird gleichzeitig mit dem Übertragungsblock 19 betätigt.The computing system 15 is a number on a buffer memory 17, the for each determination the speed in steps per second (here referred to as VX) as well as the number of pulses instead of a pulse train (referred to as NX), that the motor should generate at this speed. The speed information VX is transmitted to a flow multiplier 18 as soon as a transmission block 19 is actuated while the pulse number information NX under the control of a transmission block 21 to a down counter counting in the direction of zero 20 are transmitted; the transmission block 21 becomes simultaneous with the transmission block 19 actuated.
Der FluB-Multiplikator hat einen mit 'tGakt" ("clock") bezeichneten Eingang 22 und einen Ausgang 23 für die Impulse. Der Aurgcng für die Impulse ist mit dem Eingang 13 der digitalen Motorsteuerung 12 sowie mit einem Zählanschluß 24 des Rückwärtszählers 20 verbunden, dessen Zählwert für jeden empfangenen Impuls um eins abnimmt.The FluB multiplier has a 'tGakt' ('clock') Input 22 and an output 23 for the pulses. The aurgcng for the impulses is with the input 13 of the digital engine control 12 and with a counting connection 24 of the down counter 20 connected, its count value for each received pulse decreases by one.
Der Rückwärtszähler hat einen weiteren, mit N=O bezeichneten Anschluß 24a, der bei Vorliegen eines Zählwertes Null ein Signal zu den beiden Übertragungsblöcken 19 und 21 sowie zu einem Block 25 liefert; der zuletzt genannte Block ist eine Steuereinheit für die Rechenanlage 15, um eine neue Bestimmung durchzuführen, so daß dem Pufferspeicher 17 ein neues VX und ein neues NX zugeführt werden.The down counter has another connection labeled N = O 24a, which sends a signal to the two transmission blocks when the count value is zero 19 and 21 and to a block 25; the latter block is a control unit for the computer system 15 to make a new determination so that the buffer memory 17 a new VX and a new NX are fed.
Der Taktanschluß 22 des Fluß-Multiplikators ist mit dem Ausgang eines l'Teile-durch-viert -Blocks 26 verbunden, der wiederum an einen 1 Million Hertz - Taktgeber 27 angeschlossen ist; dies ist eine Impulsfrequenz, die im allgemeinen von dem Rechner 15 erhalten werden kann.The clock terminal 22 of the flow multiplier is connected to the output of a the divide-by-fourth blocks 26 connected, who in turn to one 1 million Hertz clock 27 is connected; this is a pulse frequency, which can generally be obtained from the computer 15.
Die VX-Informationen befinden sich also in dem Fluß-Multiplikator, während der Rückwärtszähler 20 auf die Zahl NX eingestellt ist; der Taktanschluß empfängt dann kontinuierlich Taktimpulse mit einer Rate bzw. Geschwindigkeit von 250 z und addierte inkremental den Wert von VX für jeden Taktimpuls zu sich selbst. Jedes Mal, wenn die Summe den maximalen Zählwert des Multiplikators übersteigt, läuft er über, um an dem Anschluß 23 einen Ausgangsimpuls zu erzeugen, der durch die Motorsteuerung 12 verarbeitet wird; dadurch wird ein Schritt erzeugt und auch der Zählwert des Rückwärtszählers 20 um eins verringert. Dieser Ablauf setzt sich solange fort, bis der Zählwert des Rückwärtszählers 20 Null wird; zu diesem Zeitpunkt werden neue Werte für VX und NX dem Fluß-Multiplikator 18 bzw. dem Rückwärtszähler 20 von dem Pufferspeicher 17 zugeführt, und an den Rechner wird eine neue Bestimmungsanforderung gestellt. Die Verarbeitungsschaltung 14 verarbeitet dann diese neue Information, um an dem Ausgang 23 für die Impulse eine Impulsfolge mit der Pulsfrequenz zu erzeugen, die durch die Geschwindigkeitsinformation VX angegeben und gesteuert wird, bis die Zahl von Impulsen (NX) erzeugt worden ist; zu diesem Zeitpunkt empfängt die Verarbeitungsschaltung die nächste, zu verarbeitende Bestimmungsinformation. Der Rechner benötigt zur Durchführung einer Bestimmung eine kleinere Zeitspanne als sie zur Bearbeitung einer Bestimmung erforderlich ist; er kann deshalb eine Bestimmung zu jedem Zeitpunkt eines Zeitintervalls durchführen; wegen des Pufferspeichers ist keine sofortige Bestimmung erforderlich, wenn eine Anforderung durch den Block 25 erfolgt.So the VX information is in the flow multiplier, while the down counter 20 is set to the number NX; the clock connection then continuously receives clock pulses at a rate of 250 z and incrementally added the value of VX to itself for each clock pulse. Every time the sum exceeds the maximum count of the multiplier, it overflows in order to generate an output pulse at the terminal 23 which passes through the engine controller 12 is processed; this creates a step and also the count value of the down counter 20 is reduced by one. This process continues until the count value of the down counter 20 becomes zero; at this time new values for VX and NX are added to the flow multiplier 18 and the down counter, respectively 20 is supplied from the buffer memory 17, and a new determination request is sent to the computer posed. The processing circuit 14 then processes this new information, in order to generate a pulse train with the pulse frequency at the output 23 for the pulses, which is indicated and controlled by the speed information VX until the Number of pulses (NX) generated; at this point the processing circuit receives the next destination information to be processed. The calculator needs to carry out a determination takes a shorter period of time than it takes to process a determination is required; he can therefore make a determination at any point in time of a time interval carry out; no immediate determination is required due to the buffer memory, when a request is made by block 25.
In Fig. 2 ist schematisch eine Serie von Impulsen dargestellt, die der digitalen Motorsteuerung 12 zugeführt werden; in diesem Fall ist der Eingangsbefehl zu dem Rechner so ausgelegt, daß sich der Motor 27 Schritte mit einer maximalen Geschwindigkeit von 800 Schritten pro Sekunde und mit einem Beschleunigungswert von 200 bewegt. Der Beschleunigungswert wird durch die Fähigkeit des Motors 11 eingestellt, auf eine Änderung der Geschwindigkeit anzusprechen, ohne einen Schritt zu verlieren; in diesem Beispiel wurden dies 40.000 Schritte pro sek2 sein, so daß der Motor am Ende einer Beschleunigungsekunde eine Geschwindigkeit von 4o.000 Schritten pro Sekunde hätte. Dieser Wert hängt von den Betriebsbedingungen ab; er ist jedoch in allen Beispielen nicht größer als die Impulsrate, bei der der Motor 11 ohne Verlust eines Schrittes starten kann. Damit kann der Motor 11 bei einem Wert 200 auf eine Impulsfrequenz von 200 Schritten pro Sekunde ansprechen.In Fig. 2, a series of pulses is shown schematically, the the digital engine controller 12 are supplied; in this case the input command to the computer is designed so that the motor 27 steps with a maximum speed of 800 steps per second and with one Acceleration value of 200 moves. The acceleration value is determined by the ability of the motor 11 is set to respond to a change in speed without to lose a step; in this example this was 40,000 steps per sec2 so that the motor has a speed at the end of a second of acceleration of 4o,000 steps per second. This value depends on the operating conditions away; however, in all examples it is not greater than the pulse rate at which the Motor 11 can start without losing a step. So that the motor 11 can a value of 200 respond to a pulse frequency of 200 steps per second.
Weiterhin wird auch wenigstens bei dieser Darstellung davon ausgegangen, daß ein konstanter Wert während der gesamten Dauer derBewegung beibehalten wird. Furthermore, at least in this representation, it is assumed that that a constant value is maintained during the entire duration of the movement.
In Fig. 2 wird die Abgabe des Startbefehls durch eine senkrechte Linie angedeutet, die durch den Zusatz Start gekennzeichnet ist; kurz danach tritt ein Impuls Pl auf. In Fig. 2, the issue of the start command is through a vertical Line indicated, which is indicated by the addition of start; shortly thereafter occurs an impulse Pl on.
Dies ist der erste Impuls der Impulsserie; er wird sehr rasch erzeugt, nachdem der Startbefehl empfangen wird, um die Bewegung des Motors auszulösen, sobald der Befehl gegeben wird. In dem vorliegenden Beispiels hat NX den Wert Eins, während der Wert für VX 1.000 oder einen ähnlichen Betrag haben kann; dies hängt davon ab, was ausgewählt wird; nach einer bevorzugten Ausführungsform soll dies jedoch in jedem Fall sehr rasch geschehen. Wenn diese Information durch den Pufferspeicher zu dem Bluß-Multiplikator 18 und dem Rückwärtszähler 20 übertragen wird, so erzeugt der Multiplikator 18 innerhalb der Zeitspanne TI einen Impuls Pl, während der Rückwärtszähler 20 wieder den Zustand N=O annimmt. This is the first pulse in the series of pulses; it is generated very quickly, after the start command is received to trigger the motor to move as soon as the command is given. In the present example, NX has the value one, while the value for VX may be 1,000 or a similar amount; this depends on what is selected; according to a preferred embodiment, however, this should be in in each case happened very quickly. When this information through the buffer memory to the Bluß multiplier 18 and the down counter 20 is generated the multiplier 18 within the time period TI a pulse Pl, while the down counter 20 again assumes the state N = O.
Bei der nächsten Bestimmung ist VX gleich dem Beschleunigungswert, nämlich 200 Schritten pro Sekunde, während NX wieder gleich Eins ist. Nach der Zeitspanne T2 wird dann der Impuls P2 erzeugt. Für das nächste Zeitintervall U3 werden die Impulse P3 und P4 durch Bestimmung der Werte von VX = 400 und NX = 2 erzeugt. Nach der Beendigung der Impulse P4 hat die neue Bestimmung VX=600 und NX=3; zu diesem Zeitpunkt werdendie Impulse P5, P6 und P7 erzeugt (einige Impulse sind in der Figur nicht im einzelnen dargestellt). Der Motor hat seine angesteuerte, maximale Geschwindigkeit von 800 Schritten pro Sekunde noch nicht erreicht, so daß für das nächste Zeitintervall T5 die Bestimmung VX = 800 und NX = 4 hat, wodurch die Impulse P8 bis P11 erzeugt werden. In the next determination, VX is equal to the acceleration value, namely 200 steps per second, while NX is equal to one again. According to the period of time T2, the pulse P2 is then generated. For the next time interval U3, the Pulses P3 and P4 generated by determining the values of VX = 400 and NX = 2. To the termination of the pulses P4 has the new determination VX = 600 and NX = 3; to this At this point, the pulses P5, P6 and P7 are generated (some pulses are in the figure not shown in detail). The motor has its controlled, maximum speed of 800 steps per second has not yet been reached, so that for the next time interval T5 has the determination VX = 800 and NX = 4, thereby generating pulses P8 through P11 will.
Der Motor hat nun seine maximale Geschwindigkeit erreicht; während der Zeitintervalle T6 und T7 ist VX dann 800 und NX 4, so daß die Motorgeschwindigkeit während der Dauer dieser beiden Zeitintervalle auf 800 Schritten pro Sekunde gehalten wird. Am Ende des Intervalls 27 hat die Motorsteuerung 12 den Impuls P 19 empfangen, so daß noch 8 Impulse erzeugt werden müssen; diese Impulse werden dazu verwendet, eine Verringerung der Geschwindigkeit im wesentlichen mit der gleichen Geschwindigkeitsänderung wie bei der Beschleunigung zu bewirken. Das heißt also, daß für das Intervall T8 die Werte VX = 600 und NX = 3 sind, während sie für die Intervalle T9 und T10 VX = 400 und NX = 2 sind.The motor has now reached its maximum speed; while of the time intervals T6 and T7, VX is then 800 and NX 4, so the engine speed held at 800 steps per second for the duration of these two time intervals will. At the end of the interval 27, the engine control 12 has received the pulse P 19, so that 8 more pulses have to be generated; these impulses are used to a decrease in speed with substantially the same change in speed how to effect acceleration. This means that for the interval T8 the values VX = 600 and NX = 3, while for the intervals T9 and T10 they are VX = 400 and NX = 2.
Der letzte Impuls P27 wird aus der Bestimmung von VX = 200 und NX = 1 erzeugt und tritt während des Zeitintervalls T11 auf.The last pulse P27 is derived from the determination of VX = 200 and NX = 1 is generated and occurs during time interval T11.
Unter Berücksichtigung der Verteilung der Impulsserie ergibt sich, daß mit Ausnahme der Zeit T1 die Zeitintervalle T2 bis T11 identisch sind, was sich zwangsläufig daraus ergibt, daß die Dauer des Zeitintervalls gleich NX (Zahl der Impulse) geteilt durch VX (Impulsrate) ist; in dieser Ausführungsform beträgt die Dauer also 5 msek (0,005 sek).Taking into account the distribution of the pulse series, it results that with the exception of the time T1, the time intervals T2 to T11 are identical, which is inevitably it follows that the duration of the time interval is equal to NX (number of Pulses) divided by VX (pulse rate); in this embodiment is Duration 5 msec (0.005 sec).
Sobald P1 erzeugt ist, steht dem Motor weiterhin die Zeitspanne T2 zur Verfügung, um auf 200 schritte pro Sekunde zu beschleunigen; dazu wird nur ein Impuls benötigt, bevor die Impulse P2 und P3 eine Gcschwindigkeit von 400 Schritten pro Sekunde fordern. Dem Motor steht jedoch das Zeitintervall U3 zur Verfügung, um seine Geschwindigkeit von 200 auf 400 Schritte pro Sekunde zu erhöhen; während der Zeit T4 erhöht er seine Geschwindigkeit von 400 auf 600 und während der Zeit 25 seine Geschwindigkeit von 600 auf 800 Schritte pro Sekunde.As soon as P1 is generated, the motor continues to have time period T2 available to accelerate to 200 steps per second; there is only one Pulse requires a speed of 400 steps before pulses P2 and P3 request per second. However, the time interval U3 is available to the motor, to increase its speed from 200 to 400 steps per second; while the time T4 it increases its speed from 400 to 600 and during the time 25 his speed from 600 to 800 steps per second.
Obwohl die Impulse in jedem Zeitintervall eine konstante Rate oder Geschwindigkeit haben, muß der Motor am Ende eines jeden Zeitintervalls eine Geschwindigkeit aufweisen, die gleich der Impulsrate ist. Während wenigstens eines Teils des Intervalls ist jedoch die Impulsrate schneller als der Motor von dem Beginn des Intervalls an, so daß der Motor während des Intervalls beschleunigt. Dadurch ergibt sich also eine Verzögerung, die durch die Geschwindigkeitsänderung zwischen einem Impuls und dem Ansprechen des Motors eingeführt wird, die am Ende des Zeitintervalls auf ihren Normalwert absinkt. In keinem Fall ist die Verzögerung größer als ein Schritt, so daß sichergestellt wird, daß der synchrone Ablauf zwischen der Motorbewegung und der Impulserzeugung zu allen Zeiten innerhalb eines Schrittes liegen wird.Although the pulses in each time interval have a constant rate or Speed, the motor must have a speed at the end of each time interval which is equal to the pulse rate. During at least part of the interval however, the pulse rate is faster than the motor from the start of the interval on so that the motor accelerates during the interval. So this results a delay caused by the change in speed between a pulse and the response of the engine is introduced at the end of the time interval on their Normal value drops. In no case is the delay greater than one step, like this that it is ensured that the synchronous sequence between the motor movement and the pulse generation will be within one step at all times.
Selbstverständlich kann der RechnerBestimmungszahlen in einer kürzeren Zeitspanne als einem Zeitintervall erzeugen; dadurch kann der Rechner also im "ime-sharing"-Betrieb mit anderen Bereichen arbeiten, die Berechnungen erfordern.Of course, the calculator can produce identification numbers in a shorter Generate time span as a time interval; this allows the computer to operate in "ime-sharing" mode work with other areas that require calculations.
In Fig. 4 ist ein Datenflußplan dargestellt, mit dem der Rechner so programmiert werden kann, daß die Bestimmungszahlen erzeugt werden, die zur Steuerung derGeschwindigkeit des Motors verwendet werden. Zunächst sollen die verschiedenen Abkürzungen in dem Datenflußplan erläutert werden; BB stellt die augenblickliche Bewegung dar, die noch durchgeführt werden soll; zu Beginn, bevor irgendwelche Schritte gemacht wurden, ist sie gleich der befohlenen Bewegungszahl (nämlich 27 für das angegebene Beispiel), während sie während der Verarbeitung der Informationen für jeden Befehlsimpuls um Eins verringert wird, um die Zahl von Schritten beizubehalten, die für die Bewegung verbleiben. VM stellt die maximal zulässige Geschwindigkeit dar und ist eine eingegebene Information, die für die Bewegung konstant bleibt; in dem angegebenen Beispiel würde diese Geschwindigkeit einen Wert von 800 Schritten pro Sekunde haben. A stellt eine Einrichtung dar, die zwei Zustände einnehmen kann; dazu kann beispielsweise ein Flip-Flop verwendet werden, der entweder einen Zustand 1 oder einen Zustand 0 hat; diese Einrichtung wird für die Erzeugung des ersten Impuls es verwendet ; BN stellt den Zählwert in einem Zähler dar, der zur Bestimmung des Zeitpunktes eingesetzt wird, bei dem die Verringerung der Geschwindigkeit beginnen sollte; dazu wird ein Zählwert für die minimale Zahl von Impulsen beibehalten, die für die Verringerung der Geschwindigkeit erforderlich sind. NO stellt einen Zeitintervallzähler dar, der den Zählwert, weniger Eins, eines jeden auf einanderfolgenden Zeitintervalls beibehält und seinen Zählwert nur um Eins für jedes Zeitintervall oder Bestimmung ändern kann. V stellt einen numerischen Wert für die Motorgeschwindigkeit bei der Bestimmung dar. K stellt den numerischen Wert für die Geschwindigkeitsänderung dar, die innerhalb der Möglichkeiten des Motors liegt und die bei dem vorliegenden Beispiel einen Wert von 200 hat. NX ist die Zahl von Motorschritten, die für jede Bestimmung ausgegeben wird, während VX die Bestimmungsgeschwindigkeit darstellt. V INNIG ist die Geschwindigkeit, die nur für den ersten Impuls P1 verwendet wird, und wird als Information eingegeben.In Fig. 4 is a data flow diagram is shown with which the computer so can be programmed that the determination numbers are generated for the control the speed of the motor. First of all, the various Abbreviations be explained in the data flow plan; BB represents the current movement, which is still to be carried out; at the beginning before taking any steps it is equal to the commanded number of movements (namely 27 for the specified Example) while they are processing the information for each command pulse is decreased by one to maintain the number of steps required for movement remain. VM represents the maximum permissible speed and is an entered one Information that remains constant for the movement; in the example given would this speed have a value of 800 steps per second. A represents a Is a device that can assume two states; for example, a Flip-flop can be used, which has either a state 1 or a state 0; this device is used for generating the first pulse it; BN provides represents the count in a counter that is used to determine the point in time at which the speed reduction should begin; this becomes a Maintain count for the minimum number of pulses required for reduction the speed required. NO represents a time interval counter, which is the count, less one, of each successive time interval and maintains its count only by one for each time interval or determination can change. V represents a numerical value for the engine speed at the Determination. K represents the numerical value for the change in speed, which lies within the possibilities of the engine and which in the present example has a value of 200. NX is the number of motor steps required for each determination is output while VX represents the determination speed. V INNIG is the speed that is only used for the first pulse P1 and is called Information entered.
Damit bei dem angegebenen Beispiel die in Fig. 2 dargestellte Impulsverteilung erzeugt und die oben beschriebenen Bestimmungen durchgeführt werden können, ist für die Funktionsweise des Datenflußplans erforderlich, daß in einem Block 23 folgende Eingabeinformationen zugeführt werden: BL = 27, VM = 800, K = 200 und V INDIZ = 1000.Thus, in the example given, the one shown in FIG Momentum distribution generated and the determinations described above can be carried out is required for the functioning of the data flow plan that in a block 23 the following Input information is supplied: BL = 27, VM = 800, K = 200 and V INDIZ = 1000.
Ein Startblock 29 wird betätigt, um die Verarbeitung der Eingabeinformationen zu beginnen; zu Beginn bringt er über einen Block 30 A in den Zustand 0. Der Block 25 zeigt an, daß die Verarbeitungsschaltung bereit ist, Informationen zu empfangen, und fordert sie deshalb an. Der Block 31 fragt ab, ob irgendwelche übrigbleibenden Schritte vorhanden sind, indem der BB Zähler abgefragt wird; bleiben keine Schritte übrig, dann wird der Block 32 betätigt, wodurch angezeigt wird, daß die Bewegung vollständig und beendet ist. Dadurch kann, bei Bedarf, ein Block 33 betätigt werden, um den Fortgang zu der nächsten Bewegung zu bewirken, wobei die Informationen für den Verarbeitungsblock 28 für den neuen Eingabebefehl empfangen werden.A start block 29 is actuated to start processing the input information to start; at the beginning it brings A to state 0 via a block 30. The block 25 indicates that the processing circuit is ready to receive information, and therefore requests them. The block 31 inquires whether there are any remaining Steps are in place by querying the BB counter; no steps remain remaining, block 32 is actuated, indicating that the move complete and finished. As a result, a block 33 can be actuated if necessary, to proceed to the next movement, with the information for the processing block 28 for the new input command can be received.
Ist jedoch BL = 27, so erzeugt derBlock 31 ein NEIN-Signal und gibt dies auf einen Block 34, der abfragt, ob sich A im Zustand 1 befindet (was er in Anbetracht des Blocks 30 nicht ist); weiterhin wird ein Signal auf einen DO Block 35 gegeben, der folgende Funktionen erfüllt: Er stellt A auf seinen Zustand 1 ein, setzt den NC Zähler auf 0, den BN Zähler auf 1 und das V Register auf 0. Weiterhin verringert der Block 35 den Zählwert des BL Zählers um 1 und setzt NX = 1 und VX = der anfänglichen Impulsgeschwindigkeit V INIT. Diese Information der ersten Bestimmung wird durch einen Block 36 ausgegeben, wodurch der Impuls P1 in entsprechender Weise erzeugt wird.However, if BL = 27, then block 31 generates a NO signal and issues this to a block 34 which asks whether A is in state 1 (which it does in Considering block 30 is not); a signal is still sent to a DO block 35, which fulfills the following functions: It sets A to its state 1, sets the NC counter to 0, the BN counter to 1 and the V register to 0. Continue the block 35 decreases the count of the BL counter by 1 and sets NX = 1 and VX = the initial pulse rate V INIT. This information of the first determination is output by a block 36, whereby the pulse P1 in a corresponding manner is produced.
Wenn die Verarbeitungsschaltung 14 die nächste Bestimmung durch den Block 25 anfordert, werden die numerischen Werte für VX und NX für das Zeitintervall T2 über die Blöcke 31 und 34 bestimmt und auf einen Block 37 gegeben, der abfragt, ob die Differenz zwischen den beiden Registern BB und BN größer als zwei mal der Zeitintervallzahler NC ist. Wenn BB numerisch 26, BN 0 und NC 0 sind, dann fließen die Informationen zu einem Block 38, der den Wert von V auf 200 ändert, indem K (200) zu dem alten Wert für V (O).addiert wird; dann fragt ein Block 39 ab, ob V (jetzt 200) gleich oder kleiner als die maximale Geschwindigkeit VM (800) ist. Wird die Antwort "ja" gegeben, so werden die Befehle in dem Block 40 ausgeführt, der BN gleich BN plus NC (beide 0) setzt, so daß BN 0 bleibt, während NC durch die Addition von 0 und 1 auf 1 gesetzt wird.When the processing circuit 14 makes the next determination by the Block 25 requests the numeric values for VX and NX for the time interval T2 determined via the blocks 31 and 34 and given to a block 37, the queries whether the difference between the two registers BB and BN is greater than two times the Time interval counter NC is. If BB is numeric 26, BN 0 and NC 0 then flow the information to a block 38 which changes the value from V to 200 by adding K (200) is added to the old value for V (O).; then a block 39 asks whether V (now 200) is equal to or less than the maximum speed VM (800). Will the answer "yes" is given, the commands are executed in block 40, the Sets BN equal to BN plus NC (both 0), so that BN remains 0, while NC by the addition is set from 0 and 1 to 1.
Anschließend wird durch einen Befehlsblock 41 BS um den W>rt von NO (1) verringert, so daß es nun 25 wird, während NX gleich NC (1) und VX gleich V (200) gemacht werden; diese Werte der Bestimmung für das Zeitintervall T2 werden durch den Block 36 ausgegeben. Nach der Beendigung dieser Bestimmung sind die gespeicherten Werte V = 200, BN = 0, NC = 1 und BB = 25. Subsequently, by a command block 41 BS is around the word of NO (1) decreased so that it now becomes 25, while NX is equal to NC (1) and VX is equal to V (200) can be made; these values become the determination for the time interval T2 output by block 36. After the termination of this determination, the saved Values V = 200, BN = 0, NC = 1 and BB = 25.
Bei der nächsten Anforderung der Werte VX und NX für das Zeitintervall T3 wird die gleiche Bestimmung durch die Blöcke 34, 37, 38, 39, 40 und 41 durchgeführt, wonach der Block 36 die Werte VX = 400 und NX = 2 ausgibt. Die gespeicherten Informationen sind V = 400, BN = 1, NC = 2 und BN = 23. Für das Zeitintervall T4 werden VX = 600 und NX = 3 ausgegeben, wobei die gespeicherten Werte V = 600,BN = 3, NC = 3 und BL=20 sind. Bei dem Zeitintervall T5 ist TX = 800 und NX = 4,'wobei die gespeicherten Werte V = 800, BE = 6, NC = 4 und BB = 16 sind. Es soll darauf hingewiesen werden, daß der Wert von V nun gleich VM ist, wonach dieBeschleunigungsphase der Bewegung beendet ist. The next time the values VX and NX are requested for the time interval T3 the same determination is made by blocks 34, 37, 38, 39, 40 and 41, after which the block 36 outputs the values VX = 400 and NX = 2. The information stored are V = 400, BN = 1, NC = 2 and BN = 23. For the time interval T4, VX = 600 and NX = 3 are output, with the stored values V = 600, BN = 3, NC = 3 and BL = 20. At the time interval T5, TX = 800 and NX = 4, where the stored Values are V = 800, BE = 6, NC = 4 and BB = 16. It should be noted that that the value of V is now equal to VM, after which the acceleration phase of the movement is finished.
Bei der Bestimmung für das Zeitintervall T6 fließen die Informationen zu den Blöcken 34, 37 und 38 sowie zu dem Block 39, wo der Informationsfluß nun durch einen Block 42 geführt wird, da V nun gleich 1000 ist (durch den Block 38, der 200 zu dem vorherigen Werten 800 für V addiert) der Block 42 verringert den Wert von V um 200 (K) auf einen V-Wert von 800, und kehrt dann zu dem Block 41 zurück. Dieser Block gibt VX als 800 und NX als 4 aus, wobei an dem Ende des Zeitintervalls T6 die gespeicherten Werte V = 800, BN = 6, BL = 12 und NC = 4 sind. Dies ist das erste Zeitintervall, in dem der Motor so eingestellt ist, daß er mit seiner maximalen Geschwindigkeit läuft. The information flows in the determination for the time interval T6 to blocks 34, 37 and 38 and to block 39, where the flow of information is now is passed through a block 42, since V is now equal to 1000 (by the block 38, which adds 200 to the previous value 800 for V), block 42 decreases increases the value of V by 200 (K) to a V value of 800, and then returns to the block 41 back. This block outputs VX as 800 and NX as 4, with the end of the Time interval T6, the stored values are V = 800, BN = 6, BL = 12 and NC = 4. This is the first time the engine is set to run running at its maximum speed.
Für das Zeitintervall T7 verläuft der Informationsfluß durch den Block 34 und den Block 37, wo die durch diesen Block gestellte Frage zum ersten Mal "nein" ist (12 minus 6 ist weniger als 2 mal 4); dadurch wird der Informationsfluß zu einem Block 43 geführt, wo die durchdiesen Block gestellte;Rrgemit"åa" beantwortet wird (da BL = 12, 3N = 6 und NC = 4); dieser fragt im Grunde, ob bei der Bewegung mehr Schritte übrig bleiben, als für die Verringerung der Geschwindigkeit erforderlich sind. Der Informationsfluß wird so durch einen Schalter 44, der mit einem Kontakt 44a in Eingriff kommen kann, zu dem Block 41 geführt. Dieser Block verschiebt den Wert für BL auf einen Wert von 8, wonach die Werte 4 und 800 für NX und VX durch den Block 36 ausgegeben werden.For the time interval T7, the flow of information runs through the block 34 and block 37, where the question asked by this block is "no" for the first time. is (12 minus 6 is less than 2 times 4); thereby the flow of information becomes one Block 43 led, where the set by this block; Rrgemit "åa" is answered (since BL = 12, 3N = 6 and NC = 4); this basically asks whether there is more when moving Steps are left over as required for the reduction in speed are. The flow of information is so through a switch 44, which has a contact 44a can come into engagement, led to the block 41. This block moves the Value for BL to a value of 8, after which the values 4 and 800 for NX and VX through the block 36 are output.
In dem nächsten Zeitintervall T8 wird eine Verringerung der Geschwindigkeit bei dem K-Wert durchgeführt, der die gleiche Pulsfrequenz wie die darstellt, bei der der Motor beschleunigt wurde; in diesem Fall wird der Informationsfluß wieder nacheinander und in Folge zu den Blöcken 34 37 und 43 geführt. An dem Block 43 wird jedoch die gestellte Frage mit "nein" beantwortet (da BS = 8, BN = 6 und NC = 4); damit verlaufen die Informationen weiter zu einem Block 45, der den Wert für NC um 1 auf 3 und den Wert für BN um den neuen Wert von NC (6-3=3) verringert, während der Block 42 dann den Wert für V um K (auf 600) senkt. Informationen werden dann zu dem Block 41 weitergegeben, wer Wert fut BS um NC (8-3=5) gesenkt wird, wonach die Werte für VX = 600 und NX = 3 durch den Block 36 ausgegeben werden. Die Werte für NC = 3, BN = 3, V = 600 und BS = 5 bleiben in den Speicherregistern.In the next time interval T8 there is a reduction in speed performed at the K value representing the same pulse rate as that at that the engine was accelerated; in this case the flow of information is again one after the other and in sequence to blocks 34, 37 and 43. At the block 43 is however, the question asked answered with "no" (since BS = 8, BN = 6 and NC = 4); the information thus continues to a block 45 which contains the value for NC by 1 to 3 and the value for BN decreased by the new value of NC (6-3 = 3), while the block 42 then decreases the value for V by K (to 600). Information will then forwarded to block 41, who value fut BS is lowered by NC (8-3 = 5), after which the values for VX = 600 and NX = 3 output by block 36 will. The values for NC = 3, BN = 3, V = 600 and BS = 5 remain in the memory registers.
Für das nächste Intervall T9, bei dem Impulse P23 und P24 ausgegeben werden, führt der DatenfluB durch die Blöcke 34, 37, 43, 45, 42 und 41 zu der Ausgabe von VX = 4, NX = 2, während die Werte für NC = 2, BN =1; V = 400 und BL = 3 gespeichert werden. Bei der Bestimmung für das Zeitintervall rad10 erfolgt derDatenfluß durch die Blöcke 34, 37, 43, den Schalter 44 und den Block 41, wobei die Werte für VX = 400 und NX = 2 ausgegeben werden, während die Werte für BL = 1, NC = 2, BN = 1 und V = 400 bleiben. Da die Frage in den Block 43 mit "ja" beantwortet wird, wird nur der Wert für BB, die Sahl der übrigbleibenden Schritte, geändert.For the next interval T9, at which pulses P23 and P24 are output the data flow through blocks 34, 37, 43, 45, 42 and 41 leads to the output of VX = 4, NX = 2, while the values for NC = 2, BN = 1; V = 400 and BL = 3 saved will. When determining for the time interval rad10, the data flow takes place through blocks 34, 37, 43, switch 44 and block 41, where the values for VX = 400 and NX = 2 are output, while the values for BL = 1, NC = 2, BN = 1 and V = 400 remain. Since the question in block 43 is answered with "yes", only changed the value for BB, the number of steps left.
Für das letzte Zeitintervall 211 erfolgt der Datenfluß durch die Blöcke 34, 37, 43, 45, 42 und 41, um VX = 200 und NX = 1 auszugeben. In dem Register verbleiben die Werte NC = 1, BN = O, V = 200 und BB = O. Bei der Anforderung der nächsten Bestimmung erzeugt der Block 31 die Antwort "ja", da BB = 0 ist, wodurch angedeutet wird, daß alle Impulse für die Bewegung erzeugt worden sind. Daraufhin fließt die Information zu dem Block 32, um anzugeben, daß die Bestimmung der Bewegung beendet worden ist; dadurch kann der Block 33 neue Eingabadaten für die nächste befohlene Bewegung anfordern.For the last time interval 211, the data flow through the blocks 34, 37, 43, 45, 42 and 41 to output VX = 200 and NX = 1. Remain in the register the values NC = 1, BN = O, V = 200 and BB = O. When the next determination is requested the block 31 generates the answer "yes", since BB = 0, which indicates that all impulses for the movement have been generated. The information then flows to block 32 to indicate that the determination of motion has ended; this allows block 33 to request new input data for the next commanded movement.
Da der Wert für VX gleich dem Wert für VM ist, werden selbstverständlich die beiden überschüssigen Impulse, nämlich P25 und P26, die während des Zeitintervalls 10 auftreten, nicht für die Verringerung der Geschwindigkeit benötigt; bei dem dargestellten Datenflußplan erfordern sie nur ihr eigenes Zeitintervall und eine Motorbewegung mit einer langsameren Geschwindigkeit als die maximale Geschwindigkeit. Damit diese überschüssigen Impulse bei der maximalen Geschwindigkeit erzeugt werden, um die Zeit für die Bewegung zu verringern und auch auf eine Bestimmung und das dafür erforderliche Zeitintervall zu verzichten, wodurch die Verringerung der Geschwindigkeit effektiv identisch mit der Beschleunigung wird, kann der Datenflußplan dadurch geändert werden, daß der Schalter 44 in Kontakt mit seinem Anschluß 44b gebracht wird. Dadurch ergibt sich die in Fig. 3 dargestellte Verteilung der Impulse. Für die ersten sechs Zeitintervalle ist die Impulsverteilung identisch mit der in Fig. 2 gezeigten. Für das Zeitintervall 7' nach Fig. 3, das dem Zeitintervall T7 entspricht, werden jedoch sechs Impulse statt der vier Impulse erzeugt, während die Zeitintervalle T8', T9' bzw.Since the value for VX is equal to the value for VM, it goes without saying the two excess pulses, namely P25 and P26, that occur during the time interval 10 occur not required for speed reduction; with the one shown They only require their own time interval and motor movement at a slower speed than the maximum speed. So that these excess impulses the maximum speed generated be in order to decrease the time for movement and also on a determination and to waive the time interval required for this, thereby reducing the speed becomes effectively the same as the acceleration, the data flow plan can can be changed by having the switch 44 in contact with its terminal 44b is brought. This results in the distribution of the pulses shown in FIG. 3. For the first six time intervals, the impulse distribution is identical to that in Fig. 2 shown. For the time interval 7 'according to FIG. 3, which corresponds to the time interval T7 corresponds to, however, six pulses are generated instead of the four pulses while the time intervals T8 ', T9' or
TIl' den Intervallen D8, T9 bzw. 211 entsprechen und das Zeitintervall T10 fortfällt. Die beiden überschüssigen Impulse von T10 treten in 27' auf und werden dadurch bei der maximalen Hotordrehzahl erzeugt.TIl 'correspond to the intervals D8, T9 and 211 and the time interval T10 is omitted. The two excess pulses from T10 appear and become in 27 ' thereby generated at the maximum hotord speed.
Aus dem in Fig. 4 gezeigten Datenflußplan ergibt sich nun folgende Funktionsweise: Da der Schalter 44 in Kontakt mit dem Anschluß 44b steht, werden die Informationen für das Zeitintervall 7' durch den Block 43 verarbeitet, der bewirkt, daß mit BL = 12, BN = 6 und NX = 4 die Informationen zu einem Block 46 fließen, der NX = der Differenz zwischen BS und BN (nämlich 6) ausgibt, BB gleich BN macht und den Wert für V, nämlich 800, ausgibt. Durch die Verwendung dieses Weges für die Bestimmung in dem Datenflußplan wird der Wert für BS, nämlich die Impulse, die noch aufgenommen werden müssen, gleich BN gemacht, der Zahl der Impulse, die für die Verringerung der Geschwindigkeit benötigt werden; die Differenz dazwischen wird ausgegeben, um dadurch die überschüssigen Impulse auszugleichen.The following results from the data flow diagram shown in FIG How it works: Since the switch 44 is in contact with the terminal 44b, the information for the time interval 7 'is processed by the block 43, which causes that with BL = 12, BN = 6 and NX = 4 the information flows to a block 46, which outputs NX = the difference between BS and BN (namely 6), making BB equal to BN and outputs the value for V, namely 800. By using this path for the determination in the data flow plan becomes the value for BS, namely the pulses that still need to be recorded, equal to BN made, the number of pulses required for the reduction in speed needed; the difference between them will be output in order to compensate for the excess pulses.
Die übrigbleibenden Intervalle T8', 9' und T11' werden auf die gleiche Weise wie die Intervalle 8, T9 bzw. U11 erzeugt.The remaining intervals T8 ', 9' and T11 'become the same Way how the intervals 8, T9 and U11 are generated.
Bei den oben beschriebenen Bestimmungen sollten diCtIotorbewegung und die Impulserzeugung synchron innerhalb eines Impulses oder Schrittes gehalten werden, obwohl, bei Bedarf, unter bestimmten Umständen mehr als ein Schritt, beispielsweise zwei Schritte, vorteilhaft sein können.For the determinations described above, the diCtIotor should move and the pulse generation is kept synchronous within a pulse or step will, although, if necessary, more than one step in certain circumstances, for example two steps that can be beneficial.
So kann der Wert von NC um 2 geändert werden, wenn eine maximale Verzögerung von 2 Schritten eine maximale Beschleunigung erzeugt und akzeptierbar ist, statt NC inkremental um 1 beispielswse im Block 40 zu erhöhen und es um 1 im Block 45 zu verringern. Bin Beispiel, wo eine Verzögerung mit zwei Schritten vorteilhaft sein kann, ist ein Motor, der normalerweise 200 Schritte pro Umdrehung hat, wenn alle Wicklungen kontinuierlich erregt werden, der jedoch bei 400 Schritten pro Umdrehung mit maximalem Drehmoment betrieben werden kann, wenn eine teilweise Erregung vorgenommen wird; dabei kann eine Verzögerung oder ein Vorlaufen von zwei Impulsen zum Schritt statt einer Verzögerung oder einem Vorlaufen von einem Impuls zum Schritt verwendet werden.So the value of NC can be changed by 2 when there is a maximum delay of 2 steps generates a maximum acceleration and is acceptable instead NC incrementally by 1 for example in block 40 and it by 1 in block 45 to reduce. Am an example where a two step delay is beneficial is a motor that normally has 200 steps per revolution, though all windings are energized continuously, but at 400 steps per revolution Can be operated at maximum torque when a partial excitation is done will; there can be a delay or a leading of two impulses to the step instead of delaying or advancing from pulse to step will.
Bei der in Fig. 2 gezeigten Ausführungsform haben die Zeitintervalle selbstverständlich jeweils die gleiche Dauer; dies ergibt sich zwangsläufig daraus, daß K während des gesamten Ablaufs der Bewegung einen konstanten Wert mit einem konstanten Zuwachs oder einer Abnahme von 1 für die Zahl der Impulse in den benachbarten Zeitintervallen hat, da die Dauer des Zeitintervalls gleich der Zahl der Impulse, dividiert durch die Impulsrate,oder NX dividiert durch VX, ist. Bei der in Fig. 3 gezeigten Ausführungsform sind jedoch wegen des Zeitintervalls Afp7' die Längen aller Zeitintervalle nicht gleich, so daß diese Ausführungsform als Einrichtung mit variablem Zeitintervall betrachtet werden kann.In the embodiment shown in FIG. 2, the time intervals of course the same duration in each case; this inevitably results from that K has a constant value with a during the entire course of the movement constant increase or decrease of 1 for the number of pulses in the neighboring Has time intervals, since the duration of the time interval is equal to the number of pulses divided by the pulse rate, or NX divided by VX. In the case of the in Fig. 3, however, are the lengths because of the time interval Afp7 ' all time intervals are not the same, so that this embodiment as a device can be viewed with a variable time interval.
Selbstverständlich kann auch bei Bedarf der Wert für K geändert werden, wenn das Programm abläuft, und kann beispielsweise von einem Wert für NC abhängen, wenn die Zeitintervalle die bestimmenden Faktoren sind, wobei der Wert für K abnimmt, wenn dieGeschwindigkeit des Motors zunimmt, um sich einer Verringerung des Beschleunigungsdrehmomentes anzupassen, wenn die Geschwindigkeit ansteigt. Als Alternative hierzu kann der Wert für K für jedes Beschleunigungszeitintervall um einen geringen Betrag verringert werden, wenn eine variable Beschleunigung erforderlich ist. Dies kann erreicht werden, indem unmittelbar vor dem Block 38 ein Block vorgesehen wird, der fordert, daß K gleich K - C gemacht wird, wobei C eine kleine Zahl, wie beispielsweise 5 oder 10 ist. Weiterhin würde sich für die Verringerung der Geschwindigkeit ein entgegengesetzt wirkender Block (K = K + C) unmittelbar vor dem Block 42 befinden.Of course, the value for K can also be changed if necessary, when the program is running and can depend, for example, on a value for NC, when the time intervals the determining factors are where the value for K decreases as the speed of the engine increases to get a Reduce the acceleration torque when adjusting the speed increases. Alternatively, the value for K can be used for each acceleration time interval decreased by a small amount if variable acceleration is required is. This can be achieved by providing a block immediately in front of block 38 which requires that K be made equal to K - C, where C is a small number, such as for example 5 or 10. It would further advocate reducing the speed an oppositely acting block (K = K + C) is located immediately in front of block 42.
Eine Ausführungsform einer Motoreinrichtung, die bei der vorliegenden Erfindung eingesetzt werden kann, wird in dem oben erwähnten US-Patent beschrieben und besteht aus einem Schrittschaltmotor; die vorliegende Erfindung läßt sich jedoch auch bei einem digital gesteuerten Gleichstromr motor mit variabler Drehzahl einsetzen, bei dem die Energie für den Betrieb des MOtors von einer gleichgerichteten 60 Hz-Quelle erhalten und durch einstellbare Beistungselemente, wie beispielsweise phasengeregelte, gesteuerte Gleichrichter, gesteuert wird. Da eine Änderung der Motorgeschwindigkeit nur durchgeführt werden kann, wenn der Phasenwinkel der gesteuerten Gleichrichter geändert werden kann, ist das minimale Zeitintervall, in dem eine effektive Steuerung des Motors ausgeübt werden kann, der reziproke Wert von 120 oder 0,00867sek. und 0,0010 sek. für einen 50 Hz.-Wechselstrom. Die Werte für K und die Impulsänderungen zwischen benachbarten Zeitintervallen können damit, beruhend auf einem solchen sehr kleinen Zeitintervall, festgelegt und durchgeführt werden. Die Anderung in der Zahl der Impulse für aufeinanderfolgende Zeitintervalle kann auch 1 sein, wie bei dem oben beschriebenen Ausführungsbeispiel, wo nur eine Verzögerung um einen Schritt angestrebt ist; sie könnte jedoch auch zwei oder drei Impulse betragen, wo eine solche Abweichung akzeptabel ist.An embodiment of a motor device used in the present Invention can be used is described in the above-mentioned US patent and consists of a stepper motor; however, the present invention can can also be used with a digitally controlled DC motor with variable speed, where the energy for the operation of the motor comes from a rectified 60 Hz source and through adjustable auxiliary elements, such as phase-regulated, controlled rectifier, is controlled. Because a change in engine speed can only be done when the phase angle of the controlled rectifier Can be changed is the minimum time interval in which there is effective control of the motor can be exercised, the reciprocal of 120 or 0.00867sec. and 0.0010 sec. for a 50 Hz alternating current. The values for K and the momentum changes between adjacent time intervals can thus, based on such a lot small time interval, determined and carried out. The change in number the pulse for successive time intervals can also be 1, as with the embodiment described above, where only a delay of one step is aimed at; however, it could also have two or three pulses be, where such a deviation is acceptable.
Auf jeden Fall sollte die Änderung so ausgelegt sein, daß sichergestellt ist, daß an dem Ende eines jeden Zeitintervalls die Motorgeschwindigkeit die Impulsrate erreicht hat.In any case, the change should be designed to ensure that is that at the end of each time interval the motor speed is the pulse rate has reached.
Obwohl angegeben worden ist, daß der Wert für K mit der Befehlsinformation für jede Bewegung eingegeben wird, wird dieser Wert nicht zu häufig geändert, so daß er für den üblichen Gebrauch fest in dem Gerät gespeichert werden kann, wobei nur bei Bedarf ein unterschiedlicher K-Wert eingegeben wird. Auch V INIT kann gespeichert werden, da dieser Wert, wenn überhaupt, nur selten gewechselt wird.Although it has been stated that the value for K with the command information is entered for each movement, this value is not changed too often, so that it can be permanently stored in the device for normal use, with a different K-value is only entered if necessary. V INIT can also be saved as this value is rarely changed, if at all.
Weiterhin soll im üblichen Anwendungsbereich der vorliegenden Erfindung eine Ausführungsform liegen, bei der eine Bestimmung alle Impulse enthält, die bei der maximalen Geschwindigkeit erzeugt werden, statt mehrere Bestimmungen durchzuführen.Furthermore, in the usual scope of the present invention an embodiment are in which a determination contains all the pulses at the maximum speed instead of making multiple determinations.
Obwohl sich die obige Beschreibung nur auf die Bewegung des Motors beziehJG, kann seine Richtung, wie in Fig. 1 gezeigt ist, durch einen Pufferspeicherblock für die Richtung gesteuert werden, der den Richtungsbefehl von dem Rechner empfängt und über einen Ubertragungsschalter 47 diese Information zu einem Richtungsanschluß 12a in der Motorsteuerung 12 übermittelt.Although the above description only applies to the movement of the motor As shown in Fig. 1, its direction can be determined by a buffer block for the direction receiving the direction command from the computer and via a transmission switch 47 this information to a direction connection 12a in the engine controller 12 transmitted.
Die hier beschriebene, spezifische Ausführungsform erfordert, daß für jede Bestimmung zwei Zahlen zugeführt werden, um die Impulse zu steuern. Für jedes Zeitintervall gilt jedoch die folgende Beziehung: Der Abstand (Zahl der Impulse) ist gleich der Geschwindigkeit (Rate der Impulse für ein Intervall) mal der Dauer des Intervalls; daraus ergibt sich also, daß nur die Zahl für einen dieser Faktoren zugeführt werden muß, wenn der Wert für einen anderen dieser Faktoren festgehalten wird. Wird also beispielsweise das Zeitintervall konstant gehalten, so muß nur der numerische Wert der Geschwindigkeit oder das Ausmaß bzw. die Länge der bewegung zugeführt werden, da die Impulse aus diesen Werten bestimmt werden können.The specific embodiment described here requires that two numbers are supplied for each determination to control the pulses. For each time interval, however, the following relationship applies: The distance (number of pulses) is equal to the speed (rate of pulses for an interval) times the duration of the interval; from this it follows that only the number for one of these factors must be added if the value is held for any other of these factors will. If, for example, the time interval is kept constant, then it must only the numerical value of the speed or the extent or length of the movement as the impulses can be determined from these values.
Die vorliegende Erfindung schafft also ein Verfahren zur Steuerung der Geschwindigkeit eines digitalen Motors und eine Vorrichtung zur Durchführung des Verfahrens, die entweder einem programmierten Rechner oder einer fest vorgegebenen, zugeordneten Schaltung angepaBt werden können.The present invention thus provides a method of control the speed of a digital motor and an apparatus for carrying it out the procedure, which is either a programmed computer or a fixed, assigned circuit can be adapted.
Das Verfahren und die Vorrichtung beruhen auf der Feststellung, daß der gesteuerte Motor nur eine begrenzte Fähigkeit hat, auf eine Geschwindigkeitsänderung anzusprechen, und daß Befehle nur dann gegeben werden müssen, wenn der Motor bei einem neuen Befehl umstellen kann. Alle anderen zusätzlichen Befehle sind ansich überflüssig. Auf diese Weise wird die Zahl der Befehle im wesentlichen auf einen Wert verringert, der sehr viel kleiner als bei den herkömmlichen Systemen ist, bei denen im wesentlichen ein Befehl für jeden Schritt vorgesehen ist, den der Motor durchführen soll. Da jeder Befehl eine Bestimmung erfordert, die wiederum Rechnerzeit benötigt, kann die erforderliche Rechnerzeit durch eine beträchtliche Verringerung der Zahl von Bestimmungen sehr gering bzw. minimal gehalten werden; trotzdem hält die hier beschriebene Vorrichtung nicht nur den synchronen Ablauf zwischen der MotoSewegùng und der Impulserzeugungin einem festen, vorgegebenen Abweichungsbereich oder im Bereich einer bestimmten Zahl, wie beispielsweise 1, sondern sie ermöglicht auch die Steuerung über jeden einzelnen Impuls.The method and apparatus are based on the finding that the controlled motor has only a limited ability to respond to a change in speed address, and that commands only need to be given when the engine is at can switch to a new command. All other additional commands are in themselves superfluous. In this way the number of commands is essentially reduced to one Value, which is much smaller than that of the conventional systems, at essentially one command for each step the motor takes should perform. Since every command requires a determination, this in turn takes up computer time required can reduce the computing time required by a considerable amount the number of determinations are kept very low or minimal; still holds the device described here not only the synchronous sequence between the MotoSewegùng and the pulse generation in a fixed, predetermined deviation range or in Range of a specific number, such as 1, but it also allows control over every single impulse.
- Patentansprüche - - patent claims -
Claims (16)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19752511640 DE2511640A1 (en) | 1975-03-17 | 1975-03-17 | Motor speed and acceleration control system - is digital system and has input to processor stating motor requirements |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19752511640 DE2511640A1 (en) | 1975-03-17 | 1975-03-17 | Motor speed and acceleration control system - is digital system and has input to processor stating motor requirements |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2511640A1 true DE2511640A1 (en) | 1976-09-30 |
Family
ID=5941604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19752511640 Pending DE2511640A1 (en) | 1975-03-17 | 1975-03-17 | Motor speed and acceleration control system - is digital system and has input to processor stating motor requirements |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE2511640A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19938625A1 (en) * | 1999-08-14 | 2001-04-19 | Hella Kg Hueck & Co | Circuit arrangement for controlling a stepper motor |
DE19752248C2 (en) * | 1996-11-26 | 2001-11-08 | Matsushita Electric Ind Co Ltd | Control device for a stepper motor |
US6348774B1 (en) | 1998-01-29 | 2002-02-19 | OCé PRINTING SYSTEMS GMBH | Method for controlling several stepping motor modules with prior loading of ramp data |
-
1975
- 1975-03-17 DE DE19752511640 patent/DE2511640A1/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19752248C2 (en) * | 1996-11-26 | 2001-11-08 | Matsushita Electric Ind Co Ltd | Control device for a stepper motor |
US6348774B1 (en) | 1998-01-29 | 2002-02-19 | OCé PRINTING SYSTEMS GMBH | Method for controlling several stepping motor modules with prior loading of ramp data |
DE19938625A1 (en) * | 1999-08-14 | 2001-04-19 | Hella Kg Hueck & Co | Circuit arrangement for controlling a stepper motor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3126138C2 (en) | ||
DE2000062A1 (en) | Phase sensitive circuit | |
DE2114225C2 (en) | Digital function generator arrangement | |
DE1301920B (en) | Arrangement for the numerical control of the movement of an object | |
DE2111635A1 (en) | Device for converting the phase position of a signal into a sequence of pulses | |
DE2001935C2 (en) | Digital control device for controlling feed movements | |
DE2643148C2 (en) | ||
DE2034373A1 (en) | Control device for controlling the speed of the advance of a tool | |
DE19614232A1 (en) | Numerical control method for plant machinery movement | |
DE1463031C (en) | ||
DE2840033A1 (en) | METHOD AND DEVICE FOR CONTROLLING MOTORS | |
DE2511640A1 (en) | Motor speed and acceleration control system - is digital system and has input to processor stating motor requirements | |
DE2601218A1 (en) | NUMERICAL CONTROL SYSTEM FOR EDITING PROCESSING OF SEVERAL SERIES OF INPUT DATA | |
DE19600882C1 (en) | Process for decentralized control of a motor drive | |
EP0672976B1 (en) | Electronic control system for single drives of operating machines and method of controlling the single drives | |
DE3943342A1 (en) | SERVO CONTROL SYSTEM | |
DE2360752A1 (en) | FEED SPEED CONTROL SYSTEM FOR AN NC DEVICE, IN PARTICULAR FOR A MACHINE TOOL | |
DE1463031B2 (en) | DEVICE FOR CONTROLLING A WORKING MACHINE | |
DE1965127C3 (en) | System for numerically controlled machine tools | |
DE3709129A1 (en) | NUMERIC CONTROL DEVICE | |
DE2441279C3 (en) | Feed control for a numerical control device | |
CH535456A (en) | Circuit arrangement with at least one feed motor for machine tools | |
DE1152473B (en) | Numerical program control with an interpolator and a positioning control system | |
DE1763875A1 (en) | Machine tool control system | |
DE2139053A1 (en) | Numerical machine tool control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OHJ | Non-payment of the annual fee |