setecastronomy Inserito: 27 novembre 2007 Segnala Share Inserito: 27 novembre 2007 Un po' di tempo fa lessi il Getting started sulla programmazione in Step 7, ma della parte sul multiistanza non ne ricavai nulla e mi sembrò priva di risvolti pratici, almeno per me.Seguendo le discussioni su questo forum vedo che ogni tanto viene menzionata e vorrei capire in quali casi può tornare veramente utile.GrazieFilippo Link al commento Condividi su altri siti More sharing options...
lucios Inserita: 27 novembre 2007 Segnala Share Inserita: 27 novembre 2007 Se con multiistanza intendi le FB con DB di istanza ti potrei dare il seguente esempio:Immagina di avere un 'automazione composta da varie stazioni o unità simili tra di loro nel funzionamento ma che, ovviamente hanno I/O distinti.In questo caso una soluzione potrebbe essere quella di sviluppare un "pezzo di software" generico e sbatterlo in una bella FB da richiamare per tutte le unità con le rispettive DB di istanza (strutturate per ricevere gli input e settare gli output necessari). In questo modo scrivi molto meno codice e, in caso di modifiche, le stesse sono automaticamente funzionanti su tutte le unità. Inoltre diminuisci le probabilità di errore e compatti il codice.Per contro diventa un pò più problematico il debug, ma non si può avere tutto....Ciao Link al commento Condividi su altri siti More sharing options...
salto Inserita: 27 novembre 2007 Segnala Share Inserita: 27 novembre 2007 CALL FB10, DB10CALL FB10, DB11CALL FB10, DB12In sostanza l' FB è sempre la stessa ( stesso pezzo di codice ) nel caso l'FB10ma gli associ DB diverse nell'esempio dalla DB11 alla DB12Questo ti serve quando la logica contenuta nella FB10 deve memorizare lo stato di qualche operazione.Questo è un utilizzo.Ciao Link al commento Condividi su altri siti More sharing options...
Ospite drei Inserita: 27 novembre 2007 Segnala Share Inserita: 27 novembre 2007 Che io sappia per multistanza si intende un richiamo di un FB all'interno di un'altro FB come se fosse una variabile STAT.Tento di spiegarmi meglio:avendo un blocco FB1 posso mettelo come variabile STAT nelle dichiarazioni di un'altro blocco (esempio FB2). In questo modo richiamando l'FB1 con la riga "call FB1, DB1" mi ritrovo in DB1 le variabili STAT sia di FB1 che di FB2. I questo modo creo una multistanza.Spero di non aver frainteso il concetto di multistanza..Ciao. Link al commento Condividi su altri siti More sharing options...
kamikaze Inserita: 28 novembre 2007 Segnala Share Inserita: 28 novembre 2007 (modificato) Non mi sembra sia cosi':CALL FB10, DB10CALL FB10, DB11CALL FB10, DB12In sostanza l' FB è sempre la stessa ( stesso pezzo di codice ) nel caso l'FB10ma gli associ DB diverse nell'esempio dalla DB11 alla DB12Un FB dichiarato come multiistanza, deve avere associato un DB di istanza che deve essere sempre lo stesso, cio' che cambia sono i dati delle variabili di interfaccia es://prima chiamata FB10CALL FB0,BD10IN0=E0.0IN1=E0.1IN_OUT0=M0.1OUT0=A9.4//seconda chiamata FB10CALL FB0,BD10IN0=E1.0IN1=E1.1INOUT0=M1.1OUT0=A10.4In sostanza , le funzioni che svolge FB10 , sono identiche , ma tratta parametri diversi vi via che gli vengono fornite nuove dichiarazioni alle variabili di ingresso.La DB di istanza , memorizza lo stato delle variabili al rilascio del blocco rendendole disponibili alla seguente rielaborazione.CiaoIvan Modificato: 28 novembre 2007 da kamikaze Link al commento Condividi su altri siti More sharing options...
Ospite drei Inserita: 28 novembre 2007 Segnala Share Inserita: 28 novembre 2007 La multiistanza è spiegata nel manuale con codice 6ES7810-4CA08-8EW0 edizione "03/2006 A5E00706947-01" al capitolo 10.3 pagina 10-9. O almeno è il manuale più recente che ho io.Ciao. Link al commento Condividi su altri siti More sharing options...
JumpMan Inserita: 28 novembre 2007 Segnala Share Inserita: 28 novembre 2007 Io per multiistanza intendo quello che ha detto gianmario quiQuello che dite voi sono istanze normali, cioè chiamate multiple dello stesso blocco (potrebbe essere anche un FC). Link al commento Condividi su altri siti More sharing options...
salto Inserita: 28 novembre 2007 Segnala Share Inserita: 28 novembre 2007 (modificato) mi scuso ...effettivamente ho risposto senza guardare il manuale :blush: mi sembrava che suonasse bene il nome comunque sono in buona compagniaognuno ha dato una spiegazione diversa .... Modificato: 28 novembre 2007 da salto Link al commento Condividi su altri siti More sharing options...
Ospite drei Inserita: 28 novembre 2007 Segnala Share Inserita: 28 novembre 2007 Io per multiistanza intendo quello che ha detto gianmario quiQuello che dite voi sono istanze normali, cioè chiamate multiple dello stesso blocco (potrebbe essere anche un FC).Che è la stessa cosa che ho detto io e che c'è scritto sul manuale che ho segnalato. Link al commento Condividi su altri siti More sharing options...
Gianmario Pedrani Inserita: 28 novembre 2007 Segnala Share Inserita: 28 novembre 2007 certo drei è come abbiamo spiegato la stessa cosa.. Link al commento Condividi su altri siti More sharing options...
RAMSON Inserita: 4 dicembre 2007 Segnala Share Inserita: 4 dicembre 2007 Beh, quì le idee sono un pò confuse.Lanciare una FB con la rispettiva db di istanza non significa fare una multiistanza.Una multiistanza consiste nel lanciare all'interno di una FB creata con supporto di multiistanza (vedi le proprietà all'atto della creazione) ulteriori FB che invece di utilizzare ugnuna una distinta DB, utilizzano una porzione della db istanza dell'FB ospite.E' più complicato a dirsi che a farsi.Crea alcune FB fittizieCrea una FB con flag di multiistanzaaprilacrea nei dati statici un tag (non importa il nome) con tipo FBxxx ove xxx è il numero di una delle fb fittizie create in precedenzacreane un'altro ed un'altro ancoraora nel codice della FB ospite, scrivi call nomedeltagcreatoaggiungi tutti quelli che hai creatoebbene le fb chiamate con il call non richiedono db perchè i rispettivi dati verranno collocati nelle posizioni dei tag creati.Salva il tutto, istanzia la fb ospite aggiungendogli la necessaria dbapri ora la db di istanza e guardala, è molto interessante per capire cos'è successo.Lavorare con le fb in multiistanza è estremamente comodo e permette di incapsulare il codice in modo molto elegante.ATTENZIONE. Ricorda che l'accesso ai dati statici delle fb chiamate in multiistanza tramite puntatore AR1 richiede tassativamente la somma del registro AR2 all'indirizzo (AR2 contiene l'offset della tua multiistanza, in pratica da dove partono i tuoi dati) altrimenti il puntatore punta a partire dall'inizio della DB dell'FB ospite.Spero di aver chiarito qualche dubbio (o forse ne ho aperti altri mah...) Link al commento Condividi su altri siti More sharing options...
Supertony Inserita: 6 dicembre 2007 Segnala Share Inserita: 6 dicembre 2007 kamikaze... scherzi, spero! :-) quello che hai scritto, oltre a non essere ne un'istanza ne' una multi istanza... non funziona proprio! occhio...per riassumerla in un concetto breve e chiaro, una multiistanza non è altro che una serie di richiami di Fb associati alle una relative aree di memoria:tale memoria, però anziché essere sparsa magari in decine di Db, è tutta nello stesso Db.Esemplare è la spiegazione di RAMSON, io da parte mia riporto un esempio tratto da qualcosa che spesso uso, cioè i temporizzatori TON e TOF, ovvero SFB4 e 5. Una volta dichiarati nelle stat di un Fb più volte magari con nomi del tipo Timer1, Timer2, ecc, è sufficiente richiamarli con CALL #TIMER1in quanto la loro area di memoria STAT sarà una porzione del DB di istanza dell'FB nel quale si stava scrivendo dichiarazione e richiamo. Link al commento Condividi su altri siti More sharing options...
gabriele.winter Inserita: 11 marzo 2009 Segnala Share Inserita: 11 marzo 2009 Ciao a tutti, dovrei illuminare con un faretto una doccia. Pensavo di controsoffittarla in cartongesso (di quello adatto) e installare un faretto 12V.Ci sono controindicazioni (per l'umidità o il vapore), o soluzioni migliori??E il trasformatore potrebbe essere riposto sopra il cartongesso come un normale controsoffitto o sarebbe meglio posizionarlo altrove???Grazie a tutti per i consigli. Link al commento Condividi su altri siti More sharing options...
Benny Pascucci Inserita: 11 marzo 2009 Segnala Share Inserita: 11 marzo 2009 Non ho capito....spiegati meglio.... Vuoi installare un faretto nel controsoffitto al di sopra del box doccia o vuoi chiudere con cartongesso il soffitto della cabina.Nel primo caso se dal piatto doccia stai ad un'altezza superiore a 225 cm non vi è alcuna controindicazione di sorta....puoi intallare ciò che vuoi, anche u faretto a 230 V. Link al commento Condividi su altri siti More sharing options...
gabriele.winter Inserita: 11 marzo 2009 Segnala Share Inserita: 11 marzo 2009 Grazie per la risposta ma mi spiego meglio:La mia doccia è chiusa su tre lati da muratura a tutta altezza (2,70m). Davanti mettero una porta a vetro che difficilmente arriverà a soffitto (sarà circa 2 metri!!!)Sopra vorrei mettere il controsoffitto, solamente per inserirci l'illuminazione.Penso che sa pericoloso installare luci a 220V (un getto d'acqua potrbbe inavvertitamente arrivarci!!!) Link al commento Condividi su altri siti More sharing options...
Benny Pascucci Inserita: 11 marzo 2009 Segnala Share Inserita: 11 marzo 2009 Se è questa la situazione concordo con la pericolosità dell'installazione, ma non mi preoccuperei degli schizzi d'acqua, ma del vapore.Concordo per un faretto a 12 V, meglio se stagno IP55 e purchè il trafo di alimentazione sia di sicurezza. Link al commento Condividi su altri siti More sharing options...
acarrua Inserita: 12 marzo 2009 Segnala Share Inserita: 12 marzo 2009 ciao esistono dei faretti per la doccia adatti per il vapore.sono ip 55,come ha detto bennyciao a tutti 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