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

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

Thema: Keine Berechnung mit DWORD möglich

  1. #1
    Registriert seit
    18.09.2012
    Beiträge
    75
    Danke
    4
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi Leute,

    ich weiss nicht ob ich einen Denkfehler habe aber ich wollte eine Berechnung von 2 Variablen machen. Diese sind als DWORD deklariert.

    Wenn ich nun aber eine normal Berechnung machen möchte, wie zum Beispiel

    a:=b+c (alles in DWORD)

    bekomme ich die Fehlermeldung: Operation "+" nicht kompatibel mit den Datentypen DWORD.

    Kann in Step 7 keine Berrechnung mit DWORD machen. Und wenn nein warum nicht?????

    Hoffe mir kann jemand helfen.

    Vielen Dank

    Grüße
    Zitieren Zitieren Keine Berechnung mit DWORD möglich  

  2. #2
    Registriert seit
    30.08.2003
    Beiträge
    2.197
    Danke
    30
    Erhielt 258 Danke für 229 Beiträge

    Standard

    Hallo,

    DWORD ist keine Zahlenformat - deswegen meckert hier die Typprüfung. Bei Berechnungen wird von Zahlen ausgegangen.

    André
    www.raeppel.de
    mit innovativen SPS-Tools schneller ans Ziel ....
    Zitieren Zitieren Dword  

  3. #3
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.752
    Danke
    323
    Erhielt 1.526 Danke für 1.286 Beiträge

    Standard

    Ein DWORD ist bei strenger Betrachtung keine Zahl, sondern halt nur "32 Bit".
    In Step7 gibt es auch allgemein keinen Unsigned-Datentyp.

    Ergo: Du muss deine beiden DWORD einen Typecast unterziehen (DWORD_TO_DINT).

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  4. #4
    MPH ist offline Benutzer
    Themenstarter
    Registriert seit
    18.09.2012
    Beiträge
    75
    Danke
    4
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hi Leute,

    danke für die schnellen Antworten.
    Dann verstehe ich aber nicht warum im Handbuch der Win AC bei Befehlsätzen steht, dass eine arithmetische Berechnung von Doppelwort eine Ausführungszeit von 8 µs hat.
    Wie haben die des dann gemacht, wenn eine Berechnung nicht möglich ist. Weil eine Typenumwandlung kostet ja auch Zeit!!!!

    Vielen Dank

    Grüße

  5. #5
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.308
    Danke
    932
    Erhielt 3.321 Danke für 2.683 Beiträge

    Standard

    Eine Typumwandlung DWORD_TO_DINT kostet keine Zeit und keinen Programmspeicher, es ist einfach eine Anweisung für den Compiler, den Inhalt eines 32-Bit-Doppelwords als 32-Bit-Integer zu betrachten.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. #6
    Registriert seit
    23.10.2009
    Beiträge
    399
    Danke
    59
    Erhielt 114 Danke für 88 Beiträge

    Standard

    Zitat Zitat von MPH Beitrag anzeigen
    ...eine Typenumwandlung kostet ja auch Zeit!!!!
    DWORD_To_DINT kostet keine Zeit, da wird kein Code erzeugt, sondern nur dem SCL-Compiler mitgeteilt, dass der Programmierer weiß was er tut.
    Gruß
    Erich

    ps: Harald war schneller

  7. #7
    MPH ist offline Benutzer
    Themenstarter
    Registriert seit
    18.09.2012
    Beiträge
    75
    Danke
    4
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Ok allles klar.

    Vielen Dank für eure Hilfe. Habt mir sehr weitergeholfen.

    Gruß

  8. #8
    Registriert seit
    01.10.2007
    Ort
    Waiblingen
    Beiträge
    3.317
    Danke
    767
    Erhielt 536 Danke für 419 Beiträge

    Standard

    Gibt es einen Grund, die Variablen nicht als DINT zu deklarieren?

  9. #9
    Registriert seit
    14.09.2011
    Beiträge
    109
    Danke
    17
    Erhielt 5 Danke für 5 Beiträge

    Standard

    DINT Variablen lassen sich nicht verwenden, wenn man die Werte vorher aus einem PED, z.B. aus einer SSI Karte holen will.
    Dann kann man nur DWORD an den weiterverarbeitenden Baustein übergeben. Big S Idiotie halt...

    Euer Schatten

  10. #10
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.752
    Danke
    323
    Erhielt 1.526 Danke für 1.286 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Da ist der Schatten aber schlecht informiert ...

    Symboltabelle
    mySSI PEDxxx DINT
    Fertig.

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 05.07.2012, 13:20
  2. Antworten: 6
    Letzter Beitrag: 26.12.2010, 08:35
  3. Antworten: 0
    Letzter Beitrag: 14.10.2010, 11:24
  4. Keine Bitmeldung möglich
    Von Bensen83 im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 16.09.2009, 09:31
  5. negatives dword - ist das möglich?
    Von lefrog im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 28.07.2005, 21:49

Lesezeichen

Berechtigungen

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