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

Ergebnis 1 bis 3 von 3

Thema: DB als Speicherziel deklarieren

  1. #1
    Registriert seit
    10.07.2008
    Beiträge
    47
    Danke
    19
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich habe folgendes Problem.

    Ich habe einen FB geschrieben der ein Eingangsignal verarbeitet und mehrere Werte als Doppelwert herausgibt.
    Der FB hat natürlich seinen eigenen DB (Instanz).
    Ich möchte nun aber beim Aufruf des FB´s, das der Nutzer dieses FB sich aussuchen kann in welchen DB er die Ausgangdaten ablegen kann (da ich ja im Vorfeld nicht weiß in welchem Projekt welcher DB noch frei ist.)

    z.B. Der Nutzer xy, ruft den Baustein auf und muss dann als Ausgangsvariable einen DB angeben aus dem er dann später die Nutzdaten ziehen kann.


    Frage ist nun wie deklariere ich diesen in meinem FB, als In, Out oder In/Out. Was für ein Format muss ich nutzen (Any ...?) und wie deklariere ich den DB dann in meinem Programm z.B mov doppelwort nach DB????.DBD???

    Ich hoffe ich konnte mein Problem plausibel dalegen und hoffe auf eure Hilfe
    Zitieren Zitieren DB als Speicherziel deklarieren  

  2. #2
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    du kannst als block_db, word, int, byte übergeben

    mit block_db findest du den aufruf dann in den referenzdaten auch wieder.
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. #3
    Registriert seit
    18.03.2008
    Beiträge
    267
    Danke
    3
    Erhielt 26 Danke für 26 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich gehe davon aus, dass die zu schreibenden Daten immer eine einheitliche Struktur haben (zb. 10 Integer). Also würde ich noch einen udt definieren, der die Datenstruktur bestimmt und dann einen In_Out Parameter von diesem Typ anlegen.

    Ein In_Out wird nicht in der Instanz gespeichert, der FB greifft direkt auf den Speicherort der beim Bausteinaufruf da angehängt wird.

    Natürlich kannst du auch mit In_Out arbeiten, ohne einen udt zu definieren - ich fänds aber die sauberste Lösung.

    Als Alternative dazu könntest du auch mit Pointern hantieren.

Ähnliche Themen

  1. DB mit UDT für WinCC deklarieren?
    Von Poldi007 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 14.04.2016, 14:27
  2. Füllstand in der SPS Deklarieren
    Von sapor123 im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 07.04.2010, 15:59
  3. Antworten: 3
    Letzter Beitrag: 12.03.2009, 09:45
  4. Antworten: 19
    Letzter Beitrag: 24.02.2009, 17:26
  5. Flanken als Temp deklarieren?
    Von S7_Mich im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 15.09.2004, 09:41

Lesezeichen

Berechtigungen

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