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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 21

Thema: bcd schalter an di

  1. #11
    prinz1978 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.03.2007
    Beiträge
    149
    Danke
    102
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    also irgendwie bekomme ich die zwei werte einfach nicht gleich obwohl ich umgewandelt habe irgend etwas mache ich falsch hier ein screenshot.
    mfg
    Angehängte Grafiken Angehängte Grafiken

  2. #12
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

    Standard

    Probier mal meinen Programmcode:

    Code:
          L     EW     0                    // BCD-Zahl ohne Vorzeichen
          T     MD    10                    // BCD-Zahl mit Vorzeichen
          BTD                               // BCD-Zahl mit Vorzeichen => DINT-Zahl
          T     MW    20                    // INT-Zahl
    http://www.sps-forum.de/showpost.php...7&postcount=10

    Gruß Kai

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

    prinz1978 (07.08.2007)

  4. #13
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.264
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Anhand deiner Frage mit MW4 und MW5 nehme ich mal einfach an du arbeitest mit Step5.

    Ich glaube es gibt einen Standard-FB, FB240 ??? Schau mal bei den fest eingebauten 200-er FB nach.

    Ah ich seh gerade doch S7, dann nimm jedenfalls nicht MW4 und MW5 das wird nix bei S7.
    Die Befehle heißen BTD (DINT) und BTI (INT).
    Geändert von Ralle (07.08.2007 um 19:54 Uhr)
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  5. #14
    prinz1978 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.03.2007
    Beiträge
    149
    Danke
    102
    Erhielt 2 Danke für 2 Beiträge

    Standard

    nein ich arbeite mit s7 der code von kai hat funktioniert aber im ernst ich würde da ni im leben draufgekommen kannst du das ein wenig genauer erklären ?????? kai wie kommt man auf sowas drauf ?????
    Angehängte Grafiken Angehängte Grafiken
    Geändert von prinz1978 (07.08.2007 um 20:03 Uhr)

  6. #15
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.264
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    MW 4 besteht aus MB 4 und MB 5
    MW 5 besteht aus MB 5 und MB 6

    Du überschreibst also mit dem einen MW, einen Teil des anderen.
    Deslhalb nutzt man im Allgemeinen möglichst nie ungerade MW.

    Das Gleiche kann passieren bei:

    MD 4 und MD 6 auch hier aufpassen
    MD 4 besteht aus Byte 4,5,6,7
    MD 6 besteht aus Byte 6,7,8,9
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  7. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    prinz1978 (07.08.2007)

  8. #16
    prinz1978 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.03.2007
    Beiträge
    149
    Danke
    102
    Erhielt 2 Danke für 2 Beiträge

    Standard

    danke nochmal für die vielen antworten das problem ist jetzt beseitigt kann mann diese eingaben auch an eine display ausgeben welches lcd display könnt ihr mir empfehlen?
    mfg

  9. #17
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

    Standard

    Zitat Zitat von prinz1978 Beitrag anzeigen
    der code von kai hat funktioniert aber im ernst ich würde da ni im leben draufgekommen kannst du das ein wenig genauer erklären ?????? kai wie kommt man auf sowas drauf ?????
    Eine BCD-Zahl (16-Bit) besteht aus 4 Tetraden mit jeweils 4 Bit. Die Tetrade 1 bildet dabei das Vorzeichen und die Tetraden 2-3 die Ziffern der BCD-Zahl (16-Bit).

    Das Problem ist nun aber, dass wir hier eine BCD-Zahl (16-Bit) ohne Vorzeichen und dafür mit 4 Ziffern haben.

    Bei der Umwandlung der BCD-Zahl (16-Bit) mit dem Befehl BTI in eine INT-Zahl (16-Bit), wird die Tetrade 1 der BCD-Zahl (16-Bit) als Vorzeichen interpretiert. Und da wir hier kein Vorzeichen haben, sondern 4 Ziffern, bekommen wir bei der Umwandlung mit dem Befehl BTI ein falsches Ergebnis.

    Wir müssen also die BCD-Zahl (16-Bit) zuerst in eine BCD-Zahl (32-Bit) umwandeln. Wir haben dann eine BCD-Zahl (32-Bit) mit einem Vorzeichen und 7 Ziffern. Die ersten 3 Ziffern werden dabei mit einer 0 aufgefüllt. Die letzten 4 Ziffern sind unsere Ziffern aus der BCD-Zahl (16-Bit).

    Die BCD-Zahl (32-Bit) kann dann mit dem Befehl BTD in eine DINT-Zahl (32-Bit) umgewandelt werden.

    Und aus der DINT-Zahl (32-Bit) können wir dann die INT-Zahl (16-Bit) bilden.

    Gruß Kai

  10. Folgender Benutzer sagt Danke zu Kai für den nützlichen Beitrag:

    prinz1978 (07.08.2007)

  11. #18
    prinz1978 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.03.2007
    Beiträge
    149
    Danke
    102
    Erhielt 2 Danke für 2 Beiträge

    Standard

    da kann ich nur sagen respekt sind das die jahre die einem soviel beibringt oder etwas anderes (sebststudium bücher internet ....) ?
    mfg

  12. #19
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

    Standard

    Ich denke mal, da kommt vieles zusammen. Zunächst einmal natürlich die Erfahrung, dann aber eben auch Bücher oder das Internet. Man muss aber gar nicht alles wissen, man muss nur wissen, wo man etwas finden kann.

    Gruß Kai

  13. #20
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hier noch einmal ein paar Erläuterungen zu meinem Programmcode:

    Code:
          L     EW     0                    // BCD-Zahl ohne Vorzeichen
          T     MD    10                    // BCD-Zahl mit Vorzeichen
          BTD                               // BCD-Zahl mit Vorzeichen => DINT-Zahl
          T     MW    20                    // INT-Zahl
    Code:
    L EW0
     
    BCD       2        4        6        8
     
    BIT    15 - 12  11 - 08  07 - 04  03 - 00
     
    EW0    0 0 1 0  0 1 0 0  0 1 1 0  1 0 0 0
     
    T MD10
     
    BCD       +        0        0        0        2        4        6        8
     
    BIT    31 - 28  27 - 24  23 - 20  19 - 16  15 - 12  11 - 08  07 - 04  03 - 00
     
    MD10   0 0 0 0  0 0 0 0  0 0 0 0  0 0 0 0  0 0 1 0  0 1 0 0  0 1 1 0  1 0 0 0
     
    BTD
     
    DEZ    + 2 4 6 8
     
    BIT    31 - 28  27 - 24  23 - 20  19 - 16  15 - 12  11 - 08  07 - 04  03 - 00
     
    AKKU1  0 0 0 0  0 0 0 0  0 0 0 0  0 0 0 0  0 0 0 0  1 0 0 1  1 0 1 0  0 1 0 0
     
    T MW20
     
    DEZ    + 2 4 6 8
     
    BIT    15 - 12  11 - 08  07 - 04  03 - 00
     
    MW20   0 0 0 0  1 0 0 1  1 0 1 0  0 1 0 0
    Gruß Kai

Ähnliche Themen

  1. BCD Schalter
    Von c.wehn im Forum Elektronik
    Antworten: 12
    Letzter Beitrag: 01.07.2011, 16:41
  2. Schalter
    Von redscorpion im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 15.05.2011, 15:22
  3. schalter
    Von stan_keiler im Forum Simatic
    Antworten: 16
    Letzter Beitrag: 21.04.2010, 11:57
  4. Schalter A durch Schalter B schließen und umgekerhrt?
    Von TechnikFreak10 im Forum Simatic
    Antworten: 23
    Letzter Beitrag: 11.03.2010, 23:23
  5. DIP-Schalter
    Von TheMCP im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 25.02.2009, 20:50

Lesezeichen

Berechtigungen

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