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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 28

Thema: Twincat 3 Ads Notification Handler Event Handler - Ereignisgesteuertes Lesen

  1. #11
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.786
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Was ist, wenn du mal eine Variable deines Programms abfragst ?
    Code:
                                hConnect[0] = tcClient.AddDeviceNotification("MAIN.boolVal",dataStream,0,1,
                                            AdsTransMode.OnChange,100,0,tbBool);
    ... idealerweise sollte die eine Art Blink-Merker sein ...

  2. #12
    Neuling2014 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.08.2014
    Beiträge
    20
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Gerade getestet....
    Ändert sich auch nichts. Na wie vor springt das Programm nicht in die Notifications Methode rein.

    Noch andere Ideen?

  3. #13
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.786
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard

    Hallo,
    dann müssen wir ggf. etwas weiter unten anfassen ...
    In dem Beckhoff-Beispiel wird das Ganze ja auf eine Form bezogen.
    Hier erfolgt die Initialisierung in der überschriebenen Methode, die beim Laden der Form automatisch aufgerufen wird.
    Du hast dir ja eine eigene Klasse erstellt (was ja auch nicht verwerflich ist). Zu welchem Zeitpunkt und wie wird diese Klasse denn instanziert, und die beinhalteten Methoden aufgerufen (z.B. die Load-Methode) ?
    Hast du darin schon mal einen Breakpoint gesetzt ?
    Wenn das richtig aufgerufen wird, sind denn deine Objekte alle sinnvoll und auch sinnvoll zugewiesen ?

    Prinzipiell würde ich dazu tendieren, dir vorzuschlagen, das Beckhoff-Beispiel genau identisch zu erstellen und wenn das funktioniert, dieses abzuwandeln. Du hast in deinem Konstrukt nach meiner Meinung zu viele Unbekannte drin (ich würde so, wie beschrieben, vorgehen um weiter zu kommen).

    Gruß
    Larry

  4. #14
    Registriert seit
    08.01.2007
    Beiträge
    54
    Danke
    1
    Erhielt 10 Danke für 8 Beiträge

    Standard

    Das Problem liegt nicht an der SPS oder an ADS Funktionen.
    sondern schlicht und ergreifend daran das dein C# Programm
    also Consolenprogramm den Message Loop nicht abarbeitet.
    Die einfachst Methode um dies zu tun,ist Application.Run() welche auch jede Winformsanwendung nutzt.
    D.h. für Dich.
    Twincat test = new Twincat();
    test.Load();
    Application.Run();

  5. Folgender Benutzer sagt Danke zu soma für den nützlichen Beitrag:

    Neuling2014 (10.09.2014)

  6. #15
    Neuling2014 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.08.2014
    Beiträge
    20
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo soma,

    das war des Pudels Kern
    mit Application.Run(); springt er automatisch in die Notification Methode!

    D.h. ich kann diese Twincat ADS Klasse nicht in einer .NET Library Class aufrufen ...
    Sehr ärgerlich. Oder kennst du da auch einen Trick?

    Grüße

  7. #16
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.786
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard

    Hallo,
    das das Problem so weit unten liegt hatte ich nun nicht vermutet - man braucht ja eigentlich immer eine Anzeige - sogar und vor Allem zum Testen ...

    Aber natürlich kannst du das in eine Bibliothek einbauen. Du baust dir doch darin eine Methode (oder mehrere) oder ggf. sogar eine Komponente oder ein Control, dass schlußendlich an einer Form (z.B.) laufen würden - oder in einem Thread. Es muss am Ende (in der Applikation) nur jemanden geben, der hin und wieder das Application.DoEvents anstößt ...

    Gruß
    Larry

  8. #17
    Neuling2014 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.08.2014
    Beiträge
    20
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    kannst du mir ein Beispiel zeigen/schreiben, in dem das ganze in einem Thread verpackt ist?
    Ich wüßte jetzt nicht, wie ich das ganze einbauen sollte.

    Danke und Grüße
    Neuling2014

  9. #18
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.786
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard

    Nein ... da ich nicht weiß, welche der Klassen Thread-fest sind (also wo du ggf. mit Invoke arbeiten mußt).
    Du kannst aber eine zyklische Abfrage auch relativ einfach über die Verwendung eines Timers realisieren. Dann hast du es wieder im Haupt-Thread und arbeitest auch von daher mit Events.

    Gruß
    Larry

  10. #19
    Neuling2014 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.08.2014
    Beiträge
    20
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Die Idee mit dem Timer hatte ich auch schon.
    Das hatte in dem Consolen Programm eingebaut. Aber das hatte nicht den gewünschten Effekt.
    Die zyklische Abfrage wollte ich eigentlich vermeiden.
    Hintergrund: Die Notification geht auf eine Beckhoff Variable und wenn diese sich ändern, erfolgt eine Abarbeitung im .NET Code.
    Eine zyklische Abfrage würde beeinhalten einen eigenen Thread für diese Abfrage aufzusetzen. Was ich eigentlich vermeiden wollte.

  11. #20
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.786
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wohin soll die Reise denn überhaupt gehen ?
    Vielleicht kann ich dir dann auch etwas spezifischer helfen ...

    Gruß
    Larry

Ähnliche Themen

  1. ADS Notification C# und EventHandler delegate
    Von Lexang im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 13.03.2014, 19:28
  2. Antworten: 6
    Letzter Beitrag: 06.01.2013, 14:49
  3. VB.Net Beckhoff ADS Notification Bool & Int
    Von L.T. im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 26.04.2010, 19:54
  4. Antworten: 8
    Letzter Beitrag: 25.08.2008, 11:34

Stichworte

Lesezeichen

Berechtigungen

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