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




Utilizzo del fronte di discesa di un segnale


Messaggi consigliati

Inserito:

Buona sera

Volevo utilizzare il fronte di discesa dell’ingesso Fisico i0.0 

ho visto bisogna utilizzare la funzione Con l’N dentro e poi ci sono 2 variabili da impostare

ho impostato su quella superiore i0.0 e su quella inferiore m50.0 però non sono riuscito a farlo andare in nessun modo o meglio utilizzando dei Set coils e Reset coils che invece se guardavo il fronte di discesa mi bastava  un’istruzione dove sbaglio?Ho guardato anche la guida in linea 

l’i 0.0 lo utilizzo già anche da altri parti ma in quel punto mi servirebbe con il fronte di discesa quando va da 1 e ritorna 0

 

non posso postare nessun esempio il pc e in Update e quindi ne ho approfittato per scrivervi dal tablet

 

grazie

 

 


Inserita:

Non ho capito bene cosa vuoi fare col fronte ma prova a guardare che M50.0 non faccia parte del Byte attribuito ai clock di sistema. Dovresti trovarli nelle proprietà della cpu. 

Inserita:

Assicurati di non aver utilizzato quel merker da qualche altra parte.

Inserita:

M 50.0 creato al momento  è non usato e i merker di sistema sono m0.0 

esempio ad un fronte di discesa di i0.0 voglio attivare q0.0 

come la scrivereste?intanto per capire se avevo scritto giusto

 

grazie

Inserita:

   I0.0                  

—|N|——————————(S)

   M50.0                              Q0.0

 

piu o meno cosi, a parte che fare un Set di un operando dell’area Q mi fa venire l’allergia. 

Inserita:

In alternativa puoi usare anche il trig n, anche a me non piace settare le uscite fisiche...

Inserita:

Ho fatto proprio così solo che io alzavo una memoria ma il verde dicamo della riga si ferma sulla N e basta e non la supera (intendo quando si va in online )

boh

io comunque i0.0 lo posso usare da altri parti giusto non sono vincolato solamente nel guardargli il fronte?

 

Inserita:

Beh è un fronte di discesa, il verde lo vedi solo per una scansione

Inserita:

se non ho capito male è un problema di memorie. Prova a cambiare memoria di appoggio e vedi se si setta.

13 ore fa, step-80 ha scritto:

piu o meno cosi, a parte che fare un Set di un operando dell’area Q mi fa venire l’allergia. 

Ascolta questo consiglio perché solitamente la bobina si usa sempre "normale". Mentre i set o reset si fanno sul merker

Inserita:

quindi dovrei vedere l’m50.0 andare a true quando abbasso l’i0.0 e sarà a true solamente per una scansione anche m50.0 allora?

domani faccio dei test

grazie

 

Inserita:

Da come so io m50.0 e un appoggio che per ora non ti serve. (Comunque si la memoria M segue il fronte)

Quando avrai il fronte (in questo caso di discesa) Il set si setta e rimane set finché non resetti la variabile settata (Q0.0 nel tuo caso).

Devi stare attento a NON usare la variabile M50.0 a sproposito perché potrebbe mandarti in confusione il set.

 

 

 

Inserita:

Facciamo un po di ordine: M50.0 è un merker del quale a te non deve interessare per il momento. È un merker usato dal sistema per memorizzare lo stato dell’operando da interrogare, per rilevare appunto il fronte di salita o di discesa. 
I0.0 è un ingresso. Esso lo puoi solo interrogare(non lo puoi settare o resettare) ma lo puoi leggere in più punti del programma. Se stai cercando di settare I0.0, è una operazione tecnicamente sbagliata. 
 

Per assicurarsi che la memoria del fronte che usi non sia usata da un altra parte, prova a fare cosi: crei un DB chiamato ‘MieiDati’ e, dentro di esso,dichiari un array di 10 bool chiamato ‘MieiFronti’. 
Dichiari anche un array identico chiamato ‘MieiIngressi’ e un altro identico chiamato ‘MieUscite’. 
A questo punto, inserisci il tuo contatto Fronte di discesa di ‘MieiDati.MieiIngressi[0].e, dove ti chiede la memoria, inserisci ‘MieiDati.MieiFronti[0]’. Inserisci poi una bobina Set che sarà ‘MieiDati.MieUscite[0]. 
 

Adesso che non sei piu vincolato ad ingressi o uscite fisiche,vai Online e prova a forzare ad ‘1’ il tuo contatto di ingresso del DB e poi riportalo a ‘0’. Devi vedere che a questo punto l’uscita è diventata ‘1’ . Prova e fammi sapere. 

 

Inserita:

Si non cerco di settare  i0.0  volevo solo capire che se su un segmento gli guardò il fronte di discesa lo posso anche utilizzare su un’altro Segmento lo guardò normale

quindi da come ho capito il fronte viene visto x 1 ciclo di scan se io lo volessi usare all’inizio di un segmento devo per forza fare un set di una variabile perché se no il mio segmento non partirebbe mai dalla velocità di passare dallo stato 1 a 0

Inserita:

Non è assolutamente detto che tu debba usare il fronte solo per fare Set/Rst.
Ci sono molti altri utilizzi per i quali ti vengono in aiuto. Il primo caso che mi viene in mente è incrementare una variabile al passaggio per esempio di un pezzo su un nastro rilevato da una fotocellula. 
Immagina che il pezzo impieghi 1 secondo per passare davanti al sensore, e che quindi lo tenga acceso per 1 s. Se usi un contatto aperto con una istruzione di incremento, ogni volta che il tuo programma passa da li eseguirà l’operazione e di conseguenza dopo la prima scatola ti troverai col conteggio a 800 (cosi a naso). 

Il fronte serve proprio per quello, per dire al sistema di contare solo sul passaggio da On a Off o Vicerversa , ma di ignorare i passaggi successivi sino ad un nuovo cambio di stato. 

 

Puoi comandare col fronte anche una bobina senza set o reset, essa sarà On da quel segmento in poi sino alla scansione successiva quando sarà rivalutato quel segmento. Pertanto tutto ció che farai leggendo quella bobina per una scansione sarà eseguito. 
 

Spero di essere stato più chiaro. 

Inserita:

Ho risolto finalmente

Ho fatto un reset alle impostazioni di fabbrica  della cpu chissa che prove avevo fatto e che memorie erano settate

 

grazie di tutto

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