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

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

類別com.UniPRT.Sdk.Json.RfidMonitor的繼承圖:
com.UniPRT.Sdk.Json.IRfidMonitor

公開方法(Public Methods)

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

保護方法(Protected Methods)

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

私有方法(Private Methods)

void triggerCallbackForRfidReport (RfidReport report)
 
void MsgListenerCtrlRefresh ()
 
Map< String, String > MsgParser_RfidReport (String mgmtReportFrame)
 
void CallbackForRfidReport (RfidReport RfidReport)
 

私有屬性

TcpConnection _ptrComm
 
JsonComm _mgmtComm
 
Channel< String > _msgsFromPtr
 
String _myMgmtId = ""
 
AtomicBoolean _mgmtMsgListening = new AtomicBoolean(false)
 
AtomicBoolean _printerJobReporting = new AtomicBoolean(false)
 
AtomicBoolean _rfidReportListening = new AtomicBoolean(false)
 
ExecutorService _executor = Executors.newSingleThreadExecutor()
 
Future<?> _listenerTask
 
ConcurrentLinkedQueue< String > _mgmtFilteredMsgs = new ConcurrentLinkedQueue<>()
 
RfidReportNotice RfidReportCallback
 
boolean _sdkManagedComm = false
 
String _managedDescriptor = ""
 
boolean _disposed = false
 

靜態私有屬性

static final int MAX_MSGS_FROM_PTR = 100
 
static final int MAX_Rfid_MSGS = 2
 

詳細描述

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

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

備註

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

範例

