/// <summary> /// EncapedLogBaseEpcOver 回调消息 /// </summary> public void OnEncapedTagEpcOver(EncapedLogBaseEpcOver msg) { if (null != msg) { LogUtils.Debug("Epc log over."); //发送停止状态;并停止当前连接 //SendSynBaseStopMsg(currentClientConn); currentClientConn.Close(); manualResetEvent.Set(); } }
public static void TestRFID(object sender, ElapsedEventArgs elapsed) { GClient clientConn = new GClient(); //COM1 主柜rfid串口 //COM4 副柜rfid串口 if (clientConn.OpenSerial("COM1:115200", 3000, out eConnectionAttemptEventStatusType status)) //if (clientConn.OpenTcp("192.168.1.168:8160", 3000, out status)) { // 订阅标签上报事件 clientConn.OnEncapedTagEpcLog += new delegateEncapedTagEpcLog(OnEncapedTagEpcLog); clientConn.OnEncapedTagEpcOver += new delegateEncapedTagEpcOver(OnEncapedTagEpcOver); // 停止指令,空闲态 MsgBaseStop msgBaseStop = new MsgBaseStop(); clientConn.SendSynMsg(msgBaseStop); if (0 == msgBaseStop.RtCode) { LogUtils.Debug("Stop successful."); } else { LogUtils.Debug("Stop error."); } // 功率配置, 将4个天线功率都设置为30dBm. MsgBaseSetPower msgBaseSetPower = new MsgBaseSetPower { DicPower = new Dictionary <byte, byte>() { { 1, 30 }, { 2, 30 }, { 3, 30 }, { 4, 30 } } }; clientConn.SendSynMsg(msgBaseSetPower); if (0 == msgBaseSetPower.RtCode) { LogUtils.Debug("Power configuration successful."); } else { LogUtils.Debug("Power configuration error."); } LogUtils.Debug("Enter any character to start reading the tag."); Console.ReadKey(); // 4个天线读卡, 读取EPC数据区以及TID数据区 MsgBaseInventoryEpc msgBaseInventoryEpc = new MsgBaseInventoryEpc { AntennaEnable = (uint)(eAntennaNo._1 | eAntennaNo._2 | eAntennaNo._3 | eAntennaNo._4), InventoryMode = (byte)eInventoryMode.Inventory, // tid参数 ReadTid = new ParamEpcReadTid() }; msgBaseInventoryEpc.ReadTid.Mode = (byte)eParamTidMode.Auto; msgBaseInventoryEpc.ReadTid.Len = 6; clientConn.SendSynMsg(msgBaseInventoryEpc); if (0 == msgBaseInventoryEpc.RtCode) { LogUtils.Debug("Inventory epc successful."); } else { LogUtils.Debug("Inventory epc error."); } Console.ReadKey(); // 停止读卡,空闲态 clientConn.SendSynMsg(msgBaseStop); if (0 == msgBaseStop.RtCode) { LogUtils.Debug("Stop successful."); } else { LogUtils.Debug("Stop error."); } } else { LogUtils.Debug("Connect failure."); } Console.ReadKey(); clientConn.Close(); }