Crystal1995 Inserito: 6 maggio 2021 Segnala Share Inserito: 6 maggio 2021 Buongiorno a tutti, avrei qualche dubbio sul comportamento delle variabili temporanee. La variabile #tmpMassimoRilevatoAltezza è scritta dall'FC "24 calcolo massimo", subito dopo entro in un altro FC che esegue altri calcoli. Dopodichè vado a rileggere la variabile temp #tmpMassimoRilevatoAltezza. La mia domanda è, la variabile #tmpMassimoRilevatoAltezza dopo l'uscita dal blocco "24 calcolo min-max soglie" sarà uguale a quando è stata scritta dal blocco "24 calcolo massimo" oppure viene sporcata dal blocco "24 calcolo min-max soglie"? Grazie Link al commento Condividi su altri siti More sharing options...
batta Inserita: 6 maggio 2021 Segnala Share Inserita: 6 maggio 2021 Perché dovrebbe venire sporcata dal richiamo dell'altra funzione? #tmpMassimoRilevatoAltezza è una variabile locale della funzione che richiama le altre due funzioni. Fino a quando non esci da questo blocco, le variabili locali non vengono alterate da altri blocchi. Le funzioni "24 Calcolo Massimo" e "24 Calcolo min-max soglie" hanno le loro variabili locali, che sono completamente indipendenti dalle variabili locali della funzione dalla quale vengono richiamate. Domanda: perché l'AWL? Per quanto io sia affezionato a questo linguaggio, e per quanto, in alcuni casi, offra ancora vantaggi, è un linguaggio che, oggi, viene trascurato dalla stessa Siemens. Usare AWL con il TIA ha senso solo se stai lavorando su un programma migrato da una precedente versione, e scritto in AWL. Ma fare cose nuove in AWL, è anacronistico. Link al commento Condividi su altri siti More sharing options...
Crystal1995 Inserita: 6 maggio 2021 Autore Segnala Share Inserita: 6 maggio 2021 Pensavo che entrando in un altro blocco venissero sovrascritte. Ti ringrazio Per quanto riguarda AWL, la mia azienda come standard attualmente ha come linguaggio di programmazione AWL. Cordiali saluti Link al commento Condividi su altri siti More sharing options...
batta Inserita: 6 maggio 2021 Segnala Share Inserita: 6 maggio 2021 3 ore fa, Crystal1995 scrisse: Per quanto riguarda AWL, la mia azienda come standard attualmente ha come linguaggio di programmazione AWL. Dì loro che è ora di guardare avanti, se non si vuole rimanere indietro. Purtroppo, molte aziende sono restie ai cambiamenti. Vedono i cambiamenti come un costo. E, in parte, lo sono, ma permettono anche di migliorare la produttività quindi, più che costi, sarebbe corretto chiamarli investimenti. Tra l'altro, il conto da pagare, in futuro, se non ci si evolve, sarà più salato. Il linguaggio testuale che, oggi, tutti i brand stanno spingendo, è il "testo strutturato". A mio avviso, oggi, i programmi devono essere un mix bilanciato tra ladder e testo strutturato. Con il TIA c'è anche la grande comodità di poter inserire segmenti in testo strutturato all'interno di blocchi in ladder. Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 10 maggio 2021 Segnala Share Inserita: 10 maggio 2021 le variabili temporanee hanno senso solo all'interno di un blocco e non sono nè statiche e men che meno ritentive. Vengono aggiornate ad ogni richiamo del blocco che le usa. AWL come linguaggio standard è una fissa da dementi e ci sonotante aziende che ancora credono in questa porcheria AWL si usa per scrivere librerie sui device driver, ossia librerie a diretto contatto con inverter, drives , encoder etc finchè questo ha un senso. Con le ultime versioni di TIA ha ancora meno senso. Poi voglio vederti quando lavori su tabelle indicizzate o far di calcolo .......la tua azienda avrà sicuramente un grande turn over di gente che arriva e che se ne va entro 2 mesi con un grande costo fisso, scarsa manutenibilità ed impianti fermi. Poi magari quelli che pretendono AWL non mettono nemmeno le mani al software....solita situazione fallimentare all'italiana....poveracci ..... Link al commento Condividi su altri siti More sharing options...
STEU Inserita: 11 maggio 2021 Segnala Share Inserita: 11 maggio 2021 Personalmento AWL va bene solo per le istruzioni CALL, perchè quando i parametri di I/O sono molti si vedono tutti, per il resto bisogna cambiare modo di programmare, iniziare a utilizzare array e strutture nei DB. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 11 maggio 2021 Segnala Share Inserita: 11 maggio 2021 1 ora fa, STEU scrisse: Personalmento AWL va bene solo per le istruzioni CALL AWL, in realtà, andrebbe ancora bene anche in altri casi. Se volete, vi posso fare parecchi esempi dove l'AWL si presta molto bene. Ma la tendenza è quella di un futuro abbandono, o di un uso sempre più limitato. Io, nei miei programmi nuovi, non lo uso più. Link al commento Condividi su altri siti More sharing options...
STEU Inserita: 11 maggio 2021 Segnala Share Inserita: 11 maggio 2021 Sono d'accordo, anche per costruirsi puntatori any indicizzati Link al commento Condividi su altri siti More sharing options...
batta Inserita: 11 maggio 2021 Segnala Share Inserita: 11 maggio 2021 5 ore fa, STEU scrisse: anche per costruirsi puntatori any indicizzati Non solo per i puntatori che, con quanto messo a disposizione nelle CPU 1200/1500, il loro uso è necessario solo in casi molto rari. Ma ci sono altri casi nei quali il codice AWL è molto efficiente. Per esempio, in un calcolo, usando gli accumulatori, in AWL si possono risparmiare parecchi passaggi. Ma anche un semplice set/reset, in AWL è più comodo che in testo strutturato: // Testo strutturato IF bool_1 THEN bool_2 := TRUE; END_IF; // AWL A bool_1 S bool_2 Per non parlare di un fronte di salita: // Testo strutturato os := bool_1 AND xos; xos := NOT bool_1; // AWL A bool_1 FP xos = os Poi, nella maggior parte dei casi, il testo strutturato è più comodo, più flessibile e più leggibile, quindi, se devo scegliere tra i due, non c'è storia. Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 12 maggio 2021 Segnala Share Inserita: 12 maggio 2021 io la maggior parte delle logiche le scrivo in ladder. Poi per tabelle, calcoli , missioni etc uso SCL. I merker uso solo quelli obbligatori di clock .Il resto sono DB divise in cartelle insieme ai loro FC per ogni singola macchina o parti di essa. AWL lo uso per le librerie su inverter e drives Sew per esempio, o calcoli per encoder etc. Una volta testati non li guardo più. Fare tutto in SCL no, non lo farò mai, durante il debug e ilcollaudo mi piace entrare e vedere subito quello che manca, cosa ci vuole ,velocemente con ladder. Link al commento Condividi su altri siti More sharing options...
STEU Inserita: 13 maggio 2021 Segnala Share Inserita: 13 maggio 2021 Per set reset fronti KOP va benissimo Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 13 maggio 2021 Segnala Share Inserita: 13 maggio 2021 in TIA posso anche scrivere 10 segmenti in ladder e l'undicesimo in SCL o AWL a seconda di quello che devo fare. Soprattutto per contenere il codice quando hai tanti move, calcoli o aggiornamenti da fare Link al commento Condividi su altri siti More sharing options...
Crystal1995 Inserita: 14 maggio 2021 Autore Segnala Share Inserita: 14 maggio 2021 Ragazzi io non ho detto che utilizzo soltanto AWL. Per le macchine a stati e stazioni macchina utilizziamo AWL e sinceramente ci troviamo molto bene tutti anche come diagnostica. Per quanto riguarda la necessità di utilizzare tabelle array puntatori ecc, faccio tutto il SCL perchè ovviamente più comodo e veloce. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 14 maggio 2021 Segnala Share Inserita: 14 maggio 2021 1 ora fa, Crystal1995 scrisse: Ragazzi io non ho detto che utilizzo soltanto AWL Sì, ma il problema è che, bene o male che sia, prima o poi AWL verrà accantonato dalla stessa Siemens. E, dato che ciò che si fa in AWL si può fare anche in testo strutturato, preferisco non usare AWL. I miei programmi sono un misto di ladder e strutturato. E considera che con AWL mi sono sempre trovato a mio agio. C'è chi sostiene che sia difficile. Io sostengo che, almeno sotto certi aspetti, sia il più facile di tuttI: esegui, riga per riga, le istruzioni che ci sono scritte. Link al commento Condividi su altri siti More sharing options...
Crystal1995 Inserita: 14 maggio 2021 Autore Segnala Share Inserita: 14 maggio 2021 Personalmente con AWL mi trovo benissimo,sarà perché ho iniziato a programmare con questo. se però devo pensare di scrivere macchine a stati in KOP mi viene da piangere, ci si mette il triplo secondo il mio parere. con SCL si può fare in maniera migliore rispetto a AWL probabilmente e ho avuto anche modo di provare ma la diagnostica di AWL a parer mio è migliore. Tra l’altro SCL non mi piace il fatto che teoricamente non prevede i segmenti che poi si possa ovviare alla cosa creando blocchi KOP ok però non hai a disposizione tutte le funzioni che si hanno creando il blocco in SCL Link al commento Condividi su altri siti More sharing options...
batta Inserita: 14 maggio 2021 Segnala Share Inserita: 14 maggio 2021 1 ora fa, Crystal1995 scrisse: Tra l’altro SCL non mi piace il fatto che teoricamente non prevede i segmenti Puoi usare REGION. Link al commento Condividi su altri siti More sharing options...
Crystal1995 Inserita: 14 maggio 2021 Autore Segnala Share Inserita: 14 maggio 2021 Si lo so ma non è la stessa cosa secondo me, avere i segmenti graficamente mi aiuta molto a livello di chiarezza Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 16 maggio 2021 Segnala Share Inserita: 16 maggio 2021 SCL lo uso dal 2001, era un pacchetto a parte per Step7. Uso Ladder ed SCL da anni. Qualche libreria o driver in AWL lo faccio ancora. Ho lavorato anche con aziende che usano solo awl per qualsiasi cosa,macchine a stati etc. dove ci sono 8000 salti in ogni segmento. Poi quando non va nulla allora sistemo a modo mio. Molti programmatori sostengono che awl sia il principe dei linguaggi siemens, stupidate. E' gente vecchia nello spirito che non ha voglia di capire, cambiare e migliorarsi e soprattutto concedere. Sono malati mentali con la fissa. Quando poi se vogliamo dirla tutta essendo il plc di derivazione elettromeccanica dovrebbe essere il ladder a predominare.Inserimenti, estrazioni, calcoli su tabelle ormai non ha più nessun senso farli in awl.e perdere giornate con puntatori e vaccate varie. 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