ロゴ:EPSON
ロゴ:よくあるご質問(FAQ)

製品別
質問別
エプソンパートナーポータル

URLをクリップボードにコピーしました
シェア用URL:https://faq2.epson.jp/web/Detail.aspx?id=31206
  FAQ番号:31206
ブザー機能を搭載しているTMプリンターについて<EPSON OPOS ADK シリーズ>
ブザー機能を搭載したTMプリンターにて、音を鳴らす方法を教えてください。
 
 

無線LAN/EthernetインターフェイスタイプのTMプリンターには、ブザーを鳴動させる機構を搭載しています。
(ただし、音量/音程については設定不可)

EPSON OPOS ADKにおける「ブザー鳴動」の方法は、以下の方法があります。

  1. UPOS 1.9版 以上に対応したEPSON OPOS ADK OLE版
  2. UPOS 1.8版 以下に対応したEPSON OPOS ADK OLE版
  3. EPSON OPOS ADK .NET版

EPSON OPOS ADK OLE版が準拠する「UPOS」および「APG」のバージョンについては こちら を参照してください。

 

  • コマンドを連続して送信することでブザーを連続的に鳴動させることはできますが、完全な連続音ではなく、ピーッ,ピーッ,という断続的な鳴動となります。
  • 1回のコマンドで 500ms 以上 510ms 以下のブザー鳴動を行って下さい。
  • 1回のコマンドで 510ms を超えてブザーを連続して鳴動させることはできません。
  • ブザー鳴動時にはプリンターがビジー状態となり、このタイミングでプリンターのステータスを確認すると、オフラインと判定されることがあります。

 

UPOS 1.9版 以上に対応したEPSON OPOS ADK OLE版
1.

プリンターに搭載されたブザーを鳴動するには、プリンターのデバイスクラスを使用します。

ブザーを鳴動させたいタイミングで、PTR_DI_RING_BUZZER_WITH_TIME を定数として DirectIO メソッドを実行します。
定数 PTR_DI_RING_BUZZER_WITH_TIMEはUPOS 1.9版 以上に追加された機能で、EPSON OPOS ADK OLE版 Ver.2.50以上で対応しています。

次のような処理を実行することでブザーが鳴動します。

例)Visual C++ で行う場合
void CPrinterDlg::OnBtnBzr1() 
{
//   Include\EPSNPTR.h
//   Ring Buzzer
//   const long PTR_DI_RING_BUZZER_WITH_TIME = 1001;

	long pData;
	BSTR pString;
	CString sRC;
	CString sRCE;

	pData = 500;
	m_Ptr1.DirectIO( PTR_DI_RING_BUZZER_WITH_TIME, &pData, &pString );
	if( m_Ptr1.GetResultCode() != OPOS_SUCCESS ) {
		sRC.Format("%ld", m_Ptr1.GetResultCode());
		sRCE.Format("%ld", m_Ptr1.GetResultCodeExtended());
		MessageBox(
			"Cannot use a POS Printer\nResultCode = " + sRC
			 + "\nResultCodeExtended = " + sRCE );
		return;
	}

// Test printing
	m_Ptr1.PrintNormal( PTR_S_RECEIPT, "DirectIO\n");
	if( m_Ptr1.GetResultCode() != OPOS_SUCCESS ) {
		sRC.Format("%ld", m_Ptr1.GetResultCode());
		sRCE.Format("%ld", m_Ptr1.GetResultCodeExtended());
		MessageBox(
			"Cannot use a POS Printer\nResultCode = " + sRC
			 + "\nResultCodeExtended = " + sRCE );
		return;
	}
}
UPOS 1.8版 以下に対応したEPSON OPOS ADK OLE版
2.

プリンターに搭載されたブザーを鳴動するには、プリンターのデバイスクラスを使用します。

UPOS 1.8版 以下に対応した EPSON OPOS ADK OLE版 では、ブザーを鳴動させたいタイミングで、DirectIO メソッドから ESC/POS コマンドを実行します。

ブザーを鳴動させたいタイミングで、次のコードをデバイスに送信します。
   1B7001FAFF・・・500ms ブザーを鳴動させる ESC/POS コマンド

次のような処理を実行することでブザーが鳴動します。

例)Visual C++ で行う場合
void CPrinterDlg::OnBtnBzr2() 
{
// ESC/POS command
// ASCII ESC  p m t1 t2
// Hex   1B  70 m t1 t2
// [Range]
// m = 0, 1, 48, 49
// 0 =< t1 =< 255
// 0 =< t2 =< 255
//
// ON time is (t1 x 2 msec) and for OFF time is (t2 x 2 msec).
// If t2 < t1, the OFF time is equal to the ON time.

	long pData;
	CString cString;
	BSTR pString;
	CString sRC;
	CString sRCE;

	pData = 0;
	// ESC/POS command.
	cString = CString( _T("\x1b\x70\x01\xfa\xff"), 5 );
	pString = cString.AllocSysString();
	m_Ptr1.DirectIO( PTR_DI_OUTPUT_NORMAL, &pData, &pString );
	SysFreeString( pString );
	if( m_Ptr1.GetResultCode() != OPOS_SUCCESS ) {
		sRC.Format("%ld", m_Ptr1.GetResultCode());
		sRCE.Format("%ld", m_Ptr1.GetResultCodeExtended());
		MessageBox(
			"Cannot use a POS Printer\nResultCode = " + sRC
			 + "\nResultCodeExtended = " + sRCE );
		return;
	}

// Test printing
	m_Ptr1.PrintNormal( PTR_S_RECEIPT, "DirectIO\n");
	if( m_Ptr1.GetResultCode() != OPOS_SUCCESS ) {
		sRC.Format("%ld", m_Ptr1.GetResultCode());
		sRCE.Format("%ld", m_Ptr1.GetResultCodeExtended());
		MessageBox(
			"Cannot use a POS Printer\nResultCode = " + sRC
			 + "\nResultCodeExtended = " + sRCE );
		return;
	}
}
EPSON OPOS ADK .NET版
3.

プリンターに搭載されたブザーを鳴動するには、プリンターのデバイスクラスを使用します。

ブザーを鳴動させたいタイミングで、PTR_DI_RING_BUZZER_WITH_TIME を定数として DirectIO メソッドを実行します。

次のような処理を実行することでブザーが鳴動します。

例)Visual C# で行う場合
private void btnBuzzer_Click(object sender, System.EventArgs e)
{
   int iData = 0;
   byte[] abyte = new byte[0];
   DirectIOData  directIOReturn;
   string strMessage = "";

   iData 500;

   try
   {
	// directIO(int command, int data, Object)
	directIOReturn =  m_Printer.DirectIO(
	EpsonPOSPrinterConst.PTR_DI_RING_BUZZER_WITH_TIME,
	iData,
	abyte );

	strMessage = "戻り値:" + directIOReturn.Data.ToString();

	MessageBox.Show(strMessage,"DirectIOData");
   }
   catch(PosControlException)
   {
	MessageBox.Show("機能が使用できません。","DirectIO");
   }
}
 

ブザー機構の詳細は、無線LANインターフェイス、または、Ethernetインターフェイスの詳細取扱説明書を参照してください。
詳細取扱説明書は製品マニュアルダウンロードからダウンロードできます。

TMシリーズ TM-L90 オートカッターモデル,TM-L90 ピーラーモデル,TM-T20II,TM-T70,TM-T70II,TM-T88II,TM-T88III,TM-T88IV,TM-T88V,TM-T90,TM-T90II
FAQ改善アンケート

このページの評価をお聞かせください。〇✖をお選びください。

 

■役に立った
■役に立たなかった