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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 23

Thema: Multiinstanz FBs erzeugen alle den gleichen Ausgang

  1. #11
    Registriert seit
    06.10.2003
    Beiträge
    3.406
    Danke
    448
    Erhielt 502 Danke für 406 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Vielleicht solltest du dem FB2 erst einmal etwas Leben einhauchen? Wenigstens eine statische Variable anlegen? Eingänge? Ausgänge?
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  2. #12
    Registriert seit
    22.08.2009
    Beiträge
    60
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    FB 2 sieht so aus.
    Anbei das Bild vom FB 2
    Angehängte Grafiken Angehängte Grafiken

  3. #13
    Registriert seit
    06.10.2003
    Beiträge
    3.406
    Danke
    448
    Erhielt 502 Danke für 406 Beiträge

    Standard

    Vielleicht solltest du dem FB2 erst einmal etwas Leben einhauchen? Wenigstens eine statische Variable anlegen? Eingänge? Ausgänge?
    Wenn du in dem FB2 in das MW12 schreibst, was willst du dann damit als Multiinstanz? Jeder Aufruf schreibt in das selbe Merkerwort. Das ergibt keinen Sinn.
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  4. #14
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.715
    Danke
    443
    Erhielt 914 Danke für 739 Beiträge

    Standard

    Zitat Zitat von Onkel Dagobert Beitrag anzeigen
    Wenn du in dem FB2 in das MW12 schreibst, was willst du dann damit als Multiinstanz?
    Vlt. deshalb, weil Multiinstanz nicht bedeutet, den FB mehrfach aufzurufen, sondern nur, dass sich die Instanzdaten von aufrufenden und aufgerufenem FB in einem gemeinsamen IDB befinden.


    Aber natürlich hast Du Recht, dass dazu erst mal überhaupt Instanzdaten vorhanden sein müssen.

  5. #15
    Registriert seit
    22.08.2009
    Beiträge
    60
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Besteht die Möglichkeit das mit einer FUP Ansicht kurz darzustellen als PDF oder so?

    Danke vorab.

  6. #16
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.715
    Danke
    443
    Erhielt 914 Danke für 739 Beiträge

    Standard

    Wie der Onkel für Dich bemerkt hast, hast Du im FB überhaupt keine Instanzdaten angelegt, um diese in eine Multiinstanz einzubringen.

    Instanzdaten entstehen durch Anlegen von Variablen im oberen Bereich Deines Screenshots bei IN, OUT usw., die dann im Programm darunter verwendet werden können (und auch sollten, denn sonst machen sie ja keinen Sinn).
    Über die IN, OUT-Variablen kann man an den FB bei mehreren Aufrufen (egal ob MI oder nicht) unterschiedliche Variablen übergeben. Vergleichbar mit den vorgegebenen Logik-Gattern. Du legst zwei Eingänge außen an, intern werden sie immer auf die gleiche Weise verknüpft und das Ergebnis an den außen angegebenen Ausgang übergeben.

  7. #17
    Registriert seit
    22.08.2009
    Beiträge
    60
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    OHH vielen Dank ich teste das gleich mal!
    Ich dachte das macht der automatisch wenn ich sage " FB xy als Multiinstanz aufrufen" da ist die Step 7 in die Tabelle gesprungen.
    Ok Danke euch beiden!!!

  8. #18
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.715
    Danke
    443
    Erhielt 914 Danke für 739 Beiträge

    Standard

    Zitat Zitat von rabit Beitrag anzeigen
    Ich dachte das macht der automatisch wenn ich sage " FB xy als Multiinstanz aufrufen" da ist die Step 7 in die Tabelle gesprungen.
    Das er da hinspringt, war das Zeichen, da gefälligst was einzutragen.


    Aber woher soll denn der Editor wissen, was Du da so an Variablen benötigst? Sollen die Step7-Programmierer bei Siemens schon im Voraus wissen, was Du später vlt. so programmieren möchtest?


    Die geben nur vor, wie das dann auszusehen hat.

  9. #19
    Registriert seit
    22.08.2009
    Beiträge
    60
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    GEILLLLLL hat funktioniert.
    VIELEN HERZLICHEN DANK.

    Ich habe bevor ich den FB2 zu DB1 verwiesen habe, wie Du plastisch erklärt hast erst die Werte in die Symboltabelle von FB1 eingetragen und danach eine Rechenfunktion hinterlegt.
    Dann FB2 auf DB1 verwiesen!
    Nun lese ich die Werte aus den Statischen Variablen von einem einzigem DB in den verschiedenen FB´s und verknüpfe diese Worte mit anderen PEW SUPER!
    Somit kann ich je nach Rezept verschiedene Daten von dem selben DB laden in dem ich vorher Werte hinterlegt habe.
    Stehen die stat Werte sofort zur Verfügung?

    Anbei ein Bild ist nur eine wilde Konstruktion ohne wirkliche Funktion nur um das Prinzip zu verstehen.
    2 Fragen:
    1: Kann ich diese Statischen Werte nicht in Abhängigkeit von einem analogen Sensor überschreiben?
    2: Kann ich Werte in dem FB2 die Speicheradresse für nur diejenige Instanz ändern?
    Z.B.
    FB 2 Aufruf von FB1 Speichert in db1.dbw0
    FB 2 Aufruf von FB3 speichert in db1.dbw2
    Oder dient diese Multiinstanz nur als Quellspeicher und nicht als Ablageort?
    Angehängte Grafiken Angehängte Grafiken
    Geändert von rabit (27.01.2014 um 22:00 Uhr)

  10. #20
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.715
    Danke
    443
    Erhielt 914 Danke für 739 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Jeder Aufruf von FB1 kann andere Werte für stat1 bis 3 enthalten. Diese unterschiedlichen Werte werden im jeweiligen Instanzdatenbaustein des Aufrufs gespeichert. Die Werte unterschiedlich überschreiben kannst Du durch die Nutzung der IN bzw. INOUTs.
    Also:
    1. Aufruf FB1 mit Daten im IDB1
    2. Aufruf FB1 mit anderen Daten im IDB2
    3. Aufruf FB1 mit noch anderen Daten im IDB3
    usw.

    [EDIT]:
    Zitat Zitat von rabit Beitrag anzeigen
    FB 2 Aufruf von FB1 Speichert in db1.dbw0
    FB 2 Aufruf von FB3 speichert in db1.dbw2
    Das wäre dann die Nutzung der OUTs.
    Im FB1 übergibst Du das Ergebnis an #out und an den jeweiligen Aufrufen des FB1 gibst Du dann am PIN #out den Speicherort db1.dbw0 oder db1.dbw2 an.[/EDIT]

    Das ist einfach erstmal eine mehrfache Verwendung des FBs. Dazu sollten im FB normalerweise nur lokale Variablen (das sind die, die Du gerade angelegt hast) verwendet werden. Deshalb hat Dich der Onkel vorhin darauf hingewiesen.


    Wenn Du jetzt nicht für jeden Aufruf des FB1 einen separaten IDB erzeugen willst, kannst Du die Instanzdaten mit in den IDB des aufrufenden FB integrieren, wie Du es gerade erfolgreich gemacht hast.
    Das macht natürlich vor allem bei mehrfachem Aufruf eines FBs Sinn (um z.B. nicht die oben aufgeführten 3 IDBs für jeden Aufruf zu erzeugen), ist aber nicht Bedingung dafür. Deshalb werden Multiinstanz und mehrfacher Aufruf eines FBs auch gerne in einen Topf geschmissen.
    Sie sind aber nicht voneinander abhängig und schon gar nicht das Gleiche.
    Geändert von hucki (27.01.2014 um 22:21 Uhr)

Ähnliche Themen

  1. Step 7 UDT als Eingangsvariable eines Multiinstanz-FBs
    Von Bär1971 im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 20.08.2013, 19:11
  2. Antworten: 4
    Letzter Beitrag: 01.09.2010, 00:37
  3. Mehrere Klemmen haben den gleichen Adressbereich
    Von vschessen83 im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 18.02.2009, 12:21
  4. Timer in Multiinstanz-FBs (AWL)
    Von lariamat im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 23.08.2006, 11:13
  5. Welchen Ausgang haben Durchflusssensoren?
    Von bricktop im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 20.12.2005, 22:46

Lesezeichen

Berechtigungen

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