PLC
yanjinhui
2025-04-24 461ccbda1d9d3fef42f250771c2fd30702755c16
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/SerialPortService/PutakeServer.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.NetworkInformation;
using System.Text;
using System.Threading.Tasks;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Information;
@@ -14,6 +15,8 @@
using WIDESEAWCS_ITaskInfoRepository;
using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob;
using static OfficeOpenXml.ExcelErrorValue;
namespace WIDESEAWCS_TaskInfoService
{
@@ -34,8 +37,8 @@
        {
            OrderByParameters = new Dictionary<string, SqlSugar.OrderByType>
            {
                   { nameof(Dt_Putake.Pustatus),SqlSugar.OrderByType.Asc },
                  // { nameof(Dt_Putake.CreateDate),SqlSugar.OrderByType.Asc }//按状态和创建时间升序排序
                   //{ nameof(Dt_Putake.Pustatus),SqlSugar.OrderByType.Asc },
                   { nameof(Dt_Putake.CreateDate),SqlSugar.OrderByType.Desc }//按状态和创建时间降序排序
            };
            return base.GetPageData(options);
        }
@@ -240,5 +243,78 @@
                return new WebResponseContent { Status=false, Message="错误信息:"+ex.Message};
            }
        }
        public WebResponseContent Getstatus()
        {
            try
            {
                //// èŽ·å– Pustatus == 0 çš„任务中,Dispatchtime æœ€æ—©çš„一条
                var result = BaseDal.QueryData(x => x.Pustatus == 0);
                if (result == null)
                {
                    return new WebResponseContent { Status = false, Message = "没找到该任务" };
                }
                return new WebResponseContent { Status = true, Data=new { result } };
            }
            catch (Exception ex)
            {
                return new WebResponseContent { Status = false, Message = "错误信息:" + ex.Message };
            }
        }
        public WebResponseContent OpenDoor(string group)
        {
            try
            {
                OtherDevice otherDevice = (OtherDevice)Storage.Devices.Find(x => x.DeviceName == "PLC");
                if (otherDevice == null) return new WebResponseContent { Status = false, Message = "未连接" };
                if (group=="电气")
                {
                    var values = otherDevice.Communicator.Read<bool>("M27");
                }
                if(group=="机械")
                {
                    var values = otherDevice.Communicator.Read<bool>("M29");
                }
                if (group == "地沟")
                {
                    var values = otherDevice.Communicator.Read<bool>("M31");
                    var values2 = otherDevice.Communicator.Read<bool>("M33");
                }
                return new WebResponseContent { Status = true,Message=$"{group}组开门成功" };
            }
            catch (Exception ex)
            {
                return new WebResponseContent { Status = false, Message = ex.Message };
            }
        }
        public WebResponseContent ClosedDoor(string group)
        {
            try
            {
                OtherDevice otherDevice = (OtherDevice)Storage.Devices.Find(x => x.DeviceName == "PLC");
                if (otherDevice == null) return new WebResponseContent { Status = false, Message = "未连接" };
                if (group == "电气")
                {
                    var values = otherDevice.Communicator.Read<bool>("M28");
                }
                if (group == "机械")
                {
                    var values = otherDevice.Communicator.Read<bool>("M30");
                }
                if (group == "地沟")
                {
                    var values = otherDevice.Communicator.Read<bool>("M32");
                    var values2 = otherDevice.Communicator.Read<bool>("M34");
                }
                return new WebResponseContent { Status = true, Message = $"{group}组关门成功" };
            }
            catch (Exception ex)
            {
                return new WebResponseContent { Status = false, Message = ex.Message };
            }
        }
    }
}