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

Ergebnis 1 bis 5 von 5

Thema: S5: Zwei Worte zu einer 32bit-Festpunktzahl mit einer CPU943 zusammenfügen?

  1. #1
    Registriert seit
    30.08.2007
    Beiträge
    207
    Danke
    16
    Erhielt 22 Danke für 17 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo liebe SPS-Gemeinde,

    ich habe ein vorerst theoretisches Problem mit dem Zusammenfügen zweier 16bit-Werte zu einer 32bit-Festpunktzahl innerhalb der S5-CPU 6ES5 943-7UB21.
    Mir ist nicht ganz schlüssig, wie ich folgendes mit der S5 umsetzen kann, da ich mit der S7 vertrauter bin:

    Im DB111 stehen beispielsweise folgendende Werte:
    • DW0 KH FFFF ; High-Word
    • DW1 KH 0001 ; Low-Word

    Diese beiden Werte sollen zu einem Zählerstand gehören.
    Nun möchte ich im PB23 die beiden Worte aus dem Datenbaustein zu einem Doppelwort zusammenfügen und durch 1000 dividieren.
    Der Rest der Division interessiert mich im Moment nicht, mir ist erstmal wichtig zu wissen, ob das überhaupt mit dieser CPU funktioniert...

    Heute Abend habe ich kein STEP5 mehr zur Verfügung, aber ist folgender Ansatz richtig bzw. kann die CPU943 damit umgehen?

    Code:
    A DB111    ; Datenbaustein öffnen
    L DW0      ; High-Word aus dem DB111 laden...
    T MW0      ; ... und in das MW0 transferieren
    L DW1      ; Low-Word aus dem DB111 laden...
    T MW2      ; ... und in das MW2 transferieren
    L MD0      ; das entstandene Merkerdoppelwort laden
    L KF +1000 ; 1000 laden
    /D         ; MD0 durch 1000 teilen
    T .......  ; Ergebnis speichern...

    Besten Dank,
    poppycock
    Mit einem Computer löst man die Probleme, die man ohne einen Computer nicht hätte.
    Zitieren Zitieren S5: Zwei Worte zu einer 32bit-Festpunktzahl mit einer CPU943 zusammenfügen?  

  2. #2
    Registriert seit
    21.07.2003
    Ort
    Bangkok / Thailand
    Beiträge
    98
    Danke
    24
    Erhielt 7 Danke für 7 Beiträge

    Standard

    Hallo,

    Code:
    L MD0      ; das entstandene Merkerdoppelwort laden
    Das geht so bei der S5 nicht weil es keine 32Bit-Doppelworte gibt.
    Deine S5 kann nur 16Bit-Worte verarbeiten.

    Wenn ich mich richtig erinnere muss man spezielle Funktionsbausteine benutzen
    um die beiden Worte (Hi-Wort und Low-Wort) in eine Festpunktzahl umzuwandeln.
    Ich weiss jetzt aber nicht mehr welche das sind.....FB???....

    Gruß

  3. #3
    Avatar von poppycock
    poppycock ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    30.08.2007
    Beiträge
    207
    Danke
    16
    Erhielt 22 Danke für 17 Beiträge

    Standard

    Hallo Guido!

    Zitat Zitat von Guido Beitrag anzeigen
    Wenn ich mich richtig erinnere muss man spezielle Funktionsbausteine benutzen
    um die beiden Worte (Hi-Wort und Low-Wort) in eine Festpunktzahl umzuwandeln.
    Und schon wieder was gelernt!
    http://cache.automation.siemens.com/...B/sfb_115f.pdf
    Es handelt sich bei der Festpunktarithmetik um die Bausteine
    • ADD:32 (Addition)
    • SUB:32 (Subtraktion)
    • MUL:32 (Multiplikation)
    • DIV:32 (Division)

    Besten Dank,
    poppycock
    Mit einem Computer löst man die Probleme, die man ohne einen Computer nicht hätte.

  4. #4
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Zitat Zitat von Guido Beitrag anzeigen
    Das geht so bei der S5 nicht weil es keine 32Bit-Doppelworte gibt.
    [Klugscheißmodus_ON]
    Eine S5 kann auch 32Bit verarbeiten, allerdings erst ab den CPU's >= 135U
    Zitat Zitat von Guido Beitrag anzeigen
    Deine S5 kann nur 16Bit-Worte verarbeiten.
    Aber da du hier gezielt von "Deine S5" sprichst, nehme ich an du meinst an dieser Stelle die CPU und nicht die Software.
    [/Klugscheißmodus_OFF]
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  5. #5
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.252
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Paule Beitrag anzeigen
    [Klugscheißmodus_ON]
    Eine S5 kann auch 32Bit verarbeiten, allerdings erst ab den CPU's >= 135U

    Aber da du hier gezielt von "Deine S5" sprichst, nehme ich an du meinst an dieser Stelle die CPU und nicht die Software.
    [/Klugscheißmodus_OFF]
    [Klugscheißmodus_ON]
    CPU 945
    [/Klugscheißmodus_OFF]

Ähnliche Themen

  1. Zwei CoDeSys-Teile zu einem Zusammenfügen
    Von visu90 im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 10.09.2011, 12:57
  2. Antworten: 5
    Letzter Beitrag: 17.03.2011, 12:12
  3. Antworten: 20
    Letzter Beitrag: 20.01.2011, 21:55
  4. Kopplung einer 317 mit einer IM151 über Profinet
    Von GerhardPtl im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 08.07.2010, 13:52
  5. Zwei Uhren in einer SPS
    Von horseshoe im Forum Programmierstrategien
    Antworten: 11
    Letzter Beitrag: 26.01.2006, 17:02

Lesezeichen

Berechtigungen

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