示例#1
0
            public DatumAddress CreateAddress(int numericValue)
            {
                if (!IsValid(numericValue))
                {
                    throw new ArgumentOutOfRangeException();
                }

                var raw = ComputeAddress(numericValue);

                switch (Kind)
                {
                case DatumAddressKind.Coil:
                    return(CoilAddress.FromRawValue(raw));

                case DatumAddressKind.Input:
                    return(InputAddress.FromRawValue(raw));

                case DatumAddressKind.HoldingRegister:
                    return(HoldingRegisterAddress.FromRawValue(raw));

                case DatumAddressKind.InputRegister:
                    return(InputRegisterAddress.FromRawValue(raw));

                default:
                    throw new ApplicationException();
                }
            }
示例#2
0
 private static Tuple <DatumAddress, Type, int> CreateCoil(int numericValue, int baseValue)
 {
     return(Tuple.Create((DatumAddress)CoilAddress.FromInteger(numericValue), typeof(bool), 1));
 }