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

s7-1200 zliczanie nieregularnych impulsów

18 Paź 2012 11:57 2163 7
  • Poziom 14  
    Witam, chciałbym na sterowniku S7-1200 napisać funkcję zliczającą ilość nieregularnych i występujących co kilka sekund impulsów w długim przedziale czasowym (10-20s). Najlepiej, gdyby takie zliczania były wywoływane cyklicznie, a kolejne 3-4 wartości były zapisywane do bloku DB, tak bym mógł wyświetlać średnią arytmetyczną z 3-4 ostatnich pomiarów. Impulsy pochodzą wprost z DI.

    Z zapisywaniem danych i wyliczeniem średniej problemu nie ma, ale nie wiem jak rozwiązać kwestię pomiarów.

    Jak dobrze podejść do tego ideowo, tzn czy powinienem skorzystać z jakiegoś specjalnego OB? Piszę zarówno w LAD jak i SCL.

    Używam TIA Portal V11
  • SterControlSterControl
  • Poziom 20  
    1. Było nie dawno tutaj o adresowaniu pośrednim w S7-1200

    https://www.elektroda.pl/rtvforum/topic2392855.html


    2.
    jak ja bym to zrobił.
    1. Utowrzył UDT gdzie miałbym nr pomiaru i czas w jakim został wykonany pomiar.
    Następnie DB z x * UDT w zależności ile chcesz mieć tych pomiarów.

    Co do funkcji.
    Najpierw użyłbym funkcji Move blk
    Podczas wystąpienie sygnału, wykrywanego przez detekcje zbocza
    następuje przesunięcie o 1 pozycje w dół tablicy w DB,
    i wpisanie do tablicy na pozycje 1 aktualnych danych z timera oraz licznika (UDT)

    co do obliczania średniej to oczywiście
    ostatni wynik z timera przekonwertowany do MS i podzielony przez wynik z licznika.
    następnie zmiana wyniku dzielenia na format normalnego czasu.

    oto tyle
  • SterControlSterControl
  • Specjalista Automatyk
    Warto dodać koledze informację, żeby zrobił ograniczenie na przesuwanie się po polach w bloku DB (żeby nie próbował wpisywać danych w nie istniejące pola w DB), bo się zapali lampka SF :).
  • Poziom 14  
    Kilka godzin mi zajęło (a właściwie sterownik co chwilę się wykrzaczał :)), ale metodą prób i błędów zrobiłem potrzebny schemat w LAD z małą pomocą SCL. Fajna sprawa łączenie 2 jezyków.

    Co myślicie o tym rozwiązaniu?
    Tutaj LAD (miałem problem z uploadem na forum)

    s7-1200 zliczanie nieregularnych impulsów

    Tutaj SCL
    Kod: pascal
    Zaloguj się, aby zobaczyć kod


    Generalnie raczej działa tak jak trzeba (nie miałem czasu potestować), czasy jeszcze nie są docelowe, takie krótkie do testów.
  • Poziom 20  
    Pomyśl jak będziesz potrzebował

    300 takich pomiarów i z niego wyciągnąć średnią
  • Poziom 14  
    To raczej użyję wtedy pętli. Chociaż jak czasem ją stosowałem, to wnioski z tego takie, że sterownik szybko wiesza się gdy wrzuca się jedną w drugą.
  • Poziom 20  
    to spróbuj tak zrobić.

    Na pewno więcej ci to da niż ten łopatologiczny program
  • Poziom 14  
    To zbyteczne, bo to program do konkretnego zastosowania :)
    Wg mnie jedyną funkcjonalnością jaką trzeba doklepać, to zmienny dzielnik średniej, tak by nie brał pod uwagę pomiarów zerowych, gdy nie ma historii.