DUOStoreBean_RaiseStation.cs 3.6 KB
using OnlineStore.LoadCSVLibrary;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OnlineStore.DeviceLibrary
{
    partial class DUOStoreBean
    {
        /// <summary>
        /// 进出滚筒往内
        /// </summary>
        public void InOutStation_GoIn()
        {
            IOMove(IO_Type.RaiseStation_GoOut, IO_VALUE.LOW);
            IOMove(IO_Type.RaiseStation_GoOut1, IO_VALUE.LOW);
            IOMove(IO_Type.RaiseStation_GoIn, IO_VALUE.HIGH);
            IOMove(IO_Type.RaiseStation_GoIn1, IO_VALUE.HIGH);
            
            MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.RaiseStation_FrontCheck, IO_VALUE.HIGH));
            MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.RaiseStation_BackendCheck, IO_VALUE.HIGH));
        }
        /// <summary>
        /// 进出滚筒停止
        /// </summary>
        public void InOutStation_Stop(int delay = 0)
        {
            var t = Task.Run(()=> {
                if (delay > 0)
                {
                    Task.Delay(delay).Wait();
                }
                IOMove(IO_Type.RaiseStation_GoIn, IO_VALUE.LOW);
                IOMove(IO_Type.RaiseStation_GoIn1, IO_VALUE.LOW);
                IOMove(IO_Type.RaiseStation_GoOut, IO_VALUE.LOW);
                IOMove(IO_Type.RaiseStation_GoOut1, IO_VALUE.LOW);
            });
            if (delay == 0)
                t.Wait();
            
        }
        /// <summary>
        /// 提升工位定位销上升
        /// </summary>
        public void InOutStation_LocationUp()
        {
            IOMove(IO_Type.RaiseStation_LocationDown, IO_VALUE.LOW);
            IOMove(IO_Type.RaiseStation_LocationUp, IO_VALUE.HIGH);            
            MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.RaiseStation_UpLocation1, IO_VALUE.HIGH));
            MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.RaiseStation_UpLocation2, IO_VALUE.HIGH));
        }
        /// <summary>
        /// 进出滚筒往外
        /// </summary>
        public void InOutStation_GoOut()
        {
            IOMove(IO_Type.RaiseStation_GoIn, IO_VALUE.LOW);
            IOMove(IO_Type.RaiseStation_GoIn1, IO_VALUE.LOW);
            IOMove(IO_Type.RaiseStation_GoOut, IO_VALUE.HIGH);
            IOMove(IO_Type.RaiseStation_GoOut1, IO_VALUE.HIGH);

            MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.RaiseStation_FrontCheck, IO_VALUE.LOW));
            MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.RaiseStation_BackendCheck, IO_VALUE.LOW));
            MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Line_SideCheck, IO_VALUE.HIGH));
        }
        /// <summary>
        /// 提升工位定位销下降
        /// </summary>
        public void InOutStation_LocationDown()
        {
            IOMove(IO_Type.RaiseStation_LocationUp, IO_VALUE.LOW);
            IOMove(IO_Type.RaiseStation_LocationDown, IO_VALUE.HIGH);

            MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.RaiseStation_DownLocation1, IO_VALUE.HIGH));
            MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.RaiseStation_DownLocation2, IO_VALUE.HIGH));
        }
        /// <summary>
        /// 进出提升机构提升
        /// </summary>
        public void InOutStation_RasieUp()
        {
            CylinderMove(MoveInfo, IO_Type.TopCylinder_Down, IO_Type.TopCylinder_Up);
        }
        /// <summary>
        /// 进出提升机构下降
        /// </summary>
        public void InOutStation_RasieDown()
        {
            CylinderMove(MoveInfo, IO_Type.TopCylinder_Up, IO_Type.TopCylinder_Down);
        }
    }
}