HPR4738: Programmierbare Logiksteuerung - Episode 4

Von Whiskeyjack30/09/2026 às 00:0059 Aufrufe
Foto: CC BY-SA / Hacker Public Radio
🎙 Whiskeyjack · Hacker Public Radio

Diese Show wurde vom Host als "sauber" markiert.

--------------------

01 Einleitung

Dies ist die vierte Folge einer 8-teiligen Serie.

02

In der vorherigen Folge haben wir den Allen Bradley PLC2, einen der sehr frühen erfolgreichen Programmierbaren Logikcontroller, untersucht.

In dieser Folge werden wir einen weiteren frühen PLC, die Siemens S5-Serie, betrachten und diese als Beispiel dafür verwenden, wie sich PLCs weiterentwickelt haben, sowie als Beispiel für einen anderen Ansatz in Bezug auf die Gesamtsoftwarearchitektur.

Auch hier werde ich nur kurz auf dieses Thema eingehen, dies ist kein Kurs über die Programmierung von PLCs.

Ich werde Ihnen jedoch genügend technische Details geben, um Ihnen einen groben Eindruck davon zu vermitteln, wie sie waren.

--------------------

03 Historischer Hintergrund der S5

Siemens sind der größte Anbieter von Steuerungssystemen (PLC) weltweit und sind es seit den frühen Tagen.

Ihr erster PLC war die S3, die 1975 veröffentlicht wurde, zwei Jahre vor Allen Bradley den PLC2 vorstellte.

Es scheint fast keine Informationen über die S3 zu geben, daher kann ich nicht viel darüber sagen.

Entweder 1978 oder 1979, die genauen Daten sind unklar, veröffentlichte Siemens die S5-Serie.

Dies war ein riesiger Schritt nach vorne in Bezug auf Fähigkeiten und bildete die Grundlage ihrer PLC-Produktlinie bis zur Einführung der S7-Serie in den mittleren 1990er Jahren.

In dieser Episode werde ich mich auf die U-Serie konzentrieren, die ein Upgrade der ursprünglichen S5 darstellte.

--------------------

04 Eine vollständige Familie von PLCs

Vollständig entwickelt, war die Siemens S5-Serie eine vollständige Produktfamilie, die das gesamte Größenspektrum von klein bis groß abdeckte.

Siemens deckte den gesamten Markt für industrielle Steuerung ab, und es gab fast nichts, das sie nicht irgendwo in ihrem Katalog hatten.

Man könnte eine gesamte Karriere damit verbringen, nur Siemens-Produkte für alles zu verwenden.

05

Am unteren Ende befanden sich die S5-100-Serie, bestehend aus S5-100, 102, 103, 90 und 95.

Diese deckten alles vom kleinen "Shoebox"-All-in-One-Faktor bis hin zu solchen ab, die die Mittelklasse in Bezug auf Leistungsfähigkeit überlappen, abgesehen von ihren kompakten I/O-Karten, die kleiner und langsamer als die Vollmodelle waren.

Die S5-115 bildete die Mittelklasse, kam in einem "Vollformat" in Bezug auf Verpackung und Rack-Größe.

Die S5-135 und S5-155 erweiterten die S5-115 in Bezug auf Geschwindigkeit und Speicher.

06

In dieser Episode werde ich mich aus Gründen der Einfachheit auf die untere S5-100-Serie konzentrieren und werde keine Bezugnahme auf die zusätzlichen Fähigkeiten der größeren Modelle vornehmen.

Es wäre viel zu zeitaufwendig und verwirrend, versuchen zu wollen, alles abzudecken, und es wäre ohnehin kein großer Sinn darin.

--------------------

07 Datentypen der Speicher

Wenn man sich an die vorherige Episode erinnert, hatte der Allen Bradley PLC2 eine Datentabelle oder ein Speichersystem, das ein einziger linearer Speicherbereich mit allen E/A- und internen Fähigkeiten in festen numerischen Adressen war.

