Vai al contenuto
PLC Forum


Cpu 313c Analogica E Ingresso Veloce


tommy93

Messaggi consigliati

ciao ragazzi, sono alle prese con il mio nuovo acquisto.

Una cpu 313C-2DP con scheda analogica SM332, ovviamente tutto usato ma funzionante (regalo del babbo)

Ho provato a mandare l'uscita analogica sul tester e sono riuscito leggendo qua e la senza grosse difficoltà.

Ho usato il blocco standard fc106 della libreria simatic.

      CALL  "UNSCALE"
       IN     :=MD50
       HI_LIM :=1.000000e+002
       LO_LIM :=0.000000e+000
       BIPOLAR:=M90.0
       RET_VAL:=MW90
       OUT    :=MW26
      L     MW    26
      T     PAW  256
Se ci sono migliorie, sono pronto a farne tesoro. Quello dove trovo difficoltà è a far leggere gli impulsi dell'encoder, vi ricordate quello famoso dell'altro post :thumb_yello: Siccome sono in difficoltà a spiegare con termini pertinenti vi metto delle foto che magari vi aiutano a capire meglio dove e cosa sbaglio. Queste sono le foto della configurazione: http://img408.imageshack.us/img408/5594/64025773.png http://img834.imageshack.us/img834/9229/96050496.png Questo è il codice:
      U     E    124.0                  // impulsi Encoder
      FP    M    100.0
      SPBN  _001
      L     MW    160                  
      +     1
      T     MW    160

Questo è quello che succede alla cpu quando faccio girare l'encoder:

http://img97.imageshack.us/img97/9860/26239697.jpg

e questo è quel che succede dopo che ho fermato l'encoder, stranamente il led rosso di SF si spegne

http://img651.imageshack.us/img651/2846/75453073.jpg

Nelle variabili i conteggi non mi sembrano reali in quanto, se giro piano li conta mentre se aumento ne conta pochissimi.

Scusatemi se non sono stato chiaro, eventualmente ne riparliamo.

Grazie in anticipo a tutti :)

Link al commento
Condividi su altri siti


Sei sicuro che l'ingresso E124.0 sia un ingresso a conteggio veloce?

Se così non fosse quando giri veloce superi la banda passante dell'ingresso che stai usando non riuscendo più a discriminare l'1 e lo 0.

Mazzoma1

Link al commento
Condividi su altri siti

Per utilizzare l'ingresso veloce non devi programmare l'incremento sul fronte di salita come faresti con un normale ingresso, ma configurare ed utilizzare la funzione di conteggio veloce della cpu.

Meglio consultare i manuali:

Download manuale Installazione

Download manuale Funzioni Tecnologiche

Metti nei preferiti QUESTO LINK

E' un ottimo punto di partenza per tutte le ricerche sui prodotti Siemens.

Link al commento
Condividi su altri siti

Grazie Mazzoma1.

Penso che si.

Ora facendo le prove riesco a leggere tutti gli impulsi, quindi è considerato ingresso veloce.

Grazie Flavio.

Ho dato una lettura ai manuali siemens.

Con la funzione SFB47 riesco a leggere gli impulsi nella variabile MD60.

Ho provato a collegare un'avvitatore a batteria sull'albero dell'encoder, a farlo girare a velocità differenti e ho sempre registrato 5000 impulsi a giro (impulso più impulso meno).

Ora però vorrei riuscire a capire come posso azzerare la variabile di conteggio.

Immagino che ci sia da impostare qualche parametro in SFB47, ma non trovo quale.

Inoltre si accende sempre il led SF ogni volta che muovo l'encoder, poi dopo qualche secondo si spegne.

C'è una spiegazione a questo, o vale il sospetto di Mazzoma1?

Infine vi chiedo: siccome ho collegato il canale A dell'encoder all'ingresso digitale E124.0, per cui ingresso veloce, i rimanenti ingressi del byte 124 e 125 si possono utilizzare come ingressi normali?

Questo è il codice che ho scritto:

  CALL  "COUNT" , DB47
       LADDR   :=EW124
       CHANNEL :=0
       SW_GATE :=TRUE
       CTRL_DO :=
       SET_DO  :=
       JOB_REQ :=
       JOB_ID  :=
       JOB_VAL :=
       STS_GATE:=
       STS_STRT:=
       STS_LTCH:=
       STS_DO  :=
       STS_C_DN:=
       STS_C_UP:=
       COUNTVAL:=MD60
       LATCHVAL:=
       JOB_DONE:=
       JOB_ERR :=
       JOB_STAT:=

Grazie1000 a tutti :)

Modificato: da tommy93
Link al commento
Condividi su altri siti

Ti si accedeva il led sf perchè avevi impostato l'ingresso E124.0 come interrupt di processo. Praticamente ad ogni fronte di salita viene eseguito un ob (di cui non ricordo il numero) che non sarà caricato nella cpu.

Comunque leggendo nel buffer di diagnostica dovresti capire qualcosa in più

Link al commento
Condividi su altri siti

Inoltre si accende sempre il led SF ogni volta che muovo l'encoder, poi dopo qualche secondo si spegne

Hai un'errore hardware o software. <_<

Scaricati il manuale della cpu e dai un'occhiata alle probabili cause.

Manuale

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