<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2015-10-27 11:00 GMT+01:00 Andrea D'Amore <span dir="ltr"><<a href="mailto:and.damore@gmail.com" target="_blank">and.damore@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">2015-10-27 0:38 GMT+01:00 Marco Soldavini <<a href="mailto:magyar1886@gmail.com">magyar1886@gmail.com</a>>:<br>
</span><span class="">> I dati in ingresso provengono dai file CSV (in maniera diciamo discreta ogni<br>
> tot tempo<br>
<br>
</span>Sincrona o asincrona?<br>
<span class=""><br></span></blockquote><div><br></div><div>Il funzionamento spiegato meglio, magari apro un thread a parte, è il seguente:</div><div><br></div><div>nell'architettura ci sono due entità</div><div>A è la macchina che genera i file CSV, e i tag OPC (generalmente un sistema windows embedded)</div><div>B è la macchina dove gira il mio applicativo in background</div><div><br></div><div>A è collegata ad una macchina comandata da operatore che lavora a lotti discreti di produzione.</div><div>per esempio l'operatore preme START BATCH e questo è un trigger OPC per iniziare la registrazione in OPC dei tag</div><div>generati da A.</div><div><br></div><div>Quando l'operatore preme STOP BATCH la mia applicazione smette di leggere e memorizzare i dati OPC.</div><div>Successivamente la macchina A ha generato due file csv che provvede a spostare su B (oppure in base al trigger STOP BATCH la mia applicazione sposta i file da A  con un metodo da decidere)</div><div><br></div><div>Successivamente l'app deve</div><div><br></div><div>prendere i dati registrati e inserirli in un database di qualche tipo</div><div>prendere i 2 file CSV, fare parsing e inserirli nellio stesso db di cui sopra.</div><div>generare un file PDF contenente come già detto i dati registrati dai file CSV e da OPC</div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
<br>
> Oltre al file CSV l applicazione deve fare polling sul server OPC per<br>
> leggere dati e memorizzarli (per successivo invio su SQL) oppure per fare<br>
> trigger di ulteriori azioni<br>
<br>
</span>Questo passaggio è alternativo al file CSV, cioè non leggi da OPC per<br>
poi scrivere il file CSV e tornare al punto precedente?<br>
<span class=""><br></span></blockquote><div><br></div><div>fai riferimento a quanto spiegato sopra</div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
> Inoltre l applicazione deve essere in grado di generare un file PDF dal<br>
> server MYSQL contenente sia dati in forma tabellare che plot con la<br>
> generazione attivata in base ad un trigger esterno.<br>
<br>
> Sapete dirmi in quali punti vedete forte python e quali classi / librerie mi<br>
> consigliate considerando che devo fare:<br>
><br>
> parsing CSV<br>
> interfacciarmi in lettura e scrittura con SQL<br>
> generare PDF<br>
<br></span><br>
<br>
Per il trigger esterno pensi a qualcosa tipo  un server TCP/IP che<br>
ascolta o IPC con i segnali?<br>
<span class="HOEnZb"><font color="#888888"><br>
<br></font></span></blockquote><div> </div><div>Il trigger è un tag OPC che viene costantemente monitorato dall'applicazione in python</div><div><br></div><div>Le limitazioni nell'implementazione sono in genere date dall'ambiente in cui vanno inserite (da valutare)</div><div><br></div><div>Le macchine sono</div><div>A) Windows embedded</div><div>B) Windows Server</div><div><br></div><div>Il database da usare potrebbe essere Microsoft perchè i dati devono anche essere trattati da altre applicazioni</div><div><br></div><div>ciao!</div><div>marco</div><div><br></div></div><br></div></div>