Allen Bradley sollten diesen Ansatz in ihrer späteren PLC5-Serie, die in den Mitte bis späten 1980er Jahren eingeführt wurde, aufgeben, aber wir werden uns hier nicht darauf konzentrieren.

Die Siemens S5-Serie hingegen verfolgte den Ansatz, verschiedene Arten von Speicheradressen für unterschiedliche Zwecke zu haben.

Ich werde diese für die S5-100-Serie jetzt beschreiben.

08 Eingangs- und Ausgangsadressen

Die Standard-E/A-Module für diese kompakten PLCs hatten 8 Eingänge oder 8 Ausgänge pro E/A-Modul.

Diese Module steckten in einem flachen Bus (im Gegensatz zu einem geschlossenen Schrank) mit Nummern von 0 bis 31 in Dezimalschreibweise.

Jeder dieser Slots war mit einer Byte-Anzahl verbunden, und jeder Eingabe-/Ausgabepunkt in den einzelnen Modulen hatte eine Bit-Anzahl.

09

Die Eingabe- und Ausgabeadressen hatten das folgende Format: Buchstabe, Zahl, Dezimalpunkt, Zahl.

Der Buchstabe war entweder I oder Q.

Ich zeigte Eingaben an.

Q zeigte Ausgänge an.

Die erste Zahl war die Byte-Anzahl, die dem physischen Eingabe-/Ausgabemodul-Slot entsprach.

Die zweite Zahl war die Bit-Anzahl innerhalb des Bytes, beginnend bei Null.

Die zweite Zahl war die Bit-Position innerhalb des Bytes, beginnend bei 0.

10

Nur "I2.3" deutete auf ein Eingabemodul, das im dritten Slot (ab Null gezählt) gelegen war und die vierte Eingabe (ab Null gezählt) auf diesem Modul ansprach.

Ausgänge funktionierten auf die gleiche Weise.

Zum Beispiel "Q 5.1"

11

Analogmodul konnten in den Slots 0 bis 7 platziert werden.

Analog, wenn man sich erinnert, bezieht sich auf Spannungen mit variierenden Ebenen anstatt nur ein- oder ausgeschaltet zu sein, und kann Dinge wie Temperatur darstellen.

Jedes Analogmodul wurde mit 8 Bytes pro Slot zugewiesen, beginnend bei der Adresse 64 und bis zu 127.

In der Praxis hatten viele dieser sogenannten "Analog"-Module nichts mit tatsächlichen analogen Spannungen zu tun, sondern vielmehr wurden hier jedes fortgeschrittene Modul, das mehr Adressraum benötigte, verwendet.

Selbst später verwendete hohe Dichte digitaler Eingabe/Ausgabe diese Adressen.

12

Jede dieser Adressen könnte als Bytes oder Wörter bezeichnet werden.

In diesem Fall wurden Bytes durch ein "IB"-Präfix gekennzeichnet, und Wörter durch ein "IW"-Präfix.

Ausgabebyte verwendeten ein "QB"-Präfix und Ausgabewörter ein "QW"-Präfix.

13 Flags

Flags sind einzelne Bits des internen Speichers, die zur Speicherung von Zwischenergebnissen der Logik verwendet werden.

Diese begannen mit einem "F"-Präfix.

Ein S5-103 hatte insgesamt 2048, nummeriert von F0.0 bis F255.7.

14 Zähler

Zähler begannen mit einem Präfix "C".

Eine S5-103 hatte 128 dieser Zähler, nummeriert von C0 bis C127.

15 Timer

Timer begannen mit einem Präfix "T".

Eine S5-103 hatte 128 dieser Timer, nummeriert von T0 bis T127.

16 Datenblöcke

Programme, die mit Byte- und Wort-Speicher umgehen mussten, konnten sogenannte "Datenblöcke" erstellen.

