fiorezzz Inserito: 3 novembre 2022 Segnala Share Inserito: 3 novembre 2022 Salve a tutti In una CPU 1500 ho attivato un OB30 a 5ms In questo OB30 ad ogni suo ciclo imposto un merker a 1 se vale 0 a 0 se vale 1 Tracciando il grafico di questo merker noto che se il tempo ciclo totale cpu vale 1/2 ms la gestione del Merker è "regolare" nel senso che per 5ms lo vedo a1 e altri 5 ms lo vedo a zero Se nel programma PLC aggiungo "tanto codice" da portare il tempo ciclo PLC a 10ms non ho + questa "regolarità" come se OB30 non sia eseguito in modo "regolare" ogni 5 ms o addirittura che non vada ad interrompere OB1 ogni 5ms impostato Cosa sbaglio ? Ci sono delle priorità di esecuzione da impostare ? Link al commento Condividi su altri siti More sharing options...
acquaman Inserita: 3 novembre 2022 Segnala Share Inserita: 3 novembre 2022 Il trace è legato al ciclo dell'OB1, se hai un bit che cambia più velocemente non riesci ad apprezzare tutti i cambi di stato. Link al commento Condividi su altri siti More sharing options...
fiorezzz Inserita: 3 novembre 2022 Autore Segnala Share Inserita: 3 novembre 2022 OK Ho visto che nel Trace c'è Opzione "Ora Registrazione" che impostata su OB1 se lo metto su OB30 vedo il grafico regolare come mi aspetto Mi sfugge il senso "tecnico" di questo campo "Ora Registrazione" Gentilmente hai qualche spiegazione terra/terra (l'oscilloscopio lo uso raramente ..mancava nello Step7 e non sono abituato ) Link al commento Condividi su altri siti More sharing options...
fiorezzz Inserita: 3 novembre 2022 Autore Segnala Share Inserita: 3 novembre 2022 Mi sembra di capirla cosi. L'oscilloscopio se impostato su OB1 rileva lo stato delle variabili ad inizio ciclo OB1 se queste cambiano durante lo stesso OB1 (che sarà interroto prima o poi per eseguire OB30) non viene rilevato il cambiamento O mi sbaglio ? Quindi con oscilloscopio non posso verificare cosa esattamente succede a quel merker nel "combinato misto" OB1 ..OB30 (come probabilmente non vedrei eventuali variazioni fatte all'interno di OB1 ) Link al commento Condividi su altri siti More sharing options...
acquaman Inserita: 3 novembre 2022 Segnala Share Inserita: 3 novembre 2022 Anche io non lo uso molto, sembra che campioni in funzione del'ob a cui lo hai legato. Se hai un OB1 lento il tuo OB30 può essere elaborato più volte all'interno di un ciclo di OB1, quindi è normale che tu non vedi il tuo bit salire e scendere in quanto potrebbe cambiare di stato più volte nello stesso ciclo. Ma a cosa ti serve un bit così veloce? Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 3 novembre 2022 Segnala Share Inserita: 3 novembre 2022 1 ora fa, fiorezzz ha scritto: Se nel programma PLC aggiungo "tanto codice" da portare il tempo ciclo PLC a 10ms non ho + questa "regolarità" come se OB30 non sia eseguito in modo "regolare" ogni 5 ms E una prova che ho seguito più di 25 anni fa per testare la validità dell'interrupt a tempo in OB35. Modalità e risultati li ho descritti nella discussione relativa all'istruzione PAW. Torno a ripetere: temporizazione perfatta in funzione del tempo impostato. C'è un limite minimo che dipende dalla CPU; ad esempio con la vecchia S7-315, sotto i 5ms ci poteveno essere problemi. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 3 novembre 2022 Segnala Share Inserita: 3 novembre 2022 2 ore fa, fiorezzz ha scritto: L'oscilloscopio se impostato su OB1 rileva lo stato delle variabili ad inizio ciclo OB1 se queste cambiano durante lo stesso OB1 (che sarà interroto prima o poi Immagina la registrazione di una telecamera di videosorvaglianza. Se imposti che venga registrato un fotogramma al secondo, non puoi pretendere di vedere cosa accade tra un fotogramma e l'altro. Qui è la stessa cosa: se registri i dati con la frequenza di OB1, non puoi pretendere di registrare quello che accade in mezzo a due cicli di OB1. Link al commento Condividi su altri siti More sharing options...
fiorezzz Inserita: 4 novembre 2022 Autore Segnala Share Inserita: 4 novembre 2022 Si chiaro adesso grazie Volevo usare un OB a tempo per leggere + velocemente del tempo ciclo PLC da 10ms circa un ingresso digitale e attivare di conseguenza un uscita sempre + velocemente del ciclo PLC (senza fare molto altro ) Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 4 novembre 2022 Segnala Share Inserita: 4 novembre 2022 2 ore fa, fiorezzz ha scritto: Volevo usare un OB a tempo per leggere + velocemente del tempo ciclo PLC da 10ms circa un ingresso digitale Devi leggere l'ingresso usando l'istruzione duale di PAW, ovvero devi leggere direttamente dall'ingresso fisico; l'istruzione se pricord bene è PEW. Attenzione che se usi gli ingressi normali hanno comunque un filtro Hw, a memoria credo sia 1ms di ritardo, comunque è specificato nel foglio tecnico della scheda. Se vuoi leggere sneza ritardi devi usare gli ingressi veloci. Link al commento Condividi su altri siti More sharing options...
fiorezzz Inserita: 4 novembre 2022 Autore Segnala Share Inserita: 4 novembre 2022 Certamente PEW.. PEB.. PED Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 4 novembre 2022 Segnala Share Inserita: 4 novembre 2022 Però devi tenere anche conto del ritardo del filtro di ingresso sempre presente sugli ingressi digitali (tranne gli ingressi veloci). Link al commento Condividi su altri siti More sharing options...
batta Inserita: 4 novembre 2022 Segnala Share Inserita: 4 novembre 2022 Oltre a quanto detto da Livio, se hai bisogno di reazioni veloci al cambio di stato di un ingresso, la soluzione migliore sarebbe gestirlo con un interrupt ad evento. Per quanto riguarda letture e scritture immediate con S7-1200/1500, non si usa più la sintassi "PEW" e "PAW", ma si aggiunge "" dopo la variabile. Per esempio: IW0:P. Comunque, se scrivi PEWxxx, il TIA converte automaticamente nella nuova sintassi. Link al commento Condividi su altri siti More sharing options...
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