private Manager()
 {
     stationList     = new List <sATS_Data>();
     aConfig         = new sConfig();
     sourceDataCache = new Queue <byte[]>();
     start();
 }
        private void InitLib()
        {
            configLib = new Config();
            aConfig   = configLib.getConfigObj();

            atsLib = new ATSSend(aConfig.switchBetweenChineseAndEnglis);
            atsLib.initATSLib(aConfig.sendIP, aConfig.sendPort, 30, aConfig.pisServerIP1, aConfig.pisServerPort1);

            logicLib         = new Logic(aConfig.confgStationList.Count);
            communicationLib = new communication();
            if (!communicationLib.StarSevice(aConfig.atsServerPort1, aConfig.atsServerIP1, 4096 * 2, 0))
            {
                // 如果备也连接失败开户定时器每隔2秒重连
                // 实例化Timer类,设置间隔时间为10000毫秒;
                if (connectTimer == null)
                {
                    connectTimer = new System.Timers.Timer(5000);
                    // 到达时间的时候执行事件 获取中央ATS-列车状态;
                    connectTimer.Elapsed += new System.Timers.ElapsedEventHandler(reConnectServer);
                    // 设置是执行一次(false)还是一直执行(true);
                    connectTimer.AutoReset = true;
                    // 是否执行System.Timers.Timer.Elapsed事件;
                    connectTimer.Enabled = true;
                }
            }
            communicationLib.recvCommChanged   += CommunicationLib_recvCommChanged;
            communicationLib.disConnectChanged += CommunicationLib_disConnectChanged;

            // 处理数据线程
            Thread dataThread = new Thread(new ParameterizedThreadStart(logicDataThread));

            dataThread.Start((Object)this);
        }
Ejemplo n.º 3
0
 static void OnHaveFoundMini(sConfig c)
 {
     Console.WriteLine($"{DateTime.Now} Have found Mini:\n{c.ToString()}");
 }
Ejemplo n.º 4
0
 public Config()
 {
     aConfig = new sConfig();
     LoadDataFromExcel("ATS.xlsx");
 }