2009-09-08 27 views
1

POSプリンタへの接続が成功し、データをデータベースに書き込んだ後に領収書を印刷する必要があります。 POSプリンタは通常BTP 2002NPタイプですが、異なる場合があります。一般的なことは、すべてがCOMポート経由で接続されていて、USBではないため、クライアントにドライバがインストールされていないことです。COM経由で接続されたPOSプリンタへの接続

COMポートに何らかの「ping」を送信して、デバイスが接続されているかどうかを確認できますか?どんな助けや提案も非常に感謝しています。

追加情報は、アプリケーションは、あなたが行うことができますすべてについて2008

+0

特殊なシリアルプロトコルがあるか、プリンターがシリアル通信を紙にダンプするだけですか?たぶん、マニュアルを最初に参照してください。 –

+0

プログラミングマニュアルを調べる必要があります。うまくいけば、すべてのプリンタで同じです。 ESC/P2標準 – Alexander

+0

関連するプリンタを表示しているウェブサイトの「ドライバとマニュアル」ページへのリンクも追加しました。あなたの要件にGoogleを使用してください! –

答えて

1

は、COMポートに文字列を書き出して待つと、お使いのプリンタが応答で応答かどうかを確認されVB.netおよびVisual Studioで開発されています。しかし、あなたが書き込む文字列とあなたが期待する文字列は、プリンタ自体に依存します。

例についてBTP 2002NP printers programming manualに(私が見てグーグルの最初のリンク)を参照してください

手動でプリンタに送信するための適切な文字列を見てからするように要求する「DLE EOT N」コマンドですプリンタは現在のステータスを返送します。範囲内の他のプリンタ用として

は、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プリンタで機能します。

関連する問題