private void readUSB() { this.viStatus = VISA.viOpenDefaultRM(ref this.defaultRM); if (this.viStatus < ViStatus.VI_SUCCESS) { MessageBox.Show("Failed to open Default RM", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); return; } String usb_ID = "USB0::0x0AAD::0x0178::100958::INSTR"; this.viStatus = VISA.viOpen(this.defaultRM, usb_ID, VISA.VI_NULL, VISA.VI_NULL, ref this.vi); if (this.viStatus < ViStatus.VI_SUCCESS) { MessageBox.Show("Failed to Connect", "Warning", MessageBoxButton.OK, MessageBoxImage.Error); return; } msgbox.AppendText("Connection Success!\n"); // Set time out values. this.viStatus = VISA.viSetAttribute(this.vi, ViAttr.VI_ATTR_TMO_VALUE, 5000); }
private static void Main(string[] args) { //const string rsaAddress = "127.0.0.1"; const string rsaAddress = "GPIB8::1::INSTR"; var rsa = new VISA(); try { rsa.Open(rsaAddress); //rsa.Open(string.Format("TCPIP::{0}::INSTR", rsaAddress)); if (rsa.Status != TekVISADefs.Status.SUCCESS) { Message(string.Format("Unable to connect to RSA at address {0}", rsaAddress)); return; } // Confirm we are connected to the RSA. rsa.Write("*RST"); string retString; rsa.Query("*IDN?", out retString); Message("Connected to: " + rsaAddress); Message("*IDN? returned " + retString); // Preset the system, set CF to 1 GHz, 1 MHz span, and turn off continous acquisitions rsa.Write(":SYSTEM:PRESET"); int retVal; rsa.Query("*OPC?", out retVal); rsa.Write("*CLS"); rsa.Write("INIT:CONT OFF"); rsa.Write(":SENSE:SPEC:FREQ:CENTER 1e9"); rsa.Write(":SENSE:SPEC:FREQ:SPAN 1e6"); // Add a marker rsa.Write("CALCulate:MARKer:ADD"); // Take one acquisition rsa.Write("INIT"); rsa.Query("*OPC?", out retVal); // Use marker to find max peak rsa.Write("CALC:SPEC:MARKer0:MAX"); double peakLevel; rsa.Query("CALC:SPEC:MARK0:Y?", out peakLevel); Message(string.Format("Peak Amplitude is {0:0.00} dBm", peakLevel)); } finally { // Be a good .NET citizen and explicitly close resources. rsa.Clear(); rsa.Close(); } Console.WriteLine("Hit enter to close..."); var wait = Console.ReadLine(); }
public void countmoney() { //此方法用于计算用户租赁场地的花销 //获取listview中的开始时间和结束时间,计算时间差。 //用户花的钱 = 时间差*对应场地单价+(违约金) //违约金 = (时间差*对应场地单价)*0.3 //是否需要缴纳违约金看用户的BreakBJ标记是否为YES 为YES,加收,不为YES,不收 //先根据选取的场地id获取对应的场地价格 Yard jiage = new Yard(); chloe_control_all chloe_price = new chloe_control_all("Data Source=DESKTOP-O4C25KM;Initial Catalog=场馆预约系统;Integrated Security=True"); jiage = chloe_price.catchprice(comboBox1.SelectedValue.ToString()); // ()调用的是控件comboBox的值,即场地id double cdprice; cdprice = jiage.Price; //再根据场地id获取对应列的开始时间和结束时间 Start waailu = new Start(); String chalang = Start.CUser; Booking leihou = new Booking(); chloe_control_all chloe_time = new chloe_control_all("Data Source=DESKTOP-O4C25KM;Initial Catalog=场馆预约系统;Integrated Security=True"); leihou = chloe_time.See_BOOK_CD(comboBox1.SelectedValue.ToString()); //开始时间、结束时间、中午、下午(用于计算和转换) String START, EXIT, MID, AFT; START = leihou.OpenTime.ToString(); EXIT = leihou.CloseTime.ToString(); MID = mid; AFT = aft; DateTime dt1 = Convert.ToDateTime(START); DateTime dt2 = Convert.ToDateTime(EXIT); DateTime dt3 = Convert.ToDateTime(MID); DateTime dt4 = Convert.ToDateTime(AFT); TimeSpan ts1 = new TimeSpan(dt1.Ticks); TimeSpan ts2 = new TimeSpan(dt2.Ticks); TimeSpan ts3 = new TimeSpan(dt3.Ticks); TimeSpan ts4 = new TimeSpan(dt4.Ticks); //计算时间差(然后计算两个TimeSpan的差) //时间计算还得区分中午12:00-下午14:00这两个小时的休息时间 //如果选择的开始时间小于等于12:00以及结束的时间大于等于14:00,实际的消费时间为(12:00-开始时间)+ (结束时间-14:00) String ALLtime; //计算出来的时间差 if (DateTime.Compare(dt1, dt3) <= 0 && DateTime.Compare(dt2, dt4) >= 0) { TimeSpan ts5 = ts1.Subtract(ts3).Duration(); //(12:00-开始时间) TimeSpan ts6 = ts2.Subtract(ts4).Duration(); //(结束时间-14:00) TimeSpan ts7 = ts5.Add(ts6).Duration(); //实际的消费时间 double t = ts7.TotalHours / Convert.ToDouble(1); //将TimeSpan转换类型,便于后期计算费用,精确至小数点后两位 double t1 = Convert.ToDouble(t); ALLtime = t1.ToString(); } else { TimeSpan ts = ts1.Subtract(ts2).Duration(); double m = ts.TotalHours / Convert.ToDouble(1); double m1 = Convert.ToDouble(m); ALLtime = m1.ToString(); } //判断用户标记,计算不同的钱 //Visa代表违约用户的总金额 VISA代表正常用户的总金额 //MMMM代表总金额 double Visa, VISA; int BJ_check_result; BJ_check_result = chloe_time.USER_CHECK(chalang); if (BJ_check_result == 0) //用户违约用户,需收取违约金 { Visa = double.Parse(ALLtime) * cdprice * 1.3; MMMM = Visa.ToString(); } else { VISA = double.Parse(ALLtime) * cdprice; MMMM = VISA.ToString(); } }