cliche1995 Inserito: 5 maggio 2014 Segnala Share Inserito: 5 maggio 2014 Salve a tutti stò provando ad imbattermi nei puntatori, seguendo una guida qui sul forum ho provato a creare un UDT chiamato area per un'area di un quadrato dove all'interno ci metto: BASE INT ALTEZZA INT AREA INT poi ho creato una db chiamata contenitore dove all'interno ci metto un array [1..5] L "contenitore".area[1].base db150.dbw0 L "contenitore".area[1].altezza db150.dbw2 *I T "contenitore".area[1].area db150.dbw4 L "contenitore".area[2].base db150.dbw6 L "contenitore".area[2].altezza db150.dbw8 *I T "contenitore".area[2].area db150.dbw10 L "contenitore".area[3].base db150.dbw12 L "contenitore".area[3].altezza db150.dbw14 *I T "contenitore".area[3].area db150.dbw16 L "contenitore".area[4].base db150.dbw18 L "contenitore".area[4].altezza db150.dbw20 *I T "contenitore".area[4].area db150.dbw22 L "contenitore".area[5].base db150.dbw24 L "contenitore".area[5].altezza db150.dbw26 *I T "contenitore".area[5].area db150.dbw28 il problema è che seguendo la guida per esempio se voglio puntare all'elemento 2 si fa: (2-1)* 6=6 (6 è la word di inizio di area2), se io volessi puntare all'elemento 5 dovrei fare (5-1)*24? o.O? allora ho provato ad inserire il programma che ho trovato sulla guida che sarebbe questo: L 2 T MW 100 L MW 100 + -1 L L#6 *D SLD 3 LAR1 L DBW [AR1,P#0.0] L DBW [AR1,P#0.2] /I T DBW [AR1,P#4.0] ma nel mettere la cpu in run mi da errore e va in stop. un'altra domanda, come mai alla fine nella guida mi fa trasferire dbw[ar1,p#4.0]? perchè 4.0? scusate se ho sbagliato a postare il listato Link al commento Condividi su altri siti More sharing options...
beppo Inserita: 5 maggio 2014 Segnala Share Inserita: 5 maggio 2014 Ciao, l'errore si trova nella terzultima riga non è L DBW [AR1,P#0.2] ma L DBW [AR1,P#2.0]. se io volessi puntare all'elemento 5 dovrei fare (5-1)*24? o.O? Devi sempre lasciare 6 come fattore di moltiplicazione (5-1)*6=24, cioè l'inizio dei dati per calcolare la quinta area come mai alla fine nella guida mi fa trasferire dbw[ar1,p#4.0]? perchè 4.0? Perchè è dove devi andate a scrivere "contenitore".area[n.].area nel caso dell'elemento 5 sarà 24 + 4 cioè punterai alla dbw28. Link al commento Condividi su altri siti More sharing options...
cliche1995 Inserita: 5 maggio 2014 Autore Segnala Share Inserita: 5 maggio 2014 Ah adesso ho capito ti ringrazio, posso chiederti un'ultima cosa? Vorrei sapere per esempio dove si potrebbero applicare questi puntatori (esempio pratico) Link al commento Condividi su altri siti More sharing options...
cliche1995 Inserita: 7 maggio 2014 Autore Segnala Share Inserita: 7 maggio 2014 qualcuno potrebbe rispondermi per cortesia? non riesco veramente a capire Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 8 maggio 2014 Segnala Share Inserita: 8 maggio 2014 impara SCL Link al commento Condividi su altri siti More sharing options...
cliche1995 Inserita: 8 maggio 2014 Autore Segnala Share Inserita: 8 maggio 2014 Uno alla volta ahaha prima awl Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 8 maggio 2014 Segnala Share Inserita: 8 maggio 2014 (modificato) non serve awl , ora SCL e' integrato in TIA Portal , impara SCL Modificato: 8 maggio 2014 da walterword Link al commento Condividi su altri siti More sharing options...
beppo Inserita: 8 maggio 2014 Segnala Share Inserita: 8 maggio 2014 non serve awl Dipende, se nella vita pensi solo di dover creare programmi da 0, a tuo piacimento, allora imparare l'awl non serve. Ma se pensi di dover metter mano a macchine non sviluppate da te, cosa che credo capiti prima o poi, sapere l'awl ti sarà senz'altro utile, se non indispensabile. Questo nulla toglie al suggerimento di Walterword. impara SCL Link al commento Condividi su altri siti More sharing options...
cliche1995 Inserita: 8 maggio 2014 Autore Segnala Share Inserita: 8 maggio 2014 sisi lo so ma prima sono partito dal kop poi sono passato all'awl dopo potrò andare all'scl Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 8 maggio 2014 Segnala Share Inserita: 8 maggio 2014 no serve a nulla awl quando c'e' SCL . Ladder per le logiche principali e scl per la manipolazione dati , calcoli ect Awl serve solo se per obbligo devi trattare formati di dati particolari ma senza puntatori La peggior implementazione dell'indirizzamento indiretto che potevano mai inventare si chiama puntatori in awl ....P# , auf , non servono siamo nel 2014 e le cpu sono veloci oltre al fatto che la compilazione e' ultra ottimizzataper le macchien non sviluppate da te , se si tratta di calcoli o lavorare su tabelle , matrici ect , fai prima a capire cosa devi fare e scrivere in scl il pezzo di codice ed integrarlo in quello esistente . Se invece tutot il codice , come mi e' succeso di vedere , e' tutto un puntatore o piu puntatori che diventi pazzo per capire dopo 20 righe a cosa sta puntando il registro principale della cpu conviene rifare tutto in ladder ed scl , minor tempo , minor costo e manutenibilità assicurata Link al commento Condividi su altri siti More sharing options...
cliche1995 Inserita: 8 maggio 2014 Autore Segnala Share Inserita: 8 maggio 2014 ma con step 7 non si può utilizzare l'scl vero? se è cosi non posso fare le prove Link al commento Condividi su altri siti More sharing options...
beppo Inserita: 8 maggio 2014 Segnala Share Inserita: 8 maggio 2014 Non uso l'Scl, ma sullo step 7 c'è. Su XP: START \ Tutti i programmi \ SIMATIC \ STEP7 \ S7-SCL. Link al commento Condividi su altri siti More sharing options...
JumpMan Inserita: 8 maggio 2014 Segnala Share Inserita: 8 maggio 2014 Walterword, tu forse usi cpu di ultima generazione, ma se devi fare una modifica su una vecchia cpu che è già strapiena usare scl ti genera un mucchio di codice in più rispetto a farlo in awl, mi sono scontrato spesso con problemi di memoria insufficiente causa cpu vecchie. Se hai tempo e voglia prova a buttare giu del codice scl per la soluzione del problema in quest altra discussione dove sono bastate 14 istruzioni awl Link al commento Condividi su altri siti More sharing options...
cliche1995 Inserita: 9 maggio 2014 Autore Segnala Share Inserita: 9 maggio 2014 non lo trovo in scl Link al commento Condividi su altri siti More sharing options...
JumpMan Inserita: 9 maggio 2014 Segnala Share Inserita: 9 maggio 2014 non lo trovo in scl Parlavo con walterword Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 9 maggio 2014 Segnala Share Inserita: 9 maggio 2014 Per step 7 e' un pacchetto a parte. Io lo avevo acquistato nel 2001 . Cpu di ultima generazione si , since 2000 . Link al commento Condividi su altri siti More sharing options...
beppo Inserita: 9 maggio 2014 Segnala Share Inserita: 9 maggio 2014 Strano, io non ho installato nessun pacchetto, ho Step 7 5.5. Inviato dall'app. Mobile di PLC Forum da LG-P970 Link al commento Condividi su altri siti More sharing options...
cliche1995 Inserita: 9 maggio 2014 Autore Segnala Share Inserita: 9 maggio 2014 vabbè comunque ho iniziato con kop e mi hanno detto passa ad awl, passo ad awl e mi dicono passa a scl ahah boh. Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 10 maggio 2014 Segnala Share Inserita: 10 maggio 2014 secondo il mio modesto parere , in 15 anni di arte e mestiere ho portato a termine diversi impianti di modeste dimensioni tipo 2500-3000 I/O , dove si lavora in gruppo , un programmatore russo l'altro indiano , l'altro di genova un'altro di milano , l'hmi lo sviluppa la ingegnera iraniana , i cablaggi li segue l'ingegnera turca i cinese ....posso dirti quanto segue in ambito siemens COn s7 ho lavorato , mangiato , vissuto ed avuto molte soddisfazioni , non solo delusioni o perdita di capelli . Il linguaggio piu vicino alla manutenzione , si perche tu devi calcolare che quando tu vai via poi rimangono gli ingegneri o i pasticcioni locali e seguire l'impianto , sono collaboratori del cliente finale spesso alle dirette dipendenze. Per cui se non hai sviluppato un buon sistema di allarmi e warning nel senso che se non parte il tal ciclo ti escono le scritte che mancano questa e quella condizione e se premi il pulsantino info non dai le specifiche direttive di cosa fare piuttosto che il nuemero del filo da andare a cercare nel tal reparto del quadro , significa che il povero programmatore locale deve andare a ricercare nel segmento di avvio del tal ciclo automatico cosa manca . Se gli va bene che manca qualcosa di hw tipo sensore o finecorsa o fotocellula la cosa e' ben presto risolta , chiama gli elettrici e nel arco di un 3-4 the riescono a fare un cavallotto o a sostituire il pezzo , se invece il problema dipende da una logica che non hai saputo gestire allora iniziano i pasticci e i danni .Quindi il modo piu veloce per trovare i guasti e' il ladder .Io uso il aldder per le logiche di cablaggoi I/O , richieste movimenti o comandi vari , per i cicli automatici , per la generazione degli allarmi , per le condizioni di logica varie . Awl lo suo solo per compattare il codice , per esempio ho delle copie da fare o delle logiche semplcii senza "(" e ")" e allro ain un segmento step permetteva di scrivere un awl .Uso awl per alcune routine particolari . Per il resto , per lavorare con tabelle , matrici , calcoli idnicizzati , ricerca quote , generazione percorsi quote , calcoli matematici e talvolta anche cicli automatici , uso SCL o ST . Il manutentore non deve entrare nelle logiche particolari in quanto le devi testare tu e consegnarle perfette , funzionanti , gestibili .In manutentore non deve nemmeno toccare i file scl , perche se lo fa come minimo scrive un while -do che termina mai per cui stop della cpu per watchdog .Ti e' piu chiaro il concetto ora ? Ladder e' il linguaggio dei plc , cosi come era nato e va usato dove ha un senso "Elettromeccanico " di automazione .Dove ci sono i dati , i protocolli , ect devi usare un linguaggio che ti permette in pochi minuti di testare e lavorare su quello che devi fare e alla svelta non su dove punta il registro 1 e dove puntava il registro 3 e se avevi aperto il blocco con auf e quale blocco . Come regola , secondo sempre il mio modesto parare , devi usare ladder e SCL-St ciao Walter Link al commento Condividi su altri siti More sharing options...
cliche1995 Inserita: 10 maggio 2014 Autore Segnala Share Inserita: 10 maggio 2014 va bene ti ringrazio molto chiaro 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