Vai al contenuto
PLC Forum


Cj2m-35 + Ns8 16 Pulsanti Indipendenti


gianff

Messaggi consigliati

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
Link al commento
Condividi su altri siti


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.

Link al commento
Condividi su altri siti

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
Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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
Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

  • 1 month later...

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....

Link al commento
Condividi su altri siti

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....

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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
Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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
Link al commento
Condividi su altri siti

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
Link al commento
Condividi su altri siti

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...