Vai al contenuto

Query SQL fallisce scrittura stringa

Home Forum Terminali operatore (Weintek) Query SQL fallisce scrittura stringa

  • Questo topic ha 6 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 4 mesi fa da fbossio.
Stai visualizzando 7 post - dal 1 a 7 (di 7 totali)
  • Autore
    Post
  • #79227
    fbossio
    Partecipante

    Sto cercando di scrivere una stringa estratta da query su una variabile PLC, in simulazione questo non funziona mai ma sulla macchina reale la scrittura mi fallisce solo al primo lancio della query, creando un fastidioso errore che obbliga l’operatore a dover lanciare due volte il primo comando della giornata (i successivi funzionano correttamente) quale potrebbe essere la causa?

    Le variabili sono dichiarate in modo coerente tra PLC, DB e pannello (un cMT3162X(V2))

    #79230
    Sergio Bertana
    Amministratore del forum

    Non riesco ad immaginare la tua situazione..

    Intanto è strano che non ti funzioni in simulazione, non dici se in simulazione non ti funziona la query o la scrittura sul PLC. Il simulatore ha lo stesso comportamento del pannello reale quindi verificherei se da simulatore hai diritti di accesso al server SQL e s e hai configurato correttamente la connessione con il PLC.

    In merito al comportamento sul pannello visualizzerei in debug o sul pannello il query result, le TAGs di uscita della query e la variabile selection della riga query per verificare se il problema è nella query o nella scrittura sul PLC.

    #79231
    fbossio
    Partecipante

    La query funziona correttamente e visualizzo nella finestra di visualizzazione query il risultato che mi aspetto, quello che succede però è che i primi due campi (int uno su PLC e uno su HMI) vengono scritti, alla prima stringa il dato non viene scritto e rimane il tag di PLC vuoto.

    Alla seconda esecuzione invece tutto funziona correttamente con stessa la stessa identica query.

    #79233
    Sergio Bertana
    Amministratore del forum

    Bisognerebbe avere il progetto HMI e come è fatta la tabella (struttura/definizione) del DB cosi da verificare che non ci siano errori di formato.

    Sembra strano che se il result sia visualizzato correttamente poi non sia scritta sull’uscita, classicamente può essere appunto un non corretto allineamento dei formati.

    #79240
    fbossio
    Partecipante

    Nel DB le stringhe in questione sono dichiarate come VARCHAR(45) e vengono scritti massimo 8 caratteri al suo interno, nel PLC le stringhe sono definite come STRING[20] e nel pannello come string(10) ho testato anche mettendo tutti valori a 20 tra i tre ma il problema rimane.

    Quello che mi dà più grattacapi è perché alla prima esecuzione non vengono scritti i valori ma alle successive si.

    #79241
    fbossio
    Partecipante

    Aggiungo un dettaglio, in simulazione offline il simulatore non mi permette di scrivere stringhe su variabili PLC anche scrivendole io manualmente.

    Scrivendo i dati su LW gli output si vedono correttamente e da subito, il problema si presenta quindi solo alla prima esecuzione della query in questione e solo su pannello e PLC fisico.

    #79267
    fbossio
    Partecipante

    Ho individuato il problema nel dettaglio.

    La scrittura fallisce nel momento in cui le stringhe non sono mai state visualizzate a pannello, ma se visualizzo prima le stringhe e poi eseguo a query allora tutto funziona correttamente.

    Per risolvere il problema ho inserito le stringhe che mi servivano in pagina principale fuori dai bordi di visualizzazione e la query funziona come se le avessi visualizzate.

Stai visualizzando 7 post - dal 1 a 7 (di 7 totali)
  • Devi essere connesso per rispondere a questo topic.