Da kamen einige ??? auf mit den ??? und es folgten super !!! Da sprach wohl ein ABB-Guru
Hatte zwar lange nix mehr mit ABB zu tun (bin mehr Fanuc und KUKA) gucke aber trotzdem gern mal hier rein. Freut mich dass es Leute gibt, die andere nicht dumm sterben lassen.
ich bin`s wieder mal. Ich möchte was neues machen und komm da nicht weiter. Kann mir einer helfen oder sogar das ganze vereinfachen?
Ich möchte nur eine Zeile schreiben, wo dann alles unbemerkt passiert : rPosKontrolle GetTooldata("to_GrGeb_"+strProKurz{gi_ProduktNummer}),wo_Vorr,pUms3_BiegeVorr,"Vorr_HIN";
Damit ich keine Signale (um Position des Rob. zu erfragen muss) / rBoxDef nicht mehr benutze, wollte ich es auf dieser Weise lösen...
Die Func und Routine möchte ich in dem Logik.mod haben und der Aufruf der Routine passiert in dem Bearbeitungsmodul (wo auch die Tool (für jewieligen Produkt) dekl. sind).
Vielen Dank im Voraus!
P.S.: An den ProgrammierSklaven: Du hast bestimmt eine elegantere Lösung???
Fehler:
/RobZelle2/RAPID/T_ROB1/TEACH_R60_R4(241,23): Fehler 40123 : Argumentfehler : Argument für 'PERS'-Parameter tLocTool ist kein Verweis auf eine Persistenteoder ist schreibgeschützt. 30.03.2011 18:08:20 RAPID
Code
rPosKontrolle GetTooldata("to_GrGeb_"+strProKurz{gi_ProduktNummer}),wo_Vorr,pUms3_BiegeVorr,"Vorr_HIN";
FUNC tooldata GetToolData(string Name)
VAR tooldata tool;
!Read the type depending position
GetDataVal Name,tool;
RETURN tool;
!
ENDFUNC
!---------------------------------------------------
!----- Positionskontrolle der Roboter
!---------------------------------------------------
PROC rPosKontrolle(
PERS tooldata tLocTool,
PERS wobjdata wLocWobj,
robtarget pLocPos,
string strLoc)
VAR robtarget pTemp;
pTemp := CRobT(\Tool:=tLocTool \WObj:=wLocWobj); !-- Akt.Position mit der Soll-Position vergleichen
!-- Wenn die CRobT-Pos. in vergleich der Teachpos-Hol/AblPos kleiner 3 ist, fährt der Rob. automatisch raus bis in die Home
IF ((Abs(pTemp.trans.x-pLocPos.trans.x)+Abs(pTemp.trans.y-pLocPos.trans.y)+Abs(pTemp.trans.z-pLocPos.trans.z)+Abs(pTemp.rot.q1-pLocPos.rot.q1)+Abs(pTemp.rot.q2-pLocPos.rot.q2)+Abs(pTemp.rot.q3-pLocPos.rot.q3)+Abs(pTemp.rot.q4-pLocPos.rot.q4))) < 3 THEN
rError "Report","Berechnete Seite: "+ByteToStr(byEntBiege),"";
ELSE
rError "Exit","R4=> Die Akt.Pos. ist nicht angefahren!","Bitte den Rob. (VORSICHTIG) manuel rausfahren!";
ENDIF
ENDPROC
!---------------------------------------------------
!----- Positionskontrolle der Roboter
!---------------------------------------------------
FUNC bool fPosKontrolle(
string strLocTool,
PERS wobjdata wLocWobj,
robtarget pLocPos,
num nLocMaxTolleranz)
VAR robtarget pLocTempPos; !-- Local/Temp Position
VAR tooldata tLocTool; !-- Local Tool
!
WaitTime\InPos,0;
!-- Beispiel: rPosKontrolle "to_GrGeb_"+strProKurz{gi_ProduktNummer},wo_Vorr,pUms3_BiegeVorr,3\strLocError1:="R4=> Robbi befindet sich nicht in der ZWPos....!"\strLocError2:="Bitte (do_SimUmsBiegeVorr3_R4->1) ueberpruefen!";
to_Temp:=tool0a; !-- Die Werte von To_Temp auf Tool0 aktualisieren
GetDataVal strLocTool,tLocTool; !-- String in Tool übergeben
to_Temp:=tLocTool; !-- Das Stringtool auf ToolTemp
!
pLocTempPos := CRobT(\Tool:=to_Temp\WObj:=wLocWobj); !-- Akt.Position mit der Soll-Position vergleichen
!-- Wenn die CRobT-Pos. in vergleich der Teachpos-Hol/AblPos kleiner 3 ist, fährt der Rob. automatisch raus bis in die Home
IF (((Abs(pLocTempPos.trans.x-pLocPos.trans.x)+Abs(pLocTempPos.trans.y-pLocPos.trans.y)+Abs(pLocTempPos.trans.z-pLocPos.trans.z)+Abs(pLocTempPos.rot.q1-pLocPos.rot.q1)+Abs(pLocTempPos.rot.q2-pLocPos.rot.q2)+Abs(pLocTempPos.rot.q3-pLocPos.rot.q3)+Abs(pLocTempPos.rot.q4-pLocPos.rot.q4))) < nLocMaxTolleranz) RETURN TRUE;
!-- Im Fehlerfall FALSE
RETURN FALSE;
!
ENDFUNC
Alles anzeigen
Hilfe und Support für ABB Roboter Programmierung, Konfiguration, Inbetriebnahme finden Sie hier im ABB Roboter Forum.
ABB Rapid Programmierung ist einfach, die Roboterforum Community hilft sehr gerne.
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!
Roboterforum.de - die Industrieroboter und Cobot Community in der WSC-Connect App bei Google Play
Roboterforum.de - die Industrieroboter und Cobot Community in der WSC-Connect App im App Store
Download
Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklärst du dich damit einverstanden, dass wir Cookies setzen.Weitere InformationenSchließen