Vai al contenuto
PLC Forum


Multiplex - E' possibile??


aleb2

Messaggi consigliati

Vorrei mantenere il conteggio del contatore anche dopo aver tolto l'alimentazione, e poi le istruzioni di configurazione del contatore veloce, (quelle che mi compila l'assistente) è necessario che debbano essere caricate ad ogni passaggio stop run (sm0.1) o come il resto delle istruzioni vengono salvate nella eeprom?

grazie

Link al commento
Condividi su altri siti


  • Risposte 65
  • Created
  • Ultima risposta

Top Posters In This Topic

  • Mamic

    12

  • JumpMan

    10

  • gianni12345

    8

  • aristo

    8

Vorrei mantenere il conteggio del contatore anche dopo aver tolto l'alimentazione, e poi le istruzioni di configurazione del contatore veloce, (quelle che mi compila l'assistente) è necessario che debbano essere caricate ad ogni passaggio stop run (sm0.1) o come il resto delle istruzioni vengono salvate nella eeprom?

grazie

Link al commento
Condividi su altri siti

Matteo Montanari

puoi momorizzare il valore del conteggio su un area dati ritentiva, ed a ogni accensione del PLC trasferire questo dato come posizione iniziale. questo è quanto facevo sui S7-300, penso che sia valido anche sul 200, anche se io, per maggiore sicurezza mia e dell'impianto, ritenuto necessario fare un azzeramento assi ad ogni nuova accensione del quadro. questo ti evita grane se devi avere precisone dei millimetri o inferiori.

Link al commento
Condividi su altri siti

Matteo Montanari

puoi momorizzare il valore del conteggio su un area dati ritentiva, ed a ogni accensione del PLC trasferire questo dato come posizione iniziale. questo è quanto facevo sui S7-300, penso che sia valido anche sul 200, anche se io, per maggiore sicurezza mia e dell'impianto, ritenuto necessario fare un azzeramento assi ad ogni nuova accensione del quadro. questo ti evita grane se devi avere precisone dei millimetri o inferiori.

Link al commento
Condividi su altri siti

  • 4 years later...

Ciao a tutti ,premetto che non sono un esperto programmatore di PLC SIEMENS ma fino a pochi anni fa'(Poi ho cambiato azienda "sbagliando") ero un discreto programmatore su PLC OMRON (C200H.CQM1 ecc,ecc).Per fare una seguenza di programma con l'OMRON si usava il move(Funzione 21)e multiplex (Funzione 76) il primo muoveva un bit in un registro (HR di stato ) e il secondo multiplexava l'HR di stato nel canale di stato assegnato. Questo sistema(Uno dei tanti chiaramente) permetteva di individuare in modo molto tempestivo un eventuale guasto sulla macchina.Arrivo alla domanda: e' possibile fare la stessa cosa su una S7300 ??

Se si come fare?

Scusate se non sono stato chiaro ma se avete dei dubbi rispondero subito!

Ciao Gianni

Link al commento
Condividi su altri siti

Ciao a tutti ,premetto che non sono un esperto programmatore di PLC SIEMENS ma fino a pochi anni fa'(Poi ho cambiato azienda "sbagliando") ero un discreto programmatore su PLC OMRON (C200H.CQM1 ecc,ecc).Per fare una seguenza di programma con l'OMRON si usava il move(Funzione 21)e multiplex (Funzione 76) il primo muoveva un bit in un registro (HR di stato ) e il secondo multiplexava l'HR di stato nel canale di stato assegnato. Questo sistema(Uno dei tanti chiaramente) permetteva di individuare in modo molto tempestivo un eventuale guasto sulla macchina.Arrivo alla domanda: e' possibile fare la stessa cosa su una S7300 ??

Se si come fare?

Scusate se non sono stato chiaro ma se avete dei dubbi rispondero subito!

Ciao Gianni

Link al commento
Condividi su altri siti

Ciao Gianni,

Per eseguire una sequenza di azioni in STEP (tipo SFC) quando anni fa usavo l'omron eseguivo delle MOV senza utilizzare il multiplex.

In Pratica nella word HR eseguivo una MOV con il valore in BCD corrispondente al bit dello step da attivare , esempio:

Mov #0001 HR0 -----> Step 0 bit HR0.0 =1

Mov #0002 HR0 -----> Step 1 bit HR0.1 =1

Mov #0004 HR0 -----> Step 2 bit HR0.2 =1

Mov #0008 HR0 -----> Step 3 bit HR0.3 =1

Mov #0010 HR0 -----> Step 4 bit HR0.4 =1

e cosi via.

Con siemens puoi fare la stessa cosa usando una word qualsiasi facendo attenzione che la parte bassa e la parte alta della word sono invertite e il valore da inserire è in decimale (non in BCD) , Esempio

Mov +1 MW300 ----> Step 0 bit M301.0 = 1

Mov +2 MW300 ----> Step 1 bit M301.1 = 1

Mov +4 MW300 ----> Step 2 bit M301.2 = 1

Mov +8 MW300 ----> Step 3 bit M301.3 = 1

Mov +16 MW300 ----> Step 4 bit M301.4 = 1

...........

.........

..........

Mov +256 MW300 ----> Step 8 bit M300.0 = 1

Mov +512 MW300 ----> Step 9 bit M300.1 = 1

Ciao.

Link al commento
Condividi su altri siti

Ciao Gianni,

Per eseguire una sequenza di azioni in STEP (tipo SFC) quando anni fa usavo l'omron eseguivo delle MOV senza utilizzare il multiplex.

In Pratica nella word HR eseguivo una MOV con il valore in BCD corrispondente al bit dello step da attivare , esempio:

Mov #0001 HR0 -----> Step 0 bit HR0.0 =1

Mov #0002 HR0 -----> Step 1 bit HR0.1 =1

Mov #0004 HR0 -----> Step 2 bit HR0.2 =1

Mov #0008 HR0 -----> Step 3 bit HR0.3 =1

Mov #0010 HR0 -----> Step 4 bit HR0.4 =1

e cosi via.

Con siemens puoi fare la stessa cosa usando una word qualsiasi facendo attenzione che la parte bassa e la parte alta della word sono invertite e il valore da inserire è in decimale (non in BCD) , Esempio

Mov +1 MW300 ----> Step 0 bit M301.0 = 1

Mov +2 MW300 ----> Step 1 bit M301.1 = 1

Mov +4 MW300 ----> Step 2 bit M301.2 = 1

Mov +8 MW300 ----> Step 3 bit M301.3 = 1

Mov +16 MW300 ----> Step 4 bit M301.4 = 1

...........

.........

..........

Mov +256 MW300 ----> Step 8 bit M300.0 = 1

Mov +512 MW300 ----> Step 9 bit M300.1 = 1

Ciao.

Link al commento
Condividi su altri siti

Non ho capito bene a cosa ti serve, ma se i bit sono 32 (o meno) puoi fare anche così:

L 1

T MD100 //

...

...

L MD100

SLD 1

T MD100 // M103.0 = 1

...

...

L MD100

SLD 1

T MD100 // M103.1 = 1

...

...

L MD100

SLD 1

T MD100 // M103.2 = 1

...

...

L MD100

SLD 1

T MD100 // M103.3 = 1

