Vai al contenuto
PLC Forum


Domanda banale su comando di reset


DesmoGiec

Messaggi consigliati

Ciao ragazzi..

Sicuramente la domanda è banale, ma io non ho MAI lavorato con i 200 (ho 27 anni ed anche a scuola usavamo i 300 (si lo so, son fortunato :D))

Vengo al dunque, mi trovo nella condizione di fare un revamping, togliendo il 200 (di cui non abbiamo il microwin) e mettendo un 300.

Ho i sorgenti stampati su carta e sto partendo da quelli per riscrivere il programma (che non è complesso di per sè, non ci sono assi ne controlli vari, è solamente lungo)

Ho visto che, in alcune sequenze di reset (ma anche set), il programma usa R byte.bit, x_bit.

Presumo che x_bit sia per quanti bit il plc vada a fare il reset.

Nel programma ho (v100 è l'esempio):

R v100.0, 16, che mi resetterà la word..

R v100.0, 8 mi resetterà il byte intero..

R v100.0, 1 mi resetterà la sola v100.0

Ci son parecchi punti in cui viene scritto R v100.0, 0 ... Quindi?

Quando trovo ", 0" come si comporta il programma?

Oppure ho interpretato male io le operazioni?

Ciao!

Link al commento
Condividi su altri siti


Ciao,

hai interpretato bene, quindi R V100.0, 0 non dovrebbe avere senso; l'unica è fare una prova; se me ne dai il tempo, eseguo la prova poi ti aggiorno.

Link al commento
Condividi su altri siti

Alcuni esempi di indirizzi assoluti

VBO bite0 delle memorie tipo V (memorie dati cioè quelle usate dagli hmi)

VB1 bite1

VB2  bite2

VWO word0 comprende VB0 e VB1

VW2 word2 comprende VB2 e VB3

VD0 doppia word0 comprende VB 0 VB1 VB2 VB3

VD4 doppia word4, comprende WB4 VB5 VB6 VB7.

V0.1 b1 del bite 

V4.7 bite 7 del bite 4.

Ciao

Link al commento
Condividi su altri siti

amed, io non ho capito cosa significa resettare il bit "0" di un dato byte.bit già esplicitato.

So cosa sono bit byte word dword.

Online (e come del resto ho scritto nel primo post), ho trovato che un istruzione tipo "R V100.2, 6" resetta 6 bit a partire dal secondo bit (quindi 2 3 4 5 6 7)

A livello logico mi viene da pensare che un istruzione "R v100.0, 0" vada a resettare v100.0, ma quel ", 0", sempre a interpretazione, sembra voler dire che quell'azione di reset non ha valenza, poichè, per resettare, posso usare R byte.bit oppure R byte.bit, n_bit (da 1 a 255).

Di fatto nel programma vengono usati reset a 8 n_bit, che mi azzerano il byte, oppure 16 che azzerano la word, oppure 1 che azzerano il bit.

Ma lo 0 non l'ho capito, e non potendo simulare (non ho microwin), non ho capito se l'operazione ha valenza ed il bit viene resettato, oppure no.

Ciao!

Link al commento
Condividi su altri siti

Immagina che tutti i bit interni ai plc siano dei microscopici condensatori realizzati elettronicamente. Un condestatore caricato a 5 volt è nello stato logico 1, scaricato a 0 volt è nello stato logico 0.

I bit possono essere comandati a 0 o a 1 con la tecnica della retroazione (autoritenuta) o con la tecnica del set/reset.

Come ho detto prima i condensatorini ( i bit) sono in realtà dei circuiti elettronici (flip-flop) che hanno un ingresso di set e un ingresso di reset. Mandando un breve impulso di 5V sull'ingresso di set il bit viene caricato a 5volt, mandando innvece un breve impulso sull, ingresso di reset il condensatorino viene scaricato a 0 volt, cioè messo nello stato logico 0. Ciao

Link al commento
Condividi su altri siti

Scusa ma non capisco cosa c'entri con la mia domanda.:wacko:

Ho già le competenze in fatto di programmazione, è solo questa specifica istruzione del 200 (è il 200 che non conosco, non la programmazione in sè!) che non conosco.

Cerco di spiegarmi meglio..

Metti di avere 2 comandi che resettano un bit, ad esempio V100.0

R V100.0, 1  <- Questo sicuramente resetta unicamente il bit 0.

R V100.0, 0 <- Questo non ho idea di cosa faccia, poichè la "ripetitività" di n_bits è specificata a 0. Per il singolo bit invece deve essere 1.

 

Potrei benissimo scrivere S V100.0 e R V100.0 per set e reset, ma dato che ho un sorgente in cui viene usato spesso quel reset ad n_bit 0, volevo prima capire se effettivamente quel bit viene resettato oppure no.

 

 

Link al commento
Condividi su altri siti

Ora ricordo vagente.

S V10.0 ,8 significa che setti 8 bit partendo da V10.0

R V10.1,3 significa che resetti 3 bit a partire da V10.1.

Scusa non avevo capito la domanda e non ricoradavo questa caratteriztica del 200. Ciao

Link al commento
Condividi su altri siti

Quote

R V100.0, 0 <- Questo non ho idea di cosa faccia

Secondo me non ha senso questo modo di usare il reset.

Sei fortunato perchè ho fatto la prova pratica ( però si apre un nuovo quesito ) .....

Comunque avevo in un cassetto un vecchio s7-200 e un pc datato con microwin e ho scritto 3 righe

il risultato è che il codice il compilatore lo accetta.

e sono andato online , il plc lo elabora, ma se metti a on l'istruzione prima del reset in modo da far eseguire al plc R V100.0, 0 allora APPARE ROSSO come ad indicare un errore e l'istuzione non ha effetto.

Ti allegherei uno screenshot ma il forum mi restituisce errore ...

Dopo se riesco te lo metto su un link.

Comunque ora la nuova domanda è : chi resetta V100.0

visto che R V100.0, 0 non ha effetto ?

Ciao, comunque dai, hai metà dei miei anni .... quindi ce la puoi fare !

 

Link al commento
Condividi su altri siti

Quote

R V100.0, 0 <- Questo non ho idea di cosa faccia

Secondo me non ha senso questo modo di usare il reset.

Sei fortunato perchè ho fatto la prova pratica ( però si apre un nuovo quesito ) .....

Comunque avevo in un cassetto un vecchio s7-200 e un pc datato con microwin e ho scritto 3 righe

il risultato è che il codice il compilatore lo accetta.

e sono andato online , il plc lo elabora, ma se metti a on l'istruzione prima del reset in modo da far eseguire al plc R V100.0, 0 allora APPARE ROSSO come ad indicare un errore e l'istuzione non ha effetto.

Ti allegherei uno screenshot ma il forum mi restituisce errore ...

Dopo se riesco te lo metto su un link.

Comunque ora la nuova domanda è : chi resetta V100.0

visto che R V100.0, 0 non ha effetto ?

Ciao, comunque dai, hai metà dei miei anni .... quindi ce la puoi fare !

 

Link al commento
Condividi su altri siti

Se aggiungi 0 non resetti o setti nessun bit. La cosa vista così, come dici tu, non ha senso. In pratica è molto comoda perchè con due semplici istruzioni puoi settare o resettare ggruppi dibit. Poi se metti ad esempio 

MB50 il numero scritto on MB50 indica la quantità di bit settati o resettati in mpdo indiretto e dinamico durante l'esecuzione del programma. S7-200 è di derivazione Texas. Nessun altro plc ha questa istruzione, neppure il sustituto che s7-1200

Link al commento
Condividi su altri siti

Conosco la storia texas --> s7-200 , conosco anche il sostituto.

Concordo che era un modo "veloce" per settare / resettare gruppi di bit,

ma c'è da chiedersi cosa volesse fare il programmatore scrivendo R V100.0, 0.

Ma non mi meraviglio di niente... a volte ho visto listati lunghissimi in AWL nel 300

scritti alla mò di blocknotes a quadretti ( quello di una volta dove si scarabocchiava ) tanto per prendere appunti.... con N righe senza senso....

Ciao

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