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

Ergebnis 1 bis 4 von 4

Thema: hat hier jemand eine 840D SL mit 2 Kanälen im Zugriff?

  1. #1
    Registriert seit
    22.11.2007
    Beiträge
    731
    Danke
    6
    Erhielt 89 Danke für 62 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ich versuche gerade mit dem User st_rupp(840D sl NCU Variablen und Antriebsparameter lesen/schreiben) ein paar Sinumerik-Variablen-Kombinationen mit AGLink zu verarbeiten
    für einen Abschluss-Test fehlt uns leider beiden eine Maschine mit mind. 2 Kanälen - damit könnte ich testen ob das Lesen 100% sauber klappt

    kann jemand eine kleine Exe ausführen welche sich zu einer SL verbindet, ein paar Variablen-Kombinationen ausließt(KEIN SCHREIBEN) und die Ergebnisse hier einstellen? Bitte melden
    Zitieren Zitieren hat hier jemand eine 840D SL mit 2 Kanälen im Zugriff?  

  2. #2
    Registriert seit
    15.05.2017
    Beiträge
    14
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo LowLevelMahn
    ,
    falls das noch ein Thema ist, koennte ich aushelfen.
    Mache gerade selbst Gehversuche mit der CNC-Anbindung.
    Leider ohne ghne groesseren Erfolg.
    Irgendwie komme ich nicht mit den Parametern Num und Timeout bei den Funktionen :

    int WINAPI AGL_NCK_ReadMixEx( int ConnNr, LPNCKDataRW Buff, int Num, int Timeout, LONG_PTR UserVal );
    int WINAPI AGL_NCK_CheckVarSize( int ConnNr, LPNCKDataRW Buff, int Num, int Timeout, LONG_PTR UserVal );

    zurecht
    Beim Lesen des R-Parameters ("/Channel/Parameter/rpa[u2,3]") kommt mit den Werten 1,1 kommt immer der Fehler "Ungueltiger Kontext".
    Ich vermute, dass es am Timeout liegt.

    Habe den Ag-Link seit Jahren zur Anbindung an die Sinumerik-PLC im Einsatz und wollte jetzt Werkzeug- und Magazindaten einlesen.
    Vielleicht koenntest Du mir mal eine paar Zeilen Zeile Code als Anregung zukommen lassen, auch wenn sich das mit dem test inzwischen erledigt haben sollte.

    Gruss
    Burkhard

  3. #3
    LowLevelMahn ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2007
    Beiträge
    731
    Danke
    6
    Erhielt 89 Danke für 62 Beiträge

    Standard

    int WINAPI AGL_NCK_ReadMixEx( int ConnNr, LPNCKDataRW Buff, int Num, int Timeout, LONG_PTR UserVal );

    Beim Lesen des R-Parameters ("/Channel/Parameter/rpa[u2,3]") kommt mit den Werten 1,1 kommt immer der Fehler "Ungueltiger Kontext".
    Ich vermute, dass es am Timeout liegt.
    keine Ahnung wo du 1,1 reinsteckst - ohne eine richtig bestueckte NCKDataRW-Struktur kannst du nichts lesen und bekommst wilde Fehler von der NC

    Area = eNCK_AreaChannelUnit = 2
    Block = eNCK_BlockRP
    Column = 1
    Row = 1
    Typ ist ein Float64 mit der größe 8 Bytes


    Code:
    double wert = 0.0;
    NCKDataRW rw;
    rw.Area = eNCK_AreaChannel;
    rw.Unit = 2; // Kanal
    rw.Block = eNCK_BlockRP;
    rw.Column = 1;
    rw.Row = 1; // RPA-Nummer 1-n - glaube 0=rpa[1] oder sowas - einfach mal 2,3,4 probieren
    rw.RowCount = 1; // eine Variable ab da lesen
    rw.BuffLen = sizeof(wert); // 8 bytes
    rw.Buff = &wert;
    
    
    AGL_NCK_ReadMixEx(ConnNr, &rw, 1, 3000, ...)
    bei Buff gibst du eine oder mehrere NCKDataRWs an - genau so wie bei PLC - da sind es eben DataRW40s
    Num = 1 - weil du eine NCKDataRW nutzt - genau so wie bei PLC



    in AGLink gibt es eine Funktion: AGL_NCK_GetNCKDataRWByNCDDEItem - damit kannst du dir aus dem "/Channel/Parameter/rpa[u2,3]" string eine NCKDataRW-Variablen bestuecken lassen - nur noch der Puffer fehlt
    int WINAPI AGL_NCK_CheckVarSize( int ConnNr, LPNCKDataRW Buff, int Num, int Timeout, LONG_PTR UserVal );
    die brauchst du nur wenn du keine Ahnung hast wie groß die Variable auf der NC ist - manchmal sind die Angaben im NC-Var-Selektor oder den NSKs falsch

  4. #4
    Registriert seit
    15.05.2017
    Beiträge
    14
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo LowLevelMahn
    danke für die schnelle Antwort.
    Ich hatte inzwischen auch Kontakt mit Deltalogic.
    Das Problem war die Slot-Adresse der NCU. Die richtige Slot.Adresse ist bei der 840Dsl die 4.

    Die Struktur NCKDataRW hatte ich schon mit der Funktion NCK_GetNCKDataRWByNCDDEItem gefuellt,
    dabei hatte ich aber uebersehen, den Pointer rw.Buff auf meine Zieldaten zu setzen .
    Das war mit Deinem Codebeispiel leicht zu erkennen.
    Sorry, dass ich mich so unklar ausgedrueckt hatte. Mit 1,1 waren die Variablen Num und Timeout gemeint.
    Gruß
    Burkhard

Ähnliche Themen

  1. hat jemand bitte eine Idee!!!!
    Von samra im Forum CODESYS und IEC61131
    Antworten: 11
    Letzter Beitrag: 29.05.2012, 20:14
  2. Patentanmeldung - hat hier jemand Erfahrung?
    Von Smart_Rat im Forum Stammtisch
    Antworten: 6
    Letzter Beitrag: 01.05.2010, 10:00
  3. Antworten: 2
    Letzter Beitrag: 10.09.2008, 00:19
  4. Hat jemand eine 5-10 Punkt Skalierung?
    Von maxi im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 16.10.2007, 16:22
  5. Hat jemand eine IDEE
    Von 1schilcher im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 08.06.2006, 12:05

Lesezeichen

Berechtigungen

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