public virtual void InitDevice(READER_TYPE readerType, bool connectBarcode)
        {
            mReader = new CReader(readerType);

            if (readerType == READER_TYPE.READER_IMP || readerType == READER_TYPE.READER_TM)
            {
                mReader.OnTagReported += Reader_OnTagReported;

                mPlc = new PLCController(CConfig.mPLCComPort);
                if (connectBarcode)
                {
                    mBarcode1 = new BarcodeDevice(CConfig.mScannerPort_1);
                    mBarcode2 = new BarcodeDevice(CConfig.mScannerPort_2);
                }
            }
            if (readerType == READER_TYPE.READER_DLX_PM || readerType == READER_TYPE.READER_XD_PM)
            {
                mReader.OnTagReported += Reader_OnTagReportedPM;
            }
        }
        public virtual void InitDevice(READER_TYPE readerType, PLC_TYPE plcType, bool connectBarcode)
        {
            mReader = new CReader(readerType);
            mPlc    = new CPLC(plcType);

            if (connectBarcode)
            {
                mBarcode1 = new BarcodeDevice(CConfig.mScannerPort_1);
                mBarcode2 = new BarcodeDevice(CConfig.mScannerPort_2);
            }

            if (plcType == PLC_TYPE.PLC_NONE)
            {
                mReader.OnTagReported += Reader_OnTagReportedPM;
            }
            else
            {
                mReader.OnTagReported += Reader_OnTagReported;
            }
        }