AllLine.cs 2.5 KB
using DL.DeviceLib;
using log4net.Util;
using OnlineStore.Common;
using OnlineStore.LoadCSVLibrary;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Management;

namespace OnlineStore.DeviceLibrary
{
    internal class AllLine
    {
        /// <summary>
        /// 左下层链条
        /// </summary>
        public static LineMonitor LeftLowLine;

        public static void InitLine()
        {
            LineMonitor.Log.LogEvent += Log_LogEvent;
            LeftLowLine = new LineMonitor("左下层链条");
            LeftLowLine.LineOperateEvent += LeftLowLine_LineOperateEvent;
            LeftLowLine.LineStateEvent += LeftLowLine_LineStateEvent;
        }

        private static void Log_LogEvent(LogEventArgs args)
        {
            switch (args.LogLevel)
            {
                case LogLevel.Error:
                    LogUtil.error(args.ToLogFile());
                    break;
                case LogLevel.Debug:
                    LogUtil.debug(args.ToLogFile());
                    break;
                case LogLevel.Info:
                    LogUtil.info(args.ToLogFile());
                    break;
                case LogLevel.Warn:
                    LogUtil.error(args.ToLogFile());
                    break;
                case LogLevel.Fatal:
                    LogUtil.error(args.ToLogFile());
                    break;

            }
        }

        private static bool LeftLowLine_LineStateEvent(LineRunParam runParam)
        {
            switch (runParam)
            {
                case LineRunParam.Run:
                    return IOManager.IOValue(IO_Type.LLown_LineRun).Equals(IO_VALUE.HIGH);
                case LineRunParam.Stop:
                    return IOManager.IOValue(IO_Type.LLown_LineRun).Equals(IO_VALUE.LOW);
                case LineRunParam.BackRun:
                    return false;
                default: return false;
            }

        }

        private static void LeftLowLine_LineOperateEvent(LineRunParam runParam)
        {
            switch (runParam)
            {
                case LineRunParam.Run:
                    IOManager.IOMove(IO_Type.LLown_LineRun, IO_VALUE.HIGH);
                    break;
                case LineRunParam.Stop:
                    IOManager.IOMove(IO_Type.LLown_LineRun, IO_VALUE.LOW);
                    break;
                case LineRunParam.BackRun:
                    break;
            }
        }
    }
}