From ba449717184ae09590aaead8a7240103b26cec5e Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周三, 23 7月 2025 10:18:59 +0800 Subject: [PATCH] 写入(需要验证是否真正写入了) --- SDA/iWareSda/PLCService/Default/Siemens_HslCommunicationService.cs | 52 ++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 48 insertions(+), 4 deletions(-) diff --git a/SDA/iWareSda/PLCService/Default/Siemens_HslCommunicationService.cs b/SDA/iWareSda/PLCService/Default/Siemens_HslCommunicationService.cs index 9b51075..8884027 100644 --- a/SDA/iWareSda/PLCService/Default/Siemens_HslCommunicationService.cs +++ b/SDA/iWareSda/PLCService/Default/Siemens_HslCommunicationService.cs @@ -142,16 +142,60 @@ return fre; } + //public override MessageModel WriteValuePoint(string fullAddress, object value, object proObj) + //{ + // if (string.IsNullOrEmpty(fullAddress)) + // { + // return new MessageModel() { result = false, resMsg = "鍦板潃涓虹┖" }; + // } + // var arr = fullAddress.Split(WareSdaStruct.PLCDBADDRESS_SEPARATE); + // string dbNumber = arr[0]; + // string offset = arr[1]; + // return WriteValuePoint(dbNumber, offset, value, proObj); + //} + + /// <summary> + /// 鍐欏叆鏂规硶(闇�瑕侀獙璇佹槸鍚︾湡姝e啓鍏ヤ簡) 銆怑ditby shaocx,2025-07-16銆� + /// </summary> + /// <param name="fullAddress"></param> + /// <param name="value"></param> + /// <param name="proObj"></param> + /// <returns></returns> public override MessageModel WriteValuePoint(string fullAddress, object value, object proObj) { - if (string.IsNullOrEmpty(fullAddress)) + return WriteValuePointForReValidateWriteSucess(fullAddress, value, proObj); + } + /// <summary> + /// 鍐欏叆(闇�瑕侀獙璇佹槸鍚︾湡姝e啓鍏ヤ簡) + /// </summary> + /// <param name="fullAddress"></param> + /// <param name="value"></param> + /// <param name="proObj"></param> + /// <returns></returns> + public override MessageModel WriteValuePointForReValidateWriteSucess(string fullAddress, object value, object proObj) + { + if (string.IsNullOrEmpty(fullAddress)) return new MessageModel() { - return new MessageModel() { result = false, resMsg = "鍦板潃涓虹┖" }; - } + result = false, + resMsg = "鍦板潃鏄┖鐨�" + }; var arr = fullAddress.Split(WareSdaStruct.PLCDBADDRESS_SEPARATE); string dbNumber = arr[0]; string offset = arr[1]; - return WriteValuePoint(dbNumber, offset, value, proObj); + var ret = WriteValuePoint(dbNumber, offset, value, proObj); + if (ret.result == false) return ret; + + //闇�瑕侀噸鏂拌鍙栦笅 + var readRet = ReadValuePoint(dbNumber, offset, proObj.GetType()); + if (readRet?.ToString() != value?.ToString()) + { + return new MessageModel() + { + result = false, + resMsg = $"鍐欏叆鐨勫�納value}璺熻鍙栫殑鍊納readRet}涓嶇,dbNumber:{dbNumber},offset:{offset}" + }; + } + return ret; } /// <summary> -- Gitblit v1.9.3