CC/iWareCC_ASRS/Connected Services/StationService/Reference.cs
@@ -472,6 +472,9 @@ private short W_HeightField; [System.Runtime.Serialization.OptionalFieldAttribute()] private bool W_InboundFinishConfirmField; [System.Runtime.Serialization.OptionalFieldAttribute()] private bool W_IsRotateField; [System.Runtime.Serialization.OptionalFieldAttribute()] @@ -598,6 +601,19 @@ if ((this.W_HeightField.Equals(value) != true)) { this.W_HeightField = value; this.RaisePropertyChanged("W_Height"); } } } [System.Runtime.Serialization.DataMemberAttribute()] public bool W_InboundFinishConfirm { get { return this.W_InboundFinishConfirmField; } set { if ((this.W_InboundFinishConfirmField.Equals(value) != true)) { this.W_InboundFinishConfirmField = value; this.RaisePropertyChanged("W_InboundFinishConfirm"); } } } @@ -1419,6 +1435,12 @@ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/WriteQiTaoInfo", ReplyAction="http://tempuri.org/IStationService/WriteQiTaoInfoResponse")] System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> WriteQiTaoInfoAsync(int deviceId, string stationCode, bool value); [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/InboundFinishConfirm", ReplyAction="http://tempuri.org/IStationService/InboundFinishConfirmResponse")] iWareCC.StationService.SdaResEntity InboundFinishConfirm(int deviceId, string stationCode); [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/InboundFinishConfirm", ReplyAction="http://tempuri.org/IStationService/InboundFinishConfirmResponse")] System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> InboundFinishConfirmAsync(int deviceId, string stationCode); [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/WriteInStoreTaskInfo", ReplyAction="http://tempuri.org/IStationService/WriteInStoreTaskInfoResponse")] iWareCC.StationService.SdaResEntity WriteInStoreTaskInfo(int deviceId, string stationCode, string toPlaceNo, short length, short width, short height); @@ -1551,6 +1573,14 @@ return base.Channel.WriteQiTaoInfoAsync(deviceId, stationCode, value); } public iWareCC.StationService.SdaResEntity InboundFinishConfirm(int deviceId, string stationCode) { return base.Channel.InboundFinishConfirm(deviceId, stationCode); } public System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> InboundFinishConfirmAsync(int deviceId, string stationCode) { return base.Channel.InboundFinishConfirmAsync(deviceId, stationCode); } public iWareCC.StationService.SdaResEntity WriteInStoreTaskInfo(int deviceId, string stationCode, string toPlaceNo, short length, short width, short height) { return base.Channel.WriteInStoreTaskInfo(deviceId, stationCode, toPlaceNo, length, width, height); } CC/iWareCC_ASRS/Connected Services/StationService/StationService.wsdl
@@ -69,6 +69,12 @@ <wsdl:message name="IStationService_WriteQiTaoInfo_OutputMessage"> <wsdl:part name="parameters" element="tns:WriteQiTaoInfoResponse" /> </wsdl:message> <wsdl:message name="IStationService_InboundFinishConfirm_InputMessage"> <wsdl:part name="parameters" element="tns:InboundFinishConfirm" /> </wsdl:message> <wsdl:message name="IStationService_InboundFinishConfirm_OutputMessage"> <wsdl:part name="parameters" element="tns:InboundFinishConfirmResponse" /> </wsdl:message> <wsdl:message name="IStationService_WriteInStoreTaskInfo_InputMessage"> <wsdl:part name="parameters" element="tns:WriteInStoreTaskInfo" /> </wsdl:message> @@ -133,6 +139,10 @@ <wsdl:operation name="WriteQiTaoInfo"> <wsdl:input wsaw:Action="http://tempuri.org/IStationService/WriteQiTaoInfo" message="tns:IStationService_WriteQiTaoInfo_InputMessage" /> <wsdl:output wsaw:Action="http://tempuri.org/IStationService/WriteQiTaoInfoResponse" message="tns:IStationService_WriteQiTaoInfo_OutputMessage" /> </wsdl:operation> <wsdl:operation name="InboundFinishConfirm"> <wsdl:input wsaw:Action="http://tempuri.org/IStationService/InboundFinishConfirm" message="tns:IStationService_InboundFinishConfirm_InputMessage" /> <wsdl:output wsaw:Action="http://tempuri.org/IStationService/InboundFinishConfirmResponse" message="tns:IStationService_InboundFinishConfirm_OutputMessage" /> </wsdl:operation> <wsdl:operation name="WriteInStoreTaskInfo"> <wsdl:input wsaw:Action="http://tempuri.org/IStationService/WriteInStoreTaskInfo" message="tns:IStationService_WriteInStoreTaskInfo_InputMessage" /> @@ -243,6 +253,15 @@ <soap:body use="literal" /> </wsdl:output> </wsdl:operation> <wsdl:operation name="InboundFinishConfirm"> <soap:operation soapAction="http://tempuri.org/IStationService/InboundFinishConfirm" style="document" /> <wsdl:input> <soap:body use="literal" /> </wsdl:input> <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> <wsdl:operation name="WriteInStoreTaskInfo"> <soap:operation soapAction="http://tempuri.org/IStationService/WriteInStoreTaskInfo" style="document" /> <wsdl:input> CC/iWareCC_ASRS/Connected Services/StationService/item2.xsd
@@ -155,6 +155,21 @@ </xs:sequence> </xs:complexType> </xs:element> <xs:element name="InboundFinishConfirm"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="deviceId" type="xs:int" /> <xs:element minOccurs="0" name="stationCode" nillable="true" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="InboundFinishConfirmResponse"> <xs:complexType> <xs:sequence> <xs:element xmlns:q11="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="InboundFinishConfirmResult" nillable="true" type="q11:SdaResEntity" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="WriteInStoreTaskInfo"> <xs:complexType> <xs:sequence> @@ -170,7 +185,7 @@ <xs:element name="WriteInStoreTaskInfoResponse"> <xs:complexType> <xs:sequence> <xs:element xmlns:q11="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteInStoreTaskInfoResult" nillable="true" type="q11:SdaResEntity" /> <xs:element xmlns:q12="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteInStoreTaskInfoResult" nillable="true" type="q12:SdaResEntity" /> </xs:sequence> </xs:complexType> </xs:element> @@ -186,7 +201,7 @@ <xs:element name="WriteStation_FinishACKResponse"> <xs:complexType> <xs:sequence> <xs:element xmlns:q12="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteStation_FinishACKResult" nillable="true" type="q12:SdaResEntity" /> <xs:element xmlns:q13="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteStation_FinishACKResult" nillable="true" type="q13:SdaResEntity" /> </xs:sequence> </xs:complexType> </xs:element> @@ -204,7 +219,7 @@ <xs:element name="WriteScanValidateACKResponse"> <xs:complexType> <xs:sequence> <xs:element xmlns:q13="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteScanValidateACKResult" nillable="true" type="q13:SdaResEntity" /> <xs:element xmlns:q14="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteScanValidateACKResult" nillable="true" type="q14:SdaResEntity" /> </xs:sequence> </xs:complexType> </xs:element> @@ -222,7 +237,7 @@ <xs:element name="WriteStation_XigangGetDataForOutResponse"> <xs:complexType> <xs:sequence> <xs:element xmlns:q14="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteStation_XigangGetDataForOutResult" nillable="true" type="q14:SdaResEntity" /> <xs:element xmlns:q15="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteStation_XigangGetDataForOutResult" nillable="true" type="q15:SdaResEntity" /> </xs:sequence> </xs:complexType> </xs:element> CC/iWareCC_ASRS/Connected Services/StationService/item3.xsd
@@ -41,6 +41,7 @@ <xs:element minOccurs="0" name="W_Destination_In" type="xs:int" /> <xs:element minOccurs="0" name="W_Destination_Out" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="W_Height" type="xs:short" /> <xs:element minOccurs="0" name="W_InboundFinishConfirm" type="xs:boolean" /> <xs:element minOccurs="0" name="W_IsRotate" type="xs:boolean" /> <xs:element minOccurs="0" name="W_KittingInfo" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="W_Length" type="xs:short" /> CC/iWareCC_ASRS/ThreadService/02_BZ39¹¤Î»£¨²¹°åºó¹¤Î»£©/Inbound/1¡¢DataProcess_BZ39.cs
@@ -92,10 +92,11 @@ //è®°å½ä»»å¡ var _id = Yitter.IdGenerator.YitIdHelper.NextId(); var plcTaskNo = BusinessHelper.CreatePlcTaskIdForSrmTask(); var task = new wms_rbline_task() { Id = _id, TaskNo = _id.ToString(), TaskNo = plcTaskNo, UPI = upiObj.UPI, Length = upiObj.Length, CC/iWareCC_ASRS/ThreadService/02_BZ39¹¤Î»£¨²¹°åºó¹¤Î»£©/Inbound/2¡¢DataProcess_RobotBuffer_FinishTask.cs
@@ -95,6 +95,21 @@ var place = StationHandler.GetPlaceByPlaceCode(task.PlaceCode, wmsDB); place.PlaceStatus = (int)PlaceStatusEnum.æ£å¸¸; //ç»PLCæ¨éä»»å¡å®æç¡®è®¤ä¿¡å· using (StationServiceClient client = new StationServiceClient()) { var res = await client.InboundFinishConfirmAsync((int)EDevice.Station, rgvLocation); if (!res.result) { SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTask = $"{rgvLocation.ToString()}-ä¸åå ¥åºä»»å¡ 失败,InboundFinishConfirmAsync è¿å:{res.resMsg}"; continue; } else { Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-ä¸åå ¥åºä»»å¡ æå,InboundFinishConfirmAsyncï¼åæ°: ç«ç¹{rgvLocation}"); } } wmsDB.SaveChanges(); } } CC/iWareCC_ASRS/ThreadService/02_BZ39¹¤Î»£¨²¹°åºó¹¤Î»£©/Outbound/1¡¢DataProcess_RobotBuffer_AutoQiTaoOutbound.cs
@@ -60,10 +60,11 @@ //çæåºåºä»»å¡ //è®°å½ä»»å¡ var _id = Yitter.IdGenerator.YitIdHelper.NextId(); var plcTaskNo = BusinessHelper.CreatePlcTaskIdForSrmTask(); var new_task = new wms_rbline_task() { Id = _id, TaskNo = _id.ToString(), TaskNo = plcTaskNo, UPI = x.Upi, Length = x.Length, SDA/iWareSda/Devices/4-Station/StationModel/DB/RgvComm.cs
@@ -118,6 +118,13 @@ /// </summary> [Description("æ¾æYåç§»")] public string W_Y_Offset { get; set; } /// <summary> /// å ¥åºå®æå·²ç¡®è®¤ /// </summary> [Description("å ¥åºå®æå·²ç¡®è®¤")] public bool W_InboundFinishConfirm { get; set; } } /// <summary> SDA/iWareSda/Devices/4-Station/StationModel/DB/RgvDBForRead.cs
@@ -18,80 +18,6 @@ [Description("å¿è·³")] public string R_HandShake { get; set; } /// <summary> /// 1015æ«ç /// </summary> [Description("1015æ«ç ")] public string R_1015_Scan { get; set; } /// <summary> /// 1019æ«ç /// </summary> [Description("1019æ«ç ")] public string R_1019_Scan { get; set; } /// <summary> /// 1019å卿ºçæ«ç /// </summary> [Description("1019å卿ºçæ«ç ")] public string R_1019_CargoNoScan { get; set; } /// <summary> /// 1002æ«ç /// </summary> [Description("1002æ«ç ")] public string R_1002_Scan { get; set; } /// <summary> /// 1004æ«ç /// </summary> [Description("1004æ«ç ")] public string R_1004_Scan { get; set; } /// <summary> /// 1006æ«ç /// </summary> [Description("1006æ«ç ")] public string R_1006_Scan { get; set; } /// <summary> /// 1007æ«ç /// </summary> [Description("1007æ«ç ")] public string R_1007_Scan { get; set; } /// <summary> /// 1009ç1屿£æµå çµ /// </summary> [Description("1009ç1屿£æµå çµ")] public string R_1009_High1 { get; set; } /// <summary> /// 1009ç2屿£æµå çµ /// </summary> [Description("1009ç2屿£æµå çµ")] public string R_1009_High2 { get; set; } /// <summary> /// 1009ç3屿£æµå çµ /// </summary> [Description("1009ç3屿£æµå çµ")] public string R_1009_High3 { get; set; } /// <summary> /// Stationä»»å¡å®æ /// </summary> [Description("Stationä»»å¡å®æ")] public string R_Station_Finish { get; set; } /// <summary> /// Stationå½ååæ /// </summary> [Description("Stationå½ååæ ")] public string R_Station_Coordinate { get; set; } #region 读çç«ç¹ SDA/iWareSda/Devices/4-Station/StationModel/DB/RgvDBForWrite.cs
@@ -19,95 +19,6 @@ [Description("å¿è·³")] public string W_HandShake { get; set; } /// <summary> /// 1015éæ°æ«ç ï¼å为trueè¡¨ç¤ºéæ°æ«ç ï¼å为falseï¼è¡¨ç¤ºå ³ééæ°æ«ç ãå½wcs读å°å¼åï¼å°±å为false /// </summary> [Description("1015éæ°æ«ç ")] public string W_1015_ReScan { get; set; } /// <summary> /// 1019éæ°æ«ç ï¼å为trueè¡¨ç¤ºéæ°æ«ç ï¼å为falseï¼è¡¨ç¤ºå ³ééæ°æ«ç ãå½wcs读å°å¼åï¼å°±å为false /// </summary> [Description("1019éæ°æ«ç ")] public string W_1019_ReScan { get; set; } /// <summary> /// Station_宿ACK /// </summary> [Description("Station_宿ACK")] public string W_Station_FinishACK { get; set; } /// <summary> /// 1002æ«æå¤±è´¥ä¿¡å· /// </summary> [Description("1002æ«æå¤±è´¥ä¿¡å·")] public string W_1002_ScanFailACK { get; set; } /// <summary> /// 1004æ«æå¤±è´¥ä¿¡å· /// </summary> [Description("1004æ«æå¤±è´¥ä¿¡å·")] public string W_1004_ScanFailACK { get; set; } /// <summary> /// 1006æ«æå¤±è´¥ä¿¡å· /// </summary> [Description("1006æ«æå¤±è´¥ä¿¡å·")] public string W_1006_ScanFailACK { get; set; } /// <summary> /// 1007æ«æå¤±è´¥ä¿¡å· /// </summary> [Description("1007æ«æå¤±è´¥ä¿¡å·")] public string W_1007_ScanFailACK { get; set; } /// <summary> /// 1002æ«ææåä¿¡å· /// </summary> [Description("1002æ«ææåä¿¡å·")] public string W_1002_ScanSuccessACK { get; set; } /// <summary> /// 1004æ«ææåä¿¡å· /// </summary> [Description("1004æ«ææåä¿¡å·")] public string W_1004_ScanSuccessACK { get; set; } /// <summary> /// 1006æ«ææåä¿¡å· /// </summary> [Description("1006æ«ææåä¿¡å·")] public string W_1006_ScanSuccessACK { get; set; } /// <summary> /// 1007æ«ææåä¿¡å· /// </summary> [Description("1007æ«ææåä¿¡å·")] public string W_1007_ScanSuccessACK { get; set; } /// <summary> /// åºåºå卿ºçåå· ãEditby shaocx,2023-07-23ã /// </summary> [Description("åºåºå卿ºçåå·")] public string W_Out_MaterialModel { get; set; } /// <summary> /// åºåºå卿ºçè®¢è´§å· ãEditby shaocx,2023-07-23ã /// </summary> [Description("åºåºå卿ºç订货å·")] public string W_Out_OrderNo { get; set; } /// <summary> /// åºåºå卿ºçç¼å· ãEditby shaocx,2023-07-23ã /// </summary> [Description("åºåºå卿ºçç¼å·")] public string W_Out_SerialNumber { get; set; } #region åçç«ç¹ SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs
@@ -199,7 +199,7 @@ if (!b2.result) { msg = string.Format("åStationå°å{0} å " + true + "失败,è¿åç»æ:" + b2.resMsg, this.DBBlockForWrite.W_1015_ReScan); stationObj.W_DataFinish); return false; } int i_result = 0; @@ -215,7 +215,7 @@ if (!b2.result) { msg = string.Format("åStationå°å{0} å " + value + "失败,è¿åç»æ:" + b2.resMsg, this.DBBlockForWrite.W_1015_ReScan); stationObj.W_DataFinish); return false; } return true; @@ -224,7 +224,36 @@ { msg = ex.Message; var logcontext = string.Format("åStationå°å{0} " + value + "åºç°å¼å¸¸:" + JsonConvert.SerializeObject(ex), this.DBBlockForWrite.W_1015_ReScan); ""); Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex); return false; } } public bool InboundFinishConfirm(string stationCode, out string msg) { try { msg = ""; var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_InboundFinishConfirm, true, view_stationObj.W_DataFinish); if (!b2.result) { msg = string.Format("åStationå°å{0} å " + true + "失败,è¿åç»æ:" + b2.resMsg, stationObj.W_InboundFinishConfirm); return false; } return true; } catch (Exception ex) { msg = ex.Message; var logcontext = string.Format("åStatio å ¥åºå®æç¡®è®¤ åºç°å¼å¸¸:" + JsonConvert.SerializeObject(ex), ""); Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex); return false; } @@ -242,7 +271,7 @@ if (!b2.result) { msg = string.Format("åStationå°å{0} å 读ç è§£æå®æ " + true + "失败,è¿åç»æ:" + b2.resMsg, this.DBBlockForWrite.W_1015_ReScan); stationObj.W_DataFinish); return false; } @@ -250,7 +279,7 @@ if (!b2.result) { msg = string.Format("åStationå°å{0} å åºä½å· " + toPlaceNo + "失败,è¿åç»æ:" + b2.resMsg, this.DBBlockForWrite.W_1015_ReScan); stationObj.W_Destination_In); return false; } @@ -258,21 +287,21 @@ if (!b2.result) { msg = string.Format("åStationå°å{0} å é¿åº¦ " + length + "失败,è¿åç»æ:" + b2.resMsg, this.DBBlockForWrite.W_1015_ReScan); stationObj.W_Length); return false; } b2 = this.plcService.WriteValuePoint(stationObj.W_Width, width, view_stationObj.W_Width); if (!b2.result) { msg = string.Format("åStationå°å{0} å 宽度 " + width + "失败,è¿åç»æ:" + b2.resMsg, this.DBBlockForWrite.W_1015_ReScan); stationObj.W_Width); return false; } b2 = this.plcService.WriteValuePoint(stationObj.W_Height, height, view_stationObj.W_Height); if (!b2.result) { msg = string.Format("åStationå°å{0} å é«åº¦ " + height + "失败,è¿åç»æ:" + b2.resMsg, this.DBBlockForWrite.W_1015_ReScan); stationObj.W_Height); return false; } @@ -298,51 +327,8 @@ /// <returns></returns> public bool WriteStation_FinishACK(int deviceId, bool value, int plcTaskId, out string msg) { try { msg = ""; Thread.Sleep(1000);//åç2ç§ MessageModel b2 = this.plcService.WriteValuePoint(this.DBBlockForWrite.W_Station_FinishACK, value, this.View.W_Station_FinishACK); if (!b2.result) { msg = string.Format("åStationå°å{0} å " + value + "失败,è¿åç»æ:" + b2.resMsg, this.DBBlockForWrite.W_Station_FinishACK); Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, msg, null); return false; } //éæ°å读åï¼å¤ææ¯å¦åå ¥æ£ç¡®ï¼å¦æåå ¥ä¸æ£ç¡®ï¼å°±è®¤ä¸ºå¤±è´¥ ãEditby shaocx,2023-04-03ã Thread.Sleep(1000);//åç3ç§ bool finishStation = (bool)this.plcService.ReadValuePoint(this.DBBlockForRead.R_Station_Finish, typeof(bool)); bool finisAck = (bool)this.plcService.ReadValuePoint(this.DBBlockForWrite.W_Station_FinishACK, typeof(bool)); if (finisAck == false && finishStation == true) { this.plcService.WriteValuePoint(this.DBBlockForWrite.W_Station_FinishACK, value, this.View.W_Station_FinishACK);//éå䏿¬¡ 20230503 çé® Thread.Sleep(1000);//åç2ç§ finishStation = (bool)this.plcService.ReadValuePoint(this.DBBlockForRead.R_Station_Finish, typeof(bool)); finisAck = (bool)this.plcService.ReadValuePoint(this.DBBlockForWrite.W_Station_FinishACK, typeof(bool)); if (finisAck == false && finishStation == true) { msg = string.Format("åStationå°å{0} å " + value + "失败,SDAè¿åç»æ:trueï¼ä½æ¯SDA忬¡è¯»åPLCçå°åæ¶ï¼è·åçç»ææ¯FALSEï¼å³è®¤å®ä¸ºåå ¥å¤±è´¥", this.DBBlockForWrite.W_Station_FinishACK); Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, msg, null); return false; } } Log4NetHelper.WriteInfoLog(Station_CacheEntity.curLogType, "åå ¥W_Station_FinishACKï¼" + this.DBBlockForWrite.W_Station_FinishACK + "ï¼å¼ä¸º" + value + "æåï¼å 为PLCä»»å¡å·:" + plcTaskId); return true; } catch (Exception ex) { msg = ex.Message; var logcontext = string.Format("åStationå°å{0} " + value + "åºç°å¼å¸¸:" + JsonConvert.SerializeObject(ex), this.DBBlockForWrite.W_Station_FinishACK); Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex); return false; } } @@ -356,93 +342,7 @@ public bool WriteScanValidateACK(bool isReset, int deviceId, string stationCode, bool value, int plcTaskId, out string msg) { msg = ""; MessageModel b2 = null; string address_fail = ""; string address_success = ""; try { switch (stationCode) { case "1002": address_fail = this.DBBlockForWrite.W_1002_ScanFailACK; address_success = this.DBBlockForWrite.W_1002_ScanSuccessACK; break; case "1004": address_fail = this.DBBlockForWrite.W_1004_ScanFailACK; address_success = this.DBBlockForWrite.W_1004_ScanSuccessACK; break; case "1006": address_fail = this.DBBlockForWrite.W_1006_ScanFailACK; address_success = this.DBBlockForWrite.W_1006_ScanSuccessACK; break; case "1007": address_fail = this.DBBlockForWrite.W_1007_ScanFailACK; address_success = this.DBBlockForWrite.W_1007_ScanSuccessACK; break; default: throw new Exception("䏿¯æçç«ç¹"); } if (isReset) {//æ¯éç½® b2 = this.plcService.WriteValuePoint(address_success, false, this.View.W_1002_ScanSuccessACK); if (!b2.result) { msg = string.Format("åStationå°å{0} å " + false + "失败,è¿åç»æ:" + b2.resMsg, address_success); Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, msg, null); return false; } b2 = this.plcService.WriteValuePoint(address_fail, false, this.View.W_1002_ScanFailACK); if (!b2.result) { msg = string.Format("åStationå°å{0} å " + false + "失败,è¿åç»æ:" + b2.resMsg, address_fail); Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, msg, null); return false; } } else {//䏿¯éç½® if (value) {//è¡¨ç¤ºæ«æéªè¯éè¿ b2 = this.plcService.WriteValuePoint(address_success, true, this.View.W_1002_ScanSuccessACK); if (!b2.result) { msg = string.Format("åStationå°å{0} å " + true + "失败,è¿åç»æ:" + b2.resMsg, address_success); Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, msg, null); return false; } } else {//è¡¨ç¤ºæ«æéªè¯ä¸éè¿ b2 = this.plcService.WriteValuePoint(address_fail, true, this.View.W_1002_ScanFailACK); if (!b2.result) { msg = string.Format("åStationå°å{0} å " + true + "失败,è¿åç»æ:" + b2.resMsg, address_fail); Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, msg, null); return false; } } } Log4NetHelper.WriteInfoLog(Station_CacheEntity.curLogType, "WriteScanFailACKæ¹æ³ï¼åå ¥ åä¸ªå ¥åºå£æ«æå¤±è´¥ACKèµå¼ ScanFailACKï¼" + address_fail + "ï¼å¼ä¸º" + value + "æåï¼å 为PLCä»»å¡å·:" + plcTaskId + ",isReset:" + isReset); return true; } catch (Exception ex) { msg = ex.Message; var logcontext = string.Format("WriteScanFailACKæ¹æ³ï¼åStationå°å{0} " + value + "åºç°å¼å¸¸:" + JsonConvert.SerializeObject(ex), address_fail); if (value) { logcontext = string.Format("WriteScanFailACKæ¹æ³ï¼åStationå°å{0} " + value + "åºç°å¼å¸¸:" + JsonConvert.SerializeObject(ex), address_success); } Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex); return false; } } @@ -646,33 +546,6 @@ try { msg = ""; MessageModel b2 = this.plcService.WriteValuePoint(this.DBBlockForWrite.W_Out_MaterialModel, value__Out_MaterialModel, this.View.W_Out_MaterialModel); if (!b2.result) { msg = string.Format("åStationå°å{0} å " + value__Out_MaterialModel + "失败,è¿åç»æ:" + b2.resMsg, this.DBBlockForWrite.W_Out_MaterialModel); Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, msg, null); return false; } b2 = this.plcService.WriteValuePoint(this.DBBlockForWrite.W_Out_OrderNo, value_Out_OrderNo, this.View.W_Out_OrderNo); if (!b2.result) { msg = string.Format("åStationå°å{0} å " + value_Out_OrderNo + "失败,è¿åç»æ:" + b2.resMsg, this.DBBlockForWrite.W_Out_OrderNo); Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, msg, null); return false; } b2 = this.plcService.WriteValuePoint(this.DBBlockForWrite.W_Out_SerialNumber, value_Out_SerialNumber, this.View.W_Out_SerialNumber); if (!b2.result) { msg = string.Format("åStationå°å{0} å " + value_Out_SerialNumber + "失败,è¿åç»æ:" + b2.resMsg, this.DBBlockForWrite.W_Out_SerialNumber); Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, msg, null); return false; } Log4NetHelper.WriteInfoLog(Station_CacheEntity.curLogType, $"åå ¥ å卿ºåºåºï¼ç»è¥¿æ¸¯PLCåéå卿ºæ°æ®æåï¼ä»»å¡å·{plcTaskId},æºå{value__Out_MaterialModel}ï¼è®¢è´§å·{value_Out_OrderNo},ç¼å·{value_Out_SerialNumber}" + plcTaskId); return true; } catch (Exception ex) SDA/iWareSda/Devices/4-Station/StationModel/Station_CacheEntity.cs
@@ -137,6 +137,7 @@ #region åå ¥ // W_HandShake = W_DBHeaderWithSeparate + "0.0", #endregion }; @@ -178,51 +179,6 @@ return _dbBlockForWrite; } ///// <summary> ///// 读åå°åéåèµå¼ ///// </summary> ///// <param name="_dbBlockForWrite"></param> ///// <param name="_dbBlockForRead"></param> //private static StationDBForWrite SetW_StationForWriteCommList2() //{ // StationDBForWrite _dbBlockForRead = new StationDBForWrite() // { // //TODO:è¿éåé ç½®çDBå°å // #region 读å // W_HandShake = "0.0", // #endregion // }; // //读åå°å // double default_STP = 2.0; // double default_Destination = 4.0; // double default_TaskID = 6.0; // int addValue = 16; // _dbBlockForRead.W_StationForWriteCommList = new List<StationDBForWriteComm>(); // for (int i = 0; i < WareSdaStruct.StationStationList.Count; i++) // { // var stationCode = WareSdaStruct.StationStationList[i]; // if (i > 0) // { // default_STP += addValue; // default_Destination += addValue; // default_TaskID += addValue; // } // _dbBlockForRead.W_StationForWriteCommList.Add(new StationDBForWriteComm() // { // StationCode = stationCode, // W_STP = default_STP.ToString("0.0"), // W_Destination = default_Destination.ToString("0.0"), // W_TaskID = default_TaskID.ToString("0.0"), // }); // } // return _dbBlockForRead; //} /// <summary> /// 读åå°åéåèµå¼ @@ -235,24 +191,9 @@ { //TODO:è¿éåé ç½®çDBå°å #region 读å R_HandShake = R_DBHeaderWithSeparate + "0.0", // R_HandShake = R_DBHeaderWithSeparate + "0.0", //注æï¼è¿éç¨çæ«æçå°åå R_1015_Scan = R_DBHeader_ScanWithSeparate + "48.0", R_1019_Scan = R_DBHeader_ScanWithSeparate + "356.0", R_1019_CargoNoScan = R_DBHeader_ScanWithSeparate + "378.0", R_1002_Scan = R_DBHeader_ScanWithSeparate + "108.0", R_1004_Scan = R_DBHeader_ScanWithSeparate + "168.0", R_1006_Scan = R_DBHeader_ScanWithSeparate + "228.0", R_1007_Scan = R_DBHeader_ScanWithSeparate + "288.0", R_1009_High1 = R_DBHeader_ScanWithSeparate + "300.0", R_1009_High2 = R_DBHeader_ScanWithSeparate + "300.1", R_1009_High3 = R_DBHeader_ScanWithSeparate + "300.2", R_Station_Finish = R_DBHeaderWithSeparate + "349.0", R_Station_Coordinate = R_DBHeader_ScanWithSeparate + "304.0" R_StationForReadCommList = new List<StationDBForReadComm>() #endregion }; SDA/iWareSda/Devices/4-Station/StationService/IStationService.cs
@@ -93,6 +93,15 @@ SdaResEntity WriteQiTaoInfo(int deviceId, string stationCode, bool value); /// <summary> /// å ¥åºå®æå·²ç¡®è®¤ /// </summary> /// <param name="deviceId"></param> /// <param name="value"></param> /// <returns></returns> [OperationContract] SdaResEntity InboundFinishConfirm(int deviceId, string stationCode); /// <summary> /// åå ¥å ¥åºä»»å¡ä¿¡æ¯ /// </summary> /// <param name="deviceId"></param> SDA/iWareSda/Devices/4-Station/StationService/StationService.cs
@@ -439,6 +439,38 @@ } /// <summary> /// å ¥åºå®æå·²ç¡®è®¤ /// </summary> /// <param name="deviceId"></param> /// <param name="value"></param> /// <returns></returns> public SdaResEntity InboundFinishConfirm(int deviceId, string stationCode) { SdaResEntity _SdaResEntity = new SdaResEntity(); try { var StationResult = Station_CacheEntity.GetDeviceObj(deviceId); if (!StationResult.result) { return StationResult; } var Station = StationResult.resData as StationEntity; string msg = ""; var result = Station.InboundFinishConfirm(stationCode, out msg); _SdaResEntity.result = result; _SdaResEntity.resMsg = msg; return _SdaResEntity; } catch (Exception ex) { _SdaResEntity.result = false; _SdaResEntity.resMsg = ex.Message; return _SdaResEntity; } } /// <summary> /// åå ¥å ¥åºä»»å¡ä¿¡æ¯ /// </summary> /// <param name="deviceId"></param>