DE69508964T2 - Benutzerdefinierte schnittstelle und protokollschema für eine speicherprogrammierbare steuerung - Google Patents
Benutzerdefinierte schnittstelle und protokollschema für eine speicherprogrammierbare steuerungInfo
- Publication number
- DE69508964T2 DE69508964T2 DE69508964T DE69508964T DE69508964T2 DE 69508964 T2 DE69508964 T2 DE 69508964T2 DE 69508964 T DE69508964 T DE 69508964T DE 69508964 T DE69508964 T DE 69508964T DE 69508964 T2 DE69508964 T2 DE 69508964T2
- Authority
- DE
- Germany
- Prior art keywords
- communication
- programmable logic
- logic controller
- program
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000004891 communication Methods 0.000 claims 42
- 238000000034 method Methods 0.000 claims 8
- 230000000694 effects Effects 0.000 claims 1
- 230000001960 triggered effect Effects 0.000 claims 1
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/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/15—Plc structure of the system
- G05B2219/15028—Controller and device have several formats and protocols, select common one
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
- Computer And Data Communications (AREA)
Description
- Die Erfindung betrifft allgemein speicherprogrammierbare Steuerungen und eine benutzerdefinierte Schnittstelle sowie ein Protokollschema für eine speicherprogrammierbare Steuerung.
- Speicherprogrammierbare Steuerungen sind in der Regel oft sehr spezialisiert oder an besondere Randbedingungen, Einteilungen oder Geräte angepaßt. Speicherprogrammierbare Steuerungen werden jedoch immer mehr für kleinere und kleinste Geräte verwendet. Darüber hinaus werden speicherprogrammierbare Steuerungen deshalb immer mehr verwendet, weil sie an eine Vielzahl von Verfahren, Systeme und Geräte anpaßbar sind. Dadurch sind Hersteller für speicherprogrammierbare Steuerungen nicht nur in der Vergangenheit, sondern auch in der Gegenwart gefordert, kleinere und kostengünstigere Steuerungen herzustellen und zugleich neue Leistungsmerkmale und verbesserte Anpaßbarkeiten zu schaffen. Darüber hinaus müssen Hersteller aufgrund des Wettbewerbs speicherprogrammierbare Steuerungen in eine Palette von kleinen Einheiten, üblicherweise als brick-type PLC bezeichnet, bis zu komplexen Hochleistungseinheiten anbieten. Unabhängig von der Größe oder der Komplexizität müssen Hersteller jedoch speicherprogrammierbare Steuerungen (PLC) kostengünstiger fertigen und zugleich neue Leistungsmerkmale hinzufügen.
- Es wird deshalb immer wichtiger, PLC mit modularen Ansätzen zu verwirklichen. Es geht dabei um die Möglichkeit, ein System zu vergrößern, indem zusätzliche Leistungsmerkmale und/oder zusätzliche analoge Ein/Ausgabeschnittstellen und/oder digitale Ein-/Ausgabeschnittstellen bereitgestellt werden. Modulare Systeme können sowohl an einfache, wie auch an komplexe Situationen angepaßt werden. Darüber hinaus können ihre Kosten in besser beherrschbaren Schritten gestei gert werden. Aufgrund des gestiegenen Einsatzes von speicherprogrammierbaren Steuerungen fordert darüber hinaus der Markt, daß solche Steuerungen in einer netzwerkartigen Umgebung verbindbar und programmier- bzw. durch verschiedene Einrichtungen reprogrammierbar sein sollen.
- Speicherprogrammierbare Steuerungen verwenden üblicherweise einen Hauptcontroller mit mehreren I/O-Anschlüssen für digitale und/oder analoge Interaktion. Einzelne Anwendungen erfordern jedoch immer häufig I/O-Anschlüsse, die sich von den zur Verfügung gestellten unterscheiden, oder in größerer Anzahl als üblicherweise vorhanden, benötigt werden. Deshalb werden bislang expandierbare, speicherprogrammierbare Steuerungen zu einem System zusammengefaßt, dem Module hinzugefügt werden können. Diese Module brauchen eine Vorrichtung, mit der der Hauptcontroller den Zugang für ein bestimmtes Expansionsmodell auswählen kann. Bisherige Ansätze, diese Auswahl zu ermöglichen, umfassen u. a. den Einsatz von vorgegebenen Montageplatten mit Einzelauswahlleitungen, die zur Aktivierung jedes Modulsteckplatzes dienen. Um auf ein bestimmtes Modul zuzugreifen, aktiviert der Hauptcontroller eine bestimmte Auswahlleitung. Alternativ wurde eine vorgegebene Montageplatte mit unterschiedlichen Adresscodes an jedem Modulsteckplatz vorgesehen. Dann gibt der Hauptcontroller an einen Adressenbus eine Adresse ab, die von den empfangenden Modulen mit ihrer vorprogrammierten Steckplatzadresse verglichen wird.
- Als dritter Ansatz wurden Adress-Schalter oder Jumper verwendet, mit denen jedes Modul beim Einbau verändert wurde, um eine individuelle Adresse zu schaffen. Ein weiterer Ansatz nutzt feste Zugriffssequenzen, bei denen jedes Modul den Zugriff auf die nachfolgenden Module in einer Kette sperrt, bis eine Zustandsänderungssequenz abgeschlossen ist. Ist der Zugriff auf dieses Modul abgeschlossen, leitet es die Übertragung an die nachfolgenden Module weiter, bis ein Hauptsignal den Start einer neuen Zugriffssequenz anzeigt.
- Ein fünfter Ansatz war es, positionsabhängige Daten mit von Modul zu Modul weitergeleiteten Datentelegrammen zu verwenden, wobei jedes Moduldatenelement im Telegramm an der Stelle des Telegramms, die der Modulposition in der Kette entspricht, Datenbausteine extrahiert oder hinzufügt. All diese Ansätze sind jedoch zunehmend schwierig und unhandlich im Gebrauch. Dies gilt insbesondere bei brick-type PLC, die nur begrenzten Speicher und begrenzte Prozessorfähigkeiten haben und bei denen nur wenig Platz ist, um diese Funktionen unterzubringen.
- Weiter ist es das vorstehende und möglicherweise wichtigstes Merkmal einer PLC, eine besondere Sequenz oder ein Programm so schnell wie möglich abzuarbeiten. Obwohl der tatsächliche Prozeß selbst oft kein Hochgeschwindigkeitsprozeß ist, erfordern verschiedene, zu messende Parameter Berechnungen, die in Hochgeschwindigkeit ablaufen sollen, damit der gesamte Prozeß nicht gestört wird. Diese Hochgeschwindigkeitsberechnungen verwenden üblicherweise Interruptroutinen. Dazu mußte ein Benutzer jedoch bislang einen bestimmten voreingestellten Programmabschnitt verwenden, an den die PLC für die interessierenden Ereignisse die Steuerung abgibt. Das heißt, obwohl der Benutzer angeben konnte, wann ein Interrupt ausgelöst werden sollte, so war er hinsichtlich der speziellen Interruptroutine, die ausgeführt werden sollte, eingeschränkt. Dadurch ist natürlich der Einsatz solcher Steuerungen beschränkt, oder es sind sehr lange Interrupts erforderlich, da alles, was eventuell von Interesse sein könnte, in die gleiche Interruptroutine eingegeben werden muß, um alle Eventualitäten zu berücksichtigen.
- Darüber hinaus besteht steigender Bedarf für sogenannte Hochgeschwindigkeitszähler oder Funktionen. Diese Zähler oder Funktionen dienen dazu, Zeiten, Ereignisfrequenzen, o. ä unterscheiden zu können, damit nachfolgende Ereignisse ausgelöst werden können. Wird eine vorbestimmte Zahl von Ereignissen erreicht, war es bislang erforderlich, den Hochgeschwindigkeitszähler anzuhalten und/oder den gegenwärtigen Hochgeschwindigkeitszählerwert zu stören, d. h. auf Null zurückzusetzen, um den nächsten vorgegebenen Wert neu zu programmieren. Dies führt während der Rückstell- oder Programmierzeitdauer zu einer Zeitverzögerung bzw. zu einer Unterbrechung. Das ist insbesondere dann problematisch, wenn mehrere Hochgeschwindigkeitszähler verwendet werden, da deren aufeinanderfolgende Rückstellung einen aufaddierten Fehler oder Versatz der insgesamt abgelaufenen Zeitdauer verursachen.
- Weitere Schwierigkeiten bestehender speicherprogrammierbarer Steuerungen betreffen deren Kommunikationsanschlüsse. Im allgemeinen haben speicherprogrammierbare Steuerungen zur Wartung des Betriebssystems einen Kommunikationsanschluß. Dieser Kommunikationsanschluß ist erforderlich, damit die PLC programmiert werden kann. Die Schnittstellen, die mit der PLC kommunizieren, verwenden jedoch entweder ein herstellereigenes Kommunikationsprotokoll oder einen Bibliothekssatz bzw. spezielle Protokolle des Herstellers. Da die Kommunikationsfunktion ein wesentlicher Bestandteil einer PLC ist und immer mehr benötigt wird, können Endverbraucher dadurch häufig nicht mit einem Benutzerprogramm voll auf den Anschluß zugreifen. Einige PLC ermöglichen es dem Benutzer bestenfalls Meldungen an eine Vorrichtung, wie einen Drucker zu senden, erlauben es jedoch nicht, Meldungen zu empfangen. Deshalb ist es schwierig, teuer und manchmal sogar unmöglich, verschiedene PLC an ein neues oder ein anderes als das ursprünglich vorgesehene oder spezifizierte Protokoll anzupassen. Manchmal können diese zusätzlichen Protokolle nicht über die normale Schnittstelle oder den Kommunikationsanschluß programmiert werden.
- Ein zusätzliches Problem bestehender PLC betrifft den entfernbaren Programmspeicher. Ein entfernbarer Programmspeicher hat eine notwendige Funktion, um eine PLC an neue Geräte, andere Prozesse, andere Parameter o. ä. anzupassen. Bislang wurden parallele Zugriffseinrichtungen wie EPROM, batteriegepufferte RAM oder Flash-EPROM als entfernbare Programmspeichereinrichtungen verwendet. Oft müssen diese entfernbaren Speicherkassetten in ein eigenes Gerät, wie z. B. eine Handprogrammiervorrichtung, eingeschoben werden. Demzufolge ist das Einspeichern neuer Programme in eine einzelne PLC relativ unhandlich, und es ist dazu eine externe Vorrichtung nötig. Darüber hinaus erschwert dies in einem Herstellbetrieb in der Regel die Verbreitung eines speziellen PLC-Programms unter systemgleichen, anderen oder ähnlichen PLC.
- Das zum Stand der Technik zählende U. S. Patent 5,357,625 offenbart ein System zur Identifizierung von gemeinsamen Formaten oder Protokollen und zur Freigabe von entsprechendem Pufferspeicher zur gleichzeitigen Kommunikation.
- Die europäische Patentanmeldung EP-A-0 022 622 offenbart eine verbesserte, programmierbare Speicherung, die zwei verschiedene Datenbanken verwenden kann und zugleich eine einheitliche Wortgröße ermöglicht.
- Die europäische Patentanmeldung EP-A-0 620 510 offenbart eine speicherprogrammierbare Steuerung, die einen vom Benutzer konfigurierbaren Kommunikationsanschluß zur Kommunikation zwischen der speicherprogrammierbaren Steuerung und externen Geräten aufweist.
- Nach der vorliegenden Erfindung ist eine speicherprogrammierbare Steuerung vorgesehen, die zur Kommunikation mit externen Geräten in einem von mehreren zuvor festgelegten Kommunikationsprotokollen in der Lage ist, die von den in der speicherprogrammierbaren Steuerung festabgelegten Kommunikationsprotokollen verschieden sind, welche Steuerung aufweist:
- einen Speicher zum festen Ablegen eines Programms, der mit einem der mehreren Kommunikationsprotokolle konfiguriert werden kann,
- Verarbeitungsmittel, die an den Speicher und an einen Kommunikationsanschluß angeschlossen sind,
- Eingabemittel zum Empfang von Eingabedatenwerten aus mehreren Datenwerten von den externen Geräten, welche Eingabemittel mit den Verarbeitungsmitteln verbunden sind, und
- Ausgabemittel zum Übertragen von Ausgabedatenwerten aus mehreren Datenwerten von den externen Geräten, welche Ausgabemittel mit den Verarbeitungsmitteln verbunden sind,
- dadurch gekennzeichnet, daß der Kommunikationsanschluß eine erste Kommunikationsart zur Kommunikation zwischen der speicherprogrammierbaren Steuerung und den externen Geräten mittels einem von mehreren Kommunikationsprotokollen und eine zweite Kommunikationsart zur Kommunikation zwischen der speicherprogrammierbaren Steuerung und einer Programmiervorrichtung mittels eines der festabgelegten Kommunikationsprotokolle aufweist, und die Verarbeitungsmittel einen vorbestimmten Zustand detektieren, wodurch eine Umschaltung des Kommunikationsanschlusses von der ersten Kommunikationsart in die zweite Kommunikationsart bewirkt wird, und
- die Verarbeitungsmittel weiter die Ausführung des festabgelegten Programms bewirken, um mehrere Datenwerte zwischen der speicherprogrammierbaren Steuerung und den externen Geräten übertragen.
- Nach einem weiteren Gesichtspunkt der vorliegenden Erfindung wird ein Verfahren zum Betrieb einer speicherprogrammierbaren Steuerung vorgesehen, die zur Kommunikation mit externen Geräten unter einem von mehreren zuvor festgelegten Kommunikationsprotokollen betreibbar ist, die von den in der speicherprogrammierbaren Steuerung festabgelegten Kommunikationsprotokollen verschieden sind, welches Verfahren die Schritte aufweist:
- Ablegen eines festabgelegten Programms in einem Speicher, der mit einem der mehreren Kommunikationsprotokolle konfigurierbar ist,
- Verbinden von Prozessormitteln mit dem Speicher und einem Kommunikationsanschluß,
- Verbinden von Eingabemitteln und Ausgabemitteln mit den Prozessormitteln,
- Ermöglichen, daß die Eingabemittel Eingabedatenwerte aus mehreren Datenwerten von den externen Geräten empfangen, und
- Ermöglichen, daß die Ausgabemittel Ausgabedatenwerte aus mehreren Datenwerten der externen Geräte übertragen,
- gekennzeichnet durch
- Veranlassen, daß die speicherprogrammierbare Steuerung den Kommunikationsanschluß zwischen einer ersten Kommunikationsart zur Kommunikation zwischen der speicherprogrammierbaren Steuerung und den externen Geräten mittels eines der mehreren zuvor festgelegten Kommunikationsprotokolle und einer zweiten Kommunikationsart zur Kommunikation zwischen der speicherprogrammierbaren Steuerung und einer Programmiervorrichtung mittels des zuvor festgelegten Kommunikationsprotokolls umschaltet,
- Einrichten eines in der speicherprogrammierbaren Steuerung zuvor festgelegten Programmes, so daß eines der mehreren zuvor festgelegten Kommunikationsprotokolle und das zuvor festgelegte Kommunikationsprotokoll verwendet werden, und
- Durchführen der Kommunikation mittels des zuvor festgelegten Programmes mit den externen Geräten unter einem der mehreren zuvor festgelegten Kommunikationsprotokolle, wobei die speicherprogrammierbare Steuerung immer noch den Wechsel des Kommunikationsprotokolls veranlaßt.
- Vor dem Hintergrund der Nachteile heutiger PLC und unter Berücksichtigung der an sie gestellten Anforderungen und Erfordernisse wäre eine speicherprogrammierbare Steuerung vorteilhaft, die für modulare Expansionseinheiten vorbereitet ist, welche keine vorgegebenen oder sonstige Montageplatten benötigen. Man möchte darüber hinaus modular expandierbare PLC herstellen, die nicht die Kosten- und Platzerfordernisse von Schaltern oder Jumper mit sich bringen, oder es erfordern, daß Schalter oder Jumper bei der Installation geeignet eingestellt werden. Der Einsatz einfacher, kostengünstiger, asynchroner Logik für die modulare Erweiterung von PLC wäre ein weiterer Vorteil. Eine modular erweiterbare PLC zu schaffen, die kein Taktsignal oder keine Zustandsvorrichtung zum Ausführen einer sequentiellen Operation oder zur Identifikation von Daten mittels einer Folgezählung oder Zeitsteuerung benötigt, wäre weiter vorteilhaft.
- Darüber hinaus wäre es vorteilhaft, eine Benutzer-Interruptroutine zur Verfügung zu stellen, die in einer speicherprogrammierbaren Steuerung dynamisch zugewiesen werden kann. Wenn PLC-Befehlssatz und -System in der Lage sind, daß das PLC-System die Steuerung im Falle eines oder mehrerer Ereignisse von Interesse abgibt, wie z. B. bei einer steigenden Flanke an einem Eingabepunkt, dem Erreichen eines vorbestimmten Wertes durch einen Hochgeschwindigkeitszähler, dem Ablauf einer vorbestimmten Zeitspanne usw., so ist dies ebenfalls vorteilhaft. Die Eigenschaft einer PLC, zusätzlich zum Zuordnen eines Programmabschnittes zu einem besonderen Ereignis auch das Aufheben der Zuordnung eines Programmabschnittes zu ermöglichen, d. h. angeben zu können, daß ein besonderes Ereignis nicht länger von Interesse für eine spezielle Verarbeitung durch das Benutzerprogramm ist, ist ebenso eine vorteilhafte Fähigkeit, wie die Zuordnung bestimmter Programmabschnitte zu einem Ereignis auf der Grundlage bestimmter Verarbeitungszustände. Die Fähigkeit, diese Interruptroutinen während der Programmausführung anstatt bei der Kompilierung des Programmes dynamisch neu zuzuweisen, was dann automatisch von dem PLC-System ausgeführt werden kann, um die Abgabe der Steuerung zu bewirken, ist besonders vorteilhaft.
- Eine benutzerdefinierte, dynamisch zuweisbare Benutzer-Interruptroutine in einer PLC sowie ein System, bei dem ein PLC-Programm des Benutzers spezielle voreingestellte Werte für Hochgeschwindigkeitszähler dynamisch modifizieren kann, ohne den Hochgeschwindigkeitszähler anhalten und den aktuellen Zählerstand stören zu müssen, ist weiter von Vorteil. Darüber hinaus möchte man eine PLC mit einem Hochgeschwindigkeitszähler auf einem voreingestellten Stand haben, der an verschiedenen, interessierenden Punkten neu vorgegeben werden kann, d. h. man wünscht ein Interruptereignis, wenn der aktuelle Wert dem voreingestellten Wert gleicht, um den nächsten voreingestellten Wert von Interesse dynamisch zu reprogrammieren, ohne den gegenwärtigen Zustand des Zählers zu stören.
- Ein PLC mit einem derartigen Hochgeschwindigkeitszähler, bei dem vom gegenwärtigen Wert weitergezählt werden kann, ohne auf Null zurückzustellen, während der nächste voreingestellte Wert von Interesse reprogrammiert wird, wäre eine weiter anzustrebende Eigenschaft. Weiter anzustreben wäre eine PLC mit einem Hochgeschwindigkeitsimpulszugausgang zum Pipeline- oder Warteschlagen- Bilden, wodurch einem Benutzer-PLC-Programm Operationen mit Multistufenimpulszugausgaben ohne Totzeit zwischen den Stufen der Operationsfolge erleichtert werden können.
- In der Fähigkeit, Kaskadierfehler, die als Ergebnis einer vollständigen Rückstellung von Zähloperationen bei Hochgeschwindigkeitszählvorgängen auftreten können, wirksam zu unterbinden, liegt ein weiterer Vorteil. Ein weiterer Vorteil einer PLC, wie nach der vorliegenden Erfindung, liegt in der Fähigkeit, einen zusätzlichen Schritt in einer Operationsfolge bereitzustellen, wodurch die Abfolge parallel zur Ausführung eines Programmschrittes in eine Pipeline gegeben werden kann, womit das PLC-System automatisch den wartenden Schritt nach Abschluß des vorherigen einleitet.
- Bei einer PLC möchte man weiter den Vorteil haben, dem Benutzer Zugriff auf die der PLC-inhärenten Kommunikationsfunktionen zu geben, so daß der Benutzer vom Benutzerprogramm aus die volle Kontrolle über diese Funktionen ausüben kann. Ein weiterer Vorteil der vorliegenden Erfindung liegt in der Fähigkeit, daß der Benutzer ein Programm erzeugen kann, das unter der Steuerung der PLC ausgeführt wird, wobei jedes Kommunikationsprotokoll, das der Benutzer einrichten möchte, unterstützt wird (innerhalb der Leistungsgrenzen der Vorrichtung, die verwendet wird, um die Kommunikationsfunktion einzurichten).
- Ein weiterer Vorteil der vorliegenden Erfindung liegt darin, daß ein Protokollwechselschema zur Verfügung gestellt wird, durch das eine universelle asynchrone Empfänger/Sendereinrichtung (Universal Asynchronous Receiver/Transmitter = UART) verwendet werden kann, wodurch dem System Interrupts zur Verfügung stehen, die anzeigen, daß ein Zeichen zusammen mit einer Zustandsanzeige empfangen oder übertragen wurde. Ein weiterer Vorteil der vorliegenden Erfindung liegt darin, daß ein virtueller UART verwendet oder daß ein UART gegeben werden kann, auf den im Benutzerdatenraum zugegriffen werden kann.
- Ein weiterer Vorteil der vorliegenden Erfindung liegt darin, daß ein virtueller UART zur Verfügung gestellt wird, mit dem der Benutzer die Übertragung und den Empfang von Interrupts, den Zugriff auf die Übertragung und den Empfang von Datenregistern, den Zugriff auf Steuer- und Statusinformationen, z. B. Übertragungspuffer-Leer, Baud-Rate, Parity, Framing-Error-Anzeigen usw., bereitstellen kann.
- Ein weiterer Vorteil liegt darin, daß eine PLC geschaffen wird, deren Kommunikationsanschluß änderbar ist, wodurch ein Benutzer-PLC-Programm ein Signalzeichen über einen Standardkommunikationsanschluß empfangen kann, wo durch das PLC-System die Steuerung an ein benutzerspezifisches Programm übertragen kann, um den empfangenen Buchstaben zu verarbeiten, womit ein "fliegendes" Protokoll geschaffen wird, wenn es vom Benutzer gewünscht und definiert wird.
- Ein weiterer Vorteil der vorliegenden Erfindung liegt darin, daß ein Wechsel im Kommunikationsprotokoll möglich ist ohne daß zusätzliche oder weitere, intelligente I/O-Module nötig oder erforderlich sind.
- Ein weiterer Vorteil der vorliegenden Erfindung liegt in der Fähigkeit des PLC-Befehlssatzes und -systems, es einem Benutzer-PLC-Programm zu ermöglichen, einen Empfangsvorgang auszulösen, um eine Mehrzeichenmeldung zu empfangen, wodurch das PLC-System die Steuerung an ein benutzerspezifisches Programm zum Weiterverarbeiten der empfangenen Meldung übergeben kann. Ein weiterer Vorteil der vorliegenden Erfindung liegt darin, daß die Fähigkeit des PLC- Befehlssatzes und -systems geschaffen wird, es dem Benutzer-PLC-Programm zu ermöglichen, eine Empfangsoperation für eine Einzeichen- oder Mehrzeichenmeldung oder eine Kombination daraus einzuleiten, um die Übergabe der Steuerung des PLC-Systems an ein benutzerspezifisches Programm einzuleiten. Ein weiterer Vorteil liegt darin, daß eine Protokollfähigkeit dahingehend geschaffen wird, die eine effektive Kommunikation mit bestehender Gerätetechnologie ermöglicht, wie z. B. mit Strichcode-Scannern, Kommunikationspagern o. ä..
- Ein weiterer Vorteil der vorliegenden Erfindung liegt darin, daß ein seriell zugänglicher, elektrisch löschbarer, umprogrammierbarer Lesespeicher (EEPROM) zur Verfügung gestellt wird, der zum Ablegen von Benutzerprogrammdaten verwendet werden kann. Eine Speicherkassette, die vor Ort mittels eines Benutzerbefehls umprogrammiert werden kann, und dann zum Transport des Benutzerprogramms und der Daten zu einer anderen PLC verwendet werden kann, ist ein weiterer Vorteil und darüber hinaus ein sehr wünschenswertes Merkmal. Ein weiterer Vorteil der vorliegenden Erfindung liegt darin, daß eine Speicherkassette möglich ist, die als Speicherkassette bislang nicht bekannter, ungewöhnlicher Kleinheit verwirklicht werden kann und nur vier elektrische Anschlüsse benötigt.
- Ein weiteres Ziel der vorliegenden Erfindung ist es, ein benutzerdefinierbares Protokollschema für eine speicherprogrammierbare Steuerung (PLC) anzugeben, welche Steuerung mindestens einen Eingangs- und einen Ausgangsanschluß zum Übertragen bzw. Empfangen von vorbestimmten Signalen, mindestens einen in der PLC enthaltenen Mikroprozessor zum Ausführen mehrerer benutzerspezifischen Kommunikationsprotokollschemata, einen an die PLC angeschlossenen Kommunikationsanschluß zum Erleichtern der Kommunikation zwischen der PLC und mindestens einer externen Einrichtung mittels mindestens eines der Protokollschemata und Protokollaktiviermittel aufweist, die mit mindestens einem Mikroprozessor zusammenwirken, damit die PLC eines der mehreren benutzerspezifischen Kommunikationsprotokollschemata über den Kommunikationsanschluß ausführen kann.
- Im folgenden wird Bezug auf die beiliegenden Zeichnungen genommen, in denen zeigen:
- Fig. 1 eine perspektivische Ansicht einer Grundeinheit, eines Erweiterungs- I/O-Moduls und eines Busanschlusses des PLC Systems nach der vorliegenden Erfindung,
- Fig. 2 eine perspektivische Ansicht ähnlich der Fig. 1 mit den Verbindungen der Bestandteile der Fig. 1,
- Fig. 3 eine Diagrammdarstellung zur Benutzung der Speicherkassette nach der vorliegenden Erfindung bei der Grundeinheit der vorliegenden Erfindung,
- Fig. 4 ein Blockdiagramm mit verschiedenen Funktionen und Bestandteilen des PLC-Systems nach der vorliegenden Erfindung,
- Fig. 5 ein Diagram mit dem Aneinanderreihen bzw. dem Einsatz mehrerer I/O-Module nach der vorliegenden Erfindung,
- Fig. 6 ein Verbindungsdiagramm mit der Verbindung mehrerer Grundeinheiten zu einer Gruppe von entsprechenden Grundeinheiten nach der vorliegenden Erfindung,
- Fig. 7 ein Blockschaltbild der erfindungsgemäßen Grundeinheit,
- Fig. 8 ein Blockschaltbild des erfindungsgemäßen I/O-Moduls,
- Fig. 9 eine Darstellung eines zyklischen Abtastzykluses, wie er in der erfindungsgemäßen Grundeinheit Anwendung findet,
- Fig. 10 eine Darstellung ähnlich der Fig. 9, die zeigt, wie es der Benutzer erzwingen kann, daß ein oder alle Ein- und Ausgabeknoten während eines Abtastzyklus' von der erfindungsgemäßen Grundeinheit durchgeführt wird/werden,
- Fig. 11 ein Diagram einer beispielhaften Anwendung, die vom erfindungsgemäßen PLC-System bedient werden kann, und
- Fig. 12 eine Zeitreihe, die ein Hochgeschwindigkeits-Pipelining von Ereignissen nach der vorliegenden Erfindung zeigt.
- Vor einer Beschreibung des Betriebssystems und der Geräte der vorliegenden Erfindung sei darauf hingewiesen, daß ein allgemeiner Überblick der vorliegenden Erfindung zum besseren Verständnis derselben nötig ist. Weiter wird im folgenden davon ausgegangen, daß die Fähigkeit, für die vorliegende Erfindung Programmbefehle und Benutzerprogrammcodes zu schreiben, der eines Fachmanns entspricht. Darüber hinaus hängt dies zum Teil von den verwendeten Geräten bzw. dem Betriebssystem ab. Deshalb wird mit Ausnahme der Beispielprogramme, die nachfolgend noch näher erläutert werden, eine ins einzelne gehende Beschreibung von tatsächlichem Programmcode nicht gegeben.
- In Fig. 1 ist ein mit dem Bezugszeichen 20 bezeichnetes PLC-System gezeigt. Das PLC-System weist eine CPU oder Grundeinheit 22 auf, die mit einem Erweiterungs- oder Ein-/Ausgabe-I/O-Modul 24 zusammenwirkt. Es sei darauf hingewiesen, daß das Erweiterungsmodul 24 beispielhaft für eines von mehreren möglichen Erweiterungsmodulen steht. Weiter sei darauf hingewiesen, daß zum Betrieb der Grundeinheit 22 alleine ein Erweiterungsmodul 24 nicht erforderlich ist. Die Verbindung der Grundeinheit 22 mit dem I/O-Modul 24 erfolgt über eine Busverbindung 26, die mit I/O-Erweiterungsanschlüssen 32 zusammenwirkt. In der bevorzugten Ausführungsform der vorliegenden Erfindung ist die Grundeinheit 22 elek trisch mit dem I/O-Modul 24 verbunden. Weitere I/O-Module sind an die benachbarten I/O-Module (nicht dargestellt) mittels einer Busverbindung und Erweiterungsanschlüssen 32 angeschlossen, die an jeder Seite des I/O-Moduls 24 angeordnet sind.
- In der bevorzugten Ausführungsform der vorliegenden Erfindung ist die Busverbindung ein Edgecard-an Edgecard-Verbinder, der mit den Schaltungen in der Grundeinheit 22 und dem Erweiterungsmodul 24 zusammenwirkt. Es sei jedoch darauf hingewiesen, daß auch andere Verbinder im Rahmen der technischen Lehre der vorliegenden Erfindung verwendet werden können. Sowohl Grundeinheit 22 als auch Erweiterungsmodul 24 sind auf einer DIN-Schiene 28 verschieblich befestigt. Die Grundeinheit 22 und das Erweiterungsmodul 24 hängen an der DIN-Schiene 28 und werden auf dieser durch DIN-Halteclips 30 in Stellung gehalten. Da solche DIN-Schienen und deren Zusammenwirken mit den Bauteilen dem Fachmann bekannt sind, werden sie nicht näher erläutert.
- In Fig. 2 ist eine beispielhafte, perspektivische Ansicht des erfindungsgemäßen PLC-Systems 20 näher gezeigt. Darin ist das Ineinandergreifen der Grundeinheit 22 in das Erweiterungsmodul 24 zu sehen. Weiter ist zu sehen, daß die Grundeinheit 22 eine Ausgangszugriffsabdeckung 34 und eine Eingangszugriffsabdeckung 36 hat. Die Abdeckungen sind schwenkbar aufgehängt, wodurch die Verbindung mit externen Geräte möglich ist, wie sie normalerweise bei einer speicherprogrammierbaren Steuerung erfolgt und dem Fachmann bekannt ist. Das Erweiterungsmodul 24 hat eine ähnliche obere I/O-Modul Zugriffsabdeckung 38 und eine untere I/O-Modul Zugriffsabdeckung 40, die zur geeigneten Eingangs-/ Ausgangsverdrahtung dienen. Dabei kann in der bevorzugten Ausführungsform der vorliegenden Erfindung das I/O-Modul 24 verschiedene I/O-Konfigurationen haben, wie noch näher erläutert werden wird. Dies können abhängig von Benutzeranforderungen beispielsweise ein digitaler Eingang, ein analoger Eingang oder eine Kombination aus diesen beiden sein.
- Am Umfang der Grundeinheit 22 ist ein Kommunikationsanschluß 42 angeordnet, der aus einem Verbinder besteht, der dazu dient, mehrere Grundeinheiten 22 zu Kommunikationszwecken zu verbinden. Er dient weiter als Anschluß für verschiedene Protokollschemata o. ä., wie noch näher erläutert werden wird. An der gleichen Seite der Grundeinheit 22 wie der Kommunikationsanschluß 42 befindet sich ein Eingangsanschluß 44, an den Drähte angeschlossen werden können, die benachbart der Eingangszugriffsabdeckung 36 liegen. Auf ähnliche, jedoch nicht dargestellte Weise können ein Anschluß, wie z. B. der Anschluß 46, benachbart der Zugriffsabdeckung 34, und ein I/O-Modul-Anschluß 50 benachbart der oberen I/O- Modul-Zugriffsabdeckung 3 8, angeordnet sein.
- An der Frontseite der Grundeinheit 22 und des I/O-Moduls 24 befinden sich mehrere Status-LED 48. Diese LED zeigen den Zustand von verschiedenen Registern und Funktionen innerhalb der Vorrichtung an, wie noch näher erläutert werden wird. Es sei jedoch darauf hingewiesen, daß bei PLC dem Fachmann Statusanzeigen o. ä. bekannt sind. Weiter sei darauf hingewiesen, daß auch eine andere Anordnung der Anschlüsse, Statusanzeigen, Anschlußzugänge o. ä. im Rahmen der technischen Lehre der vorliegenden Erfindung verwendet werden kann, ebenso wie auch andere Befestigungseinrichtungen anstatt der DIN-Schienen zum Einsatz kommen können.
- In Fig. 3 ist ein Speichermodul 52 gezeigt, das ein EEPROM aufweist, wie nachfolgend noch genauer beschrieben werden wird. Dieses ist in Richtung des Pfeils 53 in einer Speicherkassettenaufnahme 54 einsetzbar. Die Fläche neben der Aufnahme 54 liegt unter der Zugriffsabdeckung 34 der Grundeinheit 22. An einer Seite der Aufnahme 54 liegen ein Mode-Schalter 56 und analoge Einstellungvorrichtungen 58. Die analogen Einstellungvorrichtungen 58 dienen dazu, den digitalen Wert zu halten, der die Stellung der analogen Einstellungvorrichtungen wiedergibt. In der bevorzugten Ausführungsform der vorliegenden Erfindung wird der Wert von den analogen Einstellungvorrichtungen abgeleitet und kann vom Programm verwendet werden, um die Zeitschaltuhr, den aktuellen Zählerstand, voreingestellte Werte oder Sollwerte oder Grenzwerte geeignet zu aktualisieren.
- In der bevorzugten Ausführungsform der vorliegenden Erfindung ist der Modeschalter 56 ein Schalter mit drei Stellungen. Ist dieser Schalter im STOP-Modus, kann der Benutzer ein Benutzerprogramm erzeugen und bearbeiten, jedoch ist die Ausführung des Benutzerprogramms nicht möglich. Ist dieser Schalter im RUN- Modus, wird das in der Grundeinheit 22 festabgelegte Benutzerprogramm ausgeführt. Zugleich ist es dem Benutzer nicht möglich, das Benutzerprogramm zu erzeugen oder zu bearbeiten. Im RUN-Modus können jedoch Benutzerdatenwerte verändert werden, da das Ändern dieser Werte das Programm selbst nicht verändert. Ist der Schalter in der dritten oder Terminalstellung TERM, kann die Grundeinheit 22 Modusänderungen durch den Kommunikationsanschluß oder von intelligenten (nicht dargestellten) Modulen empfangen, damit der Betriebsmodus der PLC festgestellt werden kann und Modusänderungsbefehle von einer Programmier- oder Betriebsschnittstellenvorrichtung durch den Kommunikationsanschluß erfolgen können, wie nachfolgend noch beschrieben werden wird.
- In Fig. 4 ist ein Funktionsmodell bzw. Diagram der vorliegenden Erfindung dargestellt. In der bevorzugten Ausführungsform der vorliegenden Erfindung erzeugt die Spannungsversorgung 24 und 5 Volt DC aus einer DC- oder AC-Eingangsspannung. Die Spannungsversorgung 23 versorgt die Grundeinheit oder CPU 22. An die CPU 22 ist in der bevorzugten Ausführungsform der vorliegenden Erfindung ein Speichermodul 52 anschließbar. Dies ist an einen Edgecard-Verbinder angeschlossen. Das Modul 52 ist eine serielle Einrichtung, wodurch nur vier elektrische Leitungen zwischen dem Speichermodul 52 und der CPU 22 erforderlich sind, wie nachfolgend noch genauer erläutert werden wird. Mit der CPU 22 wirken Eingangsanschluß 44 und Ausgangsanschluß 46 zusammen, um Daten zu empfangen oder Funktionen und Befehle auszuführen, wie sie bei speicherprogrammierbaren Steuerungen typisch und dem Fachmann bekannt sind. Beim Einschalten der PLC werden - wie bei speicherprogrammierbaren Steuerungen üblich und zu erwarten - mehrere Diagnoseüberprüfungen durchgeführt; insbesondere wird überprüft, ob das Speichermodul 52 vorhanden ist (nicht dargestellt). Ist das Speichermodul vorhanden, wird dieses beim Einschalten zur Diagnose auch überprüft.
- In Fig. 5 sind die I/O-Buserweiterungseigenschaften der vorliegenden Erfindung zu sehen. Dargestellt sind Speichermodule 24a, 24b bis 24n, wobei n für die Gesamtzahl an Modulen steht. Es sei darauf hingewiesen, daß in der bevorzugten Ausführungsform der vorliegenden Erfindung sieben Module verwendet werden können, jedoch auch eine niedrigere oder höhere Zahl von Modulen je nach geforderter Leistung der einzelnen Module und der Gesamtgeschwindigkeit des Systems und der Leistung der CPU Grundeinheit 22 denkbar ist.
- In Fig. 6 ist das Verbindungsschema zwischen benachbarten PLC Systemen 20 zu sehen, die mit 20a, 20b und 20c bezeichnet sind. Mittels eines Verbindungskabels 64 sind die verschiedenen PLC-Systeme 20 miteinander verbunden. An mindestens eine PLC 20 ist ein Programmierkabel 62 angeschlossen, das andererseits mit einer Programmiervorrichtung 60 verbunden ist. Es sei darauf hingewiesen, daß das Verbindungskabel 64 ebenso wie die Programmiervorrichtung 60 entweder an das System dauerhaft angeschlossen bleiben oder nach Abschluß der Programmierung bzw. der Kommunikation zwischen den verschiedenen PLC-Systemen 20a, 20b und 20c entfernt kann, wenn es nicht länger benötigt wird. Das Verbindungskabel 64 wirkt mit dem Kommunikationsanschluß 42 zusammen, der an jeder Grundeinheit 22 vorgesehen ist. Obwohl nicht dargestellt, können ein oder mehrere I/O- Module 24 an eine oder mehrere PLC-Grundeinheiten 22 im Rahmen der technischen Lehre der vorliegenden Erfindung angeschlossen werden. Dadurch kann die Programmierung aller PLC gleichzeitig vorgenommen werden, da die Kommunikation zwischen dem PLC-Systemen und der Programmiervorrichtung 60 bei Betrieb in einem Netzwerkmodus vorgenommen werden kann.
- Ein Blockschaltbild der CPU oder Grundeinheit 22 der vorliegenden Erfindung ist in Fig. 7 dargestellt. Ein Zentralprozessor ist das Herz der Grundeinheit 22. In der bevorzugten Ausführungsform ist dies ein 80C32-Prozessor. Natürlich können aber auch andere Prozessoren im Rahmen der technischen Lehre der vorliegenden Erfindung verwendet werden. An den 80C32-Prozessor, der von (S. 15. Z. 13 Originaltext) CA, USA hergestellt ist, ist ein ASIC angeschlossen, der mehrere der PLC-Vorrichtung innewohnenden Funktionen bereitstellt. Solche Merkmale und "Dienstleistungen" umfassen:
- 1. Prozessor-Busunterstützungslogik inkl. Adressen/Daten-Demultiplexing und Local Chip-Select,
- 2. Paginglogik, um externen Speicher in das Programm des Prozessors 80C32 und in Datenspeicherbereiche abzubilden,
- 3. lokale I/O-Pufferung und -Filterung,
- 4. gezielte Interruptaufzweigung zum programmgesteuerten Zählen von Eingaben und zum Aufzweigen der Benutzer-Interruptroutinen, wie nachfolgend noch näher erläutert wird,
- 5. Hochgeschwindigkeits-Eingangszähler und Hochgeschwindigkeits- Impulsausgabefunktionen,
- 6. I/O-Busschnittstelle für Expansionsmodule 24,
- 7. Aufmerksamkeitszeituhren und
- 8. Zeituhren für die Potentiometereingänge 58.
- Wie zu sehen ist, sind Daten- und Adressleitungen an den 80C32-Prozessor angeschlossen und wirken mit dem ASIC, dem RAM und dem Flash-EPROM zusammen. In der bevorzugten Ausführungsform der vorliegenden Erfindung ist der RAM ein 8 mal 32k RAM mit einem Kondensator zur Energiepufferung, damit auch bei wiederholter Unterbrechung der Energieversorgung der Inhalt des RAM erhalten bleibt. Dieser 8 mal 32k RAM bietet Platz für alle flüchtigen Daten, wie Temporärdaten des Betriebssystems, Nachrichtenpuffer, nicht zu haltende Benutzerdaten und vom Benutzer kompilierten Programmcode. Natürlich können auch andere Einheiten bzw. RAM anderer Größe im Rahmen der technischen Lehre der vorliegenden Erfindung verwendet werden.
- In einer bevorzugten Ausführungsform der vorliegenden Erfindung ist der Flash-EPROM ein 8 mal 128k EPROM, natürlich können aber auch andere Größen im Rahmen der technischen Lehre der vorliegenden Erfindung verwendet werden. In diesem Flash-EPROM wird der Systemkode abgelegt. Er hat mehrere Sektoren, so daß jeder Sektor unabhängig gelöscht und umprogrammiert werden kann. Natürlich können im Rahmen der technischen Lehre der vorliegenden Erfindung auch Standard-EPROM verwendet werden. Auch an den ASIC angeschlossen dargestellt sind verschiedene PN-Ausgänge, wie sie normalen in digitalen Schaltungsentwürfen anzutreffen sind, wie Chip-Select, Interrupt Null (INT 0), Interrupt Eins (INT 1) und Bank-Select. Weiter an den ASIC angeschlossen sind isolierte Ausgangsschaltungen, die in der bevorzugten Ausführungsform der vorliegenden Erfindung elektrooptisch ausgekoppelt werden und LED-Anzeigen haben, die für die erwähnten Statusanzeigen o. ä. verwendet werden können.
- Die Zeitsteuerung erfolgt durch einen 30 MHz Hauptschwingkreis, wobei der 80C32 mit diesem über eine Reset-Pin verbunden ist, um bei Zusammenbrechen der Energieversorgung das Abschalten besser bewirken zu können. Weiter ist an den 80C32-Prozessor ein RS-485 Treiber angeschlossen, der mit dem Kommunikationsanschluß 42 verbunden ist. In der bevorzugten Ausführungsform der Erfindung wird ein RS-485 Treiber verwendet, jedoch können im Rahmen der technischen Lehre der vorliegenden Erfindung auch andere Treiber verwendet werden. Für einen solchen Fall ist die Verwendung eines RS-232 Konverters gezeigt. Der RS-485 Treiber wirkt ebenso mit dem dynamisch veränderbaren Interruptschema der vorliegenden Erfindung zusammen, wie nachfolgend noch näher erläutert werden wird.
- Um die wirkliche Zeit zur Verfügung zu stellen, ist eine serielle Tageszeituhr mit dem 80C32-Prozessor verbunden. Wie zu sehen ist, ist ein 8 · 8k Seriell- EEPROM an den 80C32-Prozessor angeschlossen, das Benutzerprogrammkode sowie Benutzer- und Systemdaten enthält, die für einen längeren Zeitraum zur Verfügung stehen müssen, wenn keine Energieversorgung besteht. Dadurch muß der Benutzer den Benutzerprogrammkode oder Änderungen o. ä. nach einer Unterbrechung in der Energieversorgung der PLC nicht in das System einladen, was vorteilhaft ist. Dieser serielle EEPROM ist dauerhaft in der CPU oder Grundeinheit 22 vorhanden. Ein zweiter serieller EEPROM mit 8 mal 8k Speicher bildet den Kern der Speicherkassette 52. Er ist lösbar mit der PLC-Grundeinheit 22 verbindbar, wie in Fig. 3 gezeigt ist. Ein seriell zugreifbarer EEPROM wird deshalb verwendet, da dieser nur vier elektrische Verbindungen nötig macht, wodurch eine ungewöhnlich kleine Speicherkassette verwendet werden kann. Da der Speicherzugriff seriell er folgt, ist er darüber hinaus sehr viel kleiner und kostengünstiger anschließbar und kann leichter vor elektrostatischen Störungen o. ä. abgeschirmt werden. Dies ist beim bislang verwendeten Parallelzugriffsverfahren grundlegend anders, bei dem 20 oder mehr Verbindungen erforderlich sind, die gegenüber elektrostatischen Störungen viel empfindlicher sind, deren Anschlüsse viel teurer und schwieriger vor unvermeidlichen, elektrostatischen Störungen zu schützen sind. Da die Geschwindigkeit beim Zugriff auf ein Speichermodul, wie dem Speichermodul 52, im allgemeinen kein Erfordernis ist, wie sich zeigte, muß der Zeitnachteil beim seriellen Zugriff des Lesens und Schreibens auf das EEPROM nicht berücksichtigt werden.
- Diese EEPROM-Speicherkassette 52 wird über übliche elektrische Anschlüsse, vorzugsweise eine edgecardartige Verbindung, an den 80C32-Prozessor angeschlossen. Obwohl in der bevorzugten Ausführungsform der vorliegenden Erfindung ein EEPROM verwendet wird, kann die Speicherkassette 52 natürlich auch nur ein ROM aufweisen, mittels dem der Benutzer Programme direkt durch den 80C32-Prozessor in das festeingebaute serielle EEPROM einspeichern könnte. Auf diese Weise könnte eine ein ROM enthaltende Speicherkassette verwendet werden, um mehrere PLC-Grundeinheiten zu aktualisieren. Wird jedoch ein serieller EEPROM verwendet, kann der Benutzer Programmkode vom festeingebauten, seriellen EEPROM an das Speichermodul einlesen, um diesen weiter an andere PLC zu verteilen, zu untersuchen oder zu verwenden o. ä. und dadurch die PLC als eine Art "Programmierer" verwenden.
- Weiter sind Anzeige LED, wie die Statusanzeigen 48, gezeigt, die anzeigen, ob die Grundeinheit 22 in einem FEHLER, STOP oder RUN Modus ist. Diese Anzeigen sind in den Fig. 1 und 2 entsprechend dargestellt. Die Anzeige SF ist vorzugsweise eine rote LED, die einen Systemfehler anzeigt und leuchtet, wenn in der Grundeinheit 22 ein bedeutender Fehler aufgetreten ist (fatal error). Die RUN-LED ist vorzugsweise eine grüne Anzeige, die zeigt, daß die PLC im RUN-Modus ist und ein Benutzerprogramm ausführt. Die STOP-LED ist vorzugsweise eine gelbe Anzeige, die anzeigt, die anzeigt, daß die speicherprogrammierbare Steuerung ein STOP Modus ist und daß die Ausführung des Programms angehalten wurde.
- Die restlichen mit I bezeichneten Anzeigen sind vorzugsweise grün und zeigen den gegenwärtigen Zustand der Eingabeknoten des PLC-Systems an. Das heißt, sie sind Statusindikatoren der Logikseite. Die mit an der Grundeinheit 22 mit Q bezeichneten Anzeigen, die vorzugsweise grün sind, zeigen den gegenwärtigen Zustand der Ausgabeknoten an, d. h. sie sind Anzeigen auf der Logikseite. Darüber hinaus können die auch Erweiterungsmodule 24 Q-Anzeigen aufweisen (nicht dargestellt), wenn die Module Ausgabeknoten haben.
- Wie angedeutet, ermöglicht die Speicherkassette 58 eine Vorort-Aktualisierung der Grundeinheit, z. B. des PLC-Systems 20, ohne daß eine Programmiervorrichtung 60 erforderlich ist. Dazu dupliziert die Speicherkassette 52 den in der Grundeinheit 22 vorgesehenen, inneren nicht flüchtigen Speicher und überschreibt beim Einbau die im festeingebauten seriellen EEPROM enthaltene Information.
- Den Einbau bzw. die Benutzung der Speicherkassette 52 ist relativ einfach. Um ein Programm von der Speicherkassette in den internen Speicher der Grundeinheit 22 zu kopieren, muß die Speicherkassette 52 nur installiert und die Grundeinheit 22 einmal aus- und dann wieder eingeschaltet werden. Danach kann die Speicherkassette 52 entfernt werden. Sie kann auch - falls gewünscht - vor Ort belassen werden. Nach dem Einlesen des Programms aus der Speicherkassette 52 werden die Daten zuerst in den festeingebauten, seriellen EEPROM eingeladen. Dabei wird der gleiche Bus verwendet, den auch das serielle EEPROM verwendet. Dann werden die Daten in den RAM eingespeichert, der eine Prüfsumme bildet, um sicherzustellen, daß das Einlesen fehlerfrei verlief. Danach werden die Daten wieder in den festeingebauten EEPROM eingespeichert. Dadurch wird der RAM dazu verwendet, die Eingabewerte (z. B. gemessene Gallonen, Pfund, Gewichte, etc.) bereitzustellen, wogegen das fest eingebaute, serielle EEPROM das aktuelle Benutzerprogramm vorhält.
- Um Daten in den Abschnitten des RAM zu halten, an denen Benutzerdaten gespeichert werden sollen, wird ein Superkondensator verwendet. Um ein Programm in die Speicherkassette 52 zu kopieren, muß die Speicherkassette 52 nur so installiert werden, wie bereits beschrieben wurde. Dann ist eine Programmiervor richtung, wie die Programmiervorrichtung 60, erforderlich, um den 80C32 Prozessor anzuweisen, den Inhalt des inneren Speichers des PLC in die Speicherkassette 52 zu kopieren. Danach kann die Speicherkassette entnommen oder je nach Wunsch vor Ort gelassen werden. Nachdem das Programm in die Speicherkassette 52 geschrieben wurde, wird das Programm zuerst vom festeingebauten, seriellen EPROM an den RAM geschickt, wo eine Prüfsumme gebildet wird. Danach wird das Benutzerprogramm zusammen mit den Prüfsummenwerten - wie bereits erwähnt - an die Speicherkassette geschickt. Empfängt die Grundeinheit 22 einen Befehl, das Programm an eine Speicherkassette 52 zu kopieren, werden zugleich automatisch vom Benutzerprogramm RAM-Daten kopiert, wie z. B. die ersten 128/512 Byte der Benutzerdaten, die Stationsadresse, eventuelle Freihaltebereich-Festlegungen, Einfrieren/Kopierzustand und Ausgabetabellenwerte für RUN nach STOP Übergänge, Paßwörter und Zulassungsklassen sowie alle vorgeschriebenen Operanden und deren Werte.
- In Fig. 8 ist ein funktionelles Blockdiagramm eines erfindungsgemäßen Erweiterungs-I/O-Moduls 24 gezeigt. Wie bereits erwähnt, sind mehrere Module an ihren Stirnseiten mittels Edgecard-Verbinder miteinander verbunden. In der bevorzugten Ausführungsform der vorliegenden Erfindung können maximal sieben Module mit einer einzigen Grundeinheit 22 verwendet werden. Natürlich kann diese Anzahl auch im Rahmen der technischen Lehre der vorliegenden Erfindung abhängig von der Umgebung und der Leistungsfähigkeit der Grundeinheit 22 variieren. Da die Module 24 keine gemeinsame Montageplatte benötigen und sie die Identifizierung selbst durchführen, werden fast alle Anschlüsse durchgeschleift. Dabei werden die Spannungsversorgung (nicht dargestellt) und logische Anschlüsse von der Grundeinheit 22 an alle Module 24 durchgeschleift. Die Signalleitung IODB wird vom I/O-Datenbus verwendet. IORA wird für die I/O-Registeradresse verwendet. IOWRT-N wird für den I/O Write Strobe verwendet. IORD-N wird für den I/O Read Strobe verwendet, und I/O DATEN ist ein Ausgang für I/O Enable. All diese werden durch die Module durchgeschleift. Wie zu sehen ist, wird die Logikleitung IOA, die für die I/O-Moduladresse verwendet wird, logisch aufgebrochen und in jedem Modul wieder erzeugt.
- In der bevorzugten Ausführungsform der vorliegenden Erfindung wird die IOA Modulauswahladresse beim Durchlauf durch jedes Modul numerisch herabgezählt. Ein Modul wird dann erkannt, wenn es beispielsweise eine Null (0) an seiner IOA Leitung als Adresse empfängt. Gibt die CPU 22 eine Adresse mit "0" an den Anfang der Kette ein, wird das erste Modul ausgewählt. Gibt die CPU 22 eine "1" als Adresse ein, empfängt das zweite Modul als Adresse die "0" und wird ausgewählt, usw..
- Nach dem Einschalten gibt die CPU 22 die Adresse "7" an das erste Modul aus. Dieses Modul prüft, ob ihm eine "0" als Adresse zugeführt wurde, verringert diese Adresse um 1, wenn dies nicht der Fall war, und liefert sie an das nächste Modul weiter. Dies läuft so fort, bis ein Modul eine "0" als Adresse empfängt, wodurch diesem Modul mitgeteilt wird, daß seine Adresse "0" ist. Somit weiß ein Modul, wenn es keine "0"-Adresse empfängt, daß die ihm zugeführte Nummer eine eigene Modulnummer ist. Dadurch kann eine beliebige Zusammenstellung von I/O-Modularten verbunden werden, ohne daß Adressschalter oder eine vorgegebene Montageplatte erforderlich wären. Der CPU muß nicht für jedes Modul eine Adresse gegeben werden. Dies hat seinen Grund darin, daß das Benutzerprogramm aufgrund seines Entwurfes weiß, welche Module angeschlossen sind und welche Adressen sie haben. Die CPU 22 weiß dadurch automatisch, wieviele Module Teil des PLC-Systems 22 sein sollen. Es ist nur wichtig, daß jedes Modul seine eigene Modulnummer kennt. Dadurch reagiert nur das jeweilige Modul, wenn die CPU 22 eine Information vom Modul fordert. Das Modul muß nicht seine eigene Adressnummer an der Signalleitung I/O ausgeben. Natürlich können die Erweiterungsmodule 24 im Rahmen der technischen Lehre der vorliegenden Erfindung für die CPU eine Adresse haben. Ebenso können die Module die IOA- Adressen erhöhen, wenn sie weitergereicht werden, damit eine CPU weiß, wieviele Module in der Reihe angeordnet sind.
- Es sei darauf hingewiesen, daß die in den Modulen 24 vorhandene Steuerlogik eine digitale Logikschaltung ist, wie sie der Fachmann kennt. Ein ID-Register ist in jedem I/O Modul zwischenverbunden und ist mit der Steuerlogik und der Signalleitung IODB verbunden. Dieses Identifikationsregister wirkt mit den I/O Daten und der I/O Logiksteuereinheit 84 zusammen. Es dient dazu, der CPU oder Grundeinheit 22 mitzuteilen, welche Art von Modul an die CPU oder die Grundeinheit 22 angeschlossen ist. Unter der Art von Modul wird verstanden, ob das Modul 24 ein diskretes oder analoges Modul ist, die Zusammensetzung der Ein- und Ausgabeknoten o. ä..
- Auf ähnliche Weise ist das Register auch an die Signalleitung IODB und die Steuerlogik angeschlossen. Es dient dazu, die einzelnen gelesenen Werte oder die externen Geräte auszugeben, oder auf Ausgabebefehle der CPU 22 hin zu agieren. Wie bereits beim Identifikationsregister angedeutet, ist dieses Register auch an die I/O-Logiksteuereinheit 84 angeschlossen. Diese I/O-Logik- und Steuereinheit 84 enthält beispielsweise Filter, Analog/Digital- und Digital/Analog-Konverter, galvanische Trennungen o. ä., wie sie auch für I/Ox Datensignale bekannt sind.
- In Fig. 9 ist in einem Diagram ein Abtastzyklus gezeigt, wie er normalerweise im RUN Modus der CPU 22 verwendet wird. Natürlich können auch andere Abtastzyklen, die andere Gesichtspunkte berücksichtigen, im normalen Betrieb oder eine unterschiedliche Abfolge im Rahmen der technischen Lehre der vorliegenden Erfindung verwendet werden. In der bevorzugten Ausführungsform der vorliegenden Erfindung besteht der Abtastzyklus aus fünf Vorgängen und beginnt mit dem Lesen der Eingänge, auf das die Ausführung des Benutzerprogramms folgt. Danach werden Botschaften oder Kommunikationsanforderungen verarbeitet, danach folgen interne Verwaltungsarbeiten, wie nachfolgend noch näher erläutert wird. Zum Schluß werden alle Ausgaben geeignet geschrieben. Dabei sind - wie nachfolgend noch näher erläutert wird - Interrupts des Benutzers möglich und werden entsprechend der vom Benutzer angegebenen Priorität in ihrer Reihenfolge des Auftretens abgearbeitet. In der bevorzugten Ausführungsform der vorliegenden Erfindung wird die Verarbeitung der Interrupts asynchron mit dem Abtasten ausgeführt, wenn Interrupt-Ereignisse auftreten.
- Wie erwähnt, wird jeder Abtastzyklus mit dem Lesen des aktuellen Werts der Input-Bits begonnen. Dann werden diese Werte in ein Register des RAM (nicht dargestellt), das als Input-Bildregister verwendet wird, geschrieben. Danach wird das Ausführen des Programms am Programmanfang mit dem ersten Befehl begonnen und bis zum letzten Befehl durchlaufen. Dadurch ermöglicht ein sofortiger I/O-Befehl vorzugsweise sofortigen Zugriff während der Programm- oder Interruptroutinenausführung auf die Ein- und Ausgaben. Verwendet der Benutzer Interrupts, wird darüber hinaus jede einem Interrupt-Ereignis zugewiesene Routine als Teil des Programms gespeichert. Solche Interruptroutinen werden nicht als Teil des normalen Abtastzyklus - wie er in Fig. 9 dargestellt ist - ausgeführt, sondern nur wenn das Interruptereignis auftritt, was natürlich an jedem Punkt des Abtastzyklus' der Fall sein kann. Während des eine Botschaft verarbeitenden Abschnittes des Abtastzyklus' verarbeitet die PLC Grundeinheit 22 am Kommunikationsanschluß empfangene Botschaften. Während des selbstüberprüfenden Abschnittes des Zyklus' werden interne Verwaltungsarbeiten erledigt. Diese Arbeiten umfassen Selbstdiagnoseüberprüfungen, die periodisch an den Steuergeräten der speicherprogrammierbaren Steuerung oder den festeingegebenen Programmen und dem Benutzerprogrammspeicher durchgeführt werden. Sie umfassen ebenso IIO-Modulzustandsüberprüfungen. Der letzte Abschnitt des Abtastzyklus' betrifft die Eingaben/Ausgaben, da Bildregisterwerte an die Ein-/Ausgabemodule geschrieben oder von diesen gelesen werden. Damit wird ein Zyklus abgeschlossen. In der bevorzugten Ausführungsform der vorliegenden Erfindung aktualisiert die Grundeinheit 22 analoge Ein- und Ausgänge als Teil des Abtastzyklus' nicht automatisch als analoge Werte und enthält dementsprechend kein analoges I/O-Bildregister. Auf diese Werte kann stattdessen direkt vom Benutzerprogramm aus zugegriffen werden.
- In Fig. 10 ist ein Abtastzyklus mit einer Funktion erzwungener Art zu sehen, die bei der vorliegenden Erfindung Anwendung findet. Dies ist nicht nur von Be deutung, da eine normale PLC-Programmierung im ersten Durchlauf üblicherweise fehlerhaft ist sondern auch, weil es die Möglichkeit gibt, mehrere Funktionen, wie Interrupts, Resets o. ä., die sorgfältige Steuerung und Genauigkeit erfordern, dynamisch zu ändern. Ein Beispiel für den Einsatz einer solchen erzwungenen Funktion ist es, temporär den Eingangsstatus zu überschreiben, um eine Anwendungslogik von Fehlern zu befreien. Dazu werden einzelne Ausgabepunkte, variable Speicher oder andere Daten überschrieben, oder Abschnitte des Benutzerprogramms übersprungen, indem ein Sprungbefehl mittels eines erzwungenen Speicherbits zugelassen wird. Während dieses Abtastzyklus' einer erzwungenen Funktion, wie er in Fig. 10 dargestellt ist, können die vorgegebenen Datenwerte vom Benutzerprogramm, von den Eingabe- und Ausgabeaktualisierungszyklen oder mittels der Kommunikationsverarbeitung geändert werden. Dadurch verwendet die Grundeinheit 22 jeden vorgegebenen Wert an verschiedenen Punkten im Abtastzyklus immer wieder, wie es vor, während oder nach der Programmausführung, während der Nachrichtenverarbeitung oder genäu vor dem Schreiben der Ausgabe zu erwarten ist.
- Es ist sehr wohl bekannt, daß es vorteilhaft und nützlich ist, Interrupts zu verwenden, um gewisse Systeminformation, die zu einem Zeitpunkt bekannt wird, zu verarbeiten. Übliche PLC sind im allgemeinen nicht in der Lage, mehr als einen einzigen Interrupt bereitzustellen. Da die PLC Grundeinheit nach der vorliegenden Erfindung Interrupt/Ereignisroutinen dynamisch zuweisen kann, ist eine beschleunigte Bearbeitung solcher Interrupts durch eine Anpassung der zugewiesenen Routine gegeben, da die zu dem Zeitpunkt des Interruptsereignisses vorliegende Systeminformation vorteilhaft genutzt werden kann, ohne auf einen speziellen Abschnitt des Abtastzyklus' warten zu müssen. Darüber hinaus kann das PLC System der vorliegenden Erfindung die Zuweisung für Benutzerprogrammabschnitte aufheben, damit das Benutzerprogramm die Steuerung nach dem Auftreten eines Ereignisses von Interesse abgeben kann. Es hat sich gezeigt, daß dies ein großer Vorteil gegenüber üblichen PLC ist, bei denen die Zuweisung von Interrupts nur zum Zeit punkt der Kompilierung durchgeführt werden kann, wodurch diese im wesentlichen unveränderlich sind. Mit der vorliegenden Erfindung können dagegen solche Zuweisungen während der Programmausführung dynamisch erfolgen. Dabei kann aufgrund der dynamischen Interruptroutinezuweisung durch den Benutzer die Zuordnung eines Benutzerprogrammabschnittes zu einem Ereignis in einer dynamischen Umgebung erfolgen, wodurch die PLC Grundeinheit 22 die Abgabe der Steuerung automatisch durchführen kann.
- In einer bevorzugten Ausführungsform der vorliegenden Erfindung unterstützt die Grundeinheit 22 acht I/O Interruptereignisse, die auf dem Ereignis einer steigenden oder fallenden Flanke basieren können. Es sei jedoch darauf hingewiesen, daß auch eine größere oder geringere Anzahl von Interruptereignissen im Rahmen der technischen Lehre der vorliegenden Erfindung verwirklicht werden kann. Darüber hinaus können bei der Grundeinheit der vorliegenden Erfindung zwei zeitgesteuerte Interrupts, zwei serielle Kommunikations-Interrupts (Empfangen/Senden), bis zu sieben von einem Richtungswechsel ausgehende Hochgeschwindigkeitszähler-Interrupts, externes Rücksetzen und zwei Impulszugausgabe-Interrupts auftreten.
- In der bevorzugten Ausführungsform der vorliegenden Erfindung werden diese Interrupts nach einem festen Prioritätsschema mit Prioritäten zwischen höchster und niedrigster Priorität versehen. Ein solches Prioritätsschema ist vorzugsweise folgendes: bestehende Kommunikation, I/O Interrupts, zeitgesteuerte Interrupts. Jeder Interrupt wird von der Grundeinheit 22 in der Reihenfolge des Auftretens innerhalb der jeweiligen Prioritätsgruppe abgearbeitet. Darüber hinaus arbeitet zu jedem Zeitpunkt nur genau eine Arbeitsroutine für einen Benutzerinterrupt. Wird beispielsweise ein zeitgesteuerter Interrupt abgearbeitet, kann weder ein folgender, diskreter Bitinterrupt oder ein Kommunikationsinterrupt die Routine des zeitgesteuerten Interrupts stören. Deshalb werden Interrupts, die auftreten, während ein anderer Interrupt abgearbeitet wird, für die spätere Verarbeitung entsprechend dem erwähnten Prioritätsschema in einer wartenden Schlange angeordnet (queueing). Es sei jedoch darauf hingewiesen, daß auch andere Prioritätsschemata im Rahmen der technischen Lehre der vorliegenden Erfindung verwendet werden können.
- Vorzugsweise wird in der bevorzugten Ausführungsform der vorliegenden Erfindung eine akkumulierte Logik für den Einsatz bei Interrupts gespeichert. Eine solche akkumulierte Logik kann beispielsweise Kontakt-, Spulen- und akkumulierte Information umfassen. Um die Interruptfunktion der vorliegenden Erfindung zu verwenden, muß nur dann nur ein Interruptereignis zu dem Programmabschnitt zugewiesen werden, den der Benutzer ausgeführt haben möchte, wenn das Ereignis auftritt. Es wird mit einem einfachen Verbindungsbefehl bei der Erstellung des Benutzerprogramms vorgenommen. Es zeigt sich, daß mit einem solchen Verbindungsbefehl der Benutzer mehrere Interruptereignisse mit einer Interruptroutine verbinden kann. Darüber hinaus können in der bevorzugten Ausführungsform der vorliegenden Erfindung alle Interrupts global aktiviert oder deaktiviert werden, je nach Vorgabe durch den Benutzer. Alternativ kann auch ein einzelner Interrupt deaktiviert werden, indem die Zuweisung zwischen dem Interruptereignis und der Interruptroutine mittels eines Verbinden/Lösen-Befehls aufgehoben wird, wodurch der Interrupt inaktiv bzw. ignoriert wird.
- Der Benutzer kann nun durch Prioritätszuweisung und Verwenden der Interrupts entsprechend der oben erwähnten Einteilungen eine sehr viel größere Menge von Funktionen verwenden. Eine dieser Funktionen ist es, den seriellen Kommunikationsanschluß 42 der Grundeinheit 22 zu verwenden, was im folgenden als Freeport Modus bezeichnet wird. In diesem Freeport Modus kann der Benutzer Merkmale festlegen wie: Baud-Rate, Bits pro Zeichen, Parity und Protokolleinzelheiten etc.. Dies wird mittels des Senden- und Empfangs-Interrupts erreicht, durch den der Benutzer die Grundeinheit programmieren kann, um eine programmierte, gesteuerte Kommunikation zu ermöglichen.
- Ein Beispiel für einen vom Kommunikationsanschluß ausgelösten Interrupt ist die Empfangsfunktion für einen Strichkodeleser, eine Waage, ein Schweißgerät, einen Sicherheitskodiersticker oder einen Kreditkartenleser, um nur einige aufzuzählen. Es verbleibt dann völlig im Belieben des Benutzers, das gewünschte Proto koll und die tatsächlichen Zeichen oder den verwendeten Kode festzulegen, die einen Interrupt auslösen. Alternativ können in einem Sendefunktionsmodus Botschaften an einen Drucker oder an eine Anzeige geschickt werden. Dies ist alles Teil des erwähnten Prioritätsschemas JUr den Kommunikationsinterrupt.
- In einer bevorzugten Ausführungsform der vorliegenden Erfindung kann als Einheit eine Sendebotschaft (X/T) verwendet werden, um an einen Puffer mindestens ein Zeichen zu senden, wobei ein Interrupt erzeugt wird, nachdem das letzte Zeichen aus dem Puffer gesendet wurde. Auf ähnliche Weise kann der Empfang einer Kommunikation unter Steuerung des Interrupts erfolgen, wobei jedes einkommende Zeichen einen Interrupt auslöst.
- Wie bereits erwähnt, umfassen I/O-Interrupts Interrupts bei steigender oder fallender Flanke, Interrupts von Hochgeschwindigkeitszählern oder Interrupts von Impulszugausgaben. Die Ereignisse mit steigender oder fallender Flanke können an jedem Eingabeknoten detektiert werden. Durch die Interrupts von Hochgeschwindigkeitszählern kann der Benutzer auf Zustände reagieren, wie z. B. wenn der aktuelle Wert einen vorbestimmten Wert erreicht, ein Wechsel in der Zählrichtung auftritt, was einer Umkehr der Rotationsrichtung einer Welle entsprechen kann (z. B. eines Motors o. ä.) und beim externen Rücksetzen des Zählers. Bei jedem Ereignis eines Hochgeschwindigkeitszählers kann die Aktion in Echtzeit durchgeführt werden - eine Reaktion auf Hochgeschwindigkeitsereignisse, die bei normaler PLC Steuerungsabtastgeschwindigkeit nicht erfolgen kann. Die Interrupts bei Impulszugausgaben teilen dem Benutzerprogramm sofort den Abschluß der Ausgabe beispielsweise einer vorbestimmten Zahl von Impulsen, wie sie bei einem Schrittmotor auftritt, mit.
- Bei der zeitgesteuerten Interruptfunktion der vorliegenden Erfindung bewirkt ein Interruptereignis die Abgabe der Steuerung an die entsprechende Interruptroutine jedesmal, wenn die Zeituhr abläuft. Dies hat sich zum regelmäßigen Abtasten von analogen Eingaben als sehr nützlich erwiesen. In der bevorzugten Ausführungsform der vorliegenden Erfindung wird ein zeitgesteuerter Interrupt aktiviert, und die Zeit beginnt, wenn eine Interruptroutine mit einem Ereignis für einen zeitgesteuer ten Interrupt verbunden wird. Einer der wesentlichen Vorteile der vorliegenden Erfindung liegt darin, daß während dieser Verbindung das System den Zykluszeitwert hält, so daß nachfolgende Änderungen die Zykluszeit nicht beeinflussen. Dadurch kann eine Zeituhr effektiv zur Mittelstellung zurückstellen anstatt zu Beginn. Dadurch kann der Benutzer einen Aufgabenblock dynamisch zuweisen, wenn Ereignisse im System auftreten.
- In der bevorzugten Ausführungsform der vorliegenden Erfindung hat - wie vorstehend erwähnt - die Grundeinheit 22 drei Hochgeschwindigkeitszähler. Natürlich kann aber auch eine andere Anzahl von Zählern im Rahmen der technischen Lehre der vorliegenden Erfindung verwendet werden. Die Zählrichtung dieser Zähler (aufwärts oder abwärts) wird vom Benutzerprogramm mittels eines Richtungssteuerbits eingestellt. Jeder Zähler hat einen vorbestimmten Eingang für Taktrate, Richtungssteuerung, Rückstellen und Start. Zusätzlich ist ein Vierfachmodus vorhanden, um zwischen einfacher und vierfacher Taktrate wählen zu können. Mindestens zwei dieser Uhren sind in der bevorzugten Ausführungsform der vorliegenden Erfindung voneinander vollständig unabhängig.
- Wird der Rückstelleingang einer Uhr aktiviert, löscht das Rückstellen den gegenwärtigen Wert und hält diesen, bis die Rückstellung wieder abgeschaltet wird. Aktiviert der Benutzer den Starteingang, kann der Zähler loszählen und tut dies, bis der Starteingang deaktiviert wird, wodurch der gegenwärtige Wert des Zählers festgehalten wird und Zählereignisse ignoriert werden. Ist darüber hinaus der Starteingang aktiviert, während der Rückstelleingang aktiv ist, wird der gegenwärtige Wert gelöscht. Vor der Inbetriebnahme eines Hochgeschwindigkeitszählers wird durch Verwendung eines Befehls zur Hochgeschwindigkeitszähler-Festlegung der Zählermodus ausgewählt, um - wie erwähnt - die notwendige Zuweisung des Zählermodus' zum einzelnen Hochgeschwindigkeitszähler herzustellen.
- Durch Setzen von Steuerbits, die im Steuerbyte der entsprechenden Zähler angeordnet sind, wird der Aktivzustand und der Einmal/Viermal-Zählermodus mindestens eines Zählers ausgewählt, wenn der Befehl zur Hochgeschwindigkeitszählerfestlegung ausgeführt wird. Hat der Benutzer einmal den zu verwendenden Zäh ler und den Zählermodus für den einzelnen Zähler festgelegt, kann er die dynamischen Parameter des Zähler programmieren. Jeder Hochgeschwindigkeitszähler hat ein Steuerbyte, mit dem der Zähler eingeschaltet oder ausgeschaltet, seine Zählrichtung eingestellt oder die Anfangszählrichtung für alle Betriebsarten vorgegeben, der aktuelle Wert wieder geladen und der vorgegebene Wert eingespeichert werden kann.
- Durch die bereits beschriebene dynamische Interruptfähigkeit, die insbesondere Teil der Hochgeschwindigkeitszähler ist, ist eine dynamische Vorgabe von Werten möglich. Dadurch können nun Ausgaben von Hochgeschwindigkeitsimpulszügen, die das Aufreihen von Operationen ermöglichen, ohne "Totzeit" zwischen den Schritten eine Operationsfolge verwendet werden. Dadurch können abfolgende Operationen direkt mit dem Abschluß der Ausführung der vorherigen Operation beginnen. Darüber hinaus leitet die Grundeinheit 22 die nachfolgende Operation automatisch nach dem Abschluß der vorherigen ein, wodurch ein glatter Übergang zwischen den Operationen ermöglicht ist, und die Steuerung von einem benutzervorgegebenen Programm zu einer Zeit der Folge abgeschlossen oder ein anderer Schritt der Folge vom Benutzerprogramm in eine Reihe gestellt werden kann. Dies erhöht die Geschwindigkeit des gesamten Prozesses sehr und nutzt die Hochgeschwindigkeitsfähigkeiten der vorliegenden Erfindung besser, indem "Totzeit" zwischen den Schritten einer Mehrschrittfolge vermieden wird.
- In Fig. 12 ist eine Zeitreihe dargestellt, die den überlappenden oder aufreihenden Betrieb abfolgender Operationen bezüglich der gegenwärtigen Operation und die automatische Einleitung einer aufgereihten Operation zeigt. Die Wirkung des Pulszuges entspricht der Verwendung von Vorgaben, wie sie bereits anhand der Hochgeschwindigkeitszähler beschrieben wurden. Darüber hinaus kann dadurch die Pulsbreite oder Zahl von Schritten nach einem vorbestimmten Intervall geändert werden.
- In der bevorzugten Ausführungsform der vorliegenden Erfindung hat die Grundeinheit 22 einen Pulszugausgang (Pulse Train Output = PTO) mit einem Rechtecksignal mit 50% Tastverhältnis, einer bestimmten Anzahl von Pulsen und einer vorgegebenen Zykluszeit. Die Grundeinheit 22 hält die Zykluszeit fest und variiert bei einer Funktion mit Pulsweitenmodulation (PWM) das ausgegebene Tastverhältnis. Um die Pulsweitenmodulation vom normalen Dauerbetriebsmodus oder -funktion aus zu ändern oder aufzurufen, wird der Zähler aktualisiert. Dazu hat jeder Pulszugausgang oder -generator ein Steuerbyte zur Pulsbreitenmodulation, das vorzugsweise ein Steuerbyte, ein Zykluszeitwert und ein unbezeichneter Pulsbreitenwert, ein 16 Bitwert und ein Pulszählwert, der auch unbezeichnet und ein 32 Bitwert ist. Durch einfaches Ausführen eines Pulsbefehls (PLS) im Programm wird danach die Operation ausgelöst, wodurch die Grundeinheit 22 die bestimmten Speicherbitstellen liest und PTO- oder PWO-Generator entsprechend programmiert.
- Für diesen Pulszugausgang (PTO) ist die erwähnte Warteschlangenbildung bzw. Reihenbildung nun möglich. Dies wird durch zwei zusätzlich zur Steuerinformation vorhandenen Statusbits erreicht, die anzeigen, ob die vorgegebene Anzahl von Impulsen erzeugt wurde und/oder ob eine Warteschlange oder ein Überlaufzustand vorliegt. Durch diese PTO-Funktion können mindestens zwei Vorgaben für Impulszugausgänge entweder miteinander verkettet oder aneinandergereiht werden, wodurch die aufeinanderfolgenden Ausgaben von Impulszügen lückenlos erfolgen.
- Wie bereits erwähnt, verwendet die vorliegende Erfindung einen UART. Es zeigte sich, daß durch den UART in Verbindung mit den bereits beschriebenen Interruptleistungsmerkmalen der Kommunikationsanschluß 42 der vorliegenden Erfindung vollständig an einen Benutzer-vorgegebenes oder -vorgebbares Protokollschema bzw. -schemata anpaßbar ist, die Teil von gegebenen Standards sind. Anstatt in die Grundeinheit 22 mehrere Protokolle einzubauen, müssen in der bevorzugten Ausführungsform der vorliegenden Erfindung alle Protokollschemata, die nicht denjenigen entsprechen, die bei der PLC-Programmierung der Grundeinheit 22 selbst verwendet wurden, in das Benutzerprogramm kopiert werden. Dadurch, daß ein Benutzer ein Protokollschema verwenden, anpassen oder festlegen kann, können eigenständige Schemata verwendet werden, die ein Benutzer möglicherweise verwenden muß, um mit neuen Geräten oder sehr alten Geräten arbeiten zu können.
- Zum Verwenden und Auswählen des Freeport Modus mit den erwähnten, durch den Benutzer festgelegten Protokollen kann der Kommunikationsanschluß 42 verwenden werden. In der bevorzugten Ausführungsform der vorliegenden Erfindung erfolgt jede Kommunikation mit dem Kommunikationsanschluß 42 interruptgesteuert. Das Benutzerprogramm steuert den Betrieb des Anschlusses durch diese Interrupts, wie einen Empfangsinterrupt, Empfangs- oder Sendeinterrupt und Empfangs-/Sendebefehle. Die vorstehend beschriebene Interruptfähigkeit wird verwendet, um den Betrieb mit einem Freeport oder variablem Protokoll einzuleiten oder durchzuführen (wenn das Freeport Anzeigebit gesetzt wurde, um festzulegen, daß die Kommunikation freeportartig erfolgt, wie nachfolgend noch näher erläutert werden wird). Wurde ein Interrupt ausgelöst, wird auf bereits beschriebene Art das Benutzerprogramm verwendet, um die Baud-Rate, Parity, Start- und Stopbits sowie die Zahl des Datenbits auszuwählen, die in der bevorzugten Ausführungsform der vorliegenden Erfindung sieben oder acht beträgt. Das Beenden des Freeport Modus wird einfach durch das Ende der Interruptroutine erreicht. Er kann auch abgeschaltet und dadurch die normale Kommunikation hergestellt werden, indem die CPU 12 in den STOP Modus geschaltet wird.
- Wie bereits erwähnt, bewirkt die Kommunikation mit dem Anschluß 42 einen Interrupt. Damit die CPU 22 zwischen der Verwendung einer Programmiervorrichtung 60 (Standardbetriebsmodus) und einer Freeport Kommunikation unterscheiden kann, muß ein Anzeigebit gesetzt werden. Deshalb kann durch Setzen eines speziellen Anzeigebits (SF) die Funktion des Kommunikationsanschlusses ausgewählt werden. Dadurch kann in der bevorzugten Ausführungsform der vorliegenden Erfindung der Benutzer mittels des Standard- bzw. Aus-Zustandes des speziellen Anzeigebits den Kommunikationsanschluß 42 als Programmierschnittstelle verwenden, wie sie beispielsweise in Fig. 6 wiedergegeben ist. Das Benutzerprogramm kann durch Setzen bzw. Einschalten des speziellen Anzeigebits die Steuerung des Kommunikationsanschlusses so umstellen, daß das Benutzerprogramm Meldungen durch diesen Kommunikationsanschluß als Freeport Anschluß senden oder empfangen kann. Wie bereits beschrieben, kann dieses besondere Anzeigebit vom Benutzerprogramm, von einem I/O-Vorgang oder vom Kommunikationsanschluß gesetzt werden.
- In der bevorzugten Ausführungsform der vorliegenden Erfindung wird demzufolge jede Kommunikation am Kommunikationsanschluß 42 als ein Interrupt behandelt. Wie bereits erwähnt, ist der Standardzustand des speziellen Bits in diesem Interrupt so, daß der Kommunikationsanschluß 42 als normale Programmierschnittstelle fungiert. Ist dieses Anzeigebit jedoch gesetzt, fungiert der Kommunikationsanschluß 42 bzw. wechselt in den Freeport Modus, in dem der Benutzer das zu verwendende Protokollschema festlegen kann. Da der Kommunikationsanschluß die Kommunikation an diesem Anschluß immer als Interrupt behandelt, kann dadurch das Protokollschema ein beliebiges Schema sein, insbesondere Einzel- oder Mehrzeichenmeldungen. Während des Freeport Kommunikationsmodus' ist das Benutzerprogramm angehalten, bis der Interrupt abgeschlossen oder beendet ist. Alternativ kann die Eingabe an einem beliebigen I/O-Anschluß der Grundeinheit oder eines Moduls oder ein vom Benutzerprogramm selbst vorgegebener Zustand mittels einer Interruptroutine das Umschalten des Kommunikationsanschlusses vom Programmiermodus in den Freeport Modus bewirken.
- Ein weiterer Gesichtspunkt des Freeport Modus' ist es, daß durch den Anschluß 42 die Grundeinheit 22 beispielsweise mit einem Drucker kommunizieren kann, der normalerweise an den Kommunikationsanschluß angeschlossen ist, damit Fehlermeldungen, Werte o. ä. geeignet ausgedruckt werden können. Somit können verschiedenste Arten von Drucker oder sogar Aufzeichnungsgeräte zum Einsatz kommen. Ein weiteres Anwendungsbeispiel ist ein sogenannter Pager. Tritt ein Zustand im I/O-Programm auf, der wiederum einen Interrupt auslöst, kann der Kommunikationsanschluß beispielsweise angewiesen werden, mit einer Telefonleitung oder einer anderen Kommunikationseinrichtung unter der Steuerung eines benutzerdefinierten Interruptprogrammes zu agieren. Das kann dazu verwendet werden, die Pagernummer zu wählen, z. B. die einer Wartungsperson. Dabei kann eine vorpro grammierte Botschaft übertragen werden, z. B. Material erschöpft, Maschine angehalten usw.. Ebenso kann der Herstellvorgang anstelle eines Pagerschemas einen Sprachsynthesizer verwenden, um die jeweiligen Fehler anzuzeigen, oder eine besondere Bedienungsperson o. ä. zu rufen.
- Ein anderes Beispiel der Verwendung eines Freeport Protokolls betrifft den Einsatz von Kartenlesern für intelligente oder Standardkarten an Tankstellen. Diese Kartenleser kommunizieren mit dem Kommunikationsanschluß, um Benutzerkonten überprüfen, die Kraftstoffart zu übertragen, die zugelassene Kraftstoffmenge zu übertragen und zu überprüfen o. ä., wobei die PLC die geeignete Steuerung der Zapfsäule bewirkt. Darüber hinaus kann das Freeport Protokoll der PLC verwendet werden, um die gezapfte Kraftstoffmenge zu erfassen und diese über den Kommunikationsanschluß an eine Überwachungsbehörde zu übertragen, wodurch beispielsweise das Finanzamt die gezapfte Kraftstoffmenge mit der durch den Händler/Großhändler gezahlten oder von diesem fälligen Steuersumme vergleichen kann.
- In Fig. 11 ist eine beispielhafte Anwendung, bei der die vorliegende Erfindung zur Anwendung kommen kann, in einem Diagramm dargestellt. Im einzelnen ist eine erste und eine zweite Pumpensteuerung 68, 70 gezeigt, von der erste und zweite Pumpen 66, 72 gesteuert werden. Eine Ablaßpumpe 80 ist an einem Ablaßventil 72 angeordnet, das direkt mit einem Mischtank 74 verbunden ist. Ebenfalls direkt an den Mischtank 74 angeschlossen ist ein Dampfventil 78. In diesem beispielhaften Aufbau wird der Mischtank 74 verwendet, um unterschiedliche Malfarben herzustellen. Dazu sind zwei Leitungen mit den Pumpensteuerungen 1 bzw. 2 mit jeder Leitung verbunden, die die entsprechenden Komponenten zuführen. Eine einzige Leitung am Boden des Tanks 74 am Ablaßventil 76 und der Ablaßpumpe 80 fördert die fertiggestellte Farbmischung zum gewünschten, entfernt gelegenen Arbeitsbereich (nicht dargestellt). Im Betrieb möchte man den Füllvorgang steuern und zugleich den Tankpegel sowie die Steuerung eines Misch- und Zufuhrzyklus' überwachen. Der Prozeßablauf, um dies zu erreichen, ist demzufolge der folgende:
- Abwarten bis die Tastschalter zum Pumpenstart gedrückt wurden. 1 und 2 starten, wenn sie geschlossen sind. Ist einer der Pumpenstopschalter geöffnet, anhalten dieser Pumpe.
- Farbkomponenten einfüllen, bis der Maximalpegelschalter schließt. Dann beide Pumpen abschalten.
- Einschalten des Mischermotors und des Dampfventils für eine vorbestimmte Zeitdauer (z. B. 10 s).
- Nach dem Mischen und Heizen, das Gefäß durch Öffnen des Ablaßventils ablassen. Die Pumpe ablassen, bis der Pegel im Tank den Niedrigstpegel erreicht.
- Jeden Zyklus zählen, den der Mischtank bei Abschluß eines Füll-/ Misch-/ Ablaß-Zyklus' durchläuft.
- In Chart 1 ist ein Beispielprogramm (sample program 1) zur Programmierung und zum Prüfen der Logik gezeigt, das notwendig ist, um die PLC der vorliegenden Erfindung nach dem Beispiel der Fig. 11 zu programmieren. Auf der linken Seite der Tabelle ist ein logisches Leiterdiagram dargestellt, auf der rechten Seite der Tabelle Chart 1 der dazugehörige Programmcode. Es sei darauf hingewiesen, daß zusätzliche oder Zwischenschritte nicht gezeigt werden, da davon ausgegangen wird, daß die Programmierung von PLC dem Fachmann allgemein bekannt ist.
- Ein weiteres Beispiel für die Verwendung der vorliegenden Erfindung wird nachfolgend beschrieben. Dieses Beispiel veranschaulicht den Einsatz der Freeport Kommunikation bzw. der variablen Protokollschemata, wie sie vorstehend beschrieben wurde. Diese Kommunikation wird dazu verwendet, eine Zeichenfolge von einem Strichkodeleser aufzunehmen. In diesem Beispiel sind acht Produkte mit verschiedenen Strichkodes auf einem einzigen Förderband gemischt und müssen zur Endverpackung in zwei Richtungen verteilt werden. Der Strichkodeleser liest den aus 12 ASCII-Buchstaben bestehenden Strichkode, der mit einem Zeilenrücklauf und einem Zeilenvorschub abgeschlossen wird. Nach dem Empfang des Zeilenrücklauf und des Zeilenvorschubzeichen wird der Strichkode übersetzt. Ausgehend vom Strichkodewert wird ein Verteiler aktiviert, um die Produkte in dem Behälter A oder dem Behälter B zu verteilen. Der Behälter, in den die Produkte eingebracht werden sollen, wird von den letzten vier Stellen des Strichkcodes bestimmt. Dieses Beispiel verwendet bzw. setzt voraus, daß beispielhafte Datenwerte (V0-V95) in eine jeweilige Datenbank (DB1) eingegeben wurden, bevor das Benutzerprogramm eingelesen wurde. Die Tabellen 1 bis 4 (Tables 1-4) zeigen und beschreiben die verschiedenen Adressen und Parameter.
- Die verwendeten Ein- und Ausgaben sind in Tabelle 1 beschrieben. Wie zu sehen ist, entspricht die Bytezahl der Adressgröße. Weiter ist zu sehen, daß Tabelle 1 die I/O-Funktionen der Grundeinheit 22 behandelt, und daß die Tabellen 2, 3 und 4 die interne Datenverarbeitung o. ä. in der Grundeinheit 22 behandeln. Tabelle 2 betrifft die dauerhafte Datenspeicherung. Es ist zu sehen, daß ein 12 Bit Byte den 12 Bits der Adresse entspricht. Ebenso betrifft Tabelle 3 die Ablage flüchtiger Daten mit der gleichen Byte- und Adressgröße, und Tabelle 4 betrifft die Beschreibung von Interruptunterroutinen, die den gesamten Betrieb des Beispielprogramms regeln.
- In Chart 2 sind das Hauptprogramm, die Unterroutinen und die Interruptroutinen gezeigt, die beim Ausführen des beispielhaften Strichkodeleseprogramms wie oben erwähnt, benötigt werden. Wie der Überblick über Chart 2 zeigt, entsprechen die einzelnen Abschnitte denen in Tabelle 1, 2, 3 und 4 aufgeführten Funktionen und Beschreibungen.
- //Wert für I 0,0 lesen
- //Oder mit Wert für Q 0,0
- //Und mit Wert für I 0,2
- //Nicht Und mit I 0,4
- //Ergebnis Q 0,0 zuweisen
- //Wert für I 0,1 lesen
- //Oder mit Wert für Q 0,1
- //Und mit Wert für I 0,3
- //Nicht Und mit I 0,4
- //Ergebnis Q 0,1 zuweisen
- //Wert für I 0,4 lesen
- //M 0,1 auf 1 (Ein) setzen
- //Wert für M 0,1 lesen
- //Zeitschaltuhr T37
- //PT = -voreingestellter Wert
- //100 (@ 0,1 s)
- 1/Wert des Nicht T37 Bit lesen
- //Und mit Wert für M 0,1
- //Ergebnis Q 0,2 zuweisen
- //Ergebnis Q 0,3 zuweisen
- //Wert des T37 Bit lesen
- //Nicht Und mit Wert für I 0,1
- //Ergebnis Q 0,4 zuweisen
- //Ergebnis Q 0,5 zuweisen
- //Wert für I 0,5 lesen
- //Und Wert des T37 Bit
- //Wert für I 0,7 lesen
- //Zähler 30
- //PT = voreingestellter Wert von 12
- //Wert für I 0,5 lesen
- //Und Wert des T37 Bit
- //Wert von M 0,1 auf 0 zurücksetzen Tabelle 1 Eingaben und Ausgaben Tabelle 2 Dauerhafte Datenspeicherung Tabelle 3 Flüchtige Datenspeicherung Tabelle 4 Unterroutine und Interruptbeschreibung
- //Speicherbit der ersten Abtastung
- //Initialisierung der Subroutine aufrufen
- //Bei TERM PPI Kommunikation einstellen
- //Bei RUN Freeport Kommunikation einstellen
- //Initialisierungs-Subroutine
- //Logik aktivieren durch ständiges ON-Speicherbit
- //9600 Baud, keine Parity, 8 Bits/Zeichen
- //Zeitgesteuerten Interruptwert auf 5 ms stellen
- //Zeitsteuerungsroutine für stille Leitung einstellen
- //Empfangsinterrupt für stille Leitung einstellen
- //Allgemeine Interrupts zulassen
- //Ende der Subroutine
- //Zeitschaltuhr für stille Leitung
- //Logik aktivieren durch ständiges ON-Speicherbit
- Zeiger zum Start des Empfangspuffers laden
- //Zeichenzählung laden
- //den Empfang des nächsten Strichkodes einstellen
- //Ende der Subroutine
- //Empfangsinterrupt für stille Leitung
- //Logik aktivieren durch ständiges ON-Speicherbit
- //Bei jedem Zeichen die Zeitschaltuhr für stille Leitung erneut triggern
- //Ende der Subroutine
- //Strichkode empfangen
- //Logik aktivieren durch ständiges ON-Speicherbit
- //Zeichen im Empfangspuffer speichern
- //Zeiger erhöhen
- //Zeichenzählung erniedrigen
- //Bei jedem Zeichen die Zeitschaltuhr für stille Leitung erneut triggern
- //Falls der Zähler Null ist,
- //Empfang des Zeilenrücklaufes zulassen
- //Ender der Routine
- //Empfangsroutine für Zeilenrücklauf
- //Falls Zeilenrücklauf empfangen wurde,
- //Empfangen des Zeilenvorschubs zulassen
- //Bei jedem Zeichen die Zeitschaltuhr für stille Leitung triggern
- //Ende der Routine
- //Oder
- //Stille Leitung suchen
- //Bei jedem Zeichen Zeitschaltuhr für stille Leitung triggern
- //Ende der Routine
- //Zeilenvorschub-Empfangsroutine
- //Falls ein Zeilenvorschub empfangen wurde,
- //Empfang der stillen Leitung zulassen
- //Bei jedem Zeichen Zeitschaltuhr für stille Leitung triggern
- //Verteiler in Gefäß A oder B ansteuern
- //Oder
- //Ende der Subroutine
- //Gefäß A oder B auswählen
- //Ist Produkt 1 für Gefäß B
- //Oder Produkt 2 für Gefäß B
- //Oder Produkt 3 für Gefäß B
- /Verteiler an Gefäß A abschalten
- /Verteiler an Gefäß B aktivieren
- //Ende der Unterroutine
- //Oder
- //Verteiler an Gefäß B abschalten
- //Verteiler an Gefäß aktivieren
- //Ende der Subroutine
Claims (15)
1. Speicherprogrammierbare Steuerung (20), die zur Kommunikation mit
externen Geräten (24) in einem von mehreren zuvor festgelegten
Kommunikationsprotokollen in der Lage ist, die von den in der speicherprogrammierbaren Steuerung
festabgelegten Kommunikationsprotokollen verschieden sind, welche Steuerung
(20) aufweist:
einen Speicher (52) zum festen Ablegen eines Programms, der mit einem der
mehreren Kommunikationsprotokolle konfiguriert werden kann,
Verarbeitungsmittel (22), die an den Speicher (52) und an einen
Kommunikationsanschluß (42) angeschlossen sind,
Eingabemittel (44) zum Empfang von Eingabedatenwerten aus mehreren
Datenwerten von den externen Geräten (24), welche Eingabemittel mit den
Verarbeitungsmitteln (22) verbunden sind, und
Ausgabemittel (46) zum Übertragen von Ausgabedatenwerten aus mehreren
Datenwerten von den externen Geräten (24), welche Ausgabemittel mit den
Verarbeitungsmitteln (22) verbunden sind,
dadurch gekennzeichnet, daß der Kommunikationsanschluß (42) eine erste
Kommunikationsart zur Kommunikation zwischen der speicherprogrammierbaren
Steuerung (20) und den externen Geräten (24) mittels einem von mehreren
Kommunikationsprotokollen und eine zweite Kommunikationsart zur Kommunikation
zwischen der speicherprogrammierbaren Steuerung (20) und einer
Programmiervorrichtung (60) mittels eines der festabgelegten Kommunikationsprotokolle
aufweist, und
daß die Verarbeitungsmittel (22) einen vorbestimmten Zustandes detektieren,
wodurch eine Umschaltung des Kommunikationsanschlusses (42) von der ersten
Kommunikationsart in die zweite Kommunikationsart bewirkt wird, und
daß die Verarbeitungsmittel (22) weiter die Ausführung des festabgelegten
Programms bewirken, um mehrere Datenwerte zwischen der
speicherprogrammierbaren Steuerung (20) und den externen Geräten (24) übertragen.
2. Speicherprogrammierbare Steuerung (20) nach Anspruch 1, dadurch
gekennzeichnet, daß der mit einem der zuvor festgelegten
Kommunikationsprotokolle konfigurierbare Speicher (52) ein elektrisch löschbarer, programmierbarer
Lesespeicher ist.
3. Speicherprogrammierbare Steuerung (20) nach Anspruch 1, dadurch
gekennzeichnet, daß der vorbestimmte Zustand von dem festabgelegten Programm
durch ein vorbestimmtes Eingabeereignis durch die Eingabemittel (44) und durch
ein vorbestimmtes Ausgabeereignis durch die Ausgabemittel (46) eingeleitet wird.
4. Speicherprogrammierbare Steuerung (20) nach Anspruch 1, dadurch
gekennzeichnet, daß der vorbestimmte Zustand durch eine Interruptroutine bewirkt
wird, um eines der mehreren zuvor festgelegten Kommunikationsprotokolle in dem
Speicher abzulegen.
5. Speicherprogrammierbare Steuerung (20) nach Anspruch 4, dadurch
gekennzeichnet, daß die Interruptroutine von einem speziellen Anzeigebit ausgelöst
wird, das an die speicherprogrammierbare Steuerung übertragen wird.
6. Speicherprogrammierbare Steuerung (20) nach Anspruch 1, dadurch
gekennzeichnet, daß eines der mehreren der zuvor festgelegten
Kommunikationsprotokolle entweder eine Einzelzeichenmeldung oder eine Mehrzeichenmeldung
umfaßt.
7. Speicherprogrammierbare Steuerung (20) nach Anspruch 1, dadurch
gekennzeichnet, daß der Kommunikationsanschluß (42) normalerweise die
Verbindung mehrerer speicherprogrammierbarer Steuerungen (20a, 20b, 20c) zur
Kommunikation mittels der festabgelegten Kommunikationsprotokolle verbindet.
8. Verfahren zum Betrieb einer speicherprogrammierbaren Steuerung
(20), die zur Kommunikation mit externen Geräten (24) unter einem von mehreren
zuvor festgelegten Kommunikationsprotokollen betreibbar ist, die von der in der
speicherprogrammierbaren Steuerung (20) festabgelegten
Kommunikationsprotokollen verschieden sind, welches Verfahren die Schritte aufweist:
Ablegen eines festabgelegten Programms in einem Speicher (24), der mit
einem der mehreren Kommunikationsprotokolle konfigurierbar ist,
Verbinden von Prozessormitteln (22) mit dem Speicher (44) und einem
Kommunikationsanschluß (42),
Verbinden von Eingabemitteln (44) und Ausgabemitteln (46) mit den
Prozessormitteln (22),
Ermöglichen, daß die Eingabemittel (44) Eingabedatenwerte aus mehreren
Datenwerten von den externen Geräten (24) empfangen, und
Ermöglichen, daß die Ausgabemittel (46) Ausgabedatenwerte aus mehreren
Datenwerten der externen Geräte (24) übertragen,
gekennzeichnet durch
Veranlassen, daß die speicherprogrammierbare Steuerung (20) den
Kommunikationsanschluß (42) zwischen einer ersten Kommunikationsart zur
Kommunikation zwischen der speicherprogrammierbaren Steuerung (20) und den externen
Geräten (24) mittels eines der mehreren zuvor festgelegten
Kommunikationsprotokolle und einer zweiten Kommunikationsart zur Kommunikation zwischen der
speicherprogrammierbaren Steuerung und einer Programmiervorrichtung (60) mittels
des zuvor festgelegten Kommunikationsprotokolls umschaltet,
Einrichten eines in der speicherprogrammierbaren Steuerung (20) zuvor
festgelegten Programmes, so daß eines der mehreren zuvor festgelegten
Kommunikationsprotokolle und das festabgelegte Kommunikationsprotokoll verwendet werden,
und
Durchführen der Kommunikation mittels des zuvor festgelegten Programmes
mit den externen Geräten (24) unter einem der mehreren zuvor festgelegten
Kommunikationsprotokolle, wobei die speicherprogrammierbare Steuerung (20) immer
noch den Wechsel des Kommunikationsprotokolls veranlaßt.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß der Schritt
des Veranlassens bewirkt wird, indem ein spezielles Anzeigebit in einen
vorbe
stimmten Zustand geschaltet wird, um einen vorbestimmten Anschluß der
speicherprogrammierbaren Steuerung (20) zu aktivieren, damit die Angabe des zuvor
festgelegten Kommunikationsprotokolls ermöglicht wird.
10. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß das
Schalten des speziellen Anzeigebits in einen vorbestimmten Zustand im festabgelegten
Programm einen Interrupt auslöst, damit die Angabe des
Kommunikationsprotokolls ermöglicht wird.
11. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß der
vorbestimmte Anschluß ein Kommunikationsanschluß (42) ist.
12. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß eines der
mehreren der zuvor festgelegten Kommunikationsprotokolle entweder eine
Einzelzeichenmeldung oder eine Mehrbuchzeichenmeldung umfaßt.
13. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß die Angabe
das Kopieren eines der mehreren zuvor festgelegten Kommunikationsprotokolle in
den Speicher auf Anforderung des festabgelegten Programmes umfaßt.
14. Verfahren nach Anspruch 13, dadurch gekennzeichnet, daß eines der
mehreren zuvor festgelegten Kommunikationsprotokolle in einen elektrisch
löschbaren, programmierbaren Lesespeicher kopiert wird.
15. Speicherprogrammierbare Steuerung nach Anspruch 1,
gekennzeichnet durch eine entnehmbare Speicherkassette (52) zum Einlesen und Ausgeben des
zuvor festabgelegten Programmes aus dem Speicher, wobei das Programm mit
einem der mehreren Kommunikationsprotokolle einstellbar ist.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/365,646 US5727170A (en) | 1994-12-29 | 1994-12-29 | User defined port and protocol scheme for a programmable logic controller |
PCT/US1995/008697 WO1996021179A1 (en) | 1994-12-29 | 1995-07-12 | User defined port and protocol scheme for a programmable logic controller |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69508964D1 DE69508964D1 (de) | 1999-05-12 |
DE69508964T2 true DE69508964T2 (de) | 1999-09-16 |
Family
ID=23439736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69508964T Expired - Lifetime DE69508964T2 (de) | 1994-12-29 | 1995-07-12 | Benutzerdefinierte schnittstelle und protokollschema für eine speicherprogrammierbare steuerung |
Country Status (6)
Country | Link |
---|---|
US (1) | US5727170A (de) |
EP (1) | EP0800669B1 (de) |
CN (1) | CN1150433C (de) |
DE (1) | DE69508964T2 (de) |
ES (1) | ES2132694T3 (de) |
WO (1) | WO1996021179A1 (de) |
Families Citing this family (87)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5719920A (en) * | 1995-03-31 | 1998-02-17 | The Messenger Group Llc | Method and apparatus for processing and downloading sound messages onto a permanent memory of a communication package |
US5964852A (en) * | 1996-11-08 | 1999-10-12 | Rockwell International Corporation | Programmable data port interface adapter |
US6014704A (en) * | 1997-06-04 | 2000-01-11 | Nortel Networks Corporation | Method and apparatus for communicating data and management information |
US6484061B2 (en) * | 1997-09-10 | 2002-11-19 | Schneider Automation Inc. | Web interface to a programmable controller |
US6151625A (en) * | 1997-09-10 | 2000-11-21 | Schneider Automation Inc. | Internet web interface including programmable logic controller for controlling output devices based on status of input devices |
US6940868B1 (en) | 1999-04-20 | 2005-09-06 | Abb Inc. | Digital serial communications hub |
US6500070B1 (en) | 1999-05-28 | 2002-12-31 | Nintendo Co., Ltd. | Combined game system of portable and video game machines |
US6371854B1 (en) | 1999-08-20 | 2002-04-16 | Ninetendo Co., Ltd. | Combined game system |
US6594723B1 (en) * | 1999-09-07 | 2003-07-15 | Microsoft Corporation | Method and apparatus for updating data in nonvolatile memory |
US6477624B1 (en) | 1999-11-08 | 2002-11-05 | Ondotek, Inc. | Data image management via emulation of non-volatile storage device |
US7028105B2 (en) * | 2000-07-25 | 2006-04-11 | Electronic Solutions, Inc. | Apparatus, method and signal set for monoline serial interface |
US8176296B2 (en) | 2000-10-26 | 2012-05-08 | Cypress Semiconductor Corporation | Programmable microcontroller architecture |
US8103496B1 (en) | 2000-10-26 | 2012-01-24 | Cypress Semicondutor Corporation | Breakpoint control in an in-circuit emulation system |
US8160864B1 (en) | 2000-10-26 | 2012-04-17 | Cypress Semiconductor Corporation | In-circuit emulator and pod synchronized boot |
US7765095B1 (en) | 2000-10-26 | 2010-07-27 | Cypress Semiconductor Corporation | Conditional branching in an in-circuit emulation system |
US8149048B1 (en) | 2000-10-26 | 2012-04-03 | Cypress Semiconductor Corporation | Apparatus and method for programmable power management in a programmable analog circuit block |
US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
US6981090B1 (en) * | 2000-10-26 | 2005-12-27 | Cypress Semiconductor Corporation | Multiple use of microcontroller pad |
US6892310B1 (en) * | 2000-10-26 | 2005-05-10 | Cypress Semiconductor Corporation | Method for efficient supply of power to a microcontroller |
US6781782B2 (en) | 2000-12-21 | 2004-08-24 | Iomega Corporation | Method and apparatus for saving calibration parameters for a removable cartridge |
JP4691268B2 (ja) | 2001-05-02 | 2011-06-01 | 任天堂株式会社 | ゲームシステムおよびゲームプログラム |
US6779067B2 (en) | 2001-05-14 | 2004-08-17 | Iomega Corporation | Method and apparatus for providing extended functionality for a bus |
US6901525B2 (en) * | 2001-05-25 | 2005-05-31 | Iomega Corporation | Method and apparatus for managing power consumption on a bus |
US7406674B1 (en) | 2001-10-24 | 2008-07-29 | Cypress Semiconductor Corporation | Method and apparatus for generating microcontroller configuration information |
US8078970B1 (en) | 2001-11-09 | 2011-12-13 | Cypress Semiconductor Corporation | Graphical user interface with user-selectable list-box |
US8042093B1 (en) | 2001-11-15 | 2011-10-18 | Cypress Semiconductor Corporation | System providing automatic source code generation for personalization and parameterization of user modules |
US7770113B1 (en) | 2001-11-19 | 2010-08-03 | Cypress Semiconductor Corporation | System and method for dynamically generating a configuration datasheet |
US8069405B1 (en) | 2001-11-19 | 2011-11-29 | Cypress Semiconductor Corporation | User interface for efficiently browsing an electronic document using data-driven tabs |
US7844437B1 (en) | 2001-11-19 | 2010-11-30 | Cypress Semiconductor Corporation | System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit |
US7774190B1 (en) | 2001-11-19 | 2010-08-10 | Cypress Semiconductor Corporation | Sleep and stall in an in-circuit emulation system |
US6971004B1 (en) | 2001-11-19 | 2005-11-29 | Cypress Semiconductor Corp. | System and method of dynamically reconfiguring a programmable integrated circuit |
WO2003053036A1 (en) * | 2001-12-18 | 2003-06-26 | Siemens Energy & Automation, Inc. | Numeric and text paging with an integral plc modem |
US7343004B2 (en) * | 2001-12-18 | 2008-03-11 | Siemens Energy & Automation, Inc. | Numeric and text paging with an integral PLC modem |
US8103497B1 (en) | 2002-03-28 | 2012-01-24 | Cypress Semiconductor Corporation | External interface for event architecture |
US7308608B1 (en) | 2002-05-01 | 2007-12-11 | Cypress Semiconductor Corporation | Reconfigurable testing system and method |
US7761845B1 (en) | 2002-09-09 | 2010-07-20 | Cypress Semiconductor Corporation | Method for parameterizing a user module |
US7930490B2 (en) * | 2002-12-23 | 2011-04-19 | Siemens Industry, Inc. | Method for utilizing a memory device for a programmable logic controller (PLC) |
US7203553B2 (en) * | 2002-12-23 | 2007-04-10 | Siemens Energy & Automation, Inc. | Methods and structures for utilizing a memory device for a PLC |
TWI266218B (en) * | 2003-10-08 | 2006-11-11 | Realtek Semiconductor Corp | Interface control circuit and related method thereof |
DE10355790B4 (de) * | 2003-11-26 | 2006-07-13 | Senstronic Deutschland Gmbh | Verteiler für die Automatisierung mit einem Speichermodul hierfür |
US7295049B1 (en) | 2004-03-25 | 2007-11-13 | Cypress Semiconductor Corporation | Method and circuit for rapid alignment of signals |
US8069436B2 (en) | 2004-08-13 | 2011-11-29 | Cypress Semiconductor Corporation | Providing hardware independence to automate code generation of processing device firmware |
US8286125B2 (en) | 2004-08-13 | 2012-10-09 | Cypress Semiconductor Corporation | Model for a hardware device-independent method of defining embedded firmware for programmable systems |
US7130196B2 (en) * | 2005-01-19 | 2006-10-31 | General Electric Company | Apparatus and method for transferring heat from control devices |
US7332976B1 (en) | 2005-02-04 | 2008-02-19 | Cypress Semiconductor Corporation | Poly-phase frequency synthesis oscillator |
US7400183B1 (en) | 2005-05-05 | 2008-07-15 | Cypress Semiconductor Corporation | Voltage controlled oscillator delay cell and method |
US8089461B2 (en) | 2005-06-23 | 2012-01-03 | Cypress Semiconductor Corporation | Touch wake for electronic devices |
US8085067B1 (en) | 2005-12-21 | 2011-12-27 | Cypress Semiconductor Corporation | Differential-to-single ended signal converter circuit and method |
US8067948B2 (en) | 2006-03-27 | 2011-11-29 | Cypress Semiconductor Corporation | Input/output multiplexer bus |
US7737724B2 (en) | 2007-04-17 | 2010-06-15 | Cypress Semiconductor Corporation | Universal digital block interconnection and channel routing |
US8516025B2 (en) | 2007-04-17 | 2013-08-20 | Cypress Semiconductor Corporation | Clock driven dynamic datapath chaining |
US8026739B2 (en) | 2007-04-17 | 2011-09-27 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
US9564902B2 (en) | 2007-04-17 | 2017-02-07 | Cypress Semiconductor Corporation | Dynamically configurable and re-configurable data path |
US8040266B2 (en) | 2007-04-17 | 2011-10-18 | Cypress Semiconductor Corporation | Programmable sigma-delta analog-to-digital converter |
US8092083B2 (en) | 2007-04-17 | 2012-01-10 | Cypress Semiconductor Corporation | Temperature sensor with digital bandgap |
US8130025B2 (en) | 2007-04-17 | 2012-03-06 | Cypress Semiconductor Corporation | Numerical band gap |
US9720805B1 (en) | 2007-04-25 | 2017-08-01 | Cypress Semiconductor Corporation | System and method for controlling a target device |
US8266575B1 (en) | 2007-04-25 | 2012-09-11 | Cypress Semiconductor Corporation | Systems and methods for dynamically reconfiguring a programmable system on a chip |
US8065653B1 (en) | 2007-04-25 | 2011-11-22 | Cypress Semiconductor Corporation | Configuration of programmable IC design elements |
US8352651B2 (en) * | 2007-06-12 | 2013-01-08 | Siemens Aktiengesellschaft | Devices, systems, and methods regarding programmable logic controller communications |
US8049569B1 (en) | 2007-09-05 | 2011-11-01 | Cypress Semiconductor Corporation | Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes |
US8195844B2 (en) | 2007-09-20 | 2012-06-05 | Siemens Aktiengesellschaft | Systems, devices, and/or methods for managing communications |
US7646230B2 (en) * | 2007-09-21 | 2010-01-12 | Siemens Industry, Inc. | Devices, systems, and methods for reducing signals |
US7844764B2 (en) * | 2007-10-01 | 2010-11-30 | Honeywell International Inc. | Unitary control module with adjustable input/output mapping |
US20090312886A1 (en) * | 2008-06-17 | 2009-12-17 | Yokogawa Electric Corporation | Temperature controller system |
US8688258B2 (en) | 2008-09-11 | 2014-04-01 | Rockwell Automation Technologies, Inc. | Method of controlling a machine tool |
US8117434B2 (en) * | 2008-12-31 | 2012-02-14 | Schneider Electric USA, Inc. | Component configuration mechanism for rebooting |
US9448964B2 (en) | 2009-05-04 | 2016-09-20 | Cypress Semiconductor Corporation | Autonomous control in a programmable system |
KR101468255B1 (ko) | 2010-11-22 | 2014-12-04 | 엘에스산전 주식회사 | Plc 시스템 |
US20130275605A1 (en) * | 2011-02-04 | 2013-10-17 | Mitsubishi Electric Corporation | Engineering tool and programmable controller |
CN102651695A (zh) * | 2011-02-23 | 2012-08-29 | 上海远动科技有限公司 | 提高无线扩频网桥通信可靠性的方法 |
US8621377B2 (en) | 2011-03-24 | 2013-12-31 | Honeywell International Inc. | Configurable HVAC controller terminal labeling |
CN102520660A (zh) * | 2011-12-13 | 2012-06-27 | 深圳市合信自动化技术有限公司 | 可编程逻辑控制器及其系统、传输工程的方法 |
CN102692891A (zh) * | 2012-05-31 | 2012-09-26 | 山西联华伟业科技有限公司 | 一种基于多种通信总线的可编程控制器 |
US8649909B1 (en) | 2012-12-07 | 2014-02-11 | Amplisine Labs, LLC | Remote control of fluid-handling devices |
US9313102B2 (en) | 2013-05-20 | 2016-04-12 | Brocade Communications Systems, Inc. | Configuration validation in a mixed node topology |
US9853889B2 (en) | 2013-05-20 | 2017-12-26 | Brocade Communications Systems, Inc. | Broadcast and multicast traffic reduction in stacking systems |
US10284499B2 (en) | 2013-08-22 | 2019-05-07 | Arris Enterprises Llc | Dedicated control path architecture for systems of devices |
US9520180B1 (en) | 2014-03-11 | 2016-12-13 | Hypres, Inc. | System and method for cryogenic hybrid technology computing and memory |
US10091059B2 (en) * | 2014-12-16 | 2018-10-02 | Arris Enterprises Llc | Handling connections between network devices that support multiple port communication modes |
US9626729B2 (en) | 2014-12-22 | 2017-04-18 | Amplisine Labs, LLC | Oil-field trucking dispatch |
CN104678842B (zh) * | 2015-01-22 | 2017-09-22 | 深圳市新格林耐特通信技术有限公司 | 扩展broadcom交换芯片用途的系统及方法 |
JP6386513B2 (ja) * | 2016-10-31 | 2018-09-05 | ファナック株式会社 | 測定システム |
CN109287123B (zh) * | 2017-05-22 | 2020-08-07 | 三菱电机株式会社 | 控制装置及编辑装置 |
CN107179740B (zh) * | 2017-06-23 | 2019-04-30 | 杭州电子科技大学 | 嵌入式plc的编译方法与嵌入式系统 |
CN110456725A (zh) * | 2019-07-04 | 2019-11-15 | 烽台科技(北京)有限公司 | 一种plc设备的监控方法、装置及智能终端 |
EP4111267A4 (de) | 2020-02-24 | 2024-04-10 | Selec Controls Private Limited | Modulare und konfigurierbare elektrische gerätegruppe |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4270184A (en) * | 1978-03-16 | 1981-05-26 | Tokyo Shibaura Denki Kabushiki Kaisha | Microprocessor-based programmable logic controller |
US4307447A (en) * | 1979-06-19 | 1981-12-22 | Gould Inc. | Programmable controller |
SE8007020L (sv) * | 1980-10-07 | 1982-04-08 | Byggutveckling Ab | Isolerfonster |
JPS6139105A (ja) * | 1984-07-31 | 1986-02-25 | Mitsubishi Electric Corp | 数値制御装置 |
US5251302A (en) * | 1988-04-11 | 1993-10-05 | Square D Company | Network interface board having memory mapped mailbox registers including alarm registers for storing prioritized alarm messages from programmable logic controllers |
US4937419A (en) * | 1988-06-20 | 1990-06-26 | Robotron Corporation | Programmable weld and machine controller |
JPH02104155A (ja) * | 1988-10-13 | 1990-04-17 | Canon Inc | データ通信装置 |
US5056001A (en) * | 1989-12-20 | 1991-10-08 | Ge Fanuc Automation North America, Inc. | Method for configuring an input/output module coupled to a programmable logic controller |
US5485590A (en) * | 1990-01-08 | 1996-01-16 | Allen-Bradley Company, Inc. | Programmable controller communication interface module which is configurable by a removable memory cartridge |
CA2034878C (en) * | 1990-03-08 | 2002-04-02 | Craig S. Hyatt | Programmable controller communication module |
GB9012371D0 (en) * | 1990-06-02 | 1990-07-25 | Live Wire Contractors Ltd | Special effects controller |
US5430859A (en) * | 1991-07-26 | 1995-07-04 | Sundisk Corporation | Solid state memory system including plural memory chips and a serialized bus |
US5270943A (en) * | 1992-01-03 | 1993-12-14 | Progressive International Electronics | Fuel pump control card |
US5357625A (en) * | 1992-10-26 | 1994-10-18 | International Business Machines Corporation | System for identifying common formats and protocols and allocating respective buffers spaces for simultaneous communication |
US5371736A (en) * | 1992-12-21 | 1994-12-06 | Abb Power T&D Company, Inc. | Universal protocol programmable communications interface |
US5455911A (en) * | 1993-04-05 | 1995-10-03 | Allen-Bradley Company, Inc. | Communications protocol for use in transferring data over a serial bus |
-
1994
- 1994-12-29 US US08/365,646 patent/US5727170A/en not_active Expired - Lifetime
-
1995
- 1995-07-12 CN CNB951971727A patent/CN1150433C/zh not_active Ceased
- 1995-07-12 WO PCT/US1995/008697 patent/WO1996021179A1/en active IP Right Grant
- 1995-07-12 EP EP95926248A patent/EP0800669B1/de not_active Expired - Lifetime
- 1995-07-12 DE DE69508964T patent/DE69508964T2/de not_active Expired - Lifetime
- 1995-07-12 ES ES95926248T patent/ES2132694T3/es not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0800669B1 (de) | 1999-04-07 |
ES2132694T3 (es) | 1999-08-16 |
WO1996021179A1 (en) | 1996-07-11 |
US5727170A (en) | 1998-03-10 |
DE69508964D1 (de) | 1999-05-12 |
CN1171851A (zh) | 1998-01-28 |
EP0800669A1 (de) | 1997-10-15 |
CN1150433C (zh) | 2004-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69508964T2 (de) | Benutzerdefinierte schnittstelle und protokollschema für eine speicherprogrammierbare steuerung | |
DE69510230T2 (de) | Speicherkassette mit seriellem zugriff für eine speicherprogrammierbare steuerung | |
DE69509126T2 (de) | Adressierungsmethode für erweiterungsmodule und vorrichtung für eine speicherprogrammierbare steuerung | |
DE69509262T2 (de) | Dynamisches benutzerunterbrechungsschema in einer speicherprogrammierbaren steuerung | |
DE4222043C1 (de) | ||
DE4100198B4 (de) | Kommunikationsmodul zum schnittstellenmäßigen Verbinden einer Vielzahl serieller Kommunikationsverbindungen zum Austausch von Daten zwischen den Verbindungen und einer programmierbaren Steuerung | |
DE3854594T2 (de) | Programmierbare Steuerung mit parallelen Prozessoren. | |
DE3889246T4 (de) | Übertragungssystem für einen Kochrechner. | |
DE3610433C2 (de) | Verfahren zum Steuern einer Maschine mit einer speicherprogrammierbaren Steuerung mit Funktionsplaninterpreter | |
DE4135749B4 (de) | Prozessormodul für eine programmierbare Steuerung mit einer intelligenten Funktionsmodulschnittstelle | |
EP0107026B1 (de) | Speicherprogrammierbare Steuerung | |
EP0434986A2 (de) | Verfahren zur Inbetriebnahme einer an ein elektronisches Steuerungssystem angeschlossenen Baugruppe | |
DE2719253A1 (de) | Schnittstellenschaltung fuer datenverarbeitungsanlagen | |
EP0450116B1 (de) | Automatisierungsgerät mit Test in einzelnen Schritten | |
DE10208530A1 (de) | Betriebseinheit, Peripheriegerät und Verfahren zum Betrieb eines Peripheriegeräts | |
DE102006052757A1 (de) | Automatisierungsgerät mit einer Verarbeitungseinheit und Verwendung einer Verarbeitungseinheit in einem Automatisierungsgerät | |
EP0130269A2 (de) | Speicherprogrammierbare Steuerung | |
EP0120194A2 (de) | Speicherprogrammierbare Steuerung mit Wort- und Bitprozessor | |
DE2817536C2 (de) | ||
DE69418376T2 (de) | System und Verfahren zur zweistufigen Echtzeitsteuerung für eine Einschubmaschine | |
DE60122655T2 (de) | Auf externe Signale reagierender Pulsbreitenmodulator | |
DE2642251A1 (de) | Steuerungseinrichtung und betriebsverfahren fuer eine rechnergefuehrte steuerung bei einer numerisch gesteuerten maschine, beispielsweise einer werkzeugmaschine | |
EP0503256A1 (de) | Programmierbare Steuer- und Regeleinrichtung | |
EP0121039B1 (de) | Speicherprogrammierbare Steuerung | |
DE69511142T2 (de) | Empfangsstation in Feueralarmsystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: SIEMENS INDUSTRY, INC. (N.D.GES.D. STAATES DEL, US |