Beispiel #1
0
 private void SetScanLayoutButton_Click(object sender, System.EventArgs e)
 {
     try
     {
         SySal.DAQSystem.ScanServer Srv  = (SySal.DAQSystem.ScanServer)System.Runtime.Remoting.RemotingServices.Connect(typeof(SySal.DAQSystem.ScanServer), "tcp://" + IPBox.Text + ":" + (int)SySal.DAQSystem.OperaPort.ScanServer + "/ScanServer.rem");
         OpenFileDialog             odlg = new OpenFileDialog();
         odlg.CheckFileExists = true;
         odlg.Filter          = "XML files (*.xml)|*.xml";
         if (odlg.ShowDialog() == DialogResult.OK)
         {
             System.IO.StreamReader r = new System.IO.StreamReader(odlg.FileName);
             string xmlstring         = r.ReadToEnd();
             r.Close();
             MessageBox.Show("Result: " + Srv.SetScanLayout(xmlstring).ToString());
         }
     }
     catch (Exception x)
     {
         MessageBox.Show(x.ToString(), "Error");
     }
 }
Beispiel #2
0
        static void Main(string[] args)
        {
            if (args.Length != 3)
            {
                Console.WriteLine("ListScan: <scanserver address> <zone list file> <XML scanning configuration file>");
                Console.WriteLine("Zone list file syntax: ");
                Console.WriteLine("  Plate line: <brick>,<plate>,<map init string>");
                Console.WriteLine("  Zone line: <id>,<minx>,<maxx>,<miny>,<maxy>,<output name>");
                Console.WriteLine("  Note: first line must be a Plate line ");
                return;
            }
            System.IO.StreamReader r = new System.IO.StreamReader(args[2]);
            string config            = r.ReadToEnd();

            r.Close();

            System.Runtime.Remoting.Channels.ChannelServices.RegisterChannel(new TcpChannel());
            SySal.DAQSystem.ScanServer ScanSrv = (SySal.DAQSystem.ScanServer)System.Runtime.Remoting.RemotingServices.Connect(typeof(SySal.DAQSystem.ScanServer), "tcp://" + args[0] + ":" + ((int)SySal.DAQSystem.OperaPort.ScanServer).ToString() + "/ScanServer.rem");
            ScanSrv.SetScanLayout(config);

            SySal.DAQSystem.Scanning.MountPlateDesc plated = new SySal.DAQSystem.Scanning.MountPlateDesc();
            r = new System.IO.StreamReader(args[1]);

            //	bool isloaded = false;


            string line = r.ReadLine();

            string [] tokens = line.Split(',');
            if (tokens.Length != 3)
            {
                Console.WriteLine("First Line must be a Plate line");
                return;
            }

            do
            {
                tokens = line.Split(',');
                if (!(tokens.Length == 6 || tokens.Length == 3))
                {
                    Console.WriteLine("Plate line must be in the format:\n<brick>,<plate>,<map init string>");
                    Console.WriteLine("Zone line must be in the format:\n<id>,<minx>,<maxx>,<miny>,<maxy>,<output name>");
                    Console.WriteLine("Skipping line: " + line);
                    continue;
                }
                try
                {
                    if (tokens.Length == 3)
                    {
                        plated.BrickId       = Convert.ToInt32(tokens[0]);
                        plated.PlateId       = Convert.ToInt32(tokens[1]);
                        plated.MapInitString = tokens[2];
                        plated.TextDesc      = "";

                        Console.WriteLine("Load Plate: " + plated.PlateId);
                        if (!ScanSrv.LoadPlate(plated))
                        {
                            Console.WriteLine("ERROR: Unable to LOAD PLATE");
                            return;
                        }
                    }
                    else if (tokens.Length == 6)
                    {
                        int    id;
                        double minx, maxx, miny, maxy;
                        id   = Convert.ToInt32(tokens[0]);
                        minx = Convert.ToDouble(tokens[1]);
                        maxx = Convert.ToDouble(tokens[2]);
                        miny = Convert.ToDouble(tokens[3]);
                        maxy = Convert.ToDouble(tokens[4]);
                        Console.WriteLine("  scan zone: " + id + " ( " + minx + ", " + maxx + ", " + miny + ", " + maxx + ", " + minx + ")");
                        SySal.DAQSystem.Scanning.ZoneDesc zd = new SySal.DAQSystem.Scanning.ZoneDesc();
                        zd.Series  = id;
                        zd.MinX    = minx;
                        zd.MaxX    = maxx;
                        zd.MinY    = miny;
                        zd.MaxY    = maxy;
                        zd.Outname = tokens[5];
                        ScanSrv.Scan(zd);
                    }
                }
                catch (Exception x)
                {
                    Console.WriteLine("Error \n" + x.Message + "\nat line: " + line);
                    Console.WriteLine("Line skipped");
                }
            } while ((line = r.ReadLine()) != null && line.Length > 0);

            Console.WriteLine("List scan complete");
        }