From 291f66df5621f0644ce9d15548eb6590045691f0 Mon Sep 17 00:00:00 2001
From: wankeda <Administrator@DESKTOP-HAU3ST3>
Date: 星期一, 14 四月 2025 09:26:43 +0800
Subject: [PATCH] 添加PDA下发输送线回流任务

---
 代码管理/NEWCode/WIDESEAWCS_PDA/pages.json                                                   |    8 
 代码管理/WIDESEA_WCSServer/WIDESEA_WCSServer/Download/Logger/Queue/WriteError/20250412.txt   |    8 
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RoastJob/CommonRoastJob.cs               |  172 +------
 代码管理/WIDESEA_WCSServer/WIDESEA_WCS/SchedulerExecute/AGV/ToMesggeThreeHKZJ.cs             |   24 
 代码管理/NEWCode/WIDESEAWCS_PDA/pages/index/index.vue                                        |    5 
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskCZService.cs               |   40 +
 代码管理/WIDESEA_WCSServer/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWorkF.cs               |    2 
 代码管理/WIDESEA_WCSServer/WIDESEA_WCSServer/Download/Logger/Queue/WriteError/20250411.txt   |    8 
 代码管理/NEWCode/WIDESEAWCS_PDA/pages/叫料/输送线回流.vue                                           |  201 ++++++++
 代码管理/WIDESEA_WCSServer/WIDESEA_WCSServer/Download/Logger/Queue/WriteError/20250413.txt   |    8 
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/PDA/PDAController.cs        |    6 
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskCZService.cs             |    7 
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ElevatorJob/ElevatorJob.cs               |   69 +-
 代码管理/WIDESEA_WCSServer/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWorkThreeHKFJ.cs       |    2 
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RoastZJob/CommonRoastZJob.cs             |  251 ++++++++++
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/RoastZ/CommonRoastZ.cs               |  295 ++++++++++++
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs |    7 
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/RoastZ/IRoastZ.cs                    |   99 ++++
 代码管理/WIDESEA_WCSServer/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWorkThree.cs           |  128 ++--
 19 files changed, 1,088 insertions(+), 252 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages.json" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages.json"
index 67c6ebc..0f5533e 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages.json"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages.json"
@@ -38,7 +38,13 @@
 				"navigationBarTitleText": "璐熸瀬鍙枡",
 				"enablePullDownRefresh": false
 			}
-
+		},
+		{
+			"path": "pages/鍙枡/杈撻�佺嚎鍥炴祦",
+			"style": {
+				"navigationBarTitleText": "杈撻�佺嚎鍥炴祦",
+				"enablePullDownRefresh": false
+			}
 		},
 		{
 			"path" : "pages/SetAddress/SetAddress",
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages/index/index.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages/index/index.vue"
index c29ca09..a784728 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages/index/index.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages/index/index.vue"
@@ -27,6 +27,11 @@
 						url: 'pages/鍙枡/璐熸瀬鍙枡',
 						image: "data:image/png;base64,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"
 					},
+					{
+						text: '涓夋ゼ杈撻�佺嚎鍥炴祦',
+						url: 'pages/鍙枡/杈撻�佺嚎鍥炴祦',
+						image: "data:image/png;base64,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"
+					},
 					// {
 					// 	text: '浜屾ゼ鍐插彔浠诲姟',
 					// 	url: 'pages/createTask/jjkto2F',
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages/\345\217\253\346\226\231/\350\276\223\351\200\201\347\272\277\345\233\236\346\265\201.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages/\345\217\253\346\226\231/\350\276\223\351\200\201\347\272\277\345\233\236\346\265\201.vue"
new file mode 100644
index 0000000..e159bf1
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages/\345\217\253\346\226\231/\350\276\223\351\200\201\347\272\277\345\233\236\346\265\201.vue"
@@ -0,0 +1,201 @@
+<template>
+	<view>
+		<uni-segmented-control :current="current" :values="items" @clickItem="onClickItem">
+		</uni-segmented-control>
+		<view class="content">
+		<view v-if="current === 0" class="headerstyle">
+				<view class="itemstyle">
+					<uni-forms label-width="120">
+						<uni-forms-item label="璧风偣鍦板潃">
+							<!-- <uni-easyinput type="text" :focus="!addressFocus" v-model="sourceAddress"
+								placeholder="璇锋壂鐬勮捣鐐瑰湴鍧�" ref='midInput' @input="inputChangebarcode" /> -->
+									<uni-data-select v-model="value" :localdata="rangs"></uni-data-select>
+						</uni-forms-item>
+						<uni-forms-item label="缁堢偣鍦板潃">
+							<uni-easyinput type="text" :focus="!addressFocus" v-model="targetAddress"
+								placeholder="璇锋壂鎻忕粓鐐瑰湴鍧�" ref='midInput' @input="inputChangebarcode" />
+						</uni-forms-item>
+						<uni-forms-item>
+							<button @click="inbound" type="primary" size="default"
+								style="margin-top: 2%;">杈撻�佺嚎鎼繍纭</button>
+						</uni-forms-item>
+					</uni-forms>
+				</view>
+			</view>
+		</view>
+		<u-toast ref="uToast" />
+	</view>
+</template>
+
+<script>
+	const innerAudioContext = uni.createInnerAudioContext();
+	export default {
+		data() {
+			return { 	
+				items: ['杈撻�佺嚎鎼繍'],
+				current: 0,
+				matTotal: [],
+				matInfos: [],
+				orderNo: "",
+				label: "",
+				orderDetail: [],
+				focus: false,
+				barcode: "",
+				materSn: "",
+				sns: [],
+				addressFocus: false,
+				targetAddress: "",
+				sourceAddress: "",
+				address: "",
+				check: true,
+				value: "",
+				matInfo: [],
+				value2: "",
+				matTotals: [],
+				value: 0,
+				rangs: [{
+						value: "FJXL-KPHLX001",
+						text: "FJXL-KPHLX001"
+					},
+					{
+						value: "ZJXL-KPHLX001",
+						text: "ZJXL-KPHLX001"
+					},
+				],
+				// range: [],
+			}
+		},
+		onShow() {},
+		// onLoad(res) {
+		// 	this.focus = false;
+		// 	this.addressFocus = false;
+		// 	this.orderNo = res.orderNo;
+		// 	this.label = "鍗曟嵁缂栧彿锛�" + this.orderNo;
+		// 	this.getData();
+		// 	// this.getEndLocations();
+		// },
+		methods: {
+			voiceSpeech(src) {
+				innerAudioContext.src = src; // '../../static/success.mp3';
+				innerAudioContext.play();
+			},
+
+			updateFocus() {
+				this.$nextTick(() => {
+					this.materSn = '';
+					if (!this.focus) {
+						this.focus = true;
+					}
+				});
+			},
+			barcodeFocus() {
+				this.barcode = '';
+				if (this.focus) {
+					this.focus = false;
+				}
+			},
+			// getData() {
+			// 	var postData = this.orderNo
+
+			// 	this.$u.post('/api/InboundOrder/GetInboundOrderDetail', postData).then((res) => {
+			// 		if (res.status) {
+			// 			this.orderDetail = res.data;
+			// 			if (this.orderDetail.length > 3) {
+			// 				this.loadVisible = true;
+			// 			}
+			// 		}
+			// 	})
+			// },
+			onClickItem(e) {
+				this.focus = false;
+				this.addressFocus = false;
+				if (this.current !== e.currentIndex) {
+					this.current = e.currentIndex;
+					if (this.current == 2) {
+						this.getData();
+					}
+				}
+			},
+			barcodeInput() {
+				this.$nextTick(function(x) {
+					if (this.barcode.length > 0) {
+						this.focus = true;
+					}
+				})
+			},
+			inbound() {
+				var postData = {
+					MainData: {
+						"sourceAddress": this.value,
+						"targetAddress": this.targetAddress,
+					}
+				}
+
+				this.$u.post('/api/PDA/EmptyTask', postData).then(res => {
+					if (res.code == 200) {
+						uni.$showMsg("浠诲姟娣诲姞鎴愬姛");
+						this.sourceAddress = "";
+						this.targetAddress = "";
+						setTimeout(() => {
+							// this.materialtype = false;
+						}, 200);
+					} else {
+						this.$refs.uToast.show({
+							title: res.message,
+							type: "error"
+						})
+					}
+				}).catch(err => {
+					this.$refs.uToast.show({
+						title: err.message,
+						type: "error"
+					})
+				})
+			},
+
+			inputChangebarcode() {
+				this.addressFocus = false;
+				this.$nextTick(function(x) {
+					if (this.sourceAddress != '') {
+						this.addressFocus = true;
+					}
+				})
+			},
+			// getEndLocations() {
+			// 	this.$u.post('/api/CachePoint/GetEndPoints', null).then(res => {
+			// 		if (res.status) {
+			// 			this.range = res.data;
+			// 		} else {
+			// 			this.$refs.uToast.show({
+			// 				title: res.message,
+			// 				type: "error"
+			// 			})
+			// 		}
+			// 	})
+			// }
+		}
+	}
+</script>
+
+<style lang="scss">
+	@import '@/common/uni-ui.scss';
+
+	.content {
+		display: flex;
+		height: 150px;
+	}
+
+	.content-text {
+		font-size: 14px;
+		color: #666;
+	}
+
+	.itemstyle {
+		margin-top: 30px;
+		margin-left: 5%;
+	}
+
+	.headerstyle {
+		width: 90%;
+	}
+</style>
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskCZService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskCZService.cs"
index 50558a3..b80d4c2 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskCZService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskCZService.cs"
@@ -42,5 +42,12 @@
         /// <param name="dto"></param>
         /// <returns></returns>
         public Task<WebResponseContent> FinishTask(CZTaskFinshDto dto);
+        /// <summary>
+        /// 杈撻�佺嚎鍥炴祦
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        public Task<WebResponseContent> EmptyTask(SaveModel saveModel);
+        
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/RoastZ/CommonRoastZ.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/RoastZ/CommonRoastZ.cs"
new file mode 100644
index 0000000..5e673a2
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/RoastZ/CommonRoastZ.cs"
@@ -0,0 +1,295 @@
+锘�#region << 鐗� 鏈� 娉� 閲� >>
+
+/*----------------------------------------------------------------
+ * 鍛藉悕绌洪棿锛歐IDESEAWCS_QuartzJob
+ * 鍒涘缓鑰咃細鑳$搴�
+ * 鍒涘缓鏃堕棿锛�2024/8/2 16:13:36
+ * 鐗堟湰锛歏1.0.0
+ * 鎻忚堪锛氫竴鑸儤鐑ゅ疄鐜扮被
+ *
+ * ----------------------------------------------------------------
+ * 淇敼浜猴細
+ * 淇敼鏃堕棿锛�
+ * 鐗堟湰锛歏1.0.1
+ * 淇敼璇存槑锛�
+ *
+ *----------------------------------------------------------------*/
+
+#endregion << 鐗� 鏈� 娉� 閲� >>
+
+using HslCommunication;
+using System.ComponentModel;
+using WIDESEAWCS_Communicator;
+using WIDESEAWCS_QuartzJob.ConveyorLine.Enum;
+using WIDESEAWCS_QuartzJob.DeviceBase;
+using WIDESEAWCS_QuartzJob.DTO;
+
+namespace WIDESEAWCS_QuartzJob
+{
+    /// <summary>
+    /// 鐑樼儰瀹炵幇瀵硅薄
+    /// </summary>
+    [Description("Roast鐑樼儰璁惧")]
+    public class CommonRoastZ : IRoastZ
+    {
+        #region Private Member
+
+        /// <summary>
+        /// 鐑樼儰閫氳瀵硅薄
+        /// </summary>
+        private readonly BaseCommunicator _communicator;
+
+        /// <summary>
+        /// 鐑樼儰鍗忚淇℃伅
+        /// </summary>
+        private readonly List<DeviceProDTO> _deviceProDTOs;
+
+        /// <summary>
+        /// 鐑樼儰鍗忚鏄庣粏淇℃伅
+        /// </summary>
+        private readonly List<DeviceProtocolDetailDTO> _deviceProtocolDetailDTOs;
+
+        /// <summary>
+        /// 璁惧缂栧彿
+        /// </summary>
+        public readonly string _deviceCode;
+
+        /// <summary>
+        /// 璁惧鍚嶇О
+        /// </summary>
+        public readonly string _deviceName;
+
+        private bool _heartStatr = true;
+
+        private bool _isConnected = true;
+
+        #endregion
+
+        #region Public Member
+
+        /// <summary>
+        /// 鐑樼儰閫氳瀵硅薄
+        /// </summary>
+        public BaseCommunicator Communicator => _communicator;
+
+        /// <summary>
+        /// 鐑樼儰鍗忚淇℃伅
+        /// </summary>
+        public List<DeviceProDTO> DeviceProDTOs => _deviceProDTOs;
+
+        /// <summary>
+        /// 鐑樼儰鍗忚鏄庣粏淇℃伅
+        /// </summary>
+        public List<DeviceProtocolDetailDTO> DeviceProtocolDetailDTOs => _deviceProtocolDetailDTOs;
+
+        /// <summary>
+        /// 璁惧缂栧彿
+        /// </summary>
+        public string DeviceCode => _deviceCode;
+
+        /// <summary>
+        /// 璁惧鍚嶇О
+        /// </summary>
+        public string DeviceName => _deviceName;
+
+        /// <summary>
+        /// 閫氳鏄惁宸茶繛鎺�
+        /// </summary>
+        public bool IsConnected => Communicator.IsConnected && _isConnected;
+
+        #endregion
+
+        #region Constructor Function
+
+        /// <summary>
+        /// 鏋勯�犲嚱鏁�
+        /// </summary>
+        /// <param name="communicator">鐑樼儰閫氳瀵硅薄</param>
+        /// <param name="deviceProDTOs">鐑樼儰鍗忚淇℃伅</param>
+        /// <param name="deviceProtocolDetailDTOs">鐑樼儰鍗忚鏄庣粏淇℃伅</param>
+        /// <param name="deviceCode">璁惧缂栧彿</param>
+        /// <param name="deviceName">璁惧鍚嶇О</param>
+        public CommonRoastZ(BaseCommunicator communicator, List<DeviceProDTO> deviceProDTOs, List<DeviceProtocolDetailDTO> deviceProtocolDetailDTOs, string deviceCode, string deviceName)
+        {
+            _communicator = communicator;
+            _deviceProDTOs = deviceProDTOs;
+            _deviceProtocolDetailDTOs = deviceProtocolDetailDTOs;
+            _deviceCode = deviceCode;
+            _deviceName = deviceName;
+            CheckConnect();
+        }
+
+        #endregion
+
+        #region Private Method
+
+        private void CheckConnect()
+        {
+            Task.Run(() =>
+            {
+                while (_heartStatr)
+                {
+                    try
+                    {
+                        DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault();
+                        if (devicePro == null)
+                            _isConnected = false;
+                        else
+                            Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType);
+                        _isConnected = true;
+                    }
+                    catch (Exception ex)
+                    {
+                        _isConnected = false;
+                    }
+                    Thread.Sleep(500);
+                }
+            });
+        }
+
+        #endregion
+
+        #region Public Method
+
+        /// <summary>
+        /// 璇诲彇PLC鍗忚鍦板潃鐨勬暟鎹�
+        /// </summary>
+        /// <typeparam name="TEnum">鍗忚淇℃伅鐨勬灇涓惧璞′俊鎭��</typeparam>
+        /// <typeparam name="TResult">璇诲彇鏁版嵁鐨勭被鍨嬪璞′俊鎭��</typeparam>
+        /// <param name="value">鏋氫妇鍊�</param>
+        /// <param name="deviceChildCode">璁惧瀛愮紪鍙�</param>
+        /// <returns>璇诲彇鍒扮殑鏁版嵁</returns>
+        public TResult GetValue<TEnum, TResult>(TEnum value, string deviceChildCode) where TEnum : Enum
+        {
+            if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁�");
+            DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == value.ToString() && x.DeviceChildCode == deviceChildCode);
+            return devicePro == null ? throw new Exception($"璇诲彇鏁版嵁閿欒,鏈湪鍗忚淇℃伅閲岄潰鎵惧埌鍙傛暟{value.ToString()}") : (TResult)Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType);
+        }
+
+        /// <summary>
+        /// 涓庤澶囩殑蹇冭烦
+        /// </summary>
+        public void Heartbeat()
+        {
+            throw new NotImplementedException();
+        }
+
+        /// <summary>
+        ///
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="command"></param>
+        /// <param name="deviceChildCode"></param>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        public bool SendCommand<T>(T command, string deviceChildCode) where T : IDataTransfer, new()
+        {
+            if (Communicator is MelsecA1ENetCommunicator)
+            {
+                if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁�");
+                DeviceProDTO? devicePro = _deviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == deviceChildCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+                if (devicePro == null)
+                {
+                    return false;
+                }
+                if (Communicator.WriteCustomer(devicePro.DeviceProAddress, command))
+                {
+                    return true;
+                }
+                return false;
+            }
+            else
+            {
+                throw new Exception("鏆備笉鏀寔闄よタ闂ㄥ瓙涔嬪鐨凱LC");
+            }
+        }
+
+        /// <summary>
+        /// 璇诲彇PLC鏁版嵁锛岃繑鍥炶嚜瀹氫箟瀵硅薄
+        /// </summary>
+        /// <typeparam name="T">娉涘瀷</typeparam>
+        /// <param name="deviceChildCode">瀛愯澶囩紪鍙�</param>
+        /// <returns>杩斿洖鑷畾涔夊璞℃垨鎶涘嚭寮傚父</returns>
+        /// <exception cref="Exception"></exception>
+        public T ReadCustomer<T>(string deviceChildCode) where T : IDataTransfer, new()
+        {
+            if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁�");
+            DeviceProDTO? devicePro = _deviceProDTOs.Where(x => x.DeviceProParamType == "ReadDeviceCommand" && x.DeviceChildCode == deviceChildCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+
+            if (devicePro == null)
+            {
+                throw new Exception("鏈壘鍒板崗璁俊鎭�");
+            }
+            else
+            {
+                return Communicator.ReadCustomer<T>(devicePro.DeviceProAddress);
+            }
+        }
+
+        /// <summary>
+        /// 鏍规嵁鍙傛暟鍚嶇О銆佽澶囧瓙缂栧彿鍐欏叆瀵瑰簲鐨勬暟鎹��
+        /// </summary>
+        /// <typeparam name="TEnum">鍙傛暟鍚嶇О鏋氫妇绫诲瀷銆�</typeparam>
+        /// <typeparam name="TValue">瑕佸啓鍏ョ殑鏁版嵁绫诲瀷銆�</typeparam>
+        /// <param name="enum">鍙傛暟鍚嶇О銆�</param>
+        /// <param name="value">瑕佸啓鍏ョ殑鏁版嵁銆�</param>
+        /// <param name="deviceChildCode">璁惧瀛愮紪鍙峰啓</param>
+        /// <returns>杩斿洖鍐欏叆鎴愬姛鎴栧け璐�</returns>
+        public bool SetValue<TEnum, TValue>(TEnum @enum, TValue value, string deviceChildCode)
+            where TEnum : Enum
+            where TValue : notnull
+        {
+            if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁�");
+            DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == @enum.ToString() && x.DeviceChildCode == deviceChildCode);
+            return devicePro == null ? throw new Exception($"鍐欏叆鏁版嵁閿欒,鏈湪鍗忚淇℃伅閲岄潰鎵惧埌鍙傛暟{value.ToString()}") : Communicator.WriteObj(devicePro.DeviceProAddress, devicePro.DeviceDataType, value);
+        }
+
+        /// <summary>
+        /// 鏄惁鍗犱綅
+        /// </summary>
+        /// <param name="deviceChildCode">璁惧瀛愮紪鍙�</param>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        public bool IsOccupied(string deviceChildCode)
+        {
+            if (Communicator.IsConnected)
+            {
+                List<DeviceProDTO> devicePros = _deviceProDTOs.Where(x => x.DeviceProParamType == ConveyorLineStatus.IsOccupied.ToString()).ToList();
+                if (devicePros.Count == 0)
+                {
+                    //todo 鍗忚淇℃伅鏈幏鍙栧埌鏃舵姏鍑哄紓甯�
+                    throw new Exception();
+                }
+                for (int i = 0; i < devicePros.Count; i++)
+                {
+                    object readStatus = Communicator.ReadAsObj(devicePros[i].DeviceProAddress, devicePros[i].DeviceDataType);
+                    //todo 鍗忚鏄庣粏淇℃伅鏈幏鍙栧埌鏃舵姏鍑哄紓甯�
+                    DeviceProtocolDetailDTO? deviceProtocolDetail = _deviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == devicePros[i].DeviceProParamName) ?? throw new Exception();
+                    deviceProtocolDetail = _deviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == devicePros[i].DeviceProParamType && x.ProtocalDetailValue.Equals(readStatus.ToString()));
+                    if (deviceProtocolDetail != null)
+                    {
+                        return true;
+                    }
+                    return false;
+                }
+            }
+            //todo 閫氳鏈繛鎺ユ椂鎶涘嚭寮傚父
+            return false;
+        }
+
+        /// <summary>
+        /// 閲婃斁瀵硅薄
+        /// </summary>
+        public void Dispose()
+        {
+            // 璁剧疆蹇冭烦鐘舵�佷负false
+            _heartStatr = false;
+            // 閲婃斁閫氫俊鍣ㄨ祫婧�
+            _communicator.Dispose();
+            // 鍛婅瘔鍨冨溇鍥炴敹鍣ㄤ笉鍐嶈皟鐢ㄧ粓缁撳櫒
+            GC.SuppressFinalize(this);
+        }
+
+        #endregion
+    }
+}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/RoastZ/IRoastZ.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/RoastZ/IRoastZ.cs"
new file mode 100644
index 0000000..aa7182e
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/RoastZ/IRoastZ.cs"
@@ -0,0 +1,99 @@
+锘�#region << 鐗� 鏈� 娉� 閲� >>
+
+/*----------------------------------------------------------------
+ * 鍛藉悕绌洪棿锛歐IDESEAWCS_QuartzJob
+ * 鍒涘缓鑰咃細鑳$搴�
+ * 鍒涘缓鏃堕棿锛�2024/8/2 16:13:36
+ * 鐗堟湰锛歏1.0.0
+ * 鎻忚堪锛氳緭閫佺嚎鎺ュ彛灞�
+ *
+ * ----------------------------------------------------------------
+ * 淇敼浜猴細
+ * 淇敼鏃堕棿锛�
+ * 鐗堟湰锛歏1.0.1
+ * 淇敼璇存槑锛�
+ *
+ *----------------------------------------------------------------*/
+
+#endregion << 鐗� 鏈� 娉� 閲� >>
+
+using HslCommunication;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Communicator;
+using WIDESEAWCS_QuartzJob.DeviceBase;
+using WIDESEAWCS_QuartzJob.DTO;
+
+namespace WIDESEAWCS_QuartzJob
+{
+    /// <summary>
+    /// AGV鎺ュ彛灞�
+    /// </summary>
+    public interface IRoastZ : IDevice
+    {
+        /// <summary>
+        /// 閫氳瀵硅薄
+        /// </summary>
+        BaseCommunicator Communicator { get; }
+
+        /// <summary>
+        /// 閫氳鍗忚淇℃伅
+        /// </summary>
+        List<DeviceProDTO> DeviceProDTOs { get; }
+
+        /// <summary>
+        /// 閫氳鍗忚鏄庣粏淇℃伅
+        /// </summary>
+        List<DeviceProtocolDetailDTO> DeviceProtocolDetailDTOs { get; }
+
+        /// <summary>
+        /// 璁惧鏄惁宸茶繛鎺�
+        /// </summary>
+        bool IsConnected { get; }
+
+        /// <summary>
+        /// 涓庤澶囩殑蹇冭烦
+        /// </summary>
+        void Heartbeat();
+
+        /// <summary>
+        /// 璇诲彇PLC鍗忚鍦板潃鐨勬暟鎹�
+        /// </summary>
+        /// <typeparam name="TEnum">鍗忚淇℃伅鐨勬灇涓惧璞′俊鎭��</typeparam>
+        /// <typeparam name="TResult">璇诲彇鏁版嵁鐨勭被鍨嬪璞′俊鎭��</typeparam>
+        /// <param name="value">鏋氫妇鍊�</param>
+        /// <param name="deviceChildCode">璁惧瀛愮紪鍙�</param>
+        /// <returns>璇诲彇鍒扮殑鏁版嵁</returns>
+        TResult GetValue<TEnum, TResult>(TEnum value, string deviceChildCode) where TEnum : Enum;
+
+        /// <summary>
+        /// 鏍规嵁鍙傛暟鍚嶇О銆佽澶囧瓙缂栧彿鍐欏叆瀵瑰簲鐨勬暟鎹��
+        /// </summary>
+        /// <typeparam name="TEnum">鍙傛暟鍚嶇О鏋氫妇绫诲瀷銆�</typeparam>
+        /// <typeparam name="TValue">瑕佸啓鍏ョ殑鏁版嵁绫诲瀷銆�</typeparam>
+        /// <param name="enum">鍙傛暟鍚嶇О銆�</param>
+        /// <param name="value">瑕佸啓鍏ョ殑鏁版嵁銆�</param>
+        /// <param name="deviceChildCode">璁惧瀛愮紪鍙峰啓</param>
+        /// <returns>杩斿洖鍐欏叆鎴愬姛鎴栧け璐�</returns>
+        bool SetValue<TEnum, TValue>(TEnum @enum, TValue value, string deviceChildCode) where TEnum : Enum where TValue : notnull;
+
+        /// <summary>
+        /// 璇诲彇绔欏彴鏄惁琚崰鐢�
+        /// </summary>
+        /// <param name="deviceChildCode">璁惧瀛愮紪鍙�</param>
+        /// <returns></returns>
+        bool IsOccupied(string deviceChildCode);
+
+        /// <summary>
+        /// 鍙戦�佷换鍔″懡浠�
+        /// </summary>
+        /// <typeparam name="T">浠诲姟鍛戒护瀵硅薄鐨勭被鍨嬫硾鍨�</typeparam>
+        /// <param name="command">浠诲姟鍛戒护</param>
+        /// <param name="deviceChildCode">璁惧瀛愮紪鍙�</param>
+        /// <returns></returns>
+        bool SendCommand<T>(T command, string deviceChildCode) where T : IDataTransfer, new();
+    }
+}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/PDA/PDAController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/PDA/PDAController.cs"
index 1e2307b..7e6581f 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/PDA/PDAController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/PDA/PDAController.cs"
@@ -43,5 +43,11 @@
         {
             return _taskCZService.AddTaskCZAsync(czTaskDto);
         }
+
+        [HttpPost, Route("EmptyTask"), AllowAnonymous]
+        public Task<WebResponseContent> EmptyTask([FromBody] SaveModel saveModel)
+        {
+            return _taskCZService.EmptyTask(saveModel);
+        }
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskCZService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskCZService.cs"
index d209795..342bfba 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskCZService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskCZService.cs"
@@ -17,6 +17,7 @@
 
 #endregion << 鐗� 鏈� 娉� 閲� >>
 
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
 using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.BaseServices;
@@ -29,8 +30,10 @@
 {
     public class TaskCZService : ServiceBase<DtCZTask, ITaskCZRepository>, ITaskCZService
     {
-        public TaskCZService(ITaskCZRepository BaseDal) : base(BaseDal)
+        private readonly ITaskRepository _taskRepository;
+        public TaskCZService(ITaskCZRepository BaseDal, ITaskRepository taskRepository) : base(BaseDal)
         {
+            _taskRepository = taskRepository;
         }
 
         public Task<WebResponseContent> AddTaskCZAsync(CZTaskDto dto)
@@ -56,7 +59,7 @@
                     TaskNumber = dto.Number,
                     TaskExecutor = "CZ",
                     TaskOrderNo = dto.OrderNo,
-                    TaskOwner = "KH",   
+                    TaskOwner = "KH",
                     TaskProductCode = dto.ProductCode,
                     Creater = "KH"
                 };
@@ -122,5 +125,38 @@
             }
             return Task.FromResult(response);
         }
+        /// <summary>
+        /// 杈撻�佺嚎鍥炴祦
+        /// </summary>
+        /// <param name="saveModel"></param>
+        /// <returns></returns>
+        public Task<WebResponseContent> EmptyTask(SaveModel saveModel)
+        {
+            WebResponseContent webResponseContent = new WebResponseContent();
+            try
+            {
+                string Saddress = saveModel.MainData["sourceAddress"].ToString();
+                string Taddress = saveModel.MainData["targetAddress"].ToString();
+
+                Dt_Task task = _taskRepository.QueryFirst(x => x.SourceAddress == Saddress && x.TaskState == (int)TaskInStatusEnum.InPending && x.TargetAddress == "WaitBind");
+                if (task == null)
+                {
+                    webResponseContent.Error("浠诲姟涓嶅瓨鍦紒");
+                    return Task.FromResult(webResponseContent);
+                }
+                task.TargetAddress = Taddress;
+                task.TaskState = (int)TaskInStatusEnum.InNew;
+                var isTrue = _taskRepository.UpdateData(task);
+                if (isTrue)
+                {
+                    webResponseContent.OK("浠诲姟涓嬪彂鎴愬姛锛�");
+                }
+            }
+            catch (Exception ex)
+            {
+                webResponseContent.Error(ex.Message);
+            }
+            return Task.FromResult(webResponseContent);
+        }
     }
 }
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
index 33541af..68847ca 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
@@ -148,7 +148,7 @@
                 }
 
                 string fromAdd = request.Value;
-                string taskType = request.Value.Contains("ZJXL") ? "姝f瀬" : "璐熸瀬";
+                string taskType = "璐熸瀬"; //request.Value.Contains("ZJXL") ? "姝f瀬" :
 
                 // 鏍规嵁浠诲姟绫诲瀷纭畾璇锋眰鍦板潃
                 (string upRequest, string gmRequest, string gmState) = GetRequestAddresses(taskType);