Dies waren Blöcke des PLC-Speichers, die auf Wunsch des Programmierers erstellt werden konnten.

Ein S5-103 könnte maximal 254 Datenblöcke haben, die von DB2 bis DB255 nummeriert sind.

Zwei zusätzliche Datenblöcke wurden für die internen Operationen der PLC reserviert.

Datenblöcke könnten bis zu 255 16-Bit-Wörter enthalten.

17

Allerdings wäre die tatsächliche Anzahl und Größe der Datenblöcke in der Praxis durch den verfügbaren Speicher begrenzt.

Selbst 20 Kilobyte wurden als großer Speicher angesehen, und dieser musste mit dem Programm geteilt werden.

Ein Datenblock würde "aufgerufen" werden, um ihn zum aktuellen Datenblock zu machen.

Dann würden einzelne Wörter mit dem Präfix "DW" angesprochen.

Zum Beispiel "DW5".

--------------------

18 Programmblöcke

Wenn man sich an die PLC2 erinnert, gab es ein "Hauptprogramm" und eine Reihe optionaler nummerierter Unterroutinen.

Im S5 wurden Programme in "Blöcke" aufgeteilt.

Diese waren

Organisationsblöcke

Programmblöcke

Funktionsblöcke

Sequenzblöcke

Ein S5-103 könnte bis zu 256 Blöcke jeder Art haben.

19 Organisationsblöcke

Wenn die PLC gestartet wurde, suchte sie nach Organisationsblock 1 und begann dort mit der Ausführung.

Man könnte dies als Äquivalent der "main"-Funktion in einem C-Programm betrachten.

Organisationsblöcke hatten das Präfix OB.

Zum Beispiel OB1.

In einem sehr einfachen Programm in einer sehr kleinen S5-PLC könnte man die gesamte Programmlogik einfach in OB1 einfügen.

Bei größeren Programmen war es jedoch üblich, die Logik in Unterroutinen zu platzieren und OB1 sollte dann jede Unterroutine aufrufen.

20 Programmblöcke

Diese hatten ein PB-Präfix.

Zum Beispiel PB10.

Normale Schaltlogik-Programmierung würde in diese eingefügt.

Es war üblich, ein Programm in Teile aufzuteilen und jeden Teil in seinem eigenen Programmblock zu platzieren.

Übliche Praxis war es, einen Programmblock einer bestimmten Maschine teil zu entsprechen.

21 Funktionsblöcke

Diese hatten ein FB-Präfix.

Zum Beispiel FB64.

Funktionsblöcke unterschieden sich von Programmblöcken darin, dass sie Parameter annehmen konnten.

Dies ermöglichte es Ihnen, einen FB zu schreiben, der eine Art komplexe Datenumwandlung durchführte und ihn durch Aufrufen mit verschiedenen Parametern wiederverwendete.

Einige Anweisungen konnten nur in FBs und nicht in anderen Blocktypen verwendet werden.

Es gab auch eingebettete FBs in einigen CPU-Modellen, die bestimmte Operationen durchführten, wie die Umwandlung von BCD (oder binär codierten Dezimalzahlen) in einen normalen Integer.

22 Sequenzblöcke

Diese haben ein SB-Präfix.

Zum Beispiel, SB25.

Diese waren wie PBs, aber gedacht, um Sequenzen von Operationen zu steuern, wo jede SB als einzelner Schritt der Sequenz fungierte und mehrere Blöcke für eine Sequenz verwendet wurden.

--------------------

23 Programmiersprachen

Die S5-Serie bot vier verschiedene Programmiersprachen an.

Diese waren

Leiter (abgekürzt als LAD)

Aussage-Liste (abgekürzt als STL)

Steuerungssystem-Flussdiagramm (abgekürzt als SCF)

GRAPH 5

24

Du solltest mit der Leiter vertraut sein, wenn du die vorherigen Episoden gehört hast.

