Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
15.07.2014, 10:55 (Dieser Beitrag wurde zuletzt bearbeitet: 16.07.2014 16:08 von jg.)
moin,
ich messe mit einem Multimeterklemme Strom eines Motor, leider die Werte, die ich manuel messe stimmen nicht überein mit der Anzeige. die Messwerte sind 4Byte gross.
sieht den VI unten.
(15.07.2014 11:21 )jg schrieb: Wenn der Messwert 4 byte groß ist, dann solltest du nicht nur 2 Byte (I16) auslesen?!
Gruß, Jens
habe ich auch geändert, trotzdem bekam ich andere Werte.
Die Bildchen beweisen gar nichts! Im ursprünglichen VI hast Du als length zwar 4 bytes angegeben aber einen I16 als letzten Parameter mitgegeben. Aus den Bildchen ist nicht sichtbar ob Du diese Variable nun I32 gemacht hast. Der Typ ist als Adapt To Type konfiguriert und das ist alles was man in den Bildchen sieht. Wenn Du da einen I16 anbietest kopiert die Funktion einfach 4 Bytes in eine Variable die nur 2 Bytes gross ist und überschreibt Speicher den Sie nicht überschreiben sollte!!!!
Aber Dein Problem ist noch fundamenteler!!!
Im der ADS Konfiguration sieht man, dass Deine ADS Konfiguration folgendermasse ist: Port: 11, IGrp: 0x3040010, IOffs: 0x8000036 ist.
Im VI hast Du aber (wenn man auf die HexNotation umschaltet): IGrp: 0x3040030, IOffs: 0x80000000. Und den Port den Du ansprichst ist 301.
(15.07.2014 11:21 )jg schrieb: Wenn der Messwert 4 byte groß ist, dann solltest du nicht nur 2 Byte (I16) auslesen?!
Gruß, Jens
habe ich auch geändert, trotzdem bekam ich andere Werte.
Die Bildchen beweisen gar nichts! Im ursprünglichen VI hast Du als length zwar 4 bytes angegeben aber einen I16 als letzten Parameter mitgegeben. Aus den Bildchen ist nicht sichtbar ob Du diese Variable nun I32 gemacht hast. Der Typ ist als Adapt To Type konfiguriert und das ist alles was man in den Bildchen sieht. Wenn Du da einen I16 anbietest kopiert die Funktion einfach 4 Bytes in eine Variable die nur 2 Bytes gross ist und überschreibt Speicher den Sie nicht überschreiben sollte!!!!
Aber Dein Problem ist noch fundamenteler!!!
Im der ADS Konfiguration sieht man, dass Deine ADS Konfiguration folgendermasse ist: Port: 11, IGrp: 0x3040010, IOffs: 0x8000036 ist.
Im VI hast Du aber (wenn man auf die HexNotation umschaltet): IGrp: 0x3040030, IOffs: 0x80000000. Und den Port den Du ansprichst ist 301.
die ADS Info waren nicht für meinen Variable sondern von Ethercat. für den variable lautet die ADS Info: sieh das bild
(15.07.2014 11:21 )jg schrieb: Wenn der Messwert 4 byte groß ist, dann solltest du nicht nur 2 Byte (I16) auslesen?!
Gruß, Jens
habe ich auch geändert, trotzdem bekam ich andere Werte.
Die Bildchen beweisen gar nichts! Im ursprünglichen VI hast Du als length zwar 4 bytes angegeben aber einen I16 als letzten Parameter mitgegeben. Aus den Bildchen ist nicht sichtbar ob Du diese Variable nun I32 gemacht hast. Der Typ ist als Adapt To Type konfiguriert und das ist alles was man in den Bildchen sieht. Wenn Du da einen I16 anbietest kopiert die Funktion einfach 4 Bytes in eine Variable die nur 2 Bytes gross ist und überschreibt Speicher den Sie nicht überschreiben sollte!!!!
Aber Dein Problem ist noch fundamenteler!!!
Im der ADS Konfiguration sieht man, dass Deine ADS Konfiguration folgendermasse ist: Port: 11, IGrp: 0x3040010, IOffs: 0x8000036 ist.
Im VI hast Du aber (wenn man auf die HexNotation umschaltet): IGrp: 0x3040030, IOffs: 0x80000000. Und den Port den Du ansprichst ist 301.
die ADS Info waren nicht für meinen Variable sondern von Ethercat. für den variable lautet die ADS Info: sieh das bild
Was soll man da noch sagen? Ursprünglich falsch gemacht, dann behaupten dass man das gefixt hat und als Beweis Bildchen hochladen die gar nichts beweisen und zudem noch ein Bild mit den Informationen zu den falschen Variablen! Da fällt weiter nichts zu empfehlen!