smoothhands Inserito: 16 gennaio 2013 Segnala Inserito: 16 gennaio 2013 Buonasera a tutti... stavo riguardando alcuni posts sul forum e anche rileggendo alcune pagine della documentazione, sia di LadderHome che dell'HomePLC.Linux, e volevo chiedervi alcuni dettagli. Con le istruzioni per i vari linguaggi con suffisso Mw posso accedere anche ai registri per gli ingressi e le uscite digitali. Allora perchè sono state implementate anche le istruzioni con suffisso Iw/Qw? Forse è legato all'implementazione e le istruzioni con suffisso Iw/Qw sono più rapide di quelle con suffisso Mw? I tempi di refresh dei valori dei registri accedibili da "...Iw/...Qw" sono gli stessi di quelli accedibili da "...Mw"? Mi pare di ricordare che il tempo di ciclo dell'HomePLC è di 100ms circa... i registri dell'HomePLC non dovrebbero essere aggiornati tutti alla stessa frequenza? Grazie.
del_user_56966 Inserita: 16 gennaio 2013 Segnala Inserita: 16 gennaio 2013 Con le istruzioni per i vari linguaggi con suffisso Mw posso accedere anche ai registri per gli ingressi e le uscite digitali. Allora perchè sono state implementate anche le istruzioni con suffisso Iw/Qw? oltre al fatto che notazioni IW e QW fanno parte dello standard IEC 1131-3 dal Ladder fai una prova scrivi un registro di uscita tipo il %MW201! vedrai che non succede nulla.. con le MW non li puoi scrivere.. le MW le puoi usare dall'esterno ma non dal programma Ladder... I tempi di refresh dei valori dei registri accedibili da "...Iw/...Qw" sono gli stessi di quelli accedibili da "...Mw"? nel ladder direi proprio di si! Mi pare di ricordare che il tempo di ciclo dell'HomePLC è di 100ms circa... i registri dell'HomePLC non dovrebbero essere aggiornati tutti alla stessa frequenza? non necessariamente HomePLC ha una gestione Smart della memoria, questo significa che ogni singola parte della memoria può essere soggetta a particolari logiche di controllo... prendi per esempio la zona %MW900 dove i registri sono di tipo Delayed
smoothhands Inserita: 16 gennaio 2013 Autore Segnala Inserita: 16 gennaio 2013 Ciao Aleandro, ti premetto che sto testando le istruzioni da Test web e non da Ladder. scrivi un registro di uscita tipo il %MW201! vedrai che non succede nulla.. con le MW non li puoi scrivere.. in effetti ho provato solo a leggere un registro... ad esempio %MW4... e ha letto il valore giusto. Ho un ragnetto 4 ingressi nella posizione slave 1.5 ma ho fatto solo metà delle prove le MW le puoi usare dall'esterno ma non dal programma Ladder... Intendi che da Ladder non sarei riuscito nemmeno a leggere la MW4? Questo perchè altrimenti sarebbe fuori standard? prendi per esempio la zona %MW900 dove i registri sono di tipo Delayed Una curiosità ulteriore, per i registri da MW1000 a MW2700 chiamati DTHP per cosa sta l'acronimo? Spesso ho letto sul forum che chiamano DTHP anche un registro qualsiasi degli altri... ma allora dove sta la differenza? Grazie
del_user_56966 Inserita: 16 gennaio 2013 Segnala Inserita: 16 gennaio 2013 (modificato) Test web e non da Ladder. per Test Web intendi da un HomePLC Linux? Intendi che da Ladder non sarei riuscito nemmeno a leggere la MW4? Questo perchè altrimenti sarebbe fuori standard? Leggere non saprei di sicuro dall'esterno non puoi sovrascrivere le aree in consegna al PLC però se scrivi da Linux il comportamento dovrebbe essere simile al Ladder... Una curiosità ulteriore, per i registri da MW1000 a MW2700 chiamati DTHP per cosa sta l'acronimo? Data HomePLC Spesso ho letto sul forum che chiamano DTHP anche un registro qualsiasi degli altri... ma allora dove sta la differenza? Tutti i registri (7999) dell'HomePLC sono DTHP ma essendo divisi in aree ognuna di queste ha un alias d'uso specifico! Modificato: 16 gennaio 2013 da Aleandro2008
smoothhands Inserita: 16 gennaio 2013 Autore Segnala Inserita: 16 gennaio 2013 (modificato) per Test Web intendi da un HomePLC Linux? Si, scusa, ho fatto un test di lettura accedendo al server web in avvio sul Linux. Le lettura a quanto pare le fa. Dovresti cambiare il tuo alias e mettere Aleandro2008 (REALTIME) ... in pratica si è sempre certi di una risposta entro un tempo massimo. Grande Aleandro!!! Modificato: 16 gennaio 2013 da smoothhands
smoothhands Inserita: 17 gennaio 2013 Autore Segnala Inserita: 17 gennaio 2013 (modificato) Leggere non saprei di sicuro dall'esterno non puoi sovrascrivere le aree in consegna al PLC Ho fatto un test di scrittura tramite server web su HomePLC.Linux e utilizzando un registro Mw sono riuscito ad attivare i relè su uno slave 4in+4out. Non so se da Ladder è possibile ma a quanto pare dalle librerie sviluppate per Linux è possibile usare anche le istruzioni Mw per accedere alle aree digitali. Volevo sviscerare il funzionamento dell HomePLC.Linux dalla pressione di un pulsante (o la variazione di un parametro... tipo la temperatura) alla lettura di un registro (tipo Iw o Mw). Suppongo un ragnetto 4 ingressi e un pulsante collegati al master simulato di un HomePLC.Linux. Uno slave 4 in e 4 out e In aggiunta un ragnetto con una sonda per la temperatura. Cominciamo da qui... I ragnetti effettuano autonomamente un controllo a polling sui propri ingressi? Inoltre, visto che alcuni slave (o master) sono programmabili in modo che possano continuare a lavorare anche in assenza di bus, mi viene da rispondere di si. A meno che, qualora sia presente il bus, sia l'HomePLC.Linux direttamente che interroga a polling tutti i dispositivi sul bus che ha rilevato. Ho visto, aprendo l'HomePLC.Linux (ma mooolto delicatamente), che è presente un pic sulla board che si occupa della parte domotica. In pratica dovrebbe anche occuparsi di spedire e ricevere su bus tutte le informazioni richieste con gli slaves. Per come l'immagino io, sempre il pic, dovrebbe andare a scrivere in una zona di memora (quella corrispondente ai registri %Iw e %Mw) tutti i valori che sono stati rilevati dagli slaves. E per il momento qui mi fermo. Modificato: 17 gennaio 2013 da smoothhands
del_user_56966 Inserita: 17 gennaio 2013 Segnala Inserita: 17 gennaio 2013 Dovresti cambiare il tuo alias e mettere Aleandro2008 (REALTIME) RealTime è un alias già in uso come ti accennavo sopra lato Linux (e quindi da PHP, Java ecc..) è come essere sul Ladder è normale poter accedere su quelle aree, mentre se usi le MW tramite LAN ma da ABS XComm la scrittura non lavora....Chiaramente questo accade solo sull'area fino all'MW400
del_user_56966 Inserita: 17 gennaio 2013 Segnala Inserita: 17 gennaio 2013 Volevo sviscerare il funzionamento dell HomePLC.Linux dalla pressione di un pulsante (o la variazione di un parametro... tipo la temperatura) alla lettura di un registro (tipo Iw o Mw). non c'è molto da capire, tutto quello che gira sul sistema di I/O HomePLC nel Linux è già pronto in memoria sia in lettura che in scrittura la differenza tra un qualsiasi embedded Linux e quest'oggetto è questa, in pratica su HomePLC.Linux la parte Domotica è già integrata nel Kernal nativamente come Software e nella MatherBoard come hardware... quindi non esiste alcuna necessità di fare drive oppure di usare LAN e seriali per integrare altri componenti se non come estensioni particolari..
del_user_56966 Inserita: 17 gennaio 2013 Segnala Inserita: 17 gennaio 2013 Cominciamo da qui... I ragnetti effettuano autonomamente un controllo a polling sui propri ingressi? questa parte è gestita dal protocollo XComm in automatico e per noi è trasparente, quello che serve sapere è che se un qualsiasi ingresso viene attivato questo corrisponde a uno specifico bit nella tabella HomePLC in modo equivalente per il modello Ladder cosi come per quello Linux... in pratica la tabella di I/O è identica per tutti i modelli Inoltre, visto che alcuni slave (o master) sono programmabili in modo che possano continuare a lavorare anche in assenza di bus, mi viene da rispondere di si. si, e oltre a questo HomePLC ha una struttura simile a un DCS in quanto dalla supervisione si accede direttamente alla configurazione cosi come un DCS può accedere alla configurazione di una valvola in campo! pensa che questo livello d'iterazione con i normali PLC Industriali non riesci a farlo... Ho visto, aprendo l'HomePLC.Linux (ma mooolto delicatamente), che è presente un pic sulla board che si occupa della parte domotica. come già anticipato sopra HomePLC Linux non usa LAN o seriali il sistema HomePLC è integrato a bordo macchina diciamo che Linux è solo metà della mela
smoothhands Inserita: 17 gennaio 2013 Autore Segnala Inserita: 17 gennaio 2013 non c'è molto da capire, tutto quello che gira sul sistema di I/O HomePLC nel Linux è già pronto in memoria sia in lettura che in scrittura é infatti il bello di avere questo dispositivo. La parte domotica fa tutto il lavoro sporco e io programmaticamente non devo far altro che accedere a delle zone di memoria. Si è detto che la parte domotica effettua "generalmente" un ciclo ogni 100ms circa. Lettura dati dal campo in memoria -----> più cicli programma -----> Scrittura dati sul campo da memoria Almeno questo è il ciclo che avviene in tutti i PLC e anche HomePLC. Visto che il programma Ladder viene eseguito più volte nasce l'utilità dei registri delayed. Cosa succede nell'HomePLC.Linux? Mettiamoci nel caso mooolto semplificato di un unico ciclo while in cui accedo ai registri che mi servono da istruzioni di libreria. Essendo il mio processore da 1GHz molto più veloce del ciclo di 100ms mi aspetto di poter accedere a una variazione del valore di un registro in maniera molto precisa. Mi sono accorto che riesco tranquillamente a rilevare sia il fronte di salita della pressione di un pulsante che il fronte di discesa. In questo modo cessa un pò l'utilità dei registri delayed in quanto mi posso preoccupare solamente di generare un evento ogni fronte di salita (pressione pulsante). Da linguaggio di alto livello in pratica cambia un pò tutta la gestione del dispositivo domotico. Tutto il mio interesse nello sviscerare cosa accade nel layer domotico del dispositivo è dovuto all'eventualità che la pressiore e rilascio di un pulsante sia talmente veloce da non venir rilevato dall'HomePLC.Linux. Devo dire che agendo manualmente su un contatto non ho mai perso un colpo. Ma non sempre magari questo cambio di stato avviene in manuale ma è causato da un altro dispositivo. Può capitare che non abbia in memoria traccia di questi cambi di stato repentini ai quali magari sono interessato? E se si... perchè me li perdo? Scusate se sono un pò pignolo ma questo device m'intrippa un tot e ho voglia di capirlo proprio bene. Grazie.
del_user_56966 Inserita: 17 gennaio 2013 Segnala Inserita: 17 gennaio 2013 Può capitare che non abbia in memoria traccia di questi cambi di stato repentini ai quali magari sono interessato? E se si... perchè me li perdo? in tutti i PLC gli ingressi normali non vanno mai oltre la frequenza del ciclo di programma... se devi misurare frequenze oppure contare impulsi usa il ragnetto dedicato cosi hai la capacità di leggere frequenze fino a 5KHz oppure contare in up/down fino a 32 bit...
smoothhands Inserita: 17 gennaio 2013 Autore Segnala Inserita: 17 gennaio 2013 usa il ragnetto dedicato ah già... è vero che c'è anche quello Ma secondo te Aleandro... è l'HomePLC che va a prendersi le informazioni sul bus o sono i vari moduli che gliele consegnano?
del_user_56966 Inserita: 17 gennaio 2013 Segnala Inserita: 17 gennaio 2013 Ma secondo te Aleandro... è l'HomePLC che va a prendersi le informazioni sul bus o sono i vari moduli che gliele consegnano? difficile da dire il protocollo XComm inizia con la X proprio perché questa sta per "comunicazione indefinita" per motivi di sicurezza! adesso che sto analizzando altri protocolli aperti devo dire che capisco chiaramente il perché... sicurezza = ZERO! se conosci neppure tanto il protocollo puoi bypassare tutto, controllo accessi, sicurezze varie fino a far impazzire l'impianto per il solo gusto di farlo... tutto ciò tecnicamente è assurdo!
smoothhands Inserita: 17 gennaio 2013 Autore Segnala Inserita: 17 gennaio 2013 Si ma la mia non era l'intenzione di andare a bloccare tutto o comunque di mettere in crisi la comunicazione su bus. Era semplice curiosità... hai presente quando i bambini guardano dentro ai giocattoli nuovi? Purtroppo se non si sta attenti li spaccano... ma non sarà questo il caso :-) Grazie e buona serata Aleandro.
del_user_56966 Inserita: 17 gennaio 2013 Segnala Inserita: 17 gennaio 2013 Era semplice curiosità... hai presente quando i bambini guardano dentro ai giocattoli nuovi? Purtroppo se non si sta attenti li spaccano... ma non sarà questo il caso quando analizzo un sistema la prima cosa che mi viene in mente è fare una telefonata col cellulare... si ma la faccio a 20 Cm dal dispositivo... se questo non resiste alla telefonata è appunto un giocattolo... mi ricorda tanto (anni 80) quando ancora le EMI non esistevano e con le radio portatili in stabilimento si attivavano le soglie d'allarme della catena Blocchi d'emergenza... Io non voglio distruggere un dispositivo ma neppure doverlo usare con i guanti... se un prodotto è deboluccio meglio vederlo subito che quando istallato dal cliente, con HomePLC mi è già capitato di tutto, una fase a 400V sul Bus, inversione tra Bus e alimentazione disturbi fortissimi da Pompe con Inverter, cavi con Bus e alternata assieme... fulmini e saette!!... ora non va fatto sicuramente in modo volontario e neppure il produttore lo consiglia ma quando succede di queste cose fa piacere se l'elettronica non si guasta!... e se si guasta almeno capisco i limiti di rottura, che penso sia meglio di tanta teoria... si diciamolo pure sono per i crash test anche in Domotica...
Simoand Inserita: 27 settembre 2013 Segnala Inserita: 27 settembre 2013 Salve a tutti avrei bisogno di un aiutino sul registro dell'orologio hplc... come estrappolo le ore e i minuti dal registro? ho gia provato con Lbyte e Hbyte ma niente... grazie
del_user_56966 Inserita: 29 settembre 2013 Segnala Inserita: 29 settembre 2013 come estrappolo le ore e i minuti dal registro? ho gia provato con Lbyte e Hbyte ma niente... per le ore [ReadVar = %MW7715]------------------------[HByte]----------------------------------[ASSIGN %MW1000]----[GND] per i minuti [ReadVar = %MW7715]------------------------[LByte]----------------------------------[ASSIGN %MW1001]----[GND] nel registro %MW1000 troverai le ore.... e nel registro %MW1001 i minuti ... nb: il formato interno è decimale ma l'intepretazione è in BCD utilizzando il debug alle ore 11:50 nel registro %MW1000 ti troverai quindi sia il valore decimale 17 sia quello esadecimale 11H il valore da utilizzare nelle comparazioni è sempre quello decimale....Ricorda che se devi fare delle attivazioni orarie puoi semplicemente utilizzare i programmatori orari (Week Timer) di cui ogni HomePLC è provvisto e che offrono fino a 24 attivazioni settimanali, programmabili giorno per giorno a blocchi di due canali... la comparazione col RTC può essere utile se questi programmatori non svolgono precisamente la funzione richiesta... ma nelle normali applicazioni questo avviene raramente...
Simoand Inserita: 29 settembre 2013 Segnala Inserita: 29 settembre 2013 Molto gentile... sto già utilizzando per l'accensione delle luci esterne del giardino di una villa il plc con il sensore luce ma in più mi chiedono che a mezzanotte metà luci vengano spente e metà rimangano accese quindi in serie all'attivazione con il sensore luce devo anche mettere un ingresso che a mezzanotte spenga quelle luci... di conseguenza mi consgli di usare l'orologio o i programmatori?
del_user_56966 Inserita: 29 settembre 2013 Segnala Inserita: 29 settembre 2013 (modificato) Si usa normalmente i programmatori orari, nell'impianto elettrico standard la funzione sui chiama gestione luce 1/2 notte e viene gestita sempre tramite orologi con programmazione oraria (settimanale o giornaliera) in HomePLC la gestione rimane tendenzialmente identica se non per il fatto che i programmatori orari poi si possono telecontrollare e che la programmazione è estremamente semplificata sia utilizzando un HMI, un software su PC e/o Web... sia tramite APP per IPhone/IPad ecc...... Modificato: 29 settembre 2013 da Aleandro2008
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