Vai al contenuto
PLC Forum


Gestire Una Sequenza Manuale Tramite Contraves


perseo74

Messaggi consigliati

Buongiorno a tutti io sto frequentando un corso di formazione post diploma, tra le materie c'è PLC su uno step7 200 microwin (materia mai svolta), spero di dare spiegazioni esaurienti affinchè possiate aiutarmi. Devo gestire una sequenza manuale (c+,c-,d+,d-,e+,e-,f+,f-), tramite contraves associando i numeri del contraves ai rispettivi comandi e cioè:

c+ = 0

c- = 1

d+ = 2

d- = 3

e+ = 4

e- = 5

f+ = 6

f- = 7

solo che per un "errore di cablaggio non rimediabile perchè cosi prefissato" per gestire le 8 fasi ho solo a disposizione 4 ingressi : I2.4, I2.5, I2.6 ,I2.7.

oltre questo il nostro software non permette lo spostamento di byte (cosa che comunque non sono capace a fare) ma solo spostamento di word.

gli ingressi che ho a disposizione sono:

I1.0, I1.1, I1.3, I1.4, I1.5, I2.4, I2.5, I2.6 , I2.7. Gli altri 13 ingressi NON sono disponibili. Potete spiegarmi come faccio a risolvere il problema, spiegandomi come si muove

una word a destra o sinistra, o quali altre soluzioni posso adottare per far eseguire il ciclo manuale? Il ciclo manuale dovrebbe avvenire nel seguente modo tenendo il selettore su manuale(I2.2) e schiacciando il pulsante di start (I1.2) comandare le bobine:

numero contraves uscita

0 q0.1

1 q0.0

2 q0.3

3 q0.2

4 q0.5

5 q0.4

6 q0.7

7 q0.6

Vi ringrazio mille per l'aiuto ( e per la pazienza) :smile:

Modificato: da Giuseppe Signorella
Post doppio
Link al commento
Condividi su altri siti


solo che per un "errore di cablaggio non rimediabile perchè cosi prefissato" per gestire le 8 fasi ho solo a disposizione 4 ingressi : I2.4, I2.5, I2.6 ,I2.7.

Non c'è errore di cablaggio, per gestire un commutatore di tipo "contraves" 4 ingressi sono necessari e sufficienti. Anzi con 4 ingressi usando la tecnica del multiplexing si possono leggere molte cifre.

Con 4 bits si hanno 15 combinazioni, combinazioni che nel caso del contraves decimale son ridotte a 10: da 0 a 9.

Un modo per risolvere il tuo problema potrebbe essere:

  1. Leggi il byte I2
  2. mascheri i primi 4 bits facendo and con la costante 0F0h
  3. fai 4 shift a dx, cos' sposti i 4 bits dalla posizione alta a quella bassa
  4. esegui 8 comparazioni con 8 costanti (da 0 a 7) e se il risultato è vero setti l'uscita corrispondente.

Ci sono almeno altri 10 modi più o meno eleganti per eseguire l'operazione.

Leggi il manuale dello S7-200 e la guida in linea di micowin e scoprirai tantissime cose interessanti; la programmazione del 200 è m olto facile, basta leggere i manuali. (come per tutte le cose). ;)

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

Ti ringrazio per l'aiuto davvero molto, ma se devo essere sincero non ci ho capito una acca.mi puoi mandare all' e-mail un sistema e darmi l'indirizzo internet del manuale per piacere, scusa se rompo ma voi siete professionistti io a mala pena so cosa è un contatto :whistling::smile: e-mail : ..............[at]libero.it

****Nota del moderatore:*****

Come da regolamento non è consentito inserire indirizzi email nei post ad esclusione di quelli *****[at]plcforum.xy

Buon proseguimento

Modificato: da Giuseppe Signorella
Link al commento
Condividi su altri siti

io a mala pena so cosa è un contatto

Le conoscenze di base devi acquisirle, non è possibile costruire sul nulla. Dal forum puoi ricevere un aiuto ed una guida, ma certe cose le devi sapere o le devi imparare. Se nel corso c'è come materia d'insegnamento la programmazione di PLC, sarà previsto anche un insegnamento di base.

I manuali del 200 li trovi sul sito siemens; in home page del forum c'è il link.

Link al commento
Condividi su altri siti

  • 3 weeks later...

Ciao perseo!!, per non lasciare a meta' questa discussione e puo' servire ad altri il modo piu' semplice era gestirlo con i pesi del contraves, I 2.4 peso 2 alla zero I2.5 peso 2 alla 1 i2.6 peso 2 alla 2 ed infine i2.7 peso 2 alla terza,

quindi:

---| i2.2 sel man|---|start|---| / i2.7 |---- | / i2.6|----| / i2.5 |---| / I2.4 |------(m10.0) c+ tutti negati

seg2

---| i2.2 sel man|---|start|---| / i2.7 |----| / i2.6|----| / i2.5 |---| I2.4 |------(m10.1) c- i2.4 non negato 2 alla zero = 1 numero contraves

---| i2.2 sel man|---|start|---| / i2.7 |----| / i2.6|----| i2.5 |---| / I2.4 |------(m10.2) d+ i2.5 non negato 2 alla 1 = 2 numero contraves

---| i2.2 sel man|---|start|---| / i2.7 |----| / i2.6|----| i2.5 |---| I2.4 |------(m10.3) c- i2.4 i 2.5 non negato 2 alla zero + 2 alla 1 =3 numero contraves

e cosi' via quindi oltre al modo che ti ha detto il moderatore si puo' fare nel modo sopra.

Le memorie li vai a mettere nella sobrutine uscite in questo modo

------| m10.0 |----(q0.0) se hai un ciclo automatico li metti in or.

ciaoooooo

P.S: sono anch'io all'inizio della programmazione plc, quindi inesperto ma con tanta voglia di imparare

Modificato: da aleanse
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...