Vai al contenuto

fbossio

Risposte nei forum create

Stai visualizzando 15 post - dal 1 a 15 (di 19 totali)
  • Autore
    Post
  • in risposta a: Perdita eventi trigger globali #79613
    fbossio
    Partecipante

    Capisco, in realtà facendo qualche prova ho notato che il trigger (su variabile pannello) effettivamente funziona, mi vengono però fermate le azioni da un successivo controllo variabile su PLC. La logica è la seguente:

    Trigger variabile a pannello (funzionante) -> attendi valore ON su PLC (ON da molto prima del trigger pannello mi serve per discriminare un device o un altro) -> mostra popup.

    il popup non mi viene mai lanciato ne con variabile PLC ON ne OFF (ritardo di attesa max 3000ms) mentre dovrebbe fermarlo solo se la variabile PLC booleana è false.

    Sto sbagliando qualche impostazione forse?

    in risposta a: Query SQL fallisce scrittura stringa #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.

    in risposta a: Query SQL fallisce scrittura stringa #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.

    in risposta a: Query SQL fallisce scrittura stringa #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.

    in risposta a: Query SQL fallisce scrittura stringa #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.

    in risposta a: Server/indirizzo utilizzato da EasyAccess #79035
    fbossio
    Partecipante

    Grazie mille, ho fatto aprire la connessione agli ip suggeriti e con la porta indicata (il cliente vede le richieste e sono garantite).

    Il comportamento del popup tuttavia non è cambiato Error 1, session ID zero password zero

    Il pannello è un cMT3162X(V2).

    Quale potrebbe essere la causa?

    in risposta a: Backup utenti creati da pannello #78809
    fbossio
    Partecipante

    Grazie mille, in italiano è tradotto in maniera un pò criptica

    in risposta a: Gestione bitwise AND su allarmi #78297
    fbossio
    Partecipante

    Abbiamo già tentato di lavorare su un array di BOOL su PLC ma da EasyDiagnoser si vedeva una scansione per indice (nessun errore segnalato) e i tempi di risposta erano addirittura peggiori.

    Al momento stiamo lavorando trasmettendo i dati da un array di word da PLC a local word e poi utilizzando le LW_bit (che invece funzionano con scansione singola) ma i tempi di risposta in questo modo sono di circa 5 secondi con solo 1000 allarmi delle 2000 che ci servirebbero.

    In un altra risposta ho allegato immagine di easydiagnoser

    in risposta a: Velocità visualizzazione allarmi #78019
    fbossio
    Partecipante

    Chiedo scusa, il PLC in questione è un M241 Schneider non saprei se utilizza OPCUA come protocollo.

    Le variabili sono già in array consecutivo, ma abbiamo notato che riducendone il numero si velocizza di molto l’attivazione.

    Aggiungo che visualizzando da EasyDiagnoser trovo appunto che ogni allarme ha un suo scanning a polling, come posso abilitare uno scanning singolo per tutti gli allarmi?

    in risposta a: Problema lettura variabili da macro #77578
    fbossio
    Partecipante

    grazie mille, è un dettaglio che mi frega spesso

    in risposta a: Conversione da decimale ad ascii #76954
    fbossio
    Partecipante

    Si è esattamente la stessa cosa che volevo fare io, ma se si inserisce uno spazio vuoto tra i due valori viene salvato sulla LW solo il primo campo, se non si inserisce lo spazio in mezzo.

    in risposta a: Conversione da decimale ad ascii #76928
    fbossio
    Partecipante

    Problema risolto, lascio la macro corretta qui per chiunque ne avesse bisogno, è stato necessario aggiungere uno StringCopy vuoto tra i due campi altrimenti il secondo campo viene scartato come descritto sopra.

    macro_command main()
    int xp, yp
    char x[5] = "", ext[11] = ""
    
    GetDataEx(xp,"Local HMI",LW,1221,1)
    GetDataEx(yp,"Local HMI",LW,1224,1)
    
    DEC2ASCII(xp, x[0], 5)
    StringCopy(x[0], ext[0])
    DEC2ASCII(yp, x[0], 5)
    StringCopy(" ", ext[5])
    StringCopy(x[0], ext[6])
    SetData(ext[0],"Local HMI",LW,1021,11)
    end macro_command
    in risposta a: Conversione da decimale ad ascii #76926
    fbossio
    Partecipante

    Modificando la macro ottengo un comportamento ancora più strano, il contenuto delle due celle di origine viene scritto sul campo di destinazione ma se carico il contenuto del campo di destinazione sul database tramite query MySQL solo il primo viene salvato, dalla diagnostica è possibile vedere il contenuto del campo LW-1021 uguale a “0000” mentre in visualizzazione è “0000 0000”. Si tratta di un errore del pannello?

    Questa la macro che utilizzo al momento:

    macro_command main()
    int xp, yp
    char x[4] = "", ext[9] = ""
    
    GetDataEx(xp,"Local HMI",LW,1221,1)
    GetDataEx(yp,"Local HMI",LW,1224,1)
    DEC2ASCII(xp, x[0], 4)
    StringCopy(x[0], ext[0])
    DEC2ASCII(yp, x[0], 4)
    StringCopy(x[0], ext[5])
    SetData(ext[0],"Local HMI",LW,1021,9)
    end macro_command
    in risposta a: Connessione dispositivo TCP/IP generico #76620
    fbossio
    Partecipante

    Sto provando a comunicare con il puntatore tramite Free protocol ma non riesco ad avere risposta dal dispositivo, ne su pannello ne dall’accensione del laser.

    Questo è il codice con cui sto lavorando

    macro_command main()
    short wResponse[2], receive_len
    char byCommand[9]
    bool stato
    
    GetData(stato, “Local HMI”, LB, 1, 1) 
    
    if stato then
        StringCopy(“LASER ON”, byCommand[0])
        SetData(byCommand[0], “Local HMI”, LW, 1000, 9)
        OUTPORT(byCommand[0], “Free Protocol”, 9)//  send 4 bytes
    end if
    
    if not stato then
        StringCopy(“LASER OFF”, byCommand[0])
        SetData(byCommand[0], “Local HMI”, LW, 1000, 9)
        OUTPORT(byCommand[0], “Free Protocol”, 9)//  send 4 bytes
    end if
    
    DELAY(1000)
    INPORT(wResponse[0], “Free Protocol”, 2, receive_len)//  read 144 words
    
    if receive_len >= 1 then
        SetData(wResponse[0], “Local HMI”, LW, 145, 2)//  set responses to LW0
    end if
    end macro_command
    in risposta a: Lettura valore negativo da macro con GetData #76603
    fbossio
    Partecipante

    Grazie mille veramente un errore da pivello il mio

Stai visualizzando 15 post - dal 1 a 15 (di 19 totali)