You are on page 1of 4

'---------- TEACH - PROGRAMM ----------------------' Projekt UOG China Suzhou ' Robot Feldbusansteuerung mit Profibus Adr.

10 '--------------------------------------------------#define F_ParNotValid 8000 ' Selbstdefinierte Fehlernummer (ab 8000) wenn vom Roboter gelesene Parameter nicht gltig sind Real Temp Function main1 'Teachprogramm (wird nur im BA: Manuell aktiviert): Sel_Prog1 = 1 Sel_Prog_2 = 0 Sel_Prog_4 = 0 Do ' Ausgabe OutReal Q_x, CX(Here) ' gibt leider Istwert aus erst nachdem P unkt angefahren wurde, zum teachen aber geeignet OutReal Q_y, CY(Here) OutReal Q_z, CZ(Here) OutReal Q_u, CU(Here) ' OutReal istwert, CX(Here) ' gi bt Istwert im Real Format aus (Ieee 754) OutW Q_v_ist, Vel ' gibt Geschwindigkeit i n Int Format aus OutW Q_a_ist, Acc ' gibt Beschleunigung im Int Format aus Wait 0.5 ' ohne Wait trit t Multitasking-Error auf -> EPSON-Problem ' Eingabe (fr Teachen ber Profibus usw. bzw. UOG Suzhou Synch. mit Verschieberahmen) If Sw(I_LoadPar) Then ' SPS will Daten schicken !!!! e vtl. noch .. And Oport(Q_TeachMode) um nderungen nur sicher zuzulassen Select InW(I_Par_Nr) Case 10 ufnahme) komplett in WKS!!! P_pick_up = Here le Position Punkt 1 (Aufnahme) zuordnen SavePoints "Points.pts" ' Punktedatei abspeichern im Flash-Speicher (!!! Achtung stndig speichern wrde Leb ensdauer herabsetzen -> nur zum Teachen verwenden) Wait 2 Case 11 ' Lade P1.x Koor dinate Case 12 ' Lade P1.y Koor dinate Case 13 ' Lade P1.z Koor dinate Case 14 ' Lade P1.u Koor dinate Case 15 ' Lade P1.v Gesc hwindigkeit Case 16 ' Lade P1.t Timi ng Case 20 fen) komplett P_oven = Here ion Punkt 2 (Ofen) zuordnen SavePoints "Points.pts" ' Punktedatei abspeichern im Flash-Speicher (!!! Achtung stndig speichern wrde Leb ' aktuelle Posit ' Lade Punkt2 (O ' aktuel ' Lade Punkt1 (A

ensdauer herabsetzen -> nur zum Teachen verwenden) Wait 2 Case 21 dinate Case 22 dinate Case 23 dinate Case 24 dinate Case 25 hwindigkeit Case 26 ng Case 30 teanlage) komplett P_toughen = Here le Position Punkt 3 (Hrteanlage) zuordnen

' Lade P2.x Koor ' Lade P2.y Koor ' Lade P2.z Koor ' Lade P2.u Koor ' Lade P2.v Gesc ' Lade P2.t Timi ' Lade Punkt3 (Hr ' aktuel

SavePoints "Points.pts" ' Punktedatei abspeichern im Flash-Speicher (!!! Achtung stndig speichern wrde Leb ensdauer herabsetzen -> nur zum Teachen verwenden) Wait 2 Case 31 ' Lade P3.x Koor dinate Case 32 ' Lade P3.y Koor dinate Case 33 ' Lade P3.z Koor dinate Case 34 ' Lade P3.u Koor dinate Case 35 ' Lade P3.v Gesc hwindigkeit Case 36 ' Lade P3.t Timi ng .....usw. weitere Parameter festlegen Case 40 blage) komplett P_place = Here ' aktuelle Posit ion Punkt 4 (Ablage) zuordnen SavePoints "Points.pts" ' Punktedatei abspeichern im Flash-Speicher (!!! Achtung stndig speichern wrde Leb ensdauer herabsetzen -> nur zum Teachen verwenden) Wait 2 Case 41 ' Lade P4.x Koor dinate Case 42 ' Lade P4.y Koor dinate Case 43 ' Lade P4.z Koor dinate Case 44 ' Lade P4.u Koor dinate Case 45 ' Lade P4.v Gesc hwindigkeit Case 46 ' Lade P4.t Timi ng .....usw. weitere Parameter festlegen Case 50 rundstellung) komplett P_base = Here ' aktuelle Posit ' Lade Punkt5 (G ' Lade Punkt4 (A

ion Punkt 5 (Grundstellung) zuordnen SavePoints "Points.pts" ' Punktedatei abspeichern im Flash-Speicher (!!! Achtung stndig speichern wrde Leb ensdauer herabsetzen -> nur zum Teachen verwenden) Wait 2 Case 51 ' Lade P5.x Koor dinate Case 52 ' Lade P5.y Koor dinate Case 53 ' Lade P5.z Koor dinate Case 54 ' Lade P5.u Koor dinate Case 55 ' Lade P5.v Gesc hwindigkeit Case 56 ' Lade P5.t Timi ng .....usw. weitere Parameter festlegen Case 100 igkeit (gilt fr alle Bewegungen) nW(I_Par_Data) <= 0) Then Error F_ParNotValid Else Vel = InW(I_Par_Data) EndIf Case 101 igung If (InW(I_Par_Data) > 120) Or (I nW(I_Par_Data) <= 0) Then Error F_ParNotValid Else Acc = InW(I_Par_Data) Dec = InW(I_Par_Data) EndIf Case 102 (obere Begrenzung beim Jump-Befehl, ) lle -> /10 Else Temp = -(65536 - InW(I_P ar_Data)) / 10 ' eine Kommastelle -> /10 hen EndIf If (Temp > 0) Or (Temp < -400) T ' je nach Roboter... hier gltiger Bereich 0..-400mm Error F_ParNotValid Else LimZ Temp Print Temp EndIf Default On Q_ReadReady, 0.1 hat gelesen Send EndIf Loop ' Quittung Robot ' Lade LimZaxis If InW(I_Par_Data) = 0 Then Temp = 0 ' eine Kommaste ' Lade Beschleun ' Lade Geschwind If (InW(I_Par_Data) > 100) Or (I

Fend

You might also like