×
Siemens Industry Online Support
Siemens AG
Beitragstyp: Anwendungsbeispiel Beitrags-ID: 15236067, Beitragsdatum: 13.05.2003
(0)
Bewerten

Sägezahn-Generator mit parametrierbarer Schrittweite und Zeitdauer

  • Beitrag
  • Betrifft Produkt(e)

FRAGE:
Wie kann ich einen sägezahnförmigen Signalverlauf  programmieren ?

ANTWORT:  
Im Prinzip entspricht ein Sägezahn-Signal dem Verändern eines Wertes in eine positive Richtung (für steigenden Sägezahn) oder negative Richtung (für fallenden Sägezahn), wobei der Wert jeweils eine Zeitlang ansteht. 
Zur Erzeugung eines Sägezahnsignals können demnach die Systemfunktionsbausteine SFB 0 "CTU" Vorwärtszähler, SFB 1 "CTD" Rückwärtszähler und SFB 2 "CTUD" Vorwärts-/Rückwärtszähler eingesetzt werden. Die Systemfunktionsbausteine verändern ihre Werte mit einer positiven Flanke an einem Eingang. Die Schrittweite ist 1.

Beschreibung des Programmierbeispiels
Damit ein Sägezahn-Signal nicht auf ein Vorwärts-/Rückwärtszählen begrenzt ist, wurde folgende Funktion programmiert, mit der es möglich ist einen Sägezahn zu generieren, welcher sowohl in seiner Schrittweite als auch in der Zeitdauer für einen Sägezahn parametrierbar ist. 
Die Anzahl der zu generierenden Sägezähne ist ebenfalls parametrierbar. Durch die Anzahl der Sägezähne ergibt sich der Endwert für den Sägezahngenerator.
Darüber hinaus kann der Sägezahn als steigend oder fallend und als "endlos" oder "einmalig" eingestellt werden. "Endlos" bedeutet, dass der Sägezahn bei Erreichen des Endwertes wieder auf den Startwert kippt und den Sägezahn erneut aufbaut. Bei der Einstellung "einmalig", wird der Sägezahn nur einmal vom Startwert bis zum Endwert aufgebaut. 

Während des aktiven Sägezahngenerators wird der aktuelle Wert des Sägezahns ausgegeben. Ist der Endwert erreicht, so wird dies über den Status = TRUE signalisiert.

 

Bild1:  Signalverlauf am Ausgang "ActualValue"

Der gewünschte Signalverlauf wird durch die Parametrierung des Funktionsbausteines (FB1 = Sawtooth_Generator) erzeugt. Für die ansteigende und abfallenden Sägezahnkurve ist in dem Programmierbeispiel jeweils ein Datenbaustein verwendet worden. Im OB1 wird der Baustein  wechselweise aufgerufen, so dass ein kontinuierlicher Signalverlauf erzeugt wird.

Bild2: Aufrufschnittstelle zum Funktionsbaustein FB1 (Sägezahn Generator)

Der beigefügte Download enthält das STEP 7 Projekt "Sawtooth_Generator"  mit dem beschriebenen Funktionsbaustein (FB1). Der Baustein ist in AWL erstellt und kann bei Bedarf modifiziert werden. (Der Kommentar kann über die Funktion "Texte mehrsprachig verwalten" zwischen deutsch und englisch umgeschaltet werden.)

  Saw_tooth.exe

Kopieren Sie die Datei "Saw_tooth.exe" in ein separates Verzeichnis und starten Sie die Datei anschließend per Doppelklick. Das STEP 7  Projekt wird jetzt automatisch mit allen dazugehörigen Unterverzeichnissen entpackt. Anschließend können Sie das entpackte Projekt mit dem SIMATIC Manager öffnen und bearbeiten.

Ablauffähigkeit und Testumgebung:
Das Beispiel ist einsetzbar auf allen CPU Varianten der SIMATIC S7-300, S7-400 und WinAC.
In der folgenden Tabelle sind die Komponenten aufgeführt,  mit denen dieser Beitrag erstellt und die beschriebene Funktionsweise verifiziert wurde:

Komponenten Testumgebung 1 Testumgebung 2
PC Plattform Pentium III  800MHz, 264 MB Pentium III  800MHz, 264 MB
Betriebssystem  Windows XP Windows XP
STEP 7  V5.2 V5.2
S7-CPU CPU314C-2PtP 
(6ES7314-6BF00-0AB0  V1.2)
WinAC Basis V4.0


Securityhinweise
Um technische Infrastruktur, Systeme, Maschinen und Netzwerke gegen Cyber-Bedrohungen zu sichern, ist es erforderlich, ein ganzheitliches IT Security-Konzept zu implementieren (und kontinuierlich aufrechtzuerhalten), das dem aktuellen Stand der Technik entspricht. Die Produkte und Lösungen von Siemens formen nur einen Bestandteil eines solchen Konzepts. Weitergehende Informationen über Cyber Security finden Sie unter
https://www.siemens.com/cybersecurity#Ouraspiration.