Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Relè Interni Homeplc


Messaggi consigliati

sergio.marcianelli
Inserito:

Buona sera a tutti e buon 2010,

Nell' . del Ladder vedo che i rele interni che vanno da %MX400 a %MX429 nell'HomePlc possono assumere codici che vanno da R0 a R29F. Quindi: R0 = %MX400.0 => R16 %MX400.15, ma per %MX401.0 si segue con l'R17 o si aggiunge qualche lettera tipo R1A anche perchè non riesco a capire come si arrivi a R29F.

Spero di essere stato chiaro in quello che sto chiedendo, sicuro di vostre esaudienti risposte vi saluto calorosamente.

Sergio Marcianelli


del_user_56966
Inserita: (modificato)

Gli "R" sono usati solo per l'interfaccia di sviluppo RAD tramite il framework ABS nel LadderHome

i bit sono sempre trattati come %IXnn.n, %QXnn.n, %MXnnn.n

mentre per gestire da programma di supervisione devi togliere il 400

e il bit esprimerlo in esadecimale quindi lo 0-15 diventa 0-F

%MX400.0 sarebbe R0.0 e si scrive R0

%MX400.15 = RF

%MX401.0 = R1F ( e non R17 che al contrario è %MX401.7 )

perchè non riesco a capire come si arrivi a R29F.

R29F = %MX429.15

Modificato: da Aleandro2008
sergio.marcianelli
Inserita:

Quindi se ho ben capito:

%MX400.9 = R9

%MX400.10 = RA

%MX400.11 = RB

................

%MX400.15 = RF

%MX401.0 = R10

%MX401.1 = R11

.................

%MX401.9 = R19

%MX401.10 = R1A

..........................

%MX401.15 = R1F

%MX402.0 = R20

e cosi' via

Giusto?

spero di si

ciao

del_user_56966
Inserita:
%MX400.9 = R9

%MX400.10 = RA

%MX400.11 = RB

................

%MX400.15 = RF

%MX401.0 = R10

%MX401.1 = R11

.................

%MX401.9 = R19

%MX401.10 = R1A

..........................

%MX401.15 = R1F

%MX402.0 = R20

e cosi' via

Giusto?

Si è corretto!... :)

sergio.marcianelli
Inserita:

Ok,

Grazie mille,

Ciao

Sergio Marcianelli

  • 3 months later...
Inserita:

dubbio sull'. .

dal ladder voglio leggere la prima uscita dell'hplc attraverso :options-->R/W register ,

ma l'accoppiamento tra uscita fisica e registro non la trovo in risorse di sistema.

dove sbaglio??

l'uscita %QX0.0 a quale Address(word number) corrisponde?

del_user_56966
Inserita:
ma l'accoppiamento tra uscita fisica e registro non la trovo in risorse di sistema.

se vedi di lato alla risorsa %QX0.0 trovi il registro XC-201 che la contiene....

l'uscita %QX0.0 a quale Address(word number) corrisponde?

dal ladder per leggere l'uscita utilizza "tasto destro" -> ADD WATCH ti mette un flag di debug nella casella sottostante lo schema

e li vedi il valore dei falgs e dei registri....

del_user_56966
Inserita:
utilizza "tasto destro" -> ADD WATCH

e chiaramente prima va selezionato il componente che vuoi monitorare...

Inserita:
dal ladder per leggere l'uscita utilizza "tasto destro" -> ADD WATCH ti mette un flag di debug nella casella sottostante lo schema

per leggerla va bene ma se la voglio comandare ?? se voglio far cambiare il suo stato come faccio???

se vedi di lato alla risorsa %QX0.0 trovi il registro XC-201 che la contiene....

se metto 201 non mi cambia stato!!!

da options-->R/W register la prima schermata di default presenta il registro 400 . io voglio mettere il registro dell'uscita %QX0.0 , per poter comandare attraverso i tasti set e reset presenti nella schermata.

del_user_56966
Inserita:
io voglio mettere il registro dell'uscita %QX0.0 , per poter comandare attraverso i tasti set e reset presenti nella schermata.

La devi mettere nello schema sui coil di uscita Set e Reset, dal debug non attivi le uscite fisiche quelle le attiva il programma...

al massimo le puoi attivare da PC remoto tramite l'istruzione XComm1.WR numero uscita, nPLC, NSrv, Valore, Passw...

e forse anche da Modbus RTU.. ma dovrei provare... :)

Inserita:

qualcosa non mi torna!!! :senzasperanza:

ho installato vb6

primo progetto accendere/spegnere l'uscita 1 del hplc

nel form ho messo un pulsante una lampadina e l'oggetto xcomm++ . devo mettere altri oggetti abs???

allego codice:

Private Sub Button1_Click()

XComm1.WR 1, 1, 1, 0

End Sub

Private Sub Lamp1_Press()

XComm1.OH 1, 1, 1

End Sub

obbiettivo: il bottone dovrebbe chiudere l'uscita e la lamp si dovrebbe spegnere

stato delle cose : la lamp è sempre spenta, il bottone non chiude l'uscita.

ale dov'è l'errore? :unsure:

del_user_56966
Inserita:
nel form ho messo un pulsante una lampadina e l'oggetto xcomm++ . devo mettere altri oggetti abs???

Si su ogni form di VB6 metti sempre l'oggetto sicronizzatore è quello con la scritta BLU su sfondo bianco che trovi in ogni demo grafico...

questo serve per aggiornare automaticamente gli oggetti (con programmazione interna) del form...

