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

Ergebnis 1 bis 3 von 3

Thema: Zugriff auf DB(String) über Pointer

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!

    Erst einmal möchte ich sagen, dass ich ein absoluter Anfänger in Sachen S7 bin!
    Nun zu meinem Problem: Ich versuche zur Zeit einen FC zu schreiben der mir in einem DB290 ab dem Byte 138 eine Fehlernummer hineinschreibt in Asci.

    Schnittstelle:
    In_FaultNr := Fehlernummer (INT) 4-stellige Nummer
    In_PointerAdr := ?"SPS_TO_HMI".ActualFaultNo P#db290.dbb138 (Pointer)
    Tmp: Byte1, Byte2, Byte3, Byte4 Typ Byte
    MeldeNr Typ DINT

    Nun habe ich durch 32Bit BCD-Wandlung der INT-Zahl und Addition mit 48 die einzelnen Stellen der Fehlernummer in Bytes stehen!

    Ab dem Byte DB290.dbb138 ist ein String[4]("SPS_TO_HMI".ActualFaultNo ) deklariert. Nun möchte ich die ermittelten Ziffern auf den DB schreiben und zwar Byte1 auf DB290.dbb140, Byte2 auf DB290.dbb141....

    Nun habe ich aber ein Problem mit dem Pointer.

    Ich dachte ich könnte so auf den DB schreiben.

    L p##in_pointerAdr oder L in_pointerAdr (funktioniert nicht 6Bytes)
    LAR1
    L Byte1
    T DBB[ar1,P#2.0]

    Es wäre nett wenn mir jemand helfen könnte.
    Gibt es verschiedene Lösungsansätze? Warum funktioniert der Zugriff über den angelegten Pointer nicht?


    Gruß
    Thomas
    Zitieren Zitieren Zugriff auf DB(String) über Pointer  

  2. #2
    Registriert seit
    04.02.2007
    Beiträge
    2.544
    Danke
    167
    Erhielt 731 Danke für 528 Beiträge

    Standard

    Probier mal SFC20 Blockmove

    In ist ein Pointer und Out

    in: P#db290.dbx138.0 byte 6
    out: p#db290.dbx???.0 byte 6
    Die Adressen überschneiden sich in deiner Frage.
    Hoffe das ich das so richtig verstanden habe.

  3. Folgender Benutzer sagt Danke zu jabba für den nützlichen Beitrag:

    Thomas R (14.03.2007)

  4. #3
    Thomas R ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    08.03.2007
    Beiträge
    20
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!!

    Ich habe das Problem mit einem selbstkreierten Pointer vom Typ Any gelöst!
    Bsp. im Forum gefunden.

    Ich übergebe die DBNr. und StartByte an den FC.

    Danke für deine Hilfe!

Ähnliche Themen

  1. Zugriff auf Adressen mittels Pointer
    Von Jiss im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 11.12.2009, 07:56
  2. Zugriff auf Variable über String mit Var-Namen
    Von grosser_marco im Forum CODESYS und IEC61131
    Antworten: 14
    Letzter Beitrag: 03.09.2009, 07:43
  3. Pointer + String
    Von ottokar24 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 26.01.2009, 08:28
  4. pointer über temp struct...
    Von Jochen Kühner im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 24.09.2006, 10:23
  5. adressierung DB über Pointer
    Von TonyMono im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 13.06.2006, 22:24

Lesezeichen

Berechtigungen

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