Dies ist eine Umsetzung eines DOS/Turbo Pascal 6.0 Programms. Auch fuer WIN$MS gibt es eine Delphi 16/32bit Version...
Diese Version ist noch ganz! am Anfang!
Fuer geplante Erweiterungen, bitte Datei 'todo' lesen...
.. Anleitung zum Programm S5 - Vorwort .! Vorwort Dieses Simulationprogramm fuer die speicherprogrammierbaren SIEMENS-Steuerungen von Typ S5-1XX entstand auf vielfachen Wunsch von Anwendern, die ueber vers. PD-Haendler schon Er- fahrungen mit dem Programm SPS - Simulation einer AEG 020 gesammelt hatten, aber in Ihren Bereichen ausschliesslich mit Geraeten der Firma Siemens arbeiten. Die Adaption des SPS-Programms zur Verarbeitung von STEP 5 Anweisungen war nicht ganz so einfach, wie es am Anfang er- schien. Die Hauptunterschiede liegen im modulartigen Aufbau der S5-1XX ,d.h. statt einer fortlaufenden Nummer fuer z.B. Eingaenge bei der AEG, gibt es Bausteine und Bitnummern. Auch die Anweisungssprache STEP 5 gibt einem Simulations- programm einige Probleme auf, z.B gibt es den Operanden 'Z' fuer Zaehler und die Operationen 'ZV' und 'ZR'. Ein Parser zur Syntaxkontrolle muss nun bei dem Buchstaben 'Z' wissen, ob dieser zur Operation oder zum Operanden gehoert. Aufgrund der Komplexitaet von STEP 5 ist die vorliegende Version des Programmes S5 in einigen Punkten stark einge- schraenkt: 1. Der Ladebefehl 'L' kann nur Konstanten fuer Timer 'KT' und und Zaehler 'KZ' verarbeiten. 2. Grundsaetzlich sind fuer Eingaenge 'E', Ausgaenge 'A' und Merker 'M' nur bitweise Operationen erlaubt. 3. Alle Setzoperationen mit Timern ('SA/E/I/S/V') fuehren nur zum einfachen Setzen des Operanden. 4. Es gibt nur eine zentrale Anweisungsliste, die Aufteilung in Bausteinen ist nicht realisiert. 5. Saemtliche Vergleichs-, Rechen- und Organisationsanweisungen sind nicht implementiert. 6. Der Operand Datenbereich 'D' steht nicht zur Verfuegung. 7. Die Operationen 'S', 'ZR' und 'ZV' werden beim statischem Verknuepfungsergebnis 1 statt beim Uebergang von 0 nach 1 ausgefuehrt. Leider steht mir keine S5 zum Testen zur Verfuegung, d.h. ich bitte alle Anwender dieses Programms mir eventuelle Fehler in dieser Version 0.1 schriftlich mit genauer Beschreibung der Be- dingungen unter der der Fehler auftritt mitzuteilen! .- .. Bedingungen Jeder Anwender dieses Programmpaketes erkennt die folgenden Be- dingungen automatisch an. Der Autor schliesst eine Haftung mittelbar oder unmittelbar fuer Schaeden und/oder Folgeschaeden die aus dem Gebrauch des Program- ms S5 und evtl. beteiligter Nebenprograme entstehen oder ent- stehen koennten aus. Die vorliegende Version 0.1 unterliegt der GPL. Ich bitte alle Anwender mir Probleme, Fehler und/oder Verbesserungsvor- schlaege schriftlich mitzuteilen. .. Anleitung zum Programm .! Einlesen Anweisungsliste Das Programm erwartet eine Anweisungsliste als normale Text- datei. Die Datei sollte die Endung .AWL haben. Eine solche An- weisungsliste kann mit jedem Editor, der ASCII-Text erzeugt, erstellt werden und hat z.B folgendes Aussehen: UE0.1 UNM1.0 O( UNA0.2 UE0.2 ) =A1.1 BE Vor, nach und zwischen Anweisungen duerfen keine Leerzeichen stehen. Die AWL wird beim Einlesen ueberprueft. Sollte die AWL fehlerhaft sein, wird das Einlesen an dieser Stelle gestoppt. .. Operationen und Operanden .! Folgende Operationen werden verarbeitet: U - Und O - Oder (auch als 'Oder von Und'!) UN - Und nicht ON - Oder nicht U( - Und Klammer auf O( - Oder Klammer auf UN( - *Und nicht Klammer auf ON( - *Oder nicht Klammer auf ) - Klammer zu = - Gleich S - Setzen speichernd R - Ruecksetzen speichernd L - Laden NUR Kx x=T/Z Sx - Setzen Timer x=A/E/I/S/V ZR - Zaehlen Rueckwaerts ZV - Zaehlen Vorwaerts BEB - Bausteinende bedingt BE - Bausteinende *Diese Operationen werden von der S5-1XX NICHT verarbeitet! Auch Eingaenge koennen wie Merker oder Ausgaenge gesetzt oder rueckgesetzt werden. .! Folgende Operanden werden verarbeitet: E - Eingaenge 0.0 bis 63.7 A - Ausgaenge 0.0 bis 63.7 M - Merker 0.0 bis 127.7 T - Timer 0 bis 15 Z - Zaehler 0 bis 15 Nicht in S5 --- YY - aktuelles Jahr --| enthalten!! | YM - aktueller Monat --| = Datum Wahr wenn V DN - aktueller Tag --| jeweils DW - Tag der Woche groesser! DH - aktuelle Stunde --| DM - aktuelle Minute --| = Uhrzeit DS - aktuelle Sekunde--| Beachten Sie bitte, das einige Merker der S5-1XX eine spe- zielle Bedeutung haben, diese speziellen Bedeutungen aber bei der Simulation NICHT beruecksichtigt werden. Wird der Merker 127.2 auf True gesetzt, wird das Programm nach diesem Durchlauf der AWL sofort verlassen. Verwendet werden kann diese Funktionalitaet z.B. in Batch Dateien. Z.B das Ver- senden eines vorbereiteten Faxes bei einem Alarmzustand etc. Der Merker M127.7 wird pro Durchlauf einer AWL umgeschaltet. Der Merker M127.6 wird pro Sekunde umgeschaltet. Der Merker M127.5 wird pro Durchlauf zufallsgesteuert wahr oder falsch. Der Merker M127.0 schaltet die Ausgaenge A0.0-A0.7 zum lpt1 durch! Der Merker M126.7 piept einmal. Der Merker M126.6 piept dreimal. .! Die Anweisungsliste kann max. 2048 Anweisungen enthalten. .. Aufrufparameter -help = Hilfe -autoexec= AWL wird abgefragt und geladen -wish = Wish wird sofort gestartet .. Hauptmenuepunkte 1 =Read AWL 2 =Modify I/O/M/C/T 3 =Single Step 4 =Start Prg. 8 =Open wish 9 =Close wish 11=Decrease Speed 12=Increase Speed 0 =Exit .! 1=Einlesen einer Anweisungsliste Einlesen einer Textdatei mit Anweisungen in AWL-Syntax. Die Syntax und Bereichsueberschreitungen werden beim Einlesen ueberprueft. .! 0=Verlassen des Programms Beendet das SPS Programm. .. Simulation 3=Single Step/4=Run
Nach dem Aktivieren von wish, sind nur noch diese Funktionen aktiv: Von oben nach unten... Eingaenge 0.0-1.7 Merker 0.0-1.7 Ausgaenge 0.0-1.7 (Blau=nicht gesetzt/abgefragt; Weiss=nicht wahr; Eingaenge=Gruen, Merker=Gelb, Ausgaenge=Rot = Wahr/Gesetzt) Darunter wird die aktuelle AW, Akku, Speed etc gezeigt. Button: Step -> naechste AW ausfuehren, dann halt. Start -> jeweils naechste AW bis Stop. Stop -> Lauf stoppen. Modify -> Eingaenge, Merker, Ausgaenge etc. aendern. Load -> AWL laden -/+Speed -> Sim.Geschwindigkeit aendern. Exit -> Ende. M127.0 schaltet A0.0-A0.7 auf den Druckerport lpt1 durch. Zum Test kann Testout.awl dienen. Eine Interface Schaltung muss sich dabei wie ein normaler Drucker verhalten. Das Byte wird mit Strobe uebergeben. Siehe dazu Schaltung im Buch: PC-Bastelbuch ISBN 3-89090-331-2 S.142ff. Peter Sieg Rabishauerstr. 9 37603 Holzminden