예제 #1
0
 public Scanner(IScannerDataDisplay isd)
 {
     S = ScannerSettings.Default;
     {
         System.DateTime lfn = System.DateTime.Now;
         m_LogFileName = S.LogDirectory;
         if (m_LogFileName.EndsWith("\\") == false && m_LogFileName.EndsWith("/") == false)
         {
             m_LogFileName += "\\";
         }
         m_LogFileName += lfn.Year.ToString("D04") + lfn.Month.ToString("D02") + lfn.Day.ToString("D02") + lfn.Hour.ToString("D02") + lfn.Minute.ToString("D02") + lfn.Second.ToString("D02") + ".log";
     }
     m_GeneralTimeSource = new System.Diagnostics.Stopwatch();
     m_GeneralTimeSource.Reset();
     m_GeneralTimeSource.Start();
     m_CameraDisplay = new CameraDisplay();
     m_CameraDisplay.m_DefaultDirectory = S.DataDirectory;
     m_CameraDisplay.iMap = this;
     m_CameraDisplay.Show();
     m_DisplayThread = new System.Threading.Thread(new System.Threading.ThreadStart(CameraDisplayRefresh));
     m_EnableDisplay = false;
     m_DisplayMutex.WaitOne();
     Log(StartStop, "Scanner started");
     m_ScanDataDisplay = isd;
     ApplyMachineSettings();
     EnableAutoRefresh = true;
     m_DisplayThread.Start();
     System.Runtime.Remoting.Channels.ChannelServices.RegisterChannel(new System.Runtime.Remoting.Channels.Tcp.TcpChannel((int)SySal.DAQSystem.OperaPort.ScanServer));
     NSS         = new SySal.DAQSystem.ScanServer();
     NSS.m_Owner = this;
 }
예제 #2
0
        static void Main(string[] args)
        {
            //
            // TODO: Add code to start application here
            //
            ChannelServices.RegisterChannel(new TcpChannel());
            SySal.DAQSystem.ScanServer Srv = (SySal.DAQSystem.ScanServer)RemotingServices.Connect(typeof(SySal.DAQSystem.ScanServer), "tcp://" + args[0] + ":1777/ScanServer.rem");

            do
            {
                string [] data = Console.ReadLine().Split(' ');
                if (data.Length == 9)
                {
                    ZoneDesc zone;
                    zone.Id.Part0 = Convert.ToInt32(data[0]);
                    zone.Id.Part1 = Convert.ToInt32(data[1]);
                    zone.Id.Part2 = Convert.ToInt32(data[2]);
                    zone.Id.Part3 = Convert.ToInt32(data[3]);
                    zone.MinX     = Convert.ToSingle(data[4]);
                    zone.MaxX     = Convert.ToSingle(data[5]);
                    zone.MinY     = Convert.ToSingle(data[6]);
                    zone.MaxY     = Convert.ToSingle(data[7]);
                    zone.Outname  = data[8];
                    Console.WriteLine("ScanResult: {0}", Srv.Scan(zone));
                }
                else if (data.Length == 5)
                {
                    MountPlateDesc plate;
                    plate.Id.Part0 = Convert.ToInt32(data[0]);
                    plate.Id.Part1 = Convert.ToInt32(data[1]);
                    plate.Id.Part2 = Convert.ToInt32(data[2]);
                    plate.Id.Part3 = Convert.ToInt32(data[3]);
                    plate.TextDesc = data[4];
                    Console.WriteLine("LoadPlateResult: {0}", Srv.LoadPlate(plate));
                }
                else if (data.Length == 1)
                {
                    Console.WriteLine("UnloadPlateResult: {0}", Srv.UnloadPlate());
                }
                else
                {
                    Console.WriteLine("Unknown command");
                }
            }while (true);
        }