Esempio n. 1
0
            public override bool Execute()
            {
                Console.WriteLine();
                Console.Write(LineNumber + "->" + StrLoadPlate + "->");
                SySal.DAQSystem.Scanning.MountPlateDesc desc = new SySal.DAQSystem.Scanning.MountPlateDesc();
                desc.BrickId       = Brick;
                desc.PlateId       = Plate;
                desc.TextDesc      = Desc;
                desc.MapInitString = Marks;
                bool load = ScanSrv.LoadPlate(desc);

                Console.Write(load);
                return(load);
            }
Esempio n. 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");
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            //
            // TODO: Add code to start application here
            //
            if (args.Length != 3)
            {
                Console.WriteLine("usage: filebatch <serveraddress> <inputfile> <outputfile>");
                return;
            }
            ChannelServices.RegisterChannel(new TcpChannel());
            SySal.DAQSystem.ScanServer Srv = (SySal.DAQSystem.ScanServer)RemotingServices.Connect(typeof(SySal.DAQSystem.ScanServer), "tcp://" + args[0] + ":" + ((int)(SySal.DAQSystem.OperaPort.ScanServer)).ToString() + "/ScanServer.rem");

            System.IO.StreamReader r = new System.IO.StreamReader(args[1]);
            System.IO.StreamWriter w = new System.IO.StreamWriter(args[2]);
            w.AutoFlush = true;

            int count = 0;

            try
            {
                string [] data = r.ReadLine().Split(' ');
                if (data.Length != 5)
                {
                    throw new Exception("Invalid header");
                }

                SySal.DAQSystem.Scanning.MountPlateDesc mpd = new SySal.DAQSystem.Scanning.MountPlateDesc();
                mpd.Id.Part0      = Convert.ToInt32(data[0]);
                mpd.Id.Part1      = Convert.ToInt32(data[1]);
                mpd.Id.Part2      = Convert.ToInt32(data[2]);
                mpd.Id.Part3      = Convert.ToInt32(data[3]);
                mpd.TextDesc      = data[4];
                mpd.MapInitString = r.ReadLine();
                bool ret;
                w.WriteLine("LoadPlate: {0} {1} {2} {3} {4} - Result: {5}", data[0], data[1], data[2], data[3], data[4], (ret = Srv.LoadPlate(mpd)));
                if (ret == false)
                {
                    throw new Exception("Plate not loaded");
                }
                while (true)
                {
                    string line;
                    line = r.ReadLine();
                    if (line == null)
                    {
                        break;
                    }
                    data = line.Split(' ');
                    if (data.Length != 9)
                    {
                        throw new Exception("Invalid prediction");
                    }

                    SySal.DAQSystem.Scanning.ZoneDesc zd = new SySal.DAQSystem.Scanning.ZoneDesc();

                    zd.Id.Part0 = Convert.ToInt32(data[0]);
                    zd.Id.Part1 = Convert.ToInt32(data[1]);
                    zd.Id.Part2 = Convert.ToInt32(data[2]);
                    zd.Id.Part3 = Convert.ToInt32(data[3]);
                    zd.MinX     = Convert.ToSingle(data[4]);
                    zd.MaxX     = Convert.ToSingle(data[5]);
                    zd.MinY     = Convert.ToSingle(data[6]);
                    zd.MaxY     = Convert.ToSingle(data[7]);
                    zd.Outname  = data[8];
                    w.WriteLine("Scan: {0} {1} {2} {3} {4} {5} {6} {7} {8} - Result: {9} - at {10}",
                                data[0], data[1], data[2], data[3], data[4], data[5], data[6], data[7], data[8],
                                Srv.Scan(zd), System.DateTime.Now);
                    Console.WriteLine("Prediction {0} complete", ++count);
                }
                w.WriteLine("UnloadPlate: - Result: {0}", Srv.UnloadPlate());
            }
            catch (Exception x)
            {
                w.WriteLine("Batch Interrupted at {0}", System.DateTime.Now);
                w.WriteLine("Reason: {0}", x.Message);
                w.WriteLine("Details: {0}", x.ToString());
            }
            Console.WriteLine("Batch finished");
            w.Close();
            r.Close();
        }