Commander Inserito: 19 agosto 2009 Segnala Share Inserito: 19 agosto 2009 Salve a tuttiho incontrato dei problemi a gestire il trasferimento a bit o a digit (funzioni tipo MOVB o MOVD in ladder)di variabili (area CIO, A, W) con il testo strutturato, qualcuno sa dirmi se conosce una soluzione.Grazie Link al commento Condividi su altri siti More sharing options...
valvolina Inserita: 19 agosto 2009 Segnala Share Inserita: 19 agosto 2009 ciao puoi farmi un esempio in ladder di quello che non riesci a fare?giusto per avere qualche info in piùun saluto Link al commento Condividi su altri siti More sharing options...
Commander Inserita: 19 agosto 2009 Autore Segnala Share Inserita: 19 agosto 2009 Immagina di usare in ladder la funzione MOVD per estrapolare da una word una specifica digit e appoggiarla su un'altra word, una cosa abbastanza comune.Nel liguaggio ST non ho trovato niente che mi permette di fare questo...Un saluto e Grazie Link al commento Condividi su altri siti More sharing options...
antstan Inserita: 19 agosto 2009 Segnala Share Inserita: 19 agosto 2009 Non conosco molto bene il TS di omron...Tuttavia puoi crearti tu la funzione utilizzando degli AND o OR. Link al commento Condividi su altri siti More sharing options...
valvolina Inserita: 19 agosto 2009 Segnala Share Inserita: 19 agosto 2009 ciao ho dato un'occhiata ai manuali di Omron ha prima vista ritengo che non puoi usufruire di tutte le istruzioni disponibili in ladder anche in linguaggio leterale strutturatoper cui ho cercato una soluzione alternativaesempio banale:prima di tutto ho creato dei simbolici legati alla sezione in linguaggio testo strutturatodato_bool_16 -->> come tipo bool array di 16 elementi (legato alla variabile W120.0 per cui essendo un array w120.0 fino a w120.15)dato_bool_1 -->> come tipo singolo bool variabile w110.0dato_1 -->> come intero variabile w112 (serve come indice)poi ho scritto la seguente istruzionedato_bool_1 := dato_bool_16[dato_1]; (*dato_1 serve come indice per l'array ad esempio se ci metti valore 4 nel dato_bool_1 verra trasferito il valore di del relativo bit della w120)l'ho provato e funzionase ti serve il manuale di riferimento fammelo sapereun saluto Link al commento Condividi su altri siti More sharing options...
Commander Inserita: 19 agosto 2009 Autore Segnala Share Inserita: 19 agosto 2009 Ho provato anch'io a trovare una soluzione alternativa ma penso che quella a matrice che proponi tu sia la più semplice, senza complicarsi troppo la vita.Il manuale di riferimento che hai potrebbe essere interessanteGrazie Saluti Link al commento Condividi su altri siti More sharing options...
valvolina Inserita: 19 agosto 2009 Segnala Share Inserita: 19 agosto 2009 ciao nel frattempo ho fatto qualche altro test e funziona anche indicizzando la destinazioneesempiodato_bool_1[dato_2] := dato_bool_15[dato_1];penso che in questo modo sia come esguire l'istruzione movb di cui parlaviscrivendo poidato_bool_1[dato_2] := dato_bool_15[dato_1];dato_bool_1[dato_2+1] := dato_bool_15[dato_1+1];dato_bool_1[dato_2+2] := dato_bool_15[dato_1+2];dato_bool_1[dato_2+3] := dato_bool_15[dato_1+3];potresti trasferire il digit avendo realizzato l'istruzione movdper il manuale ti consiglio di visitare il sito Omron.it andare al downloads center e mettere la sigla w447 nel motore di ricerca ti potrai scaricare il manuale del linguaggio un saluto Link al commento Condividi su altri siti More sharing options...
Commander Inserita: 20 agosto 2009 Autore Segnala Share Inserita: 20 agosto 2009 Si ho provato ma alla fine è troppo macchinoso e poi la conversione da BCD>INT non è possibile in ST e visto che la mia variabile sorgente è in BCDdiventerebbe inutile gestire il tutto.La mia soluzione è stata quella di creare un FB in ladder per gestire questa parte e nidificare al suo interno un FB in ST; le conclusioni sono che l'utilizzo del linguaggio strutturato o Pascal è ideale per sviluppare complessi calcoli matematicie gestione di dati o ricette ma diventa macchinoso in particolari situazioni come nel mio caso sopra elencato.Grazie per la collaborazionePSIl manuale è molto ben illustrato. Link al commento Condividi su altri siti More sharing options...
valvolina Inserita: 20 agosto 2009 Segnala Share Inserita: 20 agosto 2009 ciao la funzione di conversione bcd to int in effetti è disponibile,la questione forse è che è un pò macchinoso cercare e capire.il linuaggio testo strutturato di Omron non è ancora al massimo delle potenzialità (aspettiamo nuove versioni?)comunque la funzione si scrive cosidato_12 :=WORD_BCD_TO_INT(dato_10);dove il dato_12 è dichirato come int mentre il dato_10 è dichiarato come uint_bcdse guardi nel sommario dell'. del cx programmer trovi una sezione dedicata al linguaggio structured text con un sotto capitolo dedicato alle funzioni di conversione disponibiliciao da Valvolina Link al commento Condividi su altri siti More sharing options...
Commander Inserita: 20 agosto 2009 Autore Segnala Share Inserita: 20 agosto 2009 Ho controllato meglio nel manuale e la conversione si può fare, grazie ciao da Commander Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora