Пример #1
0
        public override AmlCollection ToAml()
        {
            var element = new InternalElement
            {
                Name = "DeviceFunction",
                Id   = "DeviceFunction"
            };

            if (Features != null)
            {
                element.InternalElements.AddRange(Features.ToAml().Cast <InternalElement>());
            }

            if (VariableCollection != null)
            {
                element.InternalElements.AddRange(VariableCollection.ToAml().Cast <InternalElement>());
            }

            if (EventCollection != null)
            {
                element.InternalElements.AddRange(EventCollection.ToAml().Cast <InternalElement>());
            }

            if (DataTypeCollection != null)
            {
                element.InternalElements.AddRange(DataTypeCollection.ToAml().Cast <InternalElement>());
            }

            if (ProcessDataCollection != null)
            {
                element.InternalElements.AddRange(ProcessDataCollection.ToAml().Cast <InternalElement>());
            }

            return(AmlCollection.Of(element));
        }
Пример #2
0
        public override AmlCollection ToAml()
        {
            var element = new InternalElement
            {
                Name = Id
            };

            element.Attributes.Add(new Attribute
            {
                Name = "BitLength",
                AttributeDataType = "xs:integer",
                Value             = new Value
                {
                    Content = BitLength.ToString()
                }
            });

            foreach (var dataType in DataTypes)
            {
                var amlElement = dataType.ToAml();
                element.Attributes.Add(amlElement as Attribute);
            }

            foreach (var dataTypeRef in DataTypeRefs)
            {
                var amlElement = dataTypeRef.ToAml();
                element.Attributes.Add(amlElement as Attribute);
            }

            return(AmlCollection.Of(element));
        }
Пример #3
0
        private InternalElement ConstructVendorLogo()
        {
            var element = new InternalElement
            {
                Name = "ManufacturerIcon",
                SupportedRoleClass = new SupportedRoleClass
                {
                    RefRoleClassPath = "AutomationMLComponentStandardRCL/ManufacturerIcon"
                }
            };

            var externalInterface = new ExternalInterface
            {
                Name             = "ExternalDataConnector",
                RefBaseClassPath = "AutomationMLInterfaceClassLib/AutomationMLBaseInterface/ExternalDataConnector",
                Attribute        = new Attribute
                {
                    Name = "RefURI",
                    AttributeDataType = "xs:anyURI",
                    Value             = new Value
                    {
                        Content = "/" + VendorLogo
                    }
                }
            };

            element.ExternalInterfaces.Add(externalInterface);
            return(element);
        }
Пример #4
0
        public override AmlElement ToAml()
        {
            // TODO
            var internalElement = new InternalElement();

            return(internalElement);
        }
Пример #5
0
        /// <summary>
        /// Gets the default group pin name</summary>
        /// <param name="inputSide">True iff pin is on input side</param>
        /// <returns>Default group pin name</returns>
        /// <remarks>The group pin default naming convention: "{internal-element-name}:{internal-pin-name}"</remarks>
        public virtual NameString DefaultName(bool inputSide)
        {
            string internalName =
                inputSide
                ? InternalElement.InputPin(InternalPinName).Name.ToString()
                : InternalElement.OutputPin(InternalPinName).Name.ToString();

            return(new NameString(InternalElement.Id + ":" + internalName));
        }
Пример #6
0
        /// <summary>
        /// Gets the default group pin name</summary>
        /// <param name="inputSide">True iff pin is on input side</param>
        /// <returns>Default group pin name</returns>
        /// <remarks>The group pin default naming convention: "{internal-element-name}:{internal-pin-name}"</remarks>
        public virtual string DefaultName(bool inputSide)
        {
            string pinName =
                inputSide
                ? InternalElement.InputPin(InternalPinIndex).Name
                : InternalElement.OutputPin(InternalPinIndex).Name;

            return(InternalElement.Name + ":" + pinName);
        }
Пример #7
0
        public override AmlCollection ToAml()
        {
            var internalElement = new InternalElement();

            internalElement.Name = "UserInterface";
            internalElement.Id   = "UserInterface";

            return(AmlCollection.Of(internalElement));
        }
        public override AmlCollection ToAml()
        {
            var element = new InternalElement
            {
                Name = "SupportedAccessLocks"
            };

            element.Attributes.Add(CreateAttribute("Parameter", Parameter));
            element.Attributes.Add(CreateAttribute("DataStorage", DataStorage));
            element.Attributes.Add(CreateAttribute("LocalUserInterface", LocalUserInterface));
            element.Attributes.Add(CreateAttribute("LocalParameterization", LocalParameterization));

            return(AmlCollection.Of(element));
        }
Пример #9
0
        public override AmlCollection ToAml()
        {
            var element = new InternalElement
            {
                Name = $"aml-lang={Lang}"
            };

            foreach (var text in Texts)
            {
                var amlElement = text.ToAml().Cast <Attribute>();
                element.Attributes.AddRange(amlElement);
            }

            return(AmlCollection.Of(element));
        }
        public override AmlCollection ToAml()
        {
            var element = new InternalElement
            {
                Name = "ProcessDataCollection",
                Id   = "ProcessDataCollection"
            };

            foreach (var processData in ProcessDataList)
            {
                var amlElement = processData.ToAml().Cast <InternalElement>();
                element.InternalElements.AddRange(amlElement);
            }

            return(AmlCollection.Of(element));
        }
        public override AmlCollection ToAml()
        {
            var element = new InternalElement
            {
                Name = "DatatypeCollection",
                Id   = "DatatypeCollection"
            };

            foreach (var dataType in DataTypes)
            {
                var amlElement = dataType.ToAml() as Attribute;
                element.Attributes.Add(amlElement);
            }

            return(AmlCollection.Of(element));
        }
Пример #12
0
        public override AmlCollection ToAml()
        {
            var element = new InternalElement
            {
                Name = "DeviceIdentity",
                Id   = "DeviceIdentity"
            };

            element.Attributes.Add(CreateAttribute("VendorId", "xs:integer", VendorId.ToString()));
            element.Attributes.Add(CreateAttribute("VendorName", "xs:string", VendorName));
            element.Attributes.Add(CreateAttribute("DeviceId", "xs:integer", DeviceId));
            element.Attributes.Add(CreateAttribute("VendorText", "xs:string", VendorText));
            element.Attributes.Add(CreateAttribute("VendorUrl", "xs:anyURI", VendorUrl));
            element.Attributes.Add(CreateAttribute("DeviceFamily", "xs:string", DeviceFamily));
            element.Attributes.Add(CreateAttribute("DeviceName", "xs:string", DeviceName));

            return(AmlCollection.Of(element, ConstructVendorLogo()));
        }
Пример #13
0
        public override AmlCollection ToAml()
        {
            var element = new InternalElement
            {
                Name = Id
            };

            element.Attributes.Add(CreateAttribute("Index", "xs:integer", Index.ToString()));
            element.Attributes.Add(CreateAttribute("AccessRights", "xs:string", AccessRights ?? string.Empty));
            element.Attributes.Add(CreateAttribute(Name?.TextId ?? string.Empty, "xs:string", null));
            element.Attributes.Add(CreateAttribute("Description", "xs:string", Description?.TextId ?? string.Empty));

            if (DataType != null)
            {
                element.Attributes.Add(DataType.ToAml() as Attribute);
            }

            return(AmlCollection.Of(element));
        }
Пример #14
0
        public override AmlCollection ToAml()
        {
            var internalElement = new InternalElement
            {
                Name = "EventCollection",
                Id   = "EventCollection"
            };

            foreach (var @event in Events)
            {
                internalElement.Attributes.AddRange(@event.ToAml().Cast <Attribute>());
            }

            foreach (var stdEventRef in StdEventRefs)
            {
                internalElement.Attributes.AddRange(stdEventRef.ToAml().Cast <Attribute>());
            }

            return(AmlCollection.Of(internalElement));
        }
Пример #15
0
        public override AmlCollection ToAml()
        {
            var element = new InternalElement
            {
                Name = Id
            };

            foreach (var processDataIn in ProcessDataIns)
            {
                var amlElement = processDataIn.ToAml().Cast <InternalElement>();
                element.InternalElements.AddRange(amlElement);
            }

            if (Condition != null)
            {
                var amlElement = Condition.ToAml().Cast <InternalElement>();
                element.InternalElements.AddRange(amlElement);
            }

            return(AmlCollection.Of(element));
        }
Пример #16
0
        public override AmlCollection ToAml()
        {
            var element = new InternalElement
            {
                Name = "aml-text=TI_TextCollection"
            };

            if (PrimaryLanguage != null)
            {
                var primaryLanguageAml = PrimaryLanguage.ToAml().Cast <InternalElement>();
                element.InternalElements.AddRange(primaryLanguageAml);
            }

            foreach (var language in Languages)
            {
                var languageAml = language.ToAml().Cast <InternalElement>();
                element.InternalElements.AddRange(languageAml);
            }

            return(AmlCollection.Of(element));
        }
Пример #17
0
        public override AmlCollection ToAml()
        {
            var element = new InternalElement
            {
                Name = "Features",
                Id   = "Features"
            };

            element.Attributes.Add(CreateAttribute("blockParameter", "xs:boolean", BlockParameter.ToString()));
            element.Attributes.Add(CreateAttribute("dataStorage", "xs:boolean", DataStorage.ToString()));

            if (SupportedAccessLocks == null)
            {
                return(AmlCollection.Of(element));
            }

            var accessLocksElement = SupportedAccessLocks.ToAml().Cast <InternalElement>();

            element.InternalElements.AddRange(accessLocksElement);

            return(AmlCollection.Of(element));
        }
        public override AmlCollection ToAml()
        {
            var element = new InternalElement
            {
                Name = "VariableCollection",
                Id   = "VariableCollection"
            };

            foreach (var variable in Variables)
            {
                var amlElement = variable.ToAml().Cast <InternalElement>();
                element.InternalElements.AddRange(amlElement);
            }

            foreach (var variableRef in StdVariableRefs)
            {
                var amlElement = variableRef.ToAml().Cast <InternalElement>();
                element.InternalElements.AddRange(amlElement);
            }

            return(AmlCollection.Of(element));
        }
Пример #19
0
        public override AmlCollection ToAml()
        {
            var internalElement = new InternalElement
            {
                Name = "IODD",
                SupportedRoleClass = new SupportedRoleClass()
            };

            internalElement.ExternalInterfaces.Add(new ExternalInterface
            {
                Name      = "IODD 1.1",
                Attribute = new Attribute
                {
                    Name = "RefURI",
                    AttributeDataType = "xs:anyURI",
                    Value             = new Value
                    {
                        Content = "/Balluff-BNI_IOL-302-000-K006-20150130-IODD1.1.xml"
                    }
                }
            });

            internalElement.ExternalInterfaces.Add(new ExternalInterface
            {
                Name      = "IODD 1.0.1",
                Attribute = new Attribute
                {
                    Name = "RefURI",
                    AttributeDataType = "xs:anyURI",
                    Value             = new Value
                    {
                        Content = "/Balluff-BNI_IOL-302-000-K006-20150130-IODD1.0.1.xml"
                    }
                }
            });

            return(AmlCollection.Of(internalElement));
        }
Пример #20
0
        /// <summary>
        /// Return a grid of points in the space
        /// </summary>
        /// <param name="step">Lenght between two points</param>
        public List <Point> Grid(double step)
        {
            step = UnitConverter.DynamoToHostFactor(DB.UnitType.UT_Length) * step;
            List <Point> grid = new List <Point>();

            DB.BoundingBoxXYZ bb = InternalElement.get_BoundingBox(null);

            for (double x = bb.Min.X; x < bb.Max.X;)
            {
                for (double y = bb.Min.Y; y < bb.Max.Y;)
                {
                    DB.XYZ point = new DB.XYZ(x, y, bb.Min.Z);
                    if (InternalSpace.IsPointInSpace(point))
                    {
                        grid.Add(GeometryPrimitiveConverter.ToPoint(InternalTransform.OfPoint(point)));
                    }
                    y = y + step;
                }

                x = x + step;
            }

            return(grid);
        }
Пример #21
0
 public ObjectStructure(Model model)
 {
     _facet    = new ContactingFacet(model);
     _internal = new InternalElement(model);
 }
Пример #22
0
 public override string ToString()
 {
     return(string.Format("{0} : {1}", InternalElement.GetSeverity(), InternalElement.GetDescriptionText()));
 }
Пример #23
0
        public override AmlCollection ToAml()
        {
            var stdVariableRef = new InternalElement
            {
                Name = Id ?? string.Empty,
                Id   = Id
            };

            if (DefaultValue != null)
            {
                var defaultValue = new Attribute
                {
                    Name = "DefaultValue",
                    AttributeDataType = "xs:integer",
                    Value             = new Value
                    {
                        Content = DefaultValue
                    }
                };

                stdVariableRef.Attributes.Add(defaultValue);
            }

            var fixedLengthRestriction = new Attribute
            {
                Name = "FixedLengthRestriction",
                AttributeDataType = "xs:integer",
                Value             = new Value
                {
                    Content = FixedLengthRestriction.ToString()
                }
            };

            var excludeFromDataStorage = new Attribute
            {
                Name = "ExcludeFromDataStorage",
                AttributeDataType = "xs:boolean",
                Value             = new Value
                {
                    Content = ExcludeFromDataStorage.ToString()
                }
            };

            stdVariableRef.Attributes.Add(fixedLengthRestriction);
            stdVariableRef.Attributes.Add(excludeFromDataStorage);

            if (SingleValueRefs != null)
            {
                foreach (var singleValueRef in SingleValueRefs)
                {
                    var amlElement = singleValueRef.ToAml();
                    stdVariableRef.Attributes.AddRange(amlElement.Cast <Attribute>());
                }
            }

            if (SingleValues != null)
            {
                foreach (var singleValue in SingleValues)
                {
                    var amlElement = singleValue.ToAml();
                    stdVariableRef.Attributes.AddRange(amlElement.Cast <Attribute>());
                }
            }

            if (ValueRanges != null)
            {
                foreach (var valueRange in ValueRanges)
                {
                    var amlElement = valueRange.ToAml();
                    stdVariableRef.Attributes.AddRange(amlElement.Cast <Attribute>());
                }
            }

            if (RecordItemRef != null)
            {
                stdVariableRef.Attributes.AddRange(RecordItemRef.ToAml().Cast <Attribute>());
            }

            return(AmlCollection.Of(stdVariableRef));
        }
 public ModuleModel GetParentModule()
 {
     return(InternalElement.GetModule());
 }