Vai al contenuto
PLC Forum


Programmatore Settimanale


batta

Messaggi consigliati

Ho creato un piccolo progetto con un programmatore settimanale.

Il programma è scritto in SCL ed è stato sviluppato per un S7-1200, ma va bene anche per un S7-1500 e, con l'unica rottura di scatole di dover dichiarare le variabili in modo meno comodo, anche per S7-300/400.

Breve descrizione del programma:

Main:

Le prime due righe di programma servono per generare i fronti di salita dei merker di clock.

Non è una cosa indispensabile, ma solo una mia abitudine: anziché generare i fronti di salita uno per uno, genero i fronti di salita di tutti gli 8 merker di clock.

Se poi mi serviranno, sono già pronti. Se non mi serviranno, poco male.

Richiamo poi, una volta al secondo, la lettura di data e ora locale.

Se abilito il flag di simulazione, non leggo data e ora dal sistema, in modo da poterle impostare a piacere per le prove.

C'è poi il richiamo alla funzione "ProgSett".

ProgSett:

Non descrivo la funzione "ProgSett" perché ritengo sia sufficientemente commentata al suo interno.

Descrivo brevemente invece le caratteristiche della funzione.

Attualmente è predisposta per la gestione di 28 fasce orarie settimanali. Non c'è un numero limite per le fasce orarie di un singolo giorno.

E, se 28 fasce orarie settimanali dovessero essere poche, basta modificare, nell'interfaccia delle variabili di "ProgSett", il valore di default della costante "NrMaxTimeBand".

Si ricompila, si aggiorna il DB di istanza, ed è fatta: fasce orarie a piacere.

Per ogni fascia oraria si possono impostare un comando digitale (per esempio, accensione/spegnimento di una luce) e un valore (per esempio il set point di una temperatura).

Ogni singola fascia può anche essere disabilitata. Se è disabilitata, è come se non esistesse (può risultare comodo per preparare un programma con fasce orarie di riserva intermedie).

Le impostazioni di una fascia oraria sono valide fino alla fascia oraria successiva.

Viene effettuato un controllo (ed eventuale correzione) del corretto ordine delle fasce orarie.

Questa funzione, a mio avviso, può essere una buona base di partenza per la creazione di un cronotermostato settimanale.

Con poche e semplici modifiche si possono aggiungere ad ogni fascia oraria altri valori di set point.

Per esempio, oltre alla temperatura si potrebbero impostare umidità, velocità pompe e/o ventilatori, e gestire una Unità Trattamento Aria.

Ma questo è solo un esempio. A voi cercare altri possibili campi di impiego.

Il progetto è stato sviluppato con TIA Portal V13 SP1.

Per chi non avesse ancora aggiornato TIA Portal all'ultima versione, nel file compresso è presente anche una cartella "Sorgenti" che contiene i sorgenti dei blocchi di programma e un foglio Excel con i simboli.

Basta copiare i simboli, importare i sorgenti e compilarli.

Perché tutto funzioni è indispensabile impostare, nella configurazione hardware, l'indirizzo dei merker di clock = MB1.

Oppure modificare opportunamente le istruzioni nel Main o gli indirizzi nella tabella dei simboli.

Nel progetto è presente anche una pannello operatore KTP700 con una pagina con l'impostazione delle 28 fasce orarie, un pulsante per abilitare/disabilitare la simulazione (con simulazione abilitata è possibile impostare data e ora, senza che vengano sovrascritte dal PLC), e la visualizzazione del comando digitale e del valore attuale di set point.

Si tratta di una pagina piuttosto brutta ma, visto che serve solo come supporto per testare il programma PLC, renderla gradevole non era mio obiettivo.

Ed infine, ecco il link per il download:

http://upload.plcwww.com/files/24/Progetti per post/EsempioProgrammatoreSettimanale.zip

Io resto in attesa di commenti, critiche e suggerimenti.

Modificato: da batta
Link al commento
Condividi su altri siti


Ciao Batta

Molto interessante , e ben spiegato , forse proverò il porting su 300 poichè a mio malgrado dovrò fare un preriscaldo per delle caldaie ..

ti farò sapere quando faccio .

Grazie mille per il tuo costante impegno .. da parte mi a .. e penso anche di tutto il forum

Link al commento
Condividi su altri siti

Ciao Batta,

per ora mi sono limitato a scaricarlo, appena riesco ci butto un occhio: sono, però, sicuro che hai fatto un ottimo lavoro ...

Naturalmente un grazie per la condivisione :thumb_yello:

Link al commento
Condividi su altri siti

Giuseppe Signorella

Per ora mi sono limitato anche io a scaricare il file, ma sono certo che è un lavoro impeccabile come al solito.

Ho inserito il link di questa discussione nella sezione didattica (Raccolta di codici sorgenti ).

***********************************************************************************************************************

Ne approfitto per lanciare una piccola iniziativa.

Perchè non creare una o più pagine web per trasformarlo in un piccolo crono termostato controllabile via web?

Sarebbe una buona base di partenza per la creazione di un piccolo impianto domotico Home Made.

SI possono postare qui sul forum i propri ampliamenti e discuterli tutti insieme.

Quale miglior modo per chi ne ha voglia, di fare anche un pò di esperienza di programmazione. ;)

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

  • 2 months later...

Ciao Batta

dovrei realizzare un controllo di due pompe che devono lavorare in modo alternato nell'arco del mese,per esempio 1 settimana una e 4 l'altra o viceversa.

Vorrei prendere il tuo fb e modificarlo per le mie esigenza,secondo te è possibile,e se lo fosse puoi indicarmi cosa dovrei cambiare

Link al commento
Condividi su altri siti

  • 1 year later...

Salve Batta,

la seguo sul forum perché trovo molto utile ciò che scrive e sono qui a scriverle per chiederle un aiuto con plc Siemens;

Allora, io dovrei gestire un led RGB per fare gli effetti colorati (come cromoterapia per esempio) oppure poter fissare un colore fisso con il PLC LOGO o 1200 SIEMENS perché sto facendo un progetto di una casa domotica con plc Siemens; mi può aiutare sul software e sul collegamento elettrico?

ovviamente si deve utilizzare una scheda analogica per poter gestire la luminosità dei 3 led.

 

Confido in una sua risposta.

 

Grazie Mille,

a presto

Francesco

 

PS: se può essere una via più veloce le lascio la mia mail

 

N.d.M

 

  1. Gli accodamenti, specie per discussioni ferme da tempo, sono vietati dal regolamento perchè creano confusione nelle risposte.
  2. Le mail personali, i numeri di telefono personali, gli indirizzi personali, non si possono pubblicare per problemi di riservatezza. E' consentita la sola mail del tipo xy@plcforum.it
  3. Il forum è un luogo virtuale dove si scambiano idee, proprio per seguire questa filosofia le risposte private non sono gradite se non in casi molto particolari.
  4. Segui il consiglio di Batta ed apri una nuova discussione.

 

Link al commento
Condividi su altri siti

1) Sul forum il "lei" non esiste. Qui si usa solo il "tu".

2) Accodarsi ad una discussione è vietato dal regolamento. Quando poi la richiesta non ha nulla a che vedere con l'argomento trattato...
3) La richiesta è troppo vaga per poter dare risposte.

 

Per ora quindi, posso solo consigliarti di aprire una nuova discussione e di spiegare nel modo più dettagliato possibile quello che vorresti fare, quello che già sei capace di fare e quello che invece non riesci a fare.

 

Link al commento
Condividi su altri siti

  • Livio Orsini locked this discussione
Ospite
Questa discussione è chiusa alle risposte.
×
×
  • Crea nuovo/a...