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.

Język drabinkowy - lektura,materiały

roden 17 Sep 2012 12:21 13431 46
SterControl
  • #1
    roden
    Level 9  
    Potrzebuję wszelkich materiałów na temat LD, jakąś propozycję lektury.
    Szczerze, to potrzebuję jakiegoś nakierunkowania, na czym się skupić, aby dokonać specyfikacji programów drabinkowych w swojej pracy. Mam kilka pomysłów tj. przekształcenie z sieci Petriego czy z różnych funkcji logicznych na LD, ale nie wiem czy to dobry kierunek i co dalej. Może ktoś podpowie. Pozdrawiam.
  • SterControl
  • #3
    roden
    Level 9  
    Ok, popróbuję tym symulatorem, choć posiadam też dwa podobne, wrzucane z resztą tutaj chyba.
    Też jakby ktoś mógł podpowiedzieć na temat zastosowania LD. Czy skupić się na samej analizie drabinek i np. układach, w którym żarówka świeci albo coś się porusza czy też jak wspomniałem przekształcenia z innych układów logicznych (sieć petriego itp.). Czyli jak to w praktyce wygląda. Pozdrawiam.
  • #4
    ElMapet
    Level 20  
    LD - podstawowy język każdego sterownika PLC. Zastosowanie ma praktycznie wszędzie gdzie stosuje się PLC.
    Są inne języki. Programista wybiera sobie ten który mu się najbardziej podoba, w którym najlepiej się czuje. Czasami firma zlecająca ma własny standard programowania dla wszystkich, i wymaga żeby był LD, ST, Graph wg jej instrukcji. Można pisać w wielu języka przy jednym projekcie.

    jeżeli już zabierać się to za te najbardziej popularne czyli Siemens, AB, Omron
  • SterControl
  • #5
    roden
    Level 9  
    Było w planach programowanie sterownika Siemensa, ale spaliło na panewce i jakby teraz muszę przedstawić sposób działania drabinek "na sucho". Stąd szukam czegoś, co by było przejrzyste do przedstawienia. Obecnie korzystam z programu do nauki PLC, w którym są rózne schematy (napełnianie zbiornika itp.), to wydaje się być fajnym pomysłem, bo programowanie drabinek to prędzej czy później przyswoje, tylko gorzej stworzenie do tego interfejsu tj. właśnie zobrazowanie tego na konkretnych przykładach (układy).
  • #6
    ElMapet
    Level 20  
    polecam LogixPRO który jest przerobiony z RSLogix od Allena Bradleya z dodanym symulatorem, i kilkoma przykładami.
    działa 15 dni, można go również przedłużyć
  • #7
    roden
    Level 9  
    Obecnie testuję LOGO! v7. Chciałbym odwzorować przykładowy program z powyższych symulacji, np. sterowanie zbiornikiem, tak aby sprawdzić czy zasymuluje się już na prawidziwym sterowniku (w teorii) w LOGO!. Czy np. taki oto układ można przedstawić

    Język drabinkowy - lektura,materiały

    czy to nie ma sensu tak przekształcać ?
  • #8
    jestam
    Automation specialist
    roden wrote:
    czy to nie ma sensu tak przekształcać ?

    Nie rozumiem pytania. Schemat powyżej opisuje pewien algorytm sterowania, zapisz go w Logo i potestuj.

    W ramach ćwiczeń zastanów się, co się stanie gdy jednocześnie zostaną załączone (i przytrzymane) obydwa sygnały NAPEŁNIJ i OPRÓŻNIJ. Co by się stało, gdyby 2 i 3 szczebel drabinki zamienić miejscami, a co, gdyby obecny 3 szczebel znalazł się na początku programu (na górze).
  • #9
    roden
    Level 9  
    jestam wrote:
    Schemat powyżej opisuje pewien algorytm sterowania, zapisz go w Logo i potestuj.


    Teraz jasne. Próbóję właśnie wpisać ten algorytm w Logo.

    Mam pytanie, pewnie banalne, co odpowiada w Logo cewce ustawiającej i kasującej ?
    2. Jak zrobić, aby np. styk w drugiej drabince był skojarzony z tym samym adresem bazowym co cewka wyżej (w tym algorytmie oba mają adres %R0000).
  • #10
    ElMapet
    Level 20  
    te %R0000 to marker, czy też zmienna pomocnicza.

    W s7 jest to M0.0 do MXXXX.7 w zależności od modelu.

    nie wiem jak jest w Logo, ale tam raczej w blokach robi tak jak elektronikę, łącząc ze sobą wszystko ścieżkami.
  • #11
    roden
    Level 9  
    Yhym, tylko że jak przypisze cewce w I drabince adres M1 (dla ustawiającej ) i M2 (dla kasującej), to już w III drabince mogę ustawić tylko adresy od M3. Także nie będą tak samo "skojarzone" jak wyżej w algorytmie, gdzie dwie cewki miały ten sam adres bazowy..

    Dwa, stykowi w II drabince mogłem ustawić adres tak jak cewce w poprzedniej drabince (%R0000) czyli M1 jako wyjście, gdy kliknąłem 2 razy na styk, mogłem dodać M1, ale oznaczone było jako M1[wyjście], pytanie czy to jest poprawnie..
  • Helpful post
    #12
    jestam
    Automation specialist
    W Logo nie ma cewek --(S)-- i --(R)--. Musisz użyć 2 bloczków przerzutnika RS i odpowiednio połączyć wejścia NAPELNIJ i OPROZNIJ.

    Język drabinkowy - lektura,materiały

    W efekcie program w Logo nie odwzorowuje dokładnie programu w drabince. Zastanów się nad skutkami jednoczesnego podania sygnału NAPELNIJ i OPROZNIJ w drabince, jak pisałem wcześniej, i przetestuj to w Logo.

    Cewki --( )-- lub --(/)-- mogą być sterowane tylko z jednej drabinki (w wielu sterownikach PLC to ograniczenie nie jest wymuszane, ale sterowanie --( )-- z kilku drabinek to niemal zawsze błąd).
  • #13
    roden
    Level 9  
    jestam wrote:

    Musisz użyć 2 bloczków przerzutnika RS i odpowiednio połączyć wejścia NAPELNIJ i OPROZNIJ.

    Dzięki :)
    jestam wrote:

    Zastanów się nad skutkami jednoczesnego podania sygnału NAPELNIJ i OPROZNIJ w drabince

    Wówczas nastąpi jednoczesne zwolnienie zaworów dopływu jak i odpływu, czyli niejako woda zostanie wymieniona (jeśli będzie w basenie, poziom zbiornika pozostanie bez zmian) ..

    jestam wrote:

    Co by się stało, gdyby 2 i 3 szczebel drabinki zamienić miejscami a co, gdyby obecny 3 szczebel znalazł się na początku programu (na górze).

    Podałem sygnał przy stanie drabinek jakim podałeś i gdy zamieniłem 2 z 3 i program reaguje tak samo.. czy źle mi się wydaje?

    Gdy 3 szczebel będzie tym pierwszym, czyli OPRÓŻNIJ, wtedy chyba nie będzie miało racji całe działanie zbiornika, gdyż zablokujemy sobie możliwość napełniania, gdyz odpływ będzie otwarty ..
  • #14
    jestam
    Automation specialist
    roden wrote:
    Wówczas nastąpi jednoczesne zwolnienie zaworów dopływu jak i odpływu

    1 szczebel ustawi R0 i skasuje R1, 2 szczebel otworzy dopływ
    3 szczebel skasuje R0 i ustawi R1, 4 szczebel otworzy odpływ
    Na podglądzie stanu sterownika będzie widoczny stan z końca cyklu, czyli wyłączony R0, włączony CZUJ_GORA i włączony DOPŁYW. Taka ciekawostka.

    roden wrote:
    gdy zamieniłem 2 z 3 i program reaguje tak samo

    Po zamianie: 1 szczebel ustawi R0 i skasuje R1, kolejny skasuje R0 i ustawi R1. Załączy się tylko ODPŁYW. Czyli sygnał OPRÓŻNIJ ma priorytet nad NAPEŁNIJ.

    Gdy obecny szczebel 3 znajdzie się na początku, sygnał NAPEŁNIJ będzie miał priorytet nad OPRÓŻNIJ.

    W symulacji na Logo priorytet ma sygnał R w przerzutniku RS. Przy jednoczesnej aktywacji NAPEŁNIJ i OPRÓŻNIJ oba wyjścia są nieaktywne.
  • #15
    roden
    Level 9  
    jestam wrote:

    1 szczebel ustawi R0 i skasuje R1, 2 szczebel otworzy dopływ
    3 szczebel skasuje R0 i ustawi R1, 4 szczebel otworzy dopływ

    Tu powinien być odpływ. Ale to przy stanie drabinek z początku tego algorytmu, to by się mi zgadzało :

    Język drabinkowy - lektura,materiały

    jestam wrote:
    Gdy obecny szczebel 3 znajdzie się na początku, sygnał NAPEŁNIJ będzie miał priorytet nad OPRÓŻNIJ.

    Jeszcze raz, obecny czyli co będzie na samej górze ?
  • #16
    jestam
    Automation specialist
    roden wrote:
    Tu powinien być odpływ

    Tak, poprawiłem w poście wyżej.

    roden wrote:
    jestam napisał:
    Gdy obecny szczebel 3 znajdzie się na początku, sygnał NAPEŁNIJ będzie miał priorytet nad OPRÓŻNIJ.

    Jeszcze raz, obecny czyli co będzie na samej górze ?

    Język drabinkowy - lektura,materiały
  • #17
    roden
    Level 9  
    jestam wrote:
    Gdy obecny szczebel 3 znajdzie się na początku, sygnał NAPEŁNIJ będzie miał priorytet nad OPRÓŻNIJ.


    A jeszcze co do powyższego stanu. Jak sprawdzić, że właśnie sygnał NAPEŁNIJ będzie miał priorytet, czyli jak sterować tymi przełącznikami, zawsze tak samo, czyli najpierw załączać I1, po kolei I2 itd. Jeśli mamy OPRÓŹNIJ na początku to jaki sygnał należy w LOGO! podać ?
  • #18
    jestam
    Automation specialist
    W normalnej drabince ostatni zapis jest ważny, więc dla programu jak wyżej wygrywa NAPEŁNIJ (zapisuje do %R0 i %R1 jako ostatni).

    W Logo jest bloczek przerzutnika RS, w którym priorytet ma R. Dlatego przy obu sygnałach we aktywnych, obydwa wyjścia są nieaktywne.
  • #19
    ElMapet
    Level 20  
    Działanie PLC
    jest cykliczne, np co 10ms (zależy od sterownika, od programu itd)

    1. Najpierw następuje odczyt wejść
    zapisanie do pamięci wirtualnej

    Wykonanie programu
    Linia w LAD czytana jest od lewej do prawej, a później sygnał jest przekazywany na cewki.
    Każda linia to zamknięta "funkcja", wynik wpisywany jest do pamięci.
    Przejście do kolejnej linii
    itd linia po linii

    Koniec programu. Odczyt z pamięci wirtualnej i przepisanie na wyjścia w PLC.


    Jak myślisz.
    Która linijka ma wyższy priorytet? 1 czy 2?
    Jeżeli w 1 linii mamy SET R0001
    a w 2 RESET R0001
    to przy dwóch stanach wysokich podanych na SET I RES jaki otrzymamy wynik?
  • #20
    roden
    Level 9  
    ElMapet wrote:
    Jak myślisz.
    Która linijka ma wyższy priorytet? 1 czy 2?


    Jeżeli mówimy o tym ostatnim stanie programu (opróżnij w 1 drabince), to wyższy priorytet będzia miała 2 drabinka, gdyż to ona jako ostatnia na nowo ustawi i skasuje rejestry pomocnicze i zapisze je do wirtualnej pamięci.. jeśli dobrze zrozumiałem co mi Panowie przekazaliście :)

    ElMapet wrote:

    Jeżeli w 1 linii mamy SET R0001
    a w 2 RESET R0001
    to przy dwóch stanach wysokich podanych na SET I RES jaki otrzymamy wynik?

    Język drabinkowy - lektura,materiały

    Załączyłem przełącznik I2 i uzyskałem stan wysoki na SET R0001 w 1 linii i RESET R0001 w 2. Czy wynik związany jest z tym, że również w ostatniej linii uzyskaliśmy sygnał, który dochodzi do I4 ?
  • #21
    ElMapet
    Level 20  
    Uzyskałeś
    SET na R0002
    i RESET na R0001

    Chodziło mi o załączenie I1 i I2 jednoczenie.

    I4 blokuje dalsze przejście sygnału.
    Jest Zero na I4 wiec taki "programowy przekaźnik jest otwarty" i nie przekazuje dalej prądu.

    Tak przy okazji żeby dobrze programować, to trzeba również dobrze czytać schematy elektryczne.
    Bo drabinka w PLC odwzorowuję schemat elektryczny.
    I4 to przekaźnik z 1 stykiem.
    Czujnik działa, idzie 24V, przekaźnik się załącza,
    styk NO działa i prąd może dalej płynąć.
  • #22
    roden
    Level 9  
    Popracuję nad schematami elektrycznymi, z resztą muszę.

    ElMapet wrote:
    Chodziło mi o załączenie I1 i I2 jednoczenie.

    A jeśli tak to przy jednoczesnym podaniu sygnału na I1 i I2 wyjścia będą nieaktywne.
  • #23
    jestam
    Automation specialist
    roden wrote:
    A jeśli tak to przy jednoczesnym podaniu sygnału na I1 i I2 wyjścia będą nieaktywne.

    To jest wynik inny niż uzyskałbyś w programie w języku drabinkowym.
    Przyczyna: Logo tak naprawdę programuje się w języku FBD (Function Block Diagram) a nie Ladder Diagram. Stąd RS to bloczek przerzutnika a nie dwie osobne cewki --(S)-- i --(R)--
  • #24
    eliyahu
    Level 12  
    Polecam program Easy Soft CoDeSys w wersji demo firmy Eaton Moeler. Poza standardową drabinką i bloczkami fbd ma jeszcze całkiem ciekawy symulator, który nie wymaga posiadania sterownika.
  • #25
    roden
    Level 9  
    Witam po przerwie. Potestowałem te programy i wyciągnąłem potrzebne wnioski, dzięki wszystkim. Niestety muszę i tak stworzyć do tego wszystkiego multimedialną bazę i pytanie co będzie najlepsze do odtworzenia tego ładnie w LD - np. flash? żeby pokazywało sposób działania tego układu lub w sumie nawet innego .
  • #26
    roden
    Level 9  
    Czy ktoś zajmujący się tutaj PLC programuje także we flashu ? Chodzi mi o stowerzenie przykładowego układu, który pokazuje sposób działania LD. Proszę o kontakt
  • #27
    ElMapet
    Level 20  
    Jakaś SCADA albo Visu, w zależności jaki masz sterownik.

    W sterowniku symulacja zachowania danego urządzenia.
  • #28
    roden
    Level 9  
    Nie działam bezpośrednio na sterowniku.
  • #29
    ElMapet
    Level 20  
    nie musisz mieć sterownika fizycznie.

    robisz program,
    a na początku zamieszczasz całą symulację wszystkich urządzeń oraz elementów w maszynie
    Np siłownik.
    Po dostaniu sygnału Q0.0 (wysuń) po 3 sekundach wiesz że ma się wysunąć, co potwierdzi czujnik na siłowniku. Po tych 3 sekundach od uzyskania Q0.0 zapalasz czujnik informujący o wysunięciu.

    a później normalny program
  • #30
    roden
    Level 9  
    Rozumiem. Czyli np. w SCADA zaprojektuje taki układ wykonawczy jak napełnianie zbiornika, czy też sterowanie wózkami ?