Morgen... Danke beide aber vielleicht habe ich falsh geschrien.
Ich will nicht mit VB den Roboter bewegen.. dass wird immer mir KRL.. naturlich..
Ich fragte nur wie ist moglich rufen ein KRL programme mit diese VB befehle..
Jemand weisst??
Morgen... Danke beide aber vielleicht habe ich falsh geschrien.
Ich will nicht mit VB den Roboter bewegen.. dass wird immer mir KRL.. naturlich..
Ich fragte nur wie ist moglich rufen ein KRL programme mit diese VB befehle..
Jemand weisst??
@Ulisse,
Hier ein paar Ideen:
1) Lese mal die Dokumentation über Automatik Extern durch. Das geht in dieselbe Richtung.
2) Generel: Wenn Du Variabeln in den Roboter schreiben und lesen kannst, stehen Dir eigentlich alle Türen offen... Programme starten kannst Du dann (noch nicht selber ausprobiert) mit CWrite im Submit Interpreter.
3) Die Cross-Schnittstelle ist unheimlich mächtig. Ich habe den Eindruck, daß man alles (and more) machen kann, was mit der Konsole möglich ist (Select, Move, Start, ChangeUser, ...). Ist halt nur nicht dokumentiert. Du mußt die Funktionen also selbst ausprobieren.
Robotnik
Ich bevorzuge auch Firmen, die ihr Material verkaufen, und dann die Software und Updates den Kunden kostenlos zur Verfügung stellen. Ich habe selbst eine kleine Firma, und da lohnt es sich nicht unbedingt immer, alle Software für nur einen Auftrag zu kaufen. Aber das ist halt Firmenpolitik. Ansonsten habe ich mit Kuka bis jetzt sehr gute Erfahrungen gemacht (hilfsbereite und kompetente Mitarbeiter in Deutschland und Frankreich).
Schöne Grüße,
Tilman
Tilman and Robotnik Danke sehr..
Ich habe noch ein klein problem:
Ich habe die Robotnik metode benutzt.. aber etwas bei mir stimmt nicht..
in -> $config.dat
BOOL MOD_PROG = FALSE
in -> sps.sub
IF (MOD_PROG==TRUE) THEN
CWRITE ($CMD,STAT,MODE,"RUN /R1/Programs/moveAxis()")
ENDIF
Dann ich kann die variable MOD_PROG=TRUE setzen aber den Robot bewegt nicht
Was mache ich falsh?
Da musst Du noch die Antriebe einschalten, das geht aber nur über IO-Module oder ner Softsps.
Danach nen ExternStart senden und die Fahrfreigabe (auch über IO-Mod) setzen.
Dann sollte es rocken...
Ach ja, und eine evtl. anstehende Stopmeldung muss vorher abgelöscht sein.
CWRITE ($CMD,STAT,MODE,"RUN /R1/Programs/moveAxis()")
Und es muss "RUN /R1/moveAxis()" heissen, also nicht das Unterverzeichnis angeben.
...wenn ich mich nicht täusche.
Hier noch ein Beispiel aus der Dokumentation von Kuka :
DECL STATE_T STAT
DECL MODUS_T MODE
MODE=#SYNC
...
;select program A6()
;to start the program the START-button or
;an external start-signal is needed
IF $FLAG[1]==TRUE THEN
CWRITE($CMD,STAT,MODE,"RUN/R1/A6()")
$FLAG[1]=FALSE
ENDIF
;stop program A6()
IF $FLAG[2]==TRUE THEN
CWRITE($CMD,STAT,MODE,"STOP 1")
$FLAG[2]=FALSE
ENDIF
;cancel program A6()
IF $FLAG[3]==TRUE THEN
CWRITE($CMD,STAT,MODE,"CANCEL 1")
$FLAG[3]=FALSE
ENDIF
Display More
Wenn ich das mit Deiner Lösung vergleiche, dann fehlt auch das Zurücksetzen von MOD_PROG.
Schönen Abend,
Tilman
Nein, ich meine Deine Variable MOD_PROG.
Sonst wird CWRITE bei jeder Iteration im Submit-Interpreter ausgeführt.
OOOOOOOOO Superrr
Hat jetzt geklappt.. den Robot jetzt bewegt.. aber noch etwas stimmt nicht.. Lauft nicht automatisch.. aber bis STAK
Wie soll ich machen damit er leuft selber ohne dass ich drucke "START TASTE" ???
Danke wieder
Hallo Ulisse,
QuoteLauft nicht automatisch.
Ja, das ist Absicht! Wie bereits gesagt, ein Programm automatisch zu starten, ohne daß ein Mensch den Start-Vorgang überwacht, ist gefährlich. Rate ich Dir wirklich von ab. Und ich verstehe auch nicht die Notwendigkeit, warum Du es trotzdem machen willst.
Schreib doch mal, wozu das Ganze dienen soll...
Es ist dennoch möglich.
1) Wie Robotnik bereits beschrieben hat, über <<IO-Module oder ner Softsps>>.
2) Auch der O2I Treiber würde nützen. Den wollte mir allerdings hier im Forum keiner zur Verfügung stellen (siehe Beitrag).
3) Es gibt in der Crossschnittstelle, die Du ja zum Schreiben der Variablen benutzt, eine Funktion, die heißt "short Start(void)". Hört sich gut an
Tilman
In moment ich lade mein programm aber muss ich immer mit den finger auf die START TASTE drucken..
Ich mochte, zum beispiel, setzten meine Variable MOD_PROG, danach mit SPS.SUB lade ich mein .SRC file, wo sind alle befehle geschrieben, (dass shaffe ich bis jetzt), und sehen dass den Roboter selber erreich den punkt onhe dass ich drucke diese "Start Taste" (dass wird mein ziel)..
Hat was zu tun die $MODE_OP?? Jetzt bei mir ist auf #AUT
Gibts so immer jemand dass muss diese variable setzten oder den robot bleibt stehe.
Danke
Servus,
Ich würde ganz gerne eine Frage zu dem orginal Thread stellen. Ich versuche mich auch gerade an der Schnittstellenprogrammierung und würde mir beide Wege gerne mal angucken. Also die Cross.ocx und die Interop.WBC_KrcLib.dll. Aber leider finde ich die Interop.WBC_KrcLib.dll nicht. Wo sollte die denn eigentlich sein?
Gruss,
lambert
Danke schön. Die Downloads sind hier so gut versteckt... Hat diese dll jemand selbst programmiert, oder gibts die von KUKA. Ich frage nur, damit ich nicht aus versehen irgendeine Lizenz (z.B. GPL) verletze.
Hallo,
Eine etwas programmierlastigere Frage: Ich kann nun zwar die Variablen von der KRC lesen und mir auf einer C#-GUI ausgeben lassen, aber leider hört der Roboter auf zu fahren sobald ich die KSS minimiere. Kann man das irgendwie umgehen. Ich würde mir nämlich gerne eine eigene GUI schreiben auf der ich mir die Prozessparameter anzeigen lasse.
Gruß,
lambert
Im Automatikbetrieb sollte es funktionieren.
You need to be a member in order to leave a comment