Vai al contenuto
PLC Forum


Cj2m-35 + Ns8 16 Pulsanti Indipendenti


Messaggi consigliati

Inserito: (modificato)

su di un terminale ns8 ho 16 pulsanti su di una word h100.00/h100.15

l'operatore dovrebbe selezzionarne uno alla volta

pero' onde evitare un dppio pulsante selezzionato

quando ne selezziona uno

si deve disabilitare automaticamente quello gia selezzionato

esiste una funzione apposita

cerco di non usare ROL

per questione di praticita'

da questa word h100 ricavo 16 bit

che debbono essere per forza

0-1-2-4-8-16-32-64......ecc..

che verrano poi gestiti da una TCMP

confronto tabella

-------------

protrei anche evitare 16 pulsanti

e scrivere su immisine valore numerico

ma se scrivo

1 ok h100.01

2 ok h100.02

ma se scrivo 3 avro bit h100.01-h100.02

Modificato: da gianff

Inserita:

Prova cosi

con il fronte di salita del pulsante azzeri in valore in H100, "mov #0" con il fronte di discesa "rilascio pulsante" attivi il corrispondente bir del canale, dovrebbe funzionare.

saluti.

Inserita: (modificato)

ok funziona

problema debbo usare due mov ogni pulsante

(il fronte di dicesa non aggancia il bit ) debbo fare mov #1 h100

dei pulsanti ne avro un centinaio su varie pagine

almeno si puo controllare il cambiamento dei bit nella word

se vedo un cambiamento per i 16 bit

azzero la word con un solo mov

poi con singolo mov carico il pulsante in uso

-----------

non esiste una funzione tipo ROL

che non funzioni con un inpulso per scorrere

ma che scorra sigolarmente al cambiare del singolo bit

le ho guardate tutte ma non trovo nulla di piu' simile alla ROL

mi sembra strano

Modificato: da gianff
Inserita:

parlato troppo presto

non funziona

il mov #0 h100

autoesclude il pulsante del tastierino

nello stepo che viene premuto

quindi il fronte di dicesa interviene direi contemporaneamente

Inserita:

Ti allego il immagine del file che ho provato con il simulatore stamane, sul sumulatore funziona, overo alla pressione di un tasto esclude tutti gli altri.

Saluti.

Inserita:

OK

se usi i w0.00 come pulsanti funzina

ma se uso come polsanti direttamente h100.00

si autoescludono

comunque riprovo come ai fatto tu

Inserita: (modificato)

no non funzina con tasti h100,00 h100.01

riesco ad azzerare tutti i bit

ma cosi facendo non funzina il fronte di dicesa

direi che viene eseguito al momento del mov #0 h100

e il tasto del terminale e' quindi inibito (pur essendo premuto )

con i w0.00 in apoggio debbo radoppiare tutto per un centinaio di pulsanti

piuttosto scomodo

eppure sembra una cosa banale !!!

esistono i selettori interbloccati meccanici per evitare un doppio pulsante

Modificato: da gianff
Inserita:

Vedi che cosi funziona, comunque non so se devi per forza usare la soluzione con i tasti un H, potevi usare la prima soluzione postata, comunque con quello che ti mando funziona, devi ripetere per ogni tasto 1 set e 15 reset, se devi fare parecchie attivazioni forse e il caso di mettere tutto in un FB, vedete Voi come diceva Covatta.

Saluti.

Inserita:

ok da vedere funzina per forza

ma quando mi passa

16 bit * 16 tasti = 256 * 6 word = 1536 istruzzioni

saranno 2000 passi

che ne dici se

prima metto RSTA H100 #0 #0

poi RSTA H100 #2 #15

e SET H100.01

metto gli h100 per mantenerli (sbaglio )

provo il tutto

Inserita:

Da come la racconti no e che sia del tutto chiaro, comunque come dicevo costruisci un FB con ingresso/uscita H100 e cosi via, lo richiami 6 o più volte, e ti ammazzi di lavoro una sola volta., oppure come capita qualche volta, ( spesso), a cercare la soluzione migliore, si spende piu tempo che ad adottare quella che inizialmente sembra la piu lunga?

Saluti.

Inserita:

funzina provato con RSTA

e si semplifica abbastanza

ma scritto cosi per h100.01

-----------

prima metto RSTA H100 #0 #1

poi RSTA H100 #2 #F

e SET H100.01

----------

per le FB

non le so usare

se ai voglia

io sono in ferie fino a martedi !!!!!!!!

lo so che sarebbe meglio se andassi a lavorare !!!!

ma comunque tutto poi serve sul lavoro

si inpara di piu con il fai da te, e molto da questo forum

sopratutto con un plc+hmi acceso da massacrare

mille grazie comunque

Inserita:

Se sei in ferie puoi approfondire l'uso dei FB, le ferie sono gradite anche perchè si può fare cio che piu aggrada, quinndi se ci tieni ad apprendere l'occasione e propizia.

Comunque sono lieto che i suggerimenti hanno partorito il risultato.

saluti.

Inserita:

senza il tuo aiuto

ci festeggiavo anche capodanno con quei pulsanti

----------

per gestire una word 16 pulsanti

occupo 100 passi circa

visto che vengono uguali identiche

cambiera solo h100.00 con h100.01 ecc...

riuscire ad usare le FB mi sembrerebbe giusto

e credo vantaggioso per il tempo di ciclo

io ho gia fatto la sezzione funzionante per un word

prova a dirmi da dove partire per creare la FB

se ai voglia e tempo

  • 1 month later...
Inserita:

Ciao...

Io Avrei Fatto Diversamente...

Invece Di Usare Un Pulsante Per BOOL Avrei Usato Un Pulsante WORD.

Sul Pulsante Del Bit0 Avrei Fatto Scrivere Il Codice Esadecimale #0001, Bit1 = #0002, Bit2 = #0004, Bit3 = #0008 Ecc. Per Tutti i 16 Bit.

Nel PLC Non Dovevi Fare Nulla Se Non Utilizzare I Bit...

Mi Sa Che Ti Sei Un Pò Complicato La Vita....

Inserita:

Ciao...

Io Avrei Fatto Diversamente...

Invece Di Usare Un Pulsante Per BOOL Avrei Usato Un Pulsante WORD.

Sul Pulsante Del Bit0 Avrei Fatto Scrivere Il Codice Esadecimale #0001, Bit1 = #0002, Bit2 = #0004, Bit3 = #0008 Ecc. Per Tutti i 16 Bit.

Nel PLC Non Dovevi Fare Nulla Se Non Utilizzare I Bit...

Mi Sa Che Ti Sei Un Pò Complicato La Vita....

Inserita:

il problema sta proprio nel ---- #0004, Bit3

quando un operatore qualsiasi arriva a dover scrivere la corrispondenza ess.. per bit 14-15-16

dovrei fagli una tabella di corrispondenza

poi si sbaglierebbe facilmente

Inserita:

Ma Allora Devi Attivare Più Di Un Pulsante Alla Volta....

Non 1 Dei Sedici Che Esclude Gli Altri 15...

Io Avevo Capito Così!!!

Comunque Se E' Così Ti Conveniva Utilizzare Le Macro In Abbinato Ai Pulsanti Almeno Non Caricavi Il PLC.

Inserita:

ne debbo sempre scrivere uno alla volta

ma se voglio scrivere il bit 16 debbo mettere 12345...... (adesso non ricordo)

per l'operatore diventa inpossibile

Inserita: (modificato)

Non Riesco A Capire Cosa Devi Fare Ma Mi Incuriosisce!

Io Farei 16 pulsanti Di Tipo:

Pulsante Word (W) Su NS Che Imposto Come "Tipo Cifra" UINT "Indirizzo Word" H100 e "Imposta Valore" A:

Per BitH100.00 a ON Valore : 1

Per BitH100.01 a ON Valore : 2

Per BitH100.02 a ON Valore : 4

Per BitH100.03 a ON Valore : 8

Per BitH100.04 a ON Valore : 16

Per BitH100.05 a ON Valore : 32

Per BitH100.06 a ON Valore : 64

Per BitH100.07 a ON Valore : 128

Per BitH100.08 a ON Valore : 256

Per BitH100.09 a ON Valore : 512

Per BitH100.10 a ON Valore : 1024

Per BitH100.11 a ON Valore : 2048

Per BitH100.12 a ON Valore : 4096

Per BitH100.13 a ON Valore : 8192

Per BitH100.14 a ON Valore : 16384

Per BitH100.15 a ON Valore : 32768

Quando Premi Il Pulsante Scrive Il Valore In H100 E Si Alza Il Bit Corrispondente Del Valore, Solo Quello Gli Altri Vanno Ad Off, Nel PLC Non Devi Fare Assolutamente Nulla.

Poi In Colore Forma/Setti La Forma Per L'Off e La Forma Per L'On.

Per Me Così Hai Gia Fatto Tutto.

Ciao

Modificato: da bonibellid
Inserita:

ok facendo un mov (cioe 16 ) per ogni pulsante

pero' ho 16 stringhe da 16 pulsanti diventa comunque lungo

non e possibile da terminale ( immisine val numerico)scrivere ess..

6 e ritrovarsi nela word plc 64

anche se sono piu' pratici i 16 pulsanti su di una pagina

Inserita: (modificato)

Dico anche la mia.

Avendo 16 pulsanti che alzano un bit in un canale e volendo essere sicuri che gli altri vengano abbassati potresti usare 2 strade secondo me più semplici che fare tanti mov:

1 - usi un andw per ogni bit che attivi e mascheri gli altri tipo

bit H100.00 ON -> con un fronte di salita fai un ANDW con H100 #0001 H100

bit H100.01 ON -> con un fronte di salita fai un ANDW con H100 #0002 H100

...

bit H100.15 ON -> con un fronte di salita fai un ANDW con H100 #8000 H100

2 - usi una macro su ogni pulsante per scrivere la costante sul canale di desinazione

Se invece vuoi 64 nella word quando viene scritto 6 puoi usare una word del pannello in cui scrivi 6 poi con una macro lanciata alla fine dell'inserimento scrivi il valore 64 nella word. Nella macro puoi usare degli if od un case per intercettare il calvore scritto dall'operatore.

Modificato: da 0.0
Inserita: (modificato)

Forse Non Ho Capito Quello Che Volevi Fare.

Perchè Dici Che Da Pannello Non Si Può Fase Hai Ns8 OMRON Giusto?

Se Sapessi Come Mandarti Un Esempio Di Quello Che Intendo Io...

Comunque Nessun Mov Del PLC, Nessun Fronte, Niente, Per Quello Che Intendo Nel Plc Non Devi Scrivere Codice.

Ciao.

Modificato: da bonibellid
Inserita:

Trovato Come Allegare Un File...

Apri Il Progetto Poi Fai:

Strumenti -> Test -> Avvia Test Non In Linea E Prova Se E' Quello Che Intendi

Ciao

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...