@@ -193,6 +193,11 @@
         // 杈呭姪鏂规硶锛氬垱寤轰换鍔″璞�
         private Dt_Task CreateTask(string currentAddress, string targetAddress, string remark, string palletCode, string taskType)
         {
+            Dt_Task dt_Task = _taskRepository.QueryFirst(x => x.SourceAddress == currentAddress);
+            if (dt_Task != null)
+            {
+                return null;
+            }
             return new Dt_Task
             {
                 TaskNum = _taskService.GetTaskNum(),
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ElevatorJob/ElevatorJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ElevatorJob/ElevatorJob.cs"
index 05fbea8..2091ed8 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ElevatorJob/ElevatorJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ElevatorJob/ElevatorJob.cs"
@@ -14,37 +14,46 @@
 
         public Task Execute(IJobExecutionContext context)
         {
-            // 浠庝笂涓嬫枃涓幏鍙� JobParams 骞惰浆鎹负 Roast 绫诲瀷
-            //CommonElevator elevator = (CommonElevator)context.JobDetail.JobDataMap.Get("JobParams");
-            CommonRoast elevator = (CommonRoast)context.JobDetail.JobDataMap.Get("JobParams");
-            // 鍒濆鍖� AGV 鍙橀噺
-            AGV agv = null;
-
-            if (elevator == null)
+            try
             {
-                throw new Exception("鏈壘鍒版彁鍗囨満璁惧鍙傛暟銆�");
+                // 浠庝笂涓嬫枃涓幏鍙� JobParams 骞惰浆鎹负 Roast 绫诲瀷
+                //CommonElevator elevator = (CommonElevator)context.JobDetail.JobDataMap.Get("JobParams");
+                CommonRoast elevator = (CommonRoast)context.JobDetail.JobDataMap.Get("JobParams");
+                // 鍒濆鍖� AGV 鍙橀噺
+                AGV agv = null;
+
+                if (elevator == null)
+                {
+                    throw new Exception("鏈壘鍒版彁鍗囨満璁惧鍙傛暟銆�");
+                }
+
+                // 杩炴帴 AGV
+                // 鏍规嵁璁惧鍚嶇О鍐冲畾鏄鏋佽繕鏄礋鏋� AGV
+                List<string> agvNames = new List<string>() { "姝f瀬AGV", "璐熸瀬AGV" }; //"姝f瀬AGV",
+                foreach (var agvName in agvNames)
+                {
+                    // 浠庡瓨鍌ㄤ腑鏌ユ壘鎸囧畾鍚嶇О鐨勮澶�
+                    IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceName == agvName);
+                    if (device != null)
+                    {
+                        agv = (AGV)device;
+                    }
+                    else
+                    {
+                        ConsoleHelper.WriteErrorLine($"鏈壘鍒皗agvName}璁惧鍙傛暟銆�");
+                        continue;
+                    }
+                    var elevatorNamesValues = GetDBElevatorNamesValues(agvName);
+                    var agvNamesValues = GetDBAGVNamesValues(agvName);
+                    DeviceInteraction(elevator, agv, elevatorNamesValues, agvNamesValues);
+                }
+            }
+            catch (Exception ex)
+            {
+
+                throw;
             }
 
-            // 杩炴帴 AGV
-            // 鏍规嵁璁惧鍚嶇О鍐冲畾鏄鏋佽繕鏄礋鏋� AGV
-            List<string> agvNames = new List<string>() {  "璐熸瀬AGV" }; //"姝f瀬AGV",
-            foreach (var agvName in agvNames)
-            {
-                // 浠庡瓨鍌ㄤ腑鏌ユ壘鎸囧畾鍚嶇О鐨勮澶�
-                IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceName == agvName);
-                if (device != null)
-                {
-                    agv = (AGV)device;
-                }
-                else
-                {
-                    ConsoleHelper.WriteErrorLine($"鏈壘鍒皗agvName}璁惧鍙傛暟銆�");
-                    continue;
-                }
-                var elevatorNamesValues = GetDBElevatorNamesValues(agvName);
-                var agvNamesValues = GetDBAGVNamesValues(agvName);
-                DeviceInteraction(elevator, agv, elevatorNamesValues, agvNamesValues);
-            }
             return Task.CompletedTask;
         }
 
@@ -68,7 +77,7 @@
             var agvSignal = agv.Communicator.Read(agvNames[1], 100);
 
             agv.Communicator.Write(agvNames[0], elevatorSignal);
-            elevator.Communicator.Write(agvNames[1], agvSignal);
+            elevator.Communicator.Write(elevatorNames[1], agvSignal);
 
             ConsoleHelper.WriteInfoLine($"姝f瀬AGV浜や簰: 鍐欏叆鐢垫淇″彿[{elevatorSignal}]鍒皗agvNames[0]}锛�" +
                                        $"鍐欏叆AGV淇″彿[{agvSignal}]鍒皗agvNames[1]}");
@@ -261,10 +270,10 @@
                     "DB1002.18600",
                     "DB1002.18500",
                     "DB1002.18700",
+                    "DB1002.18000",
                     "DB1002.18800",
                     "DB1002.19000",
                     "DB1002.18200",
-                    "DB1002.18000",
                     "DB1002.18900",
                     "DB1002.19100"
                 };
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RoastJob/CommonRoastJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RoastJob/CommonRoastJob.cs"
index 44a3ac5..a6e17eb 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RoastJob/CommonRoastJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RoastJob/CommonRoastJob.cs"
@@ -15,116 +15,6 @@
             GC.SuppressFinalize(this);
         }
 
-        public Task Execute1(IJobExecutionContext context)
-        {
-            CommonRoast roast = (CommonRoast)context.JobDetail.JobDataMap.Get("JobParams");
-            AGV agv = null;
-            if (roast.DeviceName.Contains("姝f瀬"))
-            {
-                IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceName == "姝f瀬AGV");
-                if (device != null)
-                {
-                    agv = (AGV)device;
-                }
-                else
-                    throw new Exception("No such device found.");
-
-                MatchCollection matches = Regex.Matches(roast.DeviceName, @"\d+");
-                int number = int.Parse(matches[0].Value);
-                // 鍒涘缓涓�涓寘鍚墍鏈� double 鍊肩殑闆嗗悎
-                List<double> doubleValues = new List<double>();
-
-                if (number < 3)
-                {
-                    doubleValues = new List<double>
-                    {
-                        8093.6, 8093.7, 3493.6, 3493.7, 8094.0, 8095.0, 8096.0, 8097.0, 8098.0,
-                        8194.0, 8195.0, 8196.0, 8197.0, 3494.0, 3495.0, 3496.0, 3594.0, 3595.0,
-                        3596.0, 3597.0, 3598.0, 3599.0, 8192.2, 3592.2
-                    };
-                }
-                else
-                {
-                    doubleValues = new List<double>
-                    {
-                        1693.6, 1693.7, 293.6, 293.6, 1694.0, 1695.0, 1696.0, 1697.0, 1698.0,
-                        1794.0, 1795.0, 1796.0, 1797.0, 294.0, 295.0, 296.0, 394.0, 395.0, 396.0,
-                        397.0,398.0,399.0,1792.2,392.2
-                    };
-                }
-
-                if (number < 3)
-                {
-                    // 鏍规嵁 number 鐨勫�艰皟鏁撮泦鍚堜腑鐨勬瘡涓厓绱�
-                    for (int i = 0; i < doubleValues.Count; i++)
-                    {
-                        doubleValues[i] += (number - 1) * 400;
-                    }
-                }
-                else
-                {// 鏍规嵁 number 鐨勫�艰皟鏁撮泦鍚堜腑鐨勬瘡涓厓绱�
-                    for (int i = 0; i < doubleValues.Count; i++)
-                    {
-                        doubleValues[i] += (number - 3) * 400;
-                    }
-                }
-            }
-            else if (roast.DeviceName.Contains("璐熸瀬"))
-            {
-                IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceName == "璐熸瀬AGV");
-                if (device != null)
-                {
-                    agv = (AGV)device;
-                }
-                else
-                    throw new Exception("No such device found.");
-
-                MatchCollection matches = Regex.Matches(roast.DeviceName, @"\d+");
-                int number = int.Parse(matches[0].Value);
-
-                List<double> doubleValues = new List<double>();
-
-                if (number < 3)
-                {
-                    doubleValues = new List<double>
-                    {
-                        8893.6, 8893.7, 9093.6, 9093.7, 8894.0, 8895.0, 8896.0, 8897.0, 8898.0,
-                        8994.0, 8995.0, 8996.0, 8997.0, 9094.0, 9095.0, 9096.0, 9194.0, 9195.0,
-                        9196.0, 9197.0, 9198.0, 9199.0, 8992.2, 9192.2
-                    };
-                }
-                else
-                {
-                    doubleValues = new List<double>
-                    {
-                        4893.6, 4893.7, 5093.6, 5093.6, 4894.0, 4895.0, 4896.0, 4897.0, 4898.0,
-                        4994.0, 4995.0, 4996.0, 4997.0, 5094.0, 5095.0, 5096.0, 5194.0, 5195.0,
-                        5196.0, 5197.0, 5198.0, 5199.0, 4992.2, 5192.2
-                    };
-                }
-                if (number < 3)
-                {
-                    // 鏍规嵁 number 鐨勫�艰皟鏁撮泦鍚堜腑鐨勬瘡涓厓绱�
-                    for (int i = 0; i < doubleValues.Count; i++)
-                    {
-                        doubleValues[i] += (number - 1) * 400;
-                    }
-                }
-                else
-                {
-                    // 鏍规嵁 number 鐨勫�艰皟鏁撮泦鍚堜腑鐨勬瘡涓厓绱�
-                    for (int i = 0; i < doubleValues.Count; i++)
-                    {
-                        doubleValues[i] += (number - 3) * 400;
-                    }
-                }
-            }
-            else
-                throw new Exception("No such device found.");
-
-            throw new NotImplementedException();
-        }
-
         public Task Execute(IJobExecutionContext context)
         {
             try
@@ -140,7 +30,7 @@
                 }
 
                 // 鏍规嵁璁惧鍚嶇О鍐冲畾鏄鏋佽繕鏄礋鏋� AGV
-                string devicePrefix = roast.DeviceName.Contains("姝f瀬") ? "姝f瀬" : "璐熸瀬";
+                string devicePrefix = roast.DeviceCode.Contains("FJ") ? "璐熸瀬" : "姝f瀬";
                 string agvName = $"{devicePrefix}AGV";
 
                 // 浠庡瓨鍌ㄤ腑鏌ユ壘鎸囧畾鍚嶇О鐨勮澶�
