Vai al contenuto
PLC Forum


Java Script E Jquery Per Aggiornamento Delle Pagine Web Del Plc.


ultimo 07

Messaggi consigliati

Buongiorno ho creato delle pagine web che interfacciano i parametri delle varie memorie del plc , vorrei evitare il refresch automatico in html delle pagine web , è fastidioso , usando java script o jqueri , qualcuno del forum ha provato a risolvere questo problema ?

Ciao.

Link al commento
Condividi su altri siti


Gianmario Pedrani

Ciao Ti allego un estratto del manuale Siemens per plc 1200 che ti consiglio di leggere...

Aggiornamento delle pagine Web personalizzate
Le pagine Web personalizzate non si aggiornano automaticamente. Si può quindi scegliere
se programmare l'HTLM in modo da aggiornare la pagina oppure no. Per le pagine che
visualizzano i dati del PLC, un aggiramento periodico consente di avere dei dati sempre
attuali. Per le pagine HTLM che fungono da formato per la voce di dati, l'aggiornamento può
interferire con i dati inseriti dall'utente. Se si desidera aggiornare automaticamente l'intera
pagina, si può aggiungere questa linea nell'intestazione dell'HTLM dove "10" è il numero di
secondi tra due aggiornamenti:
<meta http-equiv="Refresh" content="10">
Per comandare l'aggiornamento della pagina o dei dati si può anche usare JavaScript o altre
tecniche HTLM. In tal caso, consultare la documentazione su HTML e JavaScript.

Link al commento
Condividi su altri siti

Ciao.

Grazie per la risposta, conosco quel meta tag HTML per il refresh ma é proprio quel tipo di codice che voglio evitare, l aggiornamento delle pagine é un po fastidioso con quel codice, invece usando Java script la visualizzazione risulterebbe fluida ,senza scatti, per questo cercavo info su applicazioni js e jq.

Ciao.

Link al commento
Condividi su altri siti

Ciao guarda questo sito è molto utile: https://www.dmcinfo.com/latest-thinking/blog/id/8567/siemens-s7-1200-web-server-tutorial--from-getting-started-to-html5-user-defined-pages

Personalmente ho testato il codice per l'aggiornamento delle variabili e funziona alla perfezione...

Unica mia mancanza..volevo sostituire degli 0 o 1 con delle immagini tipo lamp....ma non ci sono riuscito....

Link al commento
Condividi su altri siti

Non sono un esperto ma ho pasticciato con javascript e jquery

Non so se è quello che ti serve ti allego il codice della pagina web

del programma di monitoraggio del mio impianto fotovoltaico

Ogni secondo aggiorna in tempo reale i dati di funzionamneto tensione corrente ecc...della pagina

ovviamente non ricarica la pagina ma ogni secondo fa la GET dei dati e aggiorna i valori

Di seguito il codice della funzione di aggiornamento (il programma di monitor è 123solar)

 function updateit() {
  var invtnum = 1;
  $.getJSON('programs/programlive.php', { invtnum: invtnum }, function(rdata){
  json = eval(rdata);
  document.getElementById('stamp').innerHTML = json.timestamp;
 
  var point = gauge1.series[0].points[0];
  point.update(json.I1P);
  gauge1.setTitle({ text: Highcharts.numberFormat(json.I1V,'1') +'VDC  '+ Highcharts.numberFormat(json.I1A,'1') + 'A'});
 
  var point = gauge2.series[0].points[0];
  point.update(json.I2P);
  gauge2.setTitle({ text: Highcharts.numberFormat(json.I2V,'1') +'VDC  '+ Highcharts.numberFormat(json.I2A,'1') + 'A'});
        
    if (json.G1P>=1000) {
      document.getElementById('G1P').innerHTML = Highcharts.numberFormat(json.G1P,'0');
    } else {
      document.getElementById('G1P').innerHTML = Highcharts.numberFormat(json.G1P,'1');
    }
  var point = gauge3.series[0].points[0];
  point.update(json.G1V);
  gauge3.setTitle({ text: Highcharts.numberFormat(json.G1V,'1') + 'V'});
  $('#hz3').html(json.FRQ + 'Hz');
  var point = gauge4.series[0].points[0];
  point.update(json.G1A);
  gauge4.setTitle({ text: Highcharts.numberFormat(json.G1A,'1') +'A'});
 
  document.getElementById('EFF').innerHTML = Highcharts.numberFormat(json.EFF,'1');
  document.getElementById('BOOT').innerHTML = Highcharts.numberFormat(json.BOOT,'1');
  document.getElementById('INVT').innerHTML = Highcharts.numberFormat(json.INVT,'1');
  document.getElementById('RISO').innerHTML = Highcharts.numberFormat(json.riso,'2');
  document.getElementById('ILEAK').innerHTML = Highcharts.numberFormat(json.ileak,'1');
  document.getElementById('AWT').innerHTML = json.awdate;

  })
  }
updateit();
setInterval(updateit, 1000);

Link al commento
Condividi su altri siti

Ok grazie, in questi giorni non posso provare, lo proverò quanto prima, è diventato fondamentale affrontare questi tipi di codice , vuol dire che dovremo studiare un pò . :wallbash::thumb_yello:

Link al commento
Condividi su altri siti

è diventato fondamentale affrontare questi tipi di codice

Hai centrato perfettamente il problema ;);)

L'automazione sta cambiando pelle e la gestione dei dati annessi è diventata fondamentale. Oggi è quasi inammissibile produrre un pezzo se non si hanno a corredo miriadi di tabelle di lavorabilità/parametri/risultati ecc..

E coi tempi che corrono, avere "l'esperto PC" come costo su una commessa, per piccole aziende può risultare economicamente penalizzante.

Dobbiamo rimboccarci le maniche.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...