Vai al contenuto
PLC Forum


Step 7 - Velocità E Diagnostica


TRC

Messaggi consigliati

Buon giorno a tutti, ho da porvi qualche domanda sulla programmazione con Step 7

- Come posso gestire la diagnostica (base) del plc... esiste un byte che, se diverso da 0, indica che la scheda nel rack non funziona bene?

- C'è una guida di riferimento che indica i tempi di esecuzione delle varie funzione e operazioni... esempio CMP >= I è 1 microsec , CMP >=D è 3 microsec.. (ovviamente prendendo una CPU di riferimento)

e se esiste anche qualche indicazione sulla velocità di esecuzione delle SFC e SFB.

- come metodo di scrittura quale è il più veloce

CLR

= M0.0

..

= M3.7

oppure

MOVE 0 in MB0

MOVE 0 in MB1

MOVE 0 in MB2

MOVE 0 in MB3

oppure

MOVE 0 in MW0

MOVE 0 in MW2

o infine

MOVE 0 in MD0

Modificato: da TRC
Link al commento
Condividi su altri siti


Per la diagnostica basta consultare il manuale per capire che non ci sono status word o simili, ma si devono sfruttare le informazioni fornite negli OB che vengono avviati quando si verifica un evento.

Per i tempi di esecuzione vale la stessa regola: consultando il manuale si trova una tabella con indicati i tempi di esecuzione di tutte le operazioni.

Link al commento
Condividi su altri siti

:thumb_yello: wow Batta che risposta, potresti chiudere il forum con questo motto....

che fate a fare le domande, se avete problemi consultate i manuali...

scusa mi potresti mandare il link del manuale con i tempi di esecuzione di dei blocchi ladder di Step 7 e quello degli SFC e SFB e quello che indica che elaborare 2 operazioni a WORD consuma + o - tempo di

1 operazione a DWORD, io ne ho scaricati un pò ma non ne ho trovati di tempi di esecuzione se non quei 3 o 4 che sono a descrizione dei vari modelli di cpu. grazie

Link al commento
Condividi su altri siti

Non serve fare del sarcasmo.

Il fatto è che, molto spesso, piuttosto che "perdere tempo" a cercare le informazioni sui manuali, c'è chi preferisce postare domande sperando che ci sia qualcun altro che ha "tempo da perdere" per cercare le risposte.

Insomma, una cosa è porre una domanda specifica, tipo: devo fare la diagnostica del modulo xxx, ho provato a interpretare le variabili di OByyy ma non riesco a capire bene cosa devo fare.

Altro è chiedere come si fa la diagnostica in S7. Per rispondere ci vorrebbero pagine, non poche righe.

Risposte esaustive a questo tipo di domande si possono trovare solo sui manuali.

Per quanto riguarda invece i tempi di esecuzione delle varie operazioni, credo che nessuno si ricordi a memoria, per ogni cpu, questi dati. Per risponderti bisogna consultare i manuali. Quindi, non capisco perché lo dovrebbe fare un altro al tuo posto.

link manuali lista operazioni S7-300 con tempi di esecuzione

link manuali dati tecnici cpu 31x con tempi ciclo e di reazione

Trovarli non è stato difficile, te lo assicuro.

Link al commento
Condividi su altri siti

- Ho chiesto se esiste la possibilità di fare la diagnostica con un byte per il rack, visto che è possibile farla per il profibus, non vedo perchè debba essere scontato che non si possa fare anche per la cpu

e la risposta può essere SI / NO, non ho chiesto un trattato sulla diagnostica.

- I manuali che ho consultato prima di chiedere sono "Programmazione con Step 7", "Lista istruzioni AWL, Funzioni standard e di sistema per un totale di 1500 pagine e non fanno riferimento ai tempi, non

trovo niente di male a chiedere qualche consiglio a chi magari in 3 secondi può darmi una risposta, tipo "usa gli interi al posto dei doppi interi perchè la cpu consuma 3 volte meno risorse.

Comunque rimane il fatto che un BLKMOVE di 10 word non so quanto incida sulla mia scansione.

- Trovare la risposta in un manuale e in un sito che già conosci non è difficile, riesco bene anche io nel sito della Rockwell, con la Siemens faccio più fatica.

Comunque grazie dei link

Link al commento
Condividi su altri siti

Salve,

a seguire allego immagine relative ai tempi di esecuzione della SFC20 [bLKMOVE] per la famiglia S7-300/400.

A questo punto devi individuare la CPU da te utilizzata ed applicare la formula relativa in funzione al numero di byte impiegato, nel tuo caso 20.

Aggiungo anche linkweb per lista operazioni e tempi di esecuzione per la famiglia S7-400

e se esiste anche qualche indicazione sulla velocità di esecuzione delle SFC e SFB.

Con il link di batta e quello di cui sopra, adesso hai la possibilità di consultare oltre ai tempi di esecuzione delle singole istruzioni, anche i tempi per SFC ed SFB per famiglia (S7-300 o S7-400) e CPU.

400z.png

300s.png

Modificato: da cagliostro
Link al commento
Condividi su altri siti

Ecco appunto, grazie alle vostre risposte ho trovato la soluzione, pensavo che la Siemens, visto che ragiona a byte, avesse il problema opposto della AB, che impiega 10 volte più tempo a fare

byte + byte che a fare dint + dint , per via delle trasformazioni che deve fare un sistema a 32 bit per formattare i parametri prima di sommarli e dopo averli assegnati per rimetterli nei risultati.

Con Siemens è lo stesso, le operazioni a 32 bit sono più veloci di quelle a 16 e più veloci di quelle eseguite bit per bit, quindi se devo azzerare 32 bit, anzichè fare

CLR

= M0.0

....

= M3.7

scriverò

load L#0

transfer MD0

tra l'altro il tempo di BLKMOVE c'è in tutti e due i manuali quindi ora lo so sia per l'S7-300 che per l'S7 400.

Mi ritengo soddisfatto delle risposte, grazie a tutti e due

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