proc hs_refp1 (real ld_tor) save displof actblocno
def string[20] lv_cycle_name="hs_refp1.spf"
def axis qq, ll ;lokale Achsen definieren定义局部轴
def axis lv_m_ax_1 ; Maschinen-Achsname der abzugleichenden Achse等效轴机名称
def axis lv_c_ax_1 ; Kanal-/bzw. Geometrie-Achsname der abzugleichenden Achse频道/或匹配轴的几何轴名称
def axis lv_ax
def real lv_pos_mt_zw, lv_pos_me_1z, lv_pos_me_2z, lv_pos_me_3z, lv_pos_me_4z, lv_pos_me_5z, lv_pos_me_1x, lv_pos_me_2x, lv_mew1
def real lv_pos_me_dif
def bool lv_debug=false
;Achsbezeichnungen laden
负载轴标签
hs_ax(1, lv_m_ax_1, lv_c_ax_1)
qq=lv_c_ax_1 ;$P_AXN2 ;Achse 2=X/U 轴2=X/U
hs_ax(2, lv_m_ax_1, lv_c_ax_1)
ll=lv_c_ax_1 ;$P_AXN1 ;Achse 2=Z/W
;lokale Variablen berechnen
lv_pos_mt_zw=$aa_im[z4]+gd_pos_mt_z4
lv_pos_me_1z=0-gd_pos_rn_mi+7
lv_pos_me_2z=0-(gd_pos_rn_mi+gd_pos_rn_pl)/2+3.5 ;Fl鋍he rechts
lv_pos_me_3z=0-(gd_pos_rn_mi+gd_pos_rn_pl)/2
lv_pos_me_4z=0-(gd_pos_rn_mi+gd_pos_rn_pl)/2-3.5 ;Fl鋍he links
lv_pos_me_5z=0-gd_pos_rn_pl-7
lv_pos_me_1x=0-gd_pos_rn_xu-3
lv_pos_me_2x=0-gd_pos_rn_xu+2
;-------------------
;Programmbeginn
diamof
trans ax[ll]=lv_pos_mt_zw ax[qq]=gd_pos_mt_xu
g0 g90 g60 g40 g94 m450 ;Messtaster einschwenken
while (not(i_meas_pos_reached)) ;Messtaster nicht in Messstellung (vorne)
G4f0.1
stopre
endwhile
G4 F4 ; Wartezeit wg. Schwingungen im Messarm
;1. messpunkt z/w minus
ax[ll]=lv_pos_me_1z
ax[qq]=lv_pos_me_1x
m49
g1 g91 meas=-1 ax[ll]=-5 f=gd_me_vor ;Messatz meas=-1 >fallende Flanke von Mt.Nr.1
m48
stopre
if $ac_mea[1]<>1 gotof fehl1 ;keine Messsung erfolgt
lv_mew1=$aa_mm[ll]
g1 g90 ax[ll]=lv_pos_me_1z
m49
g1 g91 meas=-1 ax[ll]=-5 ;Wiederholmessung
m48
stopre
if abs($aa_mm[ll]-lv_mew1)>gd_me_tolka gotof fehl2 ;Toleranz ueberschritten
最佳答案
在第三行时不是有定义的局部轴吗?
def axis qq, ll ;lokale Achsen definieren定义局部轴
提问者对于答案的评价:
那个是定义轴变量,还要赋值的
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc294871.html