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.

Programowanie a automatyka?

Frekz 21 Aug 2020 11:51 750 5
  • #1
    Frekz
    Level 5  
    Hejka,

    chciałbym poprosić o poradę w sprawie programowania. Ogólnie programowanie zawsze mi jakoś szło. Miałem zawsze jakieś pomysły na rozwiązywanie problemów, nawet nie znając w pełni oprogramowania i dobrze mi mijał przy tym czas. Jakoś zawodowo trochę moje zadania i to nad czym pracowałem odbiegło całkowicie od programowania do tego stopnia, iż nie było czasu nawet się tym zająć. Widząc jednak jak przeciętnie traktuje się automatyków (o ile nie pracują na własnej działalności) w Polsce myślę, żeby nauczyć się programowania, które pozwoliłoby mieć dodatkową umiejętność w zawodzie, ale też możliwość przebranżowienia.

    Czy doradzilibyście mi, czy np. język: C# byłby użyteczny także na potrzeby automatyki? Przyznam, że trochę zacząłem się bawić we "Frontend", co sprawia mi dużo frajdy i możliwe, że pozwoli dorobić w przyszłości, ale jednak zastanawia mnie nad językiem fajnym, użytecznym nie tylko na potrzeby informatyki, ale także potrzeby automatyki. Co myślicie?
  • #2
    Ravender
    Level 20  
    Wpisz sobie w wyszukiwarkę np. pracuj.pl słowo "programista" i zobacz, kogo szukają najczęściej :).

    C# jest ok chociaż jak wszedłem w Pythona to się zakochałem i już przy nim zostałem. W pythonie piszę sobie np. generatory kodu do S7 czyli zamiast samemu klepać kod do sterownika to ustalam tylko parametry i wio... otrzymuję gotowy szablon sekwencji czy czego tam potrzebuję. Python jest o tyle fajny, że ilość kodu potrzebna do wygenerowania jakiegoś wyniku jest minimalna.

    Nie sądzę jednak (przynajmniej w mojej branży) by jakieś własne programistyczne inwencje twórcze przeszły w automatyce. Wszystko opiera się raczej na rynkowych rozwiązaniach, gdzie w razie jakiegoś problemu można liczyć na support z zewnątrz. Jedynie jakieś może pobieranie danych ze sterownika i wyświetlenie ich jako ładnej strony www można wykorzystać w praktyce. Nie licz na zbudowanie wlasnego, wielkiego oprogramowania integrującego wiele sterowników w jakąś sieć itd. To wszystko już jest i można kupić gotowca.
  • #3
    Maly
    Level 31  
    Jak C+, to jako programista, chyba lepiej płatna niż automatyk "na swoim" ;) Aczkolwiek znam aplikacje do systemów wizyjnych pisane w C.

    Automatyk pisze w tym środowisku, jakie jest dedykowane pod dany sterownik - a producentów jest sporo. Ciężko ogarnąć wszystkie sterowniki.
  • #4
    Frekz
    Level 5  
    Właśnie to też mi się podoba w programowaniu. Mogę być sterem i okrętem tego co robię, że tak sobie zażartuję :). Mogę zrobić coś od zera, a nie składać tak naprawdę klocki. Mało tego, wątpię bym na swoim mógł zarobić dużo, ponieważ bez zespołu raczej nie zrobię dobrych skomplikowanych maszyn, bo jednak próbując specjalizować się we wszystkim, tak naprawdę nie będzie się robiło nic dobrze. Zresztą było takie ciekawe założenie, które kiedyś słyszałem - opanowanie czegoś do poziomu eksperta zajmuje około 7-12 lat. Więc opanowanie tylu dziedzin, ile w Polsce oczekuje się od automatyka, nawet po 70 roku życia może być zbyt mało :).

    Właśnie jeśli chodzi o C, to walczyłem z tym kilka razy, ale możliwe, że miałem złe podejście lub flashbacki ze studiów wracały i mi to kompletnie nie podchodziło. Teraz pobawiłem się dosłownie trochę C# i mogę powiedzieć, że spodobało mi się dosyć, ale pytanie właśnie, czy da się jakkolwiek to wykorzystać też w automatyce, czy raczej szukając nowej pracy w automatyce, to nie będzie czynnikiem typu "must have"? Jeśli chodzi o automatykę to wiem właśnie, że C i C++ są dobre, nawet w tematach programowania robotów czy arduina odnajdują się podobno świetne, ale pytanie jak wygląda z dużo młodszym i rozwijanym C#?
  • #5
    Ravender
    Level 20  
    Pisałem ci przecież... zapomnij raczej o programowaniu C# w automatyce. No chyba, że trafisz do jakiejś firmy piszącej własną scade czy jakies systemy archiwizacji danych.

    Chcesz programować maszyny to programuj. Sterowniki PLC mają dedykowane środowiska i już. C# nie jest do tego potrzebne.

    Jedynym rzeczywistym wykorzystaniem języków programowania wyższego rzędu z jakim się spotkałem (C++) to drivery jakiś protokołów komunikacyjnych zaworów. Kolega pisał w elektrowni coś takiego. Ja przez 12lat doświadczenia w branży nie wykorzystałem języka wyższego rzędu ani razu w pracy z maszyną. Jedynie piszę w nim generatory ze względu na wygodę i moje lenistwo w klepaniu podobnego do siebie kodu w PLC
  • #6
    ssllaawweekk
    Level 14  
    Ostatnio uczyłem się języka Python. Programowałem w Windows i na RPI.
    Ten język pozwala w bardzo krótkim czasie osiągać ogromne postępy. Już w kilka dni stworzyłem pierwszą grę, później kalkulator BIN na DEC z interfejsem graficznym. Bardzo łatwe jest tworzenie plików .exe dla Windows. Sam język jest bardzo łatwy do nauki w przeciwieństwie do dodatkowych "bibliotek" jak np Tkinter, Pygame, Pyserial. Tego ciągle się uczę. Jest jeszcze micropython.

    Niestety nie widzę zastosowania dla tych umiejętności w automatyce, przynajmniej jeśli chodzi o programowanie sterowników PLC. Są oczywiście osoby, które zrobią z RPI sterownik ale w przemyśle takie rozwiązanie jest nieprofesjonalne.

    Jeśli chodzi o programowanie PLC to raczej język ST jest konieczny przynajmniej w przypadku Eliwell FREE.