Zastosowanie .NET w elektronice?

Zastosowanie .NET w elektronice?
bezikan
  • Rejestracja:prawie 6 lat
  • Ostatnio:ponad 2 lata
  • Postów:42
0

Z tego co wiem to kilka firm (w mniejszych miejscowościach) wykorzystuje .NET do komunikacji z urządzeniami elektronicznymi (sterowniki, przeliczniki). Znajomy z uczelni dostał się właśnie do takiej firmy na staż, ale teraz żałuje swojej decyzji, bo jest to dość niszowe... i zdobyte umiejętności na tym stażu nie pomogą mu w rozwoju pod backend / frontend, ani nauczy się dobrych praktyk (kod jest w opłakanym stanie). Wpakował się w niezłe bagno.

Co o tym myślicie? dla mnie jest to mało logiczne... C++ bardziej pasuje pod ten segment rynku.

edytowany 1x, ostatnio: bezikan
SZ
  • Rejestracja:prawie 11 lat
  • Ostatnio:około 5 godzin
  • Postów:1472
1

Komunikacja przez Tcp ze sterownikiem to nie to samo jakieś embedded

Mondonno
  • Rejestracja:ponad 5 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Polska
  • Postów:88
0

.NET jest idealne do tworzenia aplikacja a nie komunikowania się z urządzeniami...
:(


somedev
Rozumiem że z kapelusza ta teza?
AK
Kol. Mondonno jak pokazuje historia ma łatwość wyrażania opinii
somedev
Jakoś popełniłem w życiu kilka sterowników komunikacji z urządzeniami zarówno w C# jak i C++. Wagi, drukarki termiczne, fiskalne, magazyny, centrale, czytniki etc. Rs232, rs485 modbus, tcp, udp. Zdecydowanie C# sprawdza się tutaj lepiej niż C++.
AK
  • Rejestracja:ponad 6 lat
  • Ostatnio:około rok
  • Postów:3561
1
bezikan napisał(a):

Co o tym myślicie? dla mnie jest to mało logiczne... C++ bardziej pasuje pod ten segment rynku.

Dlaczego?

C# ma coś, co nigdy C++ nie uzyskało, jak zestandaryzowane GUI i web (i wiele innych segmentów)
Ba! szanowne C++ nigdy nie umiało narzucić standardu stringa, każdy większy framework na re-implementację (kontenerów też) - za to bym rozstrzeliwał.
C# jest bezpieczniejsze, potrzebuje mniej linii/funkcjonalność itd...
C++ przez swoje własne cechy schodzi do niszy.

Dla mnie w pełni logiczne jest C# jako klienckie do jakiś mikrokontrolerów itd...


Bo C to najlepszy język, każdy uczeń ci to powie
AK
  • Rejestracja:ponad 6 lat
  • Ostatnio:około rok
  • Postów:3561
0
Mondonno napisał(a):

.NET jest idealne do tworzenia aplikacja a nie komunikowania się z urządzeniami...
:(

Z czym TY MASZ problemy? MNSHO nie masz na to żadnego argumentu.


Bo C to najlepszy język, każdy uczeń ci to powie
stivens
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 3 godziny
0
AnyKtokolwiek napisał(a):
bezikan napisał(a):

Co o tym myślicie? dla mnie jest to mało logiczne... C++ bardziej pasuje pod ten segment rynku.

Dlaczego?

C# ma coś, co nigdy C++ nie uzyskało, jak zestandaryzowane GUI i web (i wiele innych segmentów)
Ba! szanowne C++ nigdy nie umiało narzucić standardu stringa, każdy większy framework na re-implementację (kontenerów też) - za to bym rozstrzeliwał.
C# jest bezpieczniejsze, potrzebuje mniej linii/funkcjonalność itd...
C++ przez swoje własne cechy schodzi do niszy.

Dla mnie w pełni logiczne jest C# jako klienckie do jakiś mikrokontrolerów itd...

A po co ustandaryzowane GUI i web w embedded? Zreszta w embedded czasem nawet c++ to za duzo


λλλ
edytowany 1x, ostatnio: stivens
AK
  • Rejestracja:ponad 6 lat
  • Ostatnio:około rok
  • Postów:3561
0
stivens napisał(a):

A po co ustandaryzowane GUI i web w embedded?

Przeczytaj dobrze, o co jest pytanie
Znormalizowany string też nie jest potrzebny?

Zreszta w embedded czasem nawet c++ to za duzo

Kolejny mit.


Bo C to najlepszy język, każdy uczeń ci to powie
edytowany 1x, ostatnio: AnyKtokolwiek
SZ
  • Rejestracja:prawie 11 lat
  • Ostatnio:około 5 godzin
  • Postów:1472
0

Sam uczestniczylem w projektach gdzie bylo Gui w winformsie i komunikacja ze sterownikem po tcp. np do otwierania skrytek.

stivens
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 3 godziny
0

Przeczytaj dobrze, o co jest pytanie

Faktycznie chyba zle zrozumialem. Ale to to pytanie jest glupie w takim razie


λλλ
somedev
  • Rejestracja:ponad 6 lat
  • Ostatnio:prawie 5 lat
  • Postów:666
2

Powiem tak. C# i .net daje wszystko co potrzebne do niskopoziomowe komunikacji i idealnie nadaje się jako interface do urządzeń, czy może urzadzen używać. Co więcej - jest to strasznie popularne właśnie używanie C# do wewnętrznych systemów z GUI i z jakąś komunikacja (akurat w przeciwieństwie do javy gdzie gui to margines chyba). Niemniej masz racje - jak ktoś chce rozwijać się w frontend czy backend to to głupi wybór. Podobnie jak zamiast do ZOO pojechać do rzeźni bo i tu i tu są zwierzęta.... pamiętaj tylko ze frontend i backend to nie całe IT jak ostatnio juniorzy łonabi próbują twierdzić. No i pytanie w jakich projektach znajomy robił, że twierdzi, że to straszny kod? Znów śmię stwierdzić, że ktoś was okłamał i większość IT to bagno i trzeba być twardym, żeby to prostować, przy ograniczonych zasobach intelektualnych, czasowych i finansowych.

edytowany 1x, ostatnio: somedev
WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:około 4 godziny
  • Postów:5107
0

A co z tym .NET IoT?

Ktos
.NET IoT? Istniało swego czasu NETMF (.NET Micro Framework) i jest Windows 10 IoT (gdzie się pisze w UWP).
Ktos
Czyli Windows 10 IoT + UWP. Żyje, znam ludzi którzy w tym coś robili, nie mam pojęcia czy jest popularne, pewnie niezbyt.
MP
  • Rejestracja:prawie 6 lat
  • Ostatnio:ponad 4 lata
  • Postów:29
0

Ja wykorzystuje .Net do wymiany danych ze sterownikiem motion poprzez komunikacje ETHERNET TCP/IP w oparciu o model klient-serwer

bezikan
w oparciu o model klient-serwer, czyli? raczej nie ma to nic wspólnego z asp.net
somedev
A gdzie wspominałeś w temacie o ASP.net?
Ktos
Moderator
  • Rejestracja:prawie 23 lata
  • Ostatnio:około 9 godzin
0

Pracuję przy projekcie urządzeń "IoT", gdzie używamy praktycznie tylko .NET - "centralny hub" to Windows 10 IoT Core i aplikacja UWP, chmura to ASP.NET Core, mobilne to Xamarin.
Same urządzenia są programowane w C++ i komunikują się z centralką przez MQTT - więc w zasadzie kompletnie nie ma znaczenia język/platforma, a wybraliśmy .NET głównie dlatego, że akurat się na tym znam.

BTW: programowanie samych urządzeń w .NET też nie jest aż tak niewykonalne - wspominając NETMF (niestety, umarło), jego duchowego następcę, którego nazwy zapomniałem teraz, a kończąc na projekcie Meadow, który wsparłem na Kickstarterze i jestem ciekawy co z tego wyjdzie - i baaaaaaaardzo mi brakuje pewnych elementów programowania .NET (np. normalnego debugowania) w tych urządzeniach embedded.

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)