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!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.