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

Ergebnis 1 bis 5 von 5

Thema: Seltsamer Multiinstanzaufruf

  1. #1
    Registriert seit
    18.11.2008
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, ich bin relativ neu in der SPS-Programmierung und habe von einem Kollegen ein Programm übernommen.
    Wie man einen DB als Multiinstanz-DB verwendet weiss ich, aber die Aufrufstruktur auf dem Bild ist mir ein Rätsel:

    Ich hätte einen FBXY mit zugehörigem DB96 geschrieben und in dem den FB610 als stat variable deklariert und 10 mal aufgerufen.

    Hier ist jedoch z.B. FB610 als stat Variable in FB835 deklariert und alle stat Variablen von FB610 können im DB335 beobachtet werden. Gleichzeitig nutzt der FB610 aber einen Bereich des DB96.
    In beiden DBs kann ich die aktuellen Werte sehen.

    Ein Siemens SPS-Spezialist in der Firma hat so einen Aufruf auch noch nie gesehen. Weiss jemand, was genau hier passiert und warum in 2 DBs kopiert wird?


    Grüsse
    Johann
    Angehängte Grafiken Angehängte Grafiken
    Zitieren Zitieren Seltsamer Multiinstanzaufruf  

  2. #2
    Registriert seit
    25.09.2005
    Ort
    Neuss
    Beiträge
    278
    Danke
    11
    Erhielt 31 Danke für 29 Beiträge

    Standard

    Nein, eine Erklärung dafür habe ich nicht - ich denke nicht, dass dies Sinn macht, oder beabsichtigt war. Ich würde so einen Programmaufbau jedenfalls nicht machen und als fehlerhaft bezeichnen.

  3. #3
    Registriert seit
    30.06.2007
    Ort
    In der Pfalz
    Beiträge
    503
    Danke
    72
    Erhielt 77 Danke für 65 Beiträge

    Standard

    Eventuell hat da jemand den Zweck einer Multiinstanz nicht so recht verstanden und hat deshalb für die aufgerufenen FB's zusätzliche IDB's erzeugt.

  4. #4
    Registriert seit
    15.10.2007
    Ort
    St.Pölten
    Beiträge
    875
    Danke
    98
    Erhielt 200 Danke für 188 Beiträge

    Standard

    Eventuell hat da jemand den Zweck einer Multiinstanz nicht so recht verstanden und hat deshalb für die aufgerufenen FB's zusätzliche IDB's erzeugt.
    Immer denselben???
    stell mal den code rein,dann könnte man genauere angaben machen,weshalb und warum das so ist.
    Beginne jeden Tag mit einem lächeln,es kann dir nämlich während des Tages sehr schnell vergehen.

  5. #5
    Zonk1982 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.11.2008
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke für die schnellen Antworten, ich bin jetzt endlich drauf gekommen:

    FB835...FB844 werden ganz normal mit jeweils zugehörigen IDBs aufgerufen. In FB835...FB844 ist dann jeweils einmal der FB610 als stat deklariert. Also quasi eine Multiinstanz, die nur einmal verwendet wird.
    Der FB610 wird daher ohne IDB-Angabe aufgerufen.

    Jetzt hat der FB610 allerdings eine UDT-out variable, die alle internen Variablen enthält und über einen Pointer in den globalen DB96 geschrieben wird.

    Einzige unklare Sache: warum wird der globale DB96 im Baum hinter dem FB610 dargestellt als ob er ein IDB wäre?
    Eigentlich wird doch z.B. im FB835 die UDT aus dem IDB335 in den durch den Pointer angegebenen Speicherbereich in DB96 kopiert. Daher müsste der DB96 in der Aufrufstruktur als vom FB835 aufgerufen angezeigt werden.

    Grüsse
    Johann
    Angehängte Grafiken Angehängte Grafiken
    Geändert von Zonk1982 (19.11.2008 um 12:24 Uhr) Grund: Bild vergessen

Ähnliche Themen

  1. Multiinstanzaufruf in FUP
    Von hank12 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 10.05.2009, 12:38
  2. Antworten: 5
    Letzter Beitrag: 11.06.2008, 16:08

Lesezeichen

Berechtigungen

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