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.

Program PLC, co robię źle?

kasado 13 Mar 2011 23:04 2257 13
  • #1 13 Mar 2011 23:04
    kasado
    Poziom 9  

    Witam!

    Otóż dostałem za zadanie napisania (na próbę, dopiero się uczę), programu na przekaźnik programowalny Crouzet Millenium III. I już na samym początku mam problem.

    Otóż idea jest taka. Jest taśma włókniny napędzana przez silnik krokowy oraz dwa siłowniki, które mają za zadanie wycinania otworu w w tejże taśmie. każdorazowe wykrycie przez czujnik zbocza narastającego miało wymusić zatrzymanie silnika, aby umożliwić zejście siłowników i wycięcie otworu. No i właśnie mam problem z zatrzymaniem tego silnika.

    Jako warunki początkowe do wystartowania w ogóle silnika dałem standardowo na set przerzutnika:
    - przycisk START
    - oraz obydwa kontaktrony siłowników z zanegowanymi sygnałami (kontaktrony wykrywają tylko wysunięcie tłoka - takie są założenia).

    Natomiast na reset:
    - Przycisk awaryjny
    - STOP
    - oraz to nieszczęsne zbocze (które nie działa).

    Całość pokazuje ten zrzut:
    Program PLC, co robię źle?

    To co sam zauważyłem to, ze brużdżą wszystko te kontaktrony na secie (bo cały czas warunki są spełnione), zżprzez co krótki impuls ze zbocza nie zatrzyma silnika. Gdy daję bezpośredni sygnał z czujnika na reset, wtedy pomimo działania seta, reset wymusi jego zatrzymanie. Nie mogę również wyrzucić przerzutnika na starcie, bo to będzie wymagało każdorazowego wciśnięcia STARTU, a maszyna ma chodzić w automacie. Nic również nie daję wyrzucenie kontaktronów na reset (oczywiście bez negacji). Czy to w ogóle jest wykonalne. Niestety silnik ma zatrzymywać zbocze czujnika. :(

    Czy o czymś zapomniałem? Coś robię źle?

    0 13
  • #2 13 Mar 2011 23:30
    roks
    Specjalista Automatyk

    Witam

    Dlatego zawsze wolę programować sterownik w drabince - o niebo łatwiejsza analiza , to tak nawiasem .

    o ile dobrze rozumiem algorytm wygląda tak :

    jedzie taśma -> odliczona długość ( impuls ) -> taśma staje -> stemple idą w dół -> stemple idą w górę -> jedzie taśma > odliczona odległość ......

    Pytanie gdzie są czujniki stempli , podają sygnał jak są u góry ( pozycji spoczynkowej ?

    pozdrowienia

    0
  • #3 13 Mar 2011 23:39
    kasado
    Poziom 9  

    Tak algorytm, który podałeś właśnie ma tak wyglądać.

    Nie właśnie o to chodzi, że podają tylko sygnał na wysunięcie tłoka. Takie też było założenie. Wiem, ze byłoby to prostsze, gdyby pilnować właśnie czy siłowniki są wsunięte zamiast pilnować wysunięcia. Dlatego te zanegowane wejścia czujników siłowników na and'dzie.

    Czy w tej wersji da się coś zrobić?

    0
  • #4 13 Mar 2011 23:46
    kamilekaaaaa
    Poziom 23  

    Zrób czasówke działanie stepla i powinno ruszyć. Czyli stepel opada na jakiś czas i po tym wraca a maszyna rusza dalej.

    0
  • #5 13 Mar 2011 23:55
    roks
    Specjalista Automatyk

    Witam

    Żebym dobrze zrozumiał - sygnał do wysunięcia tłoka podawany jest z zewnątrz? czy ze sterownika ?

    jak działają kontaktrony - zaczyna się wysuwać i podaje sygnał , a jak się wsunie sygnał "0"

    pozdrowienia

    0
  • #6 13 Mar 2011 23:57
    kasado
    Poziom 9  

    kamilekaaaaa napisał:
    Zrób czasówke działanie stepla i powinno ruszyć. Czyli stepel opada na jakiś czas i po tym wraca a maszyna rusza dalej.


    Hmm. w sumie tak będzie. Czasówka będzie pilnować jak długo siłowniki będą wycinać otwór (nawiasem mówić wycinanie będzie włącznie z zgrzewaniem Ultradźwiękami). Ale to nie rozwiązuje niestety problemu jak silnik zatrzymać, aby te siłowniki mogły bezpiecznie zejść tylko i wyłącznie jak silnik stoi. :(

    roks napisał:
    Żebym dobrze zrozumiał - sygnał do wysunięcia tłoka podawany jest z zewnątrz? czy ze sterownika ?

    Tak czy inaczej bez czujników położenia stempli ( jakichkolwiek ) pozostaje metoda Kolegi kamilekaaaaa czyli zatrzymanie na określony czas taśmy .


    Są dwa kontaktrony "Stempel1 na dole" i "stempel2 na dole", które są podłączone pod sterownik pod wejścia I6 i IB mileśki. One dają sygnał, ze siłowniki są wysunięte.

    Przepraszam, bo dałem zrzut myślałem, że tam to widać ( w ogóle go widać? U mnie tak).

    0
  • #7 14 Mar 2011 00:02
    kamilekaaaaa
    Poziom 23  

    Lecz ta metoda zemści sie w ilości wykrajanych form i może nagenerowa wiele strat przez brak kontroli nad pozycja stepla. Stepel na dole bez negacji daje ci sygnał że zostało wykrojone i może iśc dalej.

    Ps. a ten czujnik to gdzie podpiołeś?

    0
  • #8 14 Mar 2011 00:02
    roks
    Specjalista Automatyk

    Zatrzymanie silnika w zasadzie nie jest problemem , problemem ewentualnie jest ponowne uruchomienie, i tu ważne jest w którym momencie pojawia się i znika sygnał z kontaktronów

    0
  • #9 14 Mar 2011 00:18
    kasado
    Poziom 9  

    roks napisał:
    Witam

    jak działają kontaktrony - zaczyna się wysuwać i podaje sygnał , a jak się wsunie sygnał "0"


    Wybaczcie, bo ciut chyba namieszałem. Tak jak piszesz miało być a nawet ma być. Ale zbyt mocno skupiłem się na tym, aby zabezpieczyć ruch silnika w sytuacji, gdyby operator chciał włączyć proces gdy np. brak ciśnienia w sieci (dlatego te zanegowane kontaktrony musiałem dać). W dalszej części oczywiście ma być tak jak piszesz. Sygnał "1" kontaktronów daje znać, że siłowniki są wysunięte, co z kolei daje sygnał wyjściom UD1 i UD2 do uruchomienia zgrzewania UD z czasem X. Po tym czasie siłowniki wracają( sygnał "0"), silnik rusza, wykrycie zbocza, silnik staje itd.

    Raz jeszcze wybaczcie, uczę się, dlatego może gdzieś popełniam błąd. :(

    0
  • #10 14 Mar 2011 00:21
    kamilekaaaaa
    Poziom 23  

    Jak szybko idzie ta taśma?

    0
  • #11 14 Mar 2011 00:33
    kasado
    Poziom 9  

    Szybkość taśmy będzie regulowana bezpośrednio ze sterownika krokowego (potencjometrem, to już doświadczalnie). Skok siłowników też nie będzie duży (100mm). Impuls do zatrzymania taśmy będzie dawał w gruncie rzeczy wycięty otwór w taśmie (lub jego początek, gdy jest nowy nawój).

    0
  • Pomocny post
    #12 14 Mar 2011 01:52
    roks
    Specjalista Automatyk

    Witam

    W Twoim programie wszystko jest ok. , z jednym małym wyjątkiem :

    Pomiędzy SET/RESET ( ostatni sterujący silnikiem ) a funkcję AND wstaw zbocze narastające , chyba TIMER BW nastawiony na " from OFF to ON "

    Powinno działać tak jak chcesz.

    Pozdrowienia

    0
  • Pomocny post
    #13 14 Mar 2011 09:07
    pafciowaw
    Specjalista Automatyk

    Witaj :)
    Procesy "po sobie postępujące" lepiej jest robić za pomocą bloków SFC - większa przejrzystość programu;w Twoim zadaniu np.

    0
  • #14 14 Mar 2011 20:10
    kasado
    Poziom 9  

    Dzięki chłopaki za pomoc. :D

    Rozwiązanie roks'a działa bez zarzutu, a i program pafciowaw'a też jest interesujący. Zainteresuję się tymi blokami SFC. Rozwiązanie u mnie w firmie chyba nie znane. :(

    Co prawda te dwa czujniki nazwane przez Ciebie miały mieć inne zastosowanie (chodzi mi o "koniec UD1" i "koniec UD2"), więc ta wersja i tak byłaby nie do przyjęcia przez Nadzór (muszę się trzymać specyfikacji), ale pomyślę, poczytam, więc może coś zmodyfikuję :)

    Póki co dzięki raz jeszcze. Pozdrawiam.

    Prośba do moderatora o nie zamykanie tego wątku, być może jeszcze będę miał pytanie odnośnie tego programu.

    0