Vai al contenuto
PLC Forum


Clock Sotto I 10ms?


Messaggi consigliati

Inserito:

Salve a tutti ,

Vorrei scendere sotto ai 10ms di un “merker di clock” con la cpu 318,

dopo vari tentativi non riesco a concludere niente,

Posso fare qualche set merker in qualche OB e reset da un'altra parte,

Mah non ho nessun idea di come fare so solo che un mio collega era riuscito a fare una cosa del

genere con S7-400 leggeva un tempo di ciclo in un ob che era sempre uguale per ogni ciclo e si

creava un Fronte (almeno credo)

Spero di riuscire grazie per l’aiuto a tutti


Inserita:

Ciao

Io non ho mai fatto quello che chiedi, ma in effetti dovrebbe essere possibile:

a patto che il tuo loop sia chiaramente inferiore alla metà della frequenza del clock che richiedi visto che quello che ti sto suggerendo non usa interrupt.

Se controlli la tua OB1 potrai vedere che nelle variabili già dichiarate c'è OB1_PREV_CYCLE ossia la durata del loop appena passato in millisecondi.....

Quindi puoi tenere sotto il tempo trascorso e tentare di fare un clock il più preciso possibile, (notare POSSIBILE), infatti potrai tenere conto della differenza in millisec ma non penso che riuscirai ad ottenere sempre un'onda quadra perfetta.

Spero di esserti stato utile.....

Ciao

BR1

Inserita:

In configurazione hardware (schedulazione orologio) puoi impostare l'esecuzione di OB35 ogni 5 ms. Nella cpu318 dovresti avere a disposizione anche OB32 da usare per eventuali richiami a tempo più lenti.

Ovvio che le cose che andrai ad eseguire ogni 5 ms non dovranno essere pesantissime. Con una 318 comunque, se non hai un programma mastodontico, non dovresti avere problemi.

Inserita:

impostato l'esecuzione di OB35 ogni 1 ms.(per provare)

con una semplice istruzione:

es: un A100.0

= A 100.0

U A 100.0

SPBN AX1

L MD 40

+ 1

T MD 40 questo incrementa che e una meraviglia

AX1 :NOP 0

il clock lo voglio usare per generare delle rampe piu precise, dovrebe andare bene alla prima ocasione lo provo sul impianto.speriamo bene :D

grazie a tutti

Inserita:

Per delle semplici rampe 10 ms dovrebbero andare bene. Se invece devi fare un controllo asse allora il discorso cambia. Dipende comunque dalle prestazioni richieste.

Se non strettamente necessario non scenderei sotto ai 5ms con l'OB35 (meglio se non meno di 10ms). Se questo non ti dovesse bastare forse sarebbe il caso di analizzare bene l'applicazione e prendere in considerazione soluzioni diverse.

  • 4 months later...
Inserita:

ripesco questo thread perché ho bisogno di due delucidazioni in merito all'uso dell'OB35.... la prima è: come posso inibire il richiamo dell'OB35? in particolare mi serve che l'OB 35 venga richiamato solo in particolari condizioni di ciclo per fare un campionamento, ma non vorrei che girasse sempre.... La seconda delucidazione è: il valore in configurazione hardware sotto la voce esecuzione dell'OB35, è espresso in ms? (chiedo perché l'. dice che è in s :blink: )

Inserita:

Per adesso sto utilizzando all'interno dell'OB35, subito nel primo segmento, un codice tipo

O M1.0

O M1.1

SPB next

BEA

next: .....

.......

.......

Ci fosse una specie di disabilitazione sarebbe comunque meglio. :rolleyes:

Luca Bettinelli
Inserita:

L'OB35 viene richiamato ciclicamente dal sistema, non è possibile abilitarlo dal programma, se non ti serve l'elaborazione devi fare quello che hai fatto tu.

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