public EnumeratedValue GetValueForMeter(SpatialValue value, ISOEnumeratedMeter meter)
        {
            if (Convert.ToInt32(value.DataLogValue.ProcessDataDDI, 16) != DDI)
            {
                return(null);
            }

            byte twoBitsValue = GetValue((int)value.Value, meter.DeviceElementUseId);

            ApplicationDataModel.Representations.EnumerationMember enumMember = DefinedTypeEnumerationInstanceList.dtiUnloadingAugerStateError.ToModelEnumMember();

            if (twoBitsValue == 0)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiUnloadingAugerStateDisabled.ToModelEnumMember();
            }
            else if (twoBitsValue == 1)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiUnloadingAugerStateEnabled.ToModelEnumMember();
            }
            else if (twoBitsValue == 2)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiUnloadingAugerStateError.ToModelEnumMember();
            }
            else if (twoBitsValue == 3)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiUnloadingAugerStateNotAvailable.ToModelEnumMember();
            }

            return(new EnumeratedValue
            {
                Representation = meter.Representation as ApplicationDataModel.Representations.EnumeratedRepresentation,
                Value = enumMember,
                Code = enumMember.Code
            });
        }
        public EnumeratedValue GetValueForMeter(SpatialValue value, ISOEnumeratedMeter meter)
        {
            if (Convert.ToInt32(value.DataLogValue.ProcessDataDDI, 16) != DDI)
            {
                return(null);
            }

            ApplicationDataModel.Representations.EnumerationMember enumMember = null;

            if (value.Value == 1)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiDrawbar.ToModelEnumMember();
            }
            else if (value.Value == 2)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiRearTwoPoint.ToModelEnumMember();
            }
            else if (value.Value == 3)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiThreePoint.ToModelEnumMember();
            }
            else if (value.Value == 7)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiRearPivotWagonHitch.ToModelEnumMember();
            }

            if (enumMember == null)
            {
                return(null);
            }

            return(new EnumeratedValue
            {
                Representation = meter.Representation as ApplicationDataModel.Representations.EnumeratedRepresentation,
                Value = enumMember,
                Code = enumMember.Code
            });
        }
Пример #3
0
        public EnumeratedValue GetValueForMeter(SpatialValue value, EnumeratedWorkingData meter)
        {
            if (Convert.ToInt32(value.Dlv.A, 16) != DDI)
            {
                return(null);
            }

            ApplicationDataModel.Representations.EnumerationMember enumMember = DefinedTypeEnumerationInstanceList.dtiSCMasterUndefined.ToModelEnumMember();

            var reservedBitsMask  = 0x00000003;
            var valueLowerTwoBits = (int)value.Value & reservedBitsMask;

            if (valueLowerTwoBits == 0)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiSCMasterManualOff.ToModelEnumMember();
            }
            else if (valueLowerTwoBits == 1)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiSCMasterAutoOn.ToModelEnumMember();
            }
            else if (valueLowerTwoBits == 2)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiSCMasterError.ToModelEnumMember();
            }
            else if (valueLowerTwoBits == 3)
            {
                enumMember = DefinedTypeEnumerationInstanceList.dtiSCMasterUndefined.ToModelEnumMember();
            }

            return(new EnumeratedValue
            {
                Representation = meter.Representation as ApplicationDataModel.Representations.EnumeratedRepresentation,
                Value = enumMember,
                Code = enumMember.Code
            });
        }