//internal API
        internal override NodeDesign Export(List <string> path, Action <InstanceDesign, List <string> > createInstanceType)
        {
            PropertyDesign _ret = new PropertyDesign();

            base.Update(_ret, path, createInstanceType);
            return(_ret);
        }
Ejemplo n.º 2
0
        private static void GetEUTYPE(VariableDesign var, SortedDictionary <int, Opc.Da.ItemProperty> prprts)
        {
            if (!prprts.ContainsKey(Opc.Da.Property.EUTYPE.Code))
            {
                return;
            }
            Opc.Da.ItemProperty eut = prprts[Opc.Da.Property.EUTYPE.Code];
            if (eut.Value == null)
            {
                return;
            }
            switch ((Opc.Da.euType)eut.Value)
            {
            case Opc.Da.euType.analog:
            {
                var.TypeDefinition = GetAnalogItemType();
                Opc.Da.ItemProperty higheu = null;
                Opc.Da.ItemProperty loweu  = null;
                if (prprts.ContainsKey(Opc.Da.Property.HIGHEU.Code))
                {
                    higheu = prprts[Opc.Da.Property.HIGHEU.Code];
                }
                if (prprts.ContainsKey(Opc.Da.Property.LOWEU.Code))
                {
                    loweu = prprts[Opc.Da.Property.LOWEU.Code];
                }
                if (higheu != null && loweu != null)
                {
                    PropertyDesign prop = new PropertyDesign()
                    {
                        SymbolicName = CreateXmlQualifiedName(BrowseNames.EURange),
                        DataType     = CreateXmlQualifiedName(BrowseNames.Range),
                        DefaultValue = CAS.UA.Common.Types.Range.CreateRange(higheu, loweu).XmlElement,
                        ValueRank    = ValueRank.Scalar,
                        AccessLevel  = AccessLevel.Read
                    };
                    var.Children = new ListOfChildren()
                    {
                        Items = new InstanceDesign[] { prop }
                    };
                }
                break;
            }

            case Opc.Da.euType.enumerated:
                var.TypeDefinition = GetMultiStateDiscreteType();
                break;

            case Opc.Da.euType.noEnum:
                var.TypeDefinition = GetTwoStateDiscreteType();
                break;

            default:
                break;
            }
        }
Ejemplo n.º 3
0
 private static void Compare(PropertyDesign expected, PropertyDesign actual)
 {
     Assert.IsNotNull(expected);
     Assert.IsNotNull(actual);
     Compare((VariableDesign)expected, (VariableDesign)actual);
 }