(l'ultimo bit è M100.7)

Modificato: da JumpMan
Link al commento
Condividi su altri siti

Non ho capito bene a cosa ti serve, ma se i bit sono 32 (o meno) puoi fare anche così:

L 1

T MD100 //

...

...

L MD100

SLD 1

T MD100 // M103.0 = 1

...

...

L MD100

SLD 1

T MD100 // M103.1 = 1

...

...

L MD100

SLD 1

T MD100 // M103.2 = 1

...

...

L MD100

SLD 1

T MD100 // M103.3 = 1

(l'ultimo bit è M100.7)

Modificato: da JumpMan
Link al commento
Condividi su altri siti

Grazie innanzitutto per le risposta, saro' di coccio ma non ho capito molto. Questo e' quello che scrivevo io nel PLC OMRON

come devo scrivere nel siemens? (In modo + dettagliato possibile).

7600

l-l------l-l---l-l----mov #0001

....................................H76

7601

l-l------l-l---------mov #0002

...................................H76

7602

l-l-----l-l--l-l------mov #0003

....................................H76

7603

l-l-----l-l---l-l-----mov #0000

....................................H76

25313

l-l---------------------MLPX

...............................H76

...........................#0000

...............................076

Grazie a tutti per la pazienza

Ciao Gianni

Modificato: da gianni12345
Link al commento
Condividi su altri siti

Grazie innanzitutto per le risposta, saro' di coccio ma non ho capito molto. Questo e' quello che scrivevo io nel PLC OMRON

come devo scrivere nel siemens? (In modo + dettagliato possibile).

7600

l-l------l-l---l-l----mov #0001

....................................H76

7601

l-l------l-l---------mov #0002

...................................H76

7602

l-l-----l-l--l-l------mov #0003

....................................H76

7603

l-l-----l-l---l-l-----mov #0000

....................................H76

25313

l-l---------------------MLPX

...............................H76

...........................#0000

...............................076

Grazie a tutti per la pazienza

Ciao Gianni

Modificato: da gianni12345
Link al commento
Condividi su altri siti

Ciao Gianni.

Quello che facevi con omron equivale a quello che ti ho detto nel post precedente tranne l'uso dell MLPX.

Nel tuo esempio la MPLX riceve in ingresso il valore del canale HR76 che può contenere i valori BCD 0 , 1 , 2 , 3 , ecc. ecc e in uscita mette a 1 il bit di posizione corrispondente nel canale 76. esempio

HR76 = 1 -----> dopo la MPLX ----bit 76.01 =1

HR76 = 2 ------> dopo la MPLX ----bit 76.02 =1

HR76 = 3 ------> dopo la MPLX ----bit 76.03 =1.

Quello che ti suggerivo prima e di non eseguire la MPLX e scrivere direttamente nel canale HR76 il valore corrispondente in BCD (nel Caso di OMRON) del bit indicante lo step attivo.

Nell' esempio che hai fatto tu per omron sarebbe così :

H7600

l-l------l-l---l-l----mov #0002 -----> #0002 = "0000 0000 0000 0010" Binario bit h7601 = 1

....................................H76

H7601

l-l------l-l---------mov #0004 -----> #0004 = "0000 0000 0000 0100" Binario bit h7602 = 1

...................................H76

H7602

l-l-----l-l--l-l------mov #0008 -----> #0008 = "0000 0000 0000 1000" Binario bit h7603 = 1

....................................H76

H7603

l-l-----l-l---l-l-----mov #0001 -----> #0001 = "0000 0000 0000 0001" Binario bit h7600 = 1

....................................H76

Poi se insisti ad ud usare un istruzione che in pratica fa il decoder cerca qualcosa di uguale in Siemens.

Ciao.

Link al commento
Condividi su altri siti

Ciao Gianni.

Quello che facevi con omron equivale a quello che ti ho detto nel post precedente tranne l'uso dell MLPX.

Nel tuo esempio la MPLX riceve in ingresso il valore del canale HR76 che può contenere i valori BCD 0 , 1 , 2 , 3 , ecc. ecc e in uscita mette a 1 il bit di posizione corrispondente nel canale 76. esempio

HR76 = 1 -----> dopo la MPLX ----bit 76.01 =1

HR76 = 2 ------> dopo la MPLX ----bit 76.02 =1

HR76 = 3 ------> dopo la MPLX ----bit 76.03 =1.

Quello che ti suggerivo prima e di non eseguire la MPLX e scrivere direttamente nel canale HR76 il valore corrispondente in BCD (nel Caso di OMRON) del bit indicante lo step attivo.

Nell' esempio che hai fatto tu per omron sarebbe così :

H7600

l-l------l-l---l-l----mov #0002 -----> #0002 = "0000 0000 0000 0010" Binario bit h7601 = 1

....................................H76

H7601

l-l------l-l---------mov #0004 -----> #0004 = "0000 0000 0000 0100" Binario bit h7602 = 1

...................................H76

H7602

l-l-----l-l--l-l------mov #0008 -----> #0008 = "0000 0000 0000 1000" Binario bit h7603 = 1

....................................H76

H7603

l-l-----l-l---l-l-----mov #0001 -----> #0001 = "0000 0000 0000 0001" Binario bit h7600 = 1

....................................H76

Poi se insisti ad ud usare un istruzione che in pratica fa il decoder cerca qualcosa di uguale in Siemens.

Ciao.

Link al commento
Condividi su altri siti

Ciao Mamic io non insisto assolutamente volelo solo capire alcune cose:

1) Da come mi dici il MLPX (esempio OMRON) non serviva a niente bastava scrivere direttamente il valore nell' HR 76 ????Mi ricordo che nel lontano 1996 l'ing. dell' OMRON (Istruttore del corso) ci fece due bip con il MLPX che.......

2) Perche secondo te ci facevano usare il MLPX se non serviva a niente?

Purtroppo e' passato tanto tempo e vatti a ricordare (Conoscendomi la domanda sicuramente la feci ma....)..........quanti programmi ho fatto con quel sistema.....bei tempi....

Ciao Gianni

Link al commento
Condividi su altri siti

Ciao Mamic io non insisto assolutamente volelo solo capire alcune cose:

1) Da come mi dici il MLPX (esempio OMRON) non serviva a niente bastava scrivere direttamente il valore nell' HR 76 ????Mi ricordo che nel lontano 1996 l'ing. dell' OMRON (Istruttore del corso) ci fece due bip con il MLPX che.......

2) Perche secondo te ci facevano usare il MLPX se non serviva a niente?

Purtroppo e' passato tanto tempo e vatti a ricordare (Conoscendomi la domanda sicuramente la feci ma....)..........quanti programmi ho fatto con quel sistema.....bei tempi....

