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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: NC-Start per RPC auslösen

  1. #1
    Registriert seit
    09.06.2010
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo miteinander,

    ich habe hier gerade eine SINUMERIK 840D Steuerung mit PCU-50, HMI Advanced und installiertem MCIS RPC 2.0, für die ich eine Fernsteuerungssoftware entwickle.

    Die Datenübertragung, Abfrage und Setzen von Parametern, Anwählen von NCs, etc, habe ich so weit im Griff, aber es fehlt mir noch ein wichtiger Punkt, um die Steuerung zu vervollständigen:

    Wie starte ich eine NC-Datei?

    Folgendes habe ich bereits versucht:
    - NC-Datei per OCX laden + aktivieren per C_ORDER_M()
    - NC-Datei per OCX von extern abarbeiten lassen (aus F:\dh\WKS.DIR\Unterordner; ebenfalls C_ORDER_M() mit anderen Parametern)
    - NC-Datei per DDE über "PI_START(/NC,201,/_N_WKS_DIR/_N_UNTERORDNER,_N_SELECT)" starten.

    Bei allen dreien sehe ich im ShopMill, dass die Datei (ggf. geladen und) angewählt wird, die Maschine springt in die Betriebsart "AUTO" und bleibt mit Status "Reset" stehen.

    Ich muss dann noch ans Bedienpult gehen und den "Zyklusstart"-Knopf betätigen.

    Kann mir jemand sagen, wie ich diesen per RPC auslösen kann? Oder ist evtl. mein Ansatz hier falsch? (habe noch nicht so tief den Einblick in die CNC-Welt, ich komme mehr aus der klassischen Anwendungs-Entwicklung)

    Danke schonmal,
    Manuel
    Zitieren Zitieren NC-Start per RPC auslösen  

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

    Standard

    ich glaube DB21.DBX7.0 oder DBX7.1

    findest du in der DocOnWeb-Dokumentation LIS2.pfd
    Zitieren Zitieren du musst noch den NC-Start per Bit-Setzen auslösen  

  3. #3
    Registriert seit
    29.04.2005
    Beiträge
    11
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von MMM Beitrag anzeigen
    Hallo miteinander,

    Kann mir jemand sagen, wie ich diesen per RPC auslösen kann? Oder ist evtl. mein Ansatz hier falsch? (habe noch nicht so tief den Einblick in die CNC-Welt, ich komme mehr aus der klassischen Anwendungs-Entwicklung)

    Danke schonmal,
    Manuel

    Es gibt keinen PI Dienst zum auslösen eines NC Starts
    es geht nur der weg über die PLC wie LLMAHN feststellte
    es ist der DB21.dbx7.1

    ist es aus Sicherheitstechnischen überlegungen ratsam eine NC Start
    über die Fernwartung aus zu lösen ?

  4. #4
    MMM ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    09.06.2010
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    danke, die Hinweise auf LIS2 und besagten Datenblock haben schonmal viel weitergeholfen.

    Ich kann den aktuellen Zustand jetzt über DB21, 7.1 auslesen, nur das Beschreiben klappt noch nicht. Werde mich da noch ein bisschen weiter durchkauen bevor ich mit weiteren Fragen zurückkomme (könne jetzt z.B. noch ein Problem mit der Berechtigungsstufe sein, das will ich erst abklären / ausprobieren.)

    Sicherheitstechnische Fragen hierbei sind (glücklicherweise) nicht mein Problem, ich setze nur von Anderen festgelegte Anforderungen um.

    Grüße,
    Manuel

  5. #5
    Registriert seit
    01.09.2010
    Beiträge
    13
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo MMM,
    ich habe das gleiche Problem wie du...
    bei mir klappt es mit dem auslesen auch jedoch das schreiben klappt nicht..
    hast du eine lösung gefunden???

    Gruß Sybkal

  6. #6
    MMM ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    09.06.2010
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Sybkal,

    sorry, ich weiss leider nicht mehr genau was das Problem war. Wenn ich in den Code reinschau, mach ich einfach nur das offensichtliche - den DB21.dbx7.1 beschreiben.

    Wichtig zu wissen ist imho: Man kann dort keine "0" reinschreiben, um es zu stoppen. Dazu gibt's stattdessen ein anderes Bit im gleichen Byte, das auf "1" zu setzen ist. Auch hab ich eine Verzögerung eingebaut, da die Sinu hier ein bisschen Reaktionszeit hat.

    Ganz dunkel glaube ich mich zu erinnern, dass das Problem bei mir damals ganz wo anders lag, nämlich dass der Wert erst gar nicht geschrieben wurde.

    Ich kann daher nur den Tipp geben, das mit dem RPCTest-Programm alles erst händisch zu probieren, bevor man selbst Code schreibt. Die Programmierung der RPC-Schnittstelle per C++ ist ein ziemlicher Krampf, wenn Du mich fragst

    Grüße,
    M.

  7. #7
    Registriert seit
    02.01.2012
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Sorry, wenn ich diesen Thread wieder ausbuddle - aber ich möchte das gleiche machen.

    Hat vielleicht jemand nen Codeschnipsel für mich (am besten mit der Programmauswahl )?

    Gruß Basti

  8. #8
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Zitat Zitat von L3viathan Beitrag anzeigen
    Sorry, wenn ich diesen Thread wieder ausbuddle - aber ich möchte das gleiche machen.

    Hat vielleicht jemand nen Codeschnipsel für mich (am besten mit der Programmauswahl )?

    Gruß Basti
    Also ich weiß nicht was du willst.
    Und daher ist das Beste du zeigts uns was du schon gemacht hast und wir erklären dir, wenn es nicht funktioniert, was und wo dein Fehler ist.

    Es ist nach meiner Meinung sehr wohl bedenklich, wenn ein NC Start von außerhalb ausgelöst werden kann.
    Was macht du, wenn ein Bediner an der NC gerade an R-Paramtern oder Werkzueg etwas ändert und die Maschine wird gestartet?


    bike
    "Any fool can write code that a computer can understand.
    Good programmers write code that humans can understand."
    --Martin Fowler

  9. #9
    Registriert seit
    02.01.2012
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Bis jetzt hab ich leider noch nichts gescheites. Habe bislang versucht mit RPCTest nen Programm auszuwählen und dann zu starten.
    Wenn ich den Maschinenstatus ausgelesen habe, hatte sich aber nie was geändert.

    Das ganze ist für eine gekapselte Automation einer Wasserstrahlmaschine, deshalb ist die Gefahr eines Eingriffs nicht vorhanden, vor allem da es auch über die Sicherheits-SPS abgefangen wird. Ansonsten hättest Du natürlich vollkommen recht.

    Ich bin erst Montag wieder im Büro, dann könnte ich das ganze mal ober die Ocx-Schnittstelle probieren und dann hier posten. Wollte halt erst mal den manuellen Weg probieren, bevor ich weitere potentielle Fehlerquellen kreiere.

    Gruß Sebastian

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Eine alternative ist noch die NC-Erweiterung von Deltalogics AGLink mit dem SPS Teil kann man leicht die Variablen schreiben/lesen und mit den NC-Funktionen NCK_PI_SELECT und NCK_CopyFileToNC die Dateien transferieren - auch NC-Variablen lesen geht damit ganz einfach

    Beispiel aus dem API-Guide Programm

    Code:
    Int32 result = 0;
     String program = "/_N_MPF0";
     Int32 channel = 0;
        
     result = AGL4.NCK_PI_SELECT(connnr, channel, program, timeout);
     if(result != AGL4.AGL40_SUCCESS)
     {
         // Fehler aufgetreten
        String errormsg = "";
        AGL4.GetErrorMsg(result, out errormsg);
     }
    oder

    Code:
    Int32 result = 0;
        String ncfile = "_N_SPF_DIR/_N_TEST_SPF";
        String pcfile = "C:\\Temp\\_N_TEST_SPF";
        
        result = AGL4.NCK_CopyFileToNC(connnr, ncfile, pcfile, timeout);
        if(result != AGL4.AGL40_SUCCESS)
        {
            // Fehler aufgetreten
            String errormsg = "";
            AGL4.GetErrorMsg(result, out errormsg);
        }
        return result;

Ähnliche Themen

  1. "Not-Aus" auf SCL Softwarebene auslösen?
    Von FrankTheTank im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 23.09.2011, 17:17
  2. Simtaic PLCsim Fehler-OB auslösen
    Von Josch86 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 10.02.2010, 12:57
  3. Interrupt durch ET200S CPU auslösen
    Von Rofagang im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 17.11.2008, 17:33
  4. Prozessalarm durch Analogeingang auslösen
    Von Eddie im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 31.07.2008, 16:22
  5. Antworten: 2
    Letzter Beitrag: 27.01.2006, 19:31

Lesezeichen

Berechtigungen

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