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

PLC Shneider Modicon Premium + Enkoder

szymon_8511 17 Cze 2011 12:40 2124 10
  • #1 17 Cze 2011 12:40
    szymon_8511
    Poziom 11  

    Witam
    Próbuję uruchomić enkoder (mok30) podłączony do sterownika jak wyżej po przez rozszerzenie CTY 2A sterownika Shneider Electric (TSXP57). Nie bardzo wiem jak zabrać się za jego obsługę w "Unity Pro" robiłem podobne rzeczy ze sterownikami Simensa, ale z tym programem mam pierwszy raz styczność i w ogóle mi nie leży. Enkoder ma tutaj służyć do określenia położenia wirnika prądnicy. W załączeniu pdf-y enkodera i modułu rozszerzenia. Głównie korzystam z języka drabinkowego, ktoś się orientuje czy w programie trzeba wrzucić jakiś licznik ? w jakiej postaci jest zwracana wartość z tego modułu ?!
    za wszelaką pomoc z góry dzięki i pozdrawiam serdecznie :)

    0 10
  • Pomocny post
    #2 18 Cze 2011 12:30
    sinuh3
    Poziom 17  

    W Unity nie pracowałem zbyt długo więc może się trochę to różnić, ale jest podobny do starszego PL7 więc:
    Musisz skonfigurować 'hardware'sterownika. W zakładce katalogu projektu STATION/Configuration/Hardware configuration będziesz miał podgląd płyty bazowej steronika, "wirtualnie" wklejasz twój moduł rozszerzeń (CTY2A) - tam gdzie go fizycznie umieściłeś. lista dostępnych modułów powinna się pojawić po kliknięciu w wolny slot..

    Wtedy możesz dwukrotnie kliknąć w Twój właśnie wklejony moduł i go skonfigurować (zapewne jakieś CTU, CTD i inne możliwości się pojawią).
    W Schneiderach jest tak, że jest podział funkcyjny pamięci: tj %M, %MW (podobnie jak w siemensie) oraz %K - stałe, %S - zmienne systemowe, %I/Q wejścia wyjścia. W zakładce "variables" katalogu projektu znajdować się będzie lista wszystkich dostępnych zmiennych, łącznie z tymi, które "pojawiły się" w momencie dołożenia modułu do projektu.
    Zapewne zmienna trzymająca wartość z licznika, będzie tam też wylistowana. Zapewne pod jakąś zmienną typu %MW lub %MD.

    Jeżeli uda Ci się połączyć ze sterownikiem, to zakładka hardware udostępni Ci dwie opcje - znaną już configuration oraz debug. Debug umożliwi jakiś tam podgląd stanu licznika jeśli klikniesz w moduł dołożonego rozszerzenia.

    0
  • #3 18 Cze 2011 13:27
    szymon_8511
    Poziom 11  

    Dzięki za pomoc Kolego. Zechciej mi zatem jeszcze powiedzieć w jaki sposób działa ten enkoder bo rozumiem że moduł sterownika zlicza impulsy z czujnika (jeśli ten ma rozdzielczość 1024 tzn. że max zliczy 1024 impulsy w jedną i drugą stronę i się wyzeruje ), wówczas żeby przetworzyć na sygnał analogowy napięciowy (0-10V) wystarczy że zwróconą wartość podzielę załóżmy przez 100 i mogę wysyłać na analoga ?!

    0
  • #4 19 Cze 2011 06:57
    sinuh3
    Poziom 17  

    Co do tego kasowania wskazania przy np 1024, to nie wiem, ale myślę, że jest to do skonfigurowania w tej zakładce o której Ci mówiłem. Znając ten sprzęt myślę, że możliwości Cię nie zawiodą. Podeślij wygląd tej zakładki to rozkminimy co i jak, jakby było trzeba.
    Przepisanie do analoga będzie wyglądało tak jak mówisz. W PL7 (wcześniejszym unity) w LD korzysta się do tego np z bloczka "operate" w którym wpiszesz zapewne %QWx.y:=%IWz,ź/1000

    0
  • #5 21 Cze 2011 01:34
    szymon_8511
    Poziom 11  

    Witam kolegę z Twoją pomocą na pewno to rozkminimy ;)
    Rzecz pierwsza- mam problem ponieważ zmienna wyjścia analogowego jest typu INT a zmienna licznika jest DINT i nie bardzo wiem jak to przetworzyć... po drugie mniej istotne niestety zakłądki Variables są puste- nie wiem z czego to wynika, próbowałem różnych opcji typu ładuj dane z PLC, I/O scaning itp... i nic z tego ale to jak mówiłem mniej ważne ponieważ nieco zaczaiłem sprawę z adresowaniem zawsze jest kolejno I/Q + litera o typie zmiennej później "slot", "kanał", "nr zmiennej", (ewentualnie nr bitu jeszcze dochodzi). Tak bynajmniej zrozumiałem hepla po angielsku ;) Trzeci i to już poważniejszy kłopot to że licznik nie zlicza mi ruchów enkodera, oczywiście ręka go napędzałem ale myśle że to nei ma znaczenia, jak zobaczysz na srenach monitowałem zarówno w zakładkach "debug" jak i "variables" w trybie run i nie bardzo wiem o co chodzi, dlaczego w ogóle nie reaguje, wcześniej testowałem te podglądy przy zmianach napięcia wejścia analogowego i tam wszystko chodziło jak ta lala, myśle że problem jest w konfiguracji enkodera....
    Dorzucam kilka screnów z dzisiejszej próby uruchomienia, myślę że zaczaisz co jest na którym więc nie będe opisywał ...
    pozdrawiam i czekam na dalsze wskazówki :)

    Dodano po 1 [minuty]:

    aj chyba nie weszły obrazy wiec jeszcze raz...
    PLC Shneider Modicon Premium + Enkoder PLC Shneider Modicon Premium + Enkoder PLC Shneider Modicon Premium + Enkoder PLC Shneider Modicon Premium + Enkoder PLC Shneider Modicon Premium + Enkoder PLC Shneider Modicon Premium + Enkoder

    0
  • #6 21 Cze 2011 09:30
    szymon_8511
    Poziom 11  

    Jeszcze znalazłem w wykładach opis konwerterów dla simensa, orientujesz się czy są takie w Unity? bo nie bardzo wiem jak z tego wybrnąć z regóły idzie się w kierunku rozszerzenia "mniejszej" na "większą" no ale tutaj nie bardzo można chyba tak zrobić, więc jak obrobić 32bitową na 16bitową ?
    PLC Shneider Modicon Premium + Enkoder

    0
  • #7 21 Cze 2011 14:29
    sinuh3
    Poziom 17  

    Co do konwersji. To w drabince wstaw bloczek typu operate i w helpie poszukaj funkcji konwersji właściwej konwersji. To co wpiszesz w operate może wyglądać np: %MF0: = INT_TO_REAL (%MW25). Na resztę odpowiem wieczorem..

    0
  • #8 21 Cze 2011 21:33
    szymon_8511
    Poziom 11  

    Wyczaiłem o co chodzi, daną już mam przetworzoną i obrobioną :) teraz pozostaje kłopot resetowania licznika, nie mogłem tego ustawić ale to może wynikać z tego że coś jest nie tak podłączone- mimo że licznik zlicza to ciągle w "debug" widnieje "invalid measurment" ale myślę że dojde do tego co jest źle podłączone ewentualnie skonfigurowane :-) doszedłem też jak odnaleźć zmienne- trzeba otworzyć właściwości danego modułu i tam jest zakładka I/O Menage- tam sie zaznacza jakiego typu zmienne nas interesują i ona się wyświetlą :) Byłbym jeszcze wdzięczny za pomoc w konfiguracji tego enkodera inkrementalnego mianowicie jest to MOK40- nie taki jak na pdfie musiałem niestety zmienić :) piszą w jego dokumentacji że ma on rozdzielczość od 50- 1224 impulsów na obrót- jak to skonfigurować ? wyjścia ma typu OC ... na wcześniejszych obrazkach są z grubsza widoczne zakładki licznika.

    0
  • #9 21 Cze 2011 23:36
    sinuh3
    Poziom 17  

    Obawiam się, że nie rozumiem. To wykonanie MOKa, będzie mówiło o tym ile on ma pulsów na obrót - i nie da się go skonfigurować -zamawiasz taki jak Ci trzeba. Natomiast PLCkowi trzeba powiedzieć jaką enkoder ma rozdzielczość. Zacząłbym od poszukania w manualu opisu tej zakładki.

    0
  • #10 24 Cze 2011 19:10
    szymon_8511
    Poziom 11  

    Zgadza się, źle przeczytałem dokumentację- 0d 50 do 3600 te czujniki mogą mieć w zależności jaki się zamówi ... z grubsza sobie już z tym poradziłem paru rzeczy jeszcze nie rozumiem ale myślę że to jest do opanowania :) najgorzej było zacząć, W Unity prawie wszystko da się robić bloczkiem "Operate" :) dzięki wielkie kolego niesamowicie mi pomogłeś :) w razie co będę dosyłał jeszcze pytania :)
    pozdrawiam

    0