Vai al contenuto
PLC Forum


Giorno Giuliano


gregorio

Messaggi consigliati

Buon giorno, vorrei un aiuto per ricavare il giorno giuliano con il plc CP1L.

Il valore del giorno si trova in A352.08 - A352.15 , il mese in A352.00 - A352-07, come faccio a mettere il valore del giorno giuliano in una DM

grazie

Link al commento
Condividi su altri siti


Se vai su Wikipedia, trovi l'algoritmo su come effettuare il calcolo.

Basta implementarlo con le istruzioni del CP1L ed è fatta...

Scrivertelo è un po' lunghetto...

Link al commento
Condividi su altri siti

Ho cercato su Wikipedia, ho trovato una funzione per ricavare la data giuliana comprensiva di anno, ore e minuti.

A me basta il giorno giuliano dell'anno in corso, quindi estrarre il mese e il giorno da A352 e mettorlo in una DM

Link al commento
Condividi su altri siti

Ho provato con l'istruzione MOVD trasferire il digit 2 e digit 3 di A352 , in una DM per avere il giorno del mese, ma non riesco a capire come effettuare lo spostamento

Link al commento
Condividi su altri siti

Provvisoriamente l'ho risolta cosi:

MOVD A352 #12 D950

MOVD A353 #210 D950

BIN D950 D952

cosi ho ottenuto nei primi 2 digit il mese e nei secondi digit il giorno

almeno ho il progressivo mese e giorni, ricavare il mese giuliano reale vedo che è più complicato

almeno per le mie conoscenze, il problema è che i mesi non sono formato da 30 giorni

se riesci a darmi una soluzione più elegante ti ringrazio

Link al commento
Condividi su altri siti

In allegato trovi la routine, testata e funzionante, del calcolo della data giuliana. Non viene effettuato il calcolo delle ore e minuti, per cui fa riferimento alle 00:00.00 del giorno dell'orologio del PLC.

Se attivi il rung Test, viene impostato il 26/091946, che darà come risultato la data giuliana 2432089,5.

DataGiuliana.pdf

Modificato: da Ctec
Link al commento
Condividi su altri siti

Ho eseguito quello che mi hai mandato, il giorno che valore nel D920 è +2432116

inoltre il segmento AGGIUSTAMENTO MESE vedo che è scritto 2 volte = D902 &1

non sapevo che le istruzioni potevano iniziare con le istruzione senza il contatto iniziale.

grazie dell'aiuto

Link al commento
Condividi su altri siti

Orpo... E' un errore. Il primo confronto deve essere con &1, ma il secondo con &2... Accidenti al copia e incolla..

Serve ad aggiustare il tutto se il mese in corso è Gennaio o Febbraio.

I confronti possono essere usati tranquillamente come prima istruzione di un rung.

Link al commento
Condividi su altri siti

Funziona, funziona. Hai sempre attivo il rung Test (che avevo messo per provare la routine, ma non deve essere eseguito).

Se cancelli il rung oppure inverti il contatto del CF113, funziona.

Oggi è il giorno 2458960,5 giuliano

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