Beiträge von Hermann

    Hallo,
    ja, jetzt ist's klar.


    So wird es funktionieren. :supi:


    Da hat der Cread/Cwrite gar nichts mit dem AutoExtern zu tun, ausser dass
    nach einem Cread irgendwann mal der eine oder andere Ausgang gesetzt/zurückgesetzt wird.


    Suche hier im Forum nach SPS.SUB und Auto Extern dürfte da noch einige Hinweise dazu
    liefern.


    Hermann

    Hallo,
    ja was denn nun?


    Wenn man extern Ausgänge auf Eingänge verdrahtet, dann hat man doch Eingänge für den
    AutoExtern-Betrieb. Da kann man dann doch die Ausgänge auch ganz normal mit $out[]
    ansprechen, und benötigt kein Cwrite.


    Ohne diese externe Verdrahtung bleibt nur der Weg über den nicht freigegebenen Treiber,
    der dann diese Verdrahtung ersetzt.


    Hermann

    Hallo,
    Erfahrung mit den Versionen 1.xxx habe ich nicht, aber
    es kommt darauf an, wie Du die Crosscomm eingebunden hast.


    Das Ding ist ein DCOM-Server, der hat eine GUID (oder so ähnlich,
    eine eindeutige ID ebend :zwink:).
    Wenn jetzt die Verbindung in Deinem Programm nicht dynamisch erfolgt,
    sondern statisch über diese GUID, dann geht es nicht, da sich diese mit
    nahezu jeder Version des Betriebssystems geändert hat.


    Grüssle Hermann

    Zitat

    womit sicher ist, daß dieser Kunde nächstes Mal lieber nen anderen Robot kauft, wo es so ein engstirniges Denken nicht gibt...


    Glaube dass sich da die Roboterhersteller nicht viel nehmen.
    Hat schon mal einer bei ABB eine Software-Option umsonst bekommen?
    Die Treiber zur Profibuskarte stammen nun mal von Kuka und nicht von Siemens.


    Warum man die dann nicht separat kaufen kann? Verstehe ich auch nicht,
    aber wenn, dann dürfte der Preis in etwa bei der Differenz zwischen
    Siemens-Karte und 'Kuka'-Karte liegen. :zwink:


    Hermann

    Hallo,
    das ist eine IRC5, odrrr?


    Ist mir kürzlich auch untergekommen.


    Da gibt es so einen Menüpunkt 'Definitionen einblenden' oder 'Deklarationen einblenden' so ähnlich,
    wenn man den anwählt, dann wird der gesamte Quelltext angezeigt.
    Und es lässt sich weiterblättern.


    Ist wohl noch ein Bug im System.


    Hermann

    Hallo,
    ja der ABB hat da schöne Funktionen zur Stringverarbeitung (STRMAP,
    STRPART, STRMATCH ...) und Dateihandling (SAVE, OPEN, CLOSE, READSTR,
    LOAD, UNLOAD).


    Habe schon mal ein ABB-Programm geschrieben, das ein vorhandenes
    Programmmodul einliest, 'zerpflückt' und ein neues Modul mit
    neuen Routinen erzeugt (Aufsplitten von symmetrischen Bewegungen aus einer
    Routine in separate Routinen).


    Das kann man dann wieder laden und ganz normal ablaufen lassen.


    Hermann

    Hallo,
    einzige halbwegs vernünftige Lösung ist:


    Einen Timeout für die Schleife einfügen und wenn der zuschlägt
    die Variable $MSG_T.VALID nochmal auf false, nach kurzer Wartezeit
    wieder auf true setzen und dann wieder die Warteschleife . . .


    Hermann

    Hallo,
    Versuch's mal so:


    Das ist das was harzi schon gemeint hatte.


    Hermann

    Hallo,
    die Ethernetschnittstelle ist vorhanden, glaub es mir.


    Hab' ein (recht schlechtes) Foro angehängt. Der Pfeil zeigt auf die Stelle mit dem
    Anschluss (hinter dem Kabel).


    Wie schon gestern gesagt: Schnittstelle ist oft - meistens in der KRC1 nicht
    konfiguriert. Muss man dann nachholen. Treiber sind auf der Betriebssystem-CD
    bzw. Partition D des Roboters. Die E/A-Bereiche und den Interrupt muss man
    meistens auch noch händisch richtig einstellen.


    Hermann

    Hallo,
    bleibe dabei, dass da an der Deklaration des IN-Signals was nicht stimmt.
    Evtl. sind die Bits bei den Eingängen um 16 Bit verschoben, entweder auf Roboterseite oder
    auf der CPU.


    Bei einem Doppelwort als Eingang geht der Zahlenwert bis (65536 *65536) / 2 - 1 und nicht nur bis 65535.
    also entspricht -1 so was um die 4249 Millionen.


    Gruss Hermann

    Hallo,
    - jede KRC hat einen Ethernet-Anschluss. Da wurde wohl das KCP mal durch ein neueres getauscht.
    Dann ist der Anschluss direkt auf der MFC zu suchen: das kleine Abdeckblech hinten, links oben im
    Schwenkrahmen entfernen und den Anschluss auf der Karte suchen.
    Bei der KRC1 ist die Schnittstelle im Windows oft nicht korrekt konfiguriert, kann man aber nachholen.


    - das mit der Punkteanzahl sollte ja wohl nicht das Problem sein: max. Anzahl anlegen und dann nur einen
    Bruchteil verwenden (Schleife 1 bis X). Das Problem ist die Datenübertragung. Bei der KRC1 machbar wäre:


    * über die inoffizielle/kaum dokumentierte Crosscomm-Schnittstelle.
    * serielle Schnittstelle
    * Bus-Schnittstelle wie Profibus, DeviceNet Interbus. (mit nicht unbedingt preiswerter Hardware/Software
    auf KRC und/oder PC -Seite).


    Wird aber alles recht langsam werden, bei so vielen Punkten


    * ab V.4 gibt es mit "KRC-Server" eine Möglichkeit Programme auf den Roboter zur Laufzeit zu übertragen.



    Hermann

    Hallo,
    also ich tippe da eher auf eine falsche Länge des Eingangssignals
    sowas wie:


    signal Edaten $in[81] to $in[96] an Stelle von


    signal Edaten $in[81] to $in[112].


    Das würde das Verhalten erklären.


    Die Sache mit den 65535/32767 gilt bei 16-Bit breiten Werten, hier ist's ein Doppelwort und da wird das
    Vorzeichen im Roboter korrekt behandelt, da braucht man nix selber zu rechnen.


    Hermann