From 00f88de97d7ff3bdca5a445f17fa25c3fd28a1db Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周六, 23 11月 2024 14:07:23 +0800 Subject: [PATCH] 222 --- SDA/iWareSda/Devices/4-Station/StationService/StationService.cs | 33 ++++++++ SDA/iWareSda/Devices/4-Station/StationService/IStationService.cs | 11 ++ CC/iWareCC_ASRS/ThreadService/02_BZ39工位(补板后工位)/DataProcess_RobotBuffer_ModeChange.cs | 28 +++--- CC/iWareCC_ASRS/Connected Services/StationService/item3.xsd | 5 CC/iWareCC_ASRS/Connected Services/StationService/Reference.cs | 38 ++++++++- SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs | 35 ++++++++ SDA/iWareSda/Devices/4-Station/StationModel/DB/RgvComm.cs | 6 + CC/iWareCC_ASRS/Connected Services/StationService/StationService.wsdl | 19 ++++ CC/iWareCC_ASRS/Connected Services/StationService/item2.xsd | 26 +++++- 9 files changed, 176 insertions(+), 25 deletions(-) diff --git a/CC/iWareCC_ASRS/Connected Services/StationService/Reference.cs b/CC/iWareCC_ASRS/Connected Services/StationService/Reference.cs index 5a6b0be..2e97070 100644 --- a/CC/iWareCC_ASRS/Connected Services/StationService/Reference.cs +++ b/CC/iWareCC_ASRS/Connected Services/StationService/Reference.cs @@ -507,7 +507,7 @@ private bool W_InboundFinishConfirmField; [System.Runtime.Serialization.OptionalFieldAttribute()] - private int W_Inbound_TaskIDField; + private short W_Inbound_TaskIDField; [System.Runtime.Serialization.OptionalFieldAttribute()] private bool W_IsRotateField; @@ -519,10 +519,13 @@ private short W_LengthField; [System.Runtime.Serialization.OptionalFieldAttribute()] + private short W_ModeField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] private bool W_OutboundFinishConfirmField; [System.Runtime.Serialization.OptionalFieldAttribute()] - private int W_Outbound_TaskIDField; + private short W_Outbound_TaskIDField; [System.Runtime.Serialization.OptionalFieldAttribute()] private string W_PackageLengthField; @@ -657,7 +660,7 @@ } [System.Runtime.Serialization.DataMemberAttribute()] - public int W_Inbound_TaskID { + public short W_Inbound_TaskID { get { return this.W_Inbound_TaskIDField; } @@ -709,6 +712,19 @@ } [System.Runtime.Serialization.DataMemberAttribute()] + public short W_Mode { + get { + return this.W_ModeField; + } + set { + if ((this.W_ModeField.Equals(value) != true)) { + this.W_ModeField = value; + this.RaisePropertyChanged("W_Mode"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] public bool W_OutboundFinishConfirm { get { return this.W_OutboundFinishConfirmField; @@ -722,7 +738,7 @@ } [System.Runtime.Serialization.DataMemberAttribute()] - public int W_Outbound_TaskID { + public short W_Outbound_TaskID { get { return this.W_Outbound_TaskIDField; } @@ -1511,6 +1527,12 @@ [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/OutboundFinishConfirm", ReplyAction="http://tempuri.org/IStationService/OutboundFinishConfirmResponse")] System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> OutboundFinishConfirmAsync(int deviceId, bool value, string stationCode); + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/ChangeMode", ReplyAction="http://tempuri.org/IStationService/ChangeModeResponse")] + iWareCC.StationService.SdaResEntity ChangeMode(int deviceId, int value, string stationCode); + + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/ChangeMode", ReplyAction="http://tempuri.org/IStationService/ChangeModeResponse")] + System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> ChangeModeAsync(int deviceId, int value, 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, int inbound_TaskID); @@ -1665,6 +1687,14 @@ return base.Channel.OutboundFinishConfirmAsync(deviceId, value, stationCode); } + public iWareCC.StationService.SdaResEntity ChangeMode(int deviceId, int value, string stationCode) { + return base.Channel.ChangeMode(deviceId, value, stationCode); + } + + public System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> ChangeModeAsync(int deviceId, int value, string stationCode) { + return base.Channel.ChangeModeAsync(deviceId, value, stationCode); + } + public iWareCC.StationService.SdaResEntity WriteInStoreTaskInfo(int deviceId, string stationCode, string toPlaceNo, short length, short width, short height, int inbound_TaskID) { return base.Channel.WriteInStoreTaskInfo(deviceId, stationCode, toPlaceNo, length, width, height, inbound_TaskID); } diff --git a/CC/iWareCC_ASRS/Connected Services/StationService/StationService.wsdl b/CC/iWareCC_ASRS/Connected Services/StationService/StationService.wsdl index b205f97..d4f511e 100644 --- a/CC/iWareCC_ASRS/Connected Services/StationService/StationService.wsdl +++ b/CC/iWareCC_ASRS/Connected Services/StationService/StationService.wsdl @@ -81,6 +81,12 @@ <wsdl:message name="IStationService_OutboundFinishConfirm_OutputMessage"> <wsdl:part name="parameters" element="tns:OutboundFinishConfirmResponse" /> </wsdl:message> + <wsdl:message name="IStationService_ChangeMode_InputMessage"> + <wsdl:part name="parameters" element="tns:ChangeMode" /> + </wsdl:message> + <wsdl:message name="IStationService_ChangeMode_OutputMessage"> + <wsdl:part name="parameters" element="tns:ChangeModeResponse" /> + </wsdl:message> <wsdl:message name="IStationService_WriteInStoreTaskInfo_InputMessage"> <wsdl:part name="parameters" element="tns:WriteInStoreTaskInfo" /> </wsdl:message> @@ -159,6 +165,10 @@ <wsdl:operation name="OutboundFinishConfirm"> <wsdl:input wsaw:Action="http://tempuri.org/IStationService/OutboundFinishConfirm" message="tns:IStationService_OutboundFinishConfirm_InputMessage" /> <wsdl:output wsaw:Action="http://tempuri.org/IStationService/OutboundFinishConfirmResponse" message="tns:IStationService_OutboundFinishConfirm_OutputMessage" /> + </wsdl:operation> + <wsdl:operation name="ChangeMode"> + <wsdl:input wsaw:Action="http://tempuri.org/IStationService/ChangeMode" message="tns:IStationService_ChangeMode_InputMessage" /> + <wsdl:output wsaw:Action="http://tempuri.org/IStationService/ChangeModeResponse" message="tns:IStationService_ChangeMode_OutputMessage" /> </wsdl:operation> <wsdl:operation name="WriteInStoreTaskInfo"> <wsdl:input wsaw:Action="http://tempuri.org/IStationService/WriteInStoreTaskInfo" message="tns:IStationService_WriteInStoreTaskInfo_InputMessage" /> @@ -291,6 +301,15 @@ <soap:body use="literal" /> </wsdl:output> </wsdl:operation> + <wsdl:operation name="ChangeMode"> + <soap:operation soapAction="http://tempuri.org/IStationService/ChangeMode" 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> diff --git a/CC/iWareCC_ASRS/Connected Services/StationService/item2.xsd b/CC/iWareCC_ASRS/Connected Services/StationService/item2.xsd index 8da0c43..22273e5 100644 --- a/CC/iWareCC_ASRS/Connected Services/StationService/item2.xsd +++ b/CC/iWareCC_ASRS/Connected Services/StationService/item2.xsd @@ -187,6 +187,22 @@ </xs:sequence> </xs:complexType> </xs:element> + <xs:element name="ChangeMode"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="deviceId" type="xs:int" /> + <xs:element minOccurs="0" name="value" type="xs:int" /> + <xs:element minOccurs="0" name="stationCode" nillable="true" type="xs:string" /> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="ChangeModeResponse"> + <xs:complexType> + <xs:sequence> + <xs:element xmlns:q13="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="ChangeModeResult" nillable="true" type="q13:SdaResEntity" /> + </xs:sequence> + </xs:complexType> + </xs:element> <xs:element name="WriteInStoreTaskInfo"> <xs:complexType> <xs:sequence> @@ -203,7 +219,7 @@ <xs:element name="WriteInStoreTaskInfoResponse"> <xs:complexType> <xs:sequence> - <xs:element xmlns:q13="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteInStoreTaskInfoResult" nillable="true" type="q13:SdaResEntity" /> + <xs:element xmlns:q14="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteInStoreTaskInfoResult" nillable="true" type="q14:SdaResEntity" /> </xs:sequence> </xs:complexType> </xs:element> @@ -220,7 +236,7 @@ <xs:element name="WriteOutStoreTaskInfoResponse"> <xs:complexType> <xs:sequence> - <xs:element xmlns:q14="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteOutStoreTaskInfoResult" nillable="true" type="q14:SdaResEntity" /> + <xs:element xmlns:q15="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteOutStoreTaskInfoResult" nillable="true" type="q15:SdaResEntity" /> </xs:sequence> </xs:complexType> </xs:element> @@ -236,7 +252,7 @@ <xs:element name="WriteStation_FinishACKResponse"> <xs:complexType> <xs:sequence> - <xs:element xmlns:q15="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteStation_FinishACKResult" nillable="true" type="q15:SdaResEntity" /> + <xs:element xmlns:q16="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteStation_FinishACKResult" nillable="true" type="q16:SdaResEntity" /> </xs:sequence> </xs:complexType> </xs:element> @@ -254,7 +270,7 @@ <xs:element name="WriteScanValidateACKResponse"> <xs:complexType> <xs:sequence> - <xs:element xmlns:q16="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteScanValidateACKResult" nillable="true" type="q16:SdaResEntity" /> + <xs:element xmlns:q17="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteScanValidateACKResult" nillable="true" type="q17:SdaResEntity" /> </xs:sequence> </xs:complexType> </xs:element> @@ -272,7 +288,7 @@ <xs:element name="WriteStation_XigangGetDataForOutResponse"> <xs:complexType> <xs:sequence> - <xs:element xmlns:q17="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteStation_XigangGetDataForOutResult" nillable="true" type="q17:SdaResEntity" /> + <xs:element xmlns:q18="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteStation_XigangGetDataForOutResult" nillable="true" type="q18:SdaResEntity" /> </xs:sequence> </xs:complexType> </xs:element> diff --git a/CC/iWareCC_ASRS/Connected Services/StationService/item3.xsd b/CC/iWareCC_ASRS/Connected Services/StationService/item3.xsd index 6a02b02..db171e8 100644 --- a/CC/iWareCC_ASRS/Connected Services/StationService/item3.xsd +++ b/CC/iWareCC_ASRS/Connected Services/StationService/item3.xsd @@ -44,12 +44,13 @@ <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_Inbound_TaskID" type="xs:int" /> + <xs:element minOccurs="0" name="W_Inbound_TaskID" type="xs:short" /> <xs:element minOccurs="0" name="W_IsRotate" type="xs:boolean" /> <xs:element minOccurs="0" name="W_KittingInfo" type="xs:short" /> <xs:element minOccurs="0" name="W_Length" type="xs:short" /> + <xs:element minOccurs="0" name="W_Mode" type="xs:short" /> <xs:element minOccurs="0" name="W_OutboundFinishConfirm" type="xs:boolean" /> - <xs:element minOccurs="0" name="W_Outbound_TaskID" type="xs:int" /> + <xs:element minOccurs="0" name="W_Outbound_TaskID" type="xs:short" /> <xs:element minOccurs="0" name="W_PackageLength" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="W_PackageWidth" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="W_ReqOut" type="xs:boolean" /> diff --git "a/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/DataProcess_RobotBuffer_ModeChange.cs" "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/DataProcess_RobotBuffer_ModeChange.cs" index d148dc0..082f504 100644 --- "a/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/DataProcess_RobotBuffer_ModeChange.cs" +++ "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/DataProcess_RobotBuffer_ModeChange.cs" @@ -36,7 +36,7 @@ { if (SystemValue.isAllowRuning_DataProcess_RobotBuffer_ModeChange && SystemValue.isStartedModel) { - + var rgvLocation = StationLocationEnum.BZ39.ToString(); if (FormCC.IsAllowRunOutMode) { using (WmsDBModel wmsDB = new WmsDBModel()) @@ -52,19 +52,19 @@ rbRunMode.UpdateTime = DateTime.Now; //鎺ㄩ�佺粰PLC鍒囨崲妯″紡 - //using (StationServiceClient client = new StationServiceClient()) - //{ - // var res = await client.WriteOutStoreTaskInfoAsync((int)EDevice.Station, rgvLocation, doTask.PlaceCode, Convert.ToInt32(doTask.TaskNo)); - // if (!res.result) - // { - // SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_ModeChange = $"{rgvLocation.ToString()}-涓嬪彂鍑哄簱浠诲姟 澶辫触,WriteOutStoreTaskInfoAsync 杩斿洖:{res.resMsg}"; - // continue; - // } - // else - // { - // Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-涓嬪彂鍑哄簱浠诲姟 鎴愬姛,WriteOutStoreTaskInfoAsync锛屽弬鏁�: 绔欑偣{rgvLocation}"); - // } - //} + using (StationServiceClient client = new StationServiceClient()) + { + var res = await client.ChangeModeAsync((int)EDevice.Station, (int)RbRunModeEnum.鍑哄簱妯″紡, rgvLocation); + if (!res.result) + { + SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_ModeChange = $"{rgvLocation.ToString()}-鎺ㄩ�佺粰PLC鍒囨崲妯″紡 澶辫触,ChangeModeAsync 杩斿洖:{res.resMsg}"; + continue; + } + else + { + Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-鎺ㄩ�佺粰PLC鍒囨崲妯″紡 鎴愬姛,ChangeModeAsync锛屽弬鏁�: 绔欑偣{rgvLocation}"); + } + } wmsDB.SaveChanges(); diff --git a/SDA/iWareSda/Devices/4-Station/StationModel/DB/RgvComm.cs b/SDA/iWareSda/Devices/4-Station/StationModel/DB/RgvComm.cs index 4bc889b..3018e1a 100644 --- a/SDA/iWareSda/Devices/4-Station/StationModel/DB/RgvComm.cs +++ b/SDA/iWareSda/Devices/4-Station/StationModel/DB/RgvComm.cs @@ -137,6 +137,12 @@ [Description("鍑哄簱瀹屾垚宸茬‘璁�")] public bool W_OutboundFinishConfirm { get; set; } + /// <summary> + /// 妯″紡锛�1锛氬叆搴擄紝 2锛氬嚭搴� 3锛氬己鍒跺嚭搴擄級 + /// </summary> + [Description("妯″紡锛�1锛氬叆搴擄紝 2锛氬嚭搴� 3锛氬己鍒跺嚭搴擄級")] + public short W_Mode { get; set; } + } /// <summary> diff --git a/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs b/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs index 368ac29..9eaee7b 100644 --- a/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs +++ b/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs @@ -290,6 +290,41 @@ } } + /// <summary> + /// 鍒囨崲妯″紡 + /// </summary> + /// <param name="stationCode"></param> + /// <param name="value"></param> + /// <param name="msg"></param> + /// <returns></returns> + public bool ChangeMode(string stationCode, int value, 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_Mode, value, view_stationObj.W_Mode); + if (!b2.result) + { + msg = string.Format("鍚慡tation 鍒囨崲妯″紡 鍦板潃{0} 鍐� " + value + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg, + stationObj.W_Mode); + return false; + } + + return true; + } + catch (Exception ex) + { + msg = ex.Message; + var logcontext = string.Format("鍚慡tatio 鍒囨崲妯″紡 鍑虹幇寮傚父:" + JsonConvert.SerializeObject(ex), + ""); + Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex); + return false; + } + } + public bool WriteInStoreTaskInfo(string stationCode, string toPlaceNo, short length, short width, short height, out string msg, int inbound_TaskID) { try diff --git a/SDA/iWareSda/Devices/4-Station/StationService/IStationService.cs b/SDA/iWareSda/Devices/4-Station/StationService/IStationService.cs index ab94395..67113d8 100644 --- a/SDA/iWareSda/Devices/4-Station/StationService/IStationService.cs +++ b/SDA/iWareSda/Devices/4-Station/StationService/IStationService.cs @@ -110,6 +110,17 @@ [OperationContract] SdaResEntity OutboundFinishConfirm(int deviceId, bool value, string stationCode); + + /// <summary> + /// 鍒囨崲妯″紡 + /// </summary> + /// <param name="deviceId"></param> + /// <param name="value"></param> + /// <param name="stationCode"></param> + /// <returns></returns> + [OperationContract] + SdaResEntity ChangeMode(int deviceId, int value, string stationCode); + /// <summary> /// 鍐欏叆鍏ュ簱浠诲姟淇℃伅 /// </summary> diff --git a/SDA/iWareSda/Devices/4-Station/StationService/StationService.cs b/SDA/iWareSda/Devices/4-Station/StationService/StationService.cs index 90b9047..8fc043f 100644 --- a/SDA/iWareSda/Devices/4-Station/StationService/StationService.cs +++ b/SDA/iWareSda/Devices/4-Station/StationService/StationService.cs @@ -503,6 +503,39 @@ } /// <summary> + /// 鍒囨崲妯″紡 + /// </summary> + /// <param name="deviceId"></param> + /// <param name="value"></param> + /// <param name="stationCode"></param> + /// <returns></returns> + public SdaResEntity ChangeMode(int deviceId, int value, 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.ChangeMode(stationCode, value, 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> -- Gitblit v1.9.3