Wpis z mikrobloga

Słuchajcie mirki z programowanie. Chciałbym napisać program, może być webowy, znam pythona na tyle dobrze, że chce ten język do tego wykorzystać. Ma to związek z #automatyka i elektryka. Mamy w pracy dwupolożeniowe przekaźniki taki jak na rysunku. Za ich pomocą zwieramy ze sobą sygnały z płytki PCB (jestem testerem płytek elektroniczych). Aktualnie informacje o tym jaki sygnał z jakim zwieramy zapisujemy do excela co jest mało czytelne, ponieważ nie ma graficznego obrazu jak idzie sygnał, trzeba to sobie wyobrazić.

Ogólnie chciałbym aby to wyglądało tak, że tworze sobie obiekt Przekaźnik, który przyjmuje 3 parametry Com, NC i NO
i do odpowiednich parametrów przypisuje sygnał, który chce zwierać. Sygnały COM będą połączone wspólną szyną (ten sam potencjał), a do NO przypisze sygnał "x". Tworze potem drugi obiekt przekaźnika i do NO przypisuje sygnał "Y". Chodzi w programie o to aby on graficznie potrafił mi stworzyć grafikę przekaźnika i na podstawie configa jaki mu wczytam stworzy odpowiednią liczbę przekaźników i odpowiednio połączy wejścia ze sobą.

Tutaj rodzi się moje pytanie, ponieważ nie mam pojęcia jak graficznie to wykonać, nie zajmowałem się takim czymś. Chciałem w paincie albo gdzieś stworzyć grafikę takiego przekaźnika i jakoś wklejać go do HTMLa przy tworzeniu instancji obiektu przekaźnika. Inny sposób to zrobienie CSS, który będzie tworzył mi graficzny obraz przekaźnika. Nie znam sie na tym do końca i szukam rozwiązań. Potem zostaje problem jak połączyć kreskami w jak najbardziej przejrzysty sposób przekaźniki z sygnałami, które mają być ze sobą zwarte.

Zdjęcia przedstawia sposób połączenia przekaźników. Wczytywany byłby config z jsona z odpowiednią liczbą przekaźników i sygnałami.

json1 = {
1: {com = common,
NO = x,},

2: {com = common,
NO = y,},
}

relays = [[x,y], [a,b], [c,d]]

Układ jsona jak najbardziej do zmiany, Podawane byłyby przekaźniki z sygnałami, a osobną zmienną byłyby pary list [[x,y],[a,b]] określające, które przekaźniki mają być ze sobą zwierane.

Ogólnie chciałem się poradzić z jakich narzędzi najlepiej skorzystać. Wiem, że pytanie jest głupie, ale już szukałem jakichś wtyczek do rysowania w pythonie i nic ciekawego mi się nie trafiło. Do zrobienia tego projektu mógłbym nawet nauczyć się innego języka typu, jakiejś webówki, javascripta.
#programowanie #python
Tytyka - Słuchajcie mirki z programowanie. Chciałbym napisać program, może być webowy...

źródło: comment_1665519940gMEwoGGVfUSH0qXkQhTUvR.jpg

Pobierz
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 1
@Tytyka mysle, że mógłbyś wygenerować svg w dowolnym języku, a potem - jeśli zajdzie taka potrzeba - martwić się gdzie go osadzić.
  • Odpowiedz
@Tytyka: sensowne wyjścia masz dwa:
- javascript i rysujesz na canvasie, dane musisz pobierać w jakimś interwale z API napisanego w Pythonie.
- rysujesz grafikę w Pythonie, niekoniecznie musi to być SVG, może być też JPG, w jakimś aiohttp robisz sobie akcje która zwraca grafikę, bez zapisywania jej na dysku. Do tego prosty html zawierający ![](TWOJA_AKCJA_Z_AIOHTTP) który odświeża się w wymaganym przez ciebie interwale czasu (JS).
  • Odpowiedz
@wiesiu2: ten canvas to chyba jakiś strzał w dziesiątkę, bo na bardzo niskim poziomie może sobie wszystko zdefiniować. Super to jest chyba to czego szukałem
  • Odpowiedz
@Tytyka: Jakieś szczegóły? Jeśli masz autmatyczne przekaźnki (np oparte o jakiś uniwersalny interfejs komunikacyjny i2c/spi itp) to co za problem zapisać obecny stan w pliku i na tej podstawie wygenerować odpowiedni raport? :) Jak sterujesz przekaźnikiem? Z jakiejś karty realtime, komputerem, ręcznie?
  • Odpowiedz
via Android
  • 0
@Alnimak sterujemy nimi po ic2 za pomocą odpowiedniej biblioteki napisanej w Python, która przez API steruję maszyna testową. Problem jest taki, że ciężko sobie te połączenia zwizualizowac w głowie. Ogólnie długo by wyjaśniać, ale te połączenia ciągle się zmieniają w sensie połączenia przekaźników i sygnałów jakimi one sterują. Pracuje jako tester elektroniki i zwieram w ten sposób sygnały, inni testerzy zwierają inne sygnały i chodzi. Nowe osoby potrzebują mocno sobie to
  • Odpowiedz
@Tytyka: Pewnie masz model podłączenia tych przekaźników, to się raczej nie zmienia fizycznie. Jedynie sygnały wejściowe/wyjściowe do poszczególnych testpointów, które mogą być parametryzowane w kodzie. Każdy przekaźnik może przyjmować dany stan i tworzyć odpowiednią ścieżkę połączenia na schemacie. Więc jeśli masz schemat i przygotujesz sobie na przykład plik html z całym tym schematem i jakąś podstawową logiką w js, albo wystarczy Ci css, to możesz jednocześnie w skrypcie zmieniać stan
  • Odpowiedz