Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 10 von 10

Thema: B&R Funktionsbausteine/Funktionen

  1. #1
    Registriert seit
    03.09.2008
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!

    Ich schreibe gerade an meine Abschlussarbeit und bin in dem Zusammenhang zum ersten Mal mit B&R in Berührung gekommen. Ich programmiere in AS 3.0.71.31 ein PP420.

    Meine Frage bezieht sich auf FBs und Funktionen. Den Zustand eines FBs oder einer Funktionen kann man meines Wissens während der Laufzeit (ohne in den Debug-Modus zu gehen) nicht anschauen. D.h. wenn eine selbstgeschriebene Funktion oder ein FB einen Fehler beinhaltet, kann ich bei laufender Maschine nicht feststellen an welcher Stelle der Fehler sitzt. Das sehe ich so richtig oder?

    In meinem Fall ist es jetzt aber so dass die Maschine nicht einfach angehalten werden und im Debug-Modus betrieben werden kann. Von daher kommt es aus meiner Sicht gar nicht in Frage FBs oder Funktionen zu verwenden, da ich ja eigentlich nie sicher sein kann dass diese keine Fehler beinhalten. Aber es kann ja nicht die Lösung sein keine Funktionen und FBs zu verwenden!?
    Die Folge davon wäre anstatt FBs Programme zu verwenden. Grundsätzlich ist ja ein Programm auch nichts anderes als ein FB. Allerdings würde dann mein Programm in dem Fall aus unzähligen Programmen bestehen. Das ist auch nicht wirklich die Lösung, die man sich wünscht.

    Kann mir jemand einen Tip geben wie ich das am besten lösen kann?

    Vielen Dank im Vorraus!

    Gruß Martin
    Zitieren Zitieren B&R Funktionsbausteine/Funktionen  

  2. #2
    Registriert seit
    25.10.2009
    Beiträge
    47
    Danke
    5
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Hallo pec,

    hast du schon den "normale" Task-Watch aufgerufen über die SW Konfiguration.Damit kannst du die Variablen in dem FB beobachten und auch steuern.

    Gruß

    adi5

  3. #3
    pec ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    03.09.2008
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo adi5,

    danke für deine Antwort. Ja die "Überwachung" der Variablen im Watchdog ist mir bekannt. Allerdings hab ich dann erst den Status der Ein- und Ausgangsvariablen, d.h. ich weiß das etwas falsch berechnet wird. An welcher Stelle das im FB oder in einer Funktion passiert weiß ich aber immer noch nicht. Je nach dem wie groß der FB oder die Funktion ist kann der Fehler sehr schwer zu finden sein.
    Aber wie schon erwähnt glaube ich ist das bei B&R einfach so. Finde ich persönlich sehr schlecht gelöst, erschwert eine Fehlersuche unter Umständen sehr!
    Für Tipps wie man das ganze umgehen kann oder wie man besser damit leben kann bin ich aber immer noch offen. Ich könnte mir auch gut vorstellen dass es schon erfahrene B&R-User gibt die genau mit dem Problem im Fehlerfall schon konfrontiert wurden --> wie gesagt bin für alle Tipps dankbar!

    Gruß

  4. #4
    Registriert seit
    20.11.2004
    Ort
    Linz, OÖ
    Beiträge
    1.365
    Danke
    96
    Erhielt 177 Danke für 133 Beiträge

    Standard

    Es gibt eine (wenn auch unschöne) möglichkeit, bei B&R auch das Programm in FUBs zu beobachten, allerdings nur im Einzelschrittmodus.
    Man setzt einen Haltepunkt unmittelbar vor dem FUB-Aufruf, anschließend kann man mit "Einzelschritt" auch in FUB-Aufrufe reinspringen.
    Ich weiß nicht ob das bei AS3 noch geht, bei AS2.x gings auf jeden Fall noch.

    Noch ein Tipp:
    Es ist ja möglich, Funktionen mit statischen Variablen anzulegen. Diese können allerdings nicht beobachtet werden, da sie einfach irgendwo am Stack liegen. In solchen Fällen sollten unbedingt Funktionsbausteine zum Einsatz kommen, weil dann auch die internen Variablen beobachtbar werden.

    mfg Maxl
    Bin aufgrund §2 der "Rechte des Betreibers" der Forum-Regeln nicht mehr aktiv, da nicht nicht akzeptiere, dass Informationen und Erkenntnisse ohne Quellangabe weitergegeben werden sollen. Jedem steht frei, auf die gleichen Erkenntnisse durch Eigenversuche zu kommen, vor allem Buchautoren.

  5. #5
    pec ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    03.09.2008
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Guten Morgen Maxl,

    danke für deine Antwort. Ja den Einzelschritt-Modus gibts es auch noch in AS 3. Allerdings ist das ja auch keine Lösung für mein Problem. Beim Einzelschritt-Modus würde meine Maschine ja auch schon stehen.
    Ich habe inzwischen aber etwas gefunden, das zumindest in die Richtung von dem geht was ich suche. Ab AS 3 (wenn ich richtig informiert bin) gibt es so genannte "ACTION". Diese kann man in Programmen und Funktionsblöcken nutzen und soll zur Strukturierung des Programms beitragen. Im Prinzip ist eine ACTION ähnlich wie eine Funktion. Allerdings besitzt eine ACTION keine eigene Paramterliste. Sie benutzt den gleichen Scope wie der FB bzw. das Programm in dem sie eingesetzt wird. D.h. man kann auf alle Variablen zugreifen, die auch im FB bzw. dem Programm vorhanden sind.
    Auf alle Fälle kann man den Zustand einer ACTION auch beobachten ohne den Einzelschritt-Modus oder ähnliches benutzen zu müssen.

    Gruß pec

  6. #6
    Registriert seit
    21.11.2009
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ganz verstehe ich deine Fragestellung aber nicht...

    Du hast eine Funktion / Funktionsblock?
    Und der liefert dann falsche Werte in bestimmten Situationen,
    die Ursache kann aber nicht im Debugmodus analysiert werden, weil die Steuerung nicht angehalten werden kann. Richtig?

    Eine weitere Möglichkeit ist, im Variablen Trace des AutomationStudio die Eingänge und Ausgänge aufzuzeichnen, hier kommt man sehr oft Fehlern auf die Spur. (Hierzu wird die Laufzeitumgebung auch nicht beeinflusst...)

    Ansonsten, ja, die Möglichkeit des AS 3 mit ACTIONS,
    da kannst du Sourceteile in eigene Files geben.
    Erhöht die Lesbarkeit des zyklischen Programmteiles deutlich, und die Übersichtlichkeit des Projektes wird auch verbessert.

  7. #7
    pec ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    03.09.2008
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ja genau, die Fragestellung hast du richtig verstanden. Ob jetzt Funktionen oder Funktionsblöcke spielt dabei keine Rolle.
    Die Frage war eher allgemein gedacht, ich arbeite mich ja gerade in AS und Strukturiert Text ein. Beim "spielen" in AS bin ich eben auf dieses Problem gestoßen und hab mich dann gefragt wie das ganze am einfachsten lösbar ist.
    Die Trace-Aufzeichnung ist eine schöne Sache aber sie ist halt doch noch aufwändiger wie wenn ich direkt in den FB bzw. die Funktion springen könnte. Inzwischen habe ich mich aber auch damit abgefunden.

  8. #8
    Registriert seit
    07.06.2006
    Ort
    Bayern
    Beiträge
    623
    Danke
    27
    Erhielt 156 Danke für 139 Beiträge

    Standard

    In der Hinsicht hinkt B&R wirklich noch weit hinterher - das nervt mich teilweise auch gewaltig.

    Wenn man sich da mal Codesys bzw. Twincat anschaut, da kann man jeden FB mit beliebiger Instanz Online im Code beobachten. Ausserdem kann man hier anders als bei B&R einen FB bzw. einen FC direkt im Projekt hinterlegen und muss nicht unbedingt eine Library anlegen.

    Wenn ich für B&R einen FB brauche, und der etwas umfangreicher und komplizierter ist, dann bin ich schon öfters den Weg gegangen, dass ich mir den Baustein in Twincat erstellt und ausgetestet habe. Denn fertigen getesteten Code hab ich dann in B&R ins AS übernommen.

    In der Hinsicht, bin ich froh, dass ich B&R nicht so oft programmieren muss - Sorry aber wenn ich persönlich die Wahl hätte, dann würde ich Siemens und die Codesys-Ableger derzeit immer B&R vorziehen.

  9. #9
    Registriert seit
    21.11.2009
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zu FUBs allgemein:
    Normalerweise schreibe ich einen FUB immer zuerst als "Task" und nach erfolgreichen tests etc. wird das ganze in einen FUB/Library gepackt.

    Im AS 3.0 sollten einige Neuerungen sein, auch bezüglich Funktionen / Funktionsblöcke.
    Diese können da direkt zu einem Task erstellt werden, und müssen nicht mehr in einer Library sein.
    Hab mich aber auch noch nicht genauer damit beschäftigt....

  10. #10
    Registriert seit
    07.06.2006
    Ort
    Bayern
    Beiträge
    623
    Danke
    27
    Erhielt 156 Danke für 139 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von SPS_programmierer Beitrag anzeigen
    Im AS 3.0 sollten einige Neuerungen sein, auch bezüglich Funktionen / Funktionsblöcke.
    Diese können da direkt zu einem Task erstellt werden, und müssen nicht mehr in einer Library sein.
    ich programmiere auch noch mit V 2.6, da es vom Kunden so gewünscht ist.

    Hab mir aber mal die 3.0 besorgt und ne virtuelle aufgezogen - ich hab bezüglich FB´s FC´s keine Unterschiede feststellen können.
    Der erste Eindruck vom 3er AS ist meiner Meinung nach grauenhaft - unübersichtlich, versteckte Menüs, etc....

Ähnliche Themen

  1. Funktionsbausteine
    Von redscorpion im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 02.08.2011, 12:42
  2. Funktionsbausteine S5
    Von SPS-Bastler im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 06.01.2010, 07:11
  3. Funktionen in Funktionen aufrufen
    Von Baldaro im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 21.06.2009, 16:17
  4. Funktionsbausteine in S7-200
    Von sukram1711 im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 25.04.2008, 22:25
  5. Funktionsbausteine
    Von Blade im Forum PC- und Netzwerktechnik
    Antworten: 23
    Letzter Beitrag: 22.02.2008, 22:04

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •