コード例 #1
0
ファイル: Importer.cs プロジェクト: KOpenMOS/Mos
        private AdminShellV20.SubmodelElementCollection CreatePropertyCollection(Class cls,
                                                                                 IEnumerable <Model.IElement> properties)
        {
            var collection = Iec61360Utils.CreateCollection(_env, cls.GetIec61360Data(_all));

            AddProperties(collection, properties);
            return(collection);
        }
コード例 #2
0
ファイル: Importer.cs プロジェクト: KOpenMOS/Mos
        public bool ImportSubmodel(ClassWrapper cls, AdminShellV20.AdministrationShell adminShell)
        {
            if (!cls.IsSelected)
            {
                return(false);
            }

            var submodel = Iec61360Utils.CreateSubmodel(_env, adminShell, cls.Element.GetIec61360Data(_all));

            AddProperties(submodel, cls.Children);
            return(true);
        }
コード例 #3
0
ファイル: Importer.cs プロジェクト: KOpenMOS/Mos
        private AdminShellV20.SubmodelElementCollection CreateLevelCollection(Property property, LevelType levelType)
        {
            var data       = property.GetIec61360Data(_all);
            var collection = Iec61360Utils.CreateCollection(_env, data);

            foreach (var levelValue in levelType.Types)
            {
                var p = CreateLevelProperty(data, levelType, levelValue);
                collection.Add(p);
            }

            return(collection);
        }
コード例 #4
0
ファイル: Importer.cs プロジェクト: KOpenMOS/Mos
        private AdminShellV20.SubmodelElementCollection CreateAggregateCollection(
            PropertyWrapper wrapper, AggregateType aggregateType)
        {
            var collection = Iec61360Utils.CreateCollection(_env, wrapper.Element.GetIec61360Data(_all));

            if (wrapper.Children.Count == 1)
            {
                var child = wrapper.Children.First();
                if (child.IsSelected)
                {
                    for (int i = 0; i < Math.Max(1, aggregateType.MinimumElementCount); i++)
                    {
                        var element = CreateSubmodelElement(child);
                        if (element != null)
                        {
                            element.idShort += i;
                            collection.Add(element);
                        }
                    }
                }
            }

            return(collection);
        }
コード例 #5
0
ファイル: Importer.cs プロジェクト: KOpenMOS/Mos
 private AdminShellV20.Property CreateProperty(Property property)
 {
     return(Iec61360Utils.CreateProperty(_env, property.GetIec61360Data(_all),
                                         GetValueType(property.DataType)));
 }