Jak napisać program "wirtualny LPT" / zapłacę

0

Programuję (mało profesjonalnie) w Delphi ale nie mam pojęcia w jaki sposób utworzyć port wirtualny LPT, który znalazłby się w Menadżerze Urządzeń w komputerze bez owego portu. Programik powinien "przechwycić" daną wysyłaną przez inny program do portu lpt i wysłać przez port COM. Z samym przetworzeniem danych i wysyłaniem przez port COM sobie poradzę.

Jestem także otwarty na zapłatę komuś za napisanie kompletnego programiku w dowolnym języku programowania. System WindowsXP.

podejrzewam, że trzeba się jakoś "podpiąć" pod adres 0x378 lub 0x278 bo programy sterujące srandardowo odbierają/wysyłają dane pod te adresy aby ustawić stany na końcówkach portu LPT lub je odczytać. Ważne, żeby program działał jak najszybciej.

Proszę o pomoc.

0

w windowsie jesyny sposób to napisać sterownik wortualny LPT albo wirtualną drukarkę. To pierwsze w delphi (przynajmniej do D7) jest niewykonalne bo delphi nie ma możliwości kompilowania vxd, natomiast to drugie

0

no to za bardzo mnie niepocieszyłeś :-( więc liczyłbym na kogoś kto napisałby taki sterownik w innym języku - ale pewnie tutaj nie zaglądnie :-(.

To napiszcie chociaż gdzie szukać pomocy...

0

Poczytaj o Windows DDK, ale ogólnie zadanie jest z tych bardzo trudniejszych.

0

a to musi byc program? moze lepsze bylo by urzadzenie?

0

:-) To by było za proste, - jestem producentem urządzeń elektronicznych. Właśnie w tym problem, żeby dane z programów sterujących urządzeniami przez port LPT można było wysłać przez inny port komunikacyjny (COM lub USB) ponieważ w komputerach nowych (laptopy) brak portów LPT. Ale zakręciłem.

Trzeba:

  1. Stworzyć wirtualny port LPT1 żeby programy widziały go jako istniejący fizyczny port WE/WY w komputerze bez portów LPT
  2. Przechwycić dane wysyłane/odbierane przez programy do/z tego portu.
  3. Przetworzyć dane
  4. Wysłać jakimś innym fizycznie istniejącym portem (np.USB) w komputerze
  5. Stworzyć i dołożyć w urządzeniu moduł konwersji USB<-->LPT

Chodzi o rozwiązanie (odpłatne) punktów 1/2 bo z resztą sobie chyba poradzę.

0

no to conajmniej dziwne podejście. Nie prościej zaimplementować w ww programach obługę przez COM/USB? Nie wiem jak to teraz wygląda ale przecież port drukarki oprócz lini danych ma jeszcze dodatkowe linie sterujące - jak je przeniesiesz do portu COM?
Myślę, że źle podchodzisz do sprawy. Ktoś się napisze, Ty wydasz kasę a bardzo możliwe, że i tak guzik z tego będzie.

0

hmm.... nie wiem, czy dobrze, ale zaczyna mi sie przypominac firma FTDI i jej uklady, roznego rodzaju konwertery np. usb<>lpt itd... sa do nich sterowniki ktore tworza wirtualne porty, w rzeczywistosci przekazujac dane na inne, fizyczne porty....
hmm?

0

Już wyjaśniam. Jest sporo profesjonalnego oprogramowania na rynku (polskiego i nie) do sterowania pracą maszyn i najczęśniej stosuje się sterowanie przez port LPT. Nie zamierzam namawiać producentów oprogramowania na impementację w ich programach obsługi innych portów, zwłaszcza, że nie chodzi tutaj o jeden/dwa programy. A chciałbym być na tyle konkurencyjny, żeby moje urządzenia dały się sterować przez laptopy co jest bardzo wygodnym rozwiązaniem. A narzucanie klientowi jakiego laptopa ma kupić (starszego z LPT) nie jest wg mnie dobrym podejściem. Konkretnie chodzi o maszyny CNC.

0

tak cimak - znam tą firmę i nawet korzystam z jej układów - problem w tym, że sterowniki tworzą wirtualne COM'y a nie LPT.

Misiekd - zapewniam, że wszystkie sygnały można wysłać / odebrać przez łącze szeregowe.

0
prokopcio napisał(a)

Misiekd - zapewniam, że wszystkie sygnały można wysłać / odebrać przez łącze szeregowe.

no to ok, ale weźmy taką sytuację

  1. na port LPT zostaje wystawiona dana, np 264
  2. spokojnie to odczytuję i konwertuję na postać szeregową
  3. wysyłam tą daną przez COMa
    i to spokojnie da się zrobić bez niczego
    ale teraz tak
  4. program do sterowania czeka na jakiś sygnał na którymś z dodatkowych pinów LPT
  5. jak po odczytaniu danych z COMa domyśleć się, że to nie dane tylko coś innego
    i tak samo z wysyłaniem

mógłbyś dać linka do któregoś z tych programów (wersja demo albo trial)?

0

przykład:
http://www.akcesoria.cnc.info.pl/mach2.htm
cytat:
Komputer musi być wyposażony w conajmniej jeden port LPT

Dodatkowe piny w programowaniu są traktowane jak dodatkowy port (8 bit) identycznie jak linia danych - zerknij w menadżer urządzeń i lpt zajmuje kilka portów wejścia/wyjścia czyli transmisja szeregowa mósi przesyłać na bieŻąco (Boże, widzisz takie błędy i nie grzmisz) w obie strony więcej niż dane 8bitów.

0

znam tą firmę i nawet korzystam z jej układów - problem w tym, że sterowniki tworzą wirtualne COM'y a nie LPT.

Znasz w takim razie wiesz, ze

FT232 - to port szeregowy
FT245 - to port rownolegly (LPT) - co prawda stery sa na COM ale gdzies widzialem taka przejsciowke na nim - szukanie
Juz wiem gdzie widzialem (chyba, nie jestem pewien nie potrzebowalem nigdy bardzo portu LPT)
http://www.ep.com.pl/forum/viewtopic.php?p=70145
http://www-user.tu-chemnitz.de/~heha/bastelecke/Rund%20um%20den%20PC/USB2LPT/

zatem bez problemu mozna zbudowac przejsciowke USB-LPT.

A co do pisanie jest przyklad w DDK zarowno serial jak i pararel. Jednak ja bym stawial na przejsciowke jak pozostali. Moze kupienie sklepowych wyjdzie taniej niz zlecenie pisanaia komus obudowy do portu.

0

Właśnie w tym problem, że NIE MA przejściówki usb<>tpt takiej, żeby ten port był widziany przez aplikacje jako potr LPT. Konwerter FT245 nie jest konwerterem do portu LPT tylko do interfejsu 8bitowego równoległego dwukierunkowego a to nie jest to samo co LPT... ten konwerter jest widziany jako interfejs szeregowy i to co do niego wyślesz (szeregowo) to pojawia się na wyjściu w formie równoległej i viceversa niestety żadna istniejąca aplikacja do obsługi LPT nie ma szans się przez to komunikować bo musiała by wysyłać dane na stworzony wirtualnie port COM bo LPT NIE MA. a na podanych stronach NIE MA informacji o urządzeniu, które będzie widziane przez system jako LPT.

oj przepraszam - na samym dole jest emulacja lpt i o to chodzi - zabieram się do lektury i słownika

0

Na tej stronie
http://www-user.tu-chemnitz.de/~heha/bastelecke/Rund%20um%20den%20PC/USB2LPT/

z innym prockiem (nie FT) jest jak zaemulowac LPT i sa kody do sterownikow (wiec mozna modyfikowac dla innych uP).

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