public override double[] TraceDataByIndex(int TraceIndex)
        {
            TraceNumber trace = (TraceNumber)TraceIndex;

            double[] numArray1 = null;
            try
            {
                this.m_CommMutex.WaitOne();
                string    rst    = QueryWithoutLineFeed(string.Format("{0}?;", trace));
                string [] numstr = rst.Split(',');
                numArray1 = new double[numstr.Length];
                for (int i = 0; i < (int)numArray1.Length; i++)
                {
                    numArray1[i] = double.Parse(numstr[i]);
                }
            }
            catch (Exception exception)
            {
                throw new ApplicationException("Could not read trace data", exception);
            }
            finally
            {
                m_CommMutex.ReleaseMutex();
            }
            return(numArray1);
        }
        /// <summary>
        /// 设置迹线的状态
        /// </summary>
        /// <param name="inState">迹线的状态值</param>
        /// <param name="TraceIndex">迹线序号</param>
        public override void SetTraceStateByIndex(TraceState inState, int TraceIndex)
        {
            TraceNumber trace = (TraceNumber)TraceIndex;
            string      str;

            switch (inState)
            {
            case SpectrumAnalyzer.TraceState.Maxhold:
            {
                str = "MXMH";
                break;
            }

            case SpectrumAnalyzer.TraceState.Minhold:
            {
                str = "MINH";
                break;
            }

            case SpectrumAnalyzer.TraceState.Write:
            {
                str = "CLRW";
                break;
            }

            case SpectrumAnalyzer.TraceState.Blank:
            {
                str = "BLANK";
                break;
            }

            case SpectrumAnalyzer.TraceState.View:
            {
                str = "VIEW";
                break;
            }

            default:
            {
                goto case SpectrumAnalyzer.TraceState.Blank;
            }
            }
            this.SendWithoutLineFeed(string.Format("{0} {1};", str, trace));
            this.WaitOpc();
        }
        public void CreateAddendaRecord(string paymentRelatedInformation, uint addendaTypeCode = 5)
        {
            CheckDisposed();

            _NACHAEntryDetailRecord.AddendaRecordIndicator = true;

            var x = _entryDetailWriter.Value;

            ChoNACHAAddendaRecord addendaRecord = ChoActivator.CreateInstanceAndInit <ChoNACHAAddendaRecord>();

            addendaRecord.AddendaTypeCode           = addendaTypeCode;
            addendaRecord.PaymentRelatedInformation = paymentRelatedInformation;
            addendaRecord.AddendaSequenceNumber     = ++_addendaSeqNo;
            addendaRecord.EntryDetailSequenceNumber = ulong.Parse(TraceNumber.ToString().Last(7));

            _batchRunningStatObject.UpdateStat(addendaRecord);

            _writer.Write(addendaRecord);
        }