Ejemplo n.º 1
0
        public DataGenerator()
        {
            _MaxDataPerLoop = 0;
            _MaxChannel = 0;
            _MaxLoop = 0;

            // 測定中
            this.measSetting = SystemSetting.MeasureSetting;
            this.chSetting = SystemSetting.ChannelsSetting;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// フォームロードイベント
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void frmMeasureStart_Load(object sender, EventArgs e)
        {
            if (this.log != null) this.log.PutLog("frmMeasureStart.frmMeasureStart_Load() - 測定開始画面のロードを開始しました。");
            try
            {
                // 言語切替
                AppResource.SetControlsText(this);
                cmbMeasMode.Items.Clear();
                cmbMeasMode.Items.Add(AppResource.GetString("TXT_MODE1"));
                cmbMeasMode.Items.Add(AppResource.GetString("TXT_MODE2"));
                cmbMeasMode.Items.Add(AppResource.GetString("TXT_MODE3"));
                // タグ一覧表示
                this.tagSetting = SystemSetting.DataTagSetting;

                // 測定設定ファイル読み込み
                this.measSetting = SystemSetting.MeasureSetting;
                this.relationSetting = SystemSetting.RelationSetting;
                this.chSetting = SystemSetting.ChannelsSetting;

                //選択色をセットする。
                cmbColor.ListColors = new List<Color>(Constants.GraphLineColors);
                cmbColor.InitColors();

                // ch-tag relation can be changed in other setting form.
                if (this.measSetting != null && this.measSetting.MeasTagList != null)
                {
                    for (int i = 1; i < this.relationSetting.RelationList.Length; i++)
                    {
                        this.measSetting.MeasTagList[i - 1] = this.relationSetting.RelationList[i].TagNo_1;
                    }
                    this.revolutionTag = this.relationSetting.RelationList[0].TagNo_1;
                }

                // 測定設定を表示
                ShowMeasSetting();
                this.measSetting.IsUpdated = false;
                if (cmbColor.Visible)
                { cmbColor.Visible = false; }

                //コンテンツのロード
                ContentsLoad();

                //ボタンイメージの設定
                InitButtonImage();

            }
            catch (Exception ex)
            {
                ShowErrorMessage(ex);
            }

            if (this.log != null) this.log.PutLog("frmMeasureStart.frmMeasureStart_Load() - 測定開始画面のロードを終了しました。");
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 計測前初期化処理
        /// </summary>
        /// <param name="ch_setting"></param>
        /// <param name="meas_setting"></param>
        /// <param name="folderPath"></param>
        /// <remarks>
        /// 計測前処理として、内部のSampleDatasのHeader情報を書き込み。
        /// 自動保存されるように設定する。
        /// </remarks>
        public void InitializeforMeasure(ChannelsSetting ch_setting , MeasureSetting meas_setting , string folderPath)
        {
            sampleDatas = new SampleDataManager();

            sampleDatas.FolderPath = folderPath;

            sampleDatas.HeaderData = new SampleDataHeader();
            //モードの設定
            sampleDatas.HeaderData.Mode = (ModeType)meas_setting.Mode;

            //チャンネルデータの設定
            SampleDataHeader.CHANNELDATATYPE[] channeldatatypes = new SampleDataHeader.CHANNELDATATYPE[11];

            //回転数分
            switch (sampleDatas.HeaderData.Mode)
            {
                case ModeType.MODE3:
                    channeldatatypes[0] = SampleDataHeader.CHANNELDATATYPE.NONE;  
                    break;
                default:
                    channeldatatypes[0] = SampleDataHeader.CHANNELDATATYPE.SINGLEDATA;
                    break;
            }

            //他チャンネル
            for(int i = 0 ; i < ch_setting.ChannelSettingList.Length; i++)
            {
                if (ch_setting.ChannelSettingList[i].ChKind != ChannelKindType.N
                    && meas_setting.MeasTagList[i] != -1)
                {
                    switch (sampleDatas.HeaderData.Mode)
                    {
                        case ModeType.MODE1:
                            if (ch_setting.ChannelSettingList[i].ChKind == ChannelKindType.R &&
                                ch_setting.ChannelSettingList[i].Mode1_Trigger == Mode1TriggerType.MAIN)
                                channeldatatypes[i+1] = SampleDataHeader.CHANNELDATATYPE.DOUBLEDATA;
                            else
                                channeldatatypes[i+1] = SampleDataHeader.CHANNELDATATYPE.SINGLEDATA;

                            break;
                        case ModeType.MODE2:
                        case ModeType.MODE3:
                            channeldatatypes[i+1] = SampleDataHeader.CHANNELDATATYPE.SINGLEDATA;
                            break;
                    }
                }
                else
                {
                    channeldatatypes[i+1] = SampleDataHeader.CHANNELDATATYPE.NONE;                  
                }
            }

            sampleDatas.HeaderData.ChannelsDataType = channeldatatypes;

            //自動保存の開始
            sampleDatas.AutoWriteFlag = true;
        }
Ejemplo n.º 4
0
        /// <summary>
        /// フォームロードイベント
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void frmMeasureMain_Load(object sender, EventArgs e)
        {
            if (this.log != null) this.log.PutLog("frmMeasureMain.frmMeasureMain_Load() - 測定中画面のロードを開始しました。");

            try
            {
                RealTimeData.DataTagSetting = (DataTagSetting)SystemSetting.DataTagSetting.Clone();
                // 言語切替
                AppResource.SetControlsText(this);

                // 測定設定ファイル読み込み
                var xmlFilePath = CommonLib.SystemDirectoryPath.SystemPath + MeasureSetting.FileName;
                if (System.IO.File.Exists(xmlFilePath))
                {
                    this.measSetting = (MeasureSetting)MeasureSetting.Deserialize(xmlFilePath);
                }
                else
                {
                    MessageBox.Show(AppResource.GetString("ERROR_MEASURE_SETTING_FILE_NOT_FOUND"), this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    this.Close();
                    return;
                }

                // 2Dグラフの設定
                for (int i = 0; i < this.graph2DList.Length; i++)
                {
                    if (this.measSetting.GraphSettingList.Length <= i) break;

                    if (this.measSetting.GraphSettingList[i].IsValid)
                    {
                        this.graph2DList[i] = new frmGraph2D(this.log, i) { MdiParent = this, CurrentValueLineChanged = Graph2DCurrentValueLineChanged, FormHidden = Graph2DFormHidden };
                        this.graph2DList[i].Resize += new EventHandler(this.graph_Resize);
                        this.graph2DList[i].FormClosed += new FormClosedEventHandler(this.graph2D_FormClosed);
                    }
                }

                // 各種表示フォームの設定
                this.tagValueListForm = new frmTagValueList(this.log) { MdiParent = this, Top = 80, Left = 0 };
                this.controllerForm = new frmMeasureController(this.log) { MdiParent = this, Top = 0, Left = 0, MeasureStatusChanged = MeasureStatusChangedCallback, Mode = this.measSetting.Mode };
                this.measInfoForm = new frmMeasureInfo(this.log) { MdiParent = this, Top = 0, Left = 1000, MeasSetting = this.measSetting };
                this.graphControllerForm = new frmGraphController(this.log) { MdiParent = this, Left = 0, Mode = this.measSetting.Mode, GraphFormList = this.graph2DList, GraphZoomInOccurred = this.Graph2DZoomIn, GraphZoomOutOccurred = this.Graph2DZoomOut, GraphArrangeOccurred = this.Graph2DArrange };

                // 測定データ収集タスク
                this.measureTask = new MeasureDataTask(this.log);
                this.measureTask.GotCondition += new MeasureDataTask.GotConditionDelegate(this.GotCondition);
                this.measureTask.DataReceived += new MeasureDataTask.DataReceivedDelegate(this.SetMeasureData);
                this.measureTask.DataReceived += new MeasureDataTask.DataReceivedDelegate(this.tagValueListForm.SetMeasureData);
                for (int i = 0; i < this.graph2DList.Length; i++)
                {
                    if (this.graph2DList[i] != null)
                    {
                        this.measureTask.DataReceived += new MeasureDataTask.DataReceivedDelegate(this.graph2DList[i].SetMeasureData);
                    }
                }

                ArrangeGraphForms();
                SetMaximumGraphArea(null);

                // 測定処理クラス初期化
                testSquence.InitPreMeasure(true);
                ShowStatusMessage(AppResource.GetString("MSG_MEAS_INIT"));
            }
            catch (Exception ex)
            {
                ShowErrorMessage(ex);
            }

            if (this.log != null) this.log.PutLog("frmMeasureMain.frmMeasureMain_Load() - 測定中画面のロードを終了しました。");
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 各種設定取得
        /// </summary>
        private void LoadSettings()
        {
            // タグ一覧取得
            this.tagSetting = (this.IsMeasure) ? SystemSetting.DataTagSetting : this.AnalyzeData.DataTagSetting;

            // 測定設定取得
            this.measSetting = (this.IsMeasure) ? SystemSetting.MeasureSetting : this.AnalyzeData.MeasureSetting;

            // 測定項目-チャンネル結び付け設定取得
            this.relationSetting = (this.IsMeasure) ? SystemSetting.RelationSetting : this.AnalyzeData.TagChannelRelationSetting;

            // 回転数タグ
            this.revolutionTag = this.relationSetting.RelationList[0].TagNo_1;

            // チャンネル設定取得
            this.chSetting = (this.IsMeasure) ? SystemSetting.ChannelsSetting : this.AnalyzeData.ChannelsSetting;
        }
Ejemplo n.º 6
0
 public CalcDataManager(DataTagSetting src_DataTagSetting, ConstantSetting src_ConstantSetting, TagChannelRelationSetting src_TagChannelRelationSetting, MeasureSetting src_MeasureSetting)
 {
     dataTagSetting = src_DataTagSetting;
     constantSetting = src_ConstantSetting;
     tagChannelRelationSetting = src_TagChannelRelationSetting;
     measureSetting = src_MeasureSetting;
 }
Ejemplo n.º 7
0
        /// <summary>
        /// 測定処理前の初期化
        /// </summary>
        public void InitPreMeasure(bool RecordFlag , bool bForPositionSetting = false)
        {
            //チャンネル設定の取得
            this.channelsSetting = (ChannelsSetting)SystemSetting.ChannelsSetting.Clone();
            
            ////チャンネル設定のLoad
            //string channcelxmlFilePath = CommonLib.SystemDirectoryPath.SystemPath + ChannelsSetting.FileName;
            //if (System.IO.File.Exists(channcelxmlFilePath))
            //{
            //    channelsSetting = SettingBase.DeserializeFromXml<ChannelsSetting>(channcelxmlFilePath);
            //}

            //測定設定の取得
            this.measureSetting = (MeasureSetting)SystemSetting.MeasureSetting.Clone();

            //測定設定のLoad
            //string measurexmlFilePath = CommonLib.SystemDirectoryPath.SystemPath + MeasureSetting.FileName;
            //if (System.IO.File.Exists(measurexmlFilePath))
            //{
            //    measureSetting = SettingBase.DeserializeFromXml<MeasureSetting>(measurexmlFilePath);
            //}

            //リアルタイムデータの初期化
            RealTimeData.bRecord = RecordFlag;

            //if (this.Mode != ModeType.Non && measureSetting.Mode != (int)this.Mode)
            if (bForPositionSetting)
            {
                measureSetting.Mode = (int)ModeType.Mode3;
                measureSetting.SamplingTiming_Mode3 = 200000;
                measureSetting.MeasureTime_Mode3 = 0;
            }

            RealTimeData.InitData(channelsSetting, measureSetting, CommonLib.SystemDirectoryPath.MeasureData + DateTime.Now.ToString("yyyyMMdd_HHmmss"));

            //測定チャンネルの設定
            for(int i = 0 ; i < channelsSetting.ChannelSettingList.Length; i++)
            {
                channelEnables[i] =
                    (channelsSetting.ChannelSettingList[i].ChKind != ChannelKindType.N &&
                    measureSetting.MeasTagList[i] != -1);
            }

            //測定モードを取得
            this.Mode = (ModeType)measureSetting.Mode;


            //サンプリング周期を取得
            switch ((ModeType)this.Mode)
            {
                case ModeType.Mode1:
                    this.SamplingTiming = (uint)measureSetting.SamplingCountLimit;
                    break;
                case ModeType.Mode2:
                    this.SamplingTiming = (uint)measureSetting.SamplingTiming_Mode2;
                    break;
                case ModeType.Mode3:
                    this.SamplingTiming = (uint)measureSetting.SamplingTiming_Mode3;
                    break;
            }

            //通信クラスイベントのメソッド登録
            comm.ExecuteCommandMethod = new CommRM3000.ExecuteCommandHander(ExcuteCommand);
            comm.ReserveDataMethod = new CommRM3000.ReserveDataHander(ReserveData);


        }
Ejemplo n.º 8
0
        /// <summary>
        /// Set graph setting to graph control
        /// </summary>
        public void SetGraphSetting()
        {
            // 測定設定ファイル読み込み
            if (this.IsMeasure)
            {
                // 測定中
                this.measSetting = SystemSetting.MeasureSetting;
                this.relationSetting = SystemSetting.RelationSetting;
                this.chSetting = SystemSetting.ChannelsSetting;
                this.graphViewer.EnableCurrentLine = false;
                this.IsMouseZoomEnabled = false;
            }
            else
            {
                // 解析中
                this.measSetting = this.AnalyzeData.MeasureSetting;
                this.relationSetting = this.AnalyzeData.TagChannelRelationSetting;
                this.chSetting = this.AnalyzeData.ChannelsSetting;
                this.graphViewer.EnableCurrentLine = true;
                this.IsMouseZoomEnabled = true;
            }
            // 測定項目設定ファイル読み込み
            if (this.tagSetting == null)
            {
                if (this.IsMeasure)
                {
                    // 測定中
                    this.tagSetting = SystemSetting.DataTagSetting;
                }
                else
                {
                    // 解析中
                    this.tagSetting = this.AnalyzeData.DataTagSetting;
                }
            }

            if (this.measSetting != null && this.measSetting.GraphSettingList != null && this.graphIndex >= 0)
            {
                var graph = this.measSetting.GraphSettingList[this.graphIndex];

                // グラフタイトル
                this.Text = graph.Title;

                // グラフに割り当てられているCH番号を取得する
                {
                    // CH番号リストクリア
                    this.chIndexList = new ChannelIndex[10];
                    for (int i = 0; i < this.chIndexList.Length; i++)
                    {
                        this.chIndexList[i] = new ChannelIndex();
                    }
                    this.calcTagList = new ChannelIndex[10];
                    for (int i = 0; i < this.calcTagList.Length; i++)
                    {
                        this.calcTagList[i] = new ChannelIndex();
                    }

                    // 測定項目-チャンネル結び付け設定ファイル読み込み
                    var relation = (this.IsMeasure) ? SystemSetting.RelationSetting : this.AnalyzeData.TagChannelRelationSetting;
                    if (relation == null || relation.RelationList == null || relation.RelationList.Length == 0)
                    {
                        MessageBox.Show(AppResource.GetString("MSG_RELATION_INVALID_SETTING"), this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }

                    // CH番号リスト探索
                    for (int i = 0; i < graph.GraphTagList.Length; i++)
                    {
                        if (graph.GraphTagList[i].GraphTagNo != -1)
                        {
                            if (this.tagSetting.GetTagKind(graph.GraphTagList[i].GraphTagNo) == 2)
                            {
                                // 2:演算(解析)
                                this.calcTagList[i].Index = graph.GraphTagList[i].GraphTagNo;
                                continue;
                            }
                            else
                            {
                                for (int j = 0; j < relation.RelationList.Length; j++)
                                {
                                    if (graph.GraphTagList[i].GraphTagNo == relation.RelationList[j].TagNo_1
                                        || (this.measSetting.Mode == 1 && graph.GraphTagList[i].GraphTagNo == relation.RelationList[j].TagNo_2))
                                    {
                                        this.chIndexList[i].Index = j;
                                        this.chIndexList[i].IsMaxCh = (graph.GraphTagList[i].GraphTagNo == relation.RelationList[j].TagNo_1);
                                        break;
                                    }
                                }
                            }
                        }
                    }
                }

                // グラフ軸設定
                if (this.measSetting.Mode == 1)
                {
                    CreateGraphInfo1(graph);
                }
                else if (this.measSetting.Mode == 2)
                {
                    CreateGraphInfo2(graph);
                }
                else if (this.measSetting.Mode == 3)
                {
                    CreateGraphInfo3(graph);
                }

            }
        }
Ejemplo n.º 9
0
        /// <summary>
        /// load content analyze data
        /// </summary>
        private void LoadContent()
        {
            bool selectAll = false;
            try
            {
                this.analyzeData.Desirialize_WithOut_Data();
            }
            catch
            {

            }

            if (this.analyzeData.DataTagSetting != null)
            {
                this.tagSetting = this.analyzeData.DataTagSetting;
            }
            else
            { this.tagSetting = new DataTagSetting(); }
            if (this.analyzeData.MeasureSetting != null)
            {
                this.measSetting = this.analyzeData.MeasureSetting;
            }
            else
            {
                selectAll = true;
                this.measSetting = new MeasureSetting();
            }
            if (this.analyzeData.TagChannelRelationSetting != null)
            {
                this.relationSetting = this.analyzeData.TagChannelRelationSetting;
            }
            else
            { this.relationSetting = new TagChannelRelationSetting(); }
            if (this.analyzeData.ChannelsSetting != null)
            {
                this.chSetting = this.analyzeData.ChannelsSetting;
            }
            else
            { this.chSetting = new ChannelsSetting(); }
            if (this.analyzeData.PositionSetting != null)
            {
                this.positionSetting = this.analyzeData.PositionSetting;
            }
            else
            { this.positionSetting = new SensorPositionSetting(); }
            if (selectAll)
            {
                for (int i = 1; i < this.relationSetting.RelationList.Length; i++)
                {
                    this.measSetting.MeasTagList[i - 1] = this.relationSetting.RelationList[i].TagNo_1;
                }
            }
        }
Ejemplo n.º 10
0
        /// <summary>
        /// load settings from xml files
        /// </summary>
        public static void LoadInstance()
        {
            MeasureSetting = new MeasureSetting();
            string xmlFilePath = CommonLib.SystemDirectoryPath.SystemPath + MeasureSetting.FileName;
            if (System.IO.File.Exists(xmlFilePath))
            {
                MeasureSetting = (MeasureSetting)MeasureSetting.Deserialize(xmlFilePath);
                if (MeasureSetting.Mode1_MeasCondition != null)
                {
                    MeasureSetting.Mode1_MeasCondition.IsUpdated = false;
                }
            }
            else
            {
                MeasureSetting = new MeasureSetting() { FilePath = xmlFilePath };
            }

            ChannelsSetting = new ChannelsSetting();
            xmlFilePath = CommonLib.SystemDirectoryPath.SystemPath + ChannelsSetting.FileName;
            if (System.IO.File.Exists(xmlFilePath))
            {
                ChannelsSetting = (ChannelsSetting)ChannelsSetting.Deserialize(xmlFilePath);
            }
            else
            {
                ChannelsSetting = new ChannelsSetting() { FilePath = xmlFilePath };
            }

            ConstantSetting = new ConstantSetting();
            xmlFilePath = CommonLib.SystemDirectoryPath.SystemPath + ConstantSetting.FileName;
            if (System.IO.File.Exists(xmlFilePath))
            {
                ConstantSetting = (ConstantSetting)ConstantSetting.Deserialize(xmlFilePath);
            }
            else
            {
                ConstantSetting = new ConstantSetting() { FilePath = xmlFilePath };
            }

            DataTagSetting = new DataTagSetting();
            xmlFilePath = CommonLib.SystemDirectoryPath.SystemPath + DataTagSetting.FileName;
            if (System.IO.File.Exists(xmlFilePath))
            {
                DataTagSetting = (DataTagSetting)DataTagSetting.Deserialize(xmlFilePath);
            }
            else
            {
                DataTagSetting = new DataTagSetting() { FilePath = xmlFilePath };
            }

            RelationSetting = new TagChannelRelationSetting();
            xmlFilePath = CommonLib.SystemDirectoryPath.SystemPath + TagChannelRelationSetting.FileName;
            if (System.IO.File.Exists(xmlFilePath))
            {
                RelationSetting = (TagChannelRelationSetting)TagChannelRelationSetting.Deserialize(xmlFilePath);
            }
            else
            {
                RelationSetting = new TagChannelRelationSetting() { FilePath = xmlFilePath };
            }

            PositionSetting = new SensorPositionSetting();
            xmlFilePath = CommonLib.SystemDirectoryPath.SystemPath + SensorPositionSetting.FileName;
            if (System.IO.File.Exists(xmlFilePath))
            {
                PositionSetting = (SensorPositionSetting)SensorPositionSetting.Deserialize(xmlFilePath);
            }
            else
            {
                PositionSetting = new SensorPositionSetting() { FilePath = xmlFilePath };
            }

            SystemConfig = new SystemConfig();
            SystemConfig.LoadXmlFile();

            HardInfoStruct = new HardInfoStruct();
            HardInfoStruct.LoadXmlFile();
        }
Ejemplo n.º 11
0
        /// <summary>
        /// revert to last save
        /// </summary>
        public override void Revert()
        {
            MeasureSetting data = new MeasureSetting();
            //if (this.oldValue == null)
            //{
            if (System.IO.File.Exists(this.FilePath))
            {
                this.oldValue = (MeasureSetting)MeasureSetting.Deserialize(this.FilePath);
            }
            else
            {
                this.oldValue = new MeasureSetting();
            }
            //}
            data = (MeasureSetting)this.oldValue;
            this.mode = data.mode;
            this.measTagList = data.measTagList;
            this.graphSettingList = data.graphSettingList;
            this.samplingCountLimit = data.samplingCountLimit;
            this.samplingTiming_Mode2 = data.samplingTiming_Mode2;
            this.samplingTiming_Mode3 = data.samplingTiming_Mode3;
            this.measureTime_Mode2 = data.measureTime_Mode2;
            this.measureTime_Mode3 = data.measureTime_Mode3;

            this.mode1_MeasCondition.MeasConditionType = data.mode1_MeasCondition.MeasConditionType;
            this.mode1_MeasCondition.Interval_count = data.mode1_MeasCondition.Interval_count;
            this.mode1_MeasCondition.Average_count = data.mode1_MeasCondition.Average_count;
            this.mode1_MeasCondition.Inverval_time2shot_time = data.mode1_MeasCondition.Inverval_time2shot_time;
            this.mode1_MeasCondition.Inverval_time2shot_shots = data.mode1_MeasCondition.Inverval_time2shot_shots;
            this.mode1_MeasCondition.Inverval_time2time_meastime = data.mode1_MeasCondition.Inverval_time2time_meastime;
            this.mode1_MeasCondition.Inverval_time2time_stoptime = data.mode1_MeasCondition.Inverval_time2time_stoptime;

            this.IsUpdated = false;
        }
Ejemplo n.º 12
0
        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public object Clone()
        {
            MeasureSetting ret = new MeasureSetting();
            ret.mode = this.mode;

            if(this.measTagList != null)
               ret.measTagList = new List<int>(this.measTagList).ToArray();

            if(this.graphSettingList != null)
                for (int i = 0; i < this.graphSettingList.Length; i++)
                {
                    ret.graphSettingList[i] = (GraphSetting)this.graphSettingList[i].Clone();
                }

            ret.samplingCountLimit = this.samplingCountLimit;
            ret.samplingTiming_Mode2 = this.samplingTiming_Mode2;
            ret.samplingTiming_Mode3 = this.samplingTiming_Mode3;
            ret.measureTime_Mode2 = this.measureTime_Mode2;
            ret.measureTime_Mode3 = this.measureTime_Mode3;

            if (this.Mode1_MeasCondition != null)
            {
                ret.mode1_MeasCondition = (Mode1_MeasCondition)this.mode1_MeasCondition.Clone();
            }

            ret.IsUpdated = this.IsUpdated;

            return ret;
        }
Ejemplo n.º 13
0
        /// <summary>
        /// Initialize controls
        /// </summary>
        private void InitializeControls()
        {
            if (this.isMeasure)
            {
                this.tagLabels = new Label[] { lblItem0, lblItem1, lblItem2, lblItem3, lblItem4, lblItem5, lblItem6, lblItem7, lblItem8, lblItem9, lblItem10 };
                this.unitLabels = new Label[] { lblUnit0, lblUnit1, lblUnit2, lblUnit3, lblUnit4, lblUnit5, lblUnit6, lblUnit7, lblUnit8, lblUnit9, lblUnit10 };
                this.dataValueLabels = new Label[] { lblDataValue0, lblDataValue1, lblDataValue2, lblDataValue3, lblDataValue4, lblDataValue5, lblDataValue6, lblDataValue7, lblDataValue8, lblDataValue9, lblDataValue10 };
                this.dataValueLabels_Zero = new Label[] { lblDataValue_Zero0, lblDataValue_Zero1, lblDataValue_Zero2, lblDataValue_Zero3, lblDataValue_Zero4, lblDataValue_Zero5, lblDataValue_Zero6, lblDataValue_Zero7, lblDataValue_Zero8, lblDataValue_Zero9, lblDataValue_Zero10 };
            }
            else
            {
                this.tagLabels = new Label[] { lblAnlMeasItem0, lblAnlMeasItem1, lblAnlMeasItem2, lblAnlMeasItem3, lblAnlMeasItem4, lblAnlMeasItem5, lblAnlMeasItem6, lblAnlMeasItem7, lblAnlMeasItem8, lblAnlMeasItem9, lblAnlMeasItem10 };
                this.unitLabels = new Label[] { lblAnlMeasUnit0, lblAnlMeasUnit1, lblAnlMeasUnit2, lblAnlMeasUnit3, lblAnlMeasUnit4, lblAnlMeasUnit5, lblAnlMeasUnit6, lblAnlMeasUnit7, lblAnlMeasUnit8, lblAnlMeasUnit9, lblAnlMeasUnit10 };
                this.dataValueLabels = new Label[] { lblAnlDataMeas0, lblAnlDataMeas1, lblAnlDataMeas2, lblAnlDataMeas3, lblAnlDataMeas4, lblAnlDataMeas5, lblAnlDataMeas6, lblAnlDataMeas7, lblAnlDataMeas8, lblAnlDataMeas9, lblAnlDataMeas10 };
                this.dataValueLabels_Zero = new Label[] { lblAnlDataMeas_Zero0, lblAnlDataMeas_Zero1, lblAnlDataMeas_Zero2, lblAnlDataMeas_Zero3, lblAnlDataMeas_Zero4, lblAnlDataMeas_Zero5, lblAnlDataMeas_Zero6, lblAnlDataMeas_Zero7, lblAnlDataMeas_Zero8, lblAnlDataMeas_Zero9, lblAnlDataMeas_Zero10 };
                pnlAnalysis.Left = pnlMain.Left;
                pnlAnalysis.Top = pnlMain.Top;
                pnlMain.Visible = false;
                pnlAnalysis.Visible = true;

                this.tagLabelsAnl = new Label[] { lblAnlysisItem0, lblAnlysisItem1, lblAnlysisItem2, lblAnlysisItem3, lblAnlysisItem4, lblAnlysisItem5, lblAnlysisItem6, lblAnlysisItem7, lblAnlysisItem8, lblAnlysisItem9, lblAnlysisItem10 };
                this.unitLabelsAnl = new Label[] { lblAnlUnit0, lblAnlUnit1, lblAnlUnit2, lblAnlUnit3, lblAnlUnit4, lblAnlUnit5, lblAnlUnit6, lblAnlUnit7, lblAnlUnit8, lblAnlUnit9, lblAnlUnit10 };
                this.dataValueLabelsAnl = new Label[] { lblAnlData0, lblAnlData1, lblAnlData2, lblAnlData3, lblAnlData4, lblAnlData5, lblAnlData6, lblAnlData7, lblAnlData8, lblAnlData9, lblAnlData10 };

                this.calcAssignedTagNo = new int[] { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 };
            }

            // 各種設定読み込み
            if (this.isMeasure)
            {
                // 測定中
                this.tagSetting = RealTimeData.DataTagSetting;
                this.measSetting = SystemSetting.MeasureSetting;
                this.chSetting = SystemSetting.ChannelsSetting;
                this.relationSetting = SystemSetting.RelationSetting;
            }
            else
            {
                // 解析中
                this.tagSetting = this.analyzeData.DataTagSetting;
                this.measSetting = this.analyzeData.MeasureSetting;
                this.chSetting = this.analyzeData.ChannelsSetting;
                this.relationSetting = this.analyzeData.TagChannelRelationSetting;
            }

            // 測定項目No2の調整など
            if (this.measSetting != null && this.measSetting.MeasTagList != null)
            {
                var tagLabelList = new List<Label>();
                var dataValueLabelList = new List<Label>();
                var dataValueLabelZeroList = new List<Label>();
                var unitLabelList = new List<Label>();

                //回転数の測定項目を取得
                this.tagLabels[0].Text = (this.relationSetting.RelationList[0].TagNo_1 > 0) ? this.tagSetting.GetTagNameFromTagNo(this.relationSetting.RelationList[0].TagNo_1) : string.Empty;
                this.unitLabels[0].Text = (this.relationSetting.RelationList[0].TagNo_1 > 0) ? this.tagSetting.GetUnitFromTagNo(this.relationSetting.RelationList[0].TagNo_1) : string.Empty;

                //回転数はゼロ点無
                this.dataValueLabels_Zero[0].Visible = false;

                // 回転数は追加しておく
                tagLabelList.Add(this.tagLabels[0]);
                dataValueLabelList.Add(this.dataValueLabels[0]);
                dataValueLabelZeroList.Add(this.dataValueLabels_Zero[0]);
                unitLabelList.Add(this.unitLabels[0]);
                var heightMargin = 5;

                for (int i = 0; i < this.measSetting.MeasTagList.Length; i++)
                {
                    // タグ名と単位名の設定
                    this.tagLabels[i + 1].Text = (this.measSetting.MeasTagList[i] > 0) ? this.tagSetting.GetTagNameFromTagNo(this.measSetting.MeasTagList[i]) : string.Empty;
                    this.unitLabels[i + 1].Text = (this.measSetting.MeasTagList[i] > 0) ? this.tagSetting.GetUnitFromTagNo(this.measSetting.MeasTagList[i]) : string.Empty;

                    // 位置調整
                    if (i != 0)
                    {
                        this.tagLabels[i + 1].Top = tagLabelList.Last().Top + tagLabelList.Last().Height + heightMargin;
                        this.dataValueLabels[i + 1].Top = dataValueLabelList.Last().Top + dataValueLabelList.Last().Height + heightMargin;
                        this.dataValueLabels_Zero[i + 1].Top = this.dataValueLabels[i + 1].Top;
                        this.unitLabels[i + 1].Top = unitLabelList.Last().Top + unitLabelList.Last().Height + heightMargin;
                    }

                    tagLabelList.Add(this.tagLabels[i + 1]);
                    dataValueLabelList.Add(this.dataValueLabels[i + 1]);
                    dataValueLabelZeroList.Add(this.dataValueLabels_Zero[i + 1]);
                    unitLabelList.Add(this.unitLabels[i + 1]);

                    // 測定項目No2の有無
                    if (this.measSetting.Mode == 1)
                    {
                        //ゼロ設定を表示するため調整
                        this.dataValueLabels[i + 1].Width -= this.dataValueLabels_Zero[i + 1].Width + 3;
                        this.dataValueLabels[i + 1].Left += this.dataValueLabels_Zero[i + 1].Width + 3;

                        // センサがRでかつ基準設定ならば
                        if (this.chSetting.ChannelSettingList[i].ChKind == ChannelKindType.R
                        && this.chSetting.ChannelSettingList[i].Mode1_Trigger == Mode1TriggerType.MAIN)
                        {
                            var tag = new Controls.AutoFontSizeLabel()
                            {
                                //Name = "lblItem" + (i + 1).ToString() + "-2"
                                Name = tagLabelList.Last().Name + "-2"
                                ,
                                Top = tagLabelList.Last().Top + tagLabelList.Last().Height + heightMargin
                                ,
                                Left = this.tagLabels[0].Left
                                ,
                                Width = this.tagLabels[0].Width
                                ,
                                Height = this.tagLabels[0].Height
                                ,
                                TextAlign = this.tagLabels[0].TextAlign
                                ,
                                Font = new Font(this.tagLabels[i + 1].Font, this.tagLabels[i + 1].Font.Style)
                                ,
                                AutoFontSize = ((Controls.AutoFontSizeLabel)this.tagLabels[i + 1]).AutoFontSize
                                ,
                                MaxFontSize = ((Controls.AutoFontSizeLabel)this.tagLabels[i + 1]).MaxFontSize
                            };
                            tag.Text = (this.relationSetting.RelationList[i + 1].TagNo_2 > 0) ? this.tagSetting.GetTagNameFromTagNo(this.relationSetting.RelationList[i + 1].TagNo_2) : string.Empty;

                            if (isMeasure)
                                pnlMain.Controls.Add(tag);
                            else
                                tabPage1.Controls.Add(tag);

                            tagLabelList.Add(tag);

                            var val = new Label()
                            {
                                //Name = "lblDataValue" + (i + 1).ToString() + "-2"
                                Name = dataValueLabelList.Last().Name + "-2"
                                ,
                                Top = dataValueLabelList.Last().Top + dataValueLabelList.Last().Height + heightMargin
                                ,
                                Left = dataValueLabelList.Last().Left
                                ,
                                Width = dataValueLabelList.Last().Width
                                ,
                                Height = dataValueLabelList.Last().Height
                                ,
                                TextAlign = dataValueLabelList.Last().TextAlign
                                ,
                                Font = new Font(this.dataValueLabels[i + 1].Font, this.dataValueLabels[i + 1].Font.Style)
                                ,
                                BorderStyle = BorderStyle.Fixed3D
                                ,
                                BackColor = System.Drawing.Color.White

                            };
                            val.Text = string.Empty;
                            if (isMeasure)
                                pnlMain.Controls.Add(val);
                            else
                                tabPage1.Controls.Add(val);

                            dataValueLabelList.Add(val);

                            var zero  = new Label()
                            {
                                Name = dataValueLabelZeroList.Last().Name + "-2"
                                ,
                                Top = dataValueLabelZeroList.Last().Top + dataValueLabelZeroList.Last().Height + heightMargin
                                ,
                                Left = dataValueLabelZeroList.Last().Left
                                ,
                                Width = dataValueLabelZeroList.Last().Width
                                ,
                                Height = dataValueLabelZeroList.Last().Height
                                ,
                                TextAlign = dataValueLabelZeroList.Last().TextAlign
                                ,
                                Font = new Font(this.dataValueLabels_Zero[i + 1].Font, this.dataValueLabels_Zero[i + 1].Font.Style)
                                ,
                                BorderStyle = BorderStyle.Fixed3D
                                ,
                                BackColor = System.Drawing.Color.Transparent

                            };

                            zero.Text = string.Empty;
                            if (isMeasure)
                                pnlMain.Controls.Add(zero);
                            else
                                tabPage1.Controls.Add(zero);

                            dataValueLabelZeroList.Add(val);

                            var unit = new Controls.AutoFontSizeLabel()
                            {
                                //Name = "lblUnit" + (i + 1).ToString() + "-2"
                                Name = unitLabelList.Last().Name + "-2"
                                ,
                                Top = unitLabelList.Last().Top + unitLabelList.Last().Height + heightMargin
                                ,
                                Left = this.unitLabels[0].Left
                                ,
                                Width = this.unitLabels[0].Width
                                ,
                                Height = this.unitLabels[0].Height
                                ,
                                TextAlign = this.unitLabels[0].TextAlign
                                ,
                                Font = new Font(this.unitLabels[i + 1].Font, this.unitLabels[i + 1].Font.Style)
                                ,
                                AutoFontSize = ((Controls.AutoFontSizeLabel)this.unitLabels[i + 1]).AutoFontSize
                                ,
                                MaxFontSize = ((Controls.AutoFontSizeLabel)this.unitLabels[i + 1]).MaxFontSize

                            };
                            unit.Text = (this.relationSetting.RelationList[i + 1].TagNo_2 > 0) ? this.tagSetting.GetUnitFromTagNo(this.relationSetting.RelationList[i + 1].TagNo_2) : string.Empty;
                            if (isMeasure)
                                pnlMain.Controls.Add(unit);
                            else
                                tabPage1.Controls.Add(unit);

                            unitLabelList.Add(unit);
                        }
                    }
                }

                this.tagLabels = tagLabelList.ToArray();
                this.dataValueLabels = dataValueLabelList.ToArray();
                this.dataValueLabels_Zero = dataValueLabelZeroList.ToArray();
                this.unitLabels = unitLabelList.ToArray();

                // 回転タグ位置調整
                if (this.measSetting.Mode == 3)
                {
                    //Mode3は回転数をすべて消す
                    this.tagLabels[0].Visible = false;
                    this.dataValueLabels[0].Visible = false;
                    this.dataValueLabels_Zero[0].Visible = false;
                    this.unitLabels[0].Visible = false;

                    //消すので最終タグのラベル位置に合わせる
                    this.tagLabels[0].Top = this.tagLabels.Last().Top;
                    this.dataValueLabels[0].Top = this.dataValueLabels.Last().Top;
                    this.dataValueLabels_Zero[0].Top = this.dataValueLabels_Zero.Last().Top;
                    this.unitLabels[0].Top = this.unitLabels.Last().Top;

                }
                else if (this.measSetting.Mode == 2 && this.isMeasure)
                {
                    // 測定中Mode2では回転タグのみ表示する
                    this.tagLabels[0].Top = this.dataValueLabels[0].Top = this.dataValueLabels_Zero[0].Top = this.lblTitle.Height + heightMargin;
                    this.unitLabels[0].Top = this.tagLabels[0].Top + 2;
                    for (int i = 1; i < tagLabels.Length; i++)
                    {
                        this.tagLabels[i].Visible = this.dataValueLabels[i].Visible = this.dataValueLabels_Zero[i].Visible = this.unitLabels[i].Visible = false;
                    }
                }
                else
                {
                    this.tagLabels[0].Top = this.tagLabels.Last().Top + this.tagLabels.Last().Height + heightMargin;
                    this.dataValueLabels[0].Top = this.dataValueLabels.Last().Top + this.dataValueLabels.Last().Height + heightMargin;
                    this.dataValueLabels_Zero[0].Top = this.dataValueLabels_Zero.Last().Top + this.dataValueLabels_Zero.Last().Height + heightMargin;
                    this.unitLabels[0].Top = this.unitLabels.Last().Top + this.unitLabels.Last().Height + heightMargin;
                }

                // フォームサイズ調整
                if (isMeasure)
                    this.Height = this.unitLabels[0].Top + this.unitLabels[0].Height + lblTitle.Height + heightMargin;
                else
                {
                    this.tabControl1.Height = this.unitLabels[0].Top + this.unitLabels[0].Height + lblTitle.Height + heightMargin * 2;
                    this.pnlAnalysis.Height = this.tabControl1.Top + this.tabControl1.Height;
                    this.Height = this.tabControl1.Top + this.tabControl1.Height;
                }

                //set data point display
                var temp = string.Empty;
                var tempTagPoint = 0;
                for (int i = 1; i <= this.measSetting.MeasTagList.Length; i++)
                {
                    tempTagPoint = FindTagPoint(this.measSetting.MeasTagList[i - 1]);
                    if (tempTagPoint != 0)
                    {
                        tagPoint[i] = "#,##0." + temp.PadLeft(tempTagPoint, '0');
                    }
                    else
                    { tagPoint[i] = "#,##0"; }

                }
                tempTagPoint = FindTagPoint(this.relationSetting.RelationList[0].TagNo_1);
                this.tagPoint[0] = tempTagPoint <= 0 ? "#,##0" : "#,##0." + temp.PadLeft(tempTagPoint, '0');

            }
        }
Ejemplo n.º 14
0
        ///// <summary>
        ///// ����̃����W�f�[�^��擾���܂��B
        ///// </summary>
        ///// <param name="StartIndex"></param>
        ///// <param name="Count"></param>
        ///// <returns></returns>
        //public static List<SampleData> GetRangeDatas(int StartIndex, int Count)
        //{
        //    List<SampleData> ret = null;
        //    return ret;
        //}
        /// <summary>
        /// RealTimeData�̏�����
        /// </summary>
        /// <returns></returns>
        public static bool InitData(ChannelsSetting ch_setting, MeasureSetting meas_setting, string folderPath)
        {
            if (bRecord)
            {
                RealMeasureData.EndTime = DateTime.MaxValue;
                RealMeasureData.StartTime = DateTime.Now;
                RealMeasureData.InitializeforMeasure(ch_setting, meas_setting, folderPath);
                FolderPath = folderPath;

                //�^�O�ݒ��Clone
                //RealTimeData.DataTagSetting = SystemSetting.DataTagSetting.Clone();

            }

            Samples.Clear();
            TmpAverage_Samples.Clear();

            //���[�h�P����̏�����
            Cond_ShotCount_Mode1 = 0;
            Cond_StartTime_Mode1 = RealMeasureData.StartTime;
            Cond_StopTime_Mode1 = RealMeasureData.StartTime;

            receiveCount = 0;

            return true;
        }