UniPRT SDK  v1.0.0.0
RfidMonitor类 参考

提供与RFID相关服务的支持。该模块促进对印表机非请求讯息的监听/检索。 更多...

类 RfidMonitor 继承关系图:
IRfidMonitor

Public 成员函数

 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 成员函数

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.