/// <summary>
        /// 寻卡号
        /// </summary>
        /// <param name="op">门禁主机操作对象</param>
        /// <returns>返回卡号</returns>
        public string ReaderCardNum(CHDOperate op)
        {
            string no = "";

            if (null != op)
            {
                no = op.GetCardNum();
            }
            TextMsg?.Invoke(string.Format("门禁主机 {0} 获取卡号失败···", op.deviceIp, DateTime.Now));
            return(no);
        }
        /// <summary>
        /// 寻卡号
        /// </summary>
        /// <param name="com">通讯端口</param>
        /// <returns>返回卡号</returns>
        public string ReaderCardNum(string com)
        {
            CHDOperate op = new CHDOperate();

            op.CHDLogMsg += Op_CHDLogMsg;
            if (op.ConnectionDevice(com, DeviceType.CHDCardReader, portOrBaud: 9600, isTcp: false))
            {
                string no = "";
                if (null != op && !string.IsNullOrWhiteSpace(com))
                {
                    no = op.GetCardNum();
                }
                op.DisConnectionDevice();
                return(no);
            }
            TextMsg?.Invoke(string.Format("门禁主机 {0} 获取卡号失败···", com, DateTime.Now));
            return("");
        }