Vai al contenuto
PLC Forum


Aiuto Per Cambio Ora Legale/solare


Frank681

Messaggi consigliati

Salve

 

Inizio una nuova discussione poiche' quella esistente era vecchia di 2 anni senz arisposta , ho necessita' di gestire il passaggi oda ora legale a solare nel PLC s7 315 2pn/dp senz aavere un pannellino di supporto per cui ho visto sul support FC61 BT_LT , ho creato come da istruzioni un DB con riferimento UDT60 , il mio problema e' capire come va' paramatrizzato , il mio tedesco non  e; gran che , io sono in itali UTC+1 , nell'esempio di pare sia parametrizzato su UTC .

 

Qualcuno mi puo dare una mano

 

Grazie 

Link al commento
Condividi su altri siti


Ciao

Quote

Campo di applicazione

Questa FC calcola l'ora locale ricavandola dall'ora di base indicata sull'ingresso. 

Principio di funzionamento

L'ora di base indicata all'ingresso BT viene convertita in ora locale mediante i dati memorizzati in un DB ed emessa sull'uscita LT. 
Il DB contiene lo scostamento dell'ora locale rispetto all'ora di base e lo scostamento dell'ora legale rispetto all'ora solare, entrambi espressi in unità di 30 minuti (DB di regolazione).
Se il risultato del calcolo comporta il salto di una data, tale situazione viene segnalata mediante l'emissione di un apposito valore di ritorno.

OB richiamanti

L'FC BT_LT può essere richiamata a qualsiasi livello di esecuzione.

Ambiente di richiamo

L'FC BT_LT TIME utilizza internamente le seguenti funzioni della libreria S7 Standard Library – IEC Function Blocks, che devono essere caricate nel progetto utente con i numeri indicati:
FC 1 (AD_DT_TM), FC 3 (D_TOD_DT), FC 7 (DT_DAY), FC 12 (GE_DT), FC 23 (LT_DT), 
FC 35 (SB_DT_TM)

Elenco dei parametri

Parametro    Dichiarazione    Tipo di dati    Descrizione
BT    INPUT    DATE_AND_TIME    Ora di base
WS_DAT    INPUT    BLOCK_DB    Informazioni sul fuso orario e sul passaggio dall'ora solare all'ora legale e viceversa (DB di regolazione)
RET_VAL    OUTPUT    INT    Codice di errore
LT    OUTPUT    DATE_AND_TIME    Ora locale
Valori emessi / Errori

RET_VAL    LT    Descrizione
0    Ora locale    Il blocco è stato eseguito senza errori.
1    Ora locale    Non si è verificato nessun errore, ma è stata saltata una data. 
8082    DT#90-01-01-0:0:0    Il DB di regolazione contiene dati non validi.
Tempo di esecuzione del blocco

Il tempo di esecuzione caratteristico (riferito ad una CPU 417-4 DP con versione FW 3.0) ammonta a 810 µs.

 

e di seguito UDT60

Quote

Il sistema mette a disposizione un DB contenente informazioni che vengono analizzate da più blocchi.
L'utente crea tale DB come DB del tipo UDT 60 e vi memorizza i valori validi per la propria regione (riferiti all'ora locale). 

   // Conversione ora di base<->ora locale e "Imposta allarme secondo ora locale"
   B2L :     
    S : INT  := 2;    // Offset ora di base->ora locale [30 min] in inverno,                           ammesso -24 .. +24.
    T : INT  := 2;    // Differenza ora solare – ora legale [30 min], ammesso: 2

   // Regola per: ora solare -> ora legale. Default: ultima domenica di marzo; ore 2:00
   W2S :        // in ORA SOLARE!
    M : BYTE  := B#16#3;  // Mese del cambio d'orario
    W : BYTE  := B#16#9;  // n-esima cadenza del giorno della settimana (1=primo,                             2=secondo,..,9=ultimo)
    D : BYTE  := B#16#1;  // Giorno della settimana (domenica = 1)
    H : BYTE  := B#16#2;  // Ora

   // Regola per: ora legale -> ora solare. Default: ultima domenica di ottobre, ore 3:00

   S2W :        // in ORA LEGALE:      
    M : BYTE  := B#16#10; // Mese del cambio d'orario
    W : BYTE  := B#16#9;  // n-esima cadenza del giorno della settimana (1=primo,                             2=secondo,..,9=ultimo)
    D : BYTE  := B#16#1;  // Giorno della settimana (domenica = 1)
    H : BYTE  := B#16#3;  // Ora

Tutti i parametri con il formato BYTE vengono interpretati come valori BCD.
L'orario W2S è riferito all'ora solare, l'orario S2W all'ora legale.

A partire dall'anno 2002, le regole per il passaggio dall'ora solare a quella legale e viceversa sono prescritte dall'Unione Europea.

 

Buon divertimento

Link al commento
Condividi su altri siti

Se il plc è vecchio e, quindi, con un progetto già in uso..... L'uso dell'fc61 esige il caricamento degli fc che ti ha scritto travelmen, ossia FC 1 (AD_DT_TM), FC 3 (D_TOD_DT), FC 7 (DT_DAY), FC 12 (GE_DT), FC 23 (LT_DT), FC 35 (SB_DT_TM).

Essendo protetto in knowhow, non puoi modificare i richiami dall'fc 61, sicchè non puoi editare il numero degli fc.

Occhio quindi a come ti muovi!

Ciao!

Link al commento
Condividi su altri siti

Ciao, Io ho fatto mio questo esempio scaricato da mamma Siemens:

https://support.industry.siemens.com/cs/document/26961516/come-si-può-realizzare-una-commutazione-ora-solare-ora-legale-con-wincc-flexible-(aggiornamento-alla-versione-v1-1)?dti=0&lc=it-WW

 

Nell'esempio utilizza anche un pannello, ma funziona anche senza.

 

Ciao.

Link al commento
Condividi su altri siti

Ciao Ragazzi

 

Risolto infatti funziona anche senza pannello

 

impostando S =0 e T=2 ho loscostamento che mi serve da invernale a estivo impostata ora su PLC a UTC+1 nel mio caso unica cosa per ora appoggio ora locale su un alta variabile ove faccio tutto , come posso memorizzare ora locale calcolata in un DB ?

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