Ciao Gianni

Link al commento
Condividi su altri siti

Gianni,

nell'esempio che hai fatto tu la MPLX viene eseguita sempre con il bit 25313, non è condizionata a qualche situazione in particolare.

Lo strumento che ti ho suggerito è perfettamente funzionante per eseguire step sequenziali e ti ho dimostrato che il risultato è lo stesso con l'omron e ti ho spiegato come eseguirlo con Siemens.

L'unica cosa "comoda" a mio parere che vedo nell'uso della MPLX è quello di vedere nel canale H76 (monitorandolo in BCD) un numero che rappresenta lo stato attivo in quel momento. (es. H76 = 1 , Step 1 attivo .....H76 = 3, Step 3 attivo).

Ti ripeto non so se con Siemens esista un istruzione equivalente e per questo che ti suggerivo il mio metodo.

non saprei cosa aggiungere.

Ciao e buon lavoro.

P.S. : se spieghi in pratica e più in dettaglio cosa vuoi realizzare forse qualcuno ti potrà aiutare.

Link al commento
Condividi su altri siti

Gianni,

nell'esempio che hai fatto tu la MPLX viene eseguita sempre con il bit 25313, non è condizionata a qualche situazione in particolare.

Lo strumento che ti ho suggerito è perfettamente funzionante per eseguire step sequenziali e ti ho dimostrato che il risultato è lo stesso con l'omron e ti ho spiegato come eseguirlo con Siemens.

L'unica cosa "comoda" a mio parere che vedo nell'uso della MPLX è quello di vedere nel canale H76 (monitorandolo in BCD) un numero che rappresenta lo stato attivo in quel momento. (es. H76 = 1 , Step 1 attivo .....H76 = 3, Step 3 attivo).

Ti ripeto non so se con Siemens esista un istruzione equivalente e per questo che ti suggerivo il mio metodo.

non saprei cosa aggiungere.

Ciao e buon lavoro.

P.S. : se spieghi in pratica e più in dettaglio cosa vuoi realizzare forse qualcuno ti potrà aiutare.

Link al commento
Condividi su altri siti

Mamic, il tuo sistema spiegato al #2 e efficente ma può creare confusione, se p.es. vuoi settare il bit 31 devi scrivere 2147483648.

Gianni, potresti fare un FC a cui passi in un parametro di ingresso il nr. di bit (0....31) e lui ti setta il corrispondente bit di una doppia parola (MD).

Per curiosità, con l'Omron quanti "Passi" potevi fare ?

Link al commento
Condividi su altri siti

Mamic, il tuo sistema spiegato al #2 e efficente ma può creare confusione, se p.es. vuoi settare il bit 31 devi scrivere 2147483648.

Gianni, potresti fare un FC a cui passi in un parametro di ingresso il nr. di bit (0....31) e lui ti setta il corrispondente bit di una doppia parola (MD).

Per curiosità, con l'Omron quanti "Passi" potevi fare ?

Link al commento
Condividi su altri siti

Buongiorno a tutti, Con l 'OMRON non c'era un limite di step una volta arrivati a 16 passi si poteva passare a l registro successivo e cosi via.In effetti il suggerimento di MAMIC e' funzionante ma diventa molto macchinoso con numerosi passi diventa un casino (Almeno per me)......Provero a sentire l'assistenza della Siemens e vi faro sapere.

Ciao Gianni

Link al commento
Condividi su altri siti

Buongiorno a tutti, Con l 'OMRON non c'era un limite di step una volta arrivati a 16 passi si poteva passare a l registro successivo e cosi via.In effetti il suggerimento di MAMIC e' funzionante ma diventa molto macchinoso con numerosi passi diventa un casino (Almeno per me)......Provero a sentire l'assistenza della Siemens e vi faro sapere.

Ciao Gianni

Link al commento
Condividi su altri siti

Ciao Jumpman,

I valori in decimale per attivare i passi , vanno scritti una sola volta , quindi c'è poco da fare confusione.

Il metodo che suggerisci tu in effetti è quello che normalmente utilizzo sia con S7-200 che con S7-300.

Non l'ho menzionato in quanto Gianni diceva di non essere molto esperto con Siemens e quindi venendo da esperienze OMRON ho cercato di farlo nello stesso modo in cui lui lo faceva anni fa con quel tipo di PLC.

Comunque all'interno dell' FC dovrai comunque eseguire un 'operazione di scrittura all'interno della doppia word in uso.

Il metodo usato con l' FC è il seguente :

Passi all'FC il numero dello step da attivare.

all'interno dell FC esegui (2^numero di step) e metti il risultato nella doppia word da utilizzare.

Ciao e buon lavoro

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