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

Ergebnis 1 bis 5 von 5

Thema: messwerte in db

  1. #1
    Anonymous Gast

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hallo leute ich brauch mal hilfe,
    was verdammt ist hier verkehrt? Es geht darum einen Meßwert über einen Taktgeber in einen DB abzulegen.Ich hatte es auch schon so weit, daß ein meßwert in den Db geschrieben wurde , dann aber geht die cpu in stop.


    U #imp
    SPBN next
    L DB1.DBW 8
    AUF DB 36
    T DBD [MD 52]
    L MD 52
    L L#1
    +D
    T MD 52

    next: BE

    habe die suchfunktion schon genutzt und viele versuche hinter mir

    vielen dank im vorraus
    Zitieren Zitieren Gelöst: messwerte in db  

  2. "Ich habe vergessen den Programmteilanzuhängen. Hier ist er.

    Ab dem wegkommentierten Teil geht die CPU auf Stop.

    init: L P#14.0 //Start bei DBB14
    T MD 1

    L DBLG //Länge des DB bestimmen
    T #lang //in Variable lang speicheren

    S #init


    ctrl: L MD 1 //Vergleich um Pointer größer als DB
    L #lang
    <=D
    = #cont

    U #cont
    SPB chk

    SPA ende


    chk: L L#31 //Vergleich ob Hexwert kleiner gleich 31
    L DBB [MD 1]
    <=D
    = #mist


    U #mist
    SPB pst

    SPA ctrl

    pst: NOP 0
    //pst: L #zero //ist der Hexwert kleiner 31 wird dieser mit 0 überschrieben
    // T DBB [MD 1]

    // L MD 1 //Pointer um 1 erhöhen
    // L P#1.0
    // +D
    // T MD 1

    SPB ctrl

    ende: NOP 0


    Kann mir jemand sagen wo der Fehler liegt?"


  3. #2
    Registriert seit
    29.01.2004
    Beiträge
    322
    Danke
    10
    Erhielt 22 Danke für 22 Beiträge

    Standard

    Hallo
    Dein MD52 muss vom Typ Pointer sein. Du musst ihn erst initialisieren mit z.B
    L P#0.0
    T MD52

    und wenn du dann auf das nächste Doppelwort zugreifen willst musst du den MD52 erhöhen. Als Beispiel

    L MD52
    L P#4.0 (Erhöhung des Zeigers um eine Doppelwort)
    +D
    T MD52

    Gruß

    Andreas

  4. #3
    Anonymous Gast

    Standard

    vielen dank andreas,

    mfg thomas

  5. #4
    Registriert seit
    13.09.2005
    Beiträge
    633
    Danke
    8
    Erhielt 8 Danke für 6 Beiträge

    Standard

    Bei mir funktioniert das irgendwie nicht.

    Ich will ein Byte auslesen, überprüfen ob der Hexwert des Bytes kleiner 31 ist und ggf mit Hex 0 überschreiben und dann das nächste Byte überprüfen.

    Irgendwie funktioniert das nicht so richtig.

  6. #5
    Registriert seit
    13.09.2005
    Beiträge
    633
    Danke
    8
    Erhielt 8 Danke für 6 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich habe vergessen den Programmteilanzuhängen. Hier ist er.

    Ab dem wegkommentierten Teil geht die CPU auf Stop.

    init: L P#14.0 //Start bei DBB14
    T MD 1

    L DBLG //Länge des DB bestimmen
    T #lang //in Variable lang speicheren

    S #init


    ctrl: L MD 1 //Vergleich um Pointer größer als DB
    L #lang
    <=D
    = #cont

    U #cont
    SPB chk

    SPA ende


    chk: L L#31 //Vergleich ob Hexwert kleiner gleich 31
    L DBB [MD 1]
    <=D
    = #mist


    U #mist
    SPB pst

    SPA ctrl

    pst: NOP 0
    //pst: L #zero //ist der Hexwert kleiner 31 wird dieser mit 0 überschrieben
    // T DBB [MD 1]

    // L MD 1 //Pointer um 1 erhöhen
    // L P#1.0
    // +D
    // T MD 1

    SPB ctrl

    ende: NOP 0


    Kann mir jemand sagen wo der Fehler liegt?

Ähnliche Themen

  1. Messwerte in ein Datenbaustein
    Von baui im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 18.06.2009, 10:44
  2. Messwerte anzeigen
    Von settelma im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 17.04.2008, 16:11
  3. CP 340 - Messwerte empfangen
    Von rs-plc-aa im Forum Simatic
    Antworten: 73
    Letzter Beitrag: 24.01.2008, 11:46
  4. Messwerte in Texttabelle
    Von steven im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 04.10.2007, 15:36
  5. Messwerte Auswerten
    Von Anonymous im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 21.11.2003, 18:23

Lesezeichen

Berechtigungen

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