(13.06.2019 19:31 )GerdW schrieb: Hallo Natalie,
Code:
If YMCom.IsOpen Then
YMCom.SEND_STATUS_32(CStr(SendeByte1), CStr(SendeByte2), CStr(SendeByte3), CStr(SendeByte4))
End If
Fehler: du hast das IsOpen-Flag überhaupt nicht mit der Casestruktur um das SendStatus() verbunden!
Außerdem: was enthalten deine Strings? Was erwartet diese DotNet-Funktion? Erwartet sie wirklich "255" als ASCII-Text - oder einfach ein Byte mit dem numerischen Wert 255?
Wieso haben deine Controls/Indicator teilweise so komische Label (wie "Numerisch" statt "Port" oder "Boolesch" statt "IsOpen")?
Wie sieht es mit dem Dataflow aus? Sollte Connect() vielleicht zuerst aufgerufen werden, danach dann IsOpen(), und zum Schluß erst SendStatus()? Leider hast du hier keine Reihenfolge festgelegt…
Hi GerdW
Die IsOpen ist nur eine abfrage, um zu prüfen, ob die Verbindung besteht.
Die habe ich erst einmal weggelassen, um einfach zu testen, ob ich überhaupt Daten senden kann.
YMCom.SEND_STATUS_32(CStr(SendeByte1), CStr(SendeByte2), CStr(SendeByte3), CStr(SendeByte4))
Hier werden String als Werte eingegeben. So ist es auch unter VB.NET. Natürlich kann es sein, das in der DLL dann nach Byte umgewandelt wird. Aber das ist dann nicht mehr unsere Bereich.
Zu Dataflow:
Ich baue erstmal die Verbindung auf und sehe, das die Verbindung steht. Ich gehe zumindest davon aus, denn am Modul Leuchtet die grüne LED am RJ45 Buchse stabile. Ansonsten blinkt die LED.
Was mich aber stützig macht ist auch, das die LED, was ich auf der Oberfläche angelegt habe nicht leuchtet. Ich dachte sie würde auf leuchten, sobald ich die Verbindung aufgebaut habe.
VG
Natalie