package com.test.UniPRTSdk;
import java.util.Arrays;
public class PrinterMonitorSnippet {
// setup a comm and xml parser for listening to xml msgs from printer
private static PrinterMonitor _PrinterMntr = null;
public static void test() {
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]

com.UniPRT.Sdk.Json.RfidMonitor.RfidMonitor ( TcpConnection  connection)

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

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

參考 com.UniPRT.Sdk.Json.RfidMonitor._mgmtComm, com.UniPRT.Sdk.Json.RfidMonitor._myMgmtId, com.UniPRT.Sdk.Json.RfidMonitor._ptrComm, com.UniPRT.Sdk.Json.JsonStringBuilder.GetRandomObjectId_Json(), 及 com.UniPRT.Sdk.Json.RfidMonitor.RfidReportCallback.

◆ RfidMonitor() [2/3]

com.UniPRT.Sdk.Json.RfidMonitor.RfidMonitor ( JsonComm  mgmtComm)

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

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

參考 com.UniPRT.Sdk.Json.RfidMonitor._mgmtComm, com.UniPRT.Sdk.Json.RfidMonitor._myMgmtId, com.UniPRT.Sdk.Json.JsonStringBuilder.GetRandomObjectId_Json(), 及 com.UniPRT.Sdk.Json.RfidMonitor.RfidReportCallback.

◆ RfidMonitor() [3/3]

com.UniPRT.Sdk.Json.RfidMonitor.RfidMonitor ( String  commDescriptor)

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

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

參考 com.UniPRT.Sdk.Json.RfidMonitor._managedDescriptor, com.UniPRT.Sdk.Json.RfidMonitor._mgmtComm, com.UniPRT.Sdk.Json.RfidMonitor._myMgmtId, com.UniPRT.Sdk.Json.RfidMonitor._sdkManagedComm, com.UniPRT.Sdk.Json.JsonCommController.CreateMgmtComm(), com.UniPRT.Sdk.Json.JsonStringBuilder.GetRandomObjectId_Json(), com.UniPRT.Sdk.Json.JsonCommController.Instance(), 及 com.UniPRT.Sdk.Json.RfidMonitor.RfidReportCallback.

函式成員說明文件

◆ CallbackForRfidReport()

void com.UniPRT.Sdk.Json.RfidMonitor.CallbackForRfidReport ( RfidReport  RfidReport)
private

◆ close()

void com.UniPRT.Sdk.Json.RfidMonitor.close ( ) throws Exception

◆ Dispose() [1/2]

void com.UniPRT.Sdk.Json.RfidMonitor.Dispose ( )

◆ Dispose() [2/2]

◆ finalize()

void com.UniPRT.Sdk.Json.RfidMonitor.finalize ( ) throws Throwable
protected

◆ GetRfidReportCallback()

RfidReportNotice com.UniPRT.Sdk.Json.RfidMonitor.GetRfidReportCallback ( )

繼承自 IRfidMonitor.RfidReportCallback

實作 com.UniPRT.Sdk.Json.IRfidMonitor.

參考 com.UniPRT.Sdk.Json.RfidMonitor.RfidReportCallback.

◆ GetRfidReportListening()

boolean com.UniPRT.Sdk.Json.RfidMonitor.GetRfidReportListening ( )

繼承自 IRfidMonitor.RfidReportListening

實作 com.UniPRT.Sdk.Json.IRfidMonitor.

參考 com.UniPRT.Sdk.Json.RfidMonitor._rfidReportListening.

◆ MsgListenerCtrlRefresh()

◆ MsgParser_RfidReport()

Map<String, String> com.UniPRT.Sdk.Json.RfidMonitor.MsgParser_RfidReport ( String  mgmtReportFrame)
private

◆ SetRfidReportCallback()

void com.UniPRT.Sdk.Json.RfidMonitor.SetRfidReportCallback ( RfidReportNotice  callback)

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

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

實作 com.UniPRT.Sdk.Json.IRfidMonitor.

◆ SetRfidReportListening()

void com.UniPRT.Sdk.Json.RfidMonitor.SetRfidReportListening ( boolean  listening)

◆ triggerCallbackForRfidReport()

void com.UniPRT.Sdk.Json.RfidMonitor.triggerCallbackForRfidReport ( RfidReport  report)
private

資料成員說明文件

◆ _disposed

boolean com.UniPRT.Sdk.Json.RfidMonitor._disposed = false
private

◆ _executor

ExecutorService com.UniPRT.Sdk.Json.RfidMonitor._executor = Executors.newSingleThreadExecutor()
private

◆ _listenerTask

Future<?> com.UniPRT.Sdk.Json.RfidMonitor._listenerTask
private

◆ _managedDescriptor

String com.UniPRT.Sdk.Json.RfidMonitor._managedDescriptor = ""
private

◆ _mgmtComm

◆ _mgmtFilteredMsgs

ConcurrentLinkedQueue<String> com.UniPRT.Sdk.Json.RfidMonitor._mgmtFilteredMsgs = new ConcurrentLinkedQueue<>()
private

◆ _mgmtMsgListening

AtomicBoolean com.UniPRT.Sdk.Json.RfidMonitor._mgmtMsgListening = new AtomicBoolean(false)
private

◆ _msgsFromPtr

Channel<String> com.UniPRT.Sdk.Json.RfidMonitor._msgsFromPtr
private

◆ _myMgmtId

String com.UniPRT.Sdk.Json.RfidMonitor._myMgmtId = ""
private

◆ _printerJobReporting

AtomicBoolean com.UniPRT.Sdk.Json.RfidMonitor._printerJobReporting = new AtomicBoolean(false)
private

◆ _ptrComm

TcpConnection com.UniPRT.Sdk.Json.RfidMonitor._ptrComm
private

◆ _rfidReportListening

AtomicBoolean com.UniPRT.Sdk.Json.RfidMonitor._rfidReportListening = new AtomicBoolean(false)
private

◆ _sdkManagedComm

boolean com.UniPRT.Sdk.Json.RfidMonitor._sdkManagedComm = false
private

◆ MAX_MSGS_FROM_PTR

final int com.UniPRT.Sdk.Json.RfidMonitor.MAX_MSGS_FROM_PTR = 100
staticprivate

◆ MAX_Rfid_MSGS

final int com.UniPRT.Sdk.Json.RfidMonitor.MAX_Rfid_MSGS = 2
staticprivate

◆ RfidReportCallback


此類別(class) 文件是由下列檔案中產生:
com.UniPRT.Sdk.Json
Definition: AlertStatusNotice.java:1
com.UniPRT.Sdk.Json.PrinterMonitor
用於協助監聽/檢索打印機非請求讯息或檢索打印機狀態/资讯的模塊。
Definition: PrinterMonitor.java:77
com.UniPRT
com.UniPRT.Sdk
com