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

Ergebnis 1 bis 9 von 9

Thema: BCD Zahlen in DB, Step7 V.5

  1. #1
    Registriert seit
    30.09.2005
    Beiträge
    33
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    habe irgendwie ein Problem mit den BCD Zahlen.
    Ich wandle eine Ganzzahl mittels DTB in eine BCD Zahl, aber habe jetzt Probleme die BCD Zahlen Stelle für Stelle in einen DB zu schreiben, da ich irgendwie ja nur ein Byte (2 BCDs) laden kann.

    Bsp:
    L 1234
    DTB
    T MD 20
    L ??????????? <- ja wie nur?
    T DB20.DBB 0
    L ???????????
    T DB20.DBB 1

    Wenn ich also bspw. 1234 in BCD wandle, habe ich Binär ja
    0001 0010 0011 0100
    im MD 20 stehen. Mit welchen Ladebefehlen kann ich jetzt die einzelnen Ziffern in eine DB laden, so dass in dem DBB20.0 eine Eins, DBB20.1 eine Zwei, usw. steht?

    Edit: Step 7 V.5
    Zitieren Zitieren BCD Zahlen in DB, Step7 V.5  

  2. #2
    Registriert seit
    09.06.2005
    Ort
    Mülheim a. d. Ruhr
    Beiträge
    265
    Danke
    11
    Erhielt 13 Danke für 11 Beiträge

    Standard

    wieso macht man denn sowas?!?


    aber als lösungsvorschlag würde ich "auskommentieren" und/oder "hin- und her schieben"anführen.



    in einer s5 würde auskommentieren dann ungefähr so aussehen

    A DB20
    L MD20
    L KM 0000 0000 0000 1111 oder L KH 000F
    UW
    T DBB0

    EDIT: gibts in einer S5 überhaupt DBB´s?!?

    da ich es in einer s7 noch nich gemacht hab, muss du mal schaun wie es da von der notation aussieht. vom prinziep aber eigentlich ähnlich.


    die nächsten stellen auch auskommentieren und entsprechned nach rechts verschieben.
    wäre so mein erster gedanke...

    wenns nicht stimmt, danke fürs lesen
    .Punkt!

  3. #3
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.849
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    in diesem fall reicht auch ein itb

    L 1234
    t mw 20

    l mb20
    srw4
    t dbb20

    l mb20
    l w#16#00001111
    uw
    t dbb21

    l mb21
    srw4
    t dbb22

    l mb21
    l w#16#00001111
    uw
    t dbb23
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  4. #4
    Registriert seit
    30.09.2005
    Beiträge
    33
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Zitat Zitat von e4sy
    wieso macht man denn sowas?!?
    Tja, wahrscheinlich macht man sowas gar nicht... aber mir ist nichts anderes eingefallen und zwar will ich einen DB über SFC14 senden, und in dem DB soll ein Sollwert ASCII codiert in 6 Bytes stehen.
    Der Sollwert wird vorher aber als Ganzzahl eingegeben und ich muss den jetzt so umwandeln, dass ich in einem Array von 6 Bytes diesen Sollwert Ziffer für Ziffer stehen habe.
    Also aus 123407 soll letztenendes ein DB entstehen, der folgende Werte drin stehen hat:
    [31] [32] [33] [34] [30] [37]

    Wenn es da natürlich eine viel einfachere Variante gibt, ich bin da in jede Richtung (solange ich es verstehe...) offen.

    @volker
    hmm, irgendwie haute das beim ersten Versuch nicht hin, hab dann komische Werte im DB stehen, aber hab das jetzt auch erstmal nur reinkopiert und überlege jetzt erstmal, was da überhaupt passiert...

  5. #5
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.849
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    du hast recht. ich habe da nicht richtig gedacht.

    bei einer dezimalen zahl ligen die ziffern ja gar nicht in 1 tetrade.
    deshalb muss man die natürlich erst ins bcd wandeln.

    so gehts
    Code:
    AUF   DB    10
          L     1234
          DTB   
          T     MW    20
    
          L     MB    20
          SRW   4
          T     DBB    1
    
          L     MB    20
          L     W#16#F
          UW    
          T     DBB    2
    
          L     MB    21
          SRW   4
          T     DBB    3
    
          L     MB    21
          L     W#16#F
          UW    
          T     DBB    4
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  6. #6
    Registriert seit
    30.09.2005
    Beiträge
    33
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Ja, vielen Dank, die Idee mit dem Schieben und Ausmaskieren hab ich jetzt verstanden und auch umgesetzt. Klappt jetzt so, wie ich das will.
    Wandel erst den eingegebenen Wert in BCD und speicher den in einem MD.Dann wird der MB geladen und nach einer Schiebeoperation (SWL 4) gespeichert, dann nochmaliges Laden und UND-Verknüpfen mit 00001111 und erneutes Speichern und das ganze halt 3-4 Mal.
    Hoffentlich schaut sich nie jmd. den Code an, dass ist sicherlich keine vorbildliche Programmierung
    ...aber es klappt

  7. #7
    Registriert seit
    09.06.2005
    Ort
    Mülheim a. d. Ruhr
    Beiträge
    265
    Danke
    11
    Erhielt 13 Danke für 11 Beiträge

    Standard

    freut mich zuhören

    kannst ja als kommentar dran schreiben "viele wege führen nach rom"
    .Punkt!

  8. #8
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.849
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    Zitat Zitat von Sh4gr4th
    Hoffentlich schaut sich nie jmd. den Code an, dass ist sicherlich keine vorbildliche Programmierung
    ...aber es klappt
    wieso? ist doch ok.
    alternativ kannst du ja mal die fc 5 und 16 aus den iec's testen.
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  9. #9
    Registriert seit
    12.08.2005
    Beiträge
    192
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Bei programmieren sind wir nicht bei Schönheitswettbewerb oder wer
    hat den kürzeren Code.
    Jeder hat seinen eigenen Stil und viele Wege führen nach Rom.

    Das wichtigste ist die Funktion.

    Gruß

  10. Folgender Benutzer sagt Danke zu Der Nörgler für den nützlichen Beitrag:

    SIGGI (01.03.2009)

Ähnliche Themen

  1. Zahlen in Datum
    Von 4Josh im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 22.04.2011, 11:05
  2. Zahlen zusammenschieben ?
    Von erzteufele im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 22.09.2009, 13:34
  3. Zahlen auswerten
    Von Glitsch Master im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 18.09.2009, 12:07
  4. BCD-Zahlen verwandeln
    Von Dr. Holsten im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 10.10.2007, 11:08
  5. BCD zahlen in der s7 314
    Von Hobby programmierer im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 01.12.2005, 05:46

Lesezeichen

Berechtigungen

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