Kurz gesagt, es ist eine grafische Programmiersprache, die der Erscheinungsform von elektrischen Leiterplänen folgt, die Ingenieuren, Technikern und Elektrikern, die mit Fertigungsgeräten arbeiten, vertraut waren.

25

Die Aussage-Liste ist eine textbasierte Programmiersprache, die einer Assembler-Sprache für eine abstrakte Prozessorarchitektur ähnelt.

Die Boolean-Logik-Ergebnisse wurden berechnet und in einem Stapel gespeichert, während Ganzzahlen direkt aus dem Speicher oder in zwei Akkumulatoren, ACCU1 und ACCU 2, verarbeitet wurden.

26

Kontrollsystem-Flussdiagramm ist eine grafische Sprache, die in Form rechteckiger Blöcke mit einem oder mehreren Eingaben und einem Ausgang auftritt.

Diese Blöcke werden auf einem Bildschirm angeordnet und dann miteinander verkabelt, ähnlich wie Logikgatter in einem elektronischen Schaltplan.

27

GRAPH 5 ist die Implementierung von Siemens vom GRAFCET (Graphe Fonctionnel de Commande Étapes Transitions) IEC 60848-Flussdiagramm-Standard.

Die IEC sind die Internationale Elektrotechnische Kommission, eine internationale Normenorganisation.

28

Ich werde mich auf die Leiter und die Aussage-Liste konzentrieren, da diese mit Abstand am häufigsten verwendet wurden und wir nur begrenzte Zeit haben, um über die S5 zu diskutieren.

--------------------

Aussage-Liste 29

Wie bereits erwähnt, kann die Aussage-Liste als Assembliesprache für eine abstrakte CPU-Architektur betrachtet werden.

Die Firmware im S5-PLC führt die Anweisungen in einem Interpreter aus.

30 Die RLO

Boolesche oder bitbasierte Anweisungen arbeiten mit einem Logikstapel, der als RLO (Ergebnis der Logikoperation) bekannt ist.

Boolesche Operationen nehmen typischerweise ein Operanden.

Wenn eine boolesche Operation ausgeführt wird und das RLO leer ist, lädt es einfach den Operanden auf das RLO.

Wenn der RLO nicht leer ist, wird die Anweisung mit dem Operanden und dem RLO ausgeführt, und das Ergebnis ersetzt den Wert an der Spitze des RLO-Stacks.

Einige boolesche Anweisungen nehmen keinen Operanden, sondern arbeiten mit den beiden obersten Werten im RLO.

Wenn Sie mit Sprachen wie FORTH vertraut sind, klingt das sehr vertraut.

31 Akkumulatoren

Wortorientierte Anweisungen arbeiten mit zwei Akkumulatoren, ACCU 1 und ACCU 2.

Eine Load-Anweisung lädt einen Wort- oder Byte-Wert aus einem Speicherort oder einer Konstante in ACCU 1.

Der Wert, der zuvor in ACCU 1 war, wird dann in ACCU 2 verschoben.

Eine Transfer-Anweisung schreibt den Wert in ACCU 1 in den Speicher.

Die verbleibenden wortbasierten Anweisungen werden auf die Werte in ACCU 1 und ACCU 2 wirken und das Ergebnis in ACCU 1 platzieren, wodurch der bestehende Inhalt überschrieben wird.

So zum Beispiel wird eine Add-Anweisung den Wert in ACCU 2 zum Wert in ACCU 1 hinzufügen und das Ergebnis in ACCU 1 lassen.

32 Treppe

Wie bereits erwähnt, ist Treppe eine grafische Programmiersprache, die dem Erscheinungsbild eines elektrischen Steuerungs-Treppendiagramms ähnelt, wie es mit tatsächlichen Relais verwendet wird.

Dies ist mit Abstand die häufigste Programmiersprache, die mit PLCs verwendet wird.

Ein Treppenprogramm ist jedoch nur eine andere Art, eine Anweisungsliste darzustellen.

33

