Ejemplo n.º 1
0
 /// <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);
 }
Ejemplo n.º 2
0
        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);
            }
        }