peppebica Inserito: 26 maggio 2006 Segnala Inserito: 26 maggio 2006 salve!sono uno studenti alle prese con la preparazione all'eseme di stato.frequento l'istituto industriale di trapani, indirizzo elettrotecnica e automazione.ho intenzione di portare all'esame una tesina che parli del PLC, ma nel dettaglio dei linguaggi di programmazione.a scuola lavoriamo solo con KOP e AWL dato che abbiamo dei vecchi PLC x uso prettamente scolastico.scrivo per chiedere un aiutino, qualche nozione, qualche testo che parli dei linguaggi KOP e AWL, dato che sul web non ho trovato nulla....vi ringraziogiuseppe
Lucky67 Inserita: 26 maggio 2006 Segnala Inserita: 26 maggio 2006 scusa non vorrei contraddirti ma ho provato con google e digitando "AWL manuale" o voci similari vengono fuori tonnellate di informazioni!!
montese Inserita: 26 luglio 2006 Segnala Inserita: 26 luglio 2006 Scusate l'intromissione...è vero che vengono tonnellate di informazione, ma di quelle buone nessuna.A parte un misero libro della hoepli mi pare, io non riesco a trovare nulla.Per non parlare poi del sito della siemens !! Molto complicato da consultare, probabilmente perchè le informazioni che si cercano non ci sono.Anch'io sto cercando qualcosa sull'AWL che non sia semplicemente la descrizione dei vari comandi, ma la spiegazione di come utilizzarli almeno con un misero esempio.Faccio un esempio: i DB (blocchi dati). L'. dello step 7 mi dice solo come aprirli come leggere la lunghezza, e altre cacate. Ma perchè non mi spiega come utilizzarle e perchè utilizzarle ? Perchè non mi fa esempi di utilizzo seri ?Dico questo perchè da vero principiante sono riuscito a fare molte cose con il TSX Micro della telemecanique grazie al solo . del PL7. Ci sono spiegazioni ed esempi. Con lo step 7 invece trovo molte difficoltà.Non la pensate come me ?
Elettrolisi Inserita: 26 luglio 2006 Segnala Inserita: 26 luglio 2006 se tu hai installato il software della siemens, ( parlo per la versione di step 7 5.3 perchè ho questa ma probabilmente anche con le altre versioni è così ) vai in start , ti troverai una voce con scritto simatic ( con una freccina che indica a destra ) ci vai sopra e ti si apre un'altra tendina scegli documentazione , scegli la lingua che ti interessa ed avrai tante informazioni, (scritte anche in modo abbastanza comprensibile) il tutto in formato acrobat. buon studio ciao
thinking Inserita: 27 luglio 2006 Segnala Inserita: 27 luglio 2006 Ho letto questo libro:http://www.techbook.it/recensioni/24-Manua...ne_dei_PLC.htmle lo considero un ottimo aiuto.Ciao
fmrenzo Inserita: 27 luglio 2006 Segnala Inserita: 27 luglio 2006 Ho letto anchio questo libro, mi e stato molto utile buon lavoro
montese Inserita: 27 luglio 2006 Segnala Inserita: 27 luglio 2006 Per tecnoemme...come pensavo, i manuali forniti dalla siemens servono a ben poco. Ho visto quei manuali, pensa che io ce li ho già stampati e rilegati.Io che ero programmatore (di PC) non riesco ancora ad utilizzare bene i DB. Da poco ho scoperto che quello che cercavo erano invece gli UDT (e non i DB). Ma dove vado a vedere come utilizzarli ?Le cpu utilizzate dalla siemens a me paiono molto diverse dalle solite montate su PC o da quello che ho visto anche dalla telemecanique. Oltre alla lingua utilizzata (U invece di AND etc. etc. che ritengo banale visto che in tutto il mondo si usa AND) anche la struttura del software è un pò rivoluzionata es: Con l'S7 una frase può cominciare così:U E1.5U E2.0T A1.0Cosa che è un pò illogica (che senso hanno due "U" senza prima aver caricato un valore iniziale?), infatti più logicamente dovrebbe essere:LD E1.5 (carica il valore nell'accumulatore)AND E2.0 (effettua l'operazione)ST A1.0 (e poi memorizzo)Questo non per fare polemica, ma la siemens non può rivoluzionare la programmazione e pretendere che poi uno impari a programmare con i suoi manualetti (quasi) inutili.Purtroppo sul mercato dei siemens ce ne sono a milioni ed è il più richiesto. Si trovano anche un sacco di roba usata per chi vuole imparare o fare degli automatismi per la propria azienda. Infatti proprio per quest'ultimo motivo mi sono orientato ad essa. Ho in casa un bel Premium con tutti gli ingressi e uscite che mi occorrono eppure ho deciso di cambiare perchè se mi si dovesse rompere qualcosa poi dove trovo un ricambio usato ??Vabbè non ti rompo più .... alla prossima !
Luca Bab Inserita: 27 luglio 2006 Segnala Inserita: 27 luglio 2006 Se c'e' una cosa di cui non potersi lamentare della siemens sono proprio i manuali ( a mio parere )la cosa piu' complicata e' trovare quale manuale fa' a caso tuoIl discorso AND , e' molto semplice , prova a visualizzare in inglese e ti comparira' A ( AND ) invece di U ( che probabilmente e' in tedesco )caricare un'accumulatore per un AND mi sembra ecessivo ( anche perche' probabilmente lo fa da solo )T A1.0 e' una funzione a me sconosciuta ( R S = su un bit ) T si usa su un byte/word/dwordMi sa che stai facendo polemicaSalutiLuca
Luca Bab Inserita: 27 luglio 2006 Segnala Inserita: 27 luglio 2006 Dimenticavocon la tua logica , scrivimi il seguente semplicissimo segmento A M 23.1 AN Q 3.1 AN Q 1.4 A M 200.6 A M 52.1 = M 55.0CiaoLuca
batta Inserita: 27 luglio 2006 Segnala Inserita: 27 luglio 2006 Per la sintassi, come ti ha già detto Luca, puoi impostare step7 per utilizzare i mnemonici in inglese (Strumenti => Impostazioni => Scheda "Lingua e Mnemonico").Io, onestamente, non mi sento di consigliarlo, dato che la stragrande maggioranza di chi lavora con Step7 utilizza il mnemonico tedesco.Per quanto riguarda l'inizio di un ramo, può anche essere così:O M0.0O M0.1= M0.2Se scriviU M0.0O M0.1= M0.2è esattamente la stessa cosa.Non capisco però quali problemi ti crei iniziare un ramo con un AND piuttosto che con un'istruzione dedicata.Che Siemens sia diverso dagli altri plc, è un dato di fatto. Io non lo considero né migliore, né peggiore: solo diverso. Se tu avessi imparato prima la sintassi Siemens e poi ti fossi trovato a mettere le mani su un telemecanique, cosa avresti detto, che la Telemecanique non si può permettere di stravolgere il linguaggio di programmazione dei plc?Anche sui manuali non mi trovo d'accordo. Spesso non è facile trovare subito cosa si cerca, ma sono descritte in dettaglio tutte le funzioni. Certo, conoscere le funzioni e sapere come si programma sono due cose diverse. Non mi risulta però che altre marche di plc forniscano, assieme al manuale istruzioni, anche un corso di programmazione!Altra cosa non capisco: se eri programmatore di pc ti dovresti trovare meglio con il linguaggio awl dei plc Siemens, piuttosto che con il ladder.
montese Inserita: 27 luglio 2006 Segnala Inserita: 27 luglio 2006 Si in effetti sto facendo un pò di polemica perchè non approvo i metodi della siemens (e tu mi diresti cambia PLC ! E' che mi devo sfogare un pochino ....Comunque chiuderò questa polemica dopo questa risposta.1) Che "U" sta per AND in tedesco era chiaro -> AND = UND mi pare. Anche io quando ero bambino mi divertivo a tradurre in italiano i comandi del basic del commodere 64 (però avevo 13 anni, qui si parla di un'azienda) e sfido io qualsiasi bravissimo programmatore tedesco a programmare con quei comandi (i miei) a non trovare difficoltà nel programmare.2) LD E1.0AND E1.1AND E1.2ANDN E1.3ANDN E1.4OR E1.5AND E1.6......ST M1.0 (qui hai ragione mi ero sbagliato, volevo dire "=" e non "T", non sono ancora pratico)Volevo soltanto dire che non posso cominciare direttamente con un AND o "U". Quello che ho scritto io è più logico.Questo perchè faccio fatica a capire come la CPU gestisca questa "U" (o anche "O" per OR)ES:U E1.0U E1.2oppureO E1.0O E1.2La prima istruzione presa da sola cosa fa ??? (U E1.0)Con chi la fa l'operazione ? Forse la fa con la "sbarra" che sta sempre a "1" ? E allora il primo OR ? con chi lo fa ? non può con la "sbarra" perchè verrebbe sempre valore true.Allora mi viene da pensare che la "U" non faccia sempre la stessa operazione (cioè prendi il valore precedente ed esegui un and col valore proposto, infatti la prima "U" non ha valori precedenti).Cosa farebbe in questo caso la cpu ?U E1.0O E1.2Se mi puoi dare delucidazioni in merito te ne sarei grato.Questo sui manuali per esempio mi sembra che non ci sia.Qualcuno può spiegarmi invece come si usano le UDT ?Oppure dirmi in quale manuale della siemens è spiegato ?Spero di non aver annoiato nessuno Ciao.
montese Inserita: 27 luglio 2006 Segnala Inserita: 27 luglio 2006 Per Batta .... ( mi hai anticipato di qualche secondo)Proprio perchè programmavo trovo illogico l'awl siemens, ma non ho mai detto che programmo in ladder !Il linguaggio assembly o IL (o awl come la siemens ovviamente ha tradotto del Telemecanique è simile alla maggior parte delle cpu dei PC compreso pentium ed altri oltre quello che si studia nelle università di informatica ("pura"). Non so per altri tipi di PLC.Non è vero che non fa niente usare due operazioni "U" di seguito per ottenerne una pensando che tanto si fa così e funziona. Per me è importante capire come si comporta la cpu quando incontra una qualsiasi istruzione. Mi pare che hai anche risposto alla mia domanda precedente: che valore ottengo con:U E1.0O E1.1Diventa un AND o un OR ? immagino un OR o no ?Visto che anche tu dici che i manuali sono completi allora puoi dirmi dove posso trovare informazioni sugli UDT ?.Ciao.
Luca Bab Inserita: 27 luglio 2006 Segnala Inserita: 27 luglio 2006 Tipi di dati definiti dall'utente (UDT) I tipi di dati definiti dall'utente sono speciali strutture di dati che l'utente crea e può utilizzare in tutto il programma utente S7 secondo la definizione che ne ha dato. Gli UDT possono essere usati come tipi di dati semplici o tipi di dati composti nella dichiarazione di variabili dei blocchi di codice (FC, FB, OB), oppure come tipo di dati delle variabili di un blocco dati (DB). Ciò rappresenta un notevole vantaggio per l'utente, il quale, una volta definita una particolare struttura di dati utilizzabile più volte, la può assegnare a un numero infinito di variabili. Gli UDT possono essere usati come modello per creare blocchi dati con uguale struttura; è cioè possibile realizzare una volta la struttura e creare in seguito i blocchi dati semplicemente assegnando l'UDT (esempio "ricette": la struttura del DB resta uguale, cambiano solo le quantità indicate). I tipi di dati definiti dall'utente, come tutti gli altri blocchi, vengono creati nel SIMATIC Manager o nell'editor incrementale. Configurazione di un UDT Dopo l'apertura dell'UDT in una nuova finestra di lavoro comparirà la tabella per la rappresentazione di tale tipo di dati nella vista dichiarazione. La prima e l'ultima riga contengono già le dichiarazioni STRUCT e END_STRUCT che indicano l'inizio e la fine del'UDT. Tali righe non possono essere modificate. Per elaborare il tipo di dati definito dall'utente specificare i dati desiderati nelle opportune colonne, a partire dalla seconda riga della tabella di dichiarazione. I tipi di dati definiti dall'utente possono essere strutturati sulla base di: tipi di dati semplici tipi di dati composti tipi di dati definiti dall'utente già disponibili I tipi di dati definiti dall'utente del programma utente S7 non vengono caricati nella CPU S7. Essi vengono creati ed elaborati direttamente mediante un editor incrementale oppure compilando i file sorgente.
Simone70 Inserita: 27 luglio 2006 Segnala Inserita: 27 luglio 2006 Mi pare che hai anche risposto alla mia domanda precedente: che valore ottengo con:U E1.0O E1.1Forse sarà dovuto al fatto che io ho sempre e solo programmato con PLC Siemens, ma non riesco a capire cosa c'è di strano in questa istruzione.
carminedivico Inserita: 27 luglio 2006 Segnala Inserita: 27 luglio 2006 LD E1.0AND E1.1AND E1.2ANDN E1.3ANDN E1.4OR E1.5AND E1.6attenzione a non confondere awl x s7200 con quello per s7300 e s7400; quello che tu scrivi sopra è awl x microwin step7! AWL del s7 200 utilizza la tecnica dello stack logico ovvero: come prima istruzione trovi LD ovvero carica il valore xx e fai operazione logica (and or orn ecc ) con la successiva e e il risultato lo pone in cima allo stack, la successiva operazione opererà fra il suo operando ed il risultato memorizzato precedentemente nello stack; a questo punto la cima dello stack, assumerà il valore ottenuto dall'ultima operazione svolta e cosi via fin quando non incontra l'operazione di assegnazione =AWL per s7300 ed s7400 deriva dallo step 5 ed utilizza la tecnica del RLC ovver o risultato logico combinatorio (risultato dell'operazione logica) e con questo linguaggio valgono le comuni regole per la risoluzione di un espressione matematica ovvero durante l'esecuzione del listato vengono risolte prima le istruzioni fra parentesi ,poi quelle di and logico ed infine quelle di or logico cosa che non avviene nel awl del 200 in quanto le operazioni avvengono in modo sequenziale dalla prima all'ultima.in awl per s7300 la prima istruzione dopo un assegnazione si chiama prima interrogazione e fa si che incorrispondenza si genera un nuovo RLC indipendente dal RLC precedente alla stesso e questo rende insignificante mettere Und o Or davanti la prima istruzioneNon è molto facile da spiegare in due righe ---> piu facile con degli esempi, ma spero di averti chiarito il concetto di base.
batta Inserita: 27 luglio 2006 Segnala Inserita: 27 luglio 2006 Potresti anche scrivere:O M0.0U M0.1= M0.2che funziona. E' orribile, ma funziona, come se il primo OR fosse un AND.La prima istruzione viene automaticamente collegata alla "sbarra collettrice" senza dover usare una istruzione apposita.Per chiarire meglio basta che ti posizioni col cursore vicino all'istruzione OR oppure AND e premi F1. La guida illustra anche come le due operazioni agiscono sul bit "OR" della parola di stato.Il linguaggio IL (lista istruzioni) dei plc telemecanique, omron ed altri a me sembra solo una traduzione in parole del ladder.Con l'awl Siemens puoi eseguire calcoli lavorando direttamente sugli accumulatori, con semplificazione notevole in molti casi.Esempio 1: carica il valore di Sorg in Dest. Se il valore è inferiore a 50 carica 50 in Dest.L 50L "Sorg"<=ISPB M000L 50 (oppure TAK, che scambia il contenuto degli accumulatori, ma impegna di più la cpu)M000: T "Dest"Esempio 2: se M0.0 è alto, carica 50 in "Dest", altrimenti se M0.1 è alto, carica 100 in "Dest", altrimenti carica 0 in Dest.U M0.0L 50SPB M000U M0.1L 100SPB M000L 0M000: T "Dest"Esempio 3: "Dest" = ( A + B ) * CL "A"L "B"+IL "C"*IT "Dest"Se scrivi le stesse cose con il linguaggio IL di Telemecanique (solo per citarne uno) vedrai che hai bisogno di qualche istruzione in più.Io ho imparato a programmare plc quando si usavano ancora i tastierini. Il linguaggio usato era una lista istruzioni tipo quella attuale di Omron. La stessa lista istruzioni era convertibile in ladder per i pochi facoltosi che, a quei tempi, si potevano permettere un portatile.Poi il pc è diventato l'interfaccia standard per programmare i plc. Ho continuato per anni a lavorare su plc che utilizzavano esclusivamente linguaggio ladder (o ladder visualizzato in IL, che ritengo più corretto che dire IL visualizzatoo in ladder). Mi sono sempre tenuto alla larga da plc di scuola tedesca. Poi è arrivato S7 a sostituire S5, e sono stato costretto dagli eventi a metterci il naso dentro.Ora nutro ancora un odio viscerale per S5 (non ditemi che è come S7), ma adoro programmare S7-300/400. Imparando a conoscerlo ne ho scoperto le potenzialità. L'S7-200 lo uso invece solo se ci sono costretto, e così anche altri plc.
montese Inserita: 28 luglio 2006 Segnala Inserita: 28 luglio 2006 Inanzitutto vi ringrazio per le risposte e per la pazienza.Carmine Di Vico hai capito cosa volevo sapereBatta i tuoi esempi mi saranno utili per proseguire i miei "studi"Luca Bab mi sa che gli UDT non erano quello che cercavo. Io cercavo qualcosa di indicizzabile.ES:Serbatoio(I).LivelloSerbatoio(I).PressioneSerbatoio(I).TipoLiquidodove I va da 1 a 10.Pensavo che si potesse definire una struttura chiamata Serbatoio formata dai campi Livello, Pressione, TipoLiquido e indicizzarla.I DB sono indicizzabili ?
peopeo Inserita: 28 luglio 2006 Segnala Inserita: 28 luglio 2006 Quello che serve a te sono i puntatori. Devi creare delle DB che in seguito andrai a puntare la variabile che ti serve. Se cerchi nel forum, trovi una dispensa su come utilizzare i puntatori ed in oltre ci sono delle discussioni con degli esempi spiegati molto bene.
emanuele.croci Inserita: 28 luglio 2006 Segnala Inserita: 28 luglio 2006 Ciao,ti serve:Serbatoio(I).LivelloSerbatoio(I).PressioneSerbatoio(I).TipoLiquidodove I va da 1 a 10.una volta avevo fatto una domanda analoga, vedi la discussione:http://www.plcforum.it/forums/index.php?sh...=27368&hl=arrayal cui interno c'è un rimando anche a un'altra discussione.Comunque il succo è che servono i puntatori, oppure il linguaggio SCLCiao, Emanuele
Renzo R. Inserita: 28 luglio 2006 Segnala Inserita: 28 luglio 2006 Per creare un DB come vuoi tu, devi crearti un UDT con i parametri: LIVELLO PRESSIONE TIPOLIQUIDOPoi crei il DB dove dichiari il nome SERBATOIO come ARRAY[1..10] di tipo dati UDT1 se il tuo UDT e' il numero 1.Andando a visualizzare il DB in "Dati", vedrai la struttura come vuoi tu.Poi, chiaramente, per andare a pescarti i dati nella DB dovrai usare dei puntatori se ti serve un sistema indicizzato.Ciao.
montese Inserita: 30 luglio 2006 Segnala Inserita: 30 luglio 2006 Grazie a tutti !Ora ho tutto quello che mi serve.ARRAY ...... che dolce parola, mi sento a casa Ciao.
batta Inserita: 30 luglio 2006 Segnala Inserita: 30 luglio 2006 Vedi che... se lo conosci, non lo eviti?
walterword Inserita: 31 luglio 2006 Segnala Inserita: 31 luglio 2006 secondo me capire il plc da ZERO qual sul forum e' un'impresa ardua e assurda.Dovresti prenderti il sw, il simulatore , dei libri o frequentare un corso anche privato .Cioe pretendere di capire lo step 7 cosi , boh ........Non e' un gioco .....poi quando ti metti li a lavorare magari sotto contratto fai dei disastri .Creare DB, Fc, puntatori , puntatori a puntatori e quant'altro ci vuole tempo e tanto studio , libri e poi chiedere ma quando si ha per lo meno la consocenza di quello che si sta dicendo Opinione personale
montese Inserita: 1 agosto 2006 Segnala Inserita: 1 agosto 2006 per walterworld:Ho passato tutta la mia infanzia a programmare. Qualcosa anche di assembly, sia su Commodore 64 (avevo 12 anni) che sulla famiglia intel 8086 etc.Ho fatto una scuola ad orientamento informatico perchè era la mia passione.Mi sono iscritto a scienze dell'informazione, purtroppo abbandonato per lavoro e per fisica I eII dopo aver superato i primi esami di informatica.Dopo alcuni anni di non programmazione ho provato con i telemecanique (IL) e mi sono trovato bene. Tutto era come quando avevo 12 anni.Ho seguito un corso di formazione "Tecnico sistemi automatizzati" di 600 ore con relativa qualifica (ho ottenuto il massimo dei voti). PLC utilizzato S7 300. Utilità di questo corso prossima allo zero !. Oltre al fatto che l'awl non l'abbiamo nemmeno visto.Ora sto provando come ho sempre fatto e cioè da solo, con manuali, esempi e prove fallite. Con l'awl ho trovato molte difficoltà iniziali che non avevo trovato prima col telemecanique.Avrai capito che non parto da zero !Quello che volevo semplicemente esprimere inizialmente è che siemens si è allontanato dagli "standard".Se poi ci mettiamo pure che mi sono un pò arruginito nella programmazione allora la frittata è fatta.Grazie per il tuo parere.
walterword Inserita: 26 agosto 2006 Segnala Inserita: 26 agosto 2006 probabilmente il tono della mia "critica" e' stato interpretato in maniera un po piu pesante di quanto sarebbe dovuto essere .Scusami se ti ho colpito nel cuore, ma spesso capitano persone che comprano oggi il plc e senza leggere una riga di manuale pretendono di impararlo sul forum .Io i commodore 64 , vic 20 , spectrum sinclair ed altri li vedevo a csa dei miei amici , non potevo permettermi di averne uno .Mi sono rifatto dopo .Se ti fa piacere ti do una piccola dritta , giusto per farmi perdonare Esiste un tool per step 7 , integrabile ma chiarmaente a pagamento , che si chiama SCL.E' un linguaggio tendente al basic - pascal , anzi pascal direi visto che tra le righe di dichiarazioni e l'inizio del codice si interpone BEGIN.E' semplicemente fantastico , lo uso spesso per lavorare su tabelle , ossia array di strutture dichiarate nei db, e' veramente una potenza incredibile , ben compilato ed ottimizzato mica male .Certo un po di esercizi con puntatori ,any , ed affini fa sempre bene , me ti dico che SCL ne vale proprio la pena di provarlo .Riuscito a portarlo in casa ad una multinazionale per la quale lavoro e sono rimasti soddisfatti .Per gli ingressi e le logiche immediate va sempre bene il ladder , per il debug e la velocita di scrittura , ma per il trattamento dei dati complessi , ricette , manipolazione dati provalo.Poi dimmi come ti sei trovato ciao walterp.s. credo ch eun informatico possa maggiormente apprezzare questo genere di linguaggio per il plc
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