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

Ergebnis 1 bis 3 von 3

Thema: Notifications vom BC9000?

  1. #1
    Registriert seit
    04.06.2008
    Beiträge
    13
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Moin..

    Nachdem ich ja nun die Stati der Klemmen am PLC vom PLC Programm lesen und ändern kann.. Und auch die Stati über mein Windows Programm lesen und ändern kann.. würde ich gerne auch in meinem Windows Programm mitbekommen wenn die PLC was ändert..

    Dieses AdsSyncAddDeviceNotificationReq() sieht ja so aus als wenn es täte was ich möchte.. und der Aufruf gibt auch keinen Fehler zurück.. aber die Callback Funktion wird dennoch nicht aufgerufen.. klappt das bei euch? funktioniert das nicht für BOOL Variablen?

    natürlich könnte man Pollen aber das kann ich nicht mit meinem Gewissen vereinbaren..

    Eine andere Idee von mir war das der BC9000 vielleicht ein TCP oder UDP Paket mit entsprechendem Inhalt zu meinem Client schickt..

    -
    Thomas
    Zitieren Zitieren Notifications vom BC9000?  

  2. #2
    ThomasF ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.06.2008
    Beiträge
    13
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich hab jetzt nochmal ziemlich genau das Beispiel aus dem InfoSys genommen.. (nur 2 Byte (short) anstatt 4 bytes)
    Dafür habe ich im PLC Control eine Variable im Merker Bereich definiert (%MB0 : INT ) und erhöhe sie auf Knopfdruck..

    Mein Callback wird aber trotzdem nicht aufgerufen.. Liegt's an mir?

    Habt ihr damit schon Erfahrungen?

    Hier ist der Code aus WinMain:
    Code:
        LONG                    nErr, nPort = 0;
        ULONG                   hNotification = 0;
        ULONG                   hUser = 0;
        AmsAddr                 Addr = {0};
        PAmsAddr                pAddr = &Addr;
        AdsNotificationAttrib   adsNotificationAttrib;
    
        nPort = AdsPortOpen();
        Addr.netId.b[0] = 223;
        Addr.netId.b[1] = 223;
        Addr.netId.b[2] = 223;
        Addr.netId.b[3] = 41;
        Addr.netId.b[4] = 1;
        Addr.netId.b[5] = 1;
        Addr.port = 800;
    
        // Notification aufsetzen
        adsNotificationAttrib.cbLength       = sizeof(short);
        adsNotificationAttrib.nTransMode     = ADSTRANS_SERVERONCHA;
        adsNotificationAttrib.nMaxDelay      = 0; 
        adsNotificationAttrib.dwChangeFilter = 0; 
        nErr = AdsSyncAddDeviceNotificationReq(pAddr, 0x4020, 0, &adsNotificationAttrib, Callback, hUser, &hNotification);
    Und die Callback Funktion
    Code:
    void __stdcall Callback(AmsAddr* pAddr, AdsNotificationHeader* pNotification, ULONG hUser)
    {
        short    iDaten;
        uiDaten = *(short *)pNotification->data;
        OutputDebugStr((lexical_cast<wstring, short>(iDaten)).c_str());
    }
    -
    Thomas
    Geändert von ThomasF (11.06.2008 um 12:08 Uhr) Grund: Codeausschnitt eingefügt

  3. #3
    Registriert seit
    18.05.2006
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hey Thomas!



    Stehe derzeit vor genau dem selben Problem. Da der Thread ja scho etwas älter ist, gehe ich davon aus, Du hast eine Lösung gefunden.

    Würde mich also über eine Nachricht freuen.

Ähnliche Themen

  1. Twincat ADS-Notifications im Thread
    Von nekron im Forum CODESYS und IEC61131
    Antworten: 8
    Letzter Beitrag: 28.01.2011, 16:37
  2. Verbindung zum BC9000
    Von HK09 im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 20.07.2010, 09:11
  3. Zugriff mit ADS auf BC9000
    Von jomolungma im Forum CODESYS und IEC61131
    Antworten: 8
    Letzter Beitrag: 07.05.2010, 10:45
  4. BC9000 Kommunikation
    Von Krokosyr im Forum CODESYS und IEC61131
    Antworten: 12
    Letzter Beitrag: 09.04.2009, 18:29
  5. BC9000 und Modbus
    Von Macbeth im Forum CODESYS und IEC61131
    Antworten: 0
    Letzter Beitrag: 02.12.2008, 18:56

Lesezeichen

Berechtigungen

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