Vai al contenuto
PLC Forum


Scrivere Variabile Real Su Dp-dp Coupler - sintassi e istruzione per tale scrittura


Messaggi consigliati

Inserito:

Salve a tutti, e complimenti per l'ottimo livello generale del forum che leggo sempre con interesse. Vorrei verificare con voi se la mia soluzione al problema e' corretta. Devo inviare alcuni valori in formato real al di la di un DpDp coupler. Tali valori nascono word e li trasformo a real prima di scriverli (cosi vuole l'interlocutore al di la' dell'accopiatore). La soluzione mia e' :

L "DCS".Warning.TTG_M3_Andata

ITD

DTR // verificare c/ ttg e generalizzare

T PQW 490

TAK

T PQW 492

Il partner al di la del DPDP coupler dovrebbe leggersi le due words, metterle in un campo real e andarsene in pace. Vi sembra tutto corretto ? grazie a chiunque vorra rispondere.


Inserita:

Da cosa scrivi, non è chiarissimo cosa si aspetta il tuo partner. Però perchè non fare un unico trasferimento del dato real?

L "DCS".Warning.TTG_M3_Andata

ITD

DTR // verificare c/ ttg e generalizzare

T PQD 490

Nel tuo esempio, l'istruzione TAK inverter l'accumulatore 1 con l'accumulatore 2, mentre il risultato della conversione DTR è tutto nell'accumulatore 1.

A cosa stavi pensando?

Inserita:

ciao mubeta, mi hai dato una risposta perfetta : non avevo per niente pensato alla possibilita' di PQD, grazie. Nel mio esempio frazionavo in 2 words il risultato real, e lo mettevo, in 2 momenti successivi su 490. T PQW trasferisce la parte bassa dei 32 bits, TAK cioe' inverto acc. basso e alto, T PQW la parte rimanente. Credo che funzioni, ma la tua soluzione e' di gran lunga piu' semplice ed elegante .. ciao

Inserita:

Credi molto male, "TAK" inverte il contenuto dei due accumulatori; non fa lo swap di nulla.

Inserita:

Ciao, non e' per insistere in qualcosa che ormai non mi serve piu', ma dall' . Step7 ricavo :

TAK (Scambia ACCU 1 con ACCU 2) scambia il contenuto di ACCU 1 con quello di ACCU 2. L’operazione viene eseguita senza considerare o influenzare i bit di stato. Gli accumulatori 3 e 4 rimangono inalterati (per CPU con quattro accumulatori).

Contenuto degli accumulatori 1 e 2

Contenuto ACCU 1 ACCU 2

Prima dell'esecuzione di TAK <MW12> <MW10>

Dopo l'esecuzione di TAK <MW10> <MW12>

A me sembra uno swap tra acc L e acc H, non un inversione, un complemento a uno .. Ciao

Inserita:

Ancora questa, poi basta.

Sei fuori strada.

L'esempio a cui ti riferisci, fa vedere chiaramente, due istruzioni di Load consecutive: L MW10, il dato va in ACCU1; poi L MW12, ACCU1 va in ACCU2 ed MW12 va in ACCU1.

Tu hai letto solo una parte dell'., ed hai capito molto male.

Per tua informazione, gli accumulatori sono a 32 bit.

Inserita:

Si, hai ragione. Con TAK ,T PQW 492 avrei probabilmente caricato solo un po' di zeri o di sporcizia. Quello che volevo fare, prob. si puo' ottenere con uno shift R di 16 bit prima di T PQW 492 , dico bene ? comunque grazie del chiarimento, ciao

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...