Vai al contenuto
PLC Forum


Interruttore Orario


adamo

Messaggi consigliati

Rieccomi, negli ultimi mesi ho programmato per la prima volta s7-300 ed ho persino programmato un MP377 con Wincc ed ho realizzato anche un ottimo sistema di gestione degli impianti e stranamente funziona anche, ma mi sono arenato per quanto riguarda la gestione dell'ora e della data semplicemente per accendere un compressore ad un determinato orario ed accenderlo in un altro.

Premetto che l'intero programma e' racchiuso all'interno del OB1 ( non so se possa essere una limitazione ) , ma propio non riesco a capire come abilitare o meno una uscita ad un determinato orario, mi dareste una mano?.

Grazie

Link al commento
Condividi su altri siti


Prima di tutto penso che tu debba leggere la data/ora dal PLC.

Questo lo puoi fare tramite la SFC1 "READ_CLK" che in uscita ti restituisce in formato DATE_AND_TIME la data e ora impotata nel plc.

( Esistente anche la SFC0 "SET_CLK", se dovessi avere bisogno di cambiare la data/ora, ti permette di scriverla nel plc )

Una volta fatto questo dovrai estrapolare l'ora da questa variabile. Prova a vedere a consultare l'. di Step7 per vedere come è composto il formato tiare fuori quello che ti serve. Una volta che hai a disposizione anno, mese, giorno, ora, minuti, e secondi, facendo delle semplici operazioni di confronto puoi fare tutto quello che vuoi a seconda delle tue esigenze.

Eventualmente anche nel sito siemens ci dovrebbero essere diversi esempi riguardanti la data e l'ora se non sbaglio.

Link al commento
Condividi su altri siti

Intanto grazie, vorrei chiedervi una cortesia, potreste spiegare in maniera elementare?, ad esempio come richiamo la sfc1?, scusatemi ma finche' si parla di contatti e bobine ci arrivo ma oltre........

Link al commento
Condividi su altri siti

Bene. Se, da come sembra, stai lavorando in KOP, crea un nuovo segmenti e inserisci un nuovo box (Alt+F9) e dentro scrivici SFC1, oppure dalla vista generale (dove ci sono tutti i tipi di contatti e di operazioni per capirci) selezioni Biblioteche -> Standard Library -> System Function -> SFC0 e la trascini nel tuo segmento.

Qui dovrai inserire le variabili che il blocco richiede in uscita. Premendo F1 sopra alla funzione puoi consultare l'. per capire meglio come funziona e cosa richiede.

Oltre a spiegarti cosa fa, la guida, tramite un link nella parte bassa fornisce anche un esempio dove ti spiega quali funzioni potresti utilizzare per estrapolarti l'ora, potresti prendere spunto da lì per cominciare.

( Le funzioni citate dalla guida le puoi trovare sempre all'interno delle librerie standard siemens )

Modificato: da suppaman
Link al commento
Condividi su altri siti

Grazie Suppaman, propio questo volevo chiedere, sono possato dal 200 al 300 , per il 200 avevo il manuale dove trovavo tutte le informazioni che mi servivano, sul 300 ho gia' stampato vari mattono da 700 pag. cad. ma nessuno fino ad ora aveva soddisfatto quello che tu mi hai illuastrato in 5 minuti.

Potresti indicarmi il Link del manuale che fa a caso mio ?, nel caso va comperato mi indicheresti il codice?.

So che rompo, ma in questo periodo sono una spugna che sta assorbendo tutto quello che e' l'industria, dalla pneumatica all'idraulica all' elettricita' ecc ecc, se non mi aiutate voi mi butto sotto una pressa .

Grazie

Link al commento
Condividi su altri siti

Nel sito siemens, sotto la sezione S7-300 trovi tutti i manuali che vuoi, dai vari linguaggi di programmazione, alle specifiche hardware ecc ecc ecc.. basta cercare. Non serve comprare, di documentazione nel sito siemens ce n'è una valanga scaricabile in maniera totalmente gratuita

Per molte cose come ti dicevo è molto utile la guida in linea di Step7, quando non sai qualcosa fai F1 sopra e lui tirerà fuori l'. relativo.

In generale se clicchi sul punto interrogativo -> Guida in linea, puoi sfogliare i vari argomenti o cercare quello che ti interessa.

In più puoi utiizzare anche la funzione cerca di plcforum, argomenti come questo sono già stati trattati diverse volte.

Link al commento
Condividi su altri siti

Si infatti sono gia' stato sul sito della Siemens ma cercavo l'equivalente del " Simatic Sistema di automazione - Manuale di sistema " del 200 per il 300 ma nisba.

Link al commento
Condividi su altri siti

  • 2 weeks later...

Raga salve, volevo rendere partecipe che un mio amico e' passato un giorno in azienda scrivendo queste quattro righe ha risolto il problema:

L LB12

T MB200 //ANNO

L LB13

T MB201 //MESE

L LB14

T MB202 //GIORNO

L LB15

T MB203 //ORA

L LB16

T MB204 //MINUTI

L LB17

T MB205 //SECONDI

Ma vorrei spingermi oltre ed avere la possibilta' di gestire anche il giorno della settimana, credete che si possa fare con lo stesso principio?.

Sempre grato per cio' che direte.

Grazie

Link al commento
Condividi su altri siti

Si, e se non vado errato ti basta inserire:

L LB19

T MB206 //GIORNO SETTIMANA

negli ultimi 4 bit di MB206 avrai il numero di giorno della settimana (1= domenica; 2= lunedì [...] 7= sabato)

Modificato: da EGS
Link al commento
Condividi su altri siti

Per molte cose come ti dicevo è molto utile la guida in linea di Step7, quando non sai qualcosa fai F1 sopra e lui tirerà fuori l'. relativo.

Bastava fare F1 sopra al tipo DATE_AND_TIME, e vedevi come è composta tale variabile. Una volta che sai come è formata ti estrapoli tutto quello che vuoi. Hai capito almeno il significato delle istruzioni pecedenti ?

Secondo me non ha tanto senso andare avanti con pezzi di codice di altri senza nemmeno capire cosa si sta facendo..

Comunque, il codice del tuo amico non mi sembra vada bene, i byte del DATE_AND_TIME se non erro sono espressi in BCD, quindi dovresti fare

L LB12

BTI // Conversione da BCD a intero

T MB200

....

Questo ammesso che i byte locali si riferiscono alla variabile data/ora..

Modificato: da suppaman
Link al commento
Condividi su altri siti

Raga ho provato con :

L LB19

T MB206 //GIORNO SETTIMANA

Ma invece del giorno della settimana mi estrapola dei sottomultlipi dei secondi inquanto vedo scorrere dei numeri molto velocemente da 0 fino a 60, puo' essere?.

Grazie

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