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

Ergebnis 1 bis 3 von 3

Thema: Wandeln REAl to 2x Word Schneider electric Unity

  1. #1
    Registriert seit
    27.08.2010
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Ich möchte (muss) mit Schneider electric Unity eine REAL-Größe in zwei 16Bit-Wörtern (lowbyte/highbyte) im Datenformat ASCII an einen übergeordneten Rechner übertragen. Mit nicht komma-behaftenen Zahlen ist das kein Problem, hier jedoch soll der Dezimalpunkt (wenn vorhanden), mit übertragen werden, also alle Zahlenwerte von 0,01 - 9999 sind möglich.
    Ich grüble seit einigen Tagen immer mal wieder daran herum, habe jetzt mal das Internet bemüht und bin zwar auf keinen Lösungsansatz, aber immerhin auf dieses Forum hier gestoßen.
    Vielleicht ist das Ganze ganz einfach und ich habe mich nur verrannt, aber - hat jemand einen Tip?

    freundliche Grüsse

    dkf
    Zitieren Zitieren Wandeln REAl to 2x Word Schneider electric Unity  

  2. #2
    Registriert seit
    08.03.2010
    Ort
    BaWü
    Beiträge
    131
    Danke
    10
    Erhielt 13 Danke für 11 Beiträge

    Standard

    kenn mich mit schneider nicht aus aber vlt geht es über ein String. Erklär es anhand B&R ST weiß nicht ob Funktionen bei Codesys gibt oder wie die dort heißen

    Weiß nicht ob es was ähnliches gibt denk aber schon:

    Benutzerdatentyp der aus 2 Strings ein für low ein für Highbytes besteht anlegen

    Anfangsadresse ermitteln (B&R ST: ADR(Benutzerdatentyp ) )

    Anfangsadresse Real ermitteln (B&R ST: ADR(REAL) )

    Funktion zum kopieren von Speicherbereichen
    (bei B&R ST memcpy(AdrBenutzerdatentyp, AdrReal, 4) )
    und REAL bereich auf Benutzerdatentypbereich schieben.

    dann müsstest auf die beiden teile deines Benutzerdatentyps zugreifen und je ein teil drin haben.

    hab das noch nich ausprobiert was dann da genau drin steht, aber so hätte ich das versucht, länge von strings müssen auch passen

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wenn Du die Kommastelle erhalten willst mußt Du den Realwert x 10 nehmen und dann in DINT umwandeln

    z.B. 3,4 = 34

    dann später beim zurückrechen in real wieder durch 10 teilen

    34:10=3,4 anders kannst Du die Kommastellen nicht übertragen da Int ja nur ganze Zahlen kennt.

    Für 2 Stellen dann 100 nehmen

Ähnliche Themen

  1. SPS Schneider Electric
    Von Anja im Forum Sonstige Steuerungen
    Antworten: 20
    Letzter Beitrag: 22.05.2010, 18:06
  2. real in ein word wandeln
    Von Dip im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 07.08.2009, 11:35
  3. Unity Pro - Schneider
    Von Koopi im Forum Sonstige Steuerungen
    Antworten: 4
    Letzter Beitrag: 11.03.2008, 11:25
  4. Schneider Electric Quantum
    Von supersoftiene im Forum Sonstige Steuerungen
    Antworten: 4
    Letzter Beitrag: 06.02.2007, 18:16
  5. VIP 101 von Schneider-Electric
    Von Steilo im Forum Sonstige Steuerungen
    Antworten: 1
    Letzter Beitrag: 15.09.2005, 13:42

Lesezeichen

Berechtigungen

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