DB mit Snap7 auslesen und Dint in Zahlen darstellen

themasterchris

Level-2
Beiträge
46
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Servus Leute,

ich hoffe ihr könnt mir helfen. Habe folgendes Problem:

Ich möchte aus einer 315PN einen Datenbaustein auslesen. Dieser hat 2 Dint Zahlen gespeichert und genau an diese Zahlen möchte ich im Klartext ran kommen.

Die ersten Versuche waren schon sehr erfolgreich, sprich die Kommunikation funktioniert und ich kann den DB lesen. Leider komme ich aber nicht an die richtigen zahlen :confused: Ich bekomme es mit einfachen Int Zahlen hin nur leider nicht mit Dint, denn die Wandlung läuft glaub ich etwas schief, bzw ist bei mir nicht wirklich richtig. :-(

Wäre dankbar für ein paar Tipps. ;)

Ach ja das ganze ist in C++ geschrieben einfach aus den Examples gebastelt.
 
1. Tipp - Informationsdefizit beheben
2. Tipp - Antworten - unten rechts - erweitert -- Anhänge (Bilder etc..) einfügen
3. Tipp - #-Button für Code-Schnipsel gebastel benutzen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
gibt es noch leute die C++ können?!

immer noch die Sprache die weltweit in den meisten Projekten Verwendung findet - Sorry an die C#/Java Fraktion

zwei DINT sind mit s7.net http://s7net.codeplex.com/ schneller ausgelesen - glaub ich

wie waers einfach mit

#include <cstdint>

Code:
std::uint32_t endian_swap(const std::uint32_t& p_value)
{
  return 
    (p_value>>24) | 
    ((p_value<<8) & 0x00FF0000) |
    ((p_value>>8) & 0x0000FF00) |
    (p_value<<24);
}

oder z.B. htonl http://msdn.microsoft.com/en-us/library/windows/desktop/ms738556(v=vs.85).aspx
 
Zuletzt bearbeitet:
Zurück
Oben