Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

S7-1200 encoder inkrementalny - jak podlączyć i oprogramować

mahonxx 12 Jan 2015 11:47 5007 13
SterControl
  • #1
    mahonxx
    Level 12  
    Witam, szukam rozwiązania jak podłączyć i oprogramować enkoder inkrementalny, żeby liczył pozycje w dwie strony, tzn. ruch w prawo dodaje, ruch w lewo odejmuje.
    Ma ktoś może gotowe rozwiązanie, czy jest jakiś FB który obsługuje taka funkcję?
    Posiadam S7-1200 CPU 1215C, encoder jeszcze nie został zakupiony, ale gdzieś mi się pałętał 1024 TTL i na próbę chcę go wziąć.
    Kamery 3D Time of Flight - zastosowania w przemyśle. Darmowe szkolenie 16.12.2021r. g. 10.00 Zarejestruj się
  • SterControl
  • #2
    mmacura
    Level 17  
    Do tej jednostki centralnej wersja TTL się nie nadaje.
    Nie trzeba żadnych FB aby to działało. Wystarczy skonfigurować CPU w TIA portal i jest to obsługiwane sprzętowo, bez konieczności pisania własnego programu.

    Marek
  • #3
    mahonxx
    Level 12  
    TTL ma za niski poziom sygnału, czyli HTL? Możesz napisać coś więcej odnośnie konfiguracji CPU?
  • SterControl
  • #4
    mmacura
    Level 17  
    HTL to raczej coś co się kiedyś dawno temu stosowało w bramkach logicznych.
    Potrzebujesz enkoder w wyjściami w standardzie 24V. Jeżeli chcesz rozróżniać kierunek obrotu to muszą to być dwa wyjścia A i B przesunięte w fazie oraz, jeżeli chcesz co obrót resetować licznik jeszcze dodatkowo wyjście N.
    Jeżeli chodzi o konfigurację to TIA portal ma coś w rodzaju wizarda i żeby HSC (high speed counter) zaczął działać wystarczy wybrać i ustawić w nim kilka opcji. Są one dostępne w drzewie PLC/Device Configuration na zakładce Device Overview - opisane jako kolejne: HSC1 ... HSC6.
    Po ustawieniu tych parametrów i wgraniu projektu do CPU, beż żadnej linijki kodu, licznik będzie dostępny pod adresem podanym na zakładce jak wyżej.


    Marek
  • #5
    mahonxx
    Level 12  
    HTL (push-pull) logiczna 1 odpowiada napięciu zasilania (prawie), więc o taki encoder mi chodzi.
    www.astat.com.pl/automatyka/enkodery/inkrementalne/2400 .
    Przyglądałem się dzisiaj tym HSC, ale jako szybkim licznikom programowym. Nie wpadłem na to, że trzeba zrobić to w HW config.
    Jutro opowiem co i jak.
  • #6
    mahonxx
    Level 12  
    mmacura wrote:
    ]H
    Po ustawieniu tych parametrów i wgraniu projektu do CPU, beż żadnej linijki kodu, licznik będzie dostępny pod adresem podanym na zakładce jak wyżej.

    Encoder podłączony i licznik skonfigurowany, ale nie widzę, żeby był dostępny do wykorzystania. Jak odczytać wartość licznika, czy to DBW?
    Mogę prosić o pomoc, jakiś przykład? Mam CPU 6ES7215-1AG40-0XB0
  • #7
    mmacura
    Level 17  
    W konfiguracji hardware dla każdego HSC masz określone jaki obszer wejściowy zajmuje - standardowo o ile pamiętam dla pierwszego HSC jest ID1000 i dla następnych co 4 bajty.

    Marek
  • #8
    mahonxx
    Level 12  
    Idziemy w dobrym kierunku, tzn. licznik HSC1 Pod tym adresem faktycznie liczy i liczy w obu kierunkach.
    Problem jest tylko z częstotliwością, liczy do ok 50Hz -może mniej.
    Podejrzewam, że jest to związane z cyklem programu. Czy to nie ma znaczenia i samo wywołanie HSC powoduję przerwanie?
  • #9
    mmacura
    Level 17  
    Jeżeli masz sterownik z firmware V4.0 lub wyżej to musisz ustawić filtry na wejściach do których masz podłączony enkoder.
    Standardowo jest chyba 6,4ms, a to zdecydowanie za dużo. Ustaw poniżej 1ms.

    Marek
  • #10
    mahonxx
    Level 12  
    Możesz podpowiedzieć w którym to miejscu się ustawia?
  • #11
    mmacura
    Level 17  
    We właściwościach wejść wbudowanych w CPU

    Marek
  • #12
    mahonxx
    Level 12  
    Mam kolejne pytanie, stan licznika to jak przypuszczam DInt, jak go odczytać, jest gdzieś w DB?
  • Helpful post
    #13
    mmacura
    Level 17  
    Jest tam gdzie go obserwujesz. Dla HSC1 w ID1000. Stamtąd możesz go przepisać vdzie chcesz.

    Marek
  • #14
    mahonxx
    Level 12  
    Wszystko działa, THX