Exemple #1
0
        public bool GoHome()
        {
            bool res = false;

            myMgr.WriteIOOut((ushort)OutputIOlist.RotaryEnabled, false);
            Thread.Sleep(300);

            myMgr.WriteIOOut((ushort)OutputIOlist.RotaryEnabled, true);
            Thread.Sleep(300);
            //bool val = myMgr.ReadIOOut((ushort)OutputIOlist.RotaryEnabled); //Not Enabled

            //if (!val)
            //    return res;

            if ((myMgr.GetPos((ushort)Axislist.Mod1YAxis) > 2) || (myMgr.GetPos((ushort)Axislist.Mod2YAxis) > 2))
            {
                return(res);
            }

            bool val = myMgr.ReadIOIn((ushort)InputIOlist.RotaryError); //Not Enabled

            if (!val)
            {
                return(res);
            }
            if ((!myMgr.ReadIOIn((ushort)InputIOlist.SafetySensor)) && (!myMgr.ReadIOIn((ushort)InputIOlist.BtnStop)))
            {
                if (Para.DisableSafeDoor)
                {
                    myMgr.WriteIOOut((ushort)OutputIOlist.RotaryHome, true);
                    Thread.Sleep(100);
                    myMgr.WriteIOOut((ushort)OutputIOlist.RotaryHome, false);
                    Thread.Sleep(1000);
                }
                else
                {
                    if (myMgr.ReadIOIn((ushort)InputIOlist.DoorSensor))
                    {
                        myMgr.WriteIOOut((ushort)OutputIOlist.RotaryHome, true);
                        Thread.Sleep(100);
                        myMgr.WriteIOOut((ushort)OutputIOlist.RotaryHome, false);
                        Thread.Sleep(1000);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }
            else
            {
                //MessageBox.Show("SafeSenser Is Touched");
                return(false);
            }

            DateTime st_time = DateTime.Now;
            TimeSpan time_span;

            while (!myMgr.ReadIOIn((ushort)InputIOlist.RotaryOrigin))
            {
                Thread.Sleep(10);
                Application.DoEvents();

                if (!Para.DisableSafeDoor)
                {
                    if (!myMgr.ReadIOIn((ushort)InputIOlist.DoorSensor))
                    {
                        myMgr.WriteIOOut((ushort)OutputIOlist.RotaryStop, true);
                        //myMgr.WriteIOOut((ushort)OutputIOlist.RotaryEnabled, false);
                        Thread.Sleep(200);
                        myMgr.WriteIOOut((ushort)OutputIOlist.RotaryStop, false);
                        Thread.Sleep(100);
                        myMgr.WriteIOOut((ushort)OutputIOlist.RotaryEnabled, false);
                        return(false);
                    }
                }


                if ((myMgr.ReadIOIn((ushort)InputIOlist.SafetySensor)) || (myMgr.ReadIOIn((ushort)InputIOlist.BtnStop)))
                {
                    //if (Para.DisableSafeDoor)
                    //{
                    myMgr.WriteIOOut((ushort)OutputIOlist.RotaryStop, true);
                    //myMgr.WriteIOOut((ushort)OutputIOlist.RotaryEnabled, false);
                    Thread.Sleep(200);
                    myMgr.WriteIOOut((ushort)OutputIOlist.RotaryStop, false);
                    Thread.Sleep(100);
                    myMgr.WriteIOOut((ushort)OutputIOlist.RotaryEnabled, false);
                    return(false);
                    //}
                    //else
                    //{
                    //    if (!myMgr.ReadIOIn((ushort)InputIOlist.DoorSensor))
                    //    {
                    //        myMgr.WriteIOOut((ushort)OutputIOlist.RotaryStop, true);
                    //        //myMgr.WriteIOOut((ushort)OutputIOlist.RotaryEnabled, false);
                    //        Thread.Sleep(200);
                    //        myMgr.WriteIOOut((ushort)OutputIOlist.RotaryStop, false);
                    //        Thread.Sleep(100);
                    //        myMgr.WriteIOOut((ushort)OutputIOlist.RotaryEnabled, false);
                    //        return false;
                    //    }
                    //}
                }

                time_span = DateTime.Now - st_time;
                if (time_span.TotalMilliseconds > 10000)
                {
                    return(false);
                }
            }
            res = true;
            Para.CurrentRotaryIndex = 0;
            Para.isRotaryAt45       = false;
            return(res);
        }
Exemple #2
0
        private void GreenLampBtn_Click(object sender, EventArgs e)
        {
            bool val = myMgr.ReadIOOut((ushort)OutputIOlist.LampGreen);

            myMgr.WriteIOOut((ushort)OutputIOlist.LampGreen, !val);
        }