Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Pomiar częstotliwości występowania impulsu LOGO 8

25 Lip 2018 08:27 369 10
  • Poziom 10  
    Witam, szukam rozwiązania poniższego problemu.
    W logo 8 chciałbym mierzyć częstotliwość występowania impulsu z czujnika. I w przypadku gdy ta częstotliwość będzie większa np od 10 na godzinę ma ustawić się jakiś sygnał.
    Niestety nie mam pomysłu jak to rozwiązać. Jedyne co zrobiłem to mierzyłem w cyklach godzinnych ilość impulsów, ale niestety te rozwiązanie nie spełnia w pełni moich wymagań.
    Pozdrawiam.
  • Specjalista Automatyk
    Witam,

    Zliczaj impulsy w czasie. Uruchamiasz timer i do momentu aż timer nie doliczy
    do 1h liczysz impulsy. Po odliczeniu czasu obliczasz częstotliwość.

    Pozdraiwam,
  • Użytkownik usunął konto  
  • Poziom 10  
    Aktualnie tak mam to rozwiązane, ale to rozwiązanie nie spełnia moich wymagań.
    Podam przykład:
    Zakładam maksymalnie 10 sygnałów na godzine
    pierwszy sygnał z czujnika inicjuje start timera i od tego momentu zliczam impulsy przez godzinę. I np. przez pierwsze 30 min nie ma żadnego sygnału, przez nastepne jest 9. A więc licznik nie doliczył do 10.
    Koniec pracy timera inicjuje jego ponowny start i teraz przez pierwsze 30 minut mam 9 sygnałów, a przez kolejne 30 żadnego i znowu licznik nie doliczył.
    Przy takim rozwiązaniu mimo że w przeciągu godziny było 18 impulsów nie wykrywam tego.
    Mam nadzieje że w miarę wytłumaczyłem w czym tkwi problem.
    Moim zdaniem należało by sprawdzać czy w przeciągu ostatniej godziny wystąpiło 10 impulsów albo ewentualnie mierzyć średni czas miedzy np 10 ostatnimi impulsami. W sterowniku 1200 poradziłbym sobie z tym problemem ale niestety w LOGO 8 nie wiem jak.

    Dodano po 7 [minuty]:

    Do Art.B
    Witam, bardzo dobry pomysł. Niestety w przypadku który opisałem powyżej nie rozwiązuje problemu. Ma kolega może jakiś inny pomysł jak to ugryźć ?
    Pozdrawiam.
  • Specjalista Automatyk
    Witam,

    Jak startujesz timer to odrazu zliczaj. Bo z tego co napisałeś gubisz jeden sygnał.

    Pozdraiwam,
  • Poziom 10  
    Ten jeden sygnał nie rozwiązuje problemu, niestety.
  • Poziom 25  
    Wyliczanie cykli na godzinę - cykl/h . Pierwszy cykl , zostaje mu przypisana średnia wartość , reszta liczona po pierwszym 1 godzinnym cyklu , czyli ilość impulsów podzielona przez w/w czas. Oczywiście od włączenia Start do momentu zatrzymania Stop czas jest ciągle liczony w cyklach godzinnych.
  • Specjalista Automatyk
    Rayan19 napisał:
    Ten jeden sygnał nie rozwiązuje problemu, niestety.


    Rayan19 napisał:
    Zakładam maksymalnie 10 sygnałów na godzine pierwszy sygnał z czujnika inicjuje start timera i od tego momentu zliczam impulsy przez godzinę. I np. przez pierwsze 30 min nie ma żadnego sygnału, przez nastepne jest 9. A więc licznik nie doliczył do 10.


    Skoro nie było 10 impulsu to jasne jest że nie doliczy. Nie przeskoczysz tego
    jak nie masz 10 impulsu. Więc moje pytanie: Gdzie jest problem?.

    Pozdrawiam,
  • Poziom 10  
    Problem tkwi w moim pytaniu, wiem że skoro nie doliczy do 10 to nie wystawi sygnału. Chodzi o to że liczę sygnały w cyklach godzinnych a nie z ostatniej godziny.
    We wcześniejszym pytaniu zawarłem to:
    Zakładam maksymalnie 10 sygnałów na godzine
    pierwszy sygnał z czujnika inicjuje start timera i od tego momentu zliczam impulsy przez godzinę. I np. przez pierwsze 30 min nie ma żadnego sygnału, przez nastepne jest 9. A więc licznik nie doliczył do 10.
    Koniec pracy timera inicjuje jego ponowny start i teraz przez pierwsze 30 minut mam 9 sygnałów, a przez kolejne 30 żadnego i znowu licznik nie doliczył.
    Przy takim rozwiązaniu mimo że w przeciągu godziny było 18 impulsów nie wykrywam tego.
  • Poziom 31  
    Zrób tablicę 10 elementową (przesuwną albo ze wskaźnikiem) do której będziesz ładował czasy między impulsami. Dane o ostatnim impulsie niech wpadają do pozycji 0 a resztę przesuwaj w dół (przed zapisem do 0). Po impulsie sumujesz czasy z tabelki i sprawdzasz czy suma jest równa/większa niż 1 godzina czy nie.
  • Poziom 25  
    Czyli wyznacznikiem jest konkretna liczba którą ma osiągnąć w czasie godziny , więc co się ma stać jeśli nie doliczy lub się przeliczy? Z opisu można wnioskować , że jeśli w ciągu godziny nie ma 'tej' wartości to znaczy że się nie wykonało , czas się skasował i w sumie tyle . Odliczamy czas od nowa i oczekujemy na 'tą' konkretną wartość ale przyspieszając pracę etc. W/g mnie nie ma znaczenia , że policzyło do 18 w ciągu 2 godzin ( nie wiemy jaki jest proces i jego zmienność w czasie ) , czepiamy się godziny .