Example #1
0
 public static bool TryParse(string addressString, out LsAddress lsAddress)
 {
     lsAddress = null;
     if (!ValidateAddressString(ref addressString))
     {
         return(false);
     }
     lsAddress = ParseString(addressString);
     return(true);
 }
Example #2
0
        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);
        }