Johnny T. Inserito: martedì alle 16:08 Segnala Inserito: martedì alle 16:08 Buongiorno a tutti. Un istruzione che mi permetta di settare sempre a 1, magari mettendo un p-on sull'attivazione, un gruppo di bit hr? Per evitare di mettere sempre a 1 con il p-on bit per bit uno sotto l'altro e occupare parecchia memoria... Ho visto l'istruzione block set sul manuale.. potrebbe essere una valida alternativa? Grazie tante!
Ctec Inserita: martedì alle 16:18 Segnala Inserita: martedì alle 16:18 La cosa più semplice è usare l'istruzione OR sul canale che si vuole impostare. Nel valore di comando si metterà un 1 per ogni bit che si vuole alto, gli altri non vengono toccati. Con una OR si lavora su un gruppo di 16 bit con una sola istruzione. La BSET (block set) imposta lo stesso valore su più word (canali) successivi. Domanda: ma dato che gli HR sono ritentivi, perché li devi reimpostare? Altrimenti usa i bit CIO e li setti all'accensione, ha più senso.
Johnny T. Inserita: martedì alle 16:32 Autore Segnala Inserita: martedì alle 16:32 Grazie Ctec per la tua risposta..Ummm... credo di non aver capito molto bene... riusciresti a farmi un disegnino per favore? Si posson9 allegare foto qui? Grazie!
Ctec Inserita: martedì alle 16:51 Segnala Inserita: martedì alle 16:51 10 minuti fa, Johnny T. ha scritto: Si posson9 allegare foto qui? Si, io lo faccio tramite copia/incolla, altrimenti selezioni un file da allegare. Per la OR, facciamo un esempio. Supponiamo che te hai la HR5 in cui vuoi settare i bit 3,6,9: quindi, rappresentando in binario, dovresti scrivere 0000001001001000b, che in esadecimale si scrive 0x0248. Pertanto, per attivarli tutti e tre contemporaneamente, dovrai scrivere: Notare che questo vale per qualsiasi dato a 16bit e per qualsiasi PLC che non abbia la sequenza dei byte rovescia (Siemens). Ma il concetto è quello. Se invece tu volessi mettere a 0 dei bit specificati in una word, dovrai avere una costante word con tutti 1 eccetto i bit da azzerare, e usare la AND (ANDW) Anche questo fa parte della logica booleana, per cui vale per qualsiasi cosa lavori in digitale
Johnny T. Inserita: martedì alle 17:07 Autore Segnala Inserita: martedì alle 17:07 Grazie Ctec! Tutto chiaro ora! Scusami, non sono dei bit hr che devo lavorare ma dell'area di lavoro Ir... Voglio solamente metterli sempre a 1. Questa istruzione orw, cosi" come da te scritta, e' sempre a 1 giusto? Non e' attiva solo sul fronte positivo? E' come scrivere: --PON-----------------------(233.01) GRAZIE.
Ctec Inserita: martedì alle 17:25 Segnala Inserita: martedì alle 17:25 15 minuti fa, Johnny T. ha scritto: Non e' attiva solo sul fronte positivo? No, se la vuoi attiva al fronte positivo, o metti invece di P_on usi P_First_Cycle (attivo solo il primo ciclo), oppure metti la @ davanti (@ORW)
Marco Fornaciari Inserita: martedì alle 19:42 Segnala Inserita: martedì alle 19:42 Beh, contatto 253.13 che comanda un MOV #FFFF in H0, basta e avanza. Oppure se la vuoi si fronte di salia contatto 253.13 che comanda un @MOV #FFFF in H0. E tutti i bitr del canale vanno allo stato 1. HO può essere anche (CIO) 60, CIO si può omettere,
Johnny T. Inserita: mercoledì alle 08:54 Autore Segnala Inserita: mercoledì alle 08:54 Grazie a tutti. Mi basta davvero e ho gia' realizzato la soluzione di Ctec, con istruzione orw monostabile, con il p-on. Ho recuperato un po' di canali di memoria programma per fortuna! Grazie.
Ctec Inserita: mercoledì alle 09:00 Segnala Inserita: mercoledì alle 09:00 Per far capire: la MOV imposta forzatamente a 1 o 0 ciascun bit indipendentemente dallo stato precedente, mentre la ORW e ANDW impostano o resettano solo i bit specificati.
Marco Fornaciari Inserita: mercoledì alle 09:12 Segnala Inserita: mercoledì alle 09:12 Si è vero, ma Johnny T chiede sempre a 1 e risparmio memoria, va da se che #FFFF deve essere modificato in base ai bit richiesti sempre a 1 così come nell'esempio di ORW. Ma dalla domanda, direi che il nostro collega non è pratico di questo tipo di istruzioni matematiche ... e la potenza dei PLC rispetto ai relè cablati sono queste istruzioni (sorvolando sui fili da collegare). I miei programmi sono capiti da pochi dato che di istruzioni matematiche nelle parti di logica combinatoria c'è una presenza enorme (così come è fondamentale l'ordine di scrittura), ma di contro 20 K di programma diventano 6.
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