>工具钳的设置: 钳德设置最后保存在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
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |