Hier ein weiteres Beispiel aus unserer S7 Programmbibliothek, diesmal zum Thema Bitfeld. Die Funktionen stehen kostenlos zur Verfügung und können frei kopiert werden, wenn der Copyright Vermerk nicht gelöscht wird. Der S7 Download unserer Funktionen ist einfach. Einfach mit Ctrl C in die Zwischenablage kopieren und als Step7 Quelle einfügen und übersetzen. In einem Datenbereich ist ein Bit gesetzt. Dieses soll einer Zahl zugeordnet werden. Nachfolgend ein Lösungsbeispiel aus unserer S7 Bausteinbibliothek mit Schiebebefehlen und Any Pointern.
Zuvor noch ein paar Anwendungsbeispiele:
Hier ein weiteres Beispiel aus unserer S7 Programmbibliothek, diesmal zum Thema Bitfeld. Die Funktionen stehen kostenlos zur Verfügung und können frei kopiert werden, wenn der Copyright Vermerk nicht gelöscht wird. Der S7 Download unserer Funktionen ist einfach. Einfach mit Ctrl C in die Zwischenablage kopieren und als Step7 Quelle einfügen und übersetzen. In einem Datenbereich ist ein Bit gesetzt. Dieses soll einer Zahl zugeordnet werden. Nachfolgend ein Lösungsbeispiel aus unserer S7 Bausteinbibliothek mit Schiebebefehlen und Any Pointern.
Zuvor noch ein paar Anwendungsbeispiele:
Ein ganz einfaches Beispiel könnte ein Mehrfachschalter oder Stufenschalter sein. Dabei wird jede Schalterstellung über ein Bit (Eingang) repräsentiert. Mehrere Eingänge können somit auch nicht gleichzeitig aktiv sein. Soll das für einen eventuellen Fehlerfall kontrolliert werden, dann muss noch eine zusätzliche Überprüfung stattfinden, welche in diesem Artikel nicht erörtert wird.
Für Störauswertung möchte man vielleicht die Störungsnummer eines einzelnen Bits registrieren.
Ebenso interessant kann auch die umgekehrte Funktion sein, wenn man einer Nummer ein Bit zuordnen möchte. In schrittgesteuerten Anlagen kennt man den Schritt, möchte aber jedem Schritt ein Bit zuordnen um diese dann mit einfacher Logik zu verknüpfen.
Selbstverständlich kann man natürlich auch überall einen Vergleich mit der Schrittnummer starten. Bei umfangreichen Schrittketten kann das aber leicht in Arbeit ausarten.
Grundlage der beiden Funktionen sind die Schiebebefehle “SLW”. Beim Umformen einer Zahl in das Bit, wird dieses einfach um die (An)Zahl geschoben. Umgekehrt prüft die Funktion im Bitfeld jedes einzelne Bit und merkt sich dabei um wieviele Positionen geschoben wurde.
Interessant sind die Funktionen vor allem auch deshalb, weil diese einfach und effektiv parametriert werden können. Die Schleife ist auf ein Minimum reduziert und kostet somit wenig Zykluszeit.
Unser folgendes Beispiel zeigt den Aufruf. Ausgewertet wird der Datenbereich im DB50, wobei 10 Bytes, also 80 Bits überwacht werden. Die gefundene Nummer wird im MW10 abgelegt.
Anschließend wird diese Nummer wieder in ein Bitfeld ab Adresse 10 abgelegt.
Wie man erkennt ist dem Bit DBX3.5 die Zahl 21 zugeordnet, d.h. Die Zählung beginnt mit Null.
DBX 0.0 = TRUE → 0
DBX 0.1 = TRUE → 1
DBX 9.7 = TRUE → 79
Kontaktdaten
ROTH automation GmbH
Talstr. 7
73249 Wernau (Neckar)
Telefon: 07153 - 4060255
E-Mail: info@roth-automation.de
Website: www.roth-automation.de