/// <summary> /// Inicializa inyección de dependencias por medio del proyecto InjectionMachine. /// </summary> /// <param name="services"></param> public static void ConfigureServices(IServiceCollection services) { InjectionMachine.AddRegistration(services); }
private void theout(object sender, System.Timers.ElapsedEventArgs e) { SetValue(HXOpc.itemsValue[27][1]); if (Interlocked.Exchange(ref timeThreadRunFlag, 1) == 0) { DateTime cycleStartTime = System.DateTime.Now; DateTime cycleEndTime; TimeSpan ts; lock (locker) { ConnectionOption.checkConnections(listConn); foreach (ConnectionOption item in listConn) { if (!lastQualityDataCountDic.ContainsKey(item.machineID)) { lastQualityDataCountDic.Add(item.machineID, -1); } DateTime connStartTime = System.DateTime.Now; (new IMDataBase()).writeConnToDataBase(item); if (item.controllerType.IndexOf("gefran") != -1 && item.connStatus == "1") { // new DataCapture().getFilesFromGefran(item.loginName, item.loginPassword, @"ftp://" + item.IP + @"/gefran/recipes/", Application.StartupPath + @"\data\" + item.controllerType, item.machineID + ".zip"); JObject jo = ObjectAnalysis.analyseGefranFile(Application.StartupPath + @"\data\" + item.controllerType, item.machineID + ".txt", 0, item.controllerType); //DateTime connEndTime = System.DateTime.Now; //ts = connEndTime.Subtract(connStartTime); //jo["sampleTime"] = ts.TotalMilliseconds.ToString().Remove(ts.TotalMilliseconds.ToString().IndexOf('.') + 2); //Console.WriteLine("{0}耗时{1}ms.", item.machineID, ts.TotalMilliseconds); string data = ""; if (item.controllerType == "gefranVedo") { string qualityData = ""; string qualityDataCount = jo["overView"]["TOTPR"][1].ToString(); (new InjectionMachine()).convertedFromGefranVedo(jo, ref data); InjectionMachine.getQualityDataFromGefranVedo(jo, ref qualityData); if (Int32.Parse(qualityDataCount) != lastQualityDataCountDic[item.machineID]) { lastQualityDataCountDic[item.machineID] = Int32.Parse(qualityDataCount); InjectionMachine.getQualityDataFromGefranVedo(jo, ref qualityData); (new IMDataBase()).writeQualityDataToDB(IMDataBase.connStr, item.machineID, qualityDataCount, qualityData); } } else { string qualityData = ""; string qualityDataCount = jo["overView"]["CURRENT_TOTAL_PRODUCTION"][1].ToString(); (new InjectionMachine()).convertedFromGefranPerforma(jo, ref data); //InjectionMachine.getQualityDataFromGefranPerforma(jo, ref qualityData); if (Int32.Parse(qualityDataCount) != lastQualityDataCountDic[item.machineID]) { lastQualityDataCountDic[item.machineID] = Int32.Parse(qualityDataCount); InjectionMachine.getQualityDataFromGefranPerforma(jo, ref qualityData); (new IMDataBase()).writeQualityDataToDB(IMDataBase.connStr, item.machineID, qualityDataCount, qualityData); } } (new IMDataBase()).writeDataBase(IMDataBase.connStr, item.machineID, data); } else if (item.controllerType.IndexOf("keba") != -1 && item.connStatus == "1") { string kebaData = ""; try { StreamReader sr = new StreamReader(@"c:\data\" + item.controllerType + @"\" + item.machineID + ".txt"); if (sr != null) { kebaData = sr.ReadToEnd(); sr.Close(); // kebaData = kebaData.Replace("Mold1", "clamp"); // kebaData = kebaData.Replace("Ejector1", "ejector"); // kebaData = kebaData.Replace("Injection1", "injection"); //kebaData.Replace("Carrage", "carrage"); // kebaData = kebaData.Replace("Core1", "core"); kebaData = kebaData.Replace("Unknown", "\"Unknown\""); kebaData = kebaData.Replace("---", "\"---\""); Console.Write(item.machineID); var joTmp = JsonConvert.DeserializeObject(kebaData); if (joTmp != null) { JObject jo = (JObject)joTmp; // DateTime connEndTime = System.DateTime.Now; // ts = connEndTime.Subtract(connStartTime); jo.Add("sampleTime", ""); jo.Add("timestamp", System.DateTime.Now.ToString()); jo.Add("machineID", item.machineID); // jo["sampleTime"] = ts.TotalMilliseconds.ToString().Remove(ts.TotalMilliseconds.ToString().IndexOf('.') + 2); //jo["timestamp"] = System.DateTime.Now.ToString(); InjectionMachine macWithKeba = new InjectionMachine(); string machineData = ""; macWithKeba.convertedFromKeba(jo, ref machineData); //kebaData = JsonConvert.SerializeObject(new InjectionMachineWithGefran()); string qualityData = ""; string qualityDataCount = jo["system.sv_iShotCounterAct"][1].ToString(); if (lastQualityDataCountDic[item.machineID] == -1) { lastQualityDataCountDic[item.machineID] = Int32.Parse(qualityDataCount); } else if (Int32.Parse(qualityDataCount) != lastQualityDataCountDic[item.machineID]) { lastQualityDataCountDic[item.machineID] = Int32.Parse(qualityDataCount); InjectionMachine.getQualityDataFromKeba(jo, ref qualityData); (new IMDataBase()).writeQualityDataToDB(IMDataBase.connStr, item.machineID, qualityDataCount, qualityData); } (new IMDataBase()).writeDataBase(IMDataBase.connStr, item.machineID, machineData); } } } catch (ArgumentException k) { Console.WriteLine("me"); Console.WriteLine(k); } catch (Exception k) { Console.WriteLine("others"); } // DateTime connEndTime = System.DateTime.Now; // ts = connEndTime.Subtract(connStartTime); //Console.WriteLine(ts); } } } Console.WriteLine("fast"); cycleEndTime = System.DateTime.Now; ts = cycleEndTime.Subtract(cycleStartTime); Console.WriteLine("循环耗时{0}ms.", ts.TotalMilliseconds); Interlocked.Exchange(ref timeThreadRunFlag, 0); } }