First thanks for your help, second i have the plasure to know ur country specific Riga very nice city.
As i explained to SimonGoldsworthy the main objective of the program is read information from a global DB where i have data about instructions and arguments, the value of counter is the number of instructions that my DB contains. And u are right after my loop i dont cade nothing, in this case i can write BE just for block ends. Something that i forgot to tell u is that my code is in one FB not in OB1, from OB1 i call my FB.
I put my code, i hope with this u can get a better idea about my problem (So sorr if some parts are in spanish, but well here i speak spanish =) )
L P#0.0 // Pointer to the first value
LAR1
L #Contador // Counter
Sig: T #Cont_Temp
AUF #DBDatos // DBData, where i have insts&args
L DBW [AR1,P#0.0]
T #Inst_Num
L #Inst_Num
L 0
==I
SPB LSTR
L #Inst_Num
L 1
==I
SPB LMOV
LSTR: L W#16#47E
T #PKZ1
L W#16#0
T #PKZ2
CALL "DPWR_DAT" // Write value in MM420
LADDR :=W#16#108
RECORD :=P#DIX 14.0 BYTE 4 // Static Structure
RET_VAL:=#ErroPKZ
L P#2.0 // Increment my pointer as i need
+AR1
SPA Cont
Cont: HERE I NEED A DELAY BEFORE TO JUMP TO THE NEXT INSTRUCTION
PD. I have to one instruction to END the block