cobe72 Inserito: 16 aprile 2019 Segnala Share Inserito: 16 aprile 2019 Buongiorno a tutti... Sono alle prese con la conversione di un sw da s5 a S7-1500. Ho fatto passaggio intermedio da S5 a S7-400 e dopo aver corretto alcune cose è tutto ok. Ora passando da S7-400 a S7-1500 non mi riconosce la parte di sw riportata di seguito. L'errore che ho è: "L'istruzione accede al registro DB o DI. Tuttavia non è stato caricato alcun blocco dati in questo registro." Qualcuno è gentilmente in grado di darmi un supporto? Grazie Saluti T #conv_akku1 L STW T #conv_stw L "Tag_126" SLW 4 LAR1 L #conv_stw T STW L #conv_akku1 L DBW [ AR1 , P#0.0 ] T "Tag_127" L #INP // Contr.in che campo di mis.e' L "Tag_127" // l'input >=I JC M002 L "Tag_124" L #LUNG +I T "Tag_125" Link al commento Condividi su altri siti More sharing options...
ken Inserita: 16 aprile 2019 Segnala Share Inserita: 16 aprile 2019 L DBW [ AR1 , P#0.0 ] carica una dbw. ma di che DB? Link al commento Condividi su altri siti More sharing options...
Zedjo Inserita: 19 maggio 2019 Segnala Share Inserita: 19 maggio 2019 Ciao, L' riga d'istruzione L DBW [AR1, P#0.0] Indica il puntamento in una DB 'Locale' del blocco, controlla tutti gli I/O e le memorie create all'interno del blocco.. Poi convertendolo nel 1500 controlla che il blocco nuovo NON abbia l'attributo di "accesso ottimizzato" altrimenti, nel caso di un FB, non avrai valori di offset, di conseguenza né nella sua DB d'istanza e né all'interno del blocco potrai puntare a bit, byte, word ecc.. Ma soltanto in modo simbolico.. Poi dovrai convertire anche l'istruzione L DBW [AR1, P#0.0] nella versione TIA PORTAL. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 19 maggio 2019 Segnala Share Inserita: 19 maggio 2019 Quote Indica il puntamento in una DB 'Locale' del blocco Se con "Locale" intendi il DB di istanza del blocco, non è corretto. Per accedere al DB di istanza si dovrebbe scrivere L DIW [AR1, P#0.0]. Come dice Ken, l'istruzione L DBW [AR1, P#0.0] carica la word del DB aperto in quel momento (non del DB di istanza). Ma dalle istruzioni inserite nel primo post non si legge nessuna istruzione AUF DB, quindi non si sa a quale DB si acceda. Se all'interno della funzione non c'è nessuna istruzione di apertura del DB, significa che il DB attualmente aperto è quello che era aperto prima del richiamo della funzione stessa. Il compilatore fa notare proprio questa cosa: non è chiaro a quale DB si faccia riferimento. Link al commento Condividi su altri siti More sharing options...
JulesTechnic Inserita: 20 gennaio 2020 Segnala Share Inserita: 20 gennaio 2020 (modificato) Ciao, è capitato anche in una traduzione che abbiamo fatto noi. Nell'S7300 consentiva di aprire la DB a cui puntare esternamente ad una FC poi richiamata. Mi spiego meglio, il software sul 300 era fatto così: Quindi l'FC223 utilizza la DB210 al suo interno. Abbiamo verificato che le CPU1500 non ti permettono più di fare questo, quindi nella nostra traduzione TIA Portal ha generato automaticamente una TEMP con l'appoggio della DB aperta, per poi passare la temp come parametro di ingresso all'FC. Infine per prima cosa apre con un AUF della temp all'interno dell'FC. Per spiegarmi meglio: TIA Portal ha creato un nuovo parametro in ingresso alla FC223 chiamato "__PlcmigInputBlockDB" dove carica la DB210, poi se apri la FC223 vedi che la prima cosa che fa è un AUF #"__PlcmigInputBlockDB" per aprire proprio la DB210 che gli ha passato come parametro in ingresso. In seguito per prova abbiamo cercato di fare una FC con un semplice L DBW0 scritto, e non te la fa compilare, ti restituisce l'errore che dà anche a te. Si vede che con TIA Portal e PLC1500 non puoi più aprire esternamente la DB da usare all'interno di una FC, deve avere l'AUF al suo interno. Spero di essermi spiegato bene. Modificato: 20 gennaio 2020 da JulesTechnic 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