CIAO,
dopo alcuni tentativi sono riuscito a ottenere i dati dal nostro archivio PI. Utilizziamo PI (Osisoft) per archiviare i nostri dati di processo.
Con la seguente query ho ottenuto i dati ma il timestamp non è presente:
SELECT t1.tag, t1.time, t1.value, t1.svalue,
t1.status, t1.flags
FROM picomp t1
WHERE ( ( ( t1.tag = 'AL2_Geschwindigkeit_Linienmotor_Formerstation' ) AND ( (t1.time >= ( '2017/03/05 1:47:16 PM' )) AND (t1.time <= ( '2017/03/05 2:44:40 PM' )) ) ) )
La colonna per il timestamp è semplicemente vuota (numerica, continua).
Poi ho avuto l'idea che la colonna per il timestamp non fosse numerica. Ho provato a convertire l'ora in data con la seguente query:
SELECT t1.tag, TO_Date(SUBSTR (time, 1, 15),'yyyymmdd') time, t1.value, t1.svalue,
t1.status, t1.flags
FROM picomp t1
WHERE ( ( ( t1.tag = 'AL2_Geschwindigkeit_Linienmotor_Formerstation' ) AND ( (t1.time >= ( '2017/03/05 1:47:16 PM' )) AND (t1.time <= ( '2017/03/05 2:44:40 PM' )) ) ) )
Ma lì ho ricevuto l'errore:
[PIODBC] [PIOLEDB] [SUBSTR] Risoluzione dell'overload non riuscita per gli argomenti (DateTime, Int16, Int16). [SQLSTATE=HY000]
Cosa ho sbagliato?
Qualcuno può aiutarmi?
So che questo è un vecchio post, ma dai un'occhiata a Aveva/OSISoft PI Tools Componente aggiuntivo, può aiutarti a scrivere queste query per te.
Ok... ora funziona con il seguente SQL
SELECT t1.tag, Cast (time as string) STRING_time, t1.value, t1.svalue,
t1.status, t1.flags
FROM picomp t1
WHERE ( ( ( t1.tag = 'AL2_Geschwindigkeit_Linienmotor_Formerstation' ) AND ( (t1.time >= ( '2017/03/05 1:47:16 PM' )) AND (t1.time <= ( '2017/03/05 2:44:40 PM' )) ) ) )
IL ";" il problema è ancora lì. Ma non è questo il mio problema. Posso cancellarlo facilmente.
Il mio problema è che non ho tempo. Sembra che JMP converta i dati temporali in numerici. Ma nell'Archivio PI sembra essere una stringa o qualcosa di relativo. Se utilizzo Microsoft Access ottengo l'ora. Access mi dice che il tipo di dati è "Testo". Forse chiederò direttamente a OSISOFT come posso ottenere l'ora tramite un SQL.
Sotto il collegamento seguente troverai un esempio di questo " ; " -Problema di Osisoft.
https://techsupport.osisoft.com/Troubleshooting/KB/KB01377
Utilizzo JMP Pro 13.1.
Comincio con il generatore di query. Ma devo passare a "SQL personalizzato". Perché la query del generatore di query non funziona. Ad esempio devo eliminare il " ; " alla fine della query. E ci sono alcune altre cose. È fastidioso ma gestibile.