@@ -280,22 +170,25 @@
             }
 
             // 璇籄GV鍏ユ枡
-            byte[] RFAGVup = new byte[]
-            {
-                agv.Communicator.Read<byte>($"DB1002.{doubleValues[9]}"),
-                agv.Communicator.Read<byte>($"DB1002.{doubleValues[10]}"),
-                agv.Communicator.Read<byte>($"DB1002.{doubleValues[11]}"),
-                agv.Communicator.Read<byte>($"DB1002.{doubleValues[12]}"),
-                agv.Communicator.Read<byte>($"DB1002.{doubleValues[22]}")
-            };
+
+            short RFAGVa = agv.Communicator.Read<byte>($"DB1002.{doubleValues[9]}");
+            short RFAGVb = agv.Communicator.Read<byte>($"DB1002.{doubleValues[10]}");
+            short RFAGVc = agv.Communicator.Read<byte>($"DB1002.{doubleValues[11]}");
+            short RFAGVd = agv.Communicator.Read<byte>($"DB1002.{doubleValues[12]}");
+            bool RFAGVe = agv.Communicator.Read<bool>($"DB1002.{doubleValues[22]}");
+
 
             // 鍐欑儤鐑ゅ叆鏂�
-            string[] writeAddressesUp = new string[] { "D1940", "D1941", "D1955", "D1956", "M691" };
-            for (int i = 0; i < RFAGVup.Length; i++)
-            {
-                roast.Communicator.Write(writeAddressesUp[i], RFAGVup[i]);
-            }
-
+            //string[] writeAddressesUp = new string[] { "D1940", "D1941", "D1955", "D1956", "M691" };
+            //for (int i = 0; i < RFAGVup.Length; i++)
+            //{
+            //    roast.Communicator.Write(writeAddressesUp[i], RFAGVup[i]);
+            //}
+            roast.Communicator.Write("D1940", RFAGVa);
+            roast.Communicator.Write("D1941", RFAGVb);
+            roast.Communicator.Write("D1955", RFAGVc);
+            roast.Communicator.Write("D1956", RFAGVd);
+            roast.Communicator.Write("M691", RFAGVe);
             // 璇荤儤鐑ゅ嚭鏂�
             short[] RFHKdown = new short[]
             {
@@ -311,24 +204,23 @@
             }
 
             // 璇籄GV鍑烘枡
-            byte[] RFAGVdown = new byte[]
-            {
-                agv.Communicator.Read<byte>($"DB1002.{doubleValues[16]}"),
-                agv.Communicator.Read<byte>($"DB1002.{doubleValues[17]}"),
-                agv.Communicator.Read<byte>($"DB1002.{doubleValues[18]}"),
-                agv.Communicator.Read<byte>($"DB1002.{doubleValues[19]}"),
-                agv.Communicator.Read<byte>($"DB1002.{doubleValues[20]}"),
-                agv.Communicator.Read<byte>($"DB1002.{doubleValues[21]}")
-            };
+            short RFAGVdowna = agv.Communicator.Read<byte>($"DB1002.{doubleValues[16]}");
+            short RFAGVdownb = agv.Communicator.Read<byte>($"DB1002.{doubleValues[17]}");
+            short RFAGVdownc = agv.Communicator.Read<byte>($"DB1002.{doubleValues[18]}");
+            short RFAGVdownd = agv.Communicator.Read<byte>($"DB1002.{doubleValues[19]}");
+            short RFAGVdowne = agv.Communicator.Read<byte>($"DB1002.{doubleValues[20]}");
+            short RFAGVdownf = agv.Communicator.Read<byte>($"DB1002.{doubleValues[21]}");
             bool RFAGVdowng = agv.Communicator.Read<bool>($"DB1002.{doubleValues[23]}");
 
             // 鍐欑儤鐑ゅ嚭鏂�
-            string[] writeAddressesDown = new string[] { "D1940", "D1941", "D1957", "D1952", "D1953", "D1958", "M692" };
-            for (int i = 0; i < RFAGVdown.Length; i++)
-            {
-                roast.Communicator.Write(writeAddressesDown[i], RFAGVdown[i]);
-            }
-            roast.Communicator.Write(writeAddressesDown[6], RFAGVdowng);
+            //string[] writeAddressesDown = new string[] { "D1940", "D1941", "D1957", "D1952", "D1953", "D1958", "M692" };
+            roast.Communicator.Write("D1940", RFAGVdowna);
+            roast.Communicator.Write("D1941", RFAGVdownb);
+            roast.Communicator.Write("D1957", RFAGVdownc);
+            roast.Communicator.Write("D1952", RFAGVdownd);
+            roast.Communicator.Write("D1953", RFAGVdowne);
+            roast.Communicator.Write("D1958", RFAGVdownf);
+            roast.Communicator.Write("M692", RFAGVdowng);
         }
 
 
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RoastZJob/CommonRoastZJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RoastZJob/CommonRoastZJob.cs"
new file mode 100644
index 0000000..7c85a97
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RoastZJob/CommonRoastZJob.cs"
@@ -0,0 +1,251 @@
+锘縰sing Quartz;
+using System.Text.RegularExpressions;
+using WIDESEAWCS_QuartzJob;
+
+namespace WIDESEAWCS_Tasks
+{
+    internal class CommonRoastZJob : JobBase, IJob, IDisposable
+    {
+        public CommonRoastZJob()
+        {
+        }
+
+        public void Dispose()
+        {
+            GC.SuppressFinalize(this);
+        }
+
+        public Task Execute(IJobExecutionContext context)
+        {
+            try
+            {
+                // 浠庝笂涓嬫枃涓幏鍙� JobParams 骞惰浆鎹负 Roast 绫诲瀷
+                CommonRoastZ roast = (CommonRoastZ)context.JobDetail.JobDataMap.Get("JobParams");
+                // 鍒濆鍖� AGV 鍙橀噺
+                AGV agv = null;
+
+                if (roast == null)
+                {
+                    throw new Exception("鏈壘鍒扮儤鐑よ澶囧弬鏁般��");
+                }
+
+                // 鏍规嵁璁惧鍚嶇О鍐冲畾鏄鏋佽繕鏄礋鏋� AGV
+                string devicePrefix = roast.DeviceCode.Contains("FJ") ? "璐熸瀬" : "姝f瀬";
+                string agvName = $"{devicePrefix}AGV";
+
+                // 浠庡瓨鍌ㄤ腑鏌ユ壘鎸囧畾鍚嶇О鐨勮澶�
+                IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceName == agvName);
+                if (device != null)
+                {
+                    agv = (AGV)device;
+                }
+                else
+                {
+                    throw new Exception("鏈壘鍒癆GV璁惧鍙傛暟銆�");
+                }
+
+                // 浣跨敤姝e垯琛ㄨ揪寮忎粠璁惧鍚嶇О涓彁鍙栨暟瀛�
+                MatchCollection matches = Regex.Matches(roast.DeviceName, @"\d+");
+                if (matches.Count == 0)
+                {
+                    throw new Exception("No number found in device name.");
+                }
+                int number = int.Parse(matches[0].Value);
+
+
+
+                // 鏍规嵁number鐨勫�奸�夋嫨鐩稿簲鐨刣ouble闆嗗悎骞惰皟鏁村��
+                List<double> doubleValues = GetDoubleValues(roast.DeviceName.Contains("姝f瀬"), number);
+
+                DeviceInteraction(roast, agv, doubleValues);
+
+            }
+            catch (Exception ex)
+            {
+                Console.WriteLine(ex.Message);
+            }
+            return Task.CompletedTask;
+        }
+
+        public static void DeviceInteraction(CommonRoastZ roast, AGV agv, List<double> doubleValues)
+        {
+            #region
+            ////璇荤儤鐑ゆ粴绛掓槸鍚﹁浆鍔�
+            //bool RHKupFGTZ1 = roast.Communicator.Read<bool>("YC");
+            //bool RHKupFGTZ2 = roast.Communicator.Read<bool>("YD");
+            //bool RHKupFGTZ3 = roast.Communicator.Read<bool>("YE");
+            //bool RHKupFGTZ4 = roast.Communicator.Read<bool>("YF");
+            ////鍐橝GV婊氱瓛杞姩
+            //agv.Communicator.Write("DB1002." + doubleValues[0], RHKupFGTZ1);
+            //agv.Communicator.Write("DB1002." + doubleValues[1], RHKupFGTZ2);
+            //agv.Communicator.Write("DB1002." + doubleValues[2], RHKupFGTZ3);
+            //agv.Communicator.Write("DB1002." + doubleValues[3], RHKupFGTZ4);
+
+            ////璇荤儤鐑ゅ叆鏂�
+            //var RFHKupa = roast.Communicator.Read<short>("D1960");
+            //var RFHKupb = roast.Communicator.Read<short>("D15");
+            //var RFHKupc = roast.Communicator.Read<short>("D1961");
+            //var RFHKupd = roast.Communicator.Read<short>("D1950");
+            //var RFHKupe = roast.Communicator.Read<short>("D1951");
+
+            ////鍐橝GV鍏ユ枡
+            //agv.Communicator.Write("DB1002." + doubleValues[4], byte.Parse(RFHKupa.ToString()));
+            //agv.Communicator.Write("DB1002." + doubleValues[5], byte.Parse(RFHKupb.ToString()));
+            //agv.Communicator.Write("DB1002." + doubleValues[6], byte.Parse(RFHKupc.ToString()));
+            //agv.Communicator.Write("DB1002." + doubleValues[7], byte.Parse(RFHKupd.ToString()));
+            //agv.Communicator.Write("DB1002." + doubleValues[8], byte.Parse(RFHKupe.ToString()));
+
+            ////璇籄GV鍏ユ枡
+            //var RFAGVa = agv.Communicator.Read<byte>("DB1002." + doubleValues[9]);
+            //var RFAGVb = agv.Communicator.Read<byte>("DB1002." + doubleValues[10]);
+            //var RFAGVc = agv.Communicator.Read<byte>("DB1002." + doubleValues[11]);
+            //var RFAGVd = agv.Communicator.Read<byte>("DB1002." + doubleValues[12]);
+            //var RFAGVe = agv.Communicator.Read<byte>("DB1002." + doubleValues[22]);
+
+            ////鍐欑儤鐑ゅ叆鏂�
+            //roast.Communicator.Write("D1940", RFAGVa);
+            //roast.Communicator.Write("D1941", RFAGVb);
+            //roast.Communicator.Write("D1955", RFAGVc);
+            //roast.Communicator.Write("D1956", RFAGVd);
+            //roast.Communicator.Write("M691", RFAGVe);
+
+            ////璇荤儤鐑ゅ嚭鏂�
+            //var RFHKdowna = roast.Communicator.Read<short>("D1960");
+            //var RFHKdownb = roast.Communicator.Read<short>("D35");
+            //var RFHKdownc = roast.Communicator.Read<short>("D1962");
+
+            ////鍐橝GV鍑烘枡
+            //agv.Communicator.Write("DB1002." + doubleValues[13], byte.Parse(RFHKdowna.ToString()));
+            //agv.Communicator.Write("DB1002." + doubleValues[14], byte.Parse(RFHKdownb.ToString()));
+            //agv.Communicator.Write("DB1002." + doubleValues[15], byte.Parse(RFHKdownc.ToString()));
+
+            ////璇籄GV鍑烘枡
+            //var RFAGVdowna = agv.Communicator.Read<byte>("DB1002." + doubleValues[16]);
+            //var RFAGVdownb = agv.Communicator.Read<byte>("DB1002." + doubleValues[17]);
+            //var RFAGVdownc = agv.Communicator.Read<byte>("DB1002." + doubleValues[18]);
+            //var RFAGVdownd = agv.Communicator.Read<byte>("DB1002." + doubleValues[19]);
+            //var RFAGVdowne = agv.Communicator.Read<byte>("DB1002." + doubleValues[20]);
+            //var RFAGVdownf = agv.Communicator.Read<byte>("DB1002." + doubleValues[21]);
+            //var RFAGVdowng = agv.Communicator.Read<bool>("DB1002." + doubleValues[23]);
+
+            ////鍐欑儤鐑ゅ嚭鏂�
+            //roast.Communicator.Write("D1940", RFAGVdowna);
+            //roast.Communicator.Write("D1941", RFAGVdownb);
+            //roast.Communicator.Write("D1957", RFAGVdownc);
+            //roast.Communicator.Write("D1952", RFAGVdownd);
+            //roast.Communicator.Write("D1953", RFAGVdowne);
+            //roast.Communicator.Write("D1958", RFAGVdownf);
+            //roast.Communicator.Write("M692", RFAGVdowng);
+            #endregion
+
+            // 璇荤儤鐑ゆ粴绛掓槸鍚﹁浆鍔�
+            bool[] RHKupFGTZ = new bool[]
+            {
+                roast.Communicator.Read<bool>("YC"),
+                roast.Communicator.Read<bool>("YD"),
+                roast.Communicator.Read<bool>("YE"),
+                roast.Communicator.Read<bool>("YF")
+            };
+
+            // 鍐橝GV婊氱瓛杞姩
+            for (int i = 0; i < RHKupFGTZ.Length; i++)
+            {
+                agv.Communicator.Write($"DB1002.{doubleValues[i]}", RHKupFGTZ[i]);
+            }
+
+            // 璇荤儤鐑ゅ叆鏂�
+            short[] RFHKup = new short[]
+            {
+                roast.Communicator.Read<short>("D1960"),
+                roast.Communicator.Read<short>("D15"),
+                roast.Communicator.Read<short>("D1961"),
+                roast.Communicator.Read<short>("D1950"),
+                roast.Communicator.Read<short>("D1951")
+            };
+
+            // 鍐橝GV鍏ユ枡
+            for (int i = 0; i < RFHKup.Length; i++)
+            {
+                agv.Communicator.Write($"DB1002.{doubleValues[i + 4]}", (byte)RFHKup[i]);
+            }
+
+            // 璇籄GV鍏ユ枡
+
+            short RFAGVa = agv.Communicator.Read<byte>($"DB1002.{doubleValues[9]}");
+            short RFAGVb = agv.Communicator.Read<byte>($"DB1002.{doubleValues[10]}");
+            short RFAGVc = agv.Communicator.Read<byte>($"DB1002.{doubleValues[11]}");
+            short RFAGVd = agv.Communicator.Read<byte>($"DB1002.{doubleValues[12]}");
+            bool RFAGVe = agv.Communicator.Read<bool>($"DB1002.{doubleValues[22]}");
+
+
+            // 鍐欑儤鐑ゅ叆鏂�
+            //string[] writeAddressesUp = new string[] { "D1940", "D1941", "D1955", "D1956", "M691" };
+            //for (int i = 0; i < RFAGVup.Length; i++)
+            //{
+            //    roast.Communicator.Write(writeAddressesUp[i], RFAGVup[i]);
+            //}
+            roast.Communicator.Write("D1940", RFAGVa);
+            roast.Communicator.Write("D1941", RFAGVb);
+            roast.Communicator.Write("D1955", RFAGVc);
+            roast.Communicator.Write("D1956", RFAGVd);
+            roast.Communicator.Write("M691", RFAGVe);
+            // 璇荤儤鐑ゅ嚭鏂�
+            short[] RFHKdown = new short[]
+            {
+                roast.Communicator.Read<short>("D1960"),
+                roast.Communicator.Read<short>("D35"),
+                roast.Communicator.Read<short>("D1962")
+            };
+
+            // 鍐橝GV鍑烘枡
+            for (int i = 0; i < RFHKdown.Length; i++)
+            {
+                agv.Communicator.Write($"DB1002.{doubleValues[i + 13]}", (byte)RFHKdown[i]);
+            }
+
+            // 璇籄GV鍑烘枡
+            short RFAGVdowna = agv.Communicator.Read<byte>($"DB1002.{doubleValues[16]}");
+            short RFAGVdownb = agv.Communicator.Read<byte>($"DB1002.{doubleValues[17]}");
+            short RFAGVdownc = agv.Communicator.Read<byte>($"DB1002.{doubleValues[18]}");
+            short RFAGVdownd = agv.Communicator.Read<byte>($"DB1002.{doubleValues[19]}");
+            short RFAGVdowne = agv.Communicator.Read<byte>($"DB1002.{doubleValues[20]}");
+            short RFAGVdownf = agv.Communicator.Read<byte>($"DB1002.{doubleValues[21]}");
+            bool RFAGVdowng = agv.Communicator.Read<bool>($"DB1002.{doubleValues[23]}");
+
+            // 鍐欑儤鐑ゅ嚭鏂�
+            //string[] writeAddressesDown = new string[] { "D1940", "D1941", "D1957", "D1952", "D1953", "D1958", "M692" };
+            roast.Communicator.Write("D1940", RFAGVdowna);
+            roast.Communicator.Write("D1941", RFAGVdownb);
+            roast.Communicator.Write("D1957", RFAGVdownc);
+            roast.Communicator.Write("D1952", RFAGVdownd);
+            roast.Communicator.Write("D1953", RFAGVdowne);
+            roast.Communicator.Write("D1958", RFAGVdownf);
+            roast.Communicator.Write("M692", RFAGVdowng);
+        }
+
+
+        // 鏍规嵁璁惧绫诲瀷鍜宯umber鐨勫�艰幏鍙栧苟璋冩暣double鍊奸泦鍚�
+        private List<double> GetDoubleValues(bool isPositivePole, int number)
+        {
+            List<double> doubleValues;
+
+            if (isPositivePole)
+            {
+                doubleValues = number < 3
+                    ? new List<double> { 8093.6, 8093.7, 3493.6, 3493.7, 8094.0, 8095.0, 8096.0, 8097.0, 8098.0, 8194.0, 8195.0, 8196.0, 8197.0, 3494.0, 3495.0, 3496.0, 3594.0, 3595.0, 3596.0, 3597.0, 3598.0, 3599.0, 8192.2, 3592.2 }
+                    : new List<double> { 1693.6, 1693.7, 293.6, 293.6, 1694.0, 1695.0, 1696.0, 1697.0, 1698.0, 1794.0, 1795.0, 1796.0, 1797.0, 294.0, 295.0, 296.0, 394.0, 395.0, 396.0, 397.0, 398.0, 399.0, 1792.2, 392.2 };
+            }
+            else // 璐熸瀬
+            {
+                doubleValues = number < 3
+                    ? new List<double> { 8893.6, 8893.7, 9093.6, 9093.7, 8894.0, 8895.0, 8896.0, 8897.0, 8898.0, 8994.0, 8995.0, 8996.0, 8997.0, 9094.0, 9095.0, 9096.0, 9194.0, 9195.0, 9196.0, 9197.0, 9198.0, 9199.0, 8992.2, 9192.2 }
+                    : new List<double> { 4893.6, 4893.7, 5093.6, 5093.6, 4894.0, 4895.0, 4896.0, 4897.0, 4898.0, 4994.0, 4995.0, 4996.0, 4997.0, 5094.0, 5095.0, 5096.0, 5194.0, 5195.0, 5196.0, 5197.0, 5198.0, 5199.0, 4992.2, 5192.2 };
+            }
+
+            // 璋冩暣double闆嗗悎涓殑姣忎釜鍏冪礌
+            int adjustmentFactor = (number < 3 ? (number - 1) : (number - 3)) * 400;
+            return doubleValues.Select(val => val + adjustmentFactor).ToList();
+
+        }
+    }
+}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEA_WCSServer/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWorkF.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEA_WCSServer/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWorkF.cs"
index cde8305..2191e19 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEA_WCSServer/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWorkF.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEA_WCSServer/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWorkF.cs"
@@ -104,7 +104,7 @@
                     aa = tsjplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.11400", agvkpbdownmes.Content.ToArray());
 
                     //璇籥gv
