Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 6 von 6

Thema: Probleme mit FDL Schnittstelle und WinProc.

  1. #1
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Ich versuche gerade die FDL Programmierschnittstelle welche ja auch libnodave verwendet um über S7Onlinex.dll auf die PLCs zuzugreifen direkt in csharp zu realisieren.
    Laut Dokumentation, ist jedoch die Implementierung von libnodave nicht richtig, da unter Windows nur im Asynchronen Modus gearbeitet werden darf.
    Jedoch hab Ich Probleme, das wenn Ich versuche die Schnittstelle im Asynchronen Modus benutze, Ich bei mir keine Telegramme vom Typ WM_SINEC in der WinProc ankommen.
    Hat das jemand schon mal gemacht und dazu ein paar Tips?
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren Probleme mit FDL Schnittstelle und WinProc.  

  2. #2
    Registriert seit
    08.12.2004
    Beiträge
    94
    Danke
    2
    Erhielt 16 Danke für 14 Beiträge

    Standard

    Hallo Jochen,

    > Laut Dokumentation,...
    Welche Dokumentation meinst du, bzw. welche hast du ?

    > ist jedoch die Implementierung von libnodave nicht richtig ...
    Das habe ich auch schon mal von jemandem gehört, er konnte oder wollte mir aber nicht konkret sagen was da nicht stimmt.

    Fakt ist, wenn Step7 z.B. eine VAT online hat und du machst was mit Libnodave über S7online, dann fliegt die VAT Verbindung raus.
    Das müsste so nicht sein, es könnten sicher mehrere Verbindungen über S7online gleichzeit offen sein. Step7 schaft das ja auch.

    > da unter Windows nur im Asynchronen Modus gearbeitet werden darf.
    Dass glaube ich so nicht, ich denke auch synchron sollte gehen.

    Frage:
    Hast du die die Header Datei fdl_rb.h ?
    Wenn nein könnte ich die dir zukommen lassen.

    INT WINAPI SCP_open ( CHAR *);
    INT WINAPI SCP_close ( INT );
    INT WINAPI SCP_send ( INT, USHORT, char *);
    INT WINAPI SCP_receive ( INT, SHORT, SHORT *, SHORT, CHAR *);
    INT WINAPI SetSinecHWndMsg( INT, HANDLE, ULONG );
    INT WINAPI SetSinecHWnd( INT,HANDLE);
    INT WINAPI SCP_get_errno( VOID );

    Darin sind die o.g. DLL Aufrufe definiert. In neueren DLL gibt es allerdings auch noch andere Aufrufe.

    Wie soll die DLL wissen, dass du auf eine WM_SINEC Message wartest ?
    Ich vermute da müsste die "Session" anders geöffnet werden ...

    Aber wenn du irgendwas rausfindest wäre das natürlich interessant.
    Speziell ein C# Treiber direkt für S7online wäre interessant.

    mfG. klaly

  3. #3
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Zitat Zitat von klaly Beitrag anzeigen
    Hallo Jochen,

    > Laut Dokumentation,...
    Welche Dokumentation meinst du, bzw. welche hast du ?

    > ist jedoch die Implementierung von libnodave nicht richtig ...
    Das habe ich auch schon mal von jemandem gehört, er konnte oder wollte mir aber nicht konkret sagen was da nicht stimmt.

    Fakt ist, wenn Step7 z.B. eine VAT online hat und du machst was mit Libnodave über S7online, dann fliegt die VAT Verbindung raus.
    Das müsste so nicht sein, es könnten sicher mehrere Verbindungen über S7online gleichzeit offen sein. Step7 schaft das ja auch.

    > da unter Windows nur im Asynchronen Modus gearbeitet werden darf.
    Dass glaube ich so nicht, ich denke auch synchron sollte gehen.

    Frage:
    Hast du die die Header Datei fdl_rb.h ?
    Wenn nein könnte ich die dir zukommen lassen.

    INT WINAPI SCP_open ( CHAR *);
    INT WINAPI SCP_close ( INT );
    INT WINAPI SCP_send ( INT, USHORT, char *);
    INT WINAPI SCP_receive ( INT, SHORT, SHORT *, SHORT, CHAR *);
    INT WINAPI SetSinecHWndMsg( INT, HANDLE, ULONG );
    INT WINAPI SetSinecHWnd( INT,HANDLE);
    INT WINAPI SCP_get_errno( VOID );

    Darin sind die o.g. DLL Aufrufe definiert. In neueren DLL gibt es allerdings auch noch andere Aufrufe.

    Wie soll die DLL wissen, dass du auf eine WM_SINEC Message wartest ?
    Ich vermute da müsste die "Session" anders geöffnet werden ...

    Aber wenn du irgendwas rausfindest wäre das natürlich interessant.
    Speziell ein C# Treiber direkt für S7online wäre interessant.

    mfG. klaly
    Doku: http://lci.cvb.wikispaces.net/file/v...+Interface.pdf

    S7online direkt in Csharp funzt, aber eben nur so wie in libnodave und nicht mit der winproc! Das was ich programmiert habe kannst in meiner connection lib sehen, aber bis jetzt ist nur der Verbindungsaufbau drin, der rest kommt noch (wenn ich das mit der winproc geloest grig!)

    Die message sollte wenn ich mein festerhandle an das verbindungshandle von s7onlinx gemeldet habe immer kommen wenn neue daten da sind!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  4. #4
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  5. #5
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Wahhh, es geht.

    Ich hab einfach SetSinecHWnd durch SetSinecHWndMsg ersetzt, und als Konstante für die Message WM_SINEC mitgegeben.
    Code:
            private const int WM_USER = 0x0400;
            private const int WM_SINEC = WM_USER + 500;
    Nun hat er zumindest den Code da durchlaufen... Also mal weiterschauen...
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  6. #6
    Registriert seit
    08.12.2004
    Beiträge
    94
    Danke
    2
    Erhielt 16 Danke für 14 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Jochen,

    > S7online direkt in Csharp funzt, ...
    > Das was ich programmiert habe kannst in meiner connection lib sehen

    Wo kann ich deine "aktuelle" connection lib finden ?

    mfG. klaly

Ähnliche Themen

  1. Probleme mit WAGO RS232 Schnittstelle an S7
    Von namenloser_fremder im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 03.06.2011, 06:07
  2. Serielle Schnittstelle macht Probleme
    Von bluebird277 im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 12.02.2010, 11:10
  3. Probleme mit OPC-Schnittstelle
    Von Blanker Draht im Forum HMI
    Antworten: 3
    Letzter Beitrag: 26.11.2009, 19:44
  4. Antworten: 2
    Letzter Beitrag: 10.05.2009, 16:13
  5. Beckhoff CX, Probleme mit serieller Schnittstelle
    Von thensel im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 24.03.2008, 13:47

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •