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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 20 von 20

Thema: Real_to_Dint Problem

  1. #11
    Lukas_Ink ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    14.01.2016
    Beiträge
    15
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von PN/DP Beitrag anzeigen
    Das macht nichts. Es ist egal was vor dem zuweisen/überschreiben drin steht.
    Harald
    Es stand beim beobachten an der Maschine direkt nichts drin, also 0.

    in die Umwandlung hinein kam der wert 6400.
    Die Variablen sind alle im static deklariert

  2. #12
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.204
    Danke
    926
    Erhielt 3.293 Danke für 2.662 Beiträge

    Standard

    Zitat Zitat von Lukas_Ink Beitrag anzeigen
    Es stand beim beobachten an der Maschine direkt nichts drin, also 0.


    Bist Du Programmierer oder Schlosser/Instandhalter oder Bediener?
    Wenn man sich Programmierer nennt, dann sollte man verständliche und eindeutige Auskünfte geben können. Und Nachfragen vollständig beantworten.

    Wie hast Du "an der Maschine" beobachtet? Mit einem HMI oder Operator Panel? Oder hast Du mit einem PG mit TIA das Programm beobachtet?
    Wo stand "nichts" (also 0) drin? Welche Variable beobachtest Du an der Maschine? #skalierung_2? Oder #Soll_Pos? Oder was? Wie kommt der berechnete Wert in die beobachtete Variable?

    Wenn man in REAL_TO_DINT() 6400.0 hineingibt, dann kommt 6400 raus. Auch bei TIA.
    Wenn 0 rauskommt, dann hat man ungefähr 0.0 oder was unzulässiges reingegeben.
    Vielleicht wird auch der Wert den Du beobachtest zwischen der REAL_TO_DINT-Ausgabe und der Beobachtungsstelle überschrieben oder gar nicht in die Beobachtungsvariable kopiert?

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. #13
    Lukas_Ink ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    14.01.2016
    Beiträge
    15
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Unbenannt.JPGUnbenannt2.JPG

    das sind die Beobachtungswerte
    mit dem PG auf beobachten geklickt
    was hat es mit den ??? auf sich? in der Zeile drüber hat er den Wert noch ausgerechnet

  4. #14
    Registriert seit
    15.10.2014
    Beiträge
    91
    Danke
    15
    Erhielt 18 Danke für 15 Beiträge

    Standard

    Der Wert "#Skalierung_1" hat noch garkeinen Wert.
    Und warum willst du REAL zu Int wandeln wenn du keine REAL werte hast? So wie es aussieht ist "Stepper_Soll_Pos" als Word definiert!?

    Schreib doch mal:
    Code:
    #Skalierung_1 := 1.0;
    #Skalierung_2 := "Stepper_Soll_Pos" * #Skalierung_1;
    
    #Soll_Pos := REAL_TO_INT(#Skalierung_2);
    Lad das hoch, beobachte es und poste das Ergebnis.

    Poste auch ein Screenshot der kompletten Bausteinschnittstelle. Mit Anfangswerten.


    Stefan
    Geändert von Stefan592 (16.03.2016 um 09:57 Uhr) Grund: Bausteinschnittstelle

  5. #15
    Lukas_Ink ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    14.01.2016
    Beiträge
    15
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard

    mach ich
    in bild 2 hat skalierung_1 einen Wert

  6. #16
    Lukas_Ink ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    14.01.2016
    Beiträge
    15
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard

    definition.JPG
    0_27.jpg
    ich habe mal eine Zahl genommen, bei der auch eine Real rauskommt.
    Soll_Pos hat den Wert 90
    Ich verstehe nicht, warum dann in Skalierung_2 von 24,3 auf 24 abgerundet wird

  7. #17
    Registriert seit
    15.10.2014
    Beiträge
    91
    Danke
    15
    Erhielt 18 Danke für 15 Beiträge

    Standard

    Weil deine Variable "Stepper_Soll_Pos" kein Real ist. Somit wird auch nicht in Gleitpunkt gerechnet sondern in Festpunkt. So wie es aussieht ist sie als Word definiert.

    Word ist nur ein Bitmuster. Zum rechnen brauchst du schon eine Zahl. Stell die Variable auf Real um. Dann funktioniert es.


    Stefan

  8. #18
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.621
    Danke
    777
    Erhielt 649 Danke für 494 Beiträge

    Standard

    Zitat Zitat von Stefan592 Beitrag anzeigen
    Word ist nur ein Bitmuster. Zum rechnen brauchst du schon eine Zahl. Stell die Variable auf Real um. Dann funktioniert es.
    nur wenn das auch wirklich eine 32Bit Real ist nicht ein 16Bit Int oder sowas. NIx genaues weiss man.

    mfG René

  9. #19
    Lukas_Ink ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    14.01.2016
    Beiträge
    15
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Anhang 32107
    hier ist sie als real definiert

  10. #20
    Registriert seit
    08.03.2016
    Beiträge
    17
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    dennoch wird dir online eine hex zahl angezeigt. default werden gleitpunktzahlen so nicht angezeigt.
    wenn du da nichts verstellt hast, kannst du deine fehlersuche auf diese variable begrenzen.
    allerdings ist es recht müßig sich aus diesen einzelnen programmabschnitten etwas zusammen zu reimen.
    der komplette baustein, incl vollständiger deklarierung aller verwendeten variabeln wie auch der aufruf des bausteins wären da vll
    zielführender..

Ähnliche Themen

  1. OPC Problem routen problem
    Von kpeter im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 25.08.2010, 19:54

Lesezeichen

Berechtigungen

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