Um es anders auszudrücken, kann ein Programm einer Anweisungsliste entweder als Textzeilen oder als grafische Symbole in einem sinnvollen Muster auf einem Computerscreen angezeigt werden.

Alle gültigen Treppenprogramme können als Anweisungsliste dargestellt werden.

Allerdings können nicht alle gültigen Sequenzen von Aussage-Listen als Leiter dargestellt werden.

Aussage-Listen sind inhärent flexibler als Leiter, was bedeutet, dass man nicht immer beide vollständig übersetzen kann.

34

Dennoch kann die meisten typischen Kontrolllogik als Leiter dargestellt werden, und Leiter ist die bevorzugte Darstellung, da sie beim Debuggen eines Software- oder Hardwareproblems schneller zu verstehen ist.

Auf der anderen Seite haben einige Anweisungen aus Aussage-Listen keine Leiter-Äquivalente, oder der Algorithmus eignet sich möglicherweise nicht für die Darstellung in Leiter.

In diesen Fällen ist es übliche Praxis, einfache Kontrolllogik in Leiter in Programmblöcken zu platzieren und nicht übersetzbare Aussage-Listen-Logik in Funktionsblöcken.

35 Kontrollsystem-Flussdiagramm und GRAPH 5

Wie Leiter, werden CSF und GRAPH 5 tatsächlich in Aussage-Listen implementiert, und viele der oben genannten Überlegungen gelten auch für diese.

Ich werde jedoch hier keine weiteren Details zu diesen Themen angeben.

--------------------

36 Programmier-Software und Hardware

Es gab zwei Möglichkeiten, ein Programm in einen S5 PLC einzugeben.

Eine Möglichkeit war der Handheld-Programmierterminal.

Die andere war über das STEP 5 Programmiersoftware.

37 Handheld-Terminal

Wie viele, wenn nicht die meisten PLC-Anbieter, verkaufte Siemens einen Handheld-Programmierterminal.

Es gab eine Reihe dieser, ein Beispiel ist der PG 605.

Dies war eine Kiste wie ein großes Taschenrechner, das Tasten und ein kleines Display hatte.

Die Knöpfe entsprachen verschiedenen Anweisungen und einer numerischen Tastatur, und das Display zeigte die aktuelle eingegebene Anweisung an.

Um es zu verwenden, steckte man ein mit dem Handgerät verbundenes Kabel in die Programmierbuchse an der Vorderseite des PLC-CPU-Moduls.

Man konnte dann die Programmierung Schritt für Schritt eingeben oder anzeigen.

38 STEP 5 Programmiersoftware

Eine andere Möglichkeit der Programmierung bestand darin, Software auf einem PC zu verwenden.

Siemens nannte ihre Software STEP 5.

Dies war ein integriertes Bearbeitungs- und Debug-Programm.

Ursprünglich lief es auf CP/M.

39

Siemens verkauften ihre eigenen tragbaren PCs mit vorinstallierter Software und zusätzlichen integrierten Hardware-Merkmalen wie einem EPROM-Brenner.

Diese Computer wurden auch als "PGs" bekannt.

STEP 5 wurde später auf MS-DOS portiert, indem es auf einem CP/M-Emulator ausgeführt wurde, den Menschen nutzten, um es auf einem Standard-PC wie einem Laptop auszuführen.

Später wurde eine native MS-DOS-Version produziert.

40

Dies hatte Modi für Statement List, Ladder und Control System Flowchart.

GRAPH 5 war ein separater Programm.

Man konnte zwischen STL, LAD und CSF-Modi umschalten, und wenn die Software in der Lage war, von einem Modus in einen anderen zu übersetzen, tat sie dies.

41

Der PC würde an das PLC über ein Kabel angeschlossen, das eine Schnittstellenbox in der Mitte hatte.

Dies könnte verwendet werden, um ein Programm auf einen PLC herunterzuladen.

Ein Programm hochladen, um eine Sicherung zu erstellen.

