Przeglądaj źródła

2022-01-13;在主测试程序中增加供电开关控制,射频开关切换;仪器接入等修改。

pc 3 lat temu
rodzic
commit
1e2ee4f14f

BIN
exe/apps/Tps_LQ_Transmitter/Tps_LQ_Transmitter.dll


BIN
exe/apps/Tps_LQ_Transmitter/Tps_LQ_Transmitter.pdb


BIN
exe/apps/Tps_LQ_Transmitter/config/串口控制.xlsx


BIN
tps/TpsLabStudio/.vs/TpsLabStudio/v16/.suo


+ 82 - 82
tps/TpsLabStudio/DebuggingForm.cs

@@ -19,26 +19,26 @@ namespace Tps_LQ_Transmitter
     /// </summary>
     public partial class DebuggingForm : Form
     {
-        DioControlClass dio = new DioControlClass();
-        PcGpio gpio = new PcGpio();
-        RainwormPower power = new RainwormPower();
-        PcmControl pcm = new PcmControl();
+        //DioControlClass dio = new DioControlClass();
+        //PcGpio gpio = new PcGpio();
+        //RainwormPower rainwormPower = new RainwormPower();
+        //PcmControl pcm = new PcmControl();
         ThreadStart SeriesPortChildref = null;
         Thread SeriesPortChildThread = null;
         public DebuggingForm()
         {
             InitializeComponent();
-            gpio.InitSetOut();
+            
             Thread.Sleep(100);
-            gpio.SwitchControl(0);
+            FrmMain.gpio.SwitchControl(0);
             for (int i = 1; i <= 8; i++)
             {
-                dio.SupplySwitch(i, DioControlClass.State.OFF);//将所有供电开关关闭
+                FrmMain.dio.SupplySwitch(i, DioControlClass.State.OFF);//将所有供电开关关闭
             }
-            power.powerOnoff(RainwormPower.State.OFF);
+            FrmMain.rainwormPower.powerOnoff(RainwormPower.State.OFF);
             SeriesPortThread();
             rbtnUartMode.Checked = true;
-            if (!power.UnlockKey())
+            if (!FrmMain.rainwormPower.UnlockKey())
             {
                 txtbMsg.Text = "内部蚯蚓电源未连接成功!";
             }
@@ -47,9 +47,9 @@ namespace Tps_LQ_Transmitter
 
         private void DebuggingForm_FormClosed(object sender, FormClosedEventArgs e)
         {
-            dio.portClose();
-            power.portClose();
-            pcm.portClose();
+            //FrmMain.dio.portClose();
+            //FrmMain.rainwormPower.portClose();
+            //FrmMain.pcm.portClose();
             SeriesPortChildThread.Abort();
 
         }
@@ -60,11 +60,11 @@ namespace Tps_LQ_Transmitter
         {
             if (led1.Value == false)
             {
-                dio.SupplySwitch(1, DioControlClass.State.ON);
+                FrmMain.dio.SupplySwitch(1, DioControlClass.State.ON);
             }
             else
             {
-                dio.SupplySwitch(1, DioControlClass.State.OFF);
+                FrmMain.dio.SupplySwitch(1, DioControlClass.State.OFF);
             }
             led1.Value = !led1.Value;
         }
@@ -74,11 +74,11 @@ namespace Tps_LQ_Transmitter
            
             if (led2.Value == false)
             {
-                dio.SupplySwitch(2, DioControlClass.State.ON);
+                FrmMain.dio.SupplySwitch(2, DioControlClass.State.ON);
             }
             else
             {
-                dio.SupplySwitch(2, DioControlClass.State.OFF);
+                FrmMain.dio.SupplySwitch(2, DioControlClass.State.OFF);
             }
             led2.Value = !led2.Value;
         }
@@ -87,11 +87,11 @@ namespace Tps_LQ_Transmitter
         {
             if (led3.Value == false)
             {
-                dio.SupplySwitch(3, DioControlClass.State.ON);
+                FrmMain.dio.SupplySwitch(3, DioControlClass.State.ON);
             }
             else
             {
-                dio.SupplySwitch(3, DioControlClass.State.OFF);
+                FrmMain.dio.SupplySwitch(3, DioControlClass.State.OFF);
             }
             led3.Value = !led3.Value;
         }
@@ -100,11 +100,11 @@ namespace Tps_LQ_Transmitter
         {
             if (led4.Value == false)
             {
-                dio.SupplySwitch(4, DioControlClass.State.ON);
+                FrmMain.dio.SupplySwitch(4, DioControlClass.State.ON);
             }
             else
             {
-                dio.SupplySwitch(4, DioControlClass.State.OFF);
+                FrmMain.dio.SupplySwitch(4, DioControlClass.State.OFF);
             }
             led4.Value = !led4.Value;
         }
@@ -113,11 +113,11 @@ namespace Tps_LQ_Transmitter
         {
             if (led5.Value == false)
             {
-                dio.SupplySwitch(5, DioControlClass.State.ON);
+                FrmMain.dio.SupplySwitch(5, DioControlClass.State.ON);
             }
             else
             {
-                dio.SupplySwitch(5, DioControlClass.State.OFF);
+                FrmMain.dio.SupplySwitch(5, DioControlClass.State.OFF);
             }
             led5.Value = !led5.Value;
         }
@@ -126,11 +126,11 @@ namespace Tps_LQ_Transmitter
         {
             if (led6.Value == false)
             {
-                dio.SupplySwitch(6, DioControlClass.State.ON);
+                FrmMain.dio.SupplySwitch(6, DioControlClass.State.ON);
             }
             else
             {
-                dio.SupplySwitch(6, DioControlClass.State.OFF);
+                FrmMain.dio.SupplySwitch(6, DioControlClass.State.OFF);
             }
             led6.Value = !led6.Value;
         }
@@ -139,11 +139,11 @@ namespace Tps_LQ_Transmitter
         {
             if (led7.Value == false)
             {
-                dio.SupplySwitch(7, DioControlClass.State.ON);
+                FrmMain.dio.SupplySwitch(7, DioControlClass.State.ON);
             }
             else
             {
-                dio.SupplySwitch(7, DioControlClass.State.OFF);
+                FrmMain.dio.SupplySwitch(7, DioControlClass.State.OFF);
             }
             led7.Value = !led7.Value;
         }
@@ -152,11 +152,11 @@ namespace Tps_LQ_Transmitter
         {
             if (led8.Value == false)
             {
-                dio.SupplySwitch(8, DioControlClass.State.ON);
+                FrmMain.dio.SupplySwitch(8, DioControlClass.State.ON);
             }
             else
             {
-                dio.SupplySwitch(8, DioControlClass.State.OFF);
+                FrmMain.dio.SupplySwitch(8, DioControlClass.State.OFF);
             }
             led8.Value = !led8.Value;
         }
@@ -193,9 +193,9 @@ namespace Tps_LQ_Transmitter
             double[] dblc = new double[8];
             double[] dblp = new double[8];
             string st="";
-            dblv = dio.ReadAllVolt();
-            dblc = dio.ReadAllCurr();
-            dblp = dio.ReadAllPower();
+            dblv = FrmMain.dio.ReadAllVolt();
+            dblc = FrmMain.dio.ReadAllCurr();
+            dblp = FrmMain.dio.ReadAllPower();
             txtbVoltCh_1.Text = dblv[0].ToString();
             txtbCurrCh_1.Text = dblc[0].ToString();
             
@@ -241,11 +241,11 @@ namespace Tps_LQ_Transmitter
                 chkAyCh_6.Checked = false;
                 chkAyCh_7.Checked = false;
                 chkAyCh_8.Checked = false;
-                gpio.SwitchControl(1);
+                FrmMain.gpio.SwitchControl(1);
             }
             else
             {
-                gpio.SwitchControl(0);
+                FrmMain.gpio.SwitchControl(0);
             }          
         }
 
@@ -261,11 +261,11 @@ namespace Tps_LQ_Transmitter
                 chkAyCh_6.Checked = false;
                 chkAyCh_7.Checked = false;
                 chkAyCh_8.Checked = false;
-                gpio.SwitchControl(2);
+                FrmMain.gpio.SwitchControl(2);
             }
             else
             {
-                gpio.SwitchControl(0);
+                FrmMain.gpio.SwitchControl(0);
             }
         }
 
@@ -281,11 +281,11 @@ namespace Tps_LQ_Transmitter
                 chkAyCh_6.Checked = false;
                 chkAyCh_7.Checked = false;
                 chkAyCh_8.Checked = false;
-                gpio.SwitchControl(3);
+                FrmMain.gpio.SwitchControl(3);
             }
             else
             {
-                gpio.SwitchControl(0);
+                FrmMain.gpio.SwitchControl(0);
             }
         }
 
@@ -301,11 +301,11 @@ namespace Tps_LQ_Transmitter
                 chkAyCh_6.Checked = false;
                 chkAyCh_7.Checked = false;
                 chkAyCh_8.Checked = false;
-                gpio.SwitchControl(4);
+                FrmMain.gpio.SwitchControl(4);
             }
             else
             {
-                gpio.SwitchControl(0);
+                FrmMain.gpio.SwitchControl(0);
             }
         }
 
@@ -321,11 +321,11 @@ namespace Tps_LQ_Transmitter
                 chkAyCh_6.Checked = false;
                 chkAyCh_7.Checked = false;
                 chkAyCh_8.Checked = false;
-                gpio.SwitchControl(5);
+                FrmMain.gpio.SwitchControl(5);
             }
             else
             {
-                gpio.SwitchControl(0);
+                FrmMain.gpio.SwitchControl(0);
             }
         }
 
@@ -341,11 +341,11 @@ namespace Tps_LQ_Transmitter
                 //chkAyCh_6.Checked = false;
                 chkAyCh_7.Checked = false;
                 chkAyCh_8.Checked = false;
-                gpio.SwitchControl(6);
+                FrmMain.gpio.SwitchControl(6);
             }
             else
             {
-                gpio.SwitchControl(0);
+                FrmMain.gpio.SwitchControl(0);
             }
         }
 
@@ -361,11 +361,11 @@ namespace Tps_LQ_Transmitter
                 chkAyCh_6.Checked = false;
                 //chkAyCh_7.Checked = false;
                 chkAyCh_8.Checked = false;
-                gpio.SwitchControl(7);
+                FrmMain.gpio.SwitchControl(7);
             }
             else
             {
-                gpio.SwitchControl(0);
+                FrmMain.gpio.SwitchControl(0);
             }
         }
 
@@ -381,18 +381,18 @@ namespace Tps_LQ_Transmitter
                 chkAyCh_6.Checked = false;
                 chkAyCh_7.Checked = false;
                 //chkAyCh_8.Checked = false;
-                gpio.SwitchControl(8);
+                FrmMain.gpio.SwitchControl(8);
             }
             else
             {
-                gpio.SwitchControl(0);
+                FrmMain.gpio.SwitchControl(0);
             }
         }
         private void chkAllSwitchDo_CheckedChanged(object sender, EventArgs e)
         {
             if (chkAllSwitchDo.Checked == true)
             {
-                gpio.AllSwitchBandstopft();
+                FrmMain.gpio.AllSwitchBandstopft();
                 chkAyCh_1.Enabled = false;
                 chkAyCh_2.Enabled = false;
                 chkAyCh_3.Enabled = false;
@@ -404,7 +404,7 @@ namespace Tps_LQ_Transmitter
             }
             else
             {
-                gpio.AllSwitchAttenuator();
+                FrmMain.gpio.AllSwitchAttenuator();
                 chkAyCh_1.Enabled = true;
                 chkAyCh_2.Enabled = true;
                 chkAyCh_3.Enabled = true;
@@ -432,11 +432,11 @@ namespace Tps_LQ_Transmitter
                 chkStCh_6.Checked = false;
                 chkStCh_7.Checked = false;
                 chkStCh_8.Checked = false;
-                dio.OneToEight(1, DioControlClass.State.ON);
+                FrmMain.dio.OneToEight(1, DioControlClass.State.ON);
             }
             else
             {
-                dio.OneToEight(1,DioControlClass.State.OFF);
+                FrmMain.dio.OneToEight(1,DioControlClass.State.OFF);
             }
         }
 
@@ -452,11 +452,11 @@ namespace Tps_LQ_Transmitter
                 chkStCh_6.Checked = false;
                 chkStCh_7.Checked = false;
                 chkStCh_8.Checked = false;
-                dio.OneToEight(2, DioControlClass.State.ON);
+                FrmMain.dio.OneToEight(2, DioControlClass.State.ON);
             }
             else
             {
-                dio.OneToEight(2, DioControlClass.State.OFF);
+                FrmMain.dio.OneToEight(2, DioControlClass.State.OFF);
             }
         }
 
@@ -472,11 +472,11 @@ namespace Tps_LQ_Transmitter
                 chkStCh_6.Checked = false;
                 chkStCh_7.Checked = false;
                 chkStCh_8.Checked = false;
-                dio.OneToEight(3, DioControlClass.State.ON);
+                FrmMain.dio.OneToEight(3, DioControlClass.State.ON);
             }
             else
             {
-                dio.OneToEight(3, DioControlClass.State.OFF);
+                FrmMain.dio.OneToEight(3, DioControlClass.State.OFF);
             }
         }
 
@@ -492,11 +492,11 @@ namespace Tps_LQ_Transmitter
                 chkStCh_6.Checked = false;
                 chkStCh_7.Checked = false;
                 chkStCh_8.Checked = false;
-                dio.OneToEight(4, DioControlClass.State.ON);
+                FrmMain.dio.OneToEight(4, DioControlClass.State.ON);
             }
             else
             {
-                dio.OneToEight(4, DioControlClass.State.OFF);
+                FrmMain.dio.OneToEight(4, DioControlClass.State.OFF);
             }
         }
 
@@ -512,11 +512,11 @@ namespace Tps_LQ_Transmitter
                 chkStCh_6.Checked = false;
                 chkStCh_7.Checked = false;
                 chkStCh_8.Checked = false;
-                dio.OneToEight(5, DioControlClass.State.ON);
+                FrmMain.dio.OneToEight(5, DioControlClass.State.ON);
             }
             else
             {
-                dio.OneToEight(5, DioControlClass.State.OFF);
+                FrmMain.dio.OneToEight(5, DioControlClass.State.OFF);
             }
         }
 
@@ -532,11 +532,11 @@ namespace Tps_LQ_Transmitter
                 //chkStCh_6.Checked = false;
                 chkStCh_7.Checked = false;
                 chkStCh_8.Checked = false;
-                dio.OneToEight(6, DioControlClass.State.ON);
+                FrmMain.dio.OneToEight(6, DioControlClass.State.ON);
             }
             else
             {
-                dio.OneToEight(6, DioControlClass.State.OFF);
+                FrmMain.dio.OneToEight(6, DioControlClass.State.OFF);
             }
         }
 
@@ -552,11 +552,11 @@ namespace Tps_LQ_Transmitter
                 chkStCh_6.Checked = false;
                 //chkStCh_7.Checked = false;
                 chkStCh_8.Checked = false;
-                dio.OneToEight(7, DioControlClass.State.ON);
+                FrmMain.dio.OneToEight(7, DioControlClass.State.ON);
             }
             else
             {
-                dio.OneToEight(7, DioControlClass.State.OFF);
+                FrmMain.dio.OneToEight(7, DioControlClass.State.OFF);
             }
         }
 
@@ -572,11 +572,11 @@ namespace Tps_LQ_Transmitter
                 chkStCh_6.Checked = false;
                 chkStCh_7.Checked = false;
                 //chkStCh_8.Checked = false;
-                dio.OneToEight(8, DioControlClass.State.ON);
+                FrmMain.dio.OneToEight(8, DioControlClass.State.ON);
             }
             else
             {
-                dio.OneToEight(8, DioControlClass.State.OFF);
+                FrmMain.dio.OneToEight(8, DioControlClass.State.OFF);
             }
         }
         #endregion
@@ -591,11 +591,11 @@ namespace Tps_LQ_Transmitter
                 chkBxCh_2.Checked = false;
                 chkBxCh_3.Checked = false;
                 chkBxCh_4.Checked = false;
-                dio.OneToFour(1, DioControlClass.State.ON);
+                FrmMain.dio.OneToFour(1, DioControlClass.State.ON);
             }
             else
             {
-                dio.OneToFour(1, DioControlClass.State.OFF);
+                FrmMain.dio.OneToFour(1, DioControlClass.State.OFF);
             }
         }
         private void chkBxCh_2_CheckedChanged(object sender, EventArgs e)
@@ -606,11 +606,11 @@ namespace Tps_LQ_Transmitter
                 //chkBxCh_2.Checked = false;
                 chkBxCh_3.Checked = false;
                 chkBxCh_4.Checked = false;
-                dio.OneToFour(2, DioControlClass.State.ON);
+                FrmMain.dio.OneToFour(2, DioControlClass.State.ON);
             }
             else
             {
-                dio.OneToFour(2, DioControlClass.State.OFF);
+                FrmMain.dio.OneToFour(2, DioControlClass.State.OFF);
             }
         }
         private void chkBxCh_3_CheckedChanged(object sender, EventArgs e)
@@ -621,11 +621,11 @@ namespace Tps_LQ_Transmitter
                 chkBxCh_2.Checked = false;
                 //chkBxCh_3.Checked = false;
                 chkBxCh_4.Checked = false;
-                dio.OneToFour(3, DioControlClass.State.ON);
+                FrmMain.dio.OneToFour(3, DioControlClass.State.ON);
             }
             else
             {
-                dio.OneToFour(3, DioControlClass.State.OFF);
+                FrmMain.dio.OneToFour(3, DioControlClass.State.OFF);
             }
         }
         private void chkBxCh_4_CheckedChanged(object sender, EventArgs e)
@@ -636,11 +636,11 @@ namespace Tps_LQ_Transmitter
                 chkBxCh_2.Checked = false;
                 chkBxCh_3.Checked = false;
                 //chkBxCh_4.Checked = false;
-                dio.OneToFour(4, DioControlClass.State.ON);
+                FrmMain.dio.OneToFour(4, DioControlClass.State.ON);
             }
             else
             {
-                dio.OneToFour(4, DioControlClass.State.OFF);
+                FrmMain.dio.OneToFour(4, DioControlClass.State.OFF);
             }
         }
         #endregion
@@ -650,11 +650,11 @@ namespace Tps_LQ_Transmitter
         {
             if (chkCzCh.Checked == true)
             {
-                dio.OneToTwo(DioControlClass.State.ON);
+                FrmMain.dio.OneToTwo(DioControlClass.State.ON);
             }
             else
             {
-                dio.OneToTwo(DioControlClass.State.OFF);
+                FrmMain.dio.OneToTwo(DioControlClass.State.OFF);
             }
         }
         #endregion
@@ -665,17 +665,17 @@ namespace Tps_LQ_Transmitter
         {
             if (ChkPowerOnOff.Checked == true)
             {
-                power.powerOnoff(RainwormPower.State.ON);
+                FrmMain.rainwormPower.powerOnoff(RainwormPower.State.ON);
             }
             else
             {
-                power.powerOnoff(RainwormPower.State.OFF);
+                FrmMain.rainwormPower.powerOnoff(RainwormPower.State.OFF);
             }
         }
 
         private void btnPowerSetting_Click(object sender, EventArgs e)
         {
-            power.powerSetting(Convert.ToDouble(txtbVoltSetValue.Text),Convert.ToDouble(txtbCurrSetValue.Text));
+            FrmMain.rainwormPower.powerSetting(Convert.ToDouble(txtbVoltSetValue.Text),Convert.ToDouble(txtbCurrSetValue.Text));
         }
 
         #endregion
@@ -688,7 +688,7 @@ namespace Tps_LQ_Transmitter
 
             while (true)
             {
-                byte[] byrd = pcm.OnlyRead();
+                byte[] byrd = FrmMain.pcm.OnlyRead();
 
                 //if (byrd != null && byrd[0] == 0xF0 && byrd[1] == 0x0F && byrd[2] == 0x03)
                 {
@@ -727,7 +727,7 @@ namespace Tps_LQ_Transmitter
                 {
                     bytx[i] = Convert.ToByte(sArray[i], 16);
                 }
-                txtbMsg.Text = pcm.DataSend(bytx,0).ToString();
+                txtbMsg.Text = FrmMain.pcm.DataSend(bytx,0).ToString();
             }
         }
         private void btnCleartxtbPcmRd_Click(object sender, EventArgs e)
@@ -774,7 +774,7 @@ namespace Tps_LQ_Transmitter
                 choice = "NONE";
             }
             baud = int.Parse(txtbBaudrate.Text);
-            pcm.Setting(mode, choice, baud);
+            FrmMain.pcm.Setting(mode, choice, baud);
         }
 
         private void rbtnUartMode_CheckedChanged(object sender, EventArgs e)
@@ -840,7 +840,7 @@ namespace Tps_LQ_Transmitter
                 {
                     bytx[i] = Convert.ToByte(sArray[i], 16);
                 }
-                txtbMsg.Text = pcm.DataSend(bytx,0).ToString();
+                txtbMsg.Text = FrmMain.pcm.DataSend(bytx,0).ToString();
             }
         }
 

+ 3 - 0
tps/TpsLabStudio/FrmMain.Designer.cs

@@ -924,6 +924,9 @@
         private DevComponents.DotNetBar.ButtonX BtnLoadManualData;
         private DevComponents.DotNetBar.ButtonX BtnSaveManualData;
         private DevComponents.DotNetBar.ButtonX btnDebugging;
+        /// <summary>
+        /// 产品编号输入框
+        /// </summary>
         private System.Windows.Forms.ComboBox tbSerials;
         private DevComponents.DotNetBar.Layout.LayoutControlItem layoutControlItem3;
         private DevComponents.DotNetBar.Controls.TextBoxX tbSerial;

+ 36 - 7
tps/TpsLabStudio/FrmMain.cs

@@ -36,11 +36,25 @@ namespace Tps_LQ_Transmitter
         public bool IsRuning = true;
 
         CommonVisaResource DCPower = null;
-        RainwormPower rainwormPower = null;
-
+        /// <summary>
+        /// 内部蚯蚓电源控制
+        /// </summary>
+        public static RainwormPower rainwormPower = null;
+        /// <summary>
+        /// 供电、射频开关与数采模块
+        /// </summary>
+        public static DioControlClass dio = null;
+        /// <summary>
+        /// 陷波器/衰减器 切换
+        /// </summary>
+        public static PcGpio gpio = null;
+        /// <summary>
+        /// PCM通信
+        /// </summary>
+        public static PcmControl pcm = null;
 
-       FrmMsg frmMsg;
-       FrmDevice frmDevice;
+        FrmMsg frmMsg;
+        FrmDevice frmDevice;
 
         public FrmMain()
         {
@@ -56,7 +70,18 @@ namespace Tps_LQ_Transmitter
             cbbProduct.ValueMember = "TestProject";
             cbbProduct.DisplayMember = "DisplayName";
             cbbProduct.DataSource = FileNodes;
-
+            //加载主界面时就将内部硬件(蚯蚓电源、数采、射频开关)控制端口new出
+            dio = new DioControlClass();
+            gpio = new PcGpio();
+            rainwormPower = new RainwormPower();
+            pcm = new PcmControl();
+
+            gpio.InitSetOut();
+            for (int i = 0; i < 8; i++)
+            {
+                dio.SupplySwitch(i+1,DioControlClass.State.OFF);//加载页面时关闭供电开关
+            }
+            gpio.AllSwitchAttenuator();//加载页面时8路全切换至衰减器
             //加载配置文件信息
             string folder = Path.Combine(Bundle.bundle.BundleDir, "config");
             if(Directory.Exists(folder))
@@ -380,7 +405,6 @@ namespace Tps_LQ_Transmitter
             }
             else //如何测试产品为1台,则使用内部蚯蚓电源
             {
-                rainwormPower = new RainwormPower();
                 rainwormPower.powerSetting(volt, Current);//设置输出电压和限制电流
                 rainwormPower.powerOnoff(RainwormPower.State.ON);//设置蚯蚓电源输出
                 Thread.Sleep(100);
@@ -460,7 +484,8 @@ namespace Tps_LQ_Transmitter
                     //}));
                     
                 //}
-                string[] ProductSeries = new string[tbSerials.Items.Count];
+                
+                string[] ProductSeries = new string[tbSerials.Items.Count];//将产品编号载入ProductSeries字符串数组
                 tbSerials.Items.CopyTo(ProductSeries, 0);
                 currFileNode.Tps.Start(isOrderByChannel, ProductSeries, DCPower, rainwormPower, SerialClient, CfigComParas);
                 TimesCounter.Stop();
@@ -529,6 +554,10 @@ namespace Tps_LQ_Transmitter
             labRemainTime.Text = $"已停止测试。";
 
             //DC.Write("关闭电源");
+            for (int i = 0; i < 8; i++)
+            {
+                dio.SupplySwitch(i+1,DioControlClass.State.OFF);//关闭8路供电开关
+            }
 
         }
 

+ 26 - 6
tps/TpsLabStudio/MainTps.cs

@@ -670,7 +670,6 @@ namespace Tps_LQ_Transmitter
             else
             {
                 rainwormPower.powerOnoff(RainwormPower.State.OFF);//设置蚯蚓电源输出
-                rainwormPower.portClose();
                 ShowMessage(MsgType.Info, string.Format("关闭6YYC信号源,关闭串口,关闭内部蚯蚓电源."));
             }
             
@@ -688,9 +687,9 @@ namespace Tps_LQ_Transmitter
             //清空测试数据
             // BaseModel.TestResults.Clear();
 
-           // FrmMain FrmPara = new FrmMain();
-
+            // FrmMain FrmPara = new FrmMain();
 
+            
             byte FourthByte = 0x00;
             string ComPort = CfigComParas.GetComPort("1");
             byte ThridByte = Convert.ToByte(CfigComParas.GetThirdByte("1"), 16);
@@ -706,6 +705,10 @@ namespace Tps_LQ_Transmitter
             }
 
             int ControlDelay = this.TestNodes[0].Parameters.GetParameter<int>("控制延时");
+            for (int i = 0; i < ProductSeries.Length; i++)
+            {
+                FrmMain.dio.SupplySwitch(i+1,DioControlClass.State.ON);//打开产品供电开关
+            }
             //SerialClient.SerialOpen(CfigComParas.GetComPort("1"));
             //ShowMessage(MsgType.Info, string.Format("打开串口."));
             //选择勾选项
@@ -819,7 +822,7 @@ namespace Tps_LQ_Transmitter
                                     if (testnode.IsSelected)
                                     {
                                         currModel = testnode.TestModel;
-                                        for (int i =0;i< ProductSeries.Length;i++)
+                                        for (int i =0;i< ProductSeries.Length;i++)          //各路分别测试
                                         {
                                             //if (FrmPara.IsRuning == false)//中途点击停止测试按钮
                                             //{
@@ -827,20 +830,34 @@ namespace Tps_LQ_Transmitter
                                             //    StopClose(ProductSeries, DCPower, rainwormPower, SerialClient);
                                             //    return;
                                             //}
+                                            
+                                            Thread.Sleep(500);
                                             this.Serial =  ProductSeries[i];
                                             SystemChofSerial = (Array.IndexOf(ProductSeries, ProductSeries[i]) +  1).ToString();
                                             UpDateCurrentSeries(this.Serial);
                                             // 陷波支路用于测杂波抑制,衰减支路用于测试其他指标,
                                             //双通道测试时:当测通道1的衰减支路指标时,在不换线的情况下,则进行通道2的陷波支路指标,然后换线,测通道2的衰减支路指标时,在不换线的情况下,则进行通道1的陷波支路指标。
                                             //单通道测试时,当测通道1的衰减支路指标时,换线后,单独测试通道1的陷波支路指标
+                                            FrmMain.dio.OneToEight(i + 1, DioControlClass.State.ON);
                                             if (testnode.Name.Contains("杂波抑制"))
                                             {
                                                 //todo:切产品同时切到陷波支路(1切8射频开关,1切2射频开关)
+                                                FrmMain.gpio.AllSwitchBandstopft();//8路全切至陷波器                                            
                                             }
                                             else 
                                             {
                                                 //todo:切产品同时切到衰减支路(1切8射频开关,1切2射频开关)
-                                            }                                          
+                                                FrmMain.gpio.AllSwitchAttenuator();//8路全切至衰减器
+                                               
+                                            }
+                                            if (testnode.Name.Contains("功率(功率计)"))//功率测试需接入功率计其余使用频谱仪测试
+                                            {
+                                                FrmMain.dio.RfSwitchX("功率计");//接入功率计
+                                            }
+                                            else
+                                            {
+                                                FrmMain.dio.RfSwitchX("频谱仪");//接入频谱仪
+                                            }
                                             testnode.TestModel.Start(testnode, nodes);
                                         }
                                     }
@@ -886,7 +903,10 @@ namespace Tps_LQ_Transmitter
                     }
                 }
             }
-
+            for (int i = 0; i < ProductSeries.Length; i++)
+            {
+                FrmMain.dio.SupplySwitch(i + 1, DioControlClass.State.OFF);//关闭产品供电开关
+            }
             //保存自动测试记录表
             SaveTestTable();
 

+ 29 - 5
tps/TpsLabStudio/com/DioControlClass.cs

@@ -13,7 +13,7 @@ namespace Tps_LQ_Transmitter.com
     /// DIO控制板与JSY电压电流模拟量采集模块 控制类。
     /// [DIO控制板与JSY模块都是RS485通信共用计算机的串口COM6]。
     /// </summary>
-    class DioControlClass:MySerial
+    public class DioControlClass:MySerial
     {
         SerialPort serial = null;
         public enum State {ON,OFF};
@@ -30,6 +30,7 @@ namespace Tps_LQ_Transmitter.com
             if (!serial.IsOpen)
             {
                 serial.Open();
+                Thread.Sleep(50);
             }
             
         }
@@ -66,8 +67,8 @@ namespace Tps_LQ_Transmitter.com
         /// <summary>
         /// 供电开关
         /// </summary>
-        /// <param name="ch"></param>
-        /// <param name="st"></param>
+        /// <param name="ch">通道号(从1开始)</param>
+        /// <param name="st">ON/off</param>
         public void SupplySwitch(int ch, State st)
         {
             if (ch>=1&&ch<=8)
@@ -159,6 +160,29 @@ namespace Tps_LQ_Transmitter.com
             DioOutput(chPlay, st);
         }
         /// <summary>
+        /// 仪器接入(一分四射频开关控制)
+        /// </summary>
+        /// <param name="str"></param>
+        public void RfSwitchX(string str)
+        {
+            if (str=="功率计")
+            {
+                OneToFour(1,State.ON);
+            }
+            else if (str == "频谱仪")
+            {
+                OneToFour(2, State.ON);
+            }
+            else if (str == "解调入")
+            {
+                OneToFour(3, State.ON);
+            }
+            else
+            {
+                OneToFour(4, State.OFF);
+            }
+        }
+        /// <summary>
         /// 一分二射频开关控制(多模解调模块切换)
         /// </summary>
         /// <param name="st"></param>
@@ -207,7 +231,7 @@ namespace Tps_LQ_Transmitter.com
         /// <summary>
         ///  JSY模块单通道电压(V)读取
         /// </summary>
-        /// <param name="ch">通道号</param>
+        /// <param name="ch">通道号(从1开始)</param>
         /// <returns>电压值</returns>
         public double ReadVolt(int ch)
         {
@@ -293,7 +317,7 @@ namespace Tps_LQ_Transmitter.com
         /// <summary>
         /// JSY模块单通道电流(A)读取
         /// </summary>
-        /// <param name="ch">通道号</param>
+        /// <param name="ch">通道号(从1开始)</param>
         /// <returns>电流值</returns>
         public double ReadCurr(int ch)
         {

+ 1 - 1
tps/TpsLabStudio/com/PcGpio.cs

@@ -12,7 +12,7 @@ namespace Tps_LQ_Transmitter.com
     /// 计算机后面板GPIO的控制类,用于控制八路一分二射频开关,该开关主要作用是切换衰减器与陷波器,ON为陷波器接通,OFF为衰减器接通。
     /// 启用端口2,4,6,8,10,12,14,16八个端口,其他未使用。
     /// </summary>
-    class PcGpio
+    public class PcGpio
     {
         [DllImport("inpout32.dll", CallingConvention = CallingConvention.Winapi)]
         public extern static void Out32(ushort add, ushort dat);

+ 1 - 1
tps/TpsLabStudio/com/PcmControl.cs

@@ -11,7 +11,7 @@ namespace Tps_LQ_Transmitter.com
     /// <summary>
     /// PCM控制与数据发送类
     /// </summary>
-    class PcmControl:MySerial
+    public class PcmControl:MySerial
     {
         SerialPort serial = null;
         public PcmControl()

BIN
tps/TpsLabStudio/config/串口控制.xlsx


+ 3 - 0
tps/TpsLabStudio/models/FskModulationIndexAndMaxFreqOffset.cs

@@ -9,6 +9,9 @@ using Tps_LQ_Transmitter.com;
 
 namespace Tps_LQ_Transmitter.models
 {
+    /// <summary>
+    /// FSK调制指数及最大频偏指标测试
+    /// </summary>
     class FskModulationIndexAndMaxFreqOffset : BaseModel
     {
         public FskModulationIndexAndMaxFreqOffset()

+ 3 - 0
tps/TpsLabStudio/models/HarmonicSuppression.cs

@@ -8,6 +8,9 @@ using Tps_LQ_Transmitter.com;
 
 namespace Tps_LQ_Transmitter.models
 {
+    /// <summary>
+    /// 谐波抑制测试
+    /// </summary>
     class HarmonicSupperssion : BaseModel
     {
         public HarmonicSupperssion()

+ 4 - 1
tps/TpsLabStudio/models/ModulationIndexAndMaxFreqOffset.cs

@@ -9,7 +9,10 @@ using Tps_LQ_Transmitter.com;
 
 namespace Tps_LQ_Transmitter.models
 {
-    class ModulationIndexAndMaxFreqOffset: BaseModel
+    /// <summary>
+    /// 调制指数及最大频偏指标测试
+    /// </summary>
+    class ModulationIndexAndMaxFreqOffset : BaseModel
     {
         public ModulationIndexAndMaxFreqOffset()
         {

+ 4 - 1
tps/TpsLabStudio/models/NoisePowerDensity.cs

@@ -8,7 +8,10 @@ using Tps_LQ_Transmitter.com;
 
 namespace Tps_LQ_Transmitter.models
 {
-    class NoisePowerDensity: BaseModel
+    /// <summary>
+    /// 噪声功率谱密度测试
+    /// </summary>
+    class NoisePowerDensity : BaseModel
     {
         public NoisePowerDensity()
         {

+ 3 - 0
tps/TpsLabStudio/models/NormalTemperatureTest.cs

@@ -10,6 +10,9 @@ using System.Diagnostics;
 
 namespace Tps_LQ_Transmitter.models
 {
+    /// <summary>
+    /// 常温检查测试
+    /// </summary>
     class NormalTemperatureTest : BaseModel
     {
         public NormalTemperatureTest()

+ 4 - 1
tps/TpsLabStudio/models/PhaseNoise.cs

@@ -8,7 +8,10 @@ using Tps_LQ_Transmitter.com;
 
 namespace Tps_LQ_Transmitter.models
 {
-    class PhaseNoise: BaseModel
+    /// <summary>
+    /// 相位噪声测试
+    /// </summary>
+    class PhaseNoise : BaseModel
     {
         public PhaseNoise()
         {

+ 4 - 1
tps/TpsLabStudio/models/PowerAndFreqStability.cs

@@ -8,7 +8,10 @@ using Tps_LQ_Transmitter.com;
 
 namespace Tps_LQ_Transmitter.models
 {
-    class PowerAndFreqStability: BaseModel
+    /// <summary>
+    /// 功率及频率稳定度测试
+    /// </summary>
+    class PowerAndFreqStability : BaseModel
     {
         double[,] WTempPowerVal;
         double[,] dBTempPowerVal;

+ 3 - 0
tps/TpsLabStudio/models/PowerTest-PowerMeter.cs

@@ -9,6 +9,9 @@ using Tps_LQ_Transmitter.com;
 
 namespace Tps_LQ_Transmitter.models
 {
+    /// <summary>
+    /// 功率(功率计)测试
+    /// </summary>
     class PowerTest_PowerMeter : BaseModel
     {
         double[,] WTempPowerVal;

+ 3 - 0
tps/TpsLabStudio/models/SpuriousSuppression.cs

@@ -8,6 +8,9 @@ using Tps_LQ_Transmitter.com;
 
 namespace Tps_LQ_Transmitter.models
 {
+    /// <summary>
+    /// 杂波抑制测试
+    /// </summary>
     class SpuriousSuppression : BaseModel
     {
         public SpuriousSuppression()

+ 5 - 4
tps/TpsLabStudio/models/VoltAndCurrent.cs

@@ -13,7 +13,9 @@ namespace Tps_LQ_Transmitter.models
 {
     class VoltAndCurrent: BaseModel
     {
-
+        /// <summary>
+        /// 电压及电流测试
+        /// </summary>
         public VoltAndCurrent()
         {
             TemplateName = "电压及电流测试";
@@ -27,7 +29,6 @@ namespace Tps_LQ_Transmitter.models
             ShowMessage(MsgType.Info, string.Format("第{0}个频点电压及电流测试开始", parameters.PointIndex));
             TestParameters result = new TestParameters();
             Random random = new Random();
-            DioControlClass dioControlClass =new DioControlClass();
             //获取仪器
 
 
@@ -102,8 +103,8 @@ namespace Tps_LQ_Transmitter.models
                 //       SerialClient.DUT_Transmitter_Ctrol(PowerPara.ComPort, Convert.ToByte(point + 1));
                 Data.VoltVal[parameters.PointIndex] ="12";
                 Data.CurrentVal[parameters.PointIndex] = "1.2";
-                Data.VoltVal[parameters.PointIndex] = dioControlClass.ReadVolt(Convert.ToInt32(tps.SystemChofSerial)).ToString();
-                Data.CurrentVal[parameters.PointIndex] = dioControlClass.ReadCurr(Convert.ToInt32(tps.SystemChofSerial)).ToString();
+                Data.VoltVal[parameters.PointIndex] = FrmMain.dio.ReadVolt(Convert.ToInt32(tps.SystemChofSerial)).ToString();
+                Data.CurrentVal[parameters.PointIndex] = FrmMain.dio.ReadCurr(Convert.ToInt32(tps.SystemChofSerial)).ToString();
                 //Data.VoltVal[parameters.PointIndex] = DCPower.Query("MEASure:VOLTage?\n");         
                 //Data.CurrentVal[parameters.PointIndex] = DCPower.Query("MEASure:CURRent?\n");
                 

BIN
tps/TpsLabStudio/obj/Debug/DesignTimeResolveAssemblyReferences.cache


BIN
tps/TpsLabStudio/obj/Debug/TpsLabStudio.csproj.GenerateResource.cache


BIN
tps/TpsLabStudio/obj/Debug/Tps_LQ_Transmitter.dll


BIN
tps/TpsLabStudio/obj/Debug/Tps_LQ_Transmitter.pdb