Arkusz badania czujników zegarowych

Jednym z zadań, z którym zmierzyłem się na początku pracy, było przygotowanie arkusza do analizy wyników z badania czujników zegarowych. Badanie dobywa się przy użyciu specjalnego urządzenia pomiarowego, do którego podpina się badany czujnik. Urządzenie podpięte jest pod komputer, na którym do arkusza kalkulacyjnego zapisywane są wyniki badania.

Badanie polega na ustawianiu przy pomocy urządzenia kontrolnego kolejnych wartości na czujniku (w zależności od zakresu badanego czujnika) i zapisaniu wartości z urządzenia kontrolnego do arkusza kalkulacyjnego. Dane w arkuszu zapisywane są w kolejnych wierszach jednej kolumny. Badanie przeprowadza się w obu kierunkach, tj. od 0 do maksimum danego miernika i od maksimum do 0.

Weryfikacja wskazań polega na sprawdzeniu maksymalnych różnic dla badania rosnącego i malejącego w stosunku do wartości wzorcowej.

Poniżej znajduje się fragment wykresu z przykładowego badania.

Poszczególne linie oznaczają:

  • kolor niebieski – błędy wskazań pomiaru rosnącego
  • kolor różowy – błędy wskazań pomiaru malejącego
  • kolor brązowy – wartość histerezy (różnica między pomiarem rosnącym a malejącym)

Na wykresie zaznaczony jest obszar od 0,10mm do 0,20mm (oś pozioma),  w którym największa różnica w przedziale 0,1mm występuje w badaniu malejącym i wynosi 0,019mm.

Różnice te analizuje się dla różnych przedziałów w zależności od zakresu czujnika. I tak dla miernika 0,8mm będzie to:

  • przedział 0,1mm, badanie co 0,01mm z dokładnością 0,001mm
  • przedział 0,05mm, badanie co 0,05mm z dokładnością 0,001mm
  • cały zakres badanie co 0,01mm z dokładnością 0,001mm

Kolejne etapy sprawdzania miernika wyglądają następująco.

  1. Wykonanie pomiarówDane z urządzenia pomiarowego są zapisywane w kolumnie A przygotowanego arkusza. Komórka M1 zawiera numer wiersza z ostatnim pomiarem rosnącym.
  2. Obliczenie różnic
    Po przeliczeniu różnic dane w arkuszu wyglądają następująco
  3. Wykonanie analizy danych
    Poniżej arkusz po wykonaniu obliczeń. W kolumnach N, O i P widoczne są wyniki analizy. Dla zakresu 0,1mm maksymalna różnica 0,019mm występuje w pomiarze od 0,1mm dla pomiaru malejącego.
  4. Edycja wykresu
    Po przeliczeniu mamy gotowy wykres, w którym ręcznie należy zaznaczyć maksymalne różnice zgodnie z obliczonymi danymi. Na rysunku poniżej przedstawiony jest wykres z badania co 0,05mm. Kolorem seledynowym zaznaczony jest zakres 0,15mm-0,20mm badania malejącego (kolor różowy), w którym różnica wynosi 0,019mm

Poniżej procedura do analizy różnic w całym zakresie czujnika:

