From c0b66f3dd5801f627fedde442d96dab599be7d9b Mon Sep 17 00:00:00 2001 From: "parallelbgls@outlook.com" Date: Thu, 9 Jul 2015 15:44:19 +0800 Subject: [PATCH] 2015-07-09 update 1 --- Modbus.Net/ModBus.Net/SimenseUtility.cs | 40 +++++++++++++++++-------- 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/Modbus.Net/ModBus.Net/SimenseUtility.cs b/Modbus.Net/ModBus.Net/SimenseUtility.cs index 1d4b033..fa721f4 100644 --- a/Modbus.Net/ModBus.Net/SimenseUtility.cs +++ b/Modbus.Net/ModBus.Net/SimenseUtility.cs @@ -96,23 +96,39 @@ namespace ModBus.Net protected override byte[] GetDatas(byte belongAddress, byte materAddress, string startAddress, int getByteCount) { - var readRequestSimenseInputStruct = new ReadRequestSimenseInputStruct(0xd3c7, SimenseTypeCode.Byte, startAddress, (ushort)getByteCount, AddressTranslator); - var readRequestSimenseOutputStruct = - (ReadRequestSimenseOutputStruct) - Wrapper.SendReceive(Wrapper[typeof(ReadRequestSimenseProtocal)], readRequestSimenseInputStruct); - return readRequestSimenseOutputStruct.GetValue; + try + { + var readRequestSimenseInputStruct = new ReadRequestSimenseInputStruct(0xd3c7, SimenseTypeCode.Byte, startAddress, (ushort)getByteCount, AddressTranslator); + var readRequestSimenseOutputStruct = + (ReadRequestSimenseOutputStruct) + Wrapper.SendReceive(Wrapper[typeof(ReadRequestSimenseProtocal)], readRequestSimenseInputStruct); + return readRequestSimenseOutputStruct.GetValue; + } + catch (Exception) + { + return null; + } + } public override bool SetDatas(byte belongAddress, byte materAddress, string startAddress, object[] setContents) { - var writeRequestSimenseInputStruct = new WriteRequestSimenseInputStruct(0xd3c8, startAddress, setContents, AddressTranslator); - var writeRequestSimenseOutputStruct = - (WriteRequestSimenseOutputStruct) - Wrapper.SendReceive(Wrapper[typeof(WriteRequestSimenseProtocal)], writeRequestSimenseInputStruct); - if (writeRequestSimenseOutputStruct.AccessResult == SimenseAccessResult.NoError) - return true; - else + try + { + var writeRequestSimenseInputStruct = new WriteRequestSimenseInputStruct(0xd3c8, startAddress, setContents, AddressTranslator); + var writeRequestSimenseOutputStruct = + (WriteRequestSimenseOutputStruct) + Wrapper.SendReceive(Wrapper[typeof(WriteRequestSimenseProtocal)], writeRequestSimenseInputStruct); + if (writeRequestSimenseOutputStruct.AccessResult == SimenseAccessResult.NoError) + return true; + else + return false; + } + catch (Exception) + { return false; + } + } public override DateTime GetTime(byte belongAddress)