MainMachine _IOMonitor.cs 2.6 KB
using CodeLibrary;
using OnlineStore.Common;
using OnlineStore.LoadCSVLibrary;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace DeviceLibrary
{
    partial class MainMachine
    {
        void ioMonitor()
        {
            
            

            
            
        }

        bool InSafeCheck() {
            bool ok = true;
            if (IOValue(IO_Type.InEntry_SafetyGrating).Equals(IO_VALUE.LOW))
            {
                if (!IgnoreSafecheck && !IgnoreGratingSignal
                    && IOValue(IO_Type.InFrontCar_Check).Equals(IO_VALUE.LOW))
                {
                    ok = false;
                    LineIn.Pause();
                }
                Msg.add("入料正面安全光栅被遮挡" + (ok ? "[已忽略]" : ""), MsgLevel.warning);
            }
            if (RobotManage.StoreType == StoreType.TypeA)
            {
                if (IOValue(IO_Type.InSide_SafetyGrating).Equals(IO_VALUE.LOW))
                {
                    if (!IgnoreSafecheck && !IgnoreGratingSignal)
                    {
                        ok = false;
                        LineIn.Pause();
                    }
                    Msg.add("入料侧面光栅被遮挡" + (ok ? "[已忽略]" : ""), MsgLevel.warning);
                }
            }
            if (ok)
                LineIn.Resume();
            return ok;
        }

        bool OutSafeCheck() {
            bool ok = true;
            if (IOValue(IO_Type.OutExit_SafetyGrating).Equals(IO_VALUE.LOW))
            {
                if (!IgnoreSafecheck && !IgnoreGratingSignal
                    && IOValue(IO_Type.OutExitCar_Check).Equals(IO_VALUE.LOW))
                {
                    ok = false;
                    LineOut.Pause();
                }
                Msg.add("出料正面安全光栅被遮挡" + (ok ? "[已忽略]" : ""), MsgLevel.warning);
            }
            if (RobotManage.StoreType == StoreType.TypeA)
            {
                if (IOValue(IO_Type.OutSide_SafetyGrating).Equals(IO_VALUE.LOW))
                {
                    if (!IgnoreSafecheck && !IgnoreGratingSignal
                        && IOValue(IO_Type.OutExitCar_Check).Equals(IO_VALUE.LOW))
                    {
                        ok = false;
                        LineOut.Pause();
                    }
                    Msg.add("入料侧面安全光栅被遮挡" + (ok ? "[已忽略]" : ""), MsgLevel.warning);
                }
            }
            if (ok)
                LineOut.Resume();
            return ok;
        }
    }
}