示例#1
0
 private void rb_HF_CheckedChanged(object sender, EventArgs e)
 {
     if (rb_HF.Checked)
     {
         _RFIDDevice = new HFISO15693();
         _RFIDDevice.Close();
         string strLog = string.Empty;
         _RFIDDevice.Open(ref strLog);
     }
 }
示例#2
0
        private void reconnectTips(object obj)
        { //提示窗口线程
            RFIDInterface creader  = obj as RFIDInterface;
            Thread        boxclose = new Thread(new ParameterizedThreadStart(closebox));

            boxclose.IsBackground = true;
            boxclose.Start(obj);
            MessageBox.Show(creader.ip + "断线,正在尝试重连......", creader.ip + "Tips");
            log.Info(creader.ip + "断线,正在尝试重连......");
        }
示例#3
0
        private void closebox(object obj)
        {//关闭提示窗口线程
            RFIDInterface clreader = obj as RFIDInterface;

            Thread.Sleep(1000);
            IntPtr dlg = FindWindow(null, clreader.ip + "Tips");

            if (dlg != IntPtr.Zero)
            {
                PostMessage(dlg, VM_CLOSE, IntPtr.Zero, IntPtr.Zero);
            }
        }
示例#4
0
        private void WriteTag_Load(object sender, EventArgs e)
        {
            SetLabelStatus(statusType.START);


            //_RFIDDevice = new HFISO15693();
            _RFIDDevice = new UHFISO18000();
            string strLog = string.Empty;

            _RFIDDevice.Open(ref strLog);
            WriteLog(lrtxtLog, strLog, ReaderInfo.readerConnerted ? 0 : 1);
            chkbox_burningTag.Checked = ReaderInfo.readerConnerted;
        }
        public HCSCM_entityset_manager_bindingRfid(SortedList SLdata)
        {
            InitializeComponent();
            #region buttont图片加载
            this.but_cancel.Image       = ResourcesImageHelper.Instance.GetResourcesImage("Common.Buttom", "cancel", EnumImageType.PNG);
            this.but_save.Image         = ResourcesImageHelper.Instance.GetResourcesImage("Common.Buttom", "Preservation", EnumImageType.PNG);
            this.but_binding.Image      = ResourcesImageHelper.Instance.GetResourcesImage("Common.Buttom", "reBind", EnumImageType.PNG);
            this.but_remove.Image       = ResourcesImageHelper.Instance.GetResourcesImage("Common.Buttom", "removeBinding", EnumImageType.PNG);
            this.but_feelingEmpty.Image = ResourcesImageHelper.Instance.GetResourcesImage("Common.Buttom", "empty", EnumImageType.PNG);
            #endregion
            //设置窗体图标
            this.Icon = new Icon(ResourcesImageHelper.Instance.GetResourcesStream("Common.icon", "MainIco", EnumImageType.ICO));
            this.Text = ConfigurationManager.AppSettings["SystemName"].ToString() + "--绑定RFID";
            //赋值并显示信息
            tb_setName.Text = SLdata["器械名称"].ToString();
            tb_iNumber.Text = SLdata["器械数量"].ToString();

            set_id         = SLdata["实体包id"].ToString();
            instruments_id = SLdata["器械编号"].ToString();
            set_code       = SLdata["实体包条码"].ToString();
            rfidCode       = Loadclass();
            if (rfidCode != null)
            {
                rfidCode.GetNoneAddData += AddInstrumentData;
                rfidCode.Connecttion();
            }
            try
            {
                if (rfidCode == null || !rfidCode.IsStartScan)//判断有没有连接上RFID机器
                {
                    MessageBox.Show(PromptMessageXmlHelper.Instance.GetPromptMessage("reconnectRfid", EnumPromptMessage.warning), "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    IsShow = false;
                }
                else
                {
                    IsShow = true;
                    selBindingRFID();
                    //连接RFID
                    repeatData = LoadRepeatRfidTable();
                    repeatRFID = LoadRepeatRfid();
                }
            }
            catch (Exception)
            {
                MessageBox.Show(PromptMessageXmlHelper.Instance.GetPromptMessage("reconnectRfid", EnumPromptMessage.warning), "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
示例#6
0
        /// <summary>
        /// 打开RFID读写器
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnOpenReader_Click(object sender, EventArgs e)
        {
            openState = (openState ^ true);
            this.btnOpenReader.Text = openState ? "Close Reader" : "Open Reader";
            if (openState)
            {
                try
                {
                    int count = rfidWriterList.Count;
                    if (count <= 0 && rfidWriterList == null)
                    {
                        throw new Exception("从数据库中获取数据失败");
                    }
                    else
                    {
                        //根据不同类型的Reader,ReaderFactory实例化不通过的Reader
                        ReaderFactory readerFact = new ReaderFactory();

                        reader = readerFact.MakeReader(rfidWriterList[0].RFidreaderType);
                        reader.Open(rfidWriterList[0].RFidreaderIP);

                        this.readerLB.Items.Add(Convert.ToString(rfidWriterList[0].RFidreaderID + " " + rfidWriterList[0].RFidreaderIP + " " + rfidWriterList[0].RFidreaderType));
                    }

                    //Reader打开之前不可用
                    this.btnWrite.Enabled  = true;
                    this.btnReadM4.Enabled = true;
                    this.lockBTN.Enabled   = true;
                }
                catch (Exception ex)
                {
                    MessageBox.Show("打开读写器失败:" + ex.Message);
                }
            }
            else
            {
                this.readerLB.Items.Clear();
                this.reader.CleanBuffer();
                this.reader.Close();

                //Reader关闭之后不可用
                this.btnWrite.Enabled  = false;
                this.btnReadM4.Enabled = false;
                this.lockBTN.Enabled   = false;
            }
        }
示例#7
0
        private void Form1_Load(object sender, EventArgs e)
        {
            if (CheckLicense() == false)
            {
                MessageBox.Show("请升级软件"); return;
            }
            assemblyobj = CreateWc("http://10.60.3.27/PMSService/DataService.asmx");
            //初始化读取描述
            //获取间隔时间
            List <string> TimeList = new List <string>();

            string[] aryTime = new Jsonhelp().readjson("ReadTime", BasicConfigInfo.path).ToString().Split('|');
            foreach (var a in aryTime)
            {
                TimeList.Add(a);
            }
            ddlinternalTime.DataSource = TimeList;

            //初始化cefsharp
            try
            {
                DbUtility   dbhelp = new DbUtility(System.Configuration.ConfigurationManager.ConnectionStrings["cloudConn"].ToString(), DbProviderType.MySql);
                CefSettings seting = new CefSettings();
                //seting.CefCommandLineArgs.Add("disable-gpu", "1");
                //Cef.EnableHighDPISupport();
                Cef.Initialize(seting);
                String page = string.Format(@"{0}\IVCurve\IVCurve.html", Application.StartupPath);
                //ChromiumWebBrowser myBrowser = new ChromiumWebBrowser(page);
                myBrowser = new ChromiumWebBrowser(page);
                //this.Controls.Add(myBrowser);
                myBrowser.Dock = DockStyle.Fill;
                gbxCurve.Controls.Add(myBrowser);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            //panel1.Controls.Add(myBrowser);
            objRFID = new UHFISO18000();
            string res = "";

            objRFID.Open(ref res);
            Log(res, 1);
        }
示例#8
0
        private void reconnect()
        {
            Thread.Sleep(20000);   //检测线程启动延时
            while (!form1.IsClose)
            {
                for (int i = 0; i < form1.Xtreaderlist.Count; i++)  //  XReaderInitList是所有已注册的reader
                {
                    XtiveReaderInitClass CurInitR = form1.Xtreaderlist[i];
                    RFIDInterface        CurR     = CurInitR.reader;

                    //Test
                    //bool flag = CurR.Check();
                    //System.Console.WriteLine(CurR.ip + " " + CurR.Check() + CurR.ReConnectCount);
                    //if (!CurR.Check() && CurR.ReConnectCount < CurInitR.errCountOfLoadTagData)
                    //if (!flag)

                    if (!CurR.Check())
                    {
                        if (CurR.ReConnectCount <= CurInitR.errCountOfLoadTagData || reconnectCntSet.Contains(CurR.ReConnectCount))
                        {
                            Thread tipThread = new Thread(new ParameterizedThreadStart(reconnectTips));
                            tipThread.IsBackground = true;
                            tipThread.Start(CurR);

                            CurR.ReConnect(CurR.ip);
                        }
                        else if (!(bool)AlertState[CurR.ip])
                        {
                            Thread connectThread = new Thread(new ParameterizedThreadStart(reconnectWait));
                            connectThread.IsBackground = true;
                            //connectThread.Priority = ThreadPriority.Lowest;
                            connectThread.Start(CurR);

                            CurR.ReConnectCount++;
                        }
                        else
                        {
                            CurR.ReConnectCount++;
                        }
                    }
                }
                Thread.Sleep(15000); //检测频率15s
            }
        }
示例#9
0
        public void initReaderList()
        {
            //  List<RFIDReader> rfidreaderlist = new List<RFIDReader>();
            //  //连接数据库,获取所有reader的基本信息
            ////  RFIDReaderList createrredaerlist = new RFIDReaderList();
            //  XMLReaderConvertor xmlreaderlist = new XMLReaderConvertor();
            //  rfidreaderlist = xmlreaderlist.getRFIDReaderList();

            //rfidreaderlist的个数
            int count = rfidreaderlist.Count;

            if (count <= 0 && rfidreaderlist == null)
            {
                throw new Exception("从数据库中获取数据失败");
            }
            else
            {
                //根据不同类型的Reader,ReaderFactory实例化不通过的Reader
                ReaderFactory readerFact = new ReaderFactory();
                for (int i = 0; i < count; i++)
                {
                    //实例化reader
                    RFIDInterface reader = readerFact.MakeReader(rfidreaderlist[i].RFidreaderType);
                    //打开reader
                    //reader.ip = rfidreaderlist[i].RFidreaderIP;  //2014.2.17:设置IP
                    //System.Diagnostics.Stopwatch stopwatch = new Stopwatch();
                    //stopwatch.Start();
                    reader.Open(rfidreaderlist[i].RFidreaderIP);
                    //stopwatch.Stop();

                    reconnectThread.AlertState.Add(rfidreaderlist[i].RFidreaderIP, false);  //2014.2.24,对话框状态

                    this.readerListBox.Items.Add(Convert.ToString(rfidreaderlist[i].RFidreaderID + " " + rfidreaderlist[i].RFidreaderIP + " " + rfidreaderlist[i].RFidreaderType));

                    this.Xtreaderlist.Add(new XtiveReaderInitClass(reader, false));

                    //TimeSpan timespan = stopwatch.Elapsed;
                    //System.Console.WriteLine(rfidreaderlist[i].RFidreaderIP+" "+timespan.TotalMilliseconds);
                }
            }
        }
示例#10
0
        private void reconnectWait(object obj)
        {  /*
            * 弹出对话框,提示用户读写器断线,并等待用户响应,重连或返回  2014.2.24
            */
            RFIDInterface rfidreader = obj as RFIDInterface;

            AlertState[rfidreader.ip] = true;

            MessageBoxButtons messButton = MessageBoxButtons.OKCancel;
            DialogResult      dr         = MessageBox.Show(rfidreader.ip + "掉线或断电,请重新连接或上电重启,完成后按\"确定\"按钮重连", "断线重连", messButton);

            log.Info(rfidreader.ip + "掉线或断电");
            //System.Console.WriteLine("Wait");
            if (dr == DialogResult.OK)
            {
                rfidreader.ReConnect(rfidreader.ip);
            }
            //System.Console.WriteLine("Reconnect");

            AlertState[rfidreader.ip] = false;
            rfidreader.ReConnectCount = 0;
        }
 /// <summary>
 /// 窗体加载事件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void OnDialogLoad(object sender, EventArgs e)
 {
     InitializeRFID_InTable();
     InitalizeSetInfo();
     RefreshDataGrid();
     try
     {
         rfidCode = Loadclass();
         if (rfidCode != null)
         {
             rfidCode.GetNoneAddData += AddInstrumentData;
             rfidCode.Connecttion();
         }
         if (rfidCode == null || !rfidCode.IsStartScan)
         {
             this.Invoke(new Action(() => { MessageBox.Show("连接RFID读取器失败"); }));
         }
     }
     catch
     {
         MessageBox.Show("连接RFID读取器失败");
     }
     _isShow = true;
 }
示例#12
0
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            EPRuntime epRuntime = prefilter.getEPRuntime();

            while (ismonitor)
            {
                if (this.Xtreaderlist.Count > 0)
                {
                    foreach (XtiveReaderInitClass curInitR in Xtreaderlist) //  XReaderInitList是所有已注册的reader
                    {
                        RFIDInterface curR = curInitR.reader;

                        if ((bool)reconnectThread.AlertState[curR.ip] || !curR.Check())
                        {
                            continue;       //检测跳过
                        }

                        bool bResult = curR.LoadTagData(ref xtaglist, ref recordcount);

                        if (recordcount > 0)
                        {
                            for (int i = 0; i < recordcount; i++)
                            {
                                rfiddata.XtiveTag tag = xtaglist[i];
                                epRuntime.SendEvent(tag); //发送事件到预过滤处理引擎
                            }
                        }
                        else
                        {
                            //strResult = "No Tag! \r\n";
                        }
                    }
                }
                Thread.Sleep(this.readFre); //读取数据频率
            }
        }
 public XtiveReaderInitClass(RFIDInterface reader, bool initStatus)
 {
     this.reader = reader;
     this.bInitStatus = initStatus;
 }
示例#14
0
 public XtiveReaderInitClass(RFIDInterface reader, bool initStatus)
 {
     this.reader      = reader;
     this.bInitStatus = initStatus;
 }
示例#15
0
        /// <summary>
        /// 打开RFID读写器
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnOpenReader_Click(object sender, EventArgs e)
        {
            openState = (openState ^ true);
            this.btnOpenReader.Text = openState ? "Close Reader" : "Open Reader";
            if (openState)
            {
                try
                {
                    int count = rfidWriterList.Count;
                    if (count <= 0 && rfidWriterList == null)
                    {
                        throw new Exception("从数据库中获取数据失败");
                    }
                    else
                    {
                        //根据不同类型的Reader,ReaderFactory实例化不通过的Reader
                        ReaderFactory readerFact = new ReaderFactory();

                        reader = readerFact.MakeReader(rfidWriterList[0].RFidreaderType);
                        reader.Open(rfidWriterList[0].RFidreaderIP);

                        this.readerLB.Items.Add(Convert.ToString(rfidWriterList[0].RFidreaderID + " " + rfidWriterList[0].RFidreaderIP + " " + rfidWriterList[0].RFidreaderType));
                    }

                    //Reader打开之前不可用
                    this.btnWrite.Enabled = true;
                    this.btnReadM4.Enabled = true;
                    this.lockBTN.Enabled = true;
                }
                catch (Exception ex)
                {
                    MessageBox.Show("打开读写器失败:" + ex.Message);
                }
            }
            else
            {
                this.readerLB.Items.Clear();
                this.reader.CleanBuffer();
                this.reader.Close();

                //Reader关闭之后不可用
                this.btnWrite.Enabled = false;
                this.btnReadM4.Enabled = false;
                this.lockBTN.Enabled = false;
            }
        }