Vai al contenuto
PLC Forum


Memorizzazione Di Ingressi


marantz65

Messaggi consigliati

Giuseppe Signorella

Come assegno il valore di un ingresso andato alto?

Quale istruzione mi consente di andare a poi a leggerlo?

Come ti ho indicato nei precedenti post.

Fai un confronto di tutti gli ingressi che vuoi verificare, (Credo che tu questo lo sappia fare)

I0.0 .......... ........... "1"

----|=|------------|MOVE|-----

true............ (area di memoria)

Con l’istruzione MOVE muovi un valore che tu hai associato al tuo ingresso in un array. Questo valore può essere un valore numerico, una lettera (carattere “CHAR” o altro.)

Ovviamente devi prima verificare che l'area di memoria dove stai andando ad inserire il tuo valore non sia già occupato.

Un array è una matrice indicizzata con elementi tutti dello stesso tipo. In rete trovi molto materiale per capire cosa sia e come funziona un array. Ti consiglio comunque una ricerca/lettura sugli array. (In un qualunque linguaggio di programmazione trovi le informazioni, vanno bene) Sono elementi che fanno parte della vita quotidiana di un programmatore.

Un array ha in genere (se non ha una struttura complessa) tre elementi un indice, un valore di ingresso ed uno di uscita.

Normalmente hai già delle istruzioni pronte da utilizzarsi sia per la lettura che per la scrittura negli array.

Modificato: da Giuseppe Signorella
Link al commento
Condividi su altri siti


Buonasera a tutti (grazie Livio, sto facendo qualche passo in avanti)

sono riuscito a creare una tabella fifo per 3 ingressi.

Memorizzo in tabella gli ingressi con 3 box AD_T_TBL dove DATA sono 1,2 e 3.

Leggo poi dalla tabella FIFO con un altro ingresso se esce 1,2 0 3.

Purtroppo mi tiene in memoria solo un ingresso alla volta.

Dove sto sbagliando?

Link al commento
Condividi su altri siti

Dove sto sbagliando?
Ci vorrebbe la sfera di cristallo, oppure si potrebbe dire, più, facilmente: è tutto sbaglaito, è tutto da rifare. :smile:

A parte il fatto non trascurabile che non ho ancora capito cosa vuoi esattamente fare, per scrivere dati inuna tabella con l'istruzione ATT , ovvero con il blocco AD_T_TABLE, devo definire l'indirizzo di partenza della tabella.

Listruzione

	   ATT    VWDATA, VWTABLE
scrive il contenuto della memoria indirizzo DATA nella prima cella libera della tablella che inzia da TABLE. L'istruzione FIFO
				  FIFO    VWTABLE, VWDATA

Rimuove il primo dato memorizzato nella tabella e lo scrive nella parola di memoria DATA

Se tu avessi letto il manuale S7-2xx, queste cose sono spiegate bene anche con esempi.

Ti ripeteo: il amnuale bisogna leggerlo tutto, inizando dalla prima pagina sino all'ultima riga dell'ultima pagina. Soprattutto bisogna capire quello che i sta leggendo; se non si capisce un concetto non si prosegue, perchè altrimenti si farà poi confusione in seguito.

La via per imparare a programmare da soli è lunga, faticosa ed irata di ostacoli, specialmente se non si hanno ben chiari i principi fondamentali della programmazione, cioè la filosofia stessa della programmazione.

Io ho frequentato l'università alla sera e già credevo di saper programamre perchè facevo proigrammini che "giravano", inoltre avevo studiato insiemistica e algebra di Boole; inizialmente mi sembrava tempo perso il dover studiare certi concetti di base, la filosofia della porogrammazione. poi quando ho capito cosa era veramente il saper programmare, cosa ci deve essere dietro ad un programma, piccolo o grande che sia, le coso son diventate improvvisamente facili. Infatti dopo aver imparato a programmare con il FOrtran, son passato ad Assembler, PL1, PLM-80, Pascal "C", e altro ancora, senza problema alcuno. Questo perchè una volta che sai come si deve fare, imparare un differente l'inguggio di programamzione è quasi banale.

Link al commento
Condividi su altri siti

Giuseppe Signorella
Grazie a tutti voi ci sono riuscito e finalmente la tabella fifo funziona :clap:

Adesso mi cimento con la soluzione array

Bravo,........ :thumb_yello:

Link al commento
Condividi su altri siti

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