lo si può fare con questo oggetto sincronizzatore oppure direttamente tramite la proprietà "Refresh" di ogni singolo oggetto!

allego codice:

Private Sub Button1_Click()

XComm1.WR 1, 1, 1, 0

End Sub

Con questo codice puoi pilotare direttamente i Flags in area utente, per pilotare le uscite devi usare XComm1.WY (vedi _Help alla voce Oggetto XComm++)

Private Sub Lamp1_Press()

XComm1.OH 1, 1, 1

End Sub

Queste funzioni sono dell'automazione Hotel/Building (OH = Out Hotel)

obbiettivo: il bottone dovrebbe chiudere l'uscita e la lamp si dovrebbe spegnere

stato delle cose : la lamp è sempre spenta, il bottone non chiude l'uscita.

ale dov'è l'errore?

Se vuoi pilotare la lampada in accensione il valore di XComm1.WY sarà = True altrimenti sarà = False

ma per fare prima ti conviene aprire il demo XComm ++ per Visual Basic sul form2 trovi tutti gli esempi già funzionanti!

quindi per partire basta fare dei copia e incolla... e cambiare le varie risorse...

le risorse corrette le puoi rintracciare su Home&Building nella pagina di configurazione dell'HomePLC in basso sotto lo status trovi

il pulsante "Test I/O" inserendo qui la risorsa in IEC ti viene convertita direttamente in quella per ABS...

la conversione è matematica quindi una volta capita diventa semplice...

%MX400.0 = R0 in pratica si usa il registro togliendo il 400

se fosse %MX401.9 avremo R19 e cosi via...

devi fare attenzione al fatto che ABS ragiona in esadecimale per cui %MX402.15 in realtà su ABS diventa R2F... ;)

Inserita:

grazie ale , come sempre illuminante. :thumb_yello:

alcune domande :

1.per accendere la lampada(uscita %QX0.0) ho usato l'istruzione XComm1.WY Y1, 1, 1, 1, mi sono accorto che nel primo campo (y1) è indifferente mettere la lettera "y" posso mettere "R" è la stessa cosa!!mentre se metto solo l'indirizzo di uscita senza lettera mi comanda l'uscita successiva(%QX0.1) .è fin qui posso capire il perchè.

2.strana anomalia: quando piggio l'icona della lampada non succede niente devo ripiggiare affinche l'uscita dell'hplc si attiva, stessa cosa usando il bottone per spegnarla devo clicare due volte. mentre se apro in contemporanea un altro esempio di supervisione ( Demo Touch Screen)il mio progetto funziona correttamente.

3.mi potete postare un frammento di codice di una semplice lampada che se clicco mi attiva l'uscita e l'icona si accende (a me rimane sempre grigia) e se riclicco si spegne disattivando l'uscita.

scusate se faccio domande stupidi e banali ma mi servono per esplorare a fondo il sistema.

del_user_56966
Inserita:
1.per accendere la lampada(uscita %QX0.0) ho usato l'istruzione XComm1.WY Y1, 1, 1, 1, mi sono accorto che nel primo campo (y1) è indifferente mettere la lettera "y" posso mettere "R" è la stessa cosa!!

XComm1.WY è già riferito alle uscite Y quindi non devi mettere di nuovo la Y ne altro solo la risorsa e stop!

mentre se metto solo l'indirizzo di uscita senza lettera mi comanda l'uscita successiva(%QX0.1) .è fin qui posso capire il perchè.

questo è corretto... infatti!

%QX0.0 = Y0

%QX0.1 = Y1

2.strana anomalia: quando piggio l'icona della lampada non succede niente devo ripiggiare affinche l'uscita dell'hplc si attiva, stessa cosa usando il bottone per spegnarla devo clicare due volte. mentre se apro in contemporanea un altro esempio di supervisione ( Demo Touch Screen)il mio progetto funziona correttamente.

ABS è protetto contro le pressioni ripetitive,

nel senso che se invii 100 attivazioni simultanee non le esegue!!

se vuoi premere una sola volta prova a leggere lo stato di quell'uscita in un timer del programma...

cosi!...

Var = XComm1.PLC_OUT ("0", 1 ,1)

la lettura continua dello stato della risorsa indistintamente da dove viene eseguita, ne permette l'uso immediato anche nel comando!

3.mi potete postare un frammento di codice di una semplice lampada che se clicco mi attiva l'uscita e l'icona si accende (a me rimane sempre grigia) e se riclicco si spegne disattivando l'uscita.

tu vuoi usare un oggetto "lampada" oppure ne vuoi creare uno ex-novo da codice?

Inserita:

voglio usare l'oggetto già esistente (inizio con cose semplici).

piggio ->si attiva l'uscita e l'icona da spenta passa ad accesa.

piggio una seconda volta->si disattiva l'uscita e l'icona si spegne.

Inserita: (modificato)

trovato il problema B)

nelle impostazioni della Lamp in address status e address marker dovevo mettere Y1 invece di mettere y1 (lettera minuscola)...

almeno ho scoperto che è sensibile alle maiuscole e minuscole :wallbash:

alla prossima

grazie ale

Modificato: da gabri.m
del_user_56966
Inserita:
nelle impostazioni della Lamp in address status e address marker dovevo mettere Y1 invece di mettere y1 (lettera minuscola)...

si è cosi e mi sembra che sia lo stesso anche per le dichiarazioni del LadderHome, ma non sono sicuro io scrivo per abitudine in maiuscolo

quindi non ho esperienza in merito.... :)

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...