DECL STATE_T STAT
DECL MODUS_T MODE
Muss in jeder Routine wieder neu deklariert werden. Hab mich auch desöfteren drüber geärgert
DECL STATE_T STAT
DECL MODUS_T MODE
Muss in jeder Routine wieder neu deklariert werden. Hab mich auch desöfteren drüber geärgert
Ja genau. Tauschst das Diskettenlaufwerk gegen dieses. USB Stick formatieren laut Anleitung von Kuka und funktioniert einwandfrei.
Das ging nur auf Diskette. Ich hatte aber son Konverter im KRC Schrank eingebaut. Ist ein Diskettenlaufwerk mit USB Anschluss. Danach hab ich alles per USB Stick gemacht.
Ja gut, kann man sonst mit ner IF Schleife arbeiten. Den Satz hatte ich wohl beim Threadsteller überflogen, sonst hätte ich es nicht mit dem WAIT FOR geschrieben
Ein "WAIT FOR" im Submit?
Im Multisub kein Problem. Sollte natürlich nicht im SPS.sub aufgerufen werden.
Die WAIT FOR abfragen nutze ich zB in der Initialisierung. Da werden bei uns immer die ganzen Multisubs zurück gesetzt. Dafür ist das echt nützlich.
CWRITE($CMD,STAT,MODE,"RUN /R1/Hintergrundtask() >3")
Hintergrundtask() ist der Name der Sub (EX1) Routine.
Wie meinste du das mit anderes Modul EX1 zuweisen?
Wenn ich es richtig verstehe willst du der Variable $PRO_I_O_PROC_ID3.MODULE[] ein Modulnamen zuweisen? $PRO_I_O_PROC_ID3.MODULE[] hinter der Variable ist die Subroutine hinterlegt.
Soweit ich es mal gestestet habe, ging das nicht, da dies eine Systemvariable ist. Man kann diese nur auslesen.
Alles anzeigenHi,
geh in die $config.dat und schreib ganz unten in etwa so:
SIGNAL MeineZahl $IN[1] To $IN[5]
Dann bildet dir das System eine Zahl.
Hast dir die Posts drüber durchgelesen?
Also ich bin ehrlich, würdest du einen Programmierer für 2 Tage bestellen, wäre dir schneller geholfen.
1. Tag: Programmierarbeiten.
2. Tag: Step by Step das Programm mit dir durchgehen und dir das ganze in Ruhe erklären.
Das würd dir mehr helfen in der Situation als im Forum Programmschnipsel zusammen zu kleben und Tagelang zu testen und probieren.
Hi Brgs,
probier mal im Ordner:
C:\KRC\BIN
Die Datei vxWorks.freeze zu löschen und dann neuzustarten.
Dieses hatte mir mal geholfen.
Viele Grüße
Alles anzeigenKönnte mir hier bitte nochmal jemand behilflich sein.
Habe das mit den Variablen langsam kapiert
Beckentiefe klappt schon.
Wenn ich aber die Beckenlänge deklarieren will, komm ich einfach nicht drauf...
XStart, dann zu XVor und wieder zurück zu XZur...
Gibts da einen Trick ?
Vielen vielen Dank !!!
Hi,
einerseits schreibst du, du verstehst es langsam mit den Variablen, aber 2 Zeilen weiter schreibst du wie du die Variable Beckenlänge deklarieren willst, obwohl diese längst deklariert ist, da du ansonsten Syntaxfehler hättest?
Irgendwie verstehe ich deine Frage nicht.
Morgen,
probier den mal aus. Habs nicht getestet.
in SPS.sub:
IF ($DATE.HOUR >= 23) AND (($DATE.HOUR <= 5) AND ($DATE.MIN >= 30)) THEN
$OV_PRO = 100
ELSE
$OV_PRO = 30
ENDIF
Wichtig ist, dass du die Roboterzeit richtig eingestellt hast.
Viele Grüße
Dann solltest du eine neue Position erstellen oder ein Frame.
slin P1
POS_P1 = P1
POS_P1_temp = P1
POS_P1.y = POS_P1_temp .y + OFFSET
oder machst ein Frame
DECL FRAME fOffset
fOffset = $NULLFRAME
SLIN POS_P1
;P1
SLIN fOffset:POS_P1
SLIN POS_P1
;P2
fOffset.y = Offset
SLIN fOffset:POS_P1
SLIN POS_P1
;P3
fOffset.y = Offset * 2
SLIN fOffset:POS_P1
usw.
Finde mit Frames arbeiten sehr übersichtlich. Kannst auch so nicht ausversehen Punkte überschreiben.
Hi MedRob,
Kannst du beschreiben, was du genau vor hast? Finde die Informationen sind verwirrend und zu wenig.
Wenn ich dich richtig verstanden habe könnte das Programm wie folgt ausschauen.
slin P1
POS_P1 = P1
; Position 1 anfahren
POS_P1.y = POS_P1.y + OFFSET
slin POS_P1
slin p1
; Position 2 anfahren
POS_P1.y = POS_P1.y + 2*OFFSET
slin POS_P1
slin p1
; Position 3 anfahren
POS_P1.y = POS_P1.y + 3*OFFSET
slin POS_P1
Hi Sonny,
der Vorlaufzeiger überschreibt die Positionen. Nur durch Vorlaufstops kriegst es in den Griff. Oder verschiedene Positionen erstellen.
Grüße
Alles anzeigenHey!
Ich möchte erreichen, dass beim teachen nur mit dem Tool Koordinaten- System verfahren wird.
Erst ab Experte sollen die ILF-Punkte auch mit den anderen Koordinaten- Systemen geteacht werden können. Ohne Expertenberechtigung soll nur eine Bewegung in Tool- Z möglich sein.
Hat jemand schon mal sowas ähnliches umgesetzt?
Hintergrund: Es soll ein "Einheitliches"-teachen der Mitarbeiter eingeführt werden. Leider kommt es immer wieder vor, dass gewisse Winkel verstellt werden...
UserTech ist vorhanden falls das ein Vorteil ist.
Es handelt sich um eine KRC4, KSS 8.3
Einfacher wäre es, wenn du im Programm Temporäre Positionen teachen könnte.
Diese Temporäre Positionen kannst du in deinem Verfahrprogramm mit den Originalenpunkten überschreiben.
z.B.
xEntnahme.Z = xTemp_Entnahme.Z
Die restlichen Werte werden dann unverändert bleiben.
Guten Morgen…
Mal auf die Uhr geschaut?
Da passieren Fehler 😂🥱
Kleiner Programmierertipp. Erstmal Kaffee dann PC
Alles anzeigenSieht nach einem schlechten Programm aus….
Wenn der Speicher voll läuft dann muss das ja einige vorlaufstops haben….
Setze die variable stopnoaprox auf True und lass dein Programm in T1 ablaufen….
Dann siehst du wieviele Fehler du hast…
Stopnoaprox läuft nur in T2/Automatik.
Die Projektdatei kann aber auch eine *.asz Endung haben. Nicht irritieren lassen.
Moin,
mal nebenbei.
Wait und Fahrbefehle haben in der sps.sub nichts zu suchen.
Fahrbefehle waren in seinem Beispiel Programm nicht drin, die WAIT Befehle haben wir bereits oben geklärt und durch Blinker ersetzt.