LabVIEWForum.de - Werte richtig anzeigen / Problem mit Twincat-DLL

LabVIEWForum.de

Normale Version: Werte richtig anzeigen / Problem mit Twincat-DLL
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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.
Wenn der Messwert 4 byte groß ist, dann solltest du nicht nur 2 Byte (I16) auslesen?!

Gruß, Jens
(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.
(15.07.2014 11:40 )lola2014 schrieb: [ -> ]habe ich auch geändert, trotzdem bekam ich andere Werte.

Hallo Lola,

wie isses mit LB / HB-Vertauschung bzw. LW / HW-Vertauschung?


Gruß, Marko


PS: Kann dein VI leider nicht öffnen.
(15.07.2014 12:01 )Trinitatis schrieb: [ -> ]
(15.07.2014 11:40 )lola2014 schrieb: [ -> ]habe ich auch geändert, trotzdem bekam ich andere Werte.

Hallo Lola,

wie isses mit LB / HB-Vertauschung bzw. LW / HW-Vertauschung?


Gruß, Marko


PS: Kann dein VI leider nicht öffnen.

hier als Bilder
(15.07.2014 11:40 )lola2014 schrieb: [ -> ]
(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 16:09 )rolfk schrieb: [ -> ]
(15.07.2014 11:40 )lola2014 schrieb: [ -> ]
(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 16:15 )lola2014 schrieb: [ -> ]
(15.07.2014 16:09 )rolfk schrieb: [ -> ]
(15.07.2014 11:40 )lola2014 schrieb: [ -> ]
(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!
moin,
also dami hat es funktionniert.
LG Lola
Referenz-URLs