MiR_API_Test.cs 6.9 KB
using System;
using System.Collections.Generic;
using System.Web.Script.Serialization;
using RestSharp;

namespace Model
{
    /// <summary>
    /// MiR小车API
    /// </summary>
    public class MiR_API_Test
    {
        private int count;

        /// <summary>
        /// Fleet的IP地址
        /// </summary>
        public string FleetIP { set; get; }

        /// <summary>
        /// 任务列表
        /// </summary>
        public Dictionary<string, string> MissionList { set; get; }

        /// <summary>
        /// MiR小车API
        /// </summary>
        public MiR_API_Test()
        {
        }

        /// <summary>
        /// 获取IO模块guid列表
        /// </summary>
        /// <param name="ip"></param>
        /// <param name="authorization"></param>
        /// <param name="guid"></param>
        /// <returns></returns>
        public bool Get_IO_Modules(string ip, string authorization, out string[] guid)
        {
            guid = new string[] { "1234", "5678" };
            return true;
        }

        /// <summary>
        /// 获取IO模块的状态
        /// </summary>
        /// <param name="ip"></param>
        /// <param name="authorization"></param>
        /// <param name="guid"></param>
        /// <param name="input"></param>
        /// <param name="output"></param>
        /// <returns></returns>
        public bool Get_IO_Status(string ip, string authorization, string guid, out bool[] input, out bool[] output)
        {
            input = new bool[] { true, true, true, true };
            output = new bool[] { true, true, true, true };
            return true;
        }

        /// <summary>
        /// 获取任务状态
        /// </summary>
        /// <param name="authorization"></param>
        /// <param name="id"></param>
        /// <param name="state"></param>
        /// <returns></returns>
        public bool Get_MissionState_Fleet(string authorization, string id, out string state)
        {
            if (count == 1)
                state = "Done";
            else
            {
                state = "Executing";
                count++;
            }
            return true;
        }

        /// <summary>
        /// 获取任务状态
        /// </summary>
        /// <param name="ip"></param>
        /// <param name="authorization"></param>
        /// <param name="id"></param>
        /// <param name="state"></param>
        /// <returns></returns>
        public bool Get_MissionState(string ip, string authorization, string id, out string state)
        {
            state = "";
            return true;
        }

        /// <summary>
        /// 获取PLC寄存器的内容
        /// </summary>
        /// <param name="ip"></param>
        /// <param name="authorization"></param>
        /// <param name="reg"></param>
        /// <param name="regValue"></param>
        /// <returns></returns>
        public bool Get_Register(string ip, string authorization, int reg, out int regValue)
        {
            regValue = 1;
            return true;
        }

        /// <summary>
        /// 设置PLC寄存器的内容
        /// </summary>
        /// <param name="ip"></param>
        /// <param name="authorization"></param>
        /// <param name="reg"></param>
        /// <param name="regValue"></param>
        /// <returns></returns>
        public bool Set_Register(string ip, string authorization, int reg, int regValue)
        {
            return true;
        }

        /// <summary>
        /// 添加任务到小车自身任务队列
        /// </summary>
        /// <param name="ip"></param>
        /// <param name="authorization"></param>
        /// <param name="missionName"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public bool Add_Mission(string ip, string authorization, string missionName, out string id)
        {
            id = "123";
            return true;
        }

        /// <summary>
        /// 添加任务到Fleet任务队列
        /// </summary>
        /// <param name="fleetID"></param>
        /// <param name="authorization"></param>
        /// <param name="missionName"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public bool Add_Mission_Fleet(string fleetID, string authorization, string missionName, out string id)
        {
            id = "123";
            count = 0;
            return true;
        }

        /// <summary>
        /// 删除小车所有任务
        /// </summary>
        /// <param name="ip"></param>
        /// <param name="authorization"></param>
        public void Del_Mission(string ip, string authorization)
        {

        }

        /// <summary>
        /// 删除Fleet尽快中指定id的任务,已运行的无法删除
        /// </summary>
        /// <param name="authorization"></param>
        /// <param name="id"></param>
        public void Del_Mission_Fleet(string authorization, string id)
        {
        }

        /// <summary>
        /// 获取当前小车状态
        /// </summary>
        /// <param name="ip"></param>
        /// <param name="authorization"></param>
        /// <param name="stateID"></param>
        /// <param name="stateText"></param>
        /// <param name="battery"></param>
        /// <param name="missionText"></param>
        /// <param name="position"></param>
        /// <returns></returns>
        public bool Get_State(string ip, string authorization, out int stateID, out string stateText, out int battery, out string missionText, out System.Drawing.PointF position)
        {
            stateID = -1;
            stateText = "123";
            battery = 90;
            missionText = "fgfg";
            if (ip == "10.85.199.82")
                position = new System.Drawing.PointF(0, 65);
            else if (ip == "10.85.199.84")
                position = new System.Drawing.PointF(0, 50);
            else
                position = new System.Drawing.PointF();
            return true;
        }

        /// <summary>
        /// 小车状态改为Ready
        /// </summary>
        /// <param name="ip"></param>
        /// <param name="authorization"></param>
        /// <returns></returns>
        public bool State_Ready(string ip, string authorization)
        {
            return true;
        }

        /// <summary>
        /// 小车状态改为Pause
        /// </summary>
        /// <param name="ip"></param>
        /// <param name="authorization"></param>
        /// <returns></returns>
        public bool State_Pause(string ip, string authorization)
        {
            return true;
        }

        /// <summary>
        /// 清除错误
        /// </summary>
        /// <param name="ip"></param>
        /// <param name="authorization"></param>
        /// <returns></returns>
        public bool Clear_Error(string ip, string authorization)
        {
            return true;
        }

        public bool CheckIP(string ip)
        {
            return true;
        }

    }
}