+131.8
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
def ad30 // Все понятно из названия, да?
vgl start_naht 3
baw gr
spg ad40
aktuelle_naht = 3 ;
lad vsp 53 aktuelle_naht ;
spg up setze_npk_abs ;
vgl start_naht 3
baw gl
PPZ # R100 Z1 z1_start Z2 P8 Z3 P9 ;
z1_start = -1590
z1_ziel = -2985
vgl tisch_nr 2
baw gl
spg ad31
z1_start = z1_start + tisch_abstand ;
z1_ziel = z1_ziel + tisch_abstand ;
def ad31
z1_soll = z1_start
lad r1 R65
lad r2 R66
R1.C = c3_soll ;
R2.C = c3_soll ;
R1.B = 0;
R2.B = 0;
spg up verschiebe_nahtanfang ;
spg up fahre_z1 ;
PPZ # A1 -12.13 A2 -15.73 A3 114.05 A4 24 A5 40 A6 -208 Z1 z1_start Z2 P8 Z3 P9
pnd_amp = pnd_amp_laengs ;
pnd_len = pnd_amp * 0.8
dx = -delta_x_npk
ges_schweiss = ges_schweiss_orig * 0.85
npk 4 rel x dx y 0 z delta_z_npk a 0 b 0 c 0
spg up laengsnaht_ohne_messen ;
; ------- Veraenderte Punkte speichern
vgl za_soll 90
baw kl
spg ad35
; ------- Oberseite -----------------------
lad r605 r1
lad r606 r2
spg ad36
; ------- Unterseite ----------------------
def ad35
lad r625 r1
lad r626 r2
def ad36
lad p1 pos
spg up freifahren
spg up anfahr_ges ;
p2 = p2 - ( z1_start - z1_ziel )
liz x p1 y p2 z p3 a p4 b p5 c p6 z1 z1_start z2 p8 z3 p9
spg up grundstellung
spg up brenner_reinigen ;
; --------------------------------------------------------------
; Schweissnaht 4 (Roboterseite)
; --------------------------------------------------------------
def ad40
vgl start_naht 4
baw gr
spg ad50
aktuelle_naht = 4 ;
lad vsp 53 aktuelle_naht ;
spg up brenner_reinigen ;
z1_start = -1590
z1_ziel = -2985
vgl tisch_nr 2
baw gl
spg ad41
z1_start = z1_start + tisch_abstand ;
z1_ziel = z1_ziel + tisch_abstand ;
def ad41
z1_soll = z1_start ;
lad r1 R67
lad r2 R68
Это язык SRCL, используется на некоторых роботах, зовется высокоуровневым. Однако не умеет даже передавать параметры в функции.
Особенно умиляют команды типа PPZ и LIZ и названия типа aktuelle_naht - писал немец :)
В конце концов, чтобы запрограммировать этого робота пришлось писать свой конструктор программ, который выдавал эту лажу мегатоннами (а в чем еще измерять разрушительную силу этой хрени??).
Запостил: karevn,
11 Февраля 2010
guest 12.02.2010 12:27 # 0
karevn 12.02.2010 14:11 # 0
Кстати, linux без realtime расширения для управления роботом - это отдельный пример говнодизайна систем. К сожалению для этого нет подходящего сайта.
Altravert 12.02.2010 14:49 # 0
uncle Lem 12.02.2010 16:11 # 0