Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 26
  1. #11
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,675
    Bene, è già qualcosa, anche se analizzando il codice, il problema che descrivi mi pare strano.

    Effettivamente i due tipi di stringa, sia quella scritta per intero sia quella concatenata, restituiscono dei valori equivalenti. Ripeto, a mio parere non dovrebbe influire il fatto che tu stia concatenando o meno la stringa; quello che conta è il valore in uscita che stai inviando al server e non vedo delle differenze tra i due casi.

    Mettendo da parte l'ultimo input che inserisci con la tua funzione crea(), perché qui ci manca comunque l'elemento form per cui senza questo non può essere inviato il dato, gli altri input creati dinamicamente (per i quali hai creato dei form) dovrebbero però funzionare.

    A parte questo io andrei comunque a correggere degli errori di validazione.
    Gli id degli elementi HTML non devono contenere spazi:
    codice:
     id="SET STEP 0"
    questo che hai messo sull'input (che funziona) non è valido. Anche se funziona potrebbe comunque generare risultati inattesi. Sinceramente non so se poi tu l'abbia impostato in quel modo magari seguendo qualche specifica per interfacciarsi col PLC, ma è di sicuro un codice non valido.

    Lo stesso id lo hai poi usato per creare il primo elemento via JavaScript, ma gli id devono necessariamente essere univoci.

    Può essere che queste cose non siano rilevanti per il problema in questione, ma è comunque sempre opportuno lavorare con un codice valido. Prova magari a correggere questi errori; si sa mai che si aggiusti qualcosa.

    Sinceramente non saprei cos'altro consigliarti se non di provare ad impostare una pagina con un codice più semplice possibile, inserendo i soli due form con relativi input in cui uno ha un valore con stringa unica e l'altro con una stringa concatenata creata via script.

    Iniziare magari da una roba di questo tipo:
    codice:
    <!DOCTYPE HTML>
    <html>
       <head>
          <title>Esempio</title>
          <meta charset="utf-8">
          <style>
             form {
                margin: 10px;
                padding: 10px;
                border: 1px solid tan;
             }
             
          </style>
       </head>
       <body>
       
          <form method="post">
             <input value=':="SET STEP 0"::="variabili".SET STEP 0:' name='"variabili".SET STEP 0'>
             <input type="submit">
          </form>
          
          <form method="post">
             <input id="valore_dinamico" value='' name='"variabili".SET STEP 0'>
             <input type="submit">
          </form>
          
          <script>
             var inp = document.getElementById('valore_dinamico');
             inp.value = ':="SET STEP ' + "0" + '"::="variabili".SET STEP ' + "0" + ':';
          </script>
          
       </body>
    </html>
    Verifica se entrambi i casi funzionano. Se dovessero funzionare allora si procede con altri test aumentando magari la complessità dello script. Se non dovessero funzionare bisogna verificare cosa non sta funzionando e valutare come procedere.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  2. #12
    Grazie ancora della tua disponibilita . Allora ho fatto la prova che mi hai indicato ed ancora niente il primo form funziona il secondo no.

  3. #13
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,675
    Ok. Continua a suonarmi strano. Premetto che personalmente non ho esperienza di interfacciamenti con i PLC ma, se gli basta che siano passati dei dati attraverso un form, non riesco a capire il problema; i due form all'atto dell'invio fanno esattamente la stessa cosa; se il PLC riceve quei dati, o da un form o dall'altro, dovrebbe dare lo stesso identico risultato.

    Mi chiedo però: hai dovuto per caso modificare/aggiungere qualcosa su quel codice? Se fosse così, fammi sapere cosa di preciso hai fatto, postando esattamente il codice da te usato.

    Altrimenti prova per esclusione: metti solo un form sulla pagina, si sa mai che non gli piaccia il fatto che ci siano più form (anche se mi pare strano comunque).

    Metti giusto quello gestito via JavaScript:
    codice:
    <!DOCTYPE HTML>
    <html>
       <head>
          <title>Esempio</title>
          <meta charset="utf-8">
          <style>
             form {
                margin: 10px;
                padding: 10px;
                border: 1px solid tan;
             }
             
          </style>
       </head>
       <body>
          
          <form method="post">
             <input id="valore_dinamico" value='' name='"variabili".SET STEP 0'>
             <input type="submit">
          </form>
          
          <script>
             var inp = document.getElementById('valore_dinamico');
             inp.value = ':="SET STEP ' + "0" + '"::="variabili".SET STEP ' + "0" + ':';
          </script>
          
       </body>
    </html>
    Fai anche la controprova inserendo due form HTML identici e verifica se entrambi funzionano:
    codice:
    <!DOCTYPE HTML>
    <html>
       <head>
          <title>Esempio</title>
          <meta charset="utf-8">
          <style>
             form {
                margin: 10px;
                padding: 10px;
                border: 1px solid tan;
             }
             
          </style>
       </head>
       <body>
       
          <form method="get">
             <input value=':="SET STEP 0"::="variabili".SET STEP 0:' name='"variabili".SET STEP 0'>
             <input type="submit">
          </form>
          
          <form method="get">
             <input value=':="SET STEP 0"::="variabili".SET STEP 0:' name='"variabili".SET STEP 0'>
             <input type="submit">
          </form>
          
       </body>
    </html>
    Fammi sapere.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  4. #14
    Ho inserito il tuo codice direttamente nel web server del PLC. Non ho modificato niente

  5. #15
    Ho notato una cosa che non avevo notato fin ora . con il tuo codice quindi senza creare niente dinamicamente il secondo form quello che non legge il valore lo riesce a scrivere . Speriamo che questo ti dia un indizio

  6. #16
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,675
    codice:
    con il tuo codice quindi senza creare niente dinamicamente il secondo form quello che non legge il valore lo riesce a scrivere
    Quale codice esattamente?
    Abbi pazienza ma ti chiedo di essere più preciso, altrimenti si rischia sempre di creare ambiguità e fare più confusione che altro.

    Nell'ultimo post ho inserito due esempi da provare entrambi. Quali risultati ottieni per l'uno e quali per l'altro?

    Cosa intendi esattamente per "il secondo form quello che non legge il valore lo riesce a scrivere"?
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  7. #17
    Scusa era il penultimo codice quello singolo la doppia prova ancora non la faccio

  8. #18
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,675
    Ok, posso dedurre giusto qualcosa. Ripeto, non ho esperienza di sistemi PLC e questo mi limita molto nel darti suggerimenti mirati ma posso intuire che il problema sta forse nel refresh automatico usato sul tuo codice e nel sistema che stai usando per creare dinamicamente quegli elementi input via JavaScript, il quale impedisce la corretta gestione dei dati da parte dal web server PLC.

    Posso giusto azzardare qualche ipotesi anche in base a ciò che ho trovato in giro per il web. Magari qualcuno che ha più esperienza con tali sistemi potrebbe consigliarti meglio.

    Nel tuo primo codice stai creando gli elementi input via script, oltre all'uso di un refresh automatico della pagina attraverso <meta http-equiv="refresh" content="25">. Questo sistema potrebbe "rompere" il riferimento con tali elementi, con i loro valori e/o con le variabili che stai usando per costruirne il value in modo concatenato.

    Ho letto inoltre, da qualche parte sul web, che per dire al PLC che specifiche variabili devono essere editabili c'è bisogno di inserire gli opportuni commenti, così come appunto hai fatto nel tuo primo codice dove ho visto che hai creato dinamicamente tutti i commenti relativi alle variabili utilizzate. Presumo che questo debba essere necessariamente fatto per interfacciarsi correttamente col PLC in modo da poterne manipolare i dati.

    Sul penultimo mio codice non ci sono gli opportuni commenti, non viene eseguito alcun refresh automatico e l'input è presente già sul markup HTML; ciò che viene fatto via script è solo il fatto di attribuirgli un valore (che sia concatenato o meno, poco gli importa in questo caso). Forse questo conferma il fatto di ciò che hai notato:
    quello che non legge il valore lo riesce a scrivere
    ...
    Detto ciò, ho visto sul web che il refresh viene piuttosto eseguito tramite AJAX. Forse la soluzione potrebbe stare lì.

    Verifica eventualmente se nelle specifiche o nella guida del tuo PLC trovi qualcosa riguardo questo.

    In alternativa io ho trovato qualcosa qui (riferito ad un sistema PLC non necessariamente come il tuo ma posso pensare che la questione sia analoga):
    https://www.dmcinfo.com/latest-think...-defined-pages

    Se scorri la pagina, più o meno ad un terzo, c'è l'argomento "Reading Data Using Javascript". In quel caso viene adoperato AJAX (e jQuery). Prova eventualmente ad improntare la cosa in quel modo e vedi se qualcosa si risolve. Di più non saprei consigliarti.

    Fai sapere. Buon proseguimento.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  9. #19
    Si ho visitato il tuo link ma spiega solo il modo in cui leggere le variabili tramite jquery ma non vedo il concatenamento di variabili nelle stringhe . Comunque grazie ancora

  10. #20
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,675
    Quote Originariamente inviata da marco moffa
    ma non vedo il concatenamento di variabili nelle stringhe
    Ok, prova però a creare tu il concatenamento, così come hai già fatto, ma utilizzando il sistema con le chiamate AJAX per aggiornare i dati sulla pagina piuttosto che col meta refresh. Ho l'impressione che il problema sia lì.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.