Vai al contenuto
PLC Forum


Velocità Cpu Di Diversi Plc - Come testare e confrontare la velocità di calcolo di una CPU


StingyJack

Messaggi consigliati

Quale è il miglior modo per testare la prestazione di velocità di calcolo di una CPU? In particolare per poter confrotare PLC della stessa classe ad esempio Siemens S7 400 con ControlLogix e con Schneider Modicon Quantum?

Pensavo su operazioni di loop per accesso a puntatori...che ne dite? :)

grazie anticipatamente a chi parteciperà alla discusione

Link al commento
Condividi su altri siti


sarebbe come dire:

"il modo migliore per testare la diversa velocita' di due auto e' in un rettilineo libero lungo almeno 10 km"

e dopo aver fatto questa prova selezionando accuratamente l'auto piu' veloce partecipare con questa ad una corsa su uno sterrato di montagna

-----------------------------------------------------

se non sono stato sufficentemente chiaro la velocita' pura su un puntatore e' uno dei tanti parametri, su certe applicazioni e' significativo su altre assolutamente no

Link al commento
Condividi su altri siti

Ogni costruttore prevede, sul manuale della CPU, una tabella dove riporta i vari tempi di esecuzione delle istruzioni. Basta confrontare questi tempi e si ha un'idea di dove una CPU è più rapida dell'altra. Confrontando PLC della medesima classe è difficile trovare modello che sia più veloce su tutti i tipi di istruzione. C'è chi risolve più velocemente le booleane, chi le aritmetiche, chi l'accesso alla memoria, etc.

Link al commento
Condividi su altri siti

Ciao a tutti,

Pero' posso chiedere al PLC di dirmi quante scansioni sta' eseguendo in quel momento.

In un intervento precedente ho menzionato come fare con KERNEL, ma il medesimo sistema l'ho usato con tutti gli altri PLC. [http://www.plcforum.it/forums/index.php?showtopic=19640&view=getnewpost]

;;...... scrivevo ....

Poi aggiungo un temporizzatore di un secondo, che ricomincia su se' stesso. E ad ogni giro di programma (ogni scansione di esecuzione) incrementa una Word (DATA_100).

Ogni secondo salvo il numero delle scansioni effettuate in DATA_101, e azzero il conteggio. [come puoi vedere sotto]

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

LBL CONTASCANSIONI

LD_NOT TIM_00

TIM 00,#100 ;UN SECONDO

; il temporizzatore_00 ricomincia su se stesso

LD_NOT TIM_00

INC DATA_100;

; tutte le scansioni incremento il data di 1

LD TIM_00

MOV DATA_100,DATA_101;

MOV #000,DATA_100;

; in una scansione il temporizzatore_00 si accendera'

; e quindi salvo il data in un altro ed azzero

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Se mando i due DATA_xxx a Video DLC o con il programma DEBUG in On-Line, in DATA_100 vedo la progressione delle scansioni in DATA_101 vedo le scansioni che ha eseguito in quel secondo di tempo appena trascorso.

Ciao Lorenzo B.

Link al commento
Condividi su altri siti

Quale è il miglior modo per testare la prestazione di velocità di calcolo di una CPU?

Leggere i manuali.

I PLC da te menzionati hanno funzionalità diverse,quindi l'analisi andrebbe fatta in altro modo.

Link al commento
Condividi su altri siti

Ciao .... a tutti,

prima fai il calcolo teorico sui manuali, ... ti spiegano che ... il software ti dice che ...

.... e poi quando arrivi a far funzionare il tutto trovi le sorprese .....

Ciao Lorenzo B.

Modificato: da Lorenzo B
Link al commento
Condividi su altri siti

Se vuoi sapere in quanto tempo il PLC risolve un particolare blocco senza apprezzabili errori di misura puoi usare il metodo seguente.

Inizio blocco: scrivi direttamente un valore alto su di un'uscita senza ritardo come, ad esempio un'uscita analogica, oppure se il pLC ne è dotato un'uscita veloce come quelle per PWM.

Fine blocco: scrivi direttamente un valore basso sulla medesima uscita.

Fai girare il programma e, con un oscilloscopio, misuri il tempo in cui l'uscita sta alta. E' l'unico metodo che conosco che non sia affetto da errori apprezzabili. Con tutti i metodi che si basano sulle misure del tempo effettuate o dalla CPU o dal PC di sviluppo, c'è sempre un errore di misura

