Um LOGO! bequem programmieren zu können, verwenden wir die Entwicklungsumgebung LOGO! Soft Comfort in der Version 8.2. Sie ist Bestandteil des LOGO!-Starterkits. Eine Demoversion der Software können Sie sich von der LOGO!-Homepage herunterladen. Der einzige Unterschied zwischen Demo- und Vollversion ist die Möglichkeit, sich mit einer realen Steuerung zu verbinden. Bei der Demoversion können Sie Ihre Programme nur im integrierten Simulator laufen lassen. Wir installieren hier die Vollversion der Software auf Ubuntu 14.04.5 LTS, öffnen ein Terminal und wechseln in das Installationsverzeichnis auf der CD-ROM. Je nachdem, welche Linux-Distribution Sie verwenden, kann der Pfad für die CD-ROM leicht variieren. Bitte passen Sie den Pfad entsprechend an. Es ist wichtig, die Installation aus diesem Verzeichnis heraus zu starten, sonst findet der Installer seine Komponenten nicht. Mit dem folgenden Kommando starten Sie die Installation:
cd /media/mmohr/3432-3532/CDROM_Installers/Disk1/InstData/Linux64/VM/ sh ./Setup.bin
Nach einigen Sekunden erscheint der Setupdialog. Bitte wählen Sie hier die Sprache aus, die Sie verwenden möchten und drücken danach OK. Auf dem nun folgenden Bildschirm müssen Sie die Lizenzbestimmungen anerkennen, damit Sie die Software installieren können. Nun können Sie das Verzeichnis auswählen, in dem die Software installiert werden soll. Um die Software zu testen, ist eine Installation in das eigene Home-Verzeichnis sinnvoll. Daher ändern wir das Installationsverzeichnis zu /home/mmohr/Siemens/LOGOComfort_V8.2. Sie müssen natürlich das Home-Verzeichnis Ihres eigenen Users verwenden.
Das Verzeichnis /usr/local/bin gehört dem User-Root. Jeder andere User kann dort lesen. Wenn man die Software auf einem System installiert, das von unterschiedlichen Personen verwendet wird, sollte man das genau an dieser Stelle machen.
Mit dem nächsten Dialog kann man das Verzeichnis auswählen, in dem die Links angelegt werden sollen. Ich bin in diesem Punkt recht altmodisch und starte alles aus einem Terminal heraus. Das hat den Vorteil, dass man die Systemausgaben einer Anwendung sehen kann. Nun startet das Set-up-Programm und installiert die Software auf Ihrem System. Wenn alle Dateien erfolgreich kopiert wurden, ist die Installation abgeschlossen. Dann klicken wir auf den Button FERTIG.
Die Installationsroutinen sind für SUSE Linux gedacht. Falls Sie eine andere Distribution verwenden, sind noch einige manuelle Nacharbeiten nötig. Der folgende Workaround sorgt dafür, dass LOGO! Soft Comfort die Netzwerkkonfiguration richtig erkennt. Die Dateien müssen entsprechend Ihrer real vorhandenen Netzwerkinterfaces erstellt werden.
sudo mkdir -p /etc/sysconfig/network sudo touch /etc/sysconfig/network/ifcfg-eth0 sudo touch /etc/sysconfig/network/ifcfg-wlan0
Jetzt können wir die LOGO!-Soft-Comfort-Entwicklungsumgebung starten (Abb. 1), indem wir mit dem Kommando cd ~/Siemens/LOGOComfort_V8.2/ in das Installationsverzeichnis wechseln und das Kommando ./LOGOComfort ausführen. Beim ersten Start der Software wird der Hilfebildschirm geöffnet. Hier sind viele nützliche Hinweise zu finden. Falls Sie noch keine Erfahrung mit Siemens LOGO! haben, sollten Sie sich die Onlinetrainings dazu ansehen.
Software einrichten
In diesem Abschnitt richten wir LOGO! und die Entwicklungsumgebung so ein, dass sie miteinander kommunizieren können. LOGO! arbeitet als Server im Netzwerk und unterstützt daher kein DHCP. Die IP-Adresse von LOGO! wird manuell eingestellt. Das machen wir direkt in LOGO! unter dem Menüpunkt NETZWERK | IP ADRESSE (Abb. 2). Das LOGO!-Modul muss sich zum Einstellen der IP-Adressen im Stop-Zustand befinden. Es gibt in der Steuerung zwei Betriebszustände: Stop und Run. Im Run-Modus werden die geladenen Programme ausgeführt. Im Stop-Modus laufen die Programme nicht, dafür ist es aber möglich, Einstellungen an der Steuerung selbst vorzunehmen. Bitte achten Sie darauf, dass die IP-Adresse, die sie LOGO! geben, in Ihr Netzwerk passt.
Zum Testen der Netzwerkverbindung erstellen wir uns nun ein Testprogramm. Das Programm können wir dann im Anschluss auf LOGO! laden. Als Erstes öffnen wir ein neues Projekt. In diesem Projekt verbinden wir den Eingang I3 mit dem Ausgang Q3 (Abb. 3). Um das zu erreichen, ziehen wir uns die Komponenten aus dem Bereich ANLEITUNGEN auf unseren Schaltplan. Um die Eigenschaften der Komponenten zu verändern, klicken wir sie doppelt an. In dem sich öffnenden Fenster können wir nun den Ein- und Ausgang wählen, den wir verwenden wollen. Wir haben hier den Eingang I3 und den Ausgang Q3 gewählt, damit wir nicht versehentlich eine Funktion des Testaufbaus aktivieren.
Um das Programm erst einmal ohne ein reales LOGO! zu testen, starten wir den Simulator, indem wir F3 drücken oder mit der Maus auf das Simulationsicon klicken. Das Icon befindet sich in der Iconleiste über dem Schaltplan. Unter dem Schaltplan sind die Ein- und Ausgänge aufgetaucht. Hier kann man die logischen Zustände der Eingänge verändern und sehen, in welchem Zustand die Ausgänge sind. Im Schaltplanbereich wird die logische Eins rot dargestellt und die logische Null blau.
Kommen wir aber nun zu unserem ursprünglichen Plan zurück. Wir wollten das getestete Programm in das LOGO!-Modul laden. Das erreichen wir mit der Tastenkombination STRG+D oder dem PC | LOGO-Icon in der obersten Icon-Leiste. Es öffnet sich ein Fenster, das Sie in Abbildung 4 sehen. Dort tragen Sie jetzt die IP-Adresse Ihres LOGO! ein und klicken auf Test. Wenn die Verbindung möglich ist, erscheint ein grüner Haken. Sie können die Verbindungen dauerhaft speichern, wenn Sie sie hier in das Adressbuch eintragen. Wenn Sie nun auf den OK-Button klicken, wird das Programm in das LOGO! heruntergeladen. Die Frage nach dem Betriebsmodus beantworten wir mit JA, da wir unser Programm starten wollen.
Jetzt wird am LOGO! der Ausgang Q3 in Abhängigkeit des Eingangs I3 geschaltet und wir können uns sicher sein, dass die IDE mit dem realen LOGO! fehlerfrei zusammenarbeitet. Es wird Zeit für ein etwas komplexeres Projekt.
Der Aufbau
Damit unsere ersten Programmierexperimente mit dem LOGO! nicht zu langweilig werden, üben wir an einem kleinen Versuchsaufbau. Der Aufbau ist gut geeignet, um die Funktionsweise des LOGO! anschaulich zu zeigen. Wir verwenden dazu das Modell eines elektrischen Hoftors. In unserem ersten Versuch wird das Tor über zwei Taster (S1 und S2) gesteuert. Um die Position des Tors bestimmen zu können, sind in dem Modell zwei Endschalter (S3 und S4) verbaut. Wenn einer der Taster gedrückt wird, soll die Signalleuchte (H1) erst fünf Sekunden blinken, bevor sich das Tor bewegt. Angetrieben wird das Tor von einem Getriebemotor (M1). Da sich der Motor im beide Richtungen drehen muss, wird er über eine sogenannte H-Brücke angesteuert. Diese ist zur besseren Veranschaulichung unten rechts im Schaltplan in Abbildung 5 zu sehen. Schon beim ersten Blick auf die H-Brücke fällt auf, dass diese bei falscher Ansteuerung Kurzschlüsse erzeugen kann. Es dürfen immer nur die über Kreuz liegenden Kontakte geschlossen werden. In unserem Beispiel also nur entweder die geraden oder die ungeraden Kontakte. Um dieses Schaltverhalten zu erzeugen, verwenden wir zwei Relais (K1 und K2). Die Relais sind gegeneinander verriegelt. Das bedeutet, wenn eines von ihnen schaltet, kann das zweite auf keinen Fall anziehen. Das wird erreicht, indem man die Spule von K1 über einen Öffner (Schaltkontakt, der trennt, sobald das Relais anzieht) von K2 mit Spannung versorgt. K2 seinerseits wird über einen Öffner von K1 mit Spannung versorgt. So ist sicher gestellt, dass immer nur eines der beiden Relais schalten kann. Damit wird es unmöglich, dass die H-Brücke einen Kurzschluss erzeugt. Wenn wir den Schaltplan nun etwas genauer studieren, sehen wir, das auch die Endschalter mit in die Spannungsversorgung der Relais eingebaut sind. Dies sorgt dafür, dass die Relais abgeschaltet werden, sobald das Tor die Endpositionen erreicht hat. Auch hierbei werden die öffnenden Kontakte der Schalter eingesetzt. Diese zwangsweise Abschaltung des Motors in der Endlage verhindert Beschädigungen des Versuchsaufbaus. Bei der Inbetriebnahme der Anlage sollten Sie daran denken, dass man nicht wissen kann, ob der Motor sich in die Richtung dreht, die man erwartet. Es ist daher sinnvoll, den Seilzug erst zu montieren, wenn man hundertprozentig sicher ist, dass alles richtig funktioniert.
Im Schaltplan sind zwei Versorgungsspannungen zu sehen: 5 Volt und 24 Volt. Die 24 Volt versorgen das LOGO! und alle Steuerelemente, wie Taster, Relais und Endschalter. Die 5 Volt werden verwendet, um alle Leistungsbauteile zu versorgen. In einem realen Aufbau hätten wir einen 230-Volt-Motor, der das Hoftor bewegen muss. Es ist also nichts Besonderes, wenn in einem solchen Aufbau mit zwei unterschiedlichen Versorgungsspannungen gearbeitet wird. Einmal die 24 Volt für alles, was mit Steuerung zu tun hat und die hohe Betriebsspannung für alle Bauteile, die Leistung brauchen. In unserem Modell kommen die Leistungskomponenten mit 5 Volt aus. Bei dem Motor handelt es sich nicht um einen originalen fischertechnik-Motor; dieser hätte eine Betriebsspannung von 9 oder 24 Volt. In Abbildung 6 ist das komplett aufgebaute Modell zu sehen.
Das Programm
LOGO! wird nicht im üblichen Sinne programmiert. Es werden grafische Schaltsymbole verwendet, um die Funktion abzubilden. Wer sich schon einmal mit logischen Schaltelementen auseinandergesetzt hat, wird schnell in die Programmierung hineinfinden. Für unser erstes Programm verwenden wir nur die logischen Grundbausteine UND, ODER, RS-Flipflop, eine Einschaltverzögerung und einen Impulsgenerator. Abbildung 7 zeigt das komplette Programm in der FBD-(Function-Block-Diagram-)Darstellung.
Der Impulsgenerator erzeugt das Signal, mit dem wir die Signalleuchte zum Blinken bringen. Nach einem Doppelklick auf den Generator können wir die Puls- und die Pausenzeit des Signals einstellen. Der Impulsgenerator wird über den EN-Eingang (Enable) aktiviert, sobald eines der beiden RS-Flipflops eine logische Eins am Ausgang hat.
Die Einschaltverzögerung verhindert, dass sich das Tor direkt nach dem Betätigen eines Tasters in Bewegung setzt. Personen sollen erst durch das Blinken darauf aufmerksam gemacht werden, dass sich das Tor in Kürze öffnen oder schließen wird. Die Parameter der Einschaltverzögerung kann man auch mit einem Doppelklick auf den Baustein ändern. Gestartet wird die Einschaltverzögerung durch eine logische Eins am Trg-Eingang (Trigger). Wenn das Triggersignal am Eingang der Einschaltverzögerung verschwindet, bevor die Zeit abgelaufen ist, wird kein Signal am Ausgang erzeugt.
Wird der Taster S1 betätigt, speichert das RS-Flipflop B003 diesen Zustand, bis das Tor geöffnet ist. Der Endschalter S4 wird ausgelöst, sobald das Tor seine Endposition erreicht hat. Der Endschalter S4 setzt das RS-Flipflop B003 wieder zurück. Durch die Einschaltverzögerung, die gestartet wird, sobald das RS-Flipflop B003 gesetzt ist, wird verhindert, dass sich das Tor sofort nach Betätigen des Tasters in Bewegung setzt. Zusätzlich wird der Impulsgeber aktiviert, sobald das RS-Flipflop gesetzt ist. Der Impulsgeber lässt die Signalleuchte blinken, das Tor ist nun geöffnet. Der Taster S2 schließt das Tor wieder. Er arbeitet genauso wie der Taster S1, nur dass er die Komponenten zum Schließen des Tors aktiviert.
Um eine bessere Vorstellung zu bekommen, wie der Aufbau funktionieren soll, können sie sich auf YouTube das Video dazu ansehen.
Wissenswertes über die LOGO!-Soft-Comfort-Software
In den folgenden Zeilen möchte ich Ihnen einige interessante Funktionen des LOGO! näherbringen. Bei allen Komponenten, die Werte speichern können, gibt es bei den Parametern ein Feld namens Remanenz. Über dieses Feld kann das Verhalten der Komponenten nach einem Spannungsausfall und Neustart des Logikmoduls gesteuert werden. Normalerweise werden alle Komponenten bei einem Neustart zurückgesetzt. Das ist für die meisten Anwendungsfälle auch vollkommen in Ordnung. Manchmal könnte es allerdings hilfreich sein, wenn Komponenten bei einem Neustart der Steuerung Ihre Werte behalten. Als Beispiel seien hier Zähler genannt, die Kartons auf einer Palette zählen. Wenn der Zähler bei einem Neustart auf null steht, müsste man immer dafür sorgen, dass die Palette beim Start der Anlage leer ist. Das würde die Arbeitsabläufe bei einem Neustart unnötig verkomplizieren. Ist der Zähler remanent, merkt er sich, wie viele Kartons bereits auf der Palette waren und füllt nur noch die fehlenden Kartons auf. Remanenz ist eine sehr nützliche Eigenschaft, um Programme weniger anfällig für Fehlerzustände zu machen. Technisch werden remanente Speicher über zusätzliche EEPROMs in der Steuerung realisiert, die über ein ausgeklügeltes Verfahren bei einem Spannungsabfall beschrieben werden. Das ist der Grund, warum remanente Speicher nur im Profibereich anzutreffen sind.
Alle Bausteine haben als Parameter ein Kommentarfeld. Diese Kommentare erscheinen im Schaltplan über der jeweiligen Komponente. Die Kommentare sind sehr gut dazu geeignet, die Komponenten mit sprechenden Namen zu versehen.
LOGO! unterstützt verschiedene Arten, Programme darzustellen. Wir haben hier immer den Funktionsplan verwendet, um unsere Programme zu erstellen. Ich möchte Ihnen aber nicht vorenthalten, dass es noch eine zweite Möglichkeit gibt, Programme für LOGO! zu erstellen, den sogenannten Kontaktplan. Die beiden Darstellungsvarianten sind gleichwertig und können ineinander überführt werden.
Der Funktionsplan (FBD: Function Block Diagram) ist aufgebaut wie ein Schaltplan, den man aus der Digitaltechnik kennt. Die logischen Verknüpfungen haben Ein- und Ausgänge. Der Ausgangszustand ist das Ergebnis der logischen Verknüpfung der Eingangszustände. Anwender, die aus den Bereichen Elektronik oder Informatik kommen, können sich mit dieser Darstellungsvariante sehr schnell anfreunden.
Der Kontaktplan (LAD: Ladder Diagram) ist dem Stromlaufplan aus der E-Technik nachempfunden. Die Schaltungen sind aus Öffner, Schließer und Ausgängen aufgebaut. Diese Art der Darstellung bevorzugen Anwender, die Ihre Wurzeln im Handwerk haben.
Zusätzlich zu dem Kontakt- und Funktionsplan gibt es noch die Möglichkeit sogenannte UDP-Diagramme zu erstellen. Das UDP-/UDF-Diagramm (UDF: User Defined Function) ist dazu gedacht, eigene Funktionsblöcke zu erstellen, eine UDF wird im FBD erstellt. Durch die Verwendung von UDPs werden Schaltpläne übersichtlicher. Man kann eine einmal entwickelte Funktion in unterschiedlichen Programmen einsetzen.
Fazit
Das hier gezeigte Programm ist als Beispiel gedacht. Bei einer realen Torsteuerung würde man mehr Aufwand betreiben, um die Lösung betriebssicher umzusetzen. Als erstes sollte man die Ausgänge gegeneinander verriegeln. Weiterhin ist zu empfehlen, dass beide Flipflops nicht gleichzeitig aktiv sind. Prinzipiell ist es bei einem Hoftor eine gute Idee, aus Sicherheitsgründen eine Not-Aus-Funktion zu haben. Sinnvoll ist auch eine Lichtschranke, die meldet, dass sich Personen oder Fahrzeuge im Bewegungsbereich des Tors befinden. Wie Sie sehen, kann man das Programm noch um einige Funktionen erweitern.