Kurvenscheiben mit sanften Übergängen, basierend auf Liniensegmenten Technologie CPU FAQ September 2009 Service & Support Answers for industry.
Fragestellung Dieser Beitrag stammt aus dem Internet der Siemens AG, Sector Industry, Industry Automation and Drive Technologies, Service & Support. Es gelten die dort genannten Nutzungsbedingungen (www.siemens.com/nutzungsbedingungen) Durch den folgenden Link gelangen Sie direkt zur Downloadseite dieses Dokuments. http://support.automation.siemens.com/ww/view/de/35690076 Frage Wie können Sie zur Laufzeit eine Kurvenscheibe erstellen, die auf Liniensegmenten (Stützpunkttabelle) basiert und diese durch sanfte Übergänge miteinander verbindet? Antwort Folgen Sie zur umfassenden Beantwortung dieser Frage den in diesem Dokument aufgeführten Handlungsanweisungen und Hinweisen. 2 Sanfte Kurvenscheibe mit Liniesegmentenmit sanften Übergängen V1.0, Beitrags-ID: 35690076
Inhaltsverzeichnis Copyright Siemens AG 2008 All rights reserved CPU_31xT_Sanfte_Kurvenscheiben_d.doc Inhaltsverzeichnis Frage... 2 Wie können Sie zur Laufzeit eine Kurvenscheibe erstellen, die auf Liniensegmenten (Stützpunkttabelle) basiert und diese durch sanfte Übergänge miteinander verbindet?... 2 Antwort... 2 Folgen Sie zur umfassenden Beantwortung dieser Frage den in diesem Dokument aufgeführten Handlungsanweisungen und Hinweisen... 2 1 Einführung... 4 1.1 Vorgehensweise... 5 1.2 Erforderliche Hard- und Software... 6 2 Funktionsbaustein FB 517 CalcPoly... 9 2.1 Im Baustein realisierte Funktionalität... 9 2.2 Einbindung in ein Step7- Projekt... 9 2.2.1 Bausteinaufruf... 9 2.2.2 FB Bausteinschnittstelle CalcPoly... 9 2.2.3 DB Schnittstelle CalcPoly_Data... 11 3 Beispielprojekt... 12 4 Fehlermeldungen des FB 517 CalcPoly... 14 4.1 Signalisierung von Fehlerereignissen... 14 4.2 Fehlercodes am Ausgang ErrorID... 14 4.3 Fehlercodes am Ausgang ErrorSource... 15 5 Literaturhinweise... 16 5.1 Literaturangaben... 16 5.2 Internet-Link-Angaben... 16 6 Historie... 17 Sanfte Kurvenscheibe mit Liniesegmentensanften Übergängen V1.0, Beitrags-ID: 35690076 3
1 Einführung 1 Einführung In Applikationen kommt es häufig vor, dass Kurvenscheibenfunktionen aufgrund von Produktionsdaten berechnet werden müssen. Die signifikanten Kurvenscheibenabschnitte (z.b. Rast, Geschwindigkeit) sollen dabei oft als einfache Liniensegmente in Form von Stützpunkten vorgegeben werden können. Die Übergänge zwischen den Liniensegmenten sollen dann meist durch sanfte Übergänge verbunden werden. Wegen der einfachen Handhabbarkeit von Stützpunkttabellen wird häufig versucht, diese Form der Kurvenscheibendefinition einzusetzen und dann durch die wählbare Interpolationsart Spline das Ziel sanfter Übergänge zwischen den Liniensegmenten zu erreichen. Da die Interpolation auf die gesamte Kurvenscheibe wirkt, führt dies in der Regel aber nicht zu einem passenden Ergebnis. Der vorliegende Baustein FB517 CalcPoly ermöglicht es die einfache Handhabbarkeit von Stützpunkttabellen mit der Vorgabe von Liniensegmenten zu kombinieren. Die Stützpunkte werden dabei in Datenbausteinen vorgegeben. Abbildung 1-1, Beispiel einer einfachen Vorgabe von Liniensegmenten Abbildung 1-2, gewünschte interpolierte Kurvenscheibe 4 Sanfte Kurvenscheibe mit Liniesegmentenmit sanften Übergängen V1.0, Beitrags-ID: 35690076
1 Einführung Abbildung 1-3, einfache Vorgabe der Liniensegmente über Stützpunkte Copyright Siemens AG 2008 All rights reserved 35690076_CPU_31xT_Smooth_cams_DOKU_d.doc 1.1 Vorgehensweise Die Berechnung einer Kurvenscheibe mit stetigen (sanften) Übergängen kann mit Hilfe des Bausteins FB517 "CalcPoly" wie folgt realisiert werden: Die zu beschreibende Kurvenscheibe muss in der integrierten Technologie vom Typ Stützpunktabelle oder Polynom angelegt werden. Das Beispielprojekt muss mit allen enthaltenen Bausteinen in die CPU geladen werden. Der Datenbaustein CalcPoly_Datax muss mit plausiblen Werten versorgt werden. Der Baustein FB 517 CalcPoly muss im Step7 Programm aufgerufen werden. Die berechnete Kurvenscheibe kann nach erfolgreicher Ausführung (CalcPoly Done = True) zur Überprüfung mit SIMATIC Technology Online ausgelesen werden. Sanfte Kurvenscheibe mit Liniesegmentensanften Übergängen V1.0, Beitrags-ID: 35690076 5
1 Einführung Abbildung 1-1, online Anzeige einer Kurvenscheibe mit S7TConfig Kurvenscheibe Wertetabelle Hinweise: Durch Klick auf den Button Lesen in Gerät wird die interpolierte Kurvenscheibe aus der int. Technologie ausgelesen und dargestellt. Die Wertetabelle zeigt einzelne Segmente der Kurvenscheibe mit Polynomkoeffizienten und Definitionsbereich ( X min/max, Y min/max) Wenn einzelne Tabellenzeilen markiert werden, werden diese in der Grafik ebenfalls markiert dargestellt 1.2 Erforderliche Hard- und Software Die Darstellungen und Beschreibungen dieses FAQs bauen auf folgenden Hardund Softwarekomponenten auf: Hardware-Komponenten Tabelle 1-1, Hardware-Komponenten Komponente Anz. Bestellnummer Hinweis CPU 315T-2 DP 1 6ES7315-6TG10-0AB0 oder 6ES7315-6TH13-0AB0 Micro Memory Card min. 4MB Die CPU bearbeitet das Anwenderprogramm und die technologischen Funktionen. Firmware: V2.6 1 6ES7953-8LM11-0AA0 Auf der MMC wird das S7-Programm abgelegt. 6 Sanfte Kurvenscheibe mit Liniesegmentenmit sanften Übergängen V1.0, Beitrags-ID: 35690076
1 Einführung oder alternativ: Tabelle 1-2, Hardware-Komponenten alternativ Komponente Anz. Bestellnummer Hinweis CPU 317T-2 DP 1 6ES7317-6TJ10-0AB0 oder 6ES7317-6TK13-0AB0 Als Alternative zur CPU 315T-2 DP. Micro Memory Card min. 4MB Firmware: V2.6 1 6ES7953-8LM11-0AA0 Auf der MMC wird das S7-Programm abgelegt. Standard Software-Komponenten Tabelle 1-3, Standard Software-Komponenten Copyright Siemens AG 2008 All rights reserved 35690076_CPU_31xT_Smooth_cams_DOKU_d.doc Komponente Anz. Bestellnummer Hinweis STEP 7 1 6ES7810-4CC08-0YA7 Version: V5.4 SP2 STEP 7 ist das Basispaket zur Programmierung der SIMATIC S7. S7-Technology 1 6ES7864-1CC41-0YX0 Tool zur Parametrierung und Programmierung der Version: V4.1 Technologieobjekte der Technologie CPU Beispieldateien und Projekte Die in diesem FAQ beschriebene Funktionalität wurde in einem Funktionsbaustein realisiert, der zusammen mit einer Beispielapplikation aus dem Service & Support Portal heruntergeladen werden kann. Die folgende Liste enthält alle Dateien und Archive, die in diesem FAQ verwendet werden: Tabelle 1-4, Dateien und STEP 7-Archive des FAQs Komponente 35690076_CPU_31xT_Smooth_Cams_CODE.zip 35690076_CPU_31xT_Smooth_Cams_DOKU.pdf Hinweis Das STEP 7-Archiv enthält ein Beispielprogramm für die entsprechende Technologie- CPU Dieses Dokument. Erforderliche PLC-Open Bausteine aus der Bibliothek S7-Tech V4.1 Sanfte Kurvenscheibe mit Liniesegmentensanften Übergängen V1.0, Beitrags-ID: 35690076 7
1 Einführung Die folgende Liste enthält alle PLC-Open Bausteine aus der Bibliothek S7-Tech V4.1, die für Technologiefunktionsaufrufe in diesem Technology Template verwendet werden. Die Bibliothek S7-Tech V4.1 ist in der oben genannten Software-Komponente S7-Technology enthalten. Tabelle 1-5, Erforderliche PLC-Open Bausteine PLC-Open Baustein FB 434 MC_CamClear FB 435 MC_CamSectorAdd FB 436 MC_CamInterpolate Funktion Löschen von Kurvenscheiben Hinzufügen von Kurvenabschnitten Interpolieren von Kurvenscheiben Tabelle 1-6, Erforderliche weitere Bausteine des Beispiels weitere Bausteine FB 521 WriteCamData DB 518 CalcPoly_Data1 DB 519 CalcPoly_Data2 UDT 517 LineSegmentsType Funktion Schreiben von Kurvenscheiben, intern von FB 517 benutzt Enthält die Liniensegmente der Kurvenscheibenkontur 1 in Form von Stützpunkten Enthält die Liniensegmente der Kurvenscheibenkontur 2 in Form von Stützpunkten Vorlage zur Erzeugung der Datenbausteine 8 Sanfte Kurvenscheibe mit Liniesegmentenmit sanften Übergängen V1.0, Beitrags-ID: 35690076
2 Funktionsbaustein FB 517 CalcPoly 2 Funktionsbaustein FB 517 CalcPoly Die in diesem FAQ dargestellte Funktionalität wurde im FB 517 CalcPoly umgesetzt. Die Funktion und Anwendung dieses Bausteins soll im folgenden Kapitel näher erläutert werden. 2.1 Im Baustein realisierte Funktionalität Der Baustein FB 517 CalcPoly liest aus dem beim Aufruf parametrierten DBDataSource bis zu 32 Liniensegmente aus. Der zu lesende Bereich kann über den StartIndx und EndIndx des DB frei gewählt werden. Der Baustein übergibt diese Segmente dann als Polynome und stößt in der integrierten Technologie die Interpolation der Segmente an. In der integrierten Technologie wird dabei der Mechanismus Lücke schließen genutzt um stetige Übergänge zwischen den Liniensegmente zu erreichen. 2.2 Einbindung in ein Step7- Projekt 2.2.1 Bausteinaufruf Copyright Siemens AG 2008 All rights reserved 35690076_CPU_31xT_Smooth_cams_DOKU_d.doc Der Baustein kann durch einfachen Aufruf im OB 1 oder in einem Funktionsbaustein in ein STEP 7-Projekt integriert werden. Sollen mehrere Kurvenscheiben gleichzeitig berechnet werden, sind für die entsprechenden Bausteinaufrufe eigene Instanzdatenbausteine zu verwenden, da dort die Kurvenpunkte gespeichert werden. 2.2.2 FB Bausteinschnittstelle CalcPoly Zum Berechnen der Kurvenscheiben verfügt der FB 517 CalcPoly über folgende Bausteinschnittstelle: Abbildung 2-1, Bausteinschnittstelle des FB 517 Sanfte Kurvenscheibe mit Liniesegmentensanften Übergängen V1.0, Beitrags-ID: 35690076 9
2 Funktionsbaustein FB 517 CalcPoly Tabelle 2-1, Bausteinschnittstelle Parameter Datentyp Anfangswert Beschreibung Eingangsparameter CamNr INT 0 Nummer der Kurvenscheibe, die berechnet werden soll. Execute BOOL False Start der Bausteinfunktion mit steigender Flanke. DBDataSource INT 0 Datenbaustein, in dem die Segmente hinterlegt sind. Mode INT 2 Interpolationsart: Wert = 0: Lineare Interpolation Wert = 1: Kubische Splines (Kurvenverlauf durch die Stützpunkte bzw. Kurvensegmente) Wert = 2: Bezier Splines (Kurvenverlauf entlang der Stützpunkte bzw. Kurvensegmente) Ausgangsparameter Done BOOL False Die Bearbeitung des Bausteins wurde erfolgreich beendet. Busy BOOL False Auftrag ist in Bearbeitung Error BOOL False Bei der Bearbeitung des Bausteins ist ein Fehler aufgetreten. Weitere Informationen zur Lokalisierung der Fehlerursache erhält man über die Ausgänge ErrorID und ErrorSource. ErrorID WORD W#16#0 Fehlercode des Bausteins oder einer intern aufgerufenen Technologiefunktion. Der Fehlerort innerhalb des Bausteins kann zusätzlich über den Ausgang ErrorSource gelesen werden. ErrorSource WORD W#16#0 Angabe eines zusätzlichen Fehlercodes zur Lokalisierung der Fehlerursache innerhalb des Bausteins. 10 Sanfte Kurvenscheibe mit Liniesegmentenmit sanften Übergängen V1.0, Beitrags-ID: 35690076
2 Funktionsbaustein FB 517 CalcPoly 2.2.3 DB Schnittstelle CalcPoly_Data Definition des zu übertragenden Datenbereiches StartIndex (min=1, max=32) EndIndex (min=1, max=32) Definition der Liniensegmente Abbildung 2-2 Copyright Siemens AG 2008 All rights reserved 35690076_CPU_31xT_Smooth_cams_DOKU_d.doc Werden Abschnitte der X-Achse mehrfach definiert (überlappende Abschnitte), wird die letzte Definition verwendet. Sanfte Kurvenscheibe mit Liniesegmentensanften Übergängen V1.0, Beitrags-ID: 35690076 11
3 Beispielprojekt 3 Beispielprojekt Das Beispielprojekt ist funktionsfähig realisiert und kann zum Testen direkt in eine dafür vorgesehene Hardware (Kapitel 1.2) geladen werden. Im Folgenden wird die Funktionsweise des Programms am Beispiel der Liniensegmente der Kurvenscheibenkontur 1 (DB 518) gezeigt. Abbildung 3-1, STEP7 Projekt Abbildung 3-2, Step7 Projekt, DB518 Kurvenscheibendefinition 12 Sanfte Kurvenscheibe mit Liniesegmentenmit sanften Übergängen V1.0, Beitrags-ID: 35690076
3 Beispielprojekt Abbildung 3-3, STEP7 Projekt, OB1 Aufruf FB517 CalcPoly Copyright Siemens AG 2008 All rights reserved 35690076_CPU_31xT_Smooth_cams_DOKU_d.doc Abbildung 3-4, online Anzeige der Kurvenscheibe 1 mit S7TConfig Sanfte Kurvenscheibe mit Liniesegmentensanften Übergängen V1.0, Beitrags-ID: 35690076 13
4 Fehlermeldungen des FB 517 CalcPoly 4 Fehlermeldungen des FB 517 CalcPoly 4.1 Signalisierung von Fehlerereignissen Treten am Baustein FB 517 CalcPoly Fehler auf, so werden diese wie folgt an der Bausteinschnittstelle angezeigt: Ausgang Error : Dieser Ausgang wird bei einem Fehlerereignis gesetzt. Die Fehlerursache kann an den Ausgängen ErrorID und ErrorSource abgelesen werden. Ausgang ErrorID : Ausgabe des zum Fehlerereignis gehörigen Fehlercodes bzw. eines Warncodes. Ausgang ErrorSource : Ort des am Ausgang ErrorID ausgegebenen Fehlercodes 4.2 Fehlercodes am Ausgang ErrorID Abbildung 4-1, Fehlercodes am Ausgang ErrorID 14 Sanfte Kurvenscheibe mit Liniesegmentenmit sanften Übergängen V1.0, Beitrags-ID: 35690076
4 Fehlermeldungen des FB 517 CalcPoly Tabelle 4-1, Fehlercodes am Ausgang ErrorID ErrorID [HEX] 0000 Kein Fehler Bedeutung 8xxx Es liegt ein Fehler eines im FB 517 CalcPoly aufgerufenen Technologiefunktionsbausteins vor. Die Fehlerursache kann über die Fehlerbeschreibung zum entsprechenden Technologiefunktionsbaustein ermittelt werden. 9000 StardIndx oder EndIndx des DBDatasource ungültig Hinweis Der betroffene Technologiefunktionsbaustein kann über den Fehlercode am Ausgang ErrorSource ermittelt werden. Tritt auch auf, wenn ein nicht geeigneter DB für DBDatasource angegeben wurde. 4.3 Fehlercodes am Ausgang ErrorSource Copyright Siemens AG 2008 All rights reserved 35690076_CPU_31xT_Smooth_cams_DOKU_d.doc Tabelle 4-2, Fehlercodes am Ausgang ErrorSource Error Bedeutung Source [HEX] 000 Kein Fehler 001 Fehler beim Übertragen der Stützpunkte in die integrierte Technologie 002 Fehler beim Löschen und Zurücksetzen der Kurvenscheibe 003 Fehler beim Hinzufügen eines Kurvenscheibensegments 004 Fehler bei der Interpolation der Kurvenscheibe Hinweis siehe Fehlerbeschreibung WriteCamData siehe Fehlerbeschreibung MC_CamClear siehe Fehlerbeschreibung MC_CamSectorAdd siehe Fehlerbeschreibung Fehler MC_CamInterpolate Sanfte Kurvenscheibe mit Liniesegmentensanften Übergängen V1.0, Beitrags-ID: 35690076 15
5 Literaturhinweise 5 Literaturhinweise 5.1 Literaturangaben Diese Liste ist keinesfalls vollständig und spiegelt nur eine Auswahl an geeigneter Literatur wieder. Tabelle 5-1, Literatur Themengebiet Titel /1/ STEP 7 Automatisieren mit STEP7 in AWL und SCL Hans Berger Publicis MCD Verlag - 4. Auflage, 2004 ISBN 3-89578-242-4 /2/ STEP 7 SIMATIC S7-SCL V5.3 für S7-300/400 Siemens Handbuch Ausgabe 02/2004 MLFB: A5E00290608-01 /3/ Technologie-CPU SIMATIC S7 Technology Siemens Handbuch Ausgabe 03/2008 MLFB: A5E00251797-06 5.2 Internet-Link-Angaben Diese Liste ist keinesfalls vollständig und spiegelt nur eine Auswahl an geeigneter Literatur wieder. Tabelle 5-2, Internet-Links Themengebiet \1\ Referenz auf den Beitrag \2\ Industrial Automation and Drive Technology Service & Support \3\ Handbuch Technologie- CPU Titel http://support.automation.siemens.com/ww/view/de/26680228 Service & Support Portal: www.automation.siemens.de/support S7-Technology: http://support.automation.siemens.com/ww/view/de/30119663 \4\ FAQ Wie werden bitgetriggerte Kurven (Trendkurven) in WinCC flexible projektiert? http://support.automation.siemens.com/ww/view/de/21913875 16 Sanfte Kurvenscheibe mit Liniesegmentenmit sanften Übergängen V1.0, Beitrags-ID: 35690076
6 Historie 6 Historie Tabelle 6-1, Historie Version Datum Änderungen V1.0 09/2009 Erste Ausgabe Copyright Siemens AG 2008 All rights reserved 35690076_CPU_31xT_Smooth_cams_DOKU_d.doc Sanfte Kurvenscheibe mit Liniesegmentensanften Übergängen V1.0, Beitrags-ID: 35690076 17