Ein laufendes Programm ändern.

Oder ein laufendes Programm debuggen.

--------------------

42 Anweisungen

Ich werde nicht alle Anweisungen auflisten, da das zu lange dauern würde.

Stattdessen gebe ich einen kurzen Überblick.

Ich werde absichtlich die unklaren Anweisungen auslassen, die zu lange zu erklären wären.

43 Grundlegende Operationen

Boolesche Operationen

Es gibt einen vollständigen Satz boolescher Operationen, einschließlich und, nicht, oder, oder nicht, Satz, Zurücksetzen und Zuweisen.

Die Zuweisungsoperation würde den RLO-Wert an die Adresse des angegebenen Operanden zuweisen.

44 Laden und Übertragen

Die Laden-Anweisung würde den Wert eines Speicheradresswortes oder -Bytes oder einer Konstante in Akkumulator 1 laden.

Es gibt etwa zwei Dutzend Variationen der Laden-Anweisung.

Die Übertragungsoperation würde ein Wort oder Byte aus Akkumulator 1 in den Speicher schreiben.

Es gibt etwa ein Dutzend Varianten der Übertragungsoperation.

45 Timer und Zähler

Es gibt 5 verschiedene Arten von Timern.

Timer nehmen den Wert im Akkumulator 1 als ihre Voreinstellung, wenn sie gestartet werden.

Es gibt Aufzähl- und Abzählzähler, die jeweils nach oben und unten zählen.

Auch diese nehmen den Wert im Akkumulator 1 als Voreinstellung.

46 arithmetische Operationen

Die einzigen eingebauten arithmetischen Operationen in der S5-100U-Serie sind Addition und Subtraktion.

Diese addieren oder subtrahieren die Werte in Akkumulator 1 und 2.

Ein weiterer Satz von Addierbefehlen ermöglicht das Hinzufügen einer Konstante.

Allerdings boten die CPUs 103 und 95 Ganzzahl-Multiplikation und Division als integrierte Funktionsblöcke FB242 und FB243.

Man würde diese Funktionsblöcke mit den gewünschten Parametern aufrufen, und sie würden ihre Ergebnisse in anderen Parametern zurückgeben.

47 Vergleichsoperationen

Es gibt einen vollständigen Satz von Ganzzahl-Vergleichsoperationen, die auf die Werte in den beiden Akkumulatoren wirken.

Dazu gehören größer als, größer oder gleich, usw.

Das boolesche Ergebnis wird im RLO gespeichert.

48 Block Call und Return

Es gibt einen vollständigen Satz unbedingter und bedingter Aufrufoperationen, um alle verschiedenen Arten von Blöcken aufzurufen.

Es gibt auch unbedingte und bedingte Rückgabebefehle.

Das Aufrufen eines Datenblocks macht ihn zum aktuellen Datenblock für Lade- und Übertragungsoperationen auf Datenwörter.

49 NOP oder Keine Operation

Wie angedeutet haben diese Befehle keine Wirkung.

50 Stopp

Dies stoppt die Ausführung des Programms.

51 Binäre Wortoperationen

Diese operieren auf Wörtern in den Akkumulatoren.

Dazu gehören AND, OR, XOR, Linksverschiebung und Rechtsverschiebung.

52 Bit-Operationen

Diese testen, setzen oder zurücksetzen einzelne Bits in Datenwörtern oder in Timern und Zählern.

53 Konvertierungsanweisungen

Es gibt Anweisungen, um das Bitkomplement oder das Zweierkomplement des Werts im Akkumulator 1 auszuführen.

54 Sprungoperationen

Es gibt unbedingte und bedingte Operationen, um vorwärts oder rückwärts zu einem Label zu springen.

Dies ist gleichbedeutend mit einer GOTO-Operation.

55 Indirekte Adressierung oder "DO"-Operationen

