Fehlermeldungen auslesen

  • Hallo,


    wieder mal stehe ich vor einer Frage, wo ich eure Hilfe brauche.
    In meiner Anlage gibt es eine übergeordnete Steuerung, die auch gerne Fehlermeldungen (wenn es welche gibt) ausgeben möchte.
    Nu meine Frage: Kann ich die ERROR-Nummern der DX100 Steuerung auslesen und über ein Byte an die andere Steuerung senden?


    Gruß an alle....

  • ANZEIGE

  • Error oder Alarm?


    Es steht sogar in Grossbuchstaben ERROR geschrieben!
    Ich bin mal auf deinen ersten sinnvollen Beitrag gespannt, auf eine Antwort zur jeweiligen Thematik.
    Wenn du keine hast, dann schreib einfach nichts.


    Deine Abneigung gegen diese Roboter (mann oh mann oh motoman usw.) wird hier sehr wahrscheinlich die wenigsten interessieren.

    Gruß Roland


    Wie poste ich falsch?

    Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Ich bin wie ich bin. Die Einen kennen mich, die Anderen können mich.

    Konrad Adenauer

  • Hallo kiecrob,


    schon wieder ne Frage:


    Ist die übergeordnete Steuerung über TCP/IP oder RS232 (1), also Motocom32.dll, oder über die Wago-Klemmen (2) verbunden?


    zu (1):
    Du bekommst den Fehlercode mit den Funktionen BscIsError(...) und BscGetError(2)(...). Ob Deine Routinen funktionieren, kannst Du testen, indem Du mit BscPutVarData(...) z.B. in B099 einen Wert von 256 schreibst (ByteWertMax = 255). Das gibt garantiert einen Fehler.


    zu (2):
    Wenn Du die o.g. Ausgänge "klingel-verdrahtest", zeigt Dir (wie Du sicher schon weißt) A9 an, ob ALARM oder ERROR auftrat. Differenziert wird hier seitens Motoman nicht. Weg bekommst Du ALARM/ERROR, indem A2 eine negative Flanke zugeführt wird. Fehlercodes oder sonstige, weitergehende Infos sind hier allerdings Fehlanzeige.


    Fazit:
    Sinnvoll, das Posting hier?


    Ausblick:
    Die DX100 kann Events. Damit fummel ich gerade herum. Ob das zielführend ist, weiß ich noch nicht. Wenn ja, könnte ich mit Bit-Bang die Messages übertragen, die unten rechts im PHG angezeigt werden.


    Grüsse


    Schach


  • Fazit:
    Sinnvoll, das Posting hier?
    Grüsse


    Schach


    Na ich wusste doch daß es geht ;)

    Gruß Roland


    Wie poste ich falsch?

    Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Ich bin wie ich bin. Die Einen kennen mich, die Anderen können mich.

    Konrad Adenauer

  • Hallo,


    ich habe mir das mal angesehen, doch wo finde ich diese Befehle oder - und wie wende ich diese an?
    BscIsError(...) und BscGetError(2)(...)
    hat noch einmal einer eine idee?


    danke...

  • Hallo kiecrob,


    BscIsError(...) und BscGetError(2)(...) sind keine Befehle auf (bzw. in) der Teachbox. Du wirst sie in der Teachbox nicht finden. Aus diesem Grund:


    Es sind C++/Win32-Funktionen aus der Motocom32.dll. Diese Datei wird von Motoman mit Dongle (USB) verkauft. Man sollte mindestens "etwas" Programmiererfahrung haben, um diese Datei anzuwenden.


    Sollte das der Fall sein, musst Du mit


    1.) id = BscOpen(...), mit id > -1 (id == -8 bedeutet: kein Dongle)
    2.) BscSetEServer(id,...)
    3.) BscConnect(id,...)


    eine Verbindung zur Motocom32.dll herstellen. Dazu muss der (Schlüssel-) Schalter der (DX) NX auf Remote stehen. Danach kannst Du mit (z.B.) BscPutVarData(id,...) das o.g. Szenario mit B099 = 256 testen.


    IMHO:
    Auch wenn es verlockend erscheint, komplette Prozessabläufe mittels der Motocom32.dll auf einen PC auslagern zu wollen, rate ich davon ab, weil die Socketverwaltung innerhalb der Motocom32.dll seitens Motoman stark verbessert werden muss. Die Datei erzeugt Hänger im Programm von bis zu drei Sekunden. Zeitkritische und die Prozesssicherheit betreffende Schritte (z.B. CallMasterJob (INPUT) und TopOfMasterJob (OUTPUT)) im Ablauf lasse ich nur über die Klemmen und eine SPS laufen. Besser ist das ...


    Schönes WE noch


    Schach

    Einmal editiert, zuletzt von chezz ()

  • Vielen Dank für die detailed Beschreibung.... ist auch irgendwie klar.... nur eines noch, ist mir entfallen ;) wo finde ich die IP-Adresse von dieser DX100 Steuerung?


    Gruß

  • cool, danke chezz...
    Die IP und Subnet habe ich gefunden. Nur, der PING geht nicht, da kommt keine Antwort zurück. Physikalische steht die Verbindung...


    Ich weiß nicht woran das liegen kann....



    Gruß

  • Gib Deinem Rechner mal eine feste IP (also kein DHCP), die im selben Nummernkreis wie der Roboter liegt.


    z.B.


    PC: 192.168.66.6 (192.168.66.x = Nummernkreis)


    Rob: 192.168.66.7


    Ist eine Firewall an (Motocom32.dll benutzt die Ports 10000 - 10008)?


    Hast Du eine Direktverbindung oder gehst Du über einen Server / Router?


    Welchen Eintrag hat das Gateway in der DX?


    Blöde Frage zum Schluss: Kabel kaputt?


    Edit 01.07.2010:
    Habe ich doch glatt vergessen:


    Unter Ein-/Ausgänge -> PseudoEingänge muss der Eintrag "CMD Remote " angewählt werden. Sorry...

    Einmal editiert, zuletzt von chezz ()

  • Hat jemand mal das ganze mit:
    - BscReadAlarmS
    - BscGetFirstAlarmS
    - BscGetNextAlarmS


    hinbekommen? (am besten in vb.net *g*)


    Irgendwie weigert sich das bei mir nen Fehlercode und nen Fehlertext auszuspucken.


    Gruß Sebastian

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden