private void StartSimulink_btn_Click(object sender, EventArgs e) { ParaItems dataFromTextBox = getItemsFromTextBox(); if (!dataFromTextBox.isValid) { return; } // 整理参数, 做好发送给 Matlab 引擎的准备 DataSendedToMatlab dataSendedToMatlab; if (TypeSelect_LC.Checked) { dataSendedToMatlab.isLCSource = 1; dataSendedToMatlab.isLSource = 0; dataSendedToMatlab.initSourceC = dataFromTextBox.Source_LorC; dataSendedToMatlab.initSourceL = 0.01; } else { dataSendedToMatlab.isLCSource = 0; dataSendedToMatlab.isLSource = 1; dataSendedToMatlab.initSourceC = 0; dataSendedToMatlab.initSourceL = dataFromTextBox.Source_LorC; } dataSendedToMatlab.initVCB_C = dataFromTextBox.VCB_C; dataSendedToMatlab.ZeroCrossing_C = dataFromTextBox.ZeroCrossing_C; dataSendedToMatlab.ZeroCrossing_L = dataFromTextBox.ZeroCrossing_L; dataSendedToMatlab.Discharge_R = dataFromTextBox.Discharge_R; dataSendedToMatlab.ThyristorTime = dataFromTextBox.ThyristorTime; // 仿真开始前禁用按钮 SeriesView_Checkbox_Disabled(); SeriesView_Checkbox_Checked(); StartSimulink_btn.Text = "正在仿真中......请稍候"; StartSimulink_btn.Enabled = false; toggleView_btn.Enabled = false; saveToFile_btn.Enabled = false; // 开始仿真 SendDataAndStartSimulink(dataSendedToMatlab, "LC_QPS_2.mdl"); // 仿真结束后启用按钮 SeriesView_Checkbox_Enabled(); StartSimulink_btn.Text = "开始仿真"; StartSimulink_btn.Enabled = true; toggleView_btn.Enabled = true; saveToFile_btn.Enabled = true; }
// 默认参数辅助函数:读取文本框参数,设置默认值 private int setDefault() { ParaItems tempResult = getItemsFromTextBox(); if (!tempResult.isValid) { return(-1); } ConfigAppSettings.SetValue("Source_LorC", tempResult.Source_LorC.ToString()); ConfigAppSettings.SetValue("VCB_C", tempResult.VCB_C.ToString()); ConfigAppSettings.SetValue("Discharge_R", tempResult.Discharge_R.ToString()); ConfigAppSettings.SetValue("ThyristorTime", tempResult.ThyristorTime.ToString()); ConfigAppSettings.SetValue("ZeroCrossing_C", (tempResult.ZeroCrossing_C * 1e3).ToString()); ConfigAppSettings.SetValue("ZeroCrossing_L", (tempResult.ZeroCrossing_L * 1e6).ToString()); return(0); }