Diese Befehle ermöglichen den Sprung zu einem Block oder die Auswahl eines Datenworts oder Flaggeworts gemäß einer Zahl, die in einer anderen Adresse gespeichert ist.

Im Wesentlichen sind diese Befehle wie Zeiger.

56 Verschiedenes

Es gibt auch verschiedene andere Befehle, die Dinge wie das Kopieren von Blöcken von Wörtern oder

den Inhalt der Akkumulatoren zu tauschen,

57 Andere Anweisungen

Es gibt noch weitere Anweisungen, die ich übersprungen habe, da es zu viel Zeit in Anspruch nehmen würde, sie zu erklären.

58 Zusammenfassung der Anweisungen

Wie Sie sehen können, bietet der S5 PLC eine sehr umfassende Reihe von Operationen, die weit über das hinausgehen, was die meisten Menschen als Aufgabe eines PLC betrachten würden.

Dies ist ein sehr leistungsstarkes Anweisungs-Set.

59

Einerseits ist dies eine gute Sache, da Sie fast alles tun können.

Andererseits ist dies eine schlechte Sache, da einige Menschen dies als Lizenz zum Handeln betrachten und fast alles tun.

In den falschen Händen führt dies zu einem komplexen, verwirrenden Code-Gemisch, das selbst der Autor später nicht mehr versteht.

60

Dies widerspricht der Philosophie des PLC-Programmierens, die darin besteht, Dinge so einfach und offensichtlich wie möglich zu gestalten.

Bei einem PLC-Programm wird Perfektion nicht erreicht, wenn es so viele fortschrittliche Funktionen wie möglich hat, sondern wenn es nicht möglich ist, es noch einfacher zu gestalten.

61

Während Siemens dem Programmierer eine Reihe mächtiger Low-Level-Anweisungen zur Verfügung stellte, aus denen er fast alles erstellen konnte, wählten viele andere Anbieter einen anderen Ansatz.

Stattdessen untersuchten sie, was in den wichtigsten Marktsegmenten benötigt wurde, und stellten dem Programmierer Anweisungen zur Verfügung, die auf einem höheren Abstraktionsniveau operierten, wodurch Programme in weniger Zeit und mit weniger Anweisungen geschrieben werden konnten.

--------------------

62 Ausführungsgeschwindigkeit

Die Ausführungsgeschwindigkeit der Anweisungen variierte je nach Modell des PLC-Prozessors.

Hier sind einige typische Werte für die Low-End-S5-100-Serie-CPUs.

63

Eine boolesche AND-Anweisung wurde in 70 Mikrosekunden auf einem S5-100U ausgeführt.

oder in 4 Mikrosekunden auf einem S5-102U,

oder in 1,6 Mikrosekunden auf einem S5-103U.

64

Das Hinzufügen von zwei Wörtern in den Akkumulatoren wurde in 55 Mikrosekunden auf einem S5-100U ausgeführt,

oder in 23 Mikrosekunden auf einem S5-102U,

oder in 1,6 Mikrosekunden auf einem S5-103U.

65

Der S5-103U hatte einen benutzerdefinierten Logik-Coprozessor-Chip, bekannt als M5.

Befehle, die auf dem M5-Coprozessor ausgeführt wurden, neigten dazu, einheitlich 1,6 Mikrosekunden zu benötigen.

Komplexe Befehle, die nicht auf dem M5-Coprozessor ausgeführt wurden, waren oft langsamer als auf CPUs ohne Coprozessor, wie den 100 oder 102.

Ich vermute, dass dies auf eine Art Überkopf bezüglich der Koordinierung der beiden Prozessoren zurückzuführen ist.

66

Allerdings sind die meisten Anweisungen in einem normalen Programm boolsche Logik, daher ist eine sehr schnelle Ausführungszeit für boolsche Operationen entscheidend.

Da jede Anweisung in jedem Scan-Zyklus ausgeführt wird, erfordern große Programme eine schnellere Ausführungszeit der Anweisungen, um mit der Nachfrage Schritt zu halten.

