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

Monitorowanie dwóch wartości analogowych w oparciu o charakterystykę pracy

06 Paź 2017 15:26 711 26
  • Poziom 39  
    Witam,
    Chciałbym monitorować dwie wzajemnie powiązane wartości analogowe i reagować gdy wychodzą poza zdefiniowaną charakterystykę pracy układu.

    Dla przykładu: dwa czujniki prędkości, dwóch przenośników. Charakterystykę przyjmijmy liniową (zmiana prędkości jednego wywołuje identyczną zmianę prędkości drugiego, ale jest to realizowane w innym układzie). Chciałbym teraz monitorować czy ten inny układ nie "ucieka" poza charakterystykę (np. wskutek poślizgu elementu napędowego, jeden element ma wyższą prędkość od drugiego) z pewnym dopuszczalnym polem (górny i dolny limit) wychodzenia poza charakterystykę.

    Pytanie brzmi, czy są jakieś gotowe bloczki funkcyjne do użycia w LAD, czy muszę to sobie oprogramować w C?

    Sęk w tym, że charakterystyka nie zawsze będzie liniowa, więc prosta różnica dwóch wartości nie wystarczy.

    Opiszę to może w formie wycinka z programu C:
    Kod: c
    Zaloguj się, aby zobaczyć kod
  • Relpol przekaźniki
  • Relpol przekaźniki
  • Poziom 34  
    Zalezy od rodzaju sterownika, ale bloczki matematyczne ma wiekszosc, trzeba tylko odpowiednio ulozyc dzialania, aby uzyskac rzadany efekt.
  • Poziom 34  
    Sa funkcje komparatorow, ktore porownuja wartosci. Czyli, mozna np sprawdzic czy w danym punkcie zmienna ma taka wartosc jaka miec powinna.

    Jesli chcesz cos bardziej szczegolowego to musisz znac typ sterownika
  • Poziom 39  
    kosmos99 napisał:
    Sa funkcje komparatorow, ktore porownuja wartosci. Czyli, mozna np sprawdzic czy w danym punkcie zmienna ma taka wartosc jaka miec powinna.
    Jakiś przykład, sterownika z takim komparatorem i jego nazwą?

    kosmos99 napisał:
    Jesli chcesz cos bardziej szczegolowego to musisz znac typ sterownika

    dedito napisał:
    Sterownik dowolny, nie mam narzuconego typu.
  • Poziom 34  
    Sterowniki Allena Bradleya, Siemensa maja takie funkcje. Moze jakies konkretne zadanie?
  • Poziom 34  
    W AB jest dostepna funkcja logarytmu naturalnego, trygonometryczne rowniez.
    Czyli wykorzystujac te funkcje na jej wejscie daje sygnal analogowy zadajacy predkosc, a z jej wyjscie sygnal analogowy na wejscie falownika, w bloku LIM okreslam uchyb i po dopowiednim przeliczeniu porownuje sygnal zadany z otrzymanym sygnalem z enkodera silnika. Jesli wartosc wychodzi poza widelki wysterowuje flage.
    To oczywiscie w wielkim skrocie. Chyba ze nie o to chodzilo
  • Poziom 34  
    W PLC z funkcja ln da rade tak zrobic.
  • Poziom 34  
    zeby zrealizowac zadanie z pierwszego postu nie trzeba zadnych skomplikowanych dzialan arytmetycznych.

  • Specjalista Automatyk
    To co zapisałeś w C można bez problemu zaimplementować w dużej części sterowników PLC. Nie kojarzę gotowego bloku o takiej funkcjonalności.
    Myślę, że mógłbyś śmiało spróbować np. S7-1200 i prawie w identycznej formie, jak wpisałeś, zrobić to w SCL, a bez sprzętu przetestować w PLCsim.
    Pytanie czy chcesz wzór do wyliczenia wartości oczekiwanej "zaszyć" na stałe czy definiować na ruchu?
  • Poziom 39  
    Moje główne pytanie dotyczyło gotowego bloczka w LAD bo, jak podejrzewam LAD ma każdy najprostszy sterownik(lub przekaźnik programowalny)co będzie przekładało się na niższą cenę.
    Metody IL, ST są już raczej z górnej półki cenowej, jak takie coś wybiorę to wtedy sobie wykorzystam wspomniane metody gdy nie będzie bloczka.
    Zdaję sobie też sprawę, że być może nie potrafię dokładnie opisać istotę problemu, dlatego proszę pytać gdy coś nie jest do końca jasne.
  • Poziom 34  
    Kolego najpierw piszesz, że:

    dedito napisał:
    Sterownik dowolny, nie mam narzuconego typu.


    A teraz:

    dedito napisał:
    co będzie przekładało się na niższą cenę.
  • Poziom 39  
    To niech będzie, że dowolny, ale żeby był z takim bloczkiem LAD lub z bloczkami z których obsłużę wymagania aplikacji.
    Z takich podstawowych bloczków powinienem obsłużyć proste równania, jak się zmieni charakterystyka, to trzeba będzie wprowadzić program na nowo.
  • Poziom 34  
    W końcu:

    dedito napisał:
    powinienem obsłużyć proste równania


    czy:

    dedito napisał:
    Z logarytmem pewnie tak, ale czasem charakterystyką może być jakiś wzór wynikający z aproksymacji punktów pomiarowych definiujących prawidłowe parametry pracy.


    Wiec?

    Dodano po 1 [minuty]:

    Co masz na myśli pod pojęciem proste?
  • Poziom 34  
    dedito napisał:
    Problem w tym, że jak się zmieni charakterystyka to układ czeka zmiana oprogramowania.

    Tak.
    Jeśli wiesz jakie mogą być charakterystyki to możesz stworzyć podprogramy, które będą wywoływane jakimś warunkiem wyboru.
    Inna opcja, to jakby był panel operatorski i w nim wpisywać wzór.
  • Poziom 39  
    Sęk w tym, że nie wiadomo jakie będą charakterystyki. Na razie założyłem, że będą różne.
    Podejrzewam, że w praktyce będą raczej oscylowały "wokół" dwóch, trzech tych samych krzywych (z jakimiś tam przesunięciami czy drobnymi zmianami). Muszę to jeszcze rozeznać. Jak nie znajdę gotowego bloczka to wtedy opcję z podprogramami będę rozważał.

  • Specjalista Automatyk
    Wyznacz też budżet, bo wejścia analogowe w sterownikach zrobią największą cenę.
    Za niecałe 300E dostaniesz S7-1214 (wbudowane 2xAI 0-10V), Versamax Micro (wbudowane 2xAI 0-10V/4-20mA, 1xAO) w podobnej cenie, jakiś Fatek z modułami też pewnie tyle wyjdzie.