Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Sincronia File - Pero' sullo stesso PC


Messaggi consigliati

Inserito:

Da piu' anni ho un problema isormontabile.Poi ho letto un po' di cose su "sincronia file" e mi e' nata..spontanea la seguente richiesta di aiuto,premetto sono solo un semplice fruitore di SW.

Vedo di spiegarmi con poche parole; sullo stesso PC girano CONTEMPORANEAMENTE due programmi,il primo,PIPPO,genera con una cadenza da settare,un file di tipo TXT,il secondo ,PLUTO ha l'ESIGENZA di leggere quel file appropriandosi man mano dell'ultima stringa scritta.

Non ci riesco.Il tutto avviene ,solo per un solo aggiornamento cioe' l'ultima stringa,solo se STOPPO PIPPO.

Al Vs. cuore.

Ciao.


Inserita:

azzardo una risposta <_<

premettendo che sarebbe interessante sapere in che linguaggio sono scritti i programmi, la soluzione che mi viene in mente, poichè i due processi sono ASINCRONI ovvero non legati fra di loro (ognuno gira per conto suo e nessuno sa niente dell'altro), è che il secondo programma deve sempre aprire, leggere e chiudere il file, memorizzandosi la posizione (numero di riga) dell'ultima riga letta, in modo tale che, alla prossima riapertura sa che deve ripartire solo da un certo punto in avanti.

Inoltre è necessario che tutti e due i processi aprano il file in maniera esclusiva e che quindi non possano ENTRAMBI accedere contemporaneamente al file stesso.

Inserita:

azzardo una risposta

Grazie,Kirchoff

premettendo che sarebbe interessante sapere in che linguaggio sono scritti i programmi,

non lo so,cioe' non sono capace di darti una risposta...so pero' che il file in questione (cioe' quello "condiviso") e' in ASCII

la soluzione che mi viene in mente, poichè i due processi sono ASINCRONI ovvero non legati fra di loro (ognuno gira per conto suo e nessuno sa niente dell'altro), è che il secondo programma deve sempre aprire, leggere e chiudere il file, memorizzandosi la posizione (numero di riga) dell'ultima riga letta, in modo tale che, alla prossima riapertura sa che deve ripartire solo da un certo punto in avanti.

Si' in effetti ne e' in grado in quanto legge sia dati oerwrite che append.

Inoltre è necessario che tutti e due i processi aprano il file in maniera esclusiva e che quindi non possano ENTRAMBI accedere contemporaneamente al file stesso.

Certo ,anche perche' SOLO uno SCRIVE (PIPPO) e SOLO uno legge ,PLUTO (senza ASSOLUTAMENTE scrivere !!!).

A risentirci,ciao.

Inserita:

azzardo anch'io una risposta:

Creo un file bat che esegua due operazioni:

1) Crea una copia aggiornata del file testo di pippo nella cartella di pluto

2) Apre il programma pluto che va a leggere non il file di pippo ma il file copiato nella cartella pluto che è aggiornato

Ciao

Manuel

Inserita: (modificato)

[at]TIGULLIO

mi permetto di darti un suggerimento che consente a chi legge di comprendere meglio quando riporti frasi di msg precedenti ovvero l'operazione 'quotare' (quotare è un italianizzazione dall'inglese):

Premi, in alto rispetto alla finestra nella quale scrivi il messaggio, il tasto QUOTE (viene aperta la quotatura);

incolla o scrivi la frase che vuoi quotare;

ripremi il pulsante QUOTE (viene chiusa la quotatura)

Nota: E' possibile quotare messaggi già quotati

TIGULLIO dice:

Certo ,anche perche' SOLO uno SCRIVE (PIPPO) e SOLO uno legge ,PLUTO (senza ASSOLUTAMENTE scrivere !!!).
Modificato: da kirchoff
Ospite bingobongo
Inserita:

scusa che linguaggio hai intenzione di usare per realizzare PLUTO ?

i dati scritti nel file sono separati da CR e LF , cioè si presentano su linee consecutive ?

i dati hanno sempre la stessa lunghezza ?

con che cadenza vengono scritti i dati nel file ( 1 linea al secondo , 1 linea al minuto...) ?

Inserita:
mi permetto di darti un suggerimento.....
Inserita: (modificato)

..stazione meteo Davis? io prenderei in considerazione di riscrivere Pluto, magari usando VB6.

Che ci fà Pluto con questi dati? li memorizza in una tabella, li rende consultabili, e visualizza dei trend?

Pippo è il programma di interfaccia con quella che io presumo sia una stazione di rilevamento?

Modificato: da Hellis
Inserita:

TIGULLIO dice:

Non ci riesco.Il tutto avviene ,solo per un solo aggiornamento cioe' l'ultima stringa,solo se STOPPO PIPPO
Inserita:

Ciao HELLIS

magari fosse una Davis...per queste stazioni non nascono problemi in quanto vengono gia' fornite di tutto....

Purtroppo la mia e' una stazione professionale,sicuramente ben piu' precisa,ma che poi ,a conti fatti da' un sacco di rogne.

Allora,anche per chiarire agli amici,il tutto e' cosi' fatto

- gli 8 sensori della stazione,alcuni non impiegati,generano CIASCUNO un segnale nel campo 4/20 mA,questo segnale viene convertito nel campo 1/5 Volt ed applicato all'ingresso analogico di una scheda di acquisizione dati (8 inp ana + 8 inp dig + 8out ana +8 out dig) una bomba!!

- il primo programma,professionale,PIPPO,elabora come voglio io questi segnali e produce un file .txt come gia' detto

- nasce a questo punto l'esigenza di mettere in bella vista i dati,elaborarli,tabellarli,salvarli,mandarli in rete,etcccc.

- l'UNICO programma in grado di far cio' e' WEATHER DISPLAY (PLUTO)che,praticamente si interfaccia con tutti i tipi di stazioni commerciali (Davis comprese) e,guarda che combinazione,fa proprio al caso mio PREVEDENDO un file in ingresso in formato TXT...proprio quello generato da PIPPO.

E qui nascono i problemi,spero di aver chiarito.

Grazie e ciao.

Inserita:

Prova qualcosa del genere:

crea un file di testo a nome sincro.bat

echo off

copy c:\PIPPOpercorsofilesorgente\nomefile.txt c:\PLUTOpercorsofiledestinazione\nomefile.txt

c:\directoryPLUTO\PLUTO

ogni volta che esegui questo file il file sorgente viene sovrascritto sul file destinazione e tu hai il file aggiornato,

successivamente viene fatto partire pluto

Ciao, Fabrizio

p.s. questa è una traccia per risolvere il problema ma funziona tranquillamente

Inserita:

Ciao,FABRI

allora,anzitutto grazie.

Ho fatto quanto da te scritto.Purtroppo,pero',il file di destinazione mi si aggiorna una volta sola,la PRIMA dopo aver lanciato il file.bat.

Per far si' che si ottenga un nuovo aggiornamento devo chiudere/riaprire il file .bat.

Spero di essermi spiegato.

A risentirci.

Ospite bingobongo
Inserita:

una soluzione potrebbe essere quella di usare VB che faccia una cosa tipo :

1 - legge la data-ora del file txt

2 - se posteriore dell'ultima lettura copia il file dove serve col nome che serve

3 - aspetta un pò ( 1sec. 10 min. come +ti piace )

4 - ritorna al punto 1 continuando all'infinito finchè non ti serve+

come l'ho scritto fa quasi PAURA :blink: , ma è solo per rendere l'idea :D

Inserita:

Ciao,BINGO

a te fara' paura a me....ti lascio immaginare !!!

Il fatto e' che non so' programmare,neanche con visual basic....!!

Il concetto in ogni caso lo ho capito,si puo' fare qualcosa ??

Sempre grazie.

Inserita:

Cari Amici...

ci siamo quasi,Vi prego di sviluppare "qualche cosa" che non so' ,ma che forse Voi sapete.

Sempre grazie.

Ospite bingobongo
Inserita:

entro in sala travaglio e quando sono pronto ti butto li una cosina, mandami la tua e-mail così quando sono pronto ti mando il quanto.

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