예제 #1
0
        public void Start(string zone)
        {
            DataSet ds = dal.GetEquipmentInfo(plcNumber, zone);

            if (ds != null && ds.Tables[0].Rows.Count > 0)
            {
                DataTable dt = ds.Tables[0];
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    //初始化Gensong堆垛机列表
                    if (dt.Rows[i]["equipmenttype"].ToString() == "SC" && dt.Rows[i]["equipmentfactory"].ToString() == "GenSong")
                    {
                        AddSRM(dt.Rows[i]["equipmentname"].ToString(), dt.Rows[i]["equipmentid"].ToString(), int.Parse(dt.Rows[i]["equipmentport"].ToString()), int.Parse(dt.Rows[i]["equipmentaisle"].ToString()), dt.Rows[i]["equipmentfield3"].ToString(), dt.Rows[i]["equipmentfield4"].ToString());
                    }
                }
                foreach (CRNObject co in CRNOBList)
                {
                    ((GenSongSRM)co.BllSrm).ENotifyTypeEventHandler += new DNotifyType(BllSrm_ENotifyTypeEventHandler);
                    ((GenSongSRM)co.BllSrm).ENotify += new GenSongSRM.Notify(BllSrm_ENotify);
                    co.connectstatus = ((GenSongSRM)co.BllSrm).Run();
                    System.Threading.Thread.Sleep(5000);//miniload sleep
                }
                if (CRNOBList.Count > 0)
                {
                    //TaskThread = new Thread(new ThreadStart(TimeScan));
                    TaskThread = new Thread(new ParameterizedThreadStart(TimeScan));
                    TaskThread.IsBackground = true;
                    //TaskThread.Start();
                    TaskThread.Start(zone);
                }
                if (File.Exists(".\\SCAlarm.txt"))
                {
                    FileStream   fs      = new FileStream(".\\SCAlarm.txt", FileMode.Open, FileAccess.Read);
                    StreamReader sr      = new StreamReader(fs);
                    string       strline = sr.ReadToEnd();
                    string[]     msg     = strline.Split(new char[] { ';' });
                    string[]     msg2;
                    for (int i = 0; i < msg.Length; i++)
                    {
                        msg2 = msg[i].Split(new char[] { ',' });
                        if (!AlarmHash.Contains(msg2[0]) && msg2.Length > 1)
                        {
                            AlarmHash.Add(msg2[0], msg2[1]);
                        }
                    }
                }
            }
        }
예제 #2
0
        public void Start(string zone)
        {
            DataSet ds = dal.GetEquipmentInfoB(zone);

            if (ds != null)
            {
                DataTable dt = ds.Tables[0];
                if (dt.Rows.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        if (dt.Rows[i]["equipmenttype"].ToString() == "SC" && dt.Rows[i]["equipmentfactory"].ToString() == "DAMBACH")
                        {
                            AddSRM(dt.Rows[i]["equipmentname"].ToString(), dt.Rows[i]["equipmentid"].ToString(), int.Parse(dt.Rows[i]["equipmentport"].ToString()), int.Parse(dt.Rows[i]["equipmentaisle"].ToString()));
                        }
                    }
                    foreach (CRCObjectB co in crclistB)
                    {
                        co.BllSrm.ENotifyTypeEventHandler += new DNotifyTypeB(BllSrm_ENotifyTypeEventHandler);
                        co.BllSrm.ENotify += new BLLSRMB.Notify(BllSrm_ENotify);
                        co.connectstatus   = co.BllSrm.Run();
                        System.Threading.Thread.Sleep(100);
                    }
                    if (crclist.Count > 0)
                    {
                        TaskThread = new Thread(new ThreadStart(TimeScan));
                        TaskThread.Start();
                    }
                    if (File.Exists(".\\SCAlarm.txt"))
                    {
                        FileStream   fs      = new FileStream(".\\SCAlarm.txt", FileMode.Open, FileAccess.Read);
                        StreamReader sr      = new StreamReader(fs);
                        string       strline = sr.ReadToEnd();
                        string[]     msg     = strline.Split(new char[] { ';' });
                        string[]     msg2;
                        for (int i = 0; i < msg.Length; i++)
                        {
                            msg2 = msg[i].Split(new char[] { ',' });
                            if (!AlarmHash.Contains(msg2[0]) && msg2.Length > 1)
                            {
                                AlarmHash.Add(msg2[0], msg2[1]);
                            }
                        }
                    }
                }
            }
        }