OpenPLC

Rozmowy dotyczące budowy, działania i naprawy urządzeń automatyki przemysłowej
Awatar użytkownika

Autor tematu
tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 8
Posty: 7870
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

OpenPLC

#1

Post napisał: tuxcnc » 24 paź 2022, 14:59

Zupełnie przypadkiem trafiłem na dość ciekawy projekt https://openplcproject.com/download/
Od razu uprzedzam, że ciekawy, ale paskudnie spartaczony.
Nawet te wersje, które można ściągnąć ze zlinkowanej strony nie są najnowsze, zawierają błędy, i pierwszą czynnością powinno być uaktualnienie (File->Check for updates), taki tam burdel...
Najpierw próbowałem uruchomić wersję dla Linuksa, na dzień dobry zaczęły się schody...
Program korzysta z python2, który jest przestarzały i od dwóch lat niewspierany. Niektóre dystrybucje Linuksa pozwalają na równoczesne zainstalowanie python2 i python3, ale efekty są trudne do przewidzenia, bo obie wersje gryzą się ze sobą i nigdy nie wiadomo które pliki się uruchomią...
Tak więc na Xubuntu 22.04 nawet nie próbowałem, ale mam na maszynie wirtualnej Xubuntu 18.04, w którym python2 jest standardem.
Niestety du** blada...
Błąd z kategorii debilnych ale powszechnych, czyli zmajstrowanie kretyńskich zależności...
Otóż program kompilowany na określonej dystrybucji potrafi być zależny od biblioteki glibc w ściśle określonej wersji, z czym właśnie tutaj mamy do czynienia.
Oczywiście można podłożyć glibc z innej dystrybucji, ale to pomysł wyjątkowo głupi, bo na pewno coś innego działać przestanie...
Tak więc 18.04 odpada...
Ale zanim w ogóle do tego doszedłem, to byłem święcie przekonany, że program się wiesza i postanowiłem zainstalować wersję na Windows.
Windows 11, instalacja bez problemów, ale przy próbie wgrania na płytkę Arduino Uno program stanął dęba jak pod Linuksem.
Komunikat błędu z kategorii debilnych i mylących, że czegoś tam się nie da usunąć bo inny program tego używa...
Wyjaśnienie znalazłem zupełnym fuksem i nigdy bym się tego nie domyślił...
Otóż, po poleceniu wgrania do ściśle określonej płytki, program ściąga wszelki możliwe kompilatory i inne śmiecie, także do tych płytek, których nigdy na oczy nie widzieliśmy i nigdy nie użyjemy...
W sumie jest to dobrze ponad gigabajt kodu, co przy dobrych wiatrach może trwać godzinę...
Żeby było weselej, zamknięcie programu nie powoduje zabicia procesów potomnych, które nadal ściągają pliki w tle.
W tej sytuacji, po ponownym uruchomieniu programu nie da się nic zrobić, bo faktycznie "inne programy" korzystają z tych samych plików które należy ściągnąć...

Czyli, po zainstalowaniu programu robimy jego update, po czym uruchamiamy wgrywanie na płytkę i cierpliwie czekamy aż skończy...

Po ściągnięciu wspomnianego gigabajta program rozpakowuje i instaluje pliki do folderu arduino15, co by wskazywało, że najpierw należy zainstalować ArduinoIDE, po czym zajęte jest prawie siedem gigabajtów na dysku, co trzeba mieć na uwadze przed instalacją...
Jak wspomniałem totalny debilizm.
Po tym program działa jak można się spodziewać...

Wróćmy do Linuksa.
Po doświadczeniach z instalacją na Windows wiedziałem już wszystko co powinienem.
Wybór padł na Xubuntu 19.10, czyli ostatnią dystrybucję z python2 w standardzie.
Tu się zaczęły poważniejsze schody, bo opiekunów Ubuntu po prostu posrało...
Wszystkie starsze wersje oprócz LTS zostały usunięte z serwerów, zarówno pliki instalacyjne iso, jak i repozytoria...
Czyli Xubuntu 19.10 najpierw nie zainstalujemy, bo nie mamy z czego, a potem nie będziemy mogli używać, bo repozytoria zostały usunięte z serwerów Canonical...
Na pierwsze receptą jest szukać. Ja akurat znalazłem plik iso w swoich backupach, ale gdzieś w internecie istnieją jakieś kopie...
Na drugie, też trzeba szukać, ja znalazłem http://old-releases.ubuntu.com/ubuntu/.
Po prostu w pliku /etc/apt/sources.list należy podmienić adresy repozytoriów, po czym apt zacznie normalnie działać.
Po zainstalowaniu ArduinoIDE oraz OpenPLC wszystko zacznie działać jak pod Windows.
Nie wiem czy da się zainstalować na Xubuntu 20.04 i nie mam ochoty sprawdzać.

Wygląda to tak:
Obrazek
Xubuntu 19.10 jest uruchomiony na maszynie wirtualnej (quemu/kvm).
Okno w lewym dolnym rogu jest oknem gospodarza (Maszyna wirtualna -> Przekierowanie urządzenia USB) i umożliwia dostęp do urządzeń USB gospodarza z poziomu systemu operacyjnego gościa.
Reszta widocznych okien należy do systemu gościa.
W OpenPLC Editor jest otwarty plik Blink z przykładów.
Ten plik skompiluje się i wgra do Arduino Uno, ale LED migać nie będzie, bo plik przykładu ma charakter uniwersalny i nie ma przypisanych fizycznych pinów do sygnałów. W przypadku Uno trzeba do odpowiedniej kratki "Location" wpisać "%QX0.3", co akurat odpowiada pinowi 13 Arduino.
Opis dla różnych płytek jest tutaj: https://openplcproject.com/docs/2-4-phy ... ddressing/
Jak widać lista obsługiwanego sprzętu jest dość długa...

I na razie to by było na tyle.




Adi123
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 2
Posty: 365
Rejestracja: 20 lis 2020, 18:00

Re: OpenPLC

#2

Post napisał: Adi123 » 24 paź 2022, 18:21

Fajna opcja jak ktoś chce się pouczyć programować plc na "żywej materii", lub za grosze sterować np oświetleniem lub nawadnianiem ogrodu (chyba, że żona jest gotowa zdzieli tłuczkiem po głowie, jak jej kwiatki uschną ;) ).

Ba, na Arduino, czy Rasberry nawet powstają komercyjne "pseudo plc"- ale też raczej do bardzo budżetowych zastosowań.

Do przeciętnego przemysłu Arduino się nie nada, ze względu na o wiele większą wytrzymałość "regularnych" PLC, uniwersalność, łatwość rozbudowy czy podmiany.


kasjo
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 1
Posty: 323
Rejestracja: 23 lis 2005, 18:07
Lokalizacja: Białystok

Re: OpenPLC

#3

Post napisał: kasjo » 24 paź 2022, 19:19

To już chyba wolę wydać 55 euro na runtime dla codesysa i mieć działający PLC na raspberry niż tracić czas i nerwy na coś takiego :)
Chociaż do nauki to starczy darmowa wersja którą trzeba restartować co 30min


mineque
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 2
Posty: 592
Rejestracja: 12 wrz 2010, 01:59
Lokalizacja: Południe

Re: OpenPLC

#4

Post napisał: mineque » 24 paź 2022, 20:13

Za 55 euro to możesz kupić plc delta electronics dvp serii slim
Niskobudżetowe, przemysłowe, z darmowym softem

Awatar użytkownika

Autor tematu
tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 8
Posty: 7870
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: OpenPLC

#5

Post napisał: tuxcnc » 24 paź 2022, 20:21

Jak chcecie sobie pogadać co można sobie kupić i za ile, to sobie załóżcie swój wątek, zamiast śmiecić w moim.


Adi123
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 2
Posty: 365
Rejestracja: 20 lis 2020, 18:00

Re: OpenPLC

#6

Post napisał: Adi123 » 24 paź 2022, 20:34

kasjo pisze:
24 paź 2022, 19:19
To już chyba wolę wydać 55 euro na runtime dla codesysa i mieć działający PLC na raspberry niż tracić czas i nerwy na coś takiego :)
Chociaż do nauki to starczy darmowa wersja którą trzeba restartować co 30min
W sumie, za 99 euro można mieć dożywotnią licencję na symulator fabryki, o tam też sobie wiele grzebać, to faktycznie szkoda się bawić w takie pseudo plc, zrobione na hobbystycznym układzie


mineque
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 2
Posty: 592
Rejestracja: 12 wrz 2010, 01:59
Lokalizacja: Południe

Re: OpenPLC

#7

Post napisał: mineque » 24 paź 2022, 21:16

mineque pisze:
24 paź 2022, 20:13
Za 55 euro to możesz kupić plc delta electronics dvp serii slim
Niskobudżetowe, przemysłowe, z darmowym softem
Sprawdziłem jednak to było 155e sorry mój błąd.

Awatar użytkownika

Autor tematu
tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 8
Posty: 7870
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: OpenPLC

#8

Post napisał: tuxcnc » 24 paź 2022, 22:21

mineque pisze:
24 paź 2022, 21:16
jednak to było 155e sorry mój błąd.
A do tego moduł taki, moduł sraki i się robi pięćset euro...
Ja oczywiście nie mam nic przeciwko takim rozwiązaniom, wręcz przeciwnie, czasem lepiej tyle zapłacić i zapomnieć o problemie, ale są też takie sytuacje gdy jest to cena zaporowa...
O programie, który przedstawiłem wiele nie wiem, ale udało mi się go uruchomić i wgrać prosty projekt do Arduino Uno, więc na pewno jakąś użyteczność ma.
Dodatkowym atutem są walory edukacyjne, bo na pewno łatwiej się nauczyć języka drabinkowego niż programowania w C...
A naukę zawsze lepiej zaczynać za darmo...

Awatar użytkownika

pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 1
Posty: 4695
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

Re: OpenPLC

#9

Post napisał: pitsa » 25 paź 2022, 07:01

Miejmy nadzieję, że projekt będzie miał wystarczającą do rozwoju popularność.
Adi123 pisze:o wiele większą wytrzymałość "regularnych" PLC

Z czego to wynika? Wydaje mi się, że z fachowo "ogarniętych" wejść i wyjść, gdy mając "amatorską płytkę" trzeba te sprawy samemu ogarnąć.
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ

Awatar użytkownika

pbugdol
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 1
Posty: 118
Rejestracja: 09 mar 2022, 11:25
Lokalizacja: Śląskie

Re: OpenPLC

#10

Post napisał: pbugdol » 25 paź 2022, 07:16

Do nauki może być bardzo ciekawe. Sam preferuje język drabinkowy :D Jest dla mnie niezastąpiony jeśli chodzi o szybką diagnostykę. Niestety rozwiązanie nadaje się tylko do nauki i ewentualnych zastosowań domowych. Oczywistym jest że do przemysłu to się nie nadaje.
Aż chyba sam odkurzę stare arduino by się nim pobawić :D
pitsa pisze:Z czego to wynika? Wydaje mi się, że z fachowo "ogarniętych" wejść i wyjść, gdy mając "amatorską płytkę" trzeba te sprawy samemu ogarnąć.

Przede wszystkim pewność działania i powtarzalność w warunkach przemysłowych. Dla przemysłowych PLC są certyfikaty, "dupochrony". Oczywiście łatwość zastąpienia poszczególnych modułów w razie awarii też gra ogromną rolę.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Automatyka przemysłowa”