-                    OperateResult<byte[]> agvkcpupmes = fagvthreeplc.SiemensPLCClient.SiemensS7NetClient.Read("DB1002.17900", 100);
+                    OperateResult<byte[]> agvkcpupmes = fagvthreeplc.SiemensPLCClient.SiemensS7NetClient.Read("DB1002.17900", 100);   //璐熸瀬绾夸綋
                     OperateResult<byte[]> agvkcpdownmes = fagvthreeplc.SiemensPLCClient.SiemensS7NetClient.Read("DB1002.18100", 100);
                     //鍐欐彁鍗囨満
                     aa = tsjplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1900", agvkcpupmes.Content.ToArray());
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEA_WCSServer/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWorkThree.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEA_WCSServer/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWorkThree.cs"
index 395cbf9..f599e25 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEA_WCSServer/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWorkThree.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEA_WCSServer/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWorkThree.cs"
@@ -121,35 +121,35 @@
                 OperateResult<byte> RAGVd = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbi + fornum));
                 OperateResult<bool> RAGVe = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002." + (agvdby + fornum));
                 //鍏ユ枡鍙e啓鐑樼
-                OperateResult Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1940", RAGVa.Content);
-                Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1941", RAGVb.Content);
-                Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1955", RAGVc.Content);
-                Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1956", RAGVd.Content);
-                Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("M691", RAGVe.Content);
-                //涓嬫枡鍙h鐑樼
-                OperateResult<short> RHKdowna = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1960");
-                OperateResult<short> RHKdownb = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D35");
-                OperateResult<short> RHKdownc = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1962");
-                //涓嬫枡鍙e啓AGV
-                OperateResult Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbj + fornum), byte.Parse(RHKdowna.Content.ToString()));
-                Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbk + fornum), byte.Parse(RHKdownb.Content.ToString()));
-                Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbl + fornum), byte.Parse(RHKdownc.Content.ToString()));
+                //OperateResult Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1940", RAGVa.Content);
+                //Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1941", RAGVb.Content);
+                //Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1955", RAGVc.Content);
+                //Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1956", RAGVd.Content);
+                //Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("M691", RAGVe.Content);
+                ////涓嬫枡鍙h鐑樼
+                //OperateResult<short> RHKdowna = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1960");
+                //OperateResult<short> RHKdownb = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D35");
+                //OperateResult<short> RHKdownc = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1962");
+                ////涓嬫枡鍙e啓AGV
+                //OperateResult Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbj + fornum), byte.Parse(RHKdowna.Content.ToString()));
+                //Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbk + fornum), byte.Parse(RHKdownb.Content.ToString()));
+                //Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbl + fornum), byte.Parse(RHKdownc.Content.ToString()));
                 //涓嬫枡鍙hAGV
-                OperateResult<byte> RAGVdowna = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbm + fornum));
-                OperateResult<byte> RAGVdownb = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbq + fornum));
-                OperateResult<byte> RAGVdownc = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbr + fornum));
-                OperateResult<byte> RAGVdownd = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbs + fornum));
-                OperateResult<byte> RAGVdowne = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbt + fornum));
-                OperateResult<byte> RAGVdownf = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbx + fornum));
-                OperateResult<bool> RAGVdowng = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002." + (agvdbz + fornum));
-                //涓嬫枡鍙e啓鐑樼
-                OperateResult Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1940", RAGVdowna.Content);
-                Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1941", RAGVdownb.Content);
-                Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1957", RAGVdownc.Content);
-                Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1952", RAGVdownd.Content);
-                Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1953", RAGVdowne.Content);
-                Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1958", RAGVdownf.Content);
-                Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("M692", RAGVdowng.Content);
+                //OperateResult<byte> RAGVdowna = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbm + fornum));
+                //OperateResult<byte> RAGVdownb = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbq + fornum));
+                //OperateResult<byte> RAGVdownc = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbr + fornum));
+                //OperateResult<byte> RAGVdownd = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbs + fornum));
+                //OperateResult<byte> RAGVdowne = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbt + fornum));
+                //OperateResult<byte> RAGVdownf = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbx + fornum));
+                //OperateResult<bool> RAGVdowng = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002." + (agvdbz + fornum));
+                ////涓嬫枡鍙e啓鐑樼
+                //OperateResult Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1940", RAGVdowna.Content);
+                //Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1941", RAGVdownb.Content);
+                //Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1957", RAGVdownc.Content);
+                //Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1952", RAGVdownd.Content);
+                //Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1953", RAGVdowne.Content);
+                //Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1958", RAGVdownf.Content);
+                //Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("M692", RAGVdowng.Content);
 
                 fornum += 400;
             }
@@ -199,9 +199,9 @@
 
                 //鍐橝GV婊氱瓛杞姩
                 OperateResult WupresultGTZ1 = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT1 + fornumthree), RHKupGTZ1.Content);
-                WupresultGTZ1 = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT2 + fornumthree), RHKupGTZ2.Content);
-                WupresultGTZ1 = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT3 + fornumthree), RHKupGTZ3.Content);
-                WupresultGTZ1 = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT4 + fornumthree), RHKupGTZ4.Content);
+                //WupresultGTZ1 = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT2 + fornumthree), RHKupGTZ2.Content);
+                //WupresultGTZ1 = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT3 + fornumthree), RHKupGTZ3.Content);
+                //WupresultGTZ1 = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT4 + fornumthree), RHKupGTZ4.Content);
 
                 //鍏ユ枡鍙h鐑樼
                 OperateResult<short> RHKupa = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1960");
@@ -211,10 +211,10 @@
                 OperateResult<short> RHKupe = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1951");
                 //鍏ユ枡鍙e啓AGV
                 OperateResult Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedba + fornumthree), byte.Parse(RHKupa.Content.ToString()));
-                Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbb + fornumthree), byte.Parse(RHKupb.Content.ToString()));
-                Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbc + fornumthree), byte.Parse(RHKupc.Content.ToString()));
-                Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbd + fornumthree), byte.Parse(RHKupd.Content.ToString()));
-                Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbe + fornumthree), byte.Parse(RHKupe.Content.ToString()));
+                //Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbb + fornumthree), byte.Parse(RHKupb.Content.ToString()));
+                //Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbc + fornumthree), byte.Parse(RHKupc.Content.ToString()));
+                //Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbd + fornumthree), byte.Parse(RHKupd.Content.ToString()));
+                //Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbe + fornumthree), byte.Parse(RHKupe.Content.ToString()));
                 //鍏ユ枡鍙hagv
                 OperateResult<byte> RAGVa = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbf + fornumthree));
                 OperateResult<byte> RAGVb = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbg + fornumthree));
@@ -222,36 +222,36 @@
                 OperateResult<byte> RAGVd = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbi + fornumthree));
                 OperateResult<bool> RAGVe = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002." + (agvthreedby + fornumthree));
                 //鍏ユ枡鍙e啓鐑樼
-                OperateResult Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1940", RAGVa.Content);
-                Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1941", RAGVb.Content);
-                Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1955", RAGVc.Content);
-                Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1956", RAGVd.Content);
-                Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("M691", RAGVe.Content);
-                //涓嬫枡鍙h鐑樼
-                OperateResult<short> RHKdowna = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1960");
-                OperateResult<short> RHKdownb = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D35");
-                OperateResult<short> RHKdownc = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1962");
-                //涓嬫枡鍙e啓AGV
-                OperateResult Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbj + fornumthree), byte.Parse(RHKdowna.Content.ToString()));
+                //OperateResult Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1940", RAGVa.Content);
+                //Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1941", RAGVb.Content);
+                //Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1955", RAGVc.Content);
+                //Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1956", RAGVd.Content);
+                //Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("M691", RAGVe.Content);
+                ////涓嬫枡鍙h鐑樼
+                //OperateResult<short> RHKdowna = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1960");
+                //OperateResult<short> RHKdownb = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D35");
+                //OperateResult<short> RHKdownc = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1962");
+                ////涓嬫枡鍙e啓AGV
+                //OperateResult Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbj + fornumthree), byte.Parse(RHKdowna.Content.ToString()));
                 
-                Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbk + fornumthree), byte.Parse(RHKdownb.Content.ToString()));
-                Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbl + fornumthree), byte.Parse(RHKdownc.Content.ToString()));
-                //涓嬫枡鍙hAGV
-                OperateResult<byte> RAGVdowna = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbm + fornumthree));
-                OperateResult<byte> RAGVdownb = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbq + fornumthree));
-                OperateResult<byte> RAGVdownc = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbr + fornumthree));
-                OperateResult<byte> RAGVdownd = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbs + fornumthree));
-                OperateResult<byte> RAGVdowne = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbt + fornumthree));
-                OperateResult<byte> RAGVdownf = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbx + fornumthree));
-                OperateResult<bool> RAGVdowng = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002." + (agvthreedbz + fornumthree));
-                //涓嬫枡鍙e啓鐑樼
-                OperateResult Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1940", RAGVdowna.Content);
-                Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1941", RAGVdownb.Content);
-                Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1957", RAGVdownc.Content);
-                Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1952", RAGVdownd.Content);
-                Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1953", RAGVdowne.Content);
-                Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1958", RAGVdownf.Content);
-                Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("M692", RAGVdowng.Content);
+                //Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbk + fornumthree), byte.Parse(RHKdownb.Content.ToString()));
+                //Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbl + fornumthree), byte.Parse(RHKdownc.Content.ToString()));
+                ////涓嬫枡鍙hAGV
+                //OperateResult<byte> RAGVdowna = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbm + fornumthree));
+                //OperateResult<byte> RAGVdownb = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbq + fornumthree));
+                //OperateResult<byte> RAGVdownc = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbr + fornumthree));
+                //OperateResult<byte> RAGVdownd = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbs + fornumthree));
+                //OperateResult<byte> RAGVdowne = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbt + fornumthree));
+                //OperateResult<byte> RAGVdownf = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbx + fornumthree));
+                //OperateResult<bool> RAGVdowng = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002." + (agvthreedbz + fornumthree));
+                ////涓嬫枡鍙e啓鐑樼
+                //OperateResult Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1940", RAGVdowna.Content);
+                //Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1941", RAGVdownb.Content);
+                //Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1957", RAGVdownc.Content);
+                //Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1952", RAGVdownd.Content);
+                //Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1953", RAGVdowne.Content);
+                //Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1958", RAGVdownf.Content);
+                //Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("M692", RAGVdowng.Content);
 
                 fornumthree += 400;
             }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEA_WCSServer/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWorkThreeHKFJ.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEA_WCSServer/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWorkThreeHKFJ.cs"
index 68138ed..2035c09 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEA_WCSServer/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWorkThreeHKFJ.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEA_WCSServer/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWorkThreeHKFJ.cs"
@@ -44,7 +44,7 @@
             double agvthreedbFx = 5199.0;
             double agvthreedbFy = 4992.2;
             double agvthreedbFz = 5192.2;
