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

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

Thema: C-Script Datenformat INT/Word???

  1. #1
    Registriert seit
    25.02.2008
    Ort
    Bayern
    Beiträge
    611
    Danke
    64
    Erhielt 27 Danke für 23 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    in einen C-Script (WINCC7) lese ich eine Rohdatenvariable:

    #define RawTag "Raw1"
    struct{
    int Stat1;
    int Stat2;
    usw.}
    getTagRaw(RawTag,(Byte*)&RStat,32)
    SetTagSWord("last_val_1",RStat.Stat1);
    SetTagSWord("last_val_2",RStat.Stat2);
    usw.
    Es kommt die Warnung :conversion may loose information
    und es werden nur jeder 2. Wert gelesen!!!!
    Stimmt da was mit den Datenformat nicht???
    Nur wenn ich SetTagDouble... schreibe, kommt keine Warnung, aber es wird trotzdem nur jeder 2. Wert gelesen/geschrieben.
    Aber Int ist doch integer mit 16 Bit und double 32 Bit, oder?
    Gruß
    Sailor
    Geändert von sailor (28.06.2010 um 11:27 Uhr)
    Zitieren Zitieren C-Script Datenformat INT/Word???  

  2. #2
    Registriert seit
    23.08.2004
    Beiträge
    565
    Danke
    73
    Erhielt 19 Danke für 18 Beiträge

    Standard

    Auf die schnelle versuch mal
    GetTagRaw(RawTag,(BYTE*)&RStat,sizeof(RStat)

    zu dem anderen Problem >> mit conversion may loose information sollte dann weg sein

    SetTagSWord (WORD) ("last_val_1",RStat.Stat1);


    ohne Gewähr*g* und eine bitte an die C-Götter. Bitte nicht verbal fertig machen wenn es nicht 100%ig richtig ist
    Geändert von Bender25 (28.06.2010 um 12:21 Uhr)

  3. #3
    Avatar von sailor
    sailor ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.02.2008
    Ort
    Bayern
    Beiträge
    611
    Danke
    64
    Erhielt 27 Danke für 23 Beiträge

    Standard

    Nee. gleicher Effekt. Die Rohdatenvariable ist ne Variable vom Typ Rohdaten Adressierung Wort Länge 96
    Das (WORD) will er überhaupt nicht
    Geändert von sailor (28.06.2010 um 12:22 Uhr)

  4. #4
    Registriert seit
    23.08.2004
    Beiträge
    565
    Danke
    73
    Erhielt 19 Danke für 18 Beiträge

    Standard

    Zu welchem Problem der gleiche effekt?

  5. #5
    Avatar von sailor
    sailor ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.02.2008
    Ort
    Bayern
    Beiträge
    611
    Danke
    64
    Erhielt 27 Danke für 23 Beiträge

    Standard

    Das nur jeder 2. Wert der Rohdatenvariablen gelesen wird.
    Irgenwie scheinen da 32 Bit im Spiel zu sein, ich weiss nur nicht wo.
    Mögen die C-Götter mir armen AWL/FUP-Knilch gnädig sein
    Geändert von sailor (28.06.2010 um 12:29 Uhr)

  6. #6
    Registriert seit
    23.08.2004
    Beiträge
    565
    Danke
    73
    Erhielt 19 Danke für 18 Beiträge

    Standard

    hm also normal sollte es so funktionieren. Zumindest tut es bei mir so.

    Bei der Adressierung der Variable was ist da ausgewählt? Byte? oder dann in deinem fall Doppelwort vieleicht? Vieleicht funktioniert es deswegen nicht?

  7. #7
    Avatar von sailor
    sailor ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.02.2008
    Ort
    Bayern
    Beiträge
    611
    Danke
    64
    Erhielt 27 Danke für 23 Beiträge

    Standard

    Ich hab in der Adressierung der Rohdaten schon alles probiert (Byte,Wort,Doppelwort). Alles schon probiert.
    Hier nochmal der ganze Mist:
    #define RawTag "Raw1"
    struct {
    int Stat1;
    int Stat2;
    int Stat3;
    int Stat4;
    int Stat5;
    int Stat6;
    int Stat7;
    int Stat8;
    } RStat;

    GetTagRaw(RawTag,(BYTE*)&RStat,sizeof(RStat));
    SetTagSWord("last_C1_S1",RStat.Stat1);
    SetTagSWord("last_C1_S2",RStat.Stat2);
    SetTagSWord("last_C1_S3",RStat.Stat3);

    last_C1_S1 sind interne vorzeichenlose 16-Bit-Variable
    RAW1 ist Variable DB21 Adressierung Wort ab DBB96 Rohdaten angewählt, Länge 32

  8. #8
    Registriert seit
    23.08.2004
    Beiträge
    565
    Danke
    73
    Erhielt 19 Danke für 18 Beiträge

    Standard

    Hm also ich hab auch kein Plan mehr. Ich lese alle meine Variablen so ein.
    Nur das ich den Status der Variable noch mit nehme und diese noch auswerte. Aber sonst ist es bei mir ebenfalls so wie bei dir und es geht.

    Werden denn die Werte, die geschrieben werden, auch richtig geschrieben? Liegt es vieleicht am Low/High Byte tausch?

  9. #9
    Avatar von sailor
    sailor ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.02.2008
    Ort
    Bayern
    Beiträge
    611
    Danke
    64
    Erhielt 27 Danke für 23 Beiträge

    Standard

    Also ich tausche in der CPU von der 16 Bit Variable Hi mit Lo-Byte, damit wird die Variable in der Visu auch richtig dargestellt. Es sind alles WORD-Variable(hab auch schon Integer probiert)
    Was ich aber jetzt gesehen hab: Egal was ich in der Adressierung der Rohdatenvariable angib(Byte,Wort, DW) es ist egal!!?? es sind immer 32 Bit, die da angesprochen werden. Hast Du Version 7.0?
    Geändert von sailor (28.06.2010 um 15:03 Uhr)

  10. #10
    Registriert seit
    23.08.2004
    Beiträge
    565
    Danke
    73
    Erhielt 19 Danke für 18 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Gerade nicht zur hand Arbeite auf einer 5er Version. Aber ich hab die Bilder von dort genommen sprich die Anzeigen laufen auch auf WinCC 7

    also ich bin jetzt echt ratlos. Keine Ahnung mehr.

    Sprich Stat 1, Stat 3, Stat 5 usw. diese werden geschrieben.

    Wasist wenn die Daten richtig gelesen werden aber schreiben nicht richtig funktioniert?
    Versuch doch mal mit SetTagXXXWait Wobei ich nicht denke das dies das Problem ist
    Geändert von Bender25 (28.06.2010 um 15:14 Uhr)

Ähnliche Themen

  1. Datenformat
    Von römi im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 07.07.2009, 07:04
  2. Datenformat Char
    Von CanYouHelpMe im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 15.09.2008, 09:23
  3. S7 REAL Datenformat
    Von cidex im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 09.08.2007, 19:37
  4. Datenformat eeprom
    Von mariob im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 24.03.2006, 22:31
  5. SM338 Pos-Input Datenformat?
    Von Krumnix im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 16.01.2006, 19:54

Lesezeichen

Berechtigungen

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