Anikare Inserito: 6 dicembre 2020 Segnala Share Inserito: 6 dicembre 2020 Salve ragazzi, avrei bisogno del vostro aiuto. In allegato si trova un blocco dati globale appartenente al programma PLC della mia azienda, il DB 709. Se io volessi ad esempio con la funzione MOVE spostare un dato nella WORD 176 mi basta digitare il comando DB709.DBW176, oppure dare lo stesso imput nella finestra PUNTO DI APPLICAZIONE se volessi sapere piu informazioni. Nel caso invece delle WORDS contenute nella struttura ARRAY in cima al DB 709 ad esempio la word +6.0, quale input dovrei dare alla funzione MOVE se volessi spostare un dato in quella cella del DB ? Ho provato ad usare DB709.DBW6 ma da errore. Ottengo errore da 0.0. sino a 16.0 end struct. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 6 dicembre 2020 Segnala Share Inserita: 6 dicembre 2020 Perché non dai un nome al DB709 e non usi il simbolico anziché gli indirizzi? "NomeDB".NomeVariabile Comunque, la scrittura della variabile DB709.DBW6 non deve darti errore. L'errore è da qualche altra parte. Forse, al posto del DB, era meglio se pubblicavi le righe di codice che non ti accetta. Link al commento Condividi su altri siti More sharing options...
Anikare Inserita: 6 dicembre 2020 Autore Segnala Share Inserita: 6 dicembre 2020 Salve, diciamo che quando uso la finestra Punto di applicazione per risalire all'origine del dato presente nella Array , nella finestra non mi compare nulla quando digito i codici DB709. DBW(8,6,4,2,0) per le INT e DB709. DBD14 per il Real. Se invece gli stessi codici li uso nella funzione Move mi appare la scritta rossa. Link al commento Condividi su altri siti More sharing options...
Anikare Inserita: 6 dicembre 2020 Autore Segnala Share Inserita: 6 dicembre 2020 Chiedo scusa il Real è DB709. DBD10 Link al commento Condividi su altri siti More sharing options...
batta Inserita: 6 dicembre 2020 Segnala Share Inserita: 6 dicembre 2020 Significa che non sono usati nel programma o, se sono usati, sono usati con un indirizzamento indiretto, quindi non si possono trovare nel cross reference. Link al commento Condividi su altri siti More sharing options...
Anikare Inserita: 6 dicembre 2020 Autore Segnala Share Inserita: 6 dicembre 2020 Salve Sig. Batta, ho provato nuovamente con la funzione MOVE ed i codici delle INT nella Array li accetta, ho commesso io un errore e mi scuso. Quello che invece non riesco ad ottenere è di risalire all' origine usando gli stessi codici nella finestra PUNTO DI APPLICAZIONE, specialmente della INT +8 nella Array la quale imposta il set point del numero di giri di un VFD. Esiste un modo per sapere da dove proviene il dato della DB709. DBW8 ? Link al commento Condividi su altri siti More sharing options...
drn5 Inserita: 6 dicembre 2020 Segnala Share Inserita: 6 dicembre 2020 Vai in un blocco dati qualsiasi (ob,fc,fb) ti posizioni su una variabile qualsiasi (non temporanea) e premi CTRL Q nella finestra che ti si apre digiti il tuo DB709.DBW8. Se è utilizzato nel plc lo vedi, se non lo vedi potrebbe essere indirizzato dal HMI, se non c'è nemmeno nel pannello non viene usato. Ciao Link al commento Condividi su altri siti More sharing options...
Anikare Inserita: 7 dicembre 2020 Autore Segnala Share Inserita: 7 dicembre 2020 Ciao Drn5, ho provato ma premendo Cntr Q non si apre nessuna finestra. Mi sono posizionato su variabili In, out, M, ma niente. Link al commento Condividi su altri siti More sharing options...
Mattia Spoldi Inserita: 7 dicembre 2020 Segnala Share Inserita: 7 dicembre 2020 41 minuti fa, Anikare ha scritto: Ciao Drn5, ho provato ma premendo Cntr Q non si apre nessuna finestra. Mi sono posizionato su variabili In, out, M, ma niente. Ciao, CTRL+Q è quello che tu chiami "punto di applicazione". Comunque, se non trovi dove viene letta e/o scritta la variabile che ti interessa i casi sono 3, 1 non viene usata per davvero 2 viene usata da un qualche HMI 3 viene usata tramite puntamento indiretto, in questo caso per capire chi legge e/o scrive, bisogna far passare tutto il software, magari andando un po' ad intuito Link al commento Condividi su altri siti More sharing options...
Cialtrone Inserita: 7 dicembre 2020 Segnala Share Inserita: 7 dicembre 2020 CTRL+ALT+Q per il punto di applicazione. Se DB709.DBW6 è richiamata da qualche parte nel programma, scritta così com'è o con indirizzamento simbolico, troverai il punto di applicazione. Se invece la memoria viene scritta in un altro modo, per esempio con SFC20, l'indirizzamento della variabile è diverso e quindi non viene individuato nei punti di applicazione. Ad esempio se usi SFC20 per muovere i primi 10 Byte della DB709, troverai scritto "P#db709.dbx0.0 byte 10" (oppure la stessa cosa in simbolico). In questo caso, la memoria viene usata, ma il cross references non la individua. Funziona allo stesso modo se la word viene scritta con un puntatore. Questa è la spiegazione "in soldoni" del punto 3 del post de il toby e anche della spiegazione di batta. Link al commento Condividi su altri siti More sharing options...
Anikare Inserita: 7 dicembre 2020 Autore Segnala Share Inserita: 7 dicembre 2020 Grazie a tutti ragazzi, vedrò di verificare i casi menzionati. Link al commento Condividi su altri siti More sharing options...
Anikare Inserita: 7 dicembre 2020 Autore Segnala Share Inserita: 7 dicembre 2020 Una ultima cosa, in questo programma tra l'altro scritto in tedesco, tutti gli SFC e SFB hanno un lucchetto sul loro simbolo. Quando li apro sono vuoti, cosa significa? È una sorta di protezione? Poi su tutto il resto dei blocchi del programma, OB1, FC ed FB su alcune righe di programma non è possibile convertirle in LAD, ma rimangono sempre in linguaggio Awl. Come è possibile? Link al commento Condividi su altri siti More sharing options...
batta Inserita: 7 dicembre 2020 Segnala Share Inserita: 7 dicembre 2020 (modificato) 26 minuti fa, Anikare ha scritto: tutti gli SFC e SFB hanno un lucchetto sul loro simbolo SFC e SFB sono blocchi di sistema, non modificabili. Quote Poi su tutto il resto dei blocchi del programma, OB1, FC ed FB su alcune righe di programma non è possibile convertirle in LAD, ma rimangono sempre in linguaggio Awl. Non tutto è convertibile in ladder. Modificato: 7 dicembre 2020 da batta Link al commento Condividi su altri siti More sharing options...
TravelMen Inserita: 9 dicembre 2020 Segnala Share Inserita: 9 dicembre 2020 Ciao potresti provare ad attivare "Accesso alle aree di memoria senza specificazione del tipo di dati" così da vedere se il DB709 viene aperto e poi usata un istruzione del tipo: " L DBW8" Quote Saluti Link al commento Condividi su altri siti More sharing options...
Anikare Inserita: 13 dicembre 2020 Autore Segnala Share Inserita: 13 dicembre 2020 Grazie Batta. Grazie anche a te TravelMan. Digitando solo la radice della DB non mi appare nulla. Link al commento Condividi su altri siti More sharing options...
TravelMen Inserita: 14 dicembre 2020 Segnala Share Inserita: 14 dicembre 2020 Ti rimane una sola cosa da provare ovvero la ricerca dell' SFC 20 "BLKMOV" se neanche questo da esito allora il DB non viene utilizzato oppure è richiamato con puntatore "any". Link al commento Condividi su altri siti More sharing options...
Anikare Inserita: 23 dicembre 2020 Autore Segnala Share Inserita: 23 dicembre 2020 On 12/14/2020 at 7:56 AM, TravelMen said: Ti rimane una sola cosa da provare ovvero la ricerca dell' SFC 20 "BLKMOV" se neanche questo da esito allora il DB non viene utilizzato oppure è richiamato con puntatore "any". Grazie 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