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

Ergebnis 1 bis 7 von 7

Thema: Adresse in SQL auslesen

  1. #1
    Registriert seit
    13.05.2008
    Beiträge
    18
    Danke
    1
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Ist es Möglich die Lokale Adresse einer Variablen aus dem Instanzdatenbaustein zugegriffen wird auszulesen?

    Ich habe einen Baustein an dem ich seine Startadresse Ausgeben möchte.
    Zitieren Zitieren Adresse in SQL auslesen  

  2. #2
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Hi,

    in SQL oder meinst Du SCL?
    Beim letzteren würde es über einen ANY Pointer gehen.

    Gruß Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  3. #3
    d-harry ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    13.05.2008
    Beiträge
    18
    Danke
    1
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Ja, natürlich SCL

    Das mit dem Any Pointer ist mir so nicht klar.

    VAR

    Toast :Bool;

    END_VAR;

    wie komme ich jetzt an den Pointer von Toast dran?
    Geändert von d-harry (06.02.2012 um 22:23 Uhr) Grund: Rechtschreibung

  4. #4
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Du deklarierst in den temp variablen einen ANY z.b. tToast.

    tToast := Toast;

    als Zuweisung im Programm.

    Jetzt kann man auf den ANY noch eine zweite sicht legen mittels AT.

    Und damit den ANY zerlegen.

    Gruß Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  5. #5
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    VAR_TEMP
    tToast : ANY;
    _Toast At tToast : Struct
    Kennung : Byte;
    Typ : Byte;
    Laenge : Word;
    DbNr : Word;
    Adresse : DWord;
    End_Struct;
    End_Var

    So ungefähr. Hab grade kein S7 da.

    Gruß Daniel
    Geändert von dalbi (06.02.2012 um 23:03 Uhr)
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  6. Folgender Benutzer sagt Danke zu dalbi für den nützlichen Beitrag:

    d-harry (07.02.2012)

  7. #6
    d-harry ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    13.05.2008
    Beiträge
    18
    Danke
    1
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Das sieht gut aus, ich werde das gleich mal probieren...

    Vielen Dank erstmal

  8. #7
    d-harry ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    13.05.2008
    Beiträge
    18
    Danke
    1
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hat super geklappt:

    FUNCTION_BLOCK FB35
    TITLE = 'Test'
    VERSION : '1.0'
    AUTHOR : Ich
    NAME : Startadr
    FAMILY : Basic


    VAR_INPUT
    IO_address : INT;
    END_VAR

    VAR_OUTPUT
    BYTEnummer : INT;
    DBnummer : INT;
    END_VAR


    VAR_TEMP
    // temporäre Variablen
    tToast : ANY;
    _Toast AT tToast : STRUCT
    Kennung : BYTE;
    Typ : BYTE;
    Laenge : WORD;
    DbNr : WORD;
    Adresse : DWORD;
    END_STRUCT;
    END_VAR

    VAR
    // Variablen

    END_VAR
    (******************************************************************************* ***************************
    Das Programm soll die Startadresse des Aufrufes ausgeben
    Basiert auf den Tipp von dalbi
    ******************************************************************************** **************************)

    tToast := IO_address;

    BYTEnummer := DINT_TO_INT(DWORD_TO_DINT( SHR(IN := SHL(IN := _Toast.Adresse, N:= 13), N:= 16))); // Ausschälen des Startbyte in Integer
    DBnummer := WORD_TO_INT(_Toast.DbNr); // DB in Integer


    END_FUNCTION_BLOCK

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 10.07.2011, 21:04
  2. WinCC6.2 auslesen externer SQL-Datenbank
    Von GobotheHero im Forum HMI
    Antworten: 1
    Letzter Beitrag: 11.05.2009, 22:15
  3. Antworten: 6
    Letzter Beitrag: 14.02.2009, 00:52
  4. PB-Adresse auslesen
    Von Wlaner im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 12.01.2007, 10:20
  5. Adresse Profibus Slaves auslesen
    Von Sh4gr4th im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 14.02.2006, 10:26

Stichworte

Lesezeichen

Berechtigungen

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