2009-09-08 3 views
1

데이터베이스에 데이터를 쓰고 영수증을 인쇄하기 전에 POS 프린터에 대한 연결이 성공했는지 확인해야합니다. POSprinter는 일반적으로 BTP 2002NP 유형이지만 다를 수 있습니다. 공통점은 COM 포트와 USB를 통해 모두 연결되어 있으므로 클라이언트에 드라이버가 전혀 설치되어 있지 않다는 것입니다.COM을 통해 연결된 POS 프린터에 대한 연결 확인

COM 포트에서 일종의 "ping"을 보내고 장치가 연결되어 있고 켜져 있는지 확인할 수 있습니까? 어떤 도움이나 제안도 대단히 감사합니다.

추가 정보는, 응용 프로그램은 당신이 할 수있는 모든 약 2008

+0

특수 직렬 프로토콜이 있습니까? 아니면 프린터가 용지에 직렬 통신을 그냥 덤프하고 있습니까? 어쩌면 설명서를 먼저 참조해야합니다. –

+0

프로그래밍 매뉴얼을 살펴 봐야 할 것입니다. 잘하면 모든 프린터에 대해 동일합니다. ESC/P2 표준 – Alexander

+0

관련 웹 사이트의 "드라이버 및 설명서"페이지에 대한 링크도 추가되었습니다. 귀하의 요구 사항에 구글을 사용하십시오! –

답변

1

이 COM 포트에 문자열을 작성하고 기다려 프린터가 응답 응답 있는지입니다 VB.net 및 Visual Studio에서 개발되고있다. 그러나 쓰는 문자열과 예상 한 문자열은 프린터 자체에 달려 있습니다. 프린터로 전송하기 위해 수동 적절한 문자열보고에서 예는 BTP 2002NP printers programming manual (I 바라 보았다 구글의 첫 번째 링크)

참조하면 것을 요청하는 "DLE의 EOT N"명령이다 프린터가 현재 상태를 다시 보냅니다.

의 범위에서 다른 프린터에 관해서는,이 내가 결국 해낸 것입니다, BTW this list of drivers and manuals

+0

남자, 감사합니다. il 신호/상태 플래그를 검색하는 방법을 찾아야합니다. – Alexander

1

을 확인하십시오.

Public Function ComTest() As Byte() 

    Dim TXT As String 
    TXT = Chr(&H10S) & Chr(&H4S) & Chr(1) 'DLE EOT 1 

    If OpenCom() Then 'Connect to com 
     moRS232.PurgeBuffer(Rs232.PurgeBuffers.TxClear Or Rs232.PurgeBuffers.RXClear) 
     moRS232.Write(TXT) 
     moRS232.Read(1) 
     Return moRS232.InputStream 
    Else 
     Return Nothing   
    End If 

End Function 

이 함수는 1 바이트를 반환합니다. 그런 다음이 매뉴얼을이 바이트를 어떤 상태의 프린터로 변환 할 수 있습니까? 이것은 아마도 모든 ESC/P 프린터에서 가능합니다.

관련 문제