-            List<string> FHKFQSBMegthree = new List<string> {  "璐熸瀬6鍙风儤鐑ゆ満","璐熸瀬7鍙风儤鐑ゆ満", "璐熸瀬8鍙风儤鐑ゆ満", "璐熸瀬9鍙风儤鐑ゆ満", "璐熸瀬10鍙风儤鐑ゆ満" };
+            List<string> FHKFQSBMegthree = new List<string> {  "璐熸瀬7鍙风儤鐑ゆ満"};
             foreach (var FHKSBthree in FHKFQSBMegthree)
             {
                 if (fagvthreeplchk == null)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEA_WCSServer/WIDESEA_WCS/SchedulerExecute/AGV/ToMesggeThreeHKZJ.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEA_WCSServer/WIDESEA_WCS/SchedulerExecute/AGV/ToMesggeThreeHKZJ.cs"
index 91f04a2..709edfb 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEA_WCSServer/WIDESEA_WCS/SchedulerExecute/AGV/ToMesggeThreeHKZJ.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEA_WCSServer/WIDESEA_WCS/SchedulerExecute/AGV/ToMesggeThreeHKZJ.cs"
@@ -30,8 +30,8 @@
             double agvthreedbc = 1696.0;
             double agvthreedbd = 1697.0;
             double agvthreedbe = 1698.0;
-            double agvthreedbf = 1794.0;
-            double agvthreedbg = 1795.0;
+            double agvthreedbf = 1794.0; 
+            double agvthreedbg = 1795.0;  
             double agvthreedbh = 1796.0;
             double agvthreedbi = 1797.0;
             double agvthreedbj = 294.0;
@@ -64,9 +64,9 @@
 
                 //鍐橝GV婊氱瓛杞姩
                 OperateResult WupresultGTZ1 = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT1 + fornumthree), RHKupGTZ1.Content);
-                WupresultGTZ1 = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT2 + fornumthree), RHKupGTZ2.Content);
-                WupresultGTZ1 = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT3 + fornumthree), RHKupGTZ3.Content);
-                WupresultGTZ1 = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT4 + fornumthree), RHKupGTZ4.Content);
+                //WupresultGTZ1 = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT2 + fornumthree), RHKupGTZ2.Content);
+                //WupresultGTZ1 = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT3 + fornumthree), RHKupGTZ3.Content);
+                //WupresultGTZ1 = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT4 + fornumthree), RHKupGTZ4.Content);
 
                 //鍏ユ枡鍙h鐑樼
                 OperateResult<short> RHKupa = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1960");
@@ -76,14 +76,14 @@
                 OperateResult<short> RHKupe = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1951");
                 //鍏ユ枡鍙e啓AGV
                 OperateResult Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedba + fornumthree), byte.Parse(RHKupa.Content.ToString()));
-                Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbb + fornumthree), byte.Parse(RHKupb.Content.ToString()));
-                Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbc + fornumthree), byte.Parse(RHKupc.Content.ToString()));
-                Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbd + fornumthree), byte.Parse(RHKupd.Content.ToString()));
-                Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbe + fornumthree), byte.Parse(RHKupe.Content.ToString()));
+                //Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbb + fornumthree), byte.Parse(RHKupb.Content.ToString()));
+                //Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbc + fornumthree), byte.Parse(RHKupc.Content.ToString()));
+                //Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbd + fornumthree), byte.Parse(RHKupd.Content.ToString()));
+                //Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbe + fornumthree), byte.Parse(RHKupe.Content.ToString()));
                 //鍏ユ枡鍙hagv
-                OperateResult<byte> RAGVa = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbf + fornumthree));
-                OperateResult<byte> RAGVb = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbg + fornumthree));
-                OperateResult<byte> RAGVc = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbh + fornumthree));
+                OperateResult<byte> RAGVa = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbf + fornumthree));//3394
+                OperateResult<byte> RAGVb = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbg + fornumthree));//3395
+                OperateResult<byte> RAGVc = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbh + fornumthree));//3396 1792.2+1600
                 OperateResult<byte> RAGVd = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbi + fornumthree));
                 OperateResult<bool> RAGVe = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002." + (agvthreedby + fornumthree));
                 //鍏ユ枡鍙e啓鐑樼
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEA_WCSServer/WIDESEA_WCSServer/Download/Logger/Queue/WriteError/20250411.txt" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEA_WCSServer/WIDESEA_WCSServer/Download/Logger/Queue/WriteError/20250411.txt"
new file mode 100644
index 0000000..06f3873
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEA_WCSServer/WIDESEA_WCSServer/Download/Logger/Queue/WriteError/20250411.txt"
@@ -0,0 +1,8 @@
+Cannot access destination table 'Sys_Log'.   at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternalRestAsync(CancellationToken cts, TaskCompletionSource`1 source)
+   at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternalAsync(CancellationToken ctoken)
+   at System.Data.SqlClient.SqlBulkCopy.WriteRowSourceToServerAsync(Int32 columnCount, CancellationToken ctoken)
+   at System.Data.SqlClient.SqlBulkCopy.WriteToServer(DataTable table, DataRowState rowState)
+   at System.Data.SqlClient.SqlBulkCopy.WriteToServer(DataTable table)
+   at WIDESEA_Core.Dapper.SqlDapper.MSSqlBulkInsert(DataTable table, String tableName, SqlBulkCopyOptions sqlBulkCopyOptions, String dbKeyName) in E:\KHGITHUB\GanFengLiYeNew\浠g爜绠$悊\WIDESEA_WCSServer\WIDESEA_Core\Dapper\SqlDapper.cs:line 391
+   at WIDESEA_Core.Dapper.SqlDapper.BulkInsert(DataTable table, String tableName, Nullable`1 sqlBulkCopyOptions, String fileName, String tmpPath) in E:\KHGITHUB\GanFengLiYeNew\浠g爜绠$悊\WIDESEA_WCSServer\WIDESEA_Core\Dapper\SqlDapper.cs:line 416
+   at WIDESEA_Core.Services.Logger.Start() in E:\KHGITHUB\GanFengLiYeNew\浠g爜绠$悊\WIDESEA_WCSServer\WIDESEA_Core\Services\Logger.cs:line 143System.Data.SqlClient
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEA_WCSServer/WIDESEA_WCSServer/Download/Logger/Queue/WriteError/20250412.txt" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEA_WCSServer/WIDESEA_WCSServer/Download/Logger/Queue/WriteError/20250412.txt"
new file mode 100644
index 0000000..06f3873
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEA_WCSServer/WIDESEA_WCSServer/Download/Logger/Queue/WriteError/20250412.txt"
@@ -0,0 +1,8 @@
+Cannot access destination table 'Sys_Log'.   at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternalRestAsync(CancellationToken cts, TaskCompletionSource`1 source)
+   at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternalAsync(CancellationToken ctoken)
+   at System.Data.SqlClient.SqlBulkCopy.WriteRowSourceToServerAsync(Int32 columnCount, CancellationToken ctoken)
+   at System.Data.SqlClient.SqlBulkCopy.WriteToServer(DataTable table, DataRowState rowState)
+   at System.Data.SqlClient.SqlBulkCopy.WriteToServer(DataTable table)
+   at WIDESEA_Core.Dapper.SqlDapper.MSSqlBulkInsert(DataTable table, String tableName, SqlBulkCopyOptions sqlBulkCopyOptions, String dbKeyName) in E:\KHGITHUB\GanFengLiYeNew\浠g爜绠$悊\WIDESEA_WCSServer\WIDESEA_Core\Dapper\SqlDapper.cs:line 391
+   at WIDESEA_Core.Dapper.SqlDapper.BulkInsert(DataTable table, String tableName, Nullable`1 sqlBulkCopyOptions, String fileName, String tmpPath) in E:\KHGITHUB\GanFengLiYeNew\浠g爜绠$悊\WIDESEA_WCSServer\WIDESEA_Core\Dapper\SqlDapper.cs:line 416
+   at WIDESEA_Core.Services.Logger.Start() in E:\KHGITHUB\GanFengLiYeNew\浠g爜绠$悊\WIDESEA_WCSServer\WIDESEA_Core\Services\Logger.cs:line 143System.Data.SqlClient
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEA_WCSServer/WIDESEA_WCSServer/Download/Logger/Queue/WriteError/20250413.txt" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEA_WCSServer/WIDESEA_WCSServer/Download/Logger/Queue/WriteError/20250413.txt"
new file mode 100644
index 0000000..06f3873
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEA_WCSServer/WIDESEA_WCSServer/Download/Logger/Queue/WriteError/20250413.txt"
@@ -0,0 +1,8 @@
+Cannot access destination table 'Sys_Log'.   at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternalRestAsync(CancellationToken cts, TaskCompletionSource`1 source)
+   at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternalAsync(CancellationToken ctoken)
+   at System.Data.SqlClient.SqlBulkCopy.WriteRowSourceToServerAsync(Int32 columnCount, CancellationToken ctoken)
+   at System.Data.SqlClient.SqlBulkCopy.WriteToServer(DataTable table, DataRowState rowState)
+   at System.Data.SqlClient.SqlBulkCopy.WriteToServer(DataTable table)
+   at WIDESEA_Core.Dapper.SqlDapper.MSSqlBulkInsert(DataTable table, String tableName, SqlBulkCopyOptions sqlBulkCopyOptions, String dbKeyName) in E:\KHGITHUB\GanFengLiYeNew\浠g爜绠$悊\WIDESEA_WCSServer\WIDESEA_Core\Dapper\SqlDapper.cs:line 391
+   at WIDESEA_Core.Dapper.SqlDapper.BulkInsert(DataTable table, String tableName, Nullable`1 sqlBulkCopyOptions, String fileName, String tmpPath) in E:\KHGITHUB\GanFengLiYeNew\浠g爜绠$悊\WIDESEA_WCSServer\WIDESEA_Core\Dapper\SqlDapper.cs:line 416
+   at WIDESEA_Core.Services.Logger.Start() in E:\KHGITHUB\GanFengLiYeNew\浠g爜绠$悊\WIDESEA_WCSServer\WIDESEA_Core\Services\Logger.cs:line 143System.Data.SqlClient

--
Gitblit v1.9.3