WINCC7.0 Rohdatentyp mit C auslesen geht nicht

sailor

Level-1
Beiträge
641
Reaktionspunkte
27
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi.

hab das Problem, das ich einen Rohddatentyp nicht auslesen kann.
SG2 ist eine Vaiable vomTyp Rohdatenvariable mit mit 8 Doppelwörtern (Float).
In der Variabledeklaration steht: Raw_BSEND(DB39,DD0)
Test_1, Test_2 sind interne Float-Variable.
Was mach ich nur falsch? Die interne Variable wird zwar irgendwie beschrieben aber nur mit 0! D.h. das Script (global, mit trigger 500ms) wird bearbeitet.

Das Script:
struct {
float Stat1;
float Stat2;
float Stat3;
float Stat4;
float Stat5;
float Stat6;
float Stat7;
float Stat8;
} RStat;

GetTagRawWait("SG2",(BYTE*)&RStat,32); //Return-Type: BOOL
SetTagFloatWait("Test_1",RStat.Stat1); //Return-Type: BOOL
SetTagFloatWait("Test_2",RStat.Stat2);
SetTagFloatWait("Test_3",RStat.Stat3);
 
Zuletzt bearbeitet:
Weiss denn keiner was?

Hat denn keiner ne Ahnung? Alle Beiträge habe ich schon durch. Bin schon am verzweifeln.
icon9.gif
 
Puh...

kann mal morgen danach sehen (hab keine WinCC zuhause). Glaub mich nur daran zu erinnern als Ich mit Rohdaten gearbeitet habe, das nur in jedem 2ten Byte ein Wert drinstand, und das man die Endianess beachten muss
!​
 
Hallo,
ich habe einen ähnlichen Fall hier bei mir auf der Analge auch, musste die Bytes der einzelnen Variablen drehen um sie benutzen zu können.
 
Habe einen separaten Datenbereich in einem DB angelegt und die Variablen mit dem AKKU Befehl TAD byteweise gedreht und in dem Datenbereich abgelegt.
 
Zurück
Oben