Vai al contenuto
PLC Forum


Realizzazione Subroutine Di Conteggio...


Messaggi consigliati

Inserito:

Salve a tutti,

sono nuovo del forum e del mondo dei PLC in generale, e vi chiedo subito un aiuto.

Vi faccio un preambolo su cosa sto lavorando: è un impianto di movimentazione di portoni di un hangar realizzato mediante PLC S7 200 e da un touch panel Siemens OP177B.

Devo far visualizzare il movimento dell'anta sul touch panel e ho alcuni problemi a realizzarlo.

L'idea è quella di far partire un generatore di impulsi quando il portone inizia a muoversi, e contarli con un contatore di conteggio UP/DOWN, quando poi viene impegnato un finecorsa la variabile dal contatore vorrei che venisse impostata ad un valore prefissato (così da evitare che la visualizzazione possa diventare erronea a lungo andare).

Il problema è che non avendo mai programmato PLC sono un pò in difficoltà...

Nessuno sa dirmi se il mio ragionamento è giusto e soprattutto se si può realizzare con un S7 200?

Se poteste anche aiutarmi con un esempio del programma che mi serve vi sarei molto grato :D .


Inserita: (modificato)

Mi sono letto un pò meglio l'. in linea...

Per il conteggio uso lo special merker SM0.5 (1 impulso al secondo) all'ingresso di un contatore e fin qui non ci sono problemi.

Il problema è: posso leggere e scrivere nel valore attuale di un contatore oppure no?

Altrimenti non so come realizzare quanto mi serve...

Modificato: da olva
Inserita:

per cominciare puoi provare così:

metti il contatto di "portone ON" in serie a SM0.5 (clock di 1 sec )

ed il tutto lo colleghi all'ingresso "CU" del contatore Cxxx

tramite il fine corsa resettti il valore conteggio (ingresso R) e riparti da capo

volendo puoi utilizzare un contatore avanti/indietro ...

il valore del contatore è una word con riferimento diretto (Cxx)

ciao

Inserita:

Ok, la subroutine l'ho impostata così come mi hai detto però non posso usare il reset perchè il portone ha tre posizioni (i tre finecorsa sono posizionati a distanze diverse). Dovrei quindi sovrascrivere il valore nella word dello stato attuale del contatore ogni volta che raggiungo un finecorsa, mi confermi che si può fare?

Inserita:

I fine corsa sono gli stati del portone APERTO-INTERMEDIO-CHIUSO?

Perche non utilizzi vari temporizzatori i quali ogniuno di settano un merker e attivano il successivo e cosi' via?

Non so' se puo' aiutarti..

Ciao

Inserita:

vediamo se ho capito, in pratica utilizzi i secondi per avere la posizione del portone

considerando che, più o meno, impiega sempre lo stesso tempo a percorrere il tragitto

sincronizzando il tempo/spazio al raggiungimento di uno o più fine corsa,

il problema potrebbe nascere se il portone non viene aperto completamente

ma con una successione di apri/chiudi e considerando le inevitabili inerzie

la posizione del portone potrebbe essere molto diversa dall'equivalente in tempo

da quì la necessità di sincorinizzare le due misure in uno o più punti, giusto?

per sovrascrivere il contatore non ci sono problemi,

considerando che il contatore è in formato word

al raggiungimento del fine corsa fai così:

---|fine corsa|-----|MOV_WORD|

nel blocco di MOV_WORD dovrai inserire il riferimento al contatore (es. C1)

ed il valore che vorrai assegnarli (es 15)

ciao

Inserita:

Water, hai centrato il problema.

Si in effetti è una semplificazione visto che non ho sensori di posizione e mi devo un po' arrangiare.

Il problema è che non posso provare se si può scrivere nella word del contatore, tu sei sicuro che si può fare? Non vorrei dover tribolare una volta che sono sul posto per mettere in servizio il portone.

Grazie

Inserita:

Olva ... SI PUO' FARE!!!

trovo comunque strano che ti presenti sul posto senza aver prima testato il programma,

ci vuole veramente poco, basata un'altra CPU e qualche interurrore

ci sono sempre delle sviste, piccoli problemini o potrebbe addirittura non funzionare!

comunque buon lavoro

ah dimenticavo ... SI PUO' SCRIVERE SUL CONTATORE :lol:

ciao

Inserita:

Ciao olva,

visto che sono all'inizio ho sfruttato l'occasione per provare.

Ho collegato 2 ingressi su un contatore UP/DOWN.

Poi altri tre ingressi ( portone aperto/intermedio/chiuso ) mi attivano 3 MOV_W che trasferiscano 3 valori impostati su 3 WORD sopra il contatore.

Si sovrascrive il valore attuale e lui continua a contare dal nuovo valore.

Spero di essere stato di aiuto.

Ciao, Rolando

Inserita:

Perfetto grazie mille a tutti per il vostro prezioso aiuto.

x Water

Si è ovvio che il programma l'ho testato, non sono mica un pazzo :D. Questa è solo una piccola finezza che volevo agiungere. Se si poteva fare bene altrimenti niente.

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