Translacja protokołów

0

Urządzenie komunikuje się przez port szeregowy rs485. Protokóły znam. Problem jest taki:

  • może być N wejściowych portów COM -> program pyta N portów,
  • musi być odczyt i zapis;

Jak dokonać translacji pierwszego protokołu na drugi?

0
neversoft napisał(a)

Jak dokonać translacji pierwszego protokołu na drugi?
jakiego pierwszego protokołu, gdzie jest mowa o jakimś drugim protokole? Może napisz po ludzku o co Ci chodzi

0

program wykorzystuje jeden protokół, urządzenie które jest podpięte pod port szeregowy wykorzystuje drugi protokół. Trzeba wykonać pośrednika (usługę, która przetłumaczy jeden na drugi).

0

no i???
to trzeba wziąć i "wykonać pośrednika". Oczekujesz, że ktoś tu ma szklaną kulę i wszystkiego się sam domyśli? Masz z czymś problem czy po prostu szukasz kogoś, kto ci napisze program?

0

napisalem już w czym jest problem więc czytaj (nie trzeba duzo myslec zeby wiedziec jak to ma działac). Ale napiszę:
skoro otworzysz port w programie X to z usługi nie będzie go można otworzyć - port będzie już w użyciu. Czy jest na to sposób? czy jedyne rozwiązanie to tworzenie wirtualnych par comów: podawanie na com A ramek z programu, a na B odbieranie tego przez usługę, tłumaczenie i wypuszczanie do urządzenia na porcie C?

tak jak pisałem komunikacja musi być full duplex.

0

następny roszczeniowiec - nie wiem czy zdajesz sobie z tego sprawę ale to TY przyszedłeś po pomoc.

rozwiązania masz 3 -

  1. sprzętowe - potrzebujesz kompa z trzema comami i kabelek. COM1 łączysz z COM2. Do COM1 podpinasz program, usługę podpinasz do COM2 i COM3 i urządzenie też do COM3
  2. programowe z użyciem wirtualnych portów - tak jak w 1 tylko że COM1 i COM2 są wirtualne
  3. piszesz sterownik portu COM i w sterowniku zawierasz tłumaczenie protokołu
0

dziękuje. O to chodziło.

Co do sterownika to próbować użyć Windows Driver Kit (WDK) czy może inaczej?

0

sterownika z tego co mi wiadomo nie napiszesz w c#. Od Visty masz coś takiego jak User-Mode Driver Framework ale nie mam pojęcia czy to wystarczy

0

z tego co mi sie wydaje, powinno wystarczyc. nie bawilem sie tym tematem jednak na tyle dlugo, zeby powiedziec z cala pewnoscia, ale wydaje mi sie, ze wystawianie/czytaniez COM jest dosc "podstawowa" rzecza, wiec jezeli cokolwiek śmie się nazywac "Driver Framework" to powinno to umozliwiac:)

poszperalem minimalnie, znalazlem http://www.techtalkz.com/microsoft-device-drivers/290904-virtual-com-port-umdf.html
sadze ze warto to przejrzec, jest IMHO kompletnie w temacie i juz w pierwszych postach widac ze jednak "sa pewne problemy"..
przepraszam z gory, nie czytalem calosci tamtej dyskusji, nie wiem co jest dalej, ale poczatek wyglada bardzo sensownie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1