montana Inserito: 6 ottobre 2006 Segnala Inserito: 6 ottobre 2006 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 delgenere con S7-400 leggeva un tempo di ciclo in un ob che era sempre uguale per ogni ciclo e sicreava un Fronte (almeno credo)Spero di riuscire grazie per l’aiuto a tutti
Bruno Inserita: 6 ottobre 2006 Segnala Inserita: 6 ottobre 2006 CiaoIo 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.....CiaoBR1
batta Inserita: 6 ottobre 2006 Segnala Inserita: 6 ottobre 2006 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.
montana Inserita: 6 ottobre 2006 Autore Segnala Inserita: 6 ottobre 2006 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 meravigliaAX1 :NOP 0il clock lo voglio usare per generare delle rampe piu precise, dovrebe andare bene alla prima ocasione lo provo sul impianto.speriamo bene grazie a tutti
batta Inserita: 6 ottobre 2006 Segnala Inserita: 6 ottobre 2006 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.
tode72 Inserita: 8 febbraio 2007 Segnala Inserita: 8 febbraio 2007 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 )
tode72 Inserita: 8 febbraio 2007 Segnala Inserita: 8 febbraio 2007 Per adesso sto utilizzando all'interno dell'OB35, subito nel primo segmento, un codice tipoO M1.0O M1.1SPB nextBEAnext: ...................Ci fosse una specie di disabilitazione sarebbe comunque meglio.
Luca Bettinelli Inserita: 8 febbraio 2007 Segnala Inserita: 8 febbraio 2007 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.
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora