UniPRT SDK  v1.0.0.0
RfidMonitor 類別 參考文件

提供與RFID相關服務的支持。該模組促進對列印機非請求訊息的監聽/檢索。 更多...

類別RfidMonitor的繼承圖:
IRfidMonitor

公開方法(Public Methods)

 RfidMonitor (JsonComm mgmtComm)
 當已有 mgmt comm 物件用於監聽管理訊息時,呼叫此建構函式。 更多...
 
 RfidMonitor (String commDescriptor)
 建構函式在由 SDK 管理的連接建立時被呼叫。 更多...
 
 RfidMonitor (TcpConnection connection)
 必須傳遞已打開的 comm 連接,並且該連接需要保持開啟以監聽未請求的 RFID 報告。 更多...
 
void close () throws Exception
 
void Dispose ()
 
RfidReportNotice GetRfidReportCallback ()
 繼承自 IRfidMonitor.RfidReportCallback
 
boolean GetRfidReportListening ()
 繼承自 IRfidMonitor.RfidReportListening
 
void SetRfidReportCallback (RfidReportNotice callback)
 保存當接收到RFID報告時需要調用的函數。函數必須符合 RfidReportNotice 的簽名。 更多...
 
void SetRfidReportListening (boolean listening)
 啟用/停用監聽/解析來自打印機的未經請求的RFID報告。 更多...
 

保護方法(Protected Methods)

void Dispose (boolean disposing)
 
void finalize () throws Throwable
 

詳細描述

提供與RFID相關服務的支持。該模組促進對列印機非請求訊息的監聽/檢索。

非請求訊息(如果在列印機上啟用)可以在任何時間發送。 本模組需要穩定的「狀態」連接到列印機的管理埠,以便監聽任何從列印機發出的訊息。

備註

  • 要使列印機發送RFID報告,必須進行以下設定:
    • 在列印機的RFID選單中:"AutoID Mgr Rpt = Enable"

範例

package com.test.UniPRTSdk;
import java.util.Arrays;
import com.UniPRT.Sdk.Json.PrinterMonitor;
public class PrinterMonitorSnippet {
// setup a comm and xml parser for listening to xml msgs from printer
private static PrinterMonitor _PrinterMntr = null;
public static void main(String[] args) {
System.out.println("Monitoring Printer.");
try {
_PrinterMntr = new PrinterMonitor("192.168.1.57");
// setup for listening for alerts
_PrinterMntr.SetAlertStatusListening(true); // enable unsolicited alert status msgs from printer
_PrinterMntr.SetAlertStatusCallback(PrinterMonitorSnippet::PtrAlertNoticeListener);
// setup for listening for Engine Status
_PrinterMntr.SetEngineStatusListening(true); // enable unsolicited engine status msgs from printer
_PrinterMntr.SetEngineStatusCallback(PrinterMonitorSnippet::PtrEngineStatusNoticeListener);
// setup for listening for display text msgs
_PrinterMntr.SetDisplayStatusListening(true); // enable unsolicited display text msgs from printer
_PrinterMntr.SetDisplayStatusCallback(PrinterMonitorSnippet::PtrDisplayStatusNoticeListener);
while (true) { // wait for something to happen
// pretend to be busy doing some other work here...
Thread.sleep(1000); // simulate work
}
} catch (Exception e) {
System.out.printf("Exception Msg: %s%n", e.getMessage());
} finally {
if (_PrinterMntr != null) {
_PrinterMntr.Dispose();
}
}
}
private static void PtrAlertNoticeListener(String[] newAlertText) {
// Print out alerts: e.g. "2418" ("Print Head Open" fault/alert)
System.out.printf("Printer Alert #: %n %s - %s%n", newAlertText[0], newAlertText[1]);
}
private static void PtrEngineStatusNoticeListener(String newEngineStatus) {
// Print out engine status: e.g. "idle", "offline", "online", "printing"...
System.out.printf("Engine Status: %n %s%n", newEngineStatus);
}
private static void PtrDisplayStatusNoticeListener(String[] newDisplayText) {
// Print display msgs: e.g. "ONLINE" "ETHERNET/PGL/LP+" or "PRINT HEAD UP" "Close Print Head"
System.out.println("Printer Display: ");
Arrays.stream(newDisplayText).forEach(txtLine -> System.out.printf(" %s%n", txtLine));
}
}

輸出

發送列印任務後,將EPC、USR寫入並讀取USR記憶體的結果。

輸出


建構子與解構子說明文件

◆ RfidMonitor() [1/3]

RfidMonitor ( TcpConnection  connection)

必須傳遞已打開的 comm 連接,並且該連接需要保持開啟以監聽未請求的 RFID 報告。

連接是發送/接收訊息所必需的。

◆ RfidMonitor() [2/3]

RfidMonitor ( JsonComm  mgmtComm)

當已有 mgmt comm 物件用於監聽管理訊息時,呼叫此建構函式。

每台印表機的 JsonComm 物件負責監聽和解析已形成的管理訊息,並將其轉發給所有管理訊息的監聽者。

◆ RfidMonitor() [3/3]

RfidMonitor ( String  commDescriptor)

建構函式在由 SDK 管理的連接建立時被呼叫。

commDescriptor 是用於連接印表機的通信描述符。
TCP 描述符格式:"ip" 或 "ip:port"
例如:"127.0.0.1" 或 "127.0.0.1:3007"
如果未提供埠號,將使用預設值。

函式成員說明文件

◆ SetRfidReportCallback()

void SetRfidReportCallback ( RfidReportNotice  callback)

保存當接收到RFID報告時需要調用的函數。函數必須符合 RfidReportNotice 的簽名。

傳入函數的參數是一個代表接收到的RFID報告的 OdvReport 對象。

實作 IRfidMonitor.

◆ SetRfidReportListening()

void SetRfidReportListening ( boolean  listening)

啟用/停用監聽/解析來自打印機的未經請求的RFID報告。

請注意,必須啟用此選項才能在接收到RFID報告時接收任何通知,RfidReportCallback。

實作 IRfidMonitor.