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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Bcd >= 1000 ??

  1. #1
    Registriert seit
    02.10.2007
    Beiträge
    39
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Lasse über eine Lichtschranke mit einem Flankenhilfsmerker 2 Vorwärtszähler zählen und durch jeweils eine Wandlung von BCD auf INT einen Addierer Add_I zählen, wobei der Wert wieder von INT auf BCD für ein AW Ausgangssignal gewandelt wird.

    Mein Problem hierbei ist das ab den Wert von => 1000 der Wert als Hex angezeigt wird, das ist ja riesengrosser ....
    Zitieren Zitieren Bcd >= 1000 ??  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Hallo,
    wenn ich dich richtig verstanden habe, dann möchtest du über 1000 hinaus zählen ...
    Das kannst du natürlich mit Kaskadierung von Zählern lösen. Ich würde allerdings mit der von dir angesprochenen Flankenauswertung gleich direkt ein Wort (INT) hochzählen und dieses dann mit den entsprechenden Wandlungs-Befehlen (ITB) in BCD umwandeln. Hierbei jedoch beachten, dass eine INT-Variable bis 32766 zählen kann und das kannst du mit 16Bit in BCD (1 AW) nicht mehr darstellen. Hier geht es dann (nur) bis 9999. Den Rest mußt du dann mit Vergleichern abfangen ...

  3. #3
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    @borstek

    Noch was zu ITB

    Die BCD-Zahl kann im Bereich von "-999" bis "+999" liegen. Befindet sich die Zahl außerhalb des zulässigen Bereichs, werden die Statusbits OV und OS auf "1" gesetzt.
    Also mal unabhängig von den Zählern, mußt du DTB nutzen:

    Die BCD-Zahl kann im Bereich zwischen "-9999999" und "+9999999" liegen. Wenn sich die Zahl nicht im zulässigen Bereich befindet, werden die Statusbits OV und OS auf "1" gesetzt.
    Ich denke mal, deswegen wird bei dir ab 1000 ein Hexwert angezeigt. Es ist also kein riesengroßer... sonder eher der Programmierer ist i.d.R. ein riesengroßer...
    Geändert von Ralle (09.10.2007 um 14:43 Uhr) Grund: Schreibfehler
    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

  4. #4
    Registriert seit
    02.10.2007
    Beiträge
    39
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Super!! Wie kann man dann über eine Signalflanke ohne Zähler ein BCD Wert ermitteln/entstehen? Irgendwo muss ein Wert doch als MW abfragbar sein, wie beim Zähler der DUAL oder DEZ Parameter.
    Also wie kann ein ein VKE oder eine ausgewertete Flanke zählend formatieren


    Hilft mir meinen Verstand zu suchen, ich habe ihn verloren

  5. #5
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Mal ein kleines Bsispiel:

    Code:
          UN    #Flanke
          SPB   NIX
    
          L     #Zaehl_DINT
          L     1
          +D    
          T     #Zaehl_DINT
    
    NIX:  NOP   0
    
          L     #Zaehl_DINT
          DTB   
          T     #My_BCD_DWORD
    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

  6. #6
    Registriert seit
    02.10.2007
    Beiträge
    39
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    @borstek

    Noch was zu ITB

    Also mal unabhängig von den Zählern, mußt du ITD nutzen:

    Ich denke mal, deswegen wird bei dir ab 1000 ein Hexwert angezeigt. Es ist also kein riesengroßer... sonder eher der Programmierer ist i.d.R. ein riesengroßer...
    neeee !

  7. #7
    Registriert seit
    02.10.2007
    Beiträge
    39
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    neeee. !

    Wenn INT (Ganzzahl)-zählbereich von -32768 bis + 32768 dann kann doch nur theoretisch der DINT (Ganzzahl)-zählbereich von - 65536 bis + 65536 liegen dezimal liegen oder wie bis 99999999 geht doch nicht, nur bei BCD als WORD??

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

    Standard

    Zitat Zitat von borstek Beitrag anzeigen
    Lasse über eine Lichtschranke mit einem Flankenhilfsmerker 2 Vorwärtszähler zählen und durch jeweils eine Wandlung von BCD auf INT einen Addierer Add_I zählen, wobei der Wert wieder von INT auf BCD für ein AW Ausgangssignal gewandelt wird.

    Mein Problem hierbei ist das ab den Wert von => 1000 der Wert als Hex angezeigt wird, das ist ja riesengrosser ....
    Mit folgendem Programmcode kann man BCD-Zahlen im Bereich von 0 bis 9999 auf einem AW ausgeben:

    Code:
          U     E     10.0
          FP    M     10.0
          SPBN  M01
          L     MW    20
          L     1
          +I    
          T     MW    20
     
    M01:  L     MW    20
          DTB   
          T     AW    10
    Siehe hierzu auch:

    http://www.sps-forum.de/showpost.php...90&postcount=2

    http://www.sps-forum.de/showpost.php...0&postcount=21

    Gruß Kai

  9. #9
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Zitat Zitat von borstek Beitrag anzeigen
    neeee. !

    Wenn INT (Ganzzahl)-zählbereich von -32768 bis + 32768 dann kann doch nur theoretisch der DINT (Ganzzahl)-zählbereich von - 65536 bis + 65536 liegen dezimal liegen oder wie bis 99999999 geht doch nicht, nur bei BCD als WORD??
    Eine 32-Bit Ganzzahl ist so definiert:
    Ganzzahl (32 Bit)
    -2 147 483 648 bis +2 147 483 647
    Natürlich dann BCD als DWord, darum auch DTB.
    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

  10. #10
    Registriert seit
    02.10.2007
    Beiträge
    39
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Schön aber er zählt bei mir nur bis ca. 65 500 bei der AWL Zuweisung mit den MW 10 als zähl DINT und dem DTB

Ähnliche Themen

  1. I need to buy Eldatic 1000 MC2
    Von **** im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 27.01.2012, 10:25
  2. LG-Ni 1000
    Von Golden Egg im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 21.03.2011, 20:14
  3. LG-Ni 1000 Fühler
    Von Tom´sen im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 08.11.2008, 17:03
  4. 1000 VDC 10A trennen
    Von svenulm31 im Forum Maschinensicherheit - Normen und Richtlinien
    Antworten: 9
    Letzter Beitrag: 18.08.2008, 07:53
  5. Suche Schaltschrank (ca 1000 x 1000 x 300)
    Von diabolo150973 im Forum Suche - Biete
    Antworten: 8
    Letzter Beitrag: 12.03.2008, 19:31

Lesezeichen

Berechtigungen

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