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; }
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); }