14.06.2019, 10:45
|
Natalie1984
LVF-Gelegenheitsschreiber
Beiträge: 53
Registriert seit: Jun 2019
2016
-
DE
|
RE: DLL Methoden richtig aufrufen
Hi Jens,
Zitat:Erst Connect ausführen, die Referenz am Ausgang der Methode weiterführen und damit "IsOpen" abfragen.
Verstehe ich nicht so ganz was du da meinst.
|
|
|
14.06.2019, 10:47
(Dieser Beitrag wurde zuletzt bearbeitet: 14.06.2019 10:47 von GerdW.)
|
GerdW
______________
Beiträge: 17.470
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: DLL Methoden richtig aufrufen
Hallo Natalie,
du musst die korrekte Reihenfolge der Aufrufe sicherstellen! Am einfachsten geht das über eine korrekte Verdrahtung - THINK DATAFLOW!
Du hast die Links in meiner Signatur bemerkt?
|
|
|
14.06.2019, 10:55
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: DLL Methoden richtig aufrufen
(14.06.2019 10:45 )Natalie1984 schrieb: Hi Jens,
Zitat:Erst Connect ausführen, die Referenz am Ausgang der Methode weiterführen und damit "IsOpen" abfragen.
Verstehe ich nicht so ganz was du da meinst.
Das hier:
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
14.06.2019, 11:29
(Dieser Beitrag wurde zuletzt bearbeitet: 14.06.2019 11:54 von Natalie1984.)
|
|
|
14.06.2019, 11:53
|
GerdW
______________
Beiträge: 17.470
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: DLL Methoden richtig aufrufen
Hallo Natalie,
Zitat:Und habe dabei festgestellt, das die Verbindung nach dem Verbinden sofort getrennt wird.
Wie genau hast du das festgestellt?
Zitat:Also bleibt die Verbindung doch nicht stabil. Woran kann das liegen?
Steht das nicht im Manual zu diesem Gerät und dessen Treiber?
Zitat:Das habe ich festgestellt, als ich gleich nach dem Verbindungsaufbau die Daten gesendet habe, denn dann schalten sie auch. Siehe Bild 07
Weil du hier so wie in diesem VisualC-Code verdrahtet hast.
Bei Bild5&6: War der Button "Schalten" überhaupt TRUE? Konnte überhaupt etwas ausgegeben werden?
|
|
|
14.06.2019, 12:10
|
IchSelbst
LVF-Guru
Beiträge: 3.697
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
RE: DLL Methoden richtig aufrufen
(14.06.2019 11:29 )Natalie1984 schrieb: Das bedeutet, die Verbindung sollte stabil bleiben und ich mache höchstwahrscheinlich etwas falsch.
Rufts du ständig den Konstruktor auf? Der sollte doch bestimmt nur ein einziges Mal aufgerufen werden. Gearbeitet wird dann mit der Referenz, die der Konstruktor liefert. Außerdem gehört jede Referenz, zu gegebener Zeit, geschlossen.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
14.06.2019, 12:41
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: DLL Methoden richtig aufrufen
Ich vermute mal stark, dass nach Beenden deines VIs die .NET-Assembly wieder entladen wird und somit auch die Verbindung zu deinem Ethernet-Koppler.
Was passiert denn, wenn du den "Send" Aufruf in eine Schleife hängst?
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
14.06.2019, 13:12
(Dieser Beitrag wurde zuletzt bearbeitet: 14.06.2019 13:15 von Natalie1984.)
|
Natalie1984
LVF-Gelegenheitsschreiber
Beiträge: 53
Registriert seit: Jun 2019
2016
-
DE
|
RE: DLL Methoden richtig aufrufen
(14.06.2019 11:53 )GerdW schrieb: Hallo Natalie,
Zitat:Wie genau hast du das festgestellt?
Weil ich beim Verbindungsaufbau auch gleich hinterher die Daten zum Schalten gesendet habe. Und dann hat es geschaltet.
So wie ich das im letzten Bild gemacht habe.
Natürlich ist das nicht der richtige Weg um das Modul anzusprechen.
[quote]Steht das nicht im Manual zu diesem Gerät und dessen Treiber?
Nein dazu steht im Manual nichts, denn mit VS funktioniert es ja einwandfrei, da clicke ich auf Verbinden und die Verbindung steht solange bis ich sie wieder trenne.
Zitat:Weil du hier so wie in diesem VisualC-Code verdrahtet hast.
Bei Bild5&6: War der Button "Schalten" überhaupt TRUE? Konnte überhaupt etwas ausgegeben werden?
Ein Button ist nur dann True, wenn ich drauf klicke, ja es kommt einmal zum True
(14.06.2019 12:10 )IchSelbst schrieb: Rufts du ständig den Konstruktor auf? Der sollte doch bestimmt nur ein einziges Mal aufgerufen werden. Gearbeitet wird dann mit der Referenz, die der Konstruktor liefert. Außerdem gehört jede Referenz, zu gegebener Zeit, geschlossen.
Den Konstruktorknoten rufe ich himmmmmm mehrmals auf ja... sehe ich gerade. Dadurch das ich das in Loop Starte, wird es ständig aufgerufen oder?
Ist das falsch so?
|
|
|
14.06.2019, 13:22
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: DLL Methoden richtig aufrufen
Ja, das hört sich verkehrt an.
Konstruktor 1x aufrufen, nur 1x Verbindung öffnen, und dann in einer Schleife Werte setzen und lesen. Am Ende Verbindung schließen und Konstruktor-Referenz per "Referenz schließen" beenden.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
14.06.2019, 13:26
|
IchSelbst
LVF-Guru
Beiträge: 3.697
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
RE: DLL Methoden richtig aufrufen
(14.06.2019 13:12 )Natalie1984 schrieb: Ist das falsch so?
So global kann man das nicht sagen. Man kann ihn auch kontinuierlich aufrufen, sollte dann wohl aber auch jedes Mal den Destructor verwenden …
Was heißt denn "Loop Starte"? Du meinst den automatischen Restart in der IDE? Verwende ich nicht.
Ich mach meine Programme immer so: Programm starten - Referenzen generieren (z.B. mittels Konstruktor) - In Loop mit den Referenzen arbeiten - Referenzen schließen (z.B. Destructor) - Programm ordnungsgemäß beenden.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
| |