southofsanity Inserito: 29 gennaio Segnala Inserito: 29 gennaio (modificato) Salve a tutti , ho una periferica che mi ha 40 byte in ingresso e 40 in uscita, indirizzati nella configurazione hardware. in questi byte ci sono molti booleani di segnalazione. Dato che non posso prendere i singoli bit dagli indirizzi devo spostarli su una DB per poterli elaborare singolarmente. esiste una funzione per spostare tutto il blocco indirizzi in nella db? non vorrei spostare byte per byte o word dword che sia. grazie spero di essermi spiegato.. Modificato: 29 gennaio da southofsanity
southofsanity Inserita: 30 gennaio Autore Segnala Inserita: 30 gennaio Yes , è quello che cercavo.... Grazie mille
southofsanity Inserita: 19 ore fa Autore Segnala Inserita: 19 ore fa Ciao, ho provato con sfc 14/15 e anche con sfc20 ma mi da errore, i dati li ho confrontati sono lunghi uguale, quanlcuno ha qualche idea ? , allego foto hardware ( sono 36 non 40 per varie prove eseguite ). Grazie a tutti
drn5 Inserita: 16 ore fa Segnala Inserita: 16 ore fa 2 ore fa, southofsanity ha scritto: mi da errore Quale? Sembrerebbe un errore di area di destinazione non abbastanza grande. Comunque guarda qui la BLKMOV dove trovi tutte le info che ti servono e anche il link per tracciare eventuali errori.
southofsanity Inserita: 2 ore fa Autore Segnala Inserita: 2 ore fa L'SFC 14 mi da 80B1 La lunghezza dell'area di destinazione indicata non è uguale alla lunghezza dei dati utili progettata con STEP 7. L'SFC 20 mi da 8x22 Errore di dimensione nella lettura di un parametro. Ma le aree di lettura e scrittura erano entrambe di 36, nelle varie prove ho anche fatto una DB dedicata di 36 byte ma nulla , l'errore sparisce solo se leggo 1 solo byte mi e venuto il dubbio che nell' hardware lo step 7 voglia la periferia con i byte in sequenza 1350....1385
drn5 Inserita: 38 minuti fa Segnala Inserita: 38 minuti fa 1 ora fa, southofsanity ha scritto: con i byte in sequenza Non capisco cosa intendi nella configurazione hw in sequenza... vuoi dire che sono sparsi un po' qui e un po' là? Comunque si, le funzioni di copia leggono e scrivono locazioni di memoria consecutive. Se devi leggere/scrivere 36 bytes, gli stessi devono essere "uno dietro l'altro". Se non lo sono, copia quelli consecutivi con i BLKMOV e gli "sparsi" con dei semplici MOVE.
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