FeedingEquip_Partial.cs 12.7 KB
using OnlineStore.Common;
using OnlineStore.LoadCSVLibrary;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OnlineStore.DeviceLibrary
{
    partial class FeedingEquip
    {
        public override void StartInStoreMove(InOutParam param)
        {
            throw new NotImplementedException();
        }
        protected override void InStoreProcess()
        {

            if (MoveInfo.IsInWait)
            {
                CheckWait(MoveInfo);
            }
            if (MoveInfo.IsInWait)
            {
                return;
            }
        }
//            if (MoveInfo.MoveStep.Equals(LineMoveStep.AUTO_I01_Wait))
//            {
//                MoveInfo.NextMoveStep(LineMoveStep.AUTO_I02_MoveToUp);
//                if (IOManager.IOValue(IO_Type.TrayCheck_LoadMaterial).Equals(IO_VALUE.HIGH))
//                {
//                    LogUtil.info(Name + " 入料 ,已检测到料盘,轴不需要上升");
//                }
//                else
//                {
//                    LogUtil.info(Name + " 入料 ,轴上升到检测到料盘,速度【" + Config.Batch_Axis.TargetSpeed + "】");
//                    ACAxisSpeedMove(Config.Batch_Axis, Config.Batch_Axis.TargetSpeed, IO_Type.TrayCheck_LoadMaterial);
//                }
//            }
//            else if (MoveInfo.MoveStep.Equals(LineMoveStep.AUTO_I02_MoveToUp))
//            {
//                IsNeedScanCode();
//            }
//            else if (MoveInfo.MoveStep.Equals(LineMoveStep.AUTO_I03_ScanCode))
//            {
//                MoveInfo.NextMoveStep(LineMoveStep.AUTO_I04_SuckingDisc_Down);
//                LogUtil.info(Name + "入料: 扫码结束,二维码【" + LastCode + "】 吸盘开始下降");
//                CylinderMove(IO_Type.ClampingDisc_Down, IO_Type.ClampingDisc_Up, true);
//            }
//            else if (MoveInfo.MoveStep.Equals(LineMoveStep.AUTO_I04_SuckingDisc_Down))
//            {
//                SuckingDiscWork();
//            }
//            else if (MoveInfo.MoveStep.Equals(LineMoveStep.AUTO_I05_SuckingDisc_Work))
//            {
//                //   if (IOManager.IOValue(IO_Type.SuckingDisc_Air).Equals(IO_VALUE.HIGH))

//                if (IOManager.IOValue(IO_Type.Clamping_Work).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IO_Type.Clamping_Relax).Equals(IO_VALUE.LOW))
//                {
//                    MoveInfo.NextMoveStep(LineMoveStep.AUTO_I06_SuckingDisc_Up);

//                    LogUtil.info(Name + "入料: 吸盘上升");
//                    CylinderMove(IO_Type.ClampingDisc_Up, IO_Type.ClampingDisc_Down, false);
//                    MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.ClampingDisc_Down, IO_VALUE.LOW));
//                    MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1500));

//                }
//                else if (SuckingDisc_WorkCount < 3)
//                {
//                    SuckingDiscWork();
//                }
//                else
//                {
//                    //TODO 报警
//                    //WarnMsg = ResourceControl.GetString(ResourceControl.XiLiaoError, "吸盘吸料失败");
//                    SetWarnMsg(ResourceControl.XiLiaoError);
//                    StoreManager.Store.Alarm(StoreAlarmType.BatchAlarm, WarnObj.WarnMsg, WarnObj.WarnMsg, StoreMoveType.InStore);
//                    LogUtil.error(WarnObj.WarnMsg, 103);
//                }
//            }
//            else if (MoveInfo.MoveStep.Equals(LineMoveStep.AUTO_I06_SuckingDisc_Up))
//            {
//                if (IOManager.IOValue(IO_Type.Clamping_Work).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IO_Type.Clamping_Relax).Equals(IO_VALUE.LOW))
//                //     if (IOManager.IOValue(IO_Type.SuckingDisc_Air).Equals(IO_VALUE.HIGH))
//                {
//                    MoveInfo.NextMoveStep(LineMoveStep.AUTO_I07_BatchAxisUp);
//                    LogUtil.info(Name + "入料: 批量轴匀速上升【" + Config.BatchAxis_SlowSpeed + "】");
//                    ACAxisSpeedMove(Config.Batch_Axis, Config.BatchAxis_SlowSpeed, IO_Type.TrayCheck_LoadMaterial);
//                    CylinderMove(IO_Type.ClampingDisc_Up, IO_Type.ClampingDisc_Down, true);
//                    if (Config.Default_TrayWidth.Equals(7))
//                    {
//                        MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.WidthCheck1, IO_VALUE.HIGH));
//                        MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.WidthCheck2, IO_VALUE.LOW));
//                    }
//                    else if (Config.Default_TrayWidth.Equals(13))
//                    {
//                        MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.WidthCheck1, IO_VALUE.HIGH));
//                        MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.WidthCheck2, IO_VALUE.HIGH));
//                    }
//                    else if (Config.Default_TrayWidth.Equals(0))
//                    {

//                    }
//                }
//                else
//                {
//                    // WarnMsg = ResourceControl.GetString(ResourceControl.XiLiaoError, "吸盘吸料失败");
//                    SetWarnMsg(ResourceControl.XiLiaoError);
//                    StoreManager.Store.Alarm(StoreAlarmType.BatchAlarm, WarnObj.WarnMsg, WarnObj.WarnMsg, StoreMoveType.InStore);
//                    LogUtil.error(Name + "入料: 吸盘上升后未检测到吸盘压力信号,吸取料盘失败", 105);
//                }
//            }
//            else if (MoveInfo.MoveStep.Equals(LineMoveStep.AUTO_I07_BatchAxisUp))
//            {
//                // if (IOManager.IOValue(IO_Type.SuckingDisc_Air).Equals(IO_VALUE.HIGH))
//                if (IOManager.IOValue(IO_Type.Clamping_Work).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IO_Type.Clamping_Relax).Equals(IO_VALUE.LOW))
//                {
//                    TimeSpan span = DateTime.Now - MoveInfo.LastSetpTime;

//                    //需要判断入库超时
//                    if (StoreManager.Store.CanStarInOut())
//                    {
//                        LastWidth = Config.Default_TrayWidth;
//                        if (LastWidth.Equals(0))
//                        {
//                            //料盘检测2亮为13寸盘,其他都认为是7寸盘
//                            if (IOManager.IOValue(IO_Type.WidthCheck2).Equals(IO_VALUE.HIGH))
//                            {
//                                LastWidth = 13;
//                            }
//                            else
//                            {
//                                LastWidth = 7;
//                            }
//                        }
//                        LastHeight = GetHeight();
//                        BatchInStoreCount++;
//                        BatchInStoreHeight += LastHeight;

//                        if (LastCode.Equals(""))
//                        {
//                            LogUtil.info(Name + "入料: 未扫到二维码尺寸:【" + LastWidth + "*" + LastHeight + "】,将料盘送出,等待料盘拿走");
//                            SendTrayOut();
//                        }
//                        else
//                        {
//                            MoveInfo.NextMoveStep(LineMoveStep.AUTO_I08_GetPosId);

//                            LogUtil.debug(Name + "入料: 从服务器获取入库PosId,尺寸:【" + LastWidth + "*" + LastHeight + "】二维码【" + LastCode + "】");

//                            GetInStorePosId(ProcessMsg());
//                            MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000));
//                        }
//                    }
//                    else if (span.TotalSeconds > 60)
//                    {
//                        StoreManager.Store.LoguStatus();
//                        //一分钟还未开始,报警超时
//                        //  WarnMsg = "[" + MoveInfo.MoveStep + "]" + ResourceControl.GetString(ResourceControl.TimeOut, "超时") + "[等待可以入库][" + Math.Round(span.TotalSeconds, 0) + "秒]";
//                        SetWarnMsg(ResourceControl.WaitInstoreTimeOut, MoveInfo.MoveStep + "", Math.Round(span.TotalSeconds, 0) + "");
//                        LogUtil.error(WarnObj.WarnMsg, 105);
//                        StoreManager.Store.Alarm(StoreAlarmType.BatchIoTimeOut, "", WarnObj.WarnMsg, MoveInfo.MoveType);
//                    }
//                }
//                else
//                {
//                    //WarnMsg = ResourceControl.GetString(ResourceControl.XiLiaoError, "吸盘吸料失败");
//                    SetWarnMsg(ResourceControl.XiLiaoError);
//                    StoreManager.Store.Alarm(StoreAlarmType.BatchAlarm, ResourceControl.GetString(ResourceControl.XiLiaoError, "吸盘吸料失败"), WarnObj.WarnMsg, StoreMoveType.InStore);
//                    LogUtil.error(Name + "入料: 吸盘上升后未检测到吸盘压力信号,吸取料盘失败", 105);
//                }
//            }
//            else if (MoveInfo.MoveStep.Equals(LineMoveStep.AUTO_I08_GetPosId))
//            {
//                //判断是否开始入库
//                if (StoreManager.Store.MoveInfo.MoveType.Equals(StoreMoveType.InStore) || (!LastPosId.Equals("")))
//                {
//                    MoveInfo.NextMoveStep(LineMoveStep.AUTO_I09_WaitTrayLeave);
//                    LogUtil.info(Name + "入料: 开始入库【" + LastPosId + "】,等待料盘拿走");
//                    //MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SuckingDisc_Air, IO_VALUE.LOW));
//                    MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Clamping_Relax, IO_VALUE.HIGH));
//                    MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Clamping_Work, IO_VALUE.LOW));
//                }
//                else
//                {
//                    LogUtil.info(Name + "入料:  入库失败,尺寸:【" + LastWidth + "*" + LastHeight + "】将料盘送出,等待料盘拿走");
//                    SendTrayOut();
//                }
//            }
//            else if (MoveInfo.MoveStep.Equals(LineMoveStep.AUTO_I09_WaitTrayLeave))
//            {
//                if (StoreManager.Store.MoveInfo.MoveType.Equals(StoreMoveType.None) ||
//                   (StoreManager.Store.MoveInfo.IsNeedInStore && StoreManager.Store.MoveInfo.MoveStep >= LineMoveStep.SI_09_MoveToBag))
//                {
//                    IsNeedScanCode();
//                }
//            }
//            else if (MoveInfo.MoveStep.Equals(LineMoveStep.AUTO_I10_WaitTrayGo))
//            {
//                if (StoreManager.Store.CanStarInOut())
//                {
//                    IsNeedScanCode();
//                }
//            }
//            else if (MoveInfo.MoveStep.Equals(LineMoveStep.AUTO_I11_BatchAxisHome))
//            {
//                //TODO 
//                LogUtil.info(Name + "入料:已经没有料盘,批量上料结束");
//                MoveInfo.EndMove();
//                AutoBaitingStatus = StoreRunStatus.Runing;
//            }
//            else
//            {
//                LogUtil.error(Name + "未找到步骤:" + MoveInfo.MoveType);
//            }

//        } }
//        private static int GetHeight()
//{
//    //计算高度
//    EndMovePosition = ACServerManager.GetActualtPosition(Config.Batch_Axis);
//    if (EndMovePosition.Equals(-1))
//    {
//        EndMovePosition = ACServerManager.GetActualtPosition(Config.Batch_Axis);
//    }
//    LastHeight = (int)Math.Ceiling(1F * (EndMovePosition - StartMovePosition) / AxisChangeValue);
//    int addHeight = 0;
//    //如果检测信号未亮,极限亮了,需要补充高
//    if (IOManager.IOValue(IO_Type.TrayCheck_LoadMaterial).Equals(IO_VALUE.LOW))
//    {
//        addHeight = Config.LastTrayAddHeight;
//    }
//    LastHeight += addHeight;
//    string msg = Name + " 计算盘高:上升前【" + StartMovePosition + "】实时【" + EndMovePosition + "】补充【" + addHeight + "】计算后【" + LastHeight + "】";
//    if (LastHeight < 0)
//    {
//        LastHeight = Config.GetDefaultHeight();
//    }
//    if (Config.Default_TrayWidth.Equals(7))
//    {
//        //高度=8的料盘容易被测成12的,判断如果计算的高度<12都认为是8mm,
//        if (LastHeight >= 20)
//        {
//            LastHeight = 24;
//        }
//        else if (LastHeight >= 12)
//        {
//            LastHeight = 12;
//        }
//        else
//        {
//            LastHeight = 8;
//        }
//    }
//    else
//    {
//        if (LastHeight <= 8) { LastHeight = 8; }
//        else
//        {
//            LastHeight = (int)Math.Ceiling(1F * LastHeight / 4) * 4;
//        }
//    }
//    LogUtil.info(msg + ",归类为" + LastHeight);
//    return LastHeight;

//    }
    }
}