public static bool TryParse(string addressString, out LsAddress lsAddress) { lsAddress = null; if (!ValidateAddressString(ref addressString)) { return(false); } lsAddress = ParseString(addressString); return(true); }
private static LsAddress ParseString(string addressString) { var dataType = GetDataType(addressString); var addressTuple = GetAddressTuple(addressString); LsAddress address = new LsAddress { LsDataType = dataType, StartAddressBit = GetValidAddressInPlcRange(addressTuple.Item1, dataType), EndAddressBit = addressTuple.Item2 != null ? GetValidAddressInPlcRange(addressTuple.Item2.Value, dataType) : GetValidAddressInPlcRange(addressTuple.Item1 + 1, dataType), MemoryAddress = addressString.Split(',')[0] }; address.DataTypeInstructionHeaderBytes = GetDataTypeInstructionHeaderBytes(address.LsDataType); return(address); }