Kerby Inserito: 7 febbraio 2012 Segnala Inserito: 7 febbraio 2012 Buonasera a tutti, ho un problemino con la lettura dei relè dell'homeplc da codice Javascript.Ho provato a seguire l'. dell'ABS, il problema è che pur attivando l'uscita del relè dell'homeplc in lettura il codice mi aggiorna continuamente lo state false.Vi riporto il codice che ho testato:<script language=JavaScript> function Ticket_Timer(){ var MyVar = true; MyVar = XComm('WR,2,1,1','','bool') ObjBool=document.forms[0].elements['text1']; ObjBool.value = MyVar } </script>Ho inizializzato lo stato con un true, subito dopo diventa false e resta in quello stato pur accendendo la lampadina sotto il relè (l'indirizzo è giusto, provando in scrittura si accende).Grazie anticipatamente.
del_user_56966 Inserita: 7 febbraio 2012 Segnala Inserita: 7 febbraio 2012 Ho inizializzato lo stato con un true, subito dopo diventa false e resta in quello stato pur accendendo la lampadina sotto il relè (l'indirizzo è giusto, provando in scrittura si accende).La funzione della classe ritorna un booleano, ma tu quel valore lo passi a un "text"non è che stai passando all'ObjBool.value un formato dati sbagliato?
del_user_56966 Inserita: 7 febbraio 2012 Segnala Inserita: 7 febbraio 2012 inoltre mi sembra che puoi passare direttamente "text1" alla funzionee quella aggiorna l'oggetto senza altro codice... sempre che devi solo aggionare l'oggetto senza crearenecessariamente MyVar
Kerby Inserita: 7 febbraio 2012 Autore Segnala Inserita: 7 febbraio 2012 No, all'objBool.value viene passato un booleano tant'è che cambia da true a false. E' come se leggesse sempre e comunque il relè chiuso... Ho copiato pari passo un file d'esempio.
del_user_56966 Inserita: 7 febbraio 2012 Segnala Inserita: 7 febbraio 2012 Vedendo l'esempio l'unica differenza e che var MyVar = true;mentre in origine è var MyVar = false;poi nel tuo codice non si vede l'oggetto di destinazione che dovrebbe essere una label<Input id="text1" type="text" value="false">è cosi?io cambiando solo il relè da 30 -> 2 nell'esempio mi funziona...
del_user_56966 Inserita: 7 febbraio 2012 Segnala Inserita: 7 febbraio 2012 Prova a fare cosi...usa l'esempio e togli tutto quello che non ti serve... poi cambi solo il relè da 30 a 2 e vedi se continua a funzionarti..poi da li vedi che differenza c'è tra quella pagina e la precedente... tanto per curiosità!...
Kerby Inserita: 7 febbraio 2012 Autore Segnala Inserita: 7 febbraio 2012 Ok, novità... Allora ho dopo un homeplc uno slave in cui un'uscita è occupata da una lampadina.Dunque ho appena notato una cosa... provando con l'esempio jswr.htm riesco a scrivere e leggere inserendo semplicemente il relè 2.Il problema nasce con l'esempio InOut.htm inserendo un qualsiasi valore all'uscita mi scrive sull'homeplc e non sullo slave.Non capisco... entrambi si riferiscono al < HPL n.1 > < Server n.1 > ma uno punta sull'homeplc e l'altro sullo slave.
Kerby Inserita: 7 febbraio 2012 Autore Segnala Inserita: 7 febbraio 2012 Mi correggo con jswr.htm riesco a scrivere ma non a leggere o meglio, riesco a leggere lo stato true solo per un millisecondo ossia proprio quando mi vede attivare il relè da telecomando.
del_user_56966 Inserita: 7 febbraio 2012 Segnala Inserita: 7 febbraio 2012 Non capisco... entrambi si riferiscono al < HPL n.1 > < Server n.1 > ma uno punta sull'homeplc e l'altro sullo slave.uno alla volta... adesso sei passato al demo per gli I/O digitali considera che un uscita del PLC si può pilotare direttamente solo se questaè libera da logica altrimenti il programma del PLC la forza in un unica posizione...in quel caso devi usare un relè interno e gestire l'uscita in accordo con la logica già presente...poi separli di slave devi fornire sotto a quale master si trova (se non c'è il master considera sempre il numero 1)e il numero preciso dell'uscita....
del_user_56966 Inserita: 7 febbraio 2012 Segnala Inserita: 7 febbraio 2012 riesco a leggere lo stato true solo per un millisecondo ossia proprio quando mi vede attivare il relè da telecomando.questo sembra un comportamento classico di uscita impegnata da logica...ma stai facendo le prove senza logica o con logica che gira nel HomePLC.... prima di fare qualsiasi prova da web controlla sempre che lo stesso relè lavori correttamente tramite la finestra di TEST I/O di H&B..si perde molto meno tempo...
Kerby Inserita: 7 febbraio 2012 Autore Segnala Inserita: 7 febbraio 2012 Ecco mi sono perso... Dunque per logica intendi per sul plc sta girando un programma? Sì. Un semplice controllo da supervisione e da telecomando dell'uscita.Ma quindi volendo controllare i relè dello slave che si trova sotto il master 1 (simulato dall'homeplc) come devo fare?
del_user_56966 Inserita: 7 febbraio 2012 Segnala Inserita: 7 febbraio 2012 come ti dicevo prima...devi prima provare se le tue logiche funzionano sul HomePLC tramite il debug...secondo provi se ti funzionano da Home&Building simulando quello che vuoi fare da Web... c'è una finestra apposita per fare questo si chiama TEST I/O e la trovi sotto allo status del PLC..solo quanso sei sicuro che l'impianto è programmato correttamente e la supervisione agisce come vuoi tu...puoi passare al telecontrollo da WEB..Se vuoi far interagire più comandi con un unica uscita devi mettere più ingressi in parallelo...in modo da creare una normale deviazione elettrica tra più punti di comando...al posto di porta ingresso puoi mettere un relè interno es.. %MX400.0 e poi da Web lo telecontrolli...
del_user_56966 Inserita: 7 febbraio 2012 Segnala Inserita: 7 febbraio 2012 (modificato) chiaramente se il pulsante su Web deve essere monostabile dovrai anche fare il reset del relè una volta eseguito il comando ma questa è la fase successiva... Modificato: 7 febbraio 2012 da Aleandro2008
Kerby Inserita: 7 febbraio 2012 Autore Segnala Inserita: 7 febbraio 2012 Sì, ho fatto tutto questo... anche resettare l'MX400.0 (ad es.)Sembra funzionare tutto perfettamente, una domanda: che indirizzo dovrei usare nella pagina inout.htm (l'unica che sembra leggere i valori) sull'uscita %QX3.0?Perchè di default l'esempio lo fa sul %QX0.0.QX3.0 è il relè 1 dello slave.
del_user_56966 Inserita: 7 febbraio 2012 Segnala Inserita: 7 febbraio 2012 QX3.0 è il relè 1 dello slave.la %QX3.0 corrisponde all'ingresso 1 dello slave 5 su master 1se vedi in TEST I/O ti da il riferimento diretto metti nella casella %QX3.0 e leggi di lato Y30...quindi da supervisione e da Web con WY devi usare il numero 30...
Kerby Inserita: 8 febbraio 2012 Autore Segnala Inserita: 8 febbraio 2012 Perfetto!!!! Grazie mille!!! Unica cosa... ho dovuto cancellare il programma nel plc! Rimane solo da capire perchè invece ora non funziona la scrittura e la lettura del relè (quindi non da pagina IO digitali).
del_user_56966 Inserita: 8 febbraio 2012 Segnala Inserita: 8 febbraio 2012 Fai come me...parti sempre dal demo funzionante e poi fai un passo se dopo non ti va più basta che fai un passo indietro...
Kerby Inserita: 8 febbraio 2012 Autore Segnala Inserita: 8 febbraio 2012 Ehehehehe sì infatti già sto andando avanti a ctrl+z!!! Grazie ancora!!!
del_user_56966 Inserita: 8 febbraio 2012 Segnala Inserita: 8 febbraio 2012 sì infatti già sto andando avanti a ctrl+z!!!in effetti Javascript è un bel linguaggio ma va gestito al punto e virgola..
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora