StarIO for Windows®

StarIOは、Starプリンタを使用するアプリケーションの開発を容易にするためのライブラリです。
Starプリンタと通信するために、StarIOには利用しやすいAPIが用意されています。 このAPIはJava、.NETを含む多くの開発環境に対応しており、ご使用のStarプリンタのモデル、 インターフェイスに関係なく、同じ機能を使用することができます。 StarIOは、Star Line Mode エミュレーションでの使用に対応しています。

動作環境

対応機種

TSP650II、FVP10、TSP800II、TSP650、TSP700II、TSP800、TUP500、TUP900、HSP7000、SP700、SP500

 

対応OS

Windows XP(32bitのみ)
Windows Vista(32/64bit)
Windows 7(32/64bit)
Windows 8 (Desktop UI 32bit/64bit)

 

Star IO V1.3.3.0 使用時のプリンタ設定値

■ プリンタ本体 ディップスイッチ1(DIPSW1) の設定

シリアル
(COM)
パラレル
(LPT)
USBイーサネット
(LAN)
Bluetooth備考
ベンダークラスプリンタクラス
TSP650II8=OFF8=OFF
5=OFF
5=OFF:USBベンダークラスに設定
8=OFF:NSB有効に設定
FVP108=OFF8=OFF
5=OFF
--- 5=OFF:USBベンダークラスに設定
8=OFF:NSB有効に設定
TSP800II8=OFF8=OFF
5=OFF
--- 5=OFF:USBベンダークラスに設定
8=OFF:NSB有効に設定
TSP6508=OFF8=OFF
5=OFF
--- 5=OFF:USBベンダークラスに設定
8=OFF:NSB有効に設定
TSP700II8=OFF8=OFF
5=OFF
--- 5=OFF:USBベンダークラスに設定
8=OFF:NSB有効に設定
TSP8008=OFF5=OFF6=OFF
(Mode 1)
--- 5=OFF:USBベンダークラスに設定
6=OFF:USBモードをMode1に設定
(Mode1:USB Printer Class New Type)
8=OFF:NSB有効に設定
TUP5005=OFF--- 5=OFF:USBベンダークラスに設定
TUP9005=OFF6=OFF
(Mode 1)
--- 5=OFF:USBベンダークラスに設定
6=OFF:USBモードをMode1に設定(F/WバージョンがVer4.4以前の場合)
(Mode1:USB Printer Class New Type)
HSP70008=OFF5=OFF--- 5=OFF:USBプリンタクラスに設定
8=OFF:NSB有効に設定
SP7005=OFF--- 5=OFF:USBベンダークラスに設定
SP5005=OFF--- 5=OFF:USBベンダークラスに設定
※ 空白の箇所は工場出荷時のまま使用可能です。
※ BluetoothインターフェイスはTSP650IIのみ使用可能です。

 

■ プリンタ本体 メモリスイッチ (MSW) の設定

シリアル
(COM)
パラレル
(LPT)
USBイーサネット
(LAN)
Bluetooth備考
ベンダークラスプリンタクラス
TSP650II---
FVP10---
TSP800II---
TSP650---
TSP700II---
TSP800---
TUP500MSW7-8=1MSW7-8=1---MSW7-8=1:NSB有効に設定
TUP900MSW7-8=1---MSW7-8=1:NSB有効に設定(F/WバージョンがVer4.4以前の場合)
HSP7000---
SP700MSW4-7=1MSW4-7=1---MSW4-7=1:NSB有効に設定
SP500MSW4-7=1MSW4-7=1---MSW4-7=1:NSB有効に設定
※ 空白の箇所は工場出荷時のまま使用可能です。
※ BluetoothインターフェイスはTSP650IIのみ使用可能です。

 

■ インターフェイスカード ディップスイッチ(DIPSW)の設定

以下の設定は、シリアルインターフェイスで”ResetDevice関数”を使用する場合のみ設定してください。

I/FDIPSW設定備 考
シリアルI/FDIPSW1-7=ONDSR(#6)によるプリンタリセット有効
※ 上記設定を行うと、シリアルI/Fのポートオープン時にもプリンタリセットが行なわれます。

トップへ戻る

開発環境

アプリケーションの開発に必要なファイルは"/redistributables"フォルダに格納されています。
また、開発言語、開発環境により、使用するファイルは異なります。 使用するファイルと格納先は、以下の表をご参照ください。

■ 32bitアプリケーション開発
Visual C++
/bin_Win32/StarIOPort.dll
/lib_Win32/StarIOPort.lib
/include/StarIOPort.h
Visual C#
Visual Basic .NET
/bin_Win32/StarIOPort.dll
/bin_anycpu/StarIO.dll

/StarIO.xml
Java
/bin_Win32/StarIOPort.dll

/StarIOJ.dll

/stario.jar
Visual Basic 6.0
/bin_Win32/StarIOPort.dll

/StarIOPort.bas

■ 64bitアプリケーション開発
Visual C++
/bin_x64/StarIOPort.dll
/lib_x64/StarIOPort.lib
/include/StarIOPort.h
Visual C#
Visual Basic .NET
/bin_x64/StarIOPort.dll
/bin_anycpu/StarIO.dll

/StarIO.xml
Java
/bin_x64/StarIOPort.dll

/StarIOJ.dll

/stario.jar

 

Visual C++

サンプルファイルはVisual Studio 2005にて作成されています。
プロジェクトに”StarIOPort.h”ヘッダファイルをインクルードし、”StarIOPort.lib”ライブラリファイルをリンクします。 アプリケーション実行時には、アプリケーションファイルと同一フォルダに”StarIOPort.dll”を置いてください。
”StarIOPort.h”ヘッダファイルの各関数宣言部に説明が記載されています。

 

Visual C# / Visual Basic .NET

サンプルファイルはVisual Studio 2005にて作成されています。
プロジェクトの参照設定に”StarIO.dll”を追加してアプリケーションをビルドします。 アプリケーション実行時には、アプリケーションファイルと同一フォルダに”StarIO.dll””StarIOPort.dll”を置いてください。
各APIの説明は”StarIO.xml”の内部に含まれます。このXMLファイルを”StarIO.dll"と同じフォルダに置くことで、 Visual Studioのオブジェクトブラウザ機能やインテリセンスで説明を見ることができるようになります。

 

Java

サンプルファイルはJavaランタイム Ver. 1.5に準拠しています。
コンパイル(javac)時と実行(java)時のクラスパス定義に”StarIO.jar”を指定します。 またアプリケーション実行時には、アプリケーションファイルと同一フォルダに”StarIO.jar””StarIOJ.dll””StarIOPort.dll”を置いてください。
コンパイルおよび、アプリケーション実行コマンドの実行例が、”StarIO_Sample.java”のヘッダ部分に記載されています。 また、各コマンドに関する詳細な説明はこちら(英語版)をご参照ください。

 

Visual Basic 6.0

モジュールに”StarIOPort.bas”を追加してコンパイルします。
アプリケーション実行時には、アプリケーションファイルと同一フォルダに”StarIOPort.dll”を置いてください。
”StarIOPort.bas”ファイルの各関数宣言部に説明が記載されています。

トップへ戻る

プログラミングと使用方法

StarIOを使用する上で、よく使用する機能についてご説明します。
ここでご説明する以外のAPIコマンド機能については、開発環境に記載した各開発環境ごとの内容をご参照ください。

  1. ポートを開く

    StarIOを使用するには、始めにポートのオープンを行ないます。

    ■ ポートオープン

    Visual C++
    OpenPort 関数を使用します。
    ポートオープンエラーの場合には、”0” を返して失敗を知らせます。

    Visual C# / Visual Basic .NET
    Portクラスの GetPort 静的メソッドを呼び出します。
    成功した場合には、ポートのハンドル(またはオブジェクト)が返ります。
    ポートオープンエラーの場合には、PortException 例外がスローされます。

    Java
    StarIOPort クラスの getPort 静的メソッドを呼び出します。
    ポートオープンエラーの場合には、StarIOPortException 例外がスローされます。


    ポートオープンエラーとなる場合には、以下のケースが考えられます。

    1. 指定されたポートが存在しない。
    2. ポートの設定が正しくない。
    3. OSの処理が失敗した(システムエラー)
    4. 他のプロセスから使用するために既にポートがオープンされている。

    "d."のケースの場合には復帰が可能で、以下の方法により判別することができます。

    ■ オープンエラーの区別(別のプロセスがポートを使用中の場合)

    Visual C++
    GetLastError 関数が ”ERROR_ALREADY_EXISTS” を返します。

    Visual C# / Visual Basic .NET / Java
    IsPortInUseFailure プロパティが ”True” を返します。


  2. StarIO APIの使用

    StarIO APIの記述方法は各環境ごとに異なります。

    ■ StarIO API(OpenPort以外)の使用方法

    Visual C++ / Visual C#
    ポートハンドルを最初のパラメータに指定します。

    Visual Basic .NET / Java
    Portオブジェクトのメソッドを呼び出します。


  3. ポートを閉じる

    ポートの使用が終了したら、ポートのクローズを行ないます。

    ■ ポートクローズ

    Visual C++
    ClosePort 関数を使用します。

    Visual C# / Visual Basic .NET
    Portクラスの ReleasePort 静的メソッドを呼び出します。

    Java
    StarIOPort クラスの StarIOPort.releasePort 静的メソッドを呼び出します。

    システム内でのポート競合の発生を避けるために、ポートの使用が終了したらすぐにポートをクローズすることを推奨します。
    .NET / Java を使用する場合は、try-catch-finally文のfinallyブロックを使用してクローズ処理を行なうと便利です。

ポートオープン時のポート指定方法

OpenPort 関数は”ポート名”、”ポート設定”、”タイムアウト”の3つのパラメータを取ります。
インターフェイス別の”ポート名”、”ポート設定”指定方法を以下に説明します。

シリアル
■ポート名

”COM1”・ ”COM2” のように、指定するプリンタのシリアルポート名を指定します。


■ポート設定

”ボーレート”、”パリティ”、”データビット”、”ストップビット”、”フロー制御”のフィールドからなります。
各フィールドはカンマ(,)で区切り、”<ボーレート>,<パリティ>,<データビット>,<ストップビット>,< フロー制御>”のように記述します。
(例:"9600,n,8,1,n")

ボーレート: ”38400”、”19200”、”9600”、”4800”から、プリンタの設定内容に合わせて選択します。

パリティ: ”n”、”e”、”o”から、プリンタの設定内容に合わせて選択します。

  • n:パリティなし
  • e:偶数ビット
  • o:奇数ビット

データビット: ”7”、”8”から、プリンタの設定内容に合わせて選択します。

ストップビット: ”1”を指定します。

フロー制御: ”n”、”h”から、プリンタの設定内容に合わせて選択します。

  • n:フロー制御なし
  • h:ハードウェア フロー制御


パラレル
■ポート名

”LPT1”・ ”LPT2” のように、指定するプリンタのパラレルポート名を指定します。


■ポート設定

空の文字列””を指定します。


USBベンダークラス
■ポート名

USBベンダークラスでは、以下の3通りの指定方法があります。

  • 1.特にポートを指定しない方法
  • 2.USBシリアルナンバーを指定する方法
  • 3.COMポート名を指定する方法

使用するプリンタが1台のみでプリンタがUSBシリアルナンバーを持たない(工場出荷時)場合には1.の設定方法が適しています。


1.特にポートを指定しない方法

”usbven:”
”usbven:” とした場合、最初に検出されたStar Vendor Class ポートをオープンします。
プリンタがUSBシリアルナンバーを持たない場合、別のUSBポートに接続するたびに違うCOMポートが割り当てられるため、 OpenPort関数で特定のCOMポートを指定することは困難となります。


2.USBシリアルナンバーを指定する方法

”usbven:XXXXXXXX”
”usbven:”の後ろにUSBシリアルナンバーを指定した場合、指定したUSBシリアルナンバーのプリンタポートをオープンします。
この設定方法は、以下の点で有効です。
  • プリンタを別のUSBポートに接続する際に、新たなCOMポートを割り当ててしまうことを避けられます。
  • 複数のプリンタを同時に接続して使用する際に、プリンタを特定できます。
Note: Starプリンタの初期設定では、USBシリアルナンバーが設定されていません。 この機能を使用する場合、USBデバイスにシリアルナンバーを書き込む必要があります。


3.COMポート名を指定する方法

”usbven:comX”
”usbven:” の後ろにCOMポート名を指定した場合、指定したCOMポートをオープンします。
デバイスマネージャーを確認することで、ポート名を決定することができます。
Note: 使用するプリンタがUSBシリアルナンバーを持たない場合は、 別のUSBポートに接続するたびに違うCOMポートが割り当てられます。 その場合は、指定するCOMポート名の変更が必要になります。


■ポート設定

空の文字列””を指定します。


USBプリンタクラス
■ポート名

”usbprn:” に続けて、指定するプリンタのWindowsプリンタキュー名を入力します。
プリンタキュー名は、添付のサンプルプログラムでは1バイト文字を使用して作成されていますが、2バイト文字の使用も可能です。
たとえば、Windowsプリンタキュー名”Star TSP800II (TSP847II)”を指定する場合、以下のように入力します。

”usbprn:Star TSP800II (TSP847II)”


■ポート設定

空の文字列””を指定します。


イーサネット
■ポート名

”TCP:” に続けて、指定するプリンタのIPアドレスを入力します。
たとえば、IPアドレス”192.168.1.102”のプリンタを指定する場合、以下のように入力します。

”TCP:192.168.1.102”


■ポート設定

空の文字列””を指定します。


Bluetooth
■ポート名

”BT:” に続けて、指定するCOMポートを入力します。
たとえば、Bluetoothポート”COM3”を指定する場合、以下のように入力します。

”BT:COM3”


■ポート設定

空の文字列””を指定します。

制限事項と注意事項

以下の内容は、このリリースにおける制限事項についての説明です。
ご一読いただき、内容を把握された上でご使用ください。

  • 本ソフトウェアは、プリンタに同梱された、またはプリンタモデル用に開発され配布されたソフトウェアと コンフリクトする場合があります。それらのソフトウェアと同時に使用する場合には、十分な動作確認テストを実施してください。

シリアルインターフェイスをご使用の場合

  • ”ResetDevice関数”を使用した際に、 プリンタの電源が切れていても、コンピュータと接続されていなくても常に”True”を返します。

USBインターフェイス プリンタクラスモードをご使用の場合

  • ”ReadPort関数”は、古いF/W(ファームウェア)には対応しておりません。
    各機種のF/W対応バージョンは以下の通りです。

    機種名F/W対応バージョン
    TSP650II1.0以降
    FVP101.0以降
    TSP800II1.0以降
    TSP6502.0以降
    TSP700II2.0以降
    TSP8004.3以降
    TUP5001.0以降
    TUP9001.2以降
    HSP70001.0以降
    SP7002.0以降
    SP5004.0以降


イーサネットインターフェイスをご使用の場合

  • プリンタがオフラインの場合でも”WritePort関数”はプリンタのステータスに関係なくデータをバッファに蓄積し、 プリンタのステータスがオンラインに戻ると印字を行ないます。
  • ”ResetDevice関数”に対応しておりません。この関数は、常にエラー(FALSE)を返します。
  • ”GetParsedStatus”、 ”GetParsedStatusEx”、 ”BeginCheckedBlock”、 ”BeginCheckedBlockEx”、 ”GetOnlineStatus”メソッドは、 プリンタ未接続や電源OFFのリアルタイム検出が行なえません。
    プリンタが正常に稼動しているかどうかを確かめる別の手段として、定期的にStar Line Modeの<ETB>コマンドを送信して、 ASBステータスのETBカウンタが適切に増加しているかで判断する方法があります。

Bluetoothインターフェイスをご使用の場合

  • Bluetooth対応機種は以下の通りです。

    機種名Bluetoothインターフェイス
    TSP650II
    FVP10×
    TSP800II×
    TSP650×
    TSP700II×
    TSP800×
    TUP500×
    TUP900×
    HSP7000×
    SP700×
    SP500×

  • ”GetOnlineStatus関数”に対応しておりません。この関数は、常にオンライン(TRUE)を返します。
  • ”ResetDevice関数”に対応しておりません。この関数は、常にエラー(FALSE)を返します。

改訂履歴

Ver. No.改訂年月内容
Version 1.2.0.0Mar. 2009単体リリース初版
Version 1.2.1.0Mar. 2010FVP10, TSP800II対応
Version 1.2.2.0Jul. 2010SP500対応、誤記訂正(プリンタ設定値)
パラレルインターフェイス・USBインターフェイス(ベンダークラスモード)の制限解除
Version 1.2.3.0Dec. 2010”GetParsedStatusEx関数”のバグ修正
Version 1.3.1.0Apr. 2012プリンタキューでオフラインが発生するバグの修正
”OpenPort関数”が失敗した時に、”ERROR_ACCESS_DENIED”が発生するバグの修正
Version 1.3.2.0Jul. 2012TUP500, TUP900対応
Version 1.3.3.0Dec. 2012TSP650II対応
Bluetoothインターフェイス対応(TSP650IIのみ)

著作権

Copyright 2009 - 2012 Star Micronics Co., Ltd.
本書に記載されている会社名や商品名は、各社の商標または登録商標です。
Windows® は Microsoft Corporation の登録商標です。