Hybride Implementierung aus SPS und NC-Programm

Im NC-Code werden die Konfigurationsparameter via. #TRACK CS ON [ID=0 …] übergeben, während die SPS lediglich die Korrektur bestimmt und diese weitergibt.

Programmierbeispiel

prg_example

Slave

N200 X1305.92 Y0

N210 #TRACK CS ON [ID=0 OPTION=1 FILTER=0 WAIT KIN_BASE X=-1305.92]
N230 G92 X1305.92
N240 Z90

; Roboter auf Drehachse positioniert um Sprünge
; zu verhindern

; Drehtisch (X1) wird unabhängig vom Roboter gedreht
N250 X0 Y0 X1[INDP_ASYN POS=-90 G01 F500 G90]
N260 Z80
N270 X-60
N280 X60
N290 X0
N300 Y-60
N310 Y60
N320 Z90

N480 #WAIT INDP ALL

; Roboter zum Drehtisch Mittelpunkt um Sprünge
; zu verhindern

N490 G01 X0 Y0
N500 #TRACK CS OFF [FILTER=0 WAIT]

Programmierbeispiel

prg_example

SPS

PROGRAM DynCsPLC_Activate

VAR

  pDynCs : POINTER TO MC_CONTROL_DYN_CS_UNIT;

END_VAR

(*DynCS freischalten*)

pDynCs := ADR(gpCh[0]^.channel_mc_control.dyn_cs);

pDynCs[0]^.enable_w   := TRUE;

  

IF    pDynCs^.state_r.actual_state = UDINT#2 AND   pDynCs^.command_semaphor_rw  = FALSE

THEN

  pDynCs^.command_w.rotation[2]:=
-pAx[6]^.lr_state.current_position_acs_r;

  pDynCs^.command_semaphor_rw  := TRUE;

END_IF;