Пример #1
0
        //public static double[] force = new double[n];
        //public static double[] delx = new double[n];
        public MainWindow()
        {
            Mainworker.WorkerReportsProgress = true;
            Mainworker.DoWork          += Mainworker_DoWork;
            Mainworker.ProgressChanged += Mainworker_ProgressChanged;

            Stageworker.WorkerReportsProgress = true;
            Stageworker.DoWork          += Stageworker_DoWork;
            Stageworker.ProgressChanged += Stageworker_ProgressChanged;


            msgchnl = new MessageChannel();
            mr      = new mrj4commander(msgchnl);
            InitializeComponent();
            msgchnl.msgChanged += new MessageEventHandler(MessageChanged);
            msgchnl.OnChanged(EventArgs.Empty);
            jogmode.IsEnabled    = false;
            upbutton.IsEnabled   = false;
            downbutton.IsEnabled = false;
            posmode.IsEnabled    = false;
            posrun.IsEnabled     = false;
            //distlabel.IsEnabled = false;
            //disttb.IsEnabled = false;
            steplabel.IsEnabled = false;
            steptb.IsEnabled    = false;
            port = new SerialPort();
            try
            {
                if (port.IsOpen == true)
                {
                    port.Close();
                }
                port.PortName = "COM13";//Change COM port here or Load Cell
                port.BaudRate = 9600;
                port.DataBits = 8;
                port.StopBits = (StopBits)Enum.Parse(typeof(StopBits), "1");
                port.Parity   = (Parity)Enum.Parse(typeof(Parity), "2");
                System.Threading.Thread.Sleep(2000);
                port.DataReceived += new SerialDataReceivedEventHandler(Datahnd);
                port.Open();
            }
            catch (Exception e)
            {
                Console.WriteLine("Error in openning the COM Port\n" + e.Message + "\n" + e.StackTrace + "\nException is:  \n" + e.InnerException);
                Console.ReadKey();
            }
            Voltport = new SerialPort();
            try
            {
                if (Voltport.IsOpen == true)
                {
                    Voltport.Close();
                }
                Voltport.PortName = "COM4";//Change COM port here or Votage Reading
                Voltport.BaudRate = 9600;
                Voltport.DataBits = 8;
                Voltport.StopBits = (StopBits)Enum.Parse(typeof(StopBits), "1");
                Voltport.Parity   = (Parity)Enum.Parse(typeof(Parity), "0");
                System.Threading.Thread.Sleep(2000);
                Voltport.DataReceived += new SerialDataReceivedEventHandler(VoltportReceive);
                Voltport.Open();
                //Voltport.Write("*IDN?");
                //Thread.Sleep(1000);
                //Voltage.Content = "IDN: " + volt;
            }
            catch (Exception e)
            {
                Console.WriteLine("Error in openning the COM Port\n" + e.Message + "\n" + e.StackTrace + "\nException is:  \n" + e.InnerException);
                Console.ReadKey();
            }
            string path = "";

            // Configure open file dialog box
            Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
            dlg.Title            = "Save Log File Location";
            dlg.InitialDirectory = "C:\\piezodata";
            dlg.FileName         = "LogFile";                             // Default file name
            dlg.DefaultExt       = ".csv";                                // Default file extension
            dlg.Filter           = "Comma Seperated Values (.csv)|*.csv"; // Filter files by extension
            //dlg.Filter = "Text File (.txt)|*.txt";
            // Show open file dialog box
            Nullable <bool> result = dlg.ShowDialog();

            // Process open file dialog box results
            if (result == true)
            {
                path = dlg.FileName;
            }
            else
            {
                path = "C:\\piezodata\\default";
            }
            saveFilePath.Content = path.ToString();
            datafile             = System.IO.Path.Combine(path);
            this.Mainworker.RunWorkerAsync();
        }
Пример #2
0
 public mrj4commander(MessageChannel i_msgchnl)
 {
     this.msgchnl = i_msgchnl;
     ec           = ErrorCode.None;
     readBuffer   = new byte[32];
     try
     {
         msgchnl.setcurrMessage("Initilazing MRJ-4");
         // Find and open the usb device.
         MyUsbDevice = UsbDevice.OpenUsbDevice(MyUsbFinder);
         // If the device is open and ready
         if (MyUsbDevice == null)
         {
             throw new Exception("Device Not Found.");
         }
         // If this is a "whole" usb device (libusb-win32, linux libusb)
         // it will have an IUsbDevice interface. If not (WinUSB) the
         // variable will be null indicating this is an interface of a
         // device.
         wholeUsbDevice = MyUsbDevice as IUsbDevice;
         if (!ReferenceEquals(wholeUsbDevice, null))
         {
             // This is a "whole" USB device. Before it can be used,
             // the desired configuration and interface must be selected.
             // Select config #1
             wholeUsbDevice.SetConfiguration(1);
             // Claim interface #0.
             wholeUsbDevice.ClaimInterface(0);
         }
         // open read endpoint 1.
         reader = MyUsbDevice.OpenEndpointReader(ReadEndpointID.Ep01);
         // open write endpoint 1.
         writer = MyUsbDevice.OpenEndpointWriter(WriteEndpointID.Ep02);
         msgchnl.setcurrMessage("Initilazing Completed");
     }
     catch (Exception ex)
     {
         msgchnl.setcurrMessage((ec != ErrorCode.None ? ec + ":" : String.Empty) + ex.Message);
     }
     this.posdirection = posup;
     this.jogdirection = jogup;
     #region ASCII encode definition
     encode.Add("0 ", 0x20);
     encode.Add("00", 0x30);
     encode.Add("01", 0x31);
     encode.Add("02", 0x32);
     encode.Add("03", 0x33);
     encode.Add("04", 0x34);
     encode.Add("05", 0x35);
     encode.Add("06", 0x36);
     encode.Add("07", 0x37);
     encode.Add("08", 0x38);
     encode.Add("09", 0x39);
     encode.Add("0A", 0x41);
     encode.Add("0B", 0x42);
     encode.Add("0C", 0x43);
     encode.Add("0D", 0x44);
     encode.Add("0E", 0x45);
     encode.Add("0F", 0x46);
     encode.Add("0L", 0x4C);
     encode.Add("0O", 0x4F);
     encode.Add("0P", 0x50);
     encode.Add("0R", 0x52);
     encode.Add("0S", 0x53);
     encode.Add("0T", 0x54);
     #endregion
     #region ASCII decode definition
     decode.Add(0x30, '0');
     decode.Add(0x31, '1');
     decode.Add(0x32, '2');
     decode.Add(0x33, '3');
     decode.Add(0x34, '4');
     decode.Add(0x35, '5');
     decode.Add(0x36, '6');
     decode.Add(0x37, '7');
     decode.Add(0x38, '8');
     decode.Add(0x39, '9');
     decode.Add(0x41, 'A');
     decode.Add(0x42, 'B');
     decode.Add(0x43, 'C');
     decode.Add(0x44, 'D');
     decode.Add(0x45, 'E');
     decode.Add(0x46, 'F');
     #endregion
     #region Hex Conversion definition
     hexdic.Add(0, '0');
     hexdic.Add(1, '1');
     hexdic.Add(2, '2');
     hexdic.Add(3, '3');
     hexdic.Add(4, '4');
     hexdic.Add(5, '5');
     hexdic.Add(6, '6');
     hexdic.Add(7, '7');
     hexdic.Add(8, '8');
     hexdic.Add(9, '9');
     hexdic.Add(10, 'A');
     hexdic.Add(11, 'B');
     hexdic.Add(12, 'C');
     hexdic.Add(13, 'D');
     hexdic.Add(14, 'E');
     hexdic.Add(15, 'F');
     #endregion
 }