Forum: Mikrocontroller und Digitale Elektronik Wie programmiert man am elegantesten eine "LOGO!"


von Holger K. (holgerkraehe)


Angehängte Dateien:

Lesenswert?

Hallo zusammen

Es gibt ja von Siemens kleine SpeicherProgrammierbareSteuerungen oder 
kurz SPS.  Diese nennen sich LOGO!.

Diese SPS kann man mit deren Software mit Blöcken programmieren.
Anbei seht ihr ein Bild eines "Programmes"

Es gibt Outputs, Inputs, logische verknüpfungen von Signalen etc.
Ich habe mich nun gefragt, wie so etwas im hintergrund funktioniert.
Wie würde man so etwas auf Mikrocontroller ebene, also innerhalb der 
SPS, programmieren? und was für daten erzeugt die PC Software?

Ich habe an eine riesige Wahrheitstabelle gedacht.
Wobei diese keine Verzögerungen und keine Zähler enthalten kann, welche 
die erwähnte SPS kann.

Danke schonmal
Gruss eure Krähe!

von Düsendieb (Gast)


Lesenswert?

So ähnlich wie hier:


Beitrag "SPS Betriebssytem"

von abc.def (Gast)


Lesenswert?

habe den Hintergrund Deiner Frage nicht ganz verstanden.

Ich weiß nicht exakt, wie Siemens das gemacht hat.
Bei der S7 wird der Plan in AWL (Anweisungsliste) gewandelt, da steht 
dann drin: Eingang1 UND Eingang2 -> Merker; Merker UNDNICHT Eingang3 -> 
Ausgang.
Verschiedene Arten von Zeiten und Zählern sind hier auch einfach 
eingefügt.

Aber ich würde eine Tabelle aufziehen, in der alle Funktionsblöcke des 
Anwenderprogramms der Reihe nach aufgelistet sind, darin Zeiger auf das 
betreffende Firmware-Unterprogramm der Funktion (auch Zeit und Zähler), 
Zeiger auf die Bits, die die Eingänge und Ausgänge darstellen (freie 
Bits im RAM), und Zwischenspeicher für Zeiten und Zählwerte.
Diese Tabelle wird ständig von oben nach unten durchgelesen und 
bearbeitet. In einem Hintergrundprozess alle 1ms werden die 
Zeitvariablen noch bearbeitet.
Das war es dann, ganz einfach.
Es ist kein sonderliches Problem, das zu schreiben. Habe ich 1988 als 
Semesterarbeit (=3Wochen) mit den damaligen Programmiermöglichkeiten 
auch schon gemacht. Wie es bei LOGO ist, weiß ich nicht.
Schwieriger für die Firmware, aber das eigentlich sympathische an der 
SPS finde ich, daß man (bei >= S7-200) Programmänderungen runterladen 
kann, während das Programm läuft. Also, die Maschine braucht nicht 
gestoppt zu werden. Eigentlich werden zwischen Tabellendurchläufen nur 
die entsprechenden Tabellenelemente geändert, der Rest incl. Daten 
bleibt erhalten. An diesem Thema scheitern die meisten Hobby-Projekte.
Schlaumeier werden sagen: bei fehlerhafter Programmänderungen kann es zu 
Beschädigungen an der Maschine kommen. Praxis ist, daß ich nicht alle 
Arbeiter vom Fließband in Frühstückspause schicken kann + Band 
leerräumen, bloß weil ich eine Verknüpfung eingefügt habe. Beim Neustart 
ist die Fehlerwahrscheinlichkeit genauso hoch. Fehler müssen woanders 
abgefangen werden.
Die Siemensianer werden meinen Vorschlag jetzt verreißen, weil sie es 
anders machen. Aber ich wollte nicht ihre Patente verraten ...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.