logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Programowanie wyświetlacza 7-segmentowego w języku drabinkowym GE Fanuc

Jawarider 05 Wrz 2012 13:13 2328 28
  • #1 11280752
    Jawarider
    Poziom 12  
    Posty: 107
    Ocena: 11
    Witam,

    uczę się obecnie języka drabinkowego (póki co w środowisku firmy GE Fanuc). Muszę napisać program do obsługi wyświetlacza siedmiosegmentowego.

    Chciałbym przypisać poszczególnym wejściom które, będą wysterowywane przez czujniki indukcyjne odpowiednie cyfry, tak aby po pojawieniu sie stanu wysokiego na wejsciu z czujnika pierwszego pojawiła sie na wyswietlaczu cyfra jeden, gdy aktywny będzie czujnik drugi cyfra 2 itd.Wyświetlacz jest jeden i nie ma możliwości aby aktywne byłay wszystkie czujniki jednocześnie.

    Jesli ktoś mógłby podpowiedzieć jakie rozwiązanie zastosować bedę wdzięczny.

    pozdrawiam Robert.
  • #2 11281260
    duddy

    Poziom 24  
    Posty: 577
    Pomógł: 56
    Ocena: 186
    Na początek pytanie jakiego sterownika używasz ?
    Nie da się tego zrobić na sterownikach ( przekaźnikach programowalnych ) w takim stopniu jak sobie to zakładasz. Sterowniki te działają na zasadzie zamykania lub otwierania obwodów, więc nie ma tam wbudowanego kontrolera wyświetlaczy segmentowych.
    Nawet przypisanie wyjść do poszczególnych pinów wyświetlacza nie wyświetli ci założonych wartości. Jedyne rozwiązanie to przypisanie każdej opisanej diory do danego czujnika.
    Konto firmowe:
    PITSTOP
    Piłkarska 21, Gorzów Wielkopolski, 66-400
  • #3 11282041
    falowniki.com
    Spec od Falowników
    Posty: 823
    Pomógł: 86
    Ocena: 133
    Witam.
    Zdziwiłbym się bardzo jakby nawet na najprostszym sterowniku nie można by było zrealizować takiej funkcjonalności. Oczywiście realizacja takiej aplikacji jest przerostem formy nad treścią ale jeśli jest już sterownik z siedmioma wyjściami lub budżet przewiduje takie rozwiązanie to nie ma problemu.
    W zależności od sterownika trzeba zbudować blok funkcyjny lub algorytm (np. LAD) do zamiany stanów poszczególnych wejść i przypisywanie im odpowiednich stanów na wyjściach sterownika tak aby świeciły poszczególne segmenty wyświetlacza odpowiednio do cyfr.

    Polecam zapoznanie się z tym dokumentem:
    http://home.agh.edu.pl/~sliwczyn/pdf_podst_elektron/lab/instrukcja_bramki_logiczne.pdf
  • #4 11282086
    Jawarider
    Poziom 12  
    Posty: 107
    Ocena: 11
    Sterownik GE Fanuc Versamax micro. Środowisko programistyczne Proficy machine edition

    Hmm nie widzę problemu żeby przypisać do jednego wejścia kilku wyjść i w ten sposób wysterować żądane segmenty wyświetlacza. Tyle że jest to robota na piechotę a ja chciałbym zrobić w sposób bardziej profesjonalny używając jakiejś funkcji operacji na bitach lub napisać jakiś dekoder aby uniknąć dużej liczby połączeń.

    Wśród bloków funkcyjnych faktycznie nie ma bloku obsługujących wyświetlacz ale jest mnóstwo innych narzędzi do programowania sterownika.
  • #5 11282098
    duddy

    Poziom 24  
    Posty: 577
    Pomógł: 56
    Ocena: 186
    A przepraszam przepraszam...
    Nie do końca zrozumiałem a raczej inny typ pod uwagę wziąłem.
    7 segmentowy będzie możliwy do zrealizowania... w myślach miałem gotowy układ 4 x 7 segmentów.
    Jeżeli sterownik posiada 7 x DO to jak najbardziej można to zrobić bez większego problemu :)
    jedynym wymogiem wiedzy będzie tu wiedza o bramkach logicznych i w zasadzie będzie gotowy układ :)
    Konto firmowe:
    PITSTOP
    Piłkarska 21, Gorzów Wielkopolski, 66-400
  • #6 11282124
    Jawarider
    Poziom 12  
    Posty: 107
    Ocena: 11
    falowniki.com napisał:
    Witam.
    Zdziwiłbym się bardzo jakby nawet na najprostszym sterowniku nie można by było zrealizować takiej funkcjonalności. Oczywiście realizacja takiej aplikacji jest przerostem formy nad treścią ale jeśli jest już sterownik z siedmioma wyjściami lub budżet przewiduje takie rozwiązanie to nie ma problemu.
    W zależności od sterownika trzeba zbudować blok funkcyjny lub algorytm (np. LAD) do zamiany stanów poszczególnych wejść i przypisywanie im odpowiednich stanów na wyjściach sterownika tak aby świeciły poszczególne segmenty wyświetlacza odpowiednio do cyfr.

    Polecam zapoznanie się z tym dokumentem:
    http://home.agh.edu.pl/~sliwczyn/pdf_podst_elektron/lab/instrukcja_bramki_logiczne.pdf


    Wyświetlacz zainstalowany jest w modelu dydaktycznym do nauki programowania sterowników PLC. Jest to model windy i wyświetlacz spełnia rolę piętro-wskazywacza. Dlatego obsługiwany będzie sterownikiem.
  • #7 11282409
    tomasz_kwasniewski
    Poziom 17  
    Posty: 163
    Pomógł: 18
    Ocena: 5
    A ja spytam kolegę duddego czemu niby 4x7segmentów nie można by obsłużyć? Co prawda nigdy tego nie robiłem na PLC, bo i poco, ale robiłem coś takiego na FPGA i nie widzę przeszkód aby zrobić obsługę 4x7 na PLC.
  • #8 11282441
    duddy

    Poziom 24  
    Posty: 577
    Pomógł: 56
    Ocena: 186
    Chodzi mi tu tylko o ograniczenie wyjść DO. Do układu sterownika nie posiadającego sprzętowego dekodera należało by wykorzystać osobne DO na pin wyświetlacza. Do obsługi 4 x 7 potrzebne by nam było 24 sztuk DO
    Konto firmowe:
    PITSTOP
    Piłkarska 21, Gorzów Wielkopolski, 66-400
  • #9 11282451
    tomasz_kwasniewski
    Poziom 17  
    Posty: 163
    Pomógł: 18
    Ocena: 5
    Jakie ograniczenie, nie rozumiem. Przecież nie mamy tylko wyjść przekaźnikowych, możemy wybrać wyjścia SINK lub SOURCE, i sprawa załatwiona. A jak kolega obliczył te 24DO, jak dla mnie wystarczyłoby 11.
  • #10 11282462
    duddy

    Poziom 24  
    Posty: 577
    Pomógł: 56
    Ocena: 186
    tomasz_kwasniewski napisał:
    Jakie ograniczenie, nie rozumiem.

    Przedstaw mi sterowanie takim sterownikiem PLC 4 segmentami na np. 10 wyjściach DO bez żadnego zewnętrznego dekodera ?
    Konto firmowe:
    PITSTOP
    Piłkarska 21, Gorzów Wielkopolski, 66-400
  • #11 11282491
    tomasz_kwasniewski
    Poziom 17  
    Posty: 163
    Pomógł: 18
    Ocena: 5
    Poprzez multipleksowanie. 4 wyjścia służą do podania minusa na aktualnie obsługiwany wyświetlacz, i 7 wyjść do do podania plusa na segmenty. co skan programu obsługujemy inny wyświetlacz. czas skanu na poziomie 2ms powoduje ze nawet nie zauważymy migania.
  • #12 11282500
    duddy

    Poziom 24  
    Posty: 577
    Pomógł: 56
    Ocena: 186
    To ustaw mi wyjścia na stan wyświetlacza 1234 ?
    Konto firmowe:
    PITSTOP
    Piłkarska 21, Gorzów Wielkopolski, 66-400
  • #13 11282518
    tomasz_kwasniewski
    Poziom 17  
    Posty: 163
    Pomógł: 18
    Ocena: 5
    z tego co przeczytałem do założyciel wątku uczy się laddera, większość sterowników plc, klasy s7-300 poradzi sobie z tym.
  • #14 11282529
    duddy

    Poziom 24  
    Posty: 577
    Pomógł: 56
    Ocena: 186
    No nie do końca widzę tu mowę o S7. Wystarczy przeczytać posty a będzie wiadomo o czym mową i że nie jest to S7 !
    Konto firmowe:
    PITSTOP
    Piłkarska 21, Gorzów Wielkopolski, 66-400
  • #15 11282552
    Jawarider
    Poziom 12  
    Posty: 107
    Ocena: 11
    owszem mamy, rzeczony sterownik ma 24 wyjścia binarne (tranzystorowe).

    Panie Tomaszu ale po co obsługiwać biegun ujemny wyjściem sterownika (-; wystarczy podpiąć na stałe.
  • #16 11282566
    duddy

    Poziom 24  
    Posty: 577
    Pomógł: 56
    Ocena: 186
    Jeśli ma to jest to do zrealizowania z poziomu samego PLC i gołego wyświetlacza.
    Konto firmowe:
    PITSTOP
    Piłkarska 21, Gorzów Wielkopolski, 66-400
  • #17 11282687
    Jawarider
    Poziom 12  
    Posty: 107
    Ocena: 11
    ok więc zaproponuję rozwiązanie które, mi wpadło do głowy. Można stworzyć program realizujący trans koder kodu 1 z 4 na kod wyświetlacza. Będą tylko cztery wejścia sterujące i będą załączane osobno
  • #18 11282726
    duddy

    Poziom 24  
    Posty: 577
    Pomógł: 56
    Ocena: 186
    Dokładnie
    Konto firmowe:
    PITSTOP
    Piłkarska 21, Gorzów Wielkopolski, 66-400
  • #19 11282773
    tomasz_kwasniewski
    Poziom 17  
    Posty: 163
    Pomógł: 18
    Ocena: 5
    Po to żeby zużyć mniej wyjść. Masz 4 wyświetlacze 7 segmentowe. Jeżeli będziesz sterował wszystko oddzielnie to potrzebujesz 28DO, i na stałe podany minus do każdego wyświetlacza. W przypadku gdy zrobisz to jak ja opisałem, poprzez 4 wyjścia wybierasz wyświetlacz który w danym skanie programu jest obsługiwany, i podajesz na niego z kolejnych 7 wyjść co ma tam się zaświecić. w sumie potrzebujesz 11DO, chyba jest różnica. Wystarczy Ci karta 16DO, która jest tańsza od karty 32DO, lub 2x16DO, lub nawet 16 + 8 DO a więc układ jest tańszy.
  • #20 11282976
    duddy

    Poziom 24  
    Posty: 577
    Pomógł: 56
    Ocena: 186
    tomasz_kwasniewski napisał:
    Po to żeby zużyć mniej wyjść. Masz 4 wyświetlacze 7 segmentowe. Jeżeli będziesz sterował wszystko oddzielnie to potrzebujesz 28DO, i na stałe podany minus do każdego wyświetlacza. W przypadku gdy zrobisz to jak ja opisałem, poprzez 4 wyjścia wybierasz wyświetlacz który w danym skanie programu jest obsługiwany, i podajesz na niego z kolejnych 7 wyjść co ma tam się zaświecić. w sumie potrzebujesz 11DO, chyba jest różnica. Wystarczy Ci karta 16DO, która jest tańsza od karty 32DO, lub 2x16DO, lub nawet 16 + 8 DO a więc układ jest tańszy.

    Jak może wybrać wyświetlacz i podać napięcia !! Jeśli chce podać wyświetlenie 1008 twoim sposobem to niby jak to będzie wyglądać 8888 ?
    Konto firmowe:
    PITSTOP
    Piłkarska 21, Gorzów Wielkopolski, 66-400
  • #21 11283513
    tomasz_kwasniewski
    Poziom 17  
    Posty: 163
    Pomógł: 18
    Ocena: 5
    Być może nie robiłeś nigdy czegoś takiego. To postaram się wyjaśnić w miarę prosto
    1. Chcemy wyświetlić 1008.

    Pierwszy skan programu podajemy minus na "zerowy" wyświetlacz licząc od prawej(na 1;2;3 podajemy plus), i plus na wszystkie segmenty a więc zapala się 8.

    Drugi skan, minus podajemy na wyświetlacz 1 a na pozostałe plus, na segmenty podajemy plus na segmenty poza środkową kreską. A więc na wyświetlaczu 1 zapala się 0.

    Trzeci skan tym razem podajemy minus na wyświetlacz 2, a na pozostałe plus, segmenty sterujemy jak w poprzednim przypadku i znów wyświetlamy 0 tyle że na wyświetlaczu 2.


    Swoją drogą to obsługa takiego wyświetlacza to 4x7segmentów to jedno z podstawowych ćwiczeń praktycznie na każdy laborkach związanych z cyfrówką, nie ważne czy to będą to mikroprocesory czy też układy programowalne.
    Czwarty skan analogicznie jak poprzednie z tym że tu aktywujemy 3 wyświetlacz, a na segmenty podajemy takie sygnały aby zapaliła się 1.

    Piąty skan wykonujemy to co w pierwszym i tak w kółko.

    Oko ludzkie przy skanie programu nawet 10ms, nie zauważy tego że tak naprawdę, jednocześnie pali nam się tylko jedna cyfra na jednym wyświetlaczu.

    A Ty jak myślisz jak działa taki dedykowany sterownik takiego wyświetlacza 4x7 segmentów. Oczywiście dochodzą kwestie techniczne, a mianowicie czy wyświetlacze są ze wspólną anodą czy katodą, ale to chyba kolega wie że mogą być takie i takie. I będzie wiedział jak sobie z tym poradzić. Jak nie to odsyłam do dokumentacji wyświetlacza.
  • #22 11284532
    duddy

    Poziom 24  
    Posty: 577
    Pomógł: 56
    Ocena: 186
    Chłopie może jakieś ćwiczenia miałeś, ale skoro tego nie robiłeś w sposób o którym piszemy to zgarnij tą swoją teorię i kup sobie taki przekaźnik i to zrób. Sam zobaczysz co wyszło :D hehehe Nie mam kam bo bym ci nagrał jak to wygląda w twojej wersji :D Praktyka kolego praktyka nie tylko teoria !
    Konto firmowe:
    PITSTOP
    Piłkarska 21, Gorzów Wielkopolski, 66-400
  • #23 11284637
    tomasz_kwasniewski
    Poziom 17  
    Posty: 163
    Pomógł: 18
    Ocena: 5
    Co ty się uparłeś na ten przekaźnik, PLC to nie tylko przekaźniki. Założyciel wątku UCZY SIĘ Laddera, rozumiesz. Sam stwierdziłeś że nie da się tego zrobić, potem piszesz że w sumie to myślałeś o czymś innym. Moja praktyka to 10lat pracy, na różnych sterownikach, od LOGO po s7-400 a także ich odpowiednikach innych producentów. To że całe życie pracujesz na jednostkach które ze względu na swe zasoby są nazywane przekaźnikami programowalnymi, to najwidoczniej zbyt słabo poznałeś TEORIĘ. A on jak będzie umiał zrobić to tak jak opisałem to pewnie poradzi sobie ze wszystkim co może spotkać w automatyce.
  • #24 11284842
    duddy

    Poziom 24  
    Posty: 577
    Pomógł: 56
    Ocena: 186
    Chłopie puknij się mocniej. Autor tego tematu wyraźnie podał typ jakiego dotyczy rozmowa, czy ty na prawdę nie potrafisz tego zrozumieć ??
    Konto firmowe:
    PITSTOP
    Piłkarska 21, Gorzów Wielkopolski, 66-400
  • #25 11285092
    tomasz_kwasniewski
    Poziom 17  
    Posty: 163
    Pomógł: 18
    Ocena: 5
    I napisał też że ma pojedynczy segment. To tobie przyśniły się 4 wyświetlacze. I jakoś nie mogę się doczytać że jego sterownik ma wyjścia przekaźnikowe. Co prawda nigdy nie procowałem akurat na fanukach ale zajrzałem do manuala, i bywają też wyposażone w wyjścia 24VDC. A ty ciągle tylko o swoich przekaźnikach.

    Sprawdziłem właśnie w pracy, i na moje S7-300 CPU314, śmiga bez problemu. Fanuk podaje czas skanu programu 0,9msek/kB operacji boolowskich więc tam też powinno pociągnąć.
  • #26 11289588
    jestam
    Specjalista Automatyk
    Posty: 1799
    Pomógł: 210
    Ocena: 145
    Niektóre VersaMax Micro mają wyjścia tranzystorowe. Z czasem przetwarzania podawanym przez GE byłbym ostrożny, bo nie uwzględnia czasu cyklu PLC z pustym programem - to jest rząd 5 ms dla VersaMax, dla VersaMax Micro nie pamiętam, ale krócej nie będzie. To są mimo wszystko słabiutkie sterowniki.

    duddy napisał:
    Chłopie puknij się mocniej.

    Kolego, może spróbuj podejść do dyskusji z nieco większym dystansem...
  • #27 11289617
    falowniki.com
    Spec od Falowników
    Posty: 823
    Pomógł: 86
    Ocena: 133
    Witam.
    Tak patrząc z boku na wiele wypowiedzi na tym forum, widzę że najbardziej ortodoksyjni są wyznawcy firmy na S.
    Pozdrawiam.
  • #28 11290014
    tomasz_kwasniewski
    Poziom 17  
    Posty: 163
    Pomógł: 18
    Ocena: 5
    Poczytaj sobie moje wpisy na innych, wątkach wcale nie jestem wyznawcą firmy na S. Tyle że jakoś trudno powiedzieć dyrekcji żeby wymieniła sterowniki na inne bo uważam że są lepsze. Na dzień dzisiejszy pracuję w zakładzie który oparty jest na Siemensie. Co nie oznacza że jestem jakimś jego fanem. Naprawdę zachęcam przeczytaj moje wpisy na innych wątkach, to zobaczysz jaki sterownik w mojej subiektywnej opinii jest najlepszy, i on na pewno poradziłby sobie z takim zadaniem. Tak samo jak przytoczony tutaj fanuk. Tylko ktoś się uparł na wyjścia przekaźnikowe jakby tylko takie występowały. A podany wyżej symbol rodziny sterowników wcale o tym nie mówi jakie tam są wyjścia, i tyle w temacie. Trzeba być otwartym na wszytko, to co mam u siebie, w zakładzie, warsztacie to nie koniec świata!!!!
  • #29 11576853
    Jawarider
    Poziom 12  
    Posty: 107
    Ocena: 11
    Problem rozwiązałem tworząc prosty transkoder z elementów logicznych dostępnych a LAD.

    Zamykam.

Podsumowanie tematu

✨ W dyskusji poruszono temat programowania wyświetlacza siedmiosegmentowego w języku drabinkowym (LAD) na sterowniku GE Fanuc Versamax Micro. Użytkownik poszukiwał sposobu na przypisanie cyfr do wejść wysterowywanych przez czujniki indukcyjne. Uczestnicy forum wskazali, że realizacja tego zadania jest możliwa, jednak wymaga zastosowania odpowiednich bloków funkcyjnych lub algorytmów do zamiany stanów wejść na wyjścia. Zasugerowano wykorzystanie multipleksowania, co pozwala na oszczędność wyjść cyfrowych (DO) poprzez obsługę segmentów wyświetlacza w cyklach. Ostatecznie autor problemu zaproponował stworzenie transkodera z elementów logicznych dostępnych w LAD, co rozwiązało jego problem.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA