Beispiel #1
0
        private void JPTimer_Tick(object sender, EventArgs e)
        {
            curPosEB.Text = myMgr.GetPos((ushort)myAxis).ToString("0.000");

            //PEL
            if (!myMgr.PEL((ushort)myAxis))
            {
                if (PelLbl.BackColor != Color.Black)
                {
                    PelLbl.BackColor = Color.Black;
                }
            }
            else
            {
                if (PelLbl.BackColor != Color.Red)
                {
                    PelLbl.BackColor = Color.Red;
                }
            }
            //NEL
            if (!myMgr.NEL((ushort)myAxis))
            {
                if (NelLbl.BackColor != Color.Black)
                {
                    NelLbl.BackColor = Color.Black;
                }
            }
            else
            {
                if (NelLbl.BackColor != Color.Red)
                {
                    NelLbl.BackColor = Color.Red;
                }
            }
        }
Beispiel #2
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);
        }