Vai al contenuto
PLC Forum


Multiistanza Fb


Operational Amplifier

Messaggi consigliati

Operational Amplifier
Inserito:

Ho creato un FB100 che funziona solamente generando il suo DB dedicato......creando un FB dove raggruppo questi FB non funziona, ho cercato sul forum ed ho capito che per inserire dei blocchi funzionali (FB)

in multistanza bisogna sommare il valore del registro AR2 che restituisce l'offset della multiistanza.

Allora ho scritto il seguente codice:

LAR1 P##POINTER_LETTURA //CARICO IL PUNTATORE DA CUI PRELEVO I DATI NEL REGISTRO AR1

TAR2 //OFFSET MULTIISTANZA

+AR1

L W [AR1,P#0.0] //PRELEVO IL NUMERO DB DAL PUNTATORE
T #N_DB

L D [AR1,P#2.0] //PRELEVO IL NUMERO DI BYTE DA DOVE INIZIARE
T #INDICE_LETTURA //TRASFERISCO NEL REGISTRO AR1

Fino a qui sembra tutto OK......quello che non riesco a far funzionare è questa parte di codice :

LAR1 P##DATA_PTR //PUNTATORE ANY (TEMP)

L B#16#10 //16#10 per S7
T LB [AR1,P#0.0]

L B#16#2 //Tipo di dati 16#2 = BYTE
T LB [AR1,P#1.0]

L #QUANTITA_WORD //Fattore di Ripetizione
L 2
*I
L 7 //SOMMO I PRIMI SETTE BYTE DEL TELEGRAMMA
+I
T W [AR1,P#2.0]

L 0 //Numero di DB
T W [AR1,P#4.0]

L P#DIX 17.0 <----- il problema è aggiungere l'offset quì
T D [AR1,P#6.0]

Qualche idea........? :whistling:


Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...