public void Reset()
 {
     try
     {
         if (m_AppForm.m_ReaderAPI.IsConnected)
         {
             m_Settings             = m_AppForm.m_ReaderAPI.Config.GetTagStorageSettings();
             maxCount_TB.Text       = m_Settings.MaxTagCount.ToString();
             idLength_TB.Text       = m_Settings.MaxTagIDLength.ToString();
             memoryBankSize_TB.Text = m_Settings.MaxSizeMemoryBank.ToString();
         }
     }
     catch (Exception ex)
     {
         m_AppForm.functionCallStatusLabel.Text = ex.Message;
     }
 }
예제 #2
0
        /// <summary>
        /// 打开读取器连接
        /// </summary>
        /// <returns></returns>
        public ReturnMessage OpenReaderConnection()
        {
            ReturnMessage returnMsg = new ReturnMessage();

            if (m_RFIDReader == null)
            {
                returnMsg.CallStatus  = false;
                returnMsg.CallMessage = "读取器开启失败 : 读取器对象为空.";
                //日志记录
                DeclaimerReaderLog.Error("[读取器开启失败 : 读取器对象为空.] ==== [" + DateTime.Now.ToString() + "]");
            }

            try
            {
                if (!m_RFIDReader.IsConnected)
                {
                    //连接操作
                    m_RFIDReader.Connect();
                    //允许开始读取
                    IsAllowStartRead = true;
                    //设置功率
                    returnMsg = SetReaderPower(this.ReaderPowerList);
                    //日志记录
                    DeclaimerReaderLog.Info("[" + returnMsg.CallMessage + "] ==== [" + DateTime.Now.ToString() + "]");
                    SetReaderAntennas(this.ReaderAntennasList);
                }

                m_IsReading = false;

                if (m_RFIDReader != null)
                {
                    m_RFIDReader.Actions.TagAccess.OperationSequence.DeleteAll();
                    TagAccess.Sequence.Operation op = new TagAccess.Sequence.Operation();
                    op.AccessOperationCode             = ACCESS_OPERATION_CODE.ACCESS_OPERATION_READ;
                    op.ReadAccessParams.MemoryBank     = (MEMORY_BANK)3; // 3 user区
                    op.ReadAccessParams.ByteCount      = 0;
                    op.ReadAccessParams.ByteOffset     = 0;
                    op.ReadAccessParams.AccessPassword = 0;
                    m_RFIDReader.Actions.TagAccess.OperationSequence.Add(op);
                }

                try
                {
                    TagStorageSettings tagStorageSettings = m_RFIDReader.Config.GetTagStorageSettings();
                    tagStorageSettings.DiscardTagsOnInventoryStop = true;
                    m_RFIDReader.Config.SetTagStorageSettings(tagStorageSettings);

                    /*
                     *  Events Registration
                     */
                    m_RFIDReader.Events.AttachTagDataWithReadEvent = false;
                    //读取回调
                    m_RFIDReader.Events.ReadNotify += new Events.ReadNotifyHandler(Events_ReadNotify);
                    //状态回调
                    //m_RFIDReader.Events.StatusNotify += new Events.StatusNotifyHandler(Events_StatusNotify);
                    m_RFIDReader.Events.NotifyBufferFullWarningEvent = true;
                    m_RFIDReader.Events.NotifyBufferFullEvent        = true;
                    m_RFIDReader.Events.NotifyReaderDisconnectEvent  = true;
                    m_RFIDReader.Events.NotifyAccessStartEvent       = true;
                    m_RFIDReader.Events.NotifyAccessStopEvent        = true;
                    m_RFIDReader.Events.NotifyInventoryStartEvent    = true;
                    m_RFIDReader.Events.NotifyInventoryStopEvent     = true;
                    m_RFIDReader.Events.NotifyReaderExceptionEvent   = true;
                    m_RFIDReader.Events.NotifyHandheldTriggerEvent   = false;
                }
                catch (OperationFailureException ofe)
                {
                    returnMsg.CallStatus  = false;
                    returnMsg.CallMessage = "Connect Configuration : " + ofe.VendorMessage;
                    //日志记录
                    DeclaimerReaderLog.Error("[" + returnMsg.CallMessage + "] ==== [" + DateTime.Now.ToString() + "]");
                }
            }
            catch (OperationFailureException ofe)
            {
                returnMsg.CallStatus  = false;
                returnMsg.CallMessage = "Connect Error : " + ofe.StatusDescription;
                //日志记录
                DeclaimerReaderLog.Error("[" + returnMsg.CallMessage + "] ==== [" + DateTime.Now.ToString() + "]");
            }
            return(returnMsg);
        }