Link al commento
Condividi su altri siti

Sarò banale..ma la cosa migliore é leggere i manuali proprio perchè ogni CPU ha caratteristiche diverse (prezzo compreso) quindi valuta cosa devi scriverci sopra (la CPU)e decidi in base a quello..Insomma la ferrari é velocissima ma se devo fare un trasloco é meglio un furgone no?

Link al commento
Condividi su altri siti

cpu siemens S7-300/400

In OB1 esiste una tendina , che se la espandi ti mette a disposizione delle variabili

locali con amche le varie descrizioni

Una di queste variabili ti dice in millisecondi , l'ultimo tempo del ciclo di scansione

Viene usato per valutare alcune procedure quando si deve gestire qualcosa di sincrono e preciso , e quindi

essendo il tempo di scansione variabile ad ogni ciclo , dovuto alla comunicazione ma anche

alla comunicazione col pg che viene sempre sottovalutata.

Poi in dignostica , stato dell'unita , tempo di ciclo ti viene detto il tempo dell'ultimo ciclo , il piu lungo ed il piu corto

ciao

p.s. come ti viene detto da livio e' il modo piu preciso e professionale

Modificato: da walterword
Link al commento
Condividi su altri siti

  • 2 weeks later...

Ringrazio tutti per le risposte...

nella mia domani era sottointeso che poi la scelta dipenda dal tipo di applicazione (scusate se non sono stato chiaro in merito...).

per quel che concerne i manuali sono d'accordo sul consultarli per avere una risposta (come tutti facciamo)

...c'è sempre da tenere in considerazione che comunque i manuali o i datasheet sui quali basarsi in prima istanza nella scelta della CPU per la tal applicazione hanno alle spalle uno spirito commerciale che li anima e quindi.....ci siamo capiti...in questa affermazione mi trovo d'accordo con Lorenzo B nel messaggio del 12-02-2006

..ed allora scusate qualcuno sa come viene effettuato il test che imputa la velocità di esecuzione di un'operazione booleana o aritmetica poi riportato a catalogo.....?

..per capirci meglio per fare delle misure che forniscono risultati per le prestazioni di un prodotto o di un componente esistono delle Normative o Regole che danno l'attendibilità del risultato riportato secondo precise condizioni...dove si possono consultare tali informazioni?

...dove è possibile consultare il testo completo delle IEC61131-2 e IEC61131-4 in formato elettronico....?

Grazie

Link al commento
Condividi su altri siti

Ciao a tutti.

e ciao a StingyJack.

Se ti puo' essere utile (e' di alcuni anni fa') sulle normative che ho, c'e' scritto:

CEI comitato elettrotecnico

CNR consiglio nazionale delle ricerche

AEI associazione elettrotecnica ed elettronica italiana

NORMA ITALIANA CEI CEI EN 61131 Controllori Programmabili

parte 1 - Informazioni generali

parte 2 - Specificazioni e prove delle apparecchiature

parte 3 - Linguaggi di programmazione

parte 4 - Raccomandazioni per l'utilizzatore

parte 5 - Specificazione di servizio di comunicazione

Sede del punto di Vendita e di Consultazione

20126 MILANO - Via Monza, 261

tel 0225773.1

fax 0225773.222

e-mail cei[at]ceiuni.it

Sono normative e ti danno l'indicazione o la raccomandazione che certe cose dovrebbero essere fatte cosi'. (...)

L'unico sistema sicuro che abbiamo utilizzato quando abbiamo provato i temporizzatori millesimali (su porzioni di programma ... cioe' decine o centinaia di singole istruzioni, comprensivo della porzione di sistema operativo di base, e non su istruzioni singole) e' stato quello di prendere un oscilloscopio e di controllare un ingresso e un'uscita, oppure un'accensione e uno spegnimento di un'uscita. Molto simile a quello descritto da Livio.

Con KERNEL puoi anche rinfrescare delle uscite in qualsiasi momento del programma o della subroutine, e quindi accenderle e spegnerle a piacimento. (Comando RFSH_OUT)

Penso che sui manuali dei PLC sia scritto il calcolo puramente teorico, contando i cicli macchina del microprocessore per eseguire nell'insieme le singole operazioni.

Lorenzo B.

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