--------------------

Die S7-Serie ersetzt die S5

In der Mitte der 1990er Jahre begann Siemens, die S7-Serie einzuführen, die letztendlich die S5 ersetzen sollte, obwohl es einige Jahre dauerte, bis dies geschah.

68

Die Hardware war ganz neu, aber aus der Perspektive eines Programmierers war die S7 eine Weiterentwicklung der S5.

Einige Anweisungslisten wurden gestrichen und andere hinzugefügt.

Die meisten grundlegenden Konzepte blieben jedoch gleich.

Das Übertragen eines S5-Programms auf eine S7-Steuerung erforderte eine komplette Neuschreibung, aber es war ein relativ direkter Prozess.

69

Die Ausnahme bildete die S7-200-Serie, die von außen zu Siemens kam, als Teil der Übernahme der PLC-Sparte von Texas Instruments.

Die S7-200 war eine amerikanische Kopie einer japanischen PLC und wurde als deutsches Produkt verkauft.

Trotzdem war es eine hervorragende PLC und verkaufte sich in sehr großen Mengen.

Die S7-200 wurde schließlich durch etwas ersetzt, das mit dem Rest der S7-Reihe kompatibel war.

70

Die S7-Serie durchlief mehrere Hardware-Revisionen und ist heute die Haupt-PLC-Linie von Siemens.

Sie kann über die S5 ihre Abstammung auf die 1970er Jahre und die frühen Tage der PLCs zurückführen.

--------------------

71 Andere Entwicklungen

Japanische PLC-Lieferanten

Ich habe keine japanischen PLC-Lieferanten so umfassend behandelt wie die PLC2 oder S5.

Ich hatte geplant, eine weitere Folge über einen dieser Lieferanten zu machen, aber ich denke nicht, dass das viel zur bereits besprochenen Thematik hinzufügen würde.

Allerdings gehören PLCs aus Japan zu den weltweit besten Verkäufern und genießen im Allgemeinen ein sehr hohes Ansehen.

72 Tempo der Innovation

In Bezug auf die allgemeine Geschichte der Branche war die Entwicklung von PLCs in den frühen Tagen recht schnell.

Später verlangsamt sich die Innovation, da die Kompatibilität mit der bestehenden Installationsbasis zu einem größeren Faktor wurde.

Die Technologie ist ziemlich statisch geworden, aber das ist aus geschäftlicher Sicht nicht unbedingt schlecht.

Ich werde später zu diesem Thema zurückkehren.

--------------------

73 Schluss

In dieser Folge haben wir die Siemens S5-Serie von Steuerungen behandelt.

Wir haben die Geschichte der S5 behandelt,

ihren Speicher und Adressierung,

die verschiedenen Arten von Unterroutinen,

Programmiersprachen,

die Befehle,

Und wie es von der S7-Serie abgelöst wurde.

74

Wir sahen, wie PLCs sich rasch von ihren sehr frühen Ursprüngen als Relaisersatz zu leistungsstarken programmierbaren Geräten entwickelt haben.

Im nächsten Beitrag werden wir uns den E/A-Modulen ansehen und wie sie es einem PLC-CPU ermöglichen, mit Hardware zu interagieren und Maschinen zu steuern.

75

Dies war die vierte Folge einer 8-teiligen Serie.

--------------------

Bereitstellenvon Feedbackzu dieser Folge.

Quelle
Hacker Public Radio
Original öffnen ↗

⚙Automatisch übersetzt.

War diese Nachricht nützlich?

Debatten 0

Seien Sie der Erste, der zur Debatte beiträgt.

Teilen Sie Ihre Informationen und fördern Sie Ihr Argument

Zögern Sie nicht, nützliche Informationen zu veröffentlichen.

Um an der Diskussion teilzunehmen, melden Sie sich an oder erstellen Sie ein kostenloses Konto.