Public Sub SprawdzCalyZakres(test)
    Rem Sprawdzenie różnicy w całym wykresie
    Rem sprawdzamy różnicę między najwyższą wartością a najniższą
    Rem z obu badań
    Rem Kolejny zakres - zwiększamy przedział o 0.1
    Rem Badamy przedział 0.1 do 2.1
    Worksheets("Arkusz2").Range("A1:IL500").Value = Null
    Licznik = SprawdzLicznik()
    Licz = 0
    Rem Tablica do przechowywania wartości
    Rem indeks liczony od 1
    Dim Tablica(200, 5) As Single
    Dim Wynik(200, 5) As Single
    PozWynik = 0
    
    For a = 1 To Licznik
        Rem Pomiar w dół
        Tablica(a, 1) = Worksheets("Arkusz1").Cells(a + 1, 1).Value
        Rem Pomiar w górę
        Tablica(a, 2) = Worksheets("Arkusz1").Cells(a + 1, 2).Value
        Rem Wzorzec
        Tablica(a, 3) = Worksheets("Arkusz1").Cells(a + 1, 3).Value
        Rem Różnica pomiar w dół - Wzorzec
        Tablica(a, 4) = Worksheets("Arkusz1").Cells(a + 1, 4).Value
        Rem Różnica pomiar w górę - Wzorzec
        Tablica(a, 5) = Worksheets("Arkusz1").Cells(a + 1, 5).Value
    Next a
    LiczbaZbiorow = 0
    p = 3
    MaxRoznica = 0
    
    Rem *************************************************************
    Rem *** Max1,Min1 - pomiar rosnący
    Rem *** Max2, Min2 - pomiar malejący
    Min1 = Tablica(1, 4)
    Max1 = Min1
    Max2 = Tablica(1, 5)
    Min2 = Max2
    For a = 1 To Licznik
        If Max1 < Tablica(a, 4) Then Max1 = Tablica(a, 4)
        If Min1 > Tablica(a, 4) Then Min1 = Tablica(a, 4)
        If Max2 < Tablica(a, 5) Then Max2 = Tablica(a, 5)
        If Min2 > Tablica(a, 5) Then Min2 = Tablica(a, 5)
        Rem ***********dodatkowe wyniki w Arkusz2 ************
        If w > 0 Then
            Worksheets("Arkusz2").Cells(1, a + 2).Value = Tablica(a, 3)
            Worksheets("Arkusz2").Cells(2, a + 2).Value = Tablica(a, 4)
            Worksheets("Arkusz2").Cells(3, a + 2).Value = Tablica(a, 5)
        End If
        
        PomiarOd = Tablica(a, 3)
        
        Dim abc As TTablica
            abc = WyznaczWartosci(Max1, Min1, Max2, Min2, PomiarOd)
                       
            If abc.MaxRoznica > MaxRoznica Then
                Max = abc.Max
                Min = abc.Min
                MaxRoznica = abc.MaxRoznica
                Ktory = abc.Ktory
                OdPomiaru = abc.OdPomiaru
                
            End If
                
        Rem LiczbaZbiorow = LiczbaZbiorow + 1
        Rem Wyświetlenie pomiarów wzorcowych w kolumnie 1
        If w > 0 Then Worksheets("Arkusz2").Cells(a, 1).Value = Tablica(a, 3)
    Next a
    Rem ********************************************************************************
    Rem zakres do: Licznik-Zakres+2 - pomiar
    Rem Licznik+1 - ostatni pomiar - 10
    Rem Max, Min, MaxRoznica, zakres, Ktory, pomiar
    c = PiszWynik(Max, Min, MaxRoznica, "caly", Ktory, OdPomiaru)
End Sub

Jeszcze funkcja WyznaczWartosci użyta w powyższej procedurze

Function WyznaczWartosci(Max1, Min1, Max2, Min2, PomiarOd) As TTablica
Max = 0
Min = 0

        Rem ******WYKRES ROSNACY**********
        If Max1 > 0 And Min1 > 0 Then Roznica1 = Max1 - Min1
        If Max1 > 0 And Min1 < 0 Then Roznica1 = Max1 - Min1
        If Max1 < 0 And Min1 > 0 Then Roznica1 = Min1 - Max1
        If Max1 < 0 And Min1 < 0 Then Roznica1 = Max1 - Min1
        If Max1 = 0 Or Min1 = 0 Then Roznica1 = Max1 + Min1
        If Roznica1 < 0 Then Roznica1 = (-1) * Roznica1 Rem 
*********WYKRES MALEJACY************
If Max2 > 0 And Min2 > 0 Then Roznica2 = Max2 - Min2 If Max2 > 0 And Min2 < 0 Then Roznica2 = Max2 - Min2 If Max2 < 0 And Min2 > 0 Then Roznica2 = Min2 - Max2 If Max2 < 0 And Min2 < 0 Then Roznica2 = Max2 - Min2 If Max2 = 0 Or Min2 = 0 Then Roznica2 = Max2 + Min2 If Roznica2 < 0 Then Roznica2 = (-1) * Roznica2 If Roznica1 > Roznica2 Then MaxRoznica = Roznica1 Max = Max1 Min = Min1 Ktory = "rosnący" End If If Roznica2 > Roznica1 Then MaxRoznica = Roznica2 Max = Max2 Min = Min2 Ktory = "malejący" End If If Roznica2 = Roznica1 Then MaxRoznica = Roznica1 Max = Max1 Min = Min1 Ktory = "rosnący" End If Dim Wynik As TTablica Wynik.Max = Max Wynik.Min = Min Wynik.MaxRoznica = MaxRoznica Wynik.Ktory = Ktory Wynik.OdPomiaru = PomiarOd WyznaczWartosci = Wynik End Function