ich versuche mit CoDeSys Daten von Matlab-Simulink über UDP zu empfangen. Dazu benutze ich die Syslibsocket.
Wenn ich in Matlab über einen Broadcast (‘255.255.255.255‘) z.B. ein Array von 8 zahlen sende, funktioniert alles reibungslos.
Wenn ich allerdings, wie beabsichtigt, als Zieladresse Localhost ‘127.0.0.1‘ angebe, kommen die Daten in CoDeSys nicht an. Wenn ich dann auslogge, den Port ändere und einlogge ohne zu bereinigen und dann die 2. Option "Mit Download einloggen" auswähle funktioniert das ganze auch mit Localhost ohne Probleme. Warum funktioniert es aber nicht wenn ich vorher alles bereinige?
Mit dem Programm ‚RawCap‘ bzw. ‚Wireshark‘ konnte ich einsehen, dass Matlab die Daten in beiden Fällen wirklich sendet.
Über ein paar Ideen würde ich mich sehr freuen.
MfG TobiasK
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Kann es sein, dass du den Kommunikationsbaustein erst einmal "reseten" mußt, bevor der die neue Adresse im laufenden Programm läd?
Meist muß man das "permanente" senden einmal unterbrechen, erst dann wird die neue IP gleaden.
gruß schuero
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo,
ich versuche mit CoDeSys Daten von Matlab-Simulink über UDP zu empfangen. Dazu benutze ich die Syslibsocket.
Wenn ich in Matlab über einen Broadcast (‘255.255.255.255‘) z.B. ein Array von 8 zahlen sende, funktioniert alles reibungslos.
Wenn ich allerdings, wie beabsichtigt, als Zieladresse Localhost ‘127.0.0.1‘ angebe, kommen die Daten in CoDeSys nicht an. Wenn ich dann auslogge, den Port ändere und einlogge ohne zu bereinigen und dann die 2. Option "Mit Download einloggen" auswähle funktioniert das ganze auch mit Localhost ohne Probleme. Warum funktioniert es aber nicht wenn ich vorher alles bereinige?
Mit dem Programm ‚RawCap‘ bzw. ‚Wireshark‘ konnte ich einsehen, dass Matlab die Daten in beiden Fällen wirklich sendet.
Über ein paar Ideen würde ich mich sehr freuen.
MfG TobiasK
Hallo.
Kann es sein, dass du den Kommunikationsbaustein erst einmal "reseten" mußt, bevor der die neue Adresse im laufenden Programm läd?
Meist muß man das "permanente" senden einmal unterbrechen, erst dann wird die neue IP gleaden.
gruß schuero
Hallo,
danke für die Antwort. Leider hilft dies auch nichts.
MfG
Moin
Hast du die Callbacks entsprechend registriert ?
Bsp:
SysCallbackRegister(INDEXOF(Callback_Shutdown), EVENT_EXCPT_ACCESS_VIOLATION);
SysCallbackRegister(INDEXOF(Callback_Shutdown), EVENT_POWERFAIL);
SysCallbackRegister(INDEXOF(Callback_Shutdown), EVENT_SYSTEM_CRASH);
SysCallbackRegister(INDEXOF(Callback_Shutdown), EVENT_BEFORE_RESET);
SysCallbackRegister(INDEXOF(Callback_Shutdown), EVENT_BEFORE_DOWNLOAD);
SysCallbackRegister(INDEXOF(Callback_Shutdown), EVENT_SHUTDOWN);
Gruß
Erik
Ja, im Code dürfte es keine Fehler geben. Dieser wurde vom 3s Kundensupport angeschaut und mir wurde gesagt, dass alles soweit passen würde.
niemand noch eine Idee?