From 9f3858dd723a69c56dbab909e0c7e6c5ef8b85a8 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期一, 09 六月 2025 20:27:19 +0800
Subject: [PATCH] 修改plc信息,以及进入检修接口
---
project/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/ParametersService.cs | 356 ++++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 293 insertions(+), 63 deletions(-)
diff --git a/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/ParametersService.cs b/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/ParametersService.cs
index 0c52ddb..8704a1d 100644
--- a/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/ParametersService.cs
+++ b/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_TelescopicService/ParametersService.cs
@@ -5,6 +5,7 @@
using System.Text;
using System.Threading.Tasks;
using AutoMapper;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
using SqlSugar;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseRepository;
@@ -14,6 +15,7 @@
using WIDESEAWCS_ITelescopicService;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob;
+using static WIDESEAWCS_Common.Face.TH_Faces;
namespace WIDESEAWCS_TelescopicService
@@ -36,6 +38,7 @@
/// <returns></returns>
public WebResponseContent automation(string ExtendedState)
{
+
try
{
@@ -47,46 +50,128 @@
var devices = GetDevicesByDeptId(deid);
//鎵惧埌Dt_Parameters涓殑鏈�鏂颁竴鏉℃暟鎹�
- var para = BaseDal.QueryData().Where(x=>x.Deptid== deid).OrderByDescending(x => x.CreateDate).FirstOrDefault();
+ var para = BaseDal.QueryData().Where(x => x.Deptid == deid).OrderByDescending(x => x.CreateDate).FirstOrDefault();
if (para == null)
return new WebResponseContent { Status = false, Message = "鏈壘鍒板弬鏁伴厤缃�" };
int ext = (int)para.ExtendSpeed;//宸LC鑷姩浼稿嚭缂╁洖閫熷害
int ret = (int)para.RetractionSpeed;//鍙砅LC鑷姩浼稿嚭缂╁洖閫熷害
- int liftPosition= (int)para.LeftPosition;//宸︿几鍑轰綅缃�
- int rigtpostition= (int)para.RightPosition;//鍙充几鍑轰綅缃�
+ int liftPosition = (int)para.LeftPosition;//宸︿几鍑轰綅缃�
+ int rigtpostition = (int)para.RightPosition;//鍙充几鍑轰綅缃�
+ string message = "";
+
+ try
+ {
+ if (devices.Value.left.Communicator.Read<bool>("M117"))
+ {
+
+ return new WebResponseContent { Status = true, Message = "鐜板湪姝e湪杩涜涓紝绛夊緟鎿嶄綔瀹屾垚" };
+ }
+
+ }
+ catch (Exception)
+ {
+ }
+ try
+ {
+ if (devices.Value.right.Communicator.Read<bool>("M117"))
+ {
+ return new WebResponseContent { Status = true, Message = "鐜板湪姝e湪杩涜涓紝绛夊緟鎿嶄綔瀹屾垚" };
+ }
+
+ }
+ catch (Exception)
+ {
+ }
if (ExtendedState == "浼稿嚭")
{
- devices.Value.left.Communicator.Write<int>("D1001", ext);//宸LC鑷姩浼稿嚭缂╁洖閫熷害
- devices.Value.left.Communicator.Write<bool>("M102", true);//浼稿嚭鎸夐挳
- devices.Value.left.Communicator.Write<int>("D1002", liftPosition);//宸︿几鍑轰綅缃�
- devices.Value.right.Communicator.Write<int>("D1001", ret);//鍙砅LC鑷姩浼稿嚭缂╁洖閫熷害
- devices.Value.right.Communicator.Write<bool>("M102", true);//浼稿嚭鎸夐挳
- devices.Value.right.Communicator.Write<int>("D1002", rigtpostition);//鍙充几鍑轰綅缃�
- Console.WriteLine($"鑷姩浼哥缉鏉嗕几鍑� {ext},鍙充几鍑轰綅缃畕liftPosition}锛屽彸浼稿嚭浣嶇疆{rigtpostition}");
+
+ try
+ {
+ if (devices.Value.left.Communicator.Read<float>("D80")>= liftPosition-5)//鍒拌揪鏈�澶т綅缃�)
+ {
+ message += "宸LC宸插埌鏈�澶т綅缃紱";
+ }
+ else
+ {
+ devices.Value.left.Communicator.Write<int>("D1022", liftPosition);//浼稿嚭浣嶇疆
+ devices.Value.left.Communicator.Write<int>("D1002", ext);//宸LC鑷姩鍔ㄤ几鍑虹缉鍥為�熷害
+ devices.Value.left.Communicator.Write<bool>("M102", true);//浼稿嚭鎸夐挳
+
+ }
+ }
+ catch { }
+
+ try
+ {
+ if (devices.Value.right.Communicator.Read<float>("D80") >= rigtpostition-5)
+ {
+ message += "鍙砅LC宸插埌鏈�澶т綅缃紱";
+ }
+ else
+ {
+ devices.Value.right.Communicator.Write<int>("D1022", rigtpostition);
+ devices.Value.right.Communicator.Write<int>("D1002", ret);
+ devices.Value.right.Communicator.Write<bool>("M102", true);
+
+ } }
+ catch { }
+
}
else if (ExtendedState == "缂╁洖")
{
- devices.Value.left.Communicator.Write<int>("D1001", ext);//宸LC鑷姩浼稿嚭缂╁洖閫熷害
- devices.Value.left.Communicator.Write<bool>("M103", true);//缂╁洖鎸夐挳
- devices.Value.right.Communicator.Write<int>("D1001", ret);//鍙砅LC鑷姩浼稿嚭缂╁洖閫熷害
- devices.Value.right.Communicator.Write<bool>("M103", true);//缂╁洖鎸夐挳
- Console.WriteLine($"鑷姩浼哥缉鏉嗙缉鍥� {ret}");
+
+ try
+ {
+ if (devices.Value.left.Communicator.Read<bool>("M115")) //鍒拌揪鍘熺偣浣�
+ {
+ message += "宸︿几缂╂潌宸插埌鍘熺偣锛�";
+ }
+ else
+ {
+ devices.Value.left.Communicator.Write<int>("D1022", liftPosition);
+ devices.Value.left.Communicator.Write<int>("D1002", ext);//宸LC鑷姩浼�=缂╁洖鍑虹缉鍥為�熷害
+ devices.Value.left.Communicator.Write<bool>("M103", true);//宸lc缂╁洖鎸夐挳
+
+
+ }
+ }
+ catch { }
+
+
+ try
+ {
+ if (devices.Value.right.Communicator.Read<bool>("M115"))
+ {
+ message += "鍙充几缂╂潌宸插埌鍘熺偣锛�";
+ }
+ else
+ {
+ devices.Value.right.Communicator.Write<int>("D1022", rigtpostition);
+ devices.Value.right.Communicator.Write<int>("D1002", ret);
+ devices.Value.right.Communicator.Write<bool>("M103", true);
+
+
+ }
+
+
+ }
+ catch { }
+
}
else
{
return new WebResponseContent { Status = false, Message = "鏈煡鐨勬搷浣滃懡浠�" };
}
- return new WebResponseContent { Status = true, Message = "鎴愬姛",
- Data = new
- {
- ExtendSpeed = ext,//
- RetractionSpeed = ret,
-
- }
+ return new WebResponseContent
+ {
+ Status = true,
+ Message = string.IsNullOrEmpty(message) ? "鎵ц鎴愬姛" : $"{message}",
+ Data = new { ExtendSpeed = ext, RetractionSpeed = ret,liftweiz= liftPosition,rightweiz= rigtpostition }
};
+
}
catch (Exception ex)
{
@@ -123,40 +208,124 @@
var para = BaseDal.QueryData().Where(x => x.Deptid == deid).OrderByDescending(x => x.CreateDate).FirstOrDefault();
int ext = (int)para.ManualExtend;//宸LC鎵嬪姩浼稿嚭缂╁洖閫熷害
int ret = (int)para.ManualRetraction;//鍙砅LC鎵嬪姩浼稿嚭缂╁洖閫熷害
+ int liftPosition = (int)para.LeftPosition;//宸︿几鍑轰綅缃�
+ int rigtpostition = (int)para.RightPosition;//鍙充几鍑轰綅缃�
+ //bool canLeft = true,
+ // canRight = true;
+ string message = "";
+
+ try
+ {
+ if (devices.Value.left.Communicator.Read<bool>("M117")) //榛樿鏄痜lase
+ {
+
+ return new WebResponseContent { Status = true, Message = "鐜板湪姝e湪杩涜涓紝绛夊緟鎿嶄綔瀹屾垚" };
+ }
+
+ }
+ catch (Exception)
+ {
+ }
+ try
+ {
+ if (devices.Value.right.Communicator.Read<bool>("M117"))
+ {
+ return new WebResponseContent { Status = false, Message = "鐜板湪姝e湪杩涜涓紝绛夊緟鎿嶄綔瀹屾垚" };
+ }
+
+ }
+ catch (Exception)
+ {
+ }
if (position == "宸�" && ExtendedState == "浼稿嚭")
{
- devices.Value.left.Communicator.Write<int>("D1000", ext);//宸LC鎵嬪姩浼稿嚭缂╁洖閫熷害
- devices.Value.left.Communicator.Write<bool>("M100", true);//浼稿嚭鎸夐挳
- Console.WriteLine($"{position}浼哥缉鏉嗘墜鍔ㄤ几鍑虹缉鍥瀧ext}");
+ if (devices.Value.left.Communicator.Read<float>("D80") >= liftPosition - 5) //鍒拌揪鐩爣浣嶇疆
+ {
+ message += "宸︿几缂╂潌鍒拌揪鐩爣浣嶇疆锛�";
+ }
+ else
+ {
+ devices.Value.left.Communicator.Write<int>("D1004", liftPosition);//宸︿几鍑轰綅缃�
+ devices.Value.left.Communicator.Write<int>("D1000", ext);//宸LC鎵嬪姩浼稿嚭缂╁洖閫熷害
+ devices.Value.left.Communicator.Write<bool>("M100", true);//浼稿嚭鎸夐挳
+ Thread.Sleep(100); // 绛夊緟100ms锛堟ā鎷熸寜閽寜涓嬶級
+ devices.Value.left.Communicator.Write<bool>("M100", false); // 閲婃斁鎸夐挳
+
+
+ Console.WriteLine($"{position}浼哥缉鏉嗘墜鍔ㄤ几鍑簕ext}");
+ }
+
}
else if (position == "宸�" && ExtendedState == "缂╁洖")
{
- devices.Value.left.Communicator.Write<int>("D1000", ext);//宸LC鎵嬪姩浼稿嚭缂╁洖閫熷害
- devices.Value.left.Communicator.Write<bool>("M101", true);
-
- Console.WriteLine($"{position}浼哥缉鏉嗘墜鍔ㄤ几鍑虹缉鍥瀧ext}");
+ if (devices.Value.left.Communicator.Read<bool>("M115"))//缂╁洖鐨勬椂鍊欏垽鏂�)
+ {
+ message += "宸LC宸插埌鍘熺偣锛�";
+ }
+ else
+ {
+ devices.Value.left.Communicator.Write<int>("D1004", liftPosition);//浼稿嚭浣嶇疆
+ devices.Value.left.Communicator.Write<int>("D1000", ext);//宸LC鎵嬪姩浼稿嚭缂╁洖閫熷害
+ devices.Value.left.Communicator.Write<bool>("M101", true);
+ Thread.Sleep(100); // 绛夊緟100ms锛堟ā鎷熸寜閽寜涓嬶級
+ devices.Value.left.Communicator.Write<bool>("M101", false); // 閲婃斁鎸夐挳
+ Console.WriteLine($"{position}浼哥缉鏉嗘墜鍔ㄧ缉鍥瀧ext}");
+ }
+
}
- else if (position == "鍙�" && ExtendedState == "浼稿嚭")
+
+ if (position == "鍙�" && ExtendedState == "浼稿嚭")
{
- devices.Value.right.Communicator.Write<int>("D1000", ret);//鍙砅LC鎵嬪姩浼稿嚭缂╁洖閫熷害
- devices.Value.right.Communicator.Write<bool>("M100", true);
- Console.WriteLine($"{position}浼哥缉鏉嗘墜鍔ㄤ几鍑簕ret}");
+ if (devices.Value.right.Communicator.Read<float>("D80") >= rigtpostition - 5)
+ {
+ message += "鍙充几缂╂潌鍒拌揪鐩爣浣嶇疆锛�";
+ }
+ else
+ {
+ devices.Value.right.Communicator.Write<int>("D1004", rigtpostition);//鍙充几鍑轰綅缃�
+ devices.Value.right.Communicator.Write<int>("D1000", ret);//鍙砅LC鎵嬪姩浼稿嚭缂╁洖閫熷害
+ devices.Value.right.Communicator.Write<bool>("M100", true);
+ Thread.Sleep(100); // 绛夊緟100ms锛堟ā鎷熸寜閽寜涓嬶級
+ devices.Value.right.Communicator.Write<bool>("M100", false); // 閲婃斁鎸夐挳
+ Console.WriteLine($"{position}浼哥缉鏉嗘墜鍔ㄤ几鍑簕ret}");
+ }
+
+
}
else if (position == "鍙�" && ExtendedState == "缂╁洖")
{
- devices.Value.right.Communicator.Write<int>("D1000", ret);//鍙砅LC鎵嬪姩浼稿嚭缂╁洖閫熷害
- devices.Value.right.Communicator.Write<bool>("M101", true);
- Console.WriteLine($"{position}浼哥缉鏉嗘墜鍔ㄧ缉鍥瀧ret}");
+ if (devices.Value.right.Communicator.Read<bool>("M115"))
+ {
+ message += "鍙充几缂╂潌宸插埌鍘熺偣锛�";
+ }
+ else
+ {
+ devices.Value.right.Communicator.Write<int>("D1004", rigtpostition);//浼稿嚭浣嶇疆
+ devices.Value.right.Communicator.Write<int>("D1000", ret);//鍙砅LC鎵嬪姩浼稿嚭缂╁洖閫熷害
+ devices.Value.right.Communicator.Write<bool>("M101", true);
+ Thread.Sleep(100); // 绛夊緟100ms锛堟ā鎷熸寜閽寜涓嬶級
+ devices.Value.right.Communicator.Write<bool>("M101", false); // 閲婃斁鎸夐挳
+ Console.WriteLine($"{position}浼哥缉鏉嗘墜鍔ㄧ缉鍥瀧ret}");
+ }
+
}
- return new WebResponseContent { Status = true,
- Message = "鎴愬姛" ,
+
+
+
+ return new WebResponseContent
+ {
+ Status = true,
+ Message = string.IsNullOrEmpty(message) ? "鎵ц鎴愬姛" : $"{message}",
Data = new
{
ManualExtend = ext,
- ManualRetraction = ret
+ ManualRetraction = ret,
+ message
}
- };//杩欓噷瑕佸姞杩斿洖閫熷害
+ };
}
+
+
catch (Exception ex)
{
return new WebResponseContent { Status = false, Message = ex.Message };
@@ -243,8 +412,26 @@
return new WebResponseContent { Status = false, Message = "閰嶇疆椤� DepartmentID 鏃犳硶杞崲涓烘暣鏁�" };
};
var devices = GetDevicesByDeptId(deid);
- devices.Value.left.Communicator.Write<bool>("M104", true);
- devices.Value.right.Communicator.Write<bool>("M104", true);
+ try
+ {
+ devices.Value.left.Communicator.Write<bool>("M104", true);
+ }
+ catch (Exception)
+ {
+
+
+ }
+ try
+ {
+ devices.Value.right.Communicator.Write<bool>("M104", true);
+ }
+ catch (Exception)
+ {
+
+
+ }
+
+
return new WebResponseContent { Status =true,Message="鏆傚仠鎴愬姛",Data = devices};
}
catch (Exception ex)
@@ -254,6 +441,68 @@
}
}
+
+ /// <summary>
+ /// 鑾峰彇褰撳墠绋嬪簭鏈�鏂扮殑浼哥缉鏉嗛�熷害
+ /// </summary>
+ /// <returns></returns>
+ public WebResponseContent BackfillSpeed()
+ {
+ try
+ {
+ if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
+ {
+ return new WebResponseContent { Status = false, Message = "閰嶇疆椤� DepartmentID 鏃犳硶杞崲涓烘暣鏁�" };
+
+ }
+ var para = BaseDal.QueryData().Where(x => x.Deptid == deid).OrderByDescending(x => x.CreateDate).FirstOrDefault();
+ if (para == null)
+ {
+ return new WebResponseContent { Message = "浣犺繕娌℃湁閰嶇疆閫熷害" };
+ }
+ return new WebResponseContent { Status = true, Data = para };
+ }
+ catch (Exception ex)
+ {
+
+ return new WebResponseContent { Status = false, Message = ex.Message };
+ }
+ }
+
+ /// <summary>
+ /// 鑾峰彇褰撳墠浼哥缉鏉嗙殑浣嶇疆(鑷姩)
+ /// </summary>
+ /// <param name="ExtendedState"></param>
+ /// <returns></returns>
+ public WebResponseContent CurrentLocation()
+ {
+ try
+ {
+ if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
+ {
+ return new WebResponseContent { Status = false, Message = "閰嶇疆椤� DepartmentID 鏃犳硶杞崲涓烘暣鏁�" };
+
+ }
+ var devices = GetDevicesByDeptId(deid);
+
+
+ var deviceslift = devices.Value.left.Communicator.Read<float>("D80");
+ var devicesright = devices.Value.right.Communicator.Read<float>("D80");
+ Console.WriteLine($"褰撳墠宸﹀彸浼哥缉鏉嗚繑鍥為�熷害鍒嗗埆涓轰负{deviceslift}");
+
+
+ return new WebResponseContent
+ {
+ Status = true,
+ Data = new { lift = deviceslift, Right = devicesright }
+ };
+ }
+ catch (Exception ex)
+ {
+
+ return new WebResponseContent { Status = false, Message = ex.Message };
+ }
+ }
/// <summary>
@@ -279,30 +528,11 @@
- public WebResponseContent BackfillSpeed()
- {
- try
- {
- if (!int.TryParse(AppSettings.Get("DepartmentID"), out int deid))
- {
- return new WebResponseContent { Status = false, Message = "閰嶇疆椤� DepartmentID 鏃犳硶杞崲涓烘暣鏁�" };
- }
- var para = BaseDal.QueryData().Where(x => x.Deptid == deid).OrderByDescending(x => x.CreateDate).FirstOrDefault();
- if (para==null)
- {
- return new WebResponseContent { Message = "浣犺繕娌℃湁閰嶇疆閫熷害" };
- }
- return new WebResponseContent { Status = true, Data = para };
- }
- catch (Exception ex)
- {
- return new WebResponseContent { Status = false, Message = ex.Message };
- }
- }
-
+
+
}
}
--
Gitblit v1.9.3