using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IMCS.Logic
{
    public class PLCWCS
    {
        /// 
        /// 
        /// 
        public float PLC_Runing_Travel_Point { get; set; }
        /// 
        /// 
        /// 
        public float PLC_Runing_Rrolley_Point { get; set; }
        /// 
        /// 
        /// 
        public float PLC_Runing_Hoist_Point { get; set; }
        /// 
        /// 
        /// 
        public float PLC_Runing_Rotating_Point { get; set; }
        /// 
        /// 
        /// 
        public float PLC_Runing_Clamping_Point { get; set; }
      
    }
    public class taskpack
    {
        /// 
        /// 
        /// 
        public PlcAddressAndValue Pack_Travel_ation { get; set; }
        /// 
        /// 
        /// 
        public PlcAddressAndValue Pack_Travel_position { get; set; }
        /// 
        /// 
        /// 
        public PlcAddressAndValue Pack_Trolley_action { get; set; }
        /// 
        /// 
        /// 
        public PlcAddressAndValue Pack_Trolley_position { get; set; }
        /// 
        /// 
        /// 
        public PlcAddressAndValue Pack_Rrolley_position { get; set; }
        /// 
        /// 
        /// 
        public PlcAddressAndValue Pack_Hosit_action { get; set; }
        /// 
        /// 
        /// 
        public PlcAddressAndValue Pack_Hosit_position { get; set; }
        /// 
        /// 
        /// 
        public PlcAddressAndValue Pack_Rotating_action { get; set; }
        /// 
        /// 
        /// 
        public PlcAddressAndValue Pack_Rotating_position { get; set; }
        /// 
        /// 
        /// 
        public PlcAddressAndValue Pack_Clamping_action { get; set; }
        /// 
        /// 
        /// 
        public PlcAddressAndValue Pack_Clamping_position { get; set; }
        /// 
        /// 
        /// 
        public PlcAddressAndValue Pack_Cranes_position { get; set; }
        /// 
        /// 
        /// 
        public PlcAddressAndValue Pack_Edge_Detection_action { get; set; }
        /// 
        /// 
        /// 
        public PlcAddressAndValue Pack_End_sign { get; set; }
        /// 
        /// 
        /// 
        public PlcAddressAndValue Pack_Task_id { get; set; }
        /// 
        /// 
        /// 
        public PlcAddressAndValue Pack_NewTask_id { get; set; }
        /// 
        /// 
        /// 
        public PlcAddressAndValue Pack_Step { get; set; }
    }
    public class PlcAddressAndValue
    {
        public PlcAddressAndValue(string _plcaddress)
        {
            Plc_Address = _plcaddress;
        }
        public PlcAddressAndValue(string _plcaddress, string _Plc_Value)
        {
            Plc_Address = _plcaddress;
            Plc_Value = _Plc_Value;
        }
        public PlcAddressAndValue()
        {
        }
        /// 
        /// 
        /// 
        public string Plc_Address { get; set; }
        /// 
        /// 
        /// 
        public object Plc_Value { get; set; }
    }
    public class TaskPageList
    {
        taskpack tk = new taskpack();
        int BaseAddress = 42;
        /// 
        /// 下标必须从1开始,
        /// 
        /// 
        /// 
        public taskpack this[int index]
        {
            get
            {
                return tk;
            }
            set
            {
                tk.Pack_Task_id = new PlcAddressAndValue($"DB222.{BaseAddress * index}"); //42
                tk.Pack_NewTask_id = new PlcAddressAndValue($"DB222.{BaseAddress * index + 2}"); //44
                tk.Pack_Step = new PlcAddressAndValue($"DB222.{ BaseAddress * index + 4 }");//
                tk.Pack_Travel_ation = new PlcAddressAndValue($"DB222.{ BaseAddress * index + 6 }");//
                tk.Pack_Travel_position = new PlcAddressAndValue($"DB222.{ BaseAddress * index + 8 }");//
                tk.Pack_Trolley_action = new PlcAddressAndValue($"DB222.{ BaseAddress * index + 12 }");//
                tk.Pack_Trolley_position = new PlcAddressAndValue($"DB222.{ BaseAddress * index + 14 }");//
                tk.Pack_Hosit_action = new PlcAddressAndValue($"DB222.{ BaseAddress * index + 18 }");//
                tk.Pack_Hosit_position = new PlcAddressAndValue($"DB222.{ BaseAddress * index + 20 }");//
                tk.Pack_Rotating_action = new PlcAddressAndValue($"DB222.{ BaseAddress * index + 24 }");//
                tk.Pack_Rotating_position = new PlcAddressAndValue($"DB222.{ BaseAddress * index + 26 }");//
                tk.Pack_Clamping_action = new PlcAddressAndValue($"DB222.{ BaseAddress * index + 30 }");
                tk.Pack_Clamping_position = new PlcAddressAndValue($"DB222.{ BaseAddress * index + 32 }");
                tk.Pack_Cranes_position = new PlcAddressAndValue($"DB222.{ BaseAddress * index + 36 }");
                tk.Pack_Edge_Detection_action = new PlcAddressAndValue($"DB222.{ BaseAddress * index + 38 }");
                tk.Pack_End_sign = new PlcAddressAndValue($"DB222.{ BaseAddress * index + 40 }");
            }
        }
    }
    public class TaskPageOperation
    {
        TaskPageList taskPageList = new TaskPageList();
        public void aa()
        {
        }
    }
}