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

Ergebnis 1 bis 7 von 7

Thema: Warum wird dem Timer ein Wert als BCD übergeben?

  1. #1
    Registriert seit
    03.07.2006
    Beiträge
    45
    Danke
    6
    Erhielt 9 Danke für 5 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    ich habe ein Fremdes Programm vor mir und setze mich damit auseinander, die paar Zeilen verstehe ich nicht so ganz.
    NW1:
    L DB1.DBW0
    L 5
    -I
    ITB
    L W#16#2000
    +D
    T DB11.DBW16
    NW2:
    U M0.1
    L DB11.DBW16
    SE T1

    Ich verstehe es so:
    NW1
    (Wert von DB1.DBW0 -5)+2000=DB11.DBW16 (BCD)
    NW2
    Wenn Merker da ist übergebe den Wert an den Timer

    warum wird dem Timer die Zeit als BCD Zahl übergeben?

    und was heißt W#16#2000? (vielleicht 2000) was heißt W und 16
    Sorry ich bin leider noch nicht so fit in programmieren.
    Es gibt genau 10 Arten von Menschen:
    Solche, die binär verstehen und solche, die es nicht tun.
    Zu welcher Sorte gehörst du?
    Zitieren Zitieren Warum wird dem Timer ein Wert als BCD übergeben?  

  2. #2
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Mit L W#16#2000 (= Angabe in Hex) legt die Granularität des Timers fest. Diese steht im obersten Nibble. In diesem Fall handelt es sich um eine Auflösung von 1 Sekunde. Der Timerwert steht im unteren Byte. Berechnung auf diese Weise nur wenn absolut sicher ist, was im Wort steht.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

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

    Standard

    Da wird eine Integereingabe für eine Zeit so umgerechnet, daß ein Step7-Timer diese auch versteht. Siehe dazu auch hier:

    http://www.sps-forum.de/showthread.php?t=2942
    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
    DN8 ist offline Benutzer
    Themenstarter
    Registriert seit
    03.07.2006
    Beiträge
    45
    Danke
    6
    Erhielt 9 Danke für 5 Beiträge

    Standard

    Danke für die Hilfe und den Link.
    Ich habe es jetzt auch nochmal in der Simatic Hilfe nachgelesen, ich denke ich habe es verstanden.
    Was ich noch nicht so ganz verstehe ist: warum man BCD und Hexadezimal addiert.

    Hex BCD
    2000=10000000000000

    Mir ist klar, dass man den gewünschten Zeitwert in BCD wandelt und mit 2000 den Timer parametriert.
    Ich dachte immer dass die Werte in dem selben Format sein müssen um damit rechnen zu können.
    Es gibt genau 10 Arten von Menschen:
    Solche, die binär verstehen und solche, die es nicht tun.
    Zu welcher Sorte gehörst du?

  5. #5
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Hex, Dezimal, Binär sind doch nur andere Darstellungsformen eines Inhaltes. Wenn ich in ein bestimmtes Nibble eines Wortes einen Wert laden will, ist dies mit hexadezimaler Darstellung wesentlich klarer machbar als z.B. in dezimaler Darstellung. Wichtig ist, dass man sich speziell bei Timern den internen Aufbau vor Augen hält und dann die benötigten Operationen durchführt.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  6. #6
    Registriert seit
    28.10.2005
    Ort
    Ottweiler, Saar
    Beiträge
    940
    Danke
    259
    Erhielt 124 Danke für 109 Beiträge

    Standard

    Zitat Zitat von DN8 Beitrag anzeigen
    Danke für die Hilfe und den Link.
    Ich habe es jetzt auch nochmal in der Simatic Hilfe nachgelesen, ich denke ich habe es verstanden.
    Was ich noch nicht so ganz verstehe ist: warum man BCD und Hexadezimal addiert.

    Hex BCD
    2000=10000000000000

    Mir ist klar, dass man den gewünschten Zeitwert in BCD wandelt und mit 2000 den Timer parametriert.
    Ich dachte immer dass die Werte in dem selben Format sein müssen um damit rechnen zu können.
    Die Addition ist hier zulässig, da sie wie eine Oder-Verknüpfung
    wirkt; das liegt an den Nullen in der "Hexzahl".

  7. #7
    DN8 ist offline Benutzer
    Themenstarter
    Registriert seit
    03.07.2006
    Beiträge
    45
    Danke
    6
    Erhielt 9 Danke für 5 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    OK ich danke euch
    Es gibt genau 10 Arten von Menschen:
    Solche, die binär verstehen und solche, die es nicht tun.
    Zu welcher Sorte gehörst du?

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 18.05.2011, 09:34
  2. Antworten: 19
    Letzter Beitrag: 09.11.2010, 13:58
  3. Timernummer und -wert in Funktion übergeben
    Von KingShango im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 29.09.2009, 15:09
  4. Wert formatunabhängig an FC übergeben
    Von Isha im Forum Simatic
    Antworten: 34
    Letzter Beitrag: 25.01.2008, 08:41
  5. INTEGER Wert per Enter übergeben
    Von Fireball im Forum HMI
    Antworten: 0
    Letzter Beitrag: 22.01.2007, 16:06

Lesezeichen

Berechtigungen

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