工具钳的设置:
钳德设置最后保存在config.DAT里:
例:
钳1的设置: 夹具的设置- 打开-A580 关闭 A579 类型2脉冲式
DEF_ZANGE[1]={TYP 2,A_AUF 580,A_ZU 579,E_AUF 0,E_ZU 0,A_NAME_AUF[] "Spanngr_11_AUF",A_NAME_KLEM1[] "Ventil_YP1R",A_NAME_ZU[] "Spanngr_11_ZU",A_NAME_KLEM2[] "Ventil_YP1V",E_NAME_KLEM1[] "undefiniert",E_NAME_KLEM2[] "undefiniert"}
钳2的设置: 吸盘得设置- 反吹A618 吸气 A617
DEF_ZANGE[7]={TYP 0,A_AUF 618,A_ZU 617,E_AUF 0,E_ZU 0,A_NAME_AUF[] "Saugkreis_1_AUF",A_NAME_KLEM1[] "Ventil_YP7R",A_NAME_ZU[] "Saugkreis_1_ZU",A_NAME_KLEM2[] "Ventil_YP7V",E_NAME_KLEM1[] "V_Insel_SD7R",E_NAME_KLEM2[] "V_Insel_SD7V"}
钳16的设置:伺服焊钳点动 类型是6
DEF_ZANGE[16]={TYP 6,A_AUF 719,A_ZU 720,E_AUF 0,E_ZU 0,A_NAME_AUF[] "Tastend_EZ1_AUf",A_NAME_KLEM1[] "EZ1",A_NAME_ZU[] "Tastend_EZ1_ZU",A_NAME_KLEM2[] "EZ1",E_NAME_KLEM1[] "undefiniert",E_NAME_KLEM2[] "undefiniert"}
钳19的设置: 伺服焊钳打开夹紧 类型是1静态式
DEF_ZANGE[19]={TYP 1,A_AUF 717,A_ZU 718,E_AUF 717,E_ZU 718,A_NAME_AUF[] "EZ1_AUF",A_NAME_KLEM1[] "EZ1",A_NAME_ZU[] "EZ1_ZU",A_NAME_KLEM2[] "EZ1",E_NAME_KLEM1[] "EZ1",E_NAME_KLEM2[] "EZ1"}
TYP 钳功能的触发类型
0 没有用钳, 1静态输出,2是脉冲输出,3 是IBS静态输出,4是IBS脉冲输出,6输入/输出伺服焊钳(点动控制)
VW程序进行诠释:
SPS程序调用
VW (#VW_ZANGE,TRUE)
VW程序调用SUB_ZANGE( )
IF (TEMP_ZANGEN_FUNKT==1) THEN –工具钳的AUF按钮被按动
VW (#GUN,TRUE,AKT_ZANGE,1 ) –调用GUN程序
ENDIF
IF (TEMP_ZANGEN_FUNKT==2) THEN -工具钳的ZU按钮被按动
VW (#GUN,TRUE,AKT_ZANGE,0 ) –调用GUN程序
ENDIF
DEF GUN (GUN_NO :IN,OPEN_GUN :IN )
INT GUN_NO,OPEN_GUN
SWITCH DEF_ZANGE[GUN_NO].TYP -对钳工具的类型
CASE 1,3 -钳的类型是1,3
IF OPEN_GUN>0 THEN –钳打开
IF DEF_ZANGE[GUN_NO].A_AUF>0 THEN -钳打开上有地址
$OUT[DEF_ZANGE[GUN_NO].A_AUF]=TRUE –发出输出
ENDIF – 静态输出用于伺服焊钳之类控制
IF DEF_ZANGE[GUN_NO].A_ZU>0 THEN -钳夹紧上有地址
$OUT[DEF_ZANGE[GUN_NO].A_ZU]=FALSE
ENDIF
ELSE –钳打开没有就是夹紧
IF DEF_ZANGE[GUN_NO].A_AUF>0 THEN
$OUT[DEF_ZANGE[GUN_NO].A_AUF]=FALSE
ENDIF
IF DEF_ZANGE[GUN_NO].A_ZU>0 THEN
$OUT[DEF_ZANGE[GUN_NO].A_ZU]=TRUE
ENDIF
ENDIF
CASE 2,4 -钳的类型是2,4
IF OPEN_GUN>0 THEN –钳打开
IF DEF_ZANGE[GUN_NO].A_ZU>0 THEN
$OUT[DEF_ZANGE[GUN_NO].A_ZU]=FALSE
ENDIF
IF DEF_ZANGE[GUN_NO].A_AUF>0 THEN
PULSE ($OUT[DEF_ZANGE[GUN_NO].A_AUF],TRUE,PULS_TIME )-脉冲触发输出信号
ENDIF -脉冲多用于夹抓
ELSE –钳打开没有就是夹紧
IF DEF_ZANGE[GUN_NO].A_AUF>0 THEN
$OUT[DEF_ZANGE[GUN_NO].A_AUF]=FALSE
ENDIF
IF DEF_ZANGE[GUN_NO].A_ZU>0 THEN
PULSE ($OUT[DEF_ZANGE[GUN_NO].A_ZU],TRUE,PULS_TIME ) -脉冲触发输出信号
ENDIF
ENDIF
DEFAULT
ENDSWITCH
END
TYP类型6: -专为伺服焊钳的点动使用
在SPS程序中直接使用:
VW (#VW_ZANGE,TRUE)
SUB_ZANGE( )
IF (DEF_ZANGE[AKT_ZANGE].TYP == 6) THEN -类型号是6
If FL_GUN_FCT THEN –激活钳号
IF DEF_ZANGE[AKT_ZANGE].A_AUF > 0 THEN - 钳工具点有地址
$OUT[DEF_ZANGE[AKT_ZANGE].A_AUF]=GUN_OPEN -按1次钳开就发1次输出点动控制
ENDIF -发出A719
IF DEF_ZANGE[AKT_ZANGE].A_ZU > 0 THEN
$OUT[DEF_ZANGE[AKT_ZANGE].A_ZU]=GUN_CLOSE
ENDIF --发出A720
FL_GUN_FCT=FALSE
ENDIF
钳工能用于网络站的快换开关,30,31,32
;FOLD Docking bei Profinet
IF $OUT[O_R_Hand] AND $COULD_START_MOTION AND NOT $OUT[O_R_Proz_akt] AND $FLAG[F_m_Profinet] THEN
-A11手动-机器人驱动给入-没有A4039-F556带钳控制功能-
IF (DEF_ZANGE[30].Typ==1) AND (DEF_ZANGE[30].A_AUF>0) AND (DEF_ZANGE[30].A_ZU>0) AND (DEF_ZANGE[30].E_AUF>0) THEN
-想使用钳关闭网络,钳的类型必须是1-有钳输出点打开/关闭的设置-有钳输入点打开的设置
IF ($OUT[DEF_ZANGE[30].A_AUF]==TRUE) THEN -
i=DEF_ZANGE[30].E_AUF -保存要开关的站地址-
ret=99
IF (SZAxConfig>0) AND DOCK_SZ THEN –SZAxConfig带几个外部轴焊钳-
$softplcint[1]=0
ENDIF
IF (SZAxConfig>0) AND DOCK_NZ THEN
$softplcint[4]=0
ENDIF
IF (SZAxConfig>0) AND DOCK_CZ THEN
$softplcint[6]=0
ENDIF
Ret=ioctl("PNIO-CTRL",60,i) -打开站-
SWITCH ret
CASE 0 ; 连接合格
SyncMoveMessage(91,#NotifyMsg)
CASE 1 ; 连接超时
SyncMoveMessage(92,#QuitMsg)
CASE 2 ; 连接参数错误
SyncMoveMessage(93,#QuitMsg)
DEFAULT
ENDSWITCH
$OUT[DEF_ZANGE[30].A_AUF]=FALSE -关闭输出开站-
ENDIF
ENDIF
-网络关站-
IF (DEF_ZANGE[30].Typ==1) AND (DEF_ZANGE[30].A_AUF>0) AND (DEF_ZANGE[30].A_ZU>0) AND (DEF_ZANGE[30].E_ZU>0) THEN
IF ($OUT[DEF_ZANGE[30].A_ZU]==TRUE) THEN
i=DEF_ZANGE[30].E_ZU
ret=99
IF (SZAxConfig>0) AND DOCK_SP THEN
$softplcint[1]=ActDockAx(1)
ENDIF
IF (SZAxConfig>0) AND DOCK_NZ THEN
$softplcint[4]=ActDockAx(1)
ENDIF
IF (SZAxConfig>0) AND DOCK_CZ THEN
$softplcint[6]=ActDockAx(1)
ENDIF
Ret=ioctl("PNIO-CTRL",50,i)
SWITCH ret
CASE 0 ; ioctl OK
SyncMoveMessage(90,#NotifyMsg)
CASE 1 ; ioctl Timeout
SyncMoveMessage(92,#QuitMsg)
CASE 2 ; ioctl falscher Parameter
SyncMoveMessage(93,#QuitMsg)
DEFAULT
ENDSWITCH
$OUT[DEF_ZANGE[30].A_ZU]=FALSE
ENDIF
ENDIF
全部0条评论
快来发表一下你的评论吧 !