ЖУРНАЛ СТА №3/2023
доступна для чтения и записи, пере- менная flame – только для чтения. Листинг 2 содержит XML-описание типа (класса) AtmoGasBurner (рис. 2). Тип AtmoGasBurner унаследован от опреде- лённого ранее типа GasBurner и являет- ся абстрактным. Здесь добавляется одна переменная gasValve типа Boolean , до- ступная для чтения и записи. Листинг 3 содержит XML-описание типа (класса) Boiler (рис. 1). Тег opc:Method определяет тип ( ActionMethodType ) используемых далее открытых мето- дов. Здесь указано, что методы – это некоторые действия без входных и выходных параметров. Далее тег opc:ObjectType описывает сам тип Boiler , который унаследован от базового типа BaseObjectType и является абстрактным. Здесь определены две переменные ( opc:Variable ): outWaterTemp типа Double и status типа Int16 – обе только для чте- ния ( Read ). Далее определены два мето- да: startHeating и stopHeating типа ActionMethodType . Листинг 4 содержит XML-описание типа (класса) GasBoiler (рис. 1), который унаследован от определённого ранее типа Boiler и является абстрактным. Любой объект типа GasBoiler содержит вложенный объект (тег opc:Object ) с именем burner типа GasBurner . Объ- екты timer и generator , а также методы СТА 3/2023 59 www.cta.ru НОУ - ХАУ Листинг 5 <opc:ObjectType SymbolicName="BoilerModelM1" BaseType="NaturalPullGasBoiler" IsAbstract="false"> <opc:Children> <opc:Object SymbolicName="burner" TypeDefinition="BurnerModelM1" ModellingRule="Mandatory"> <opc:Children> <opc:Variable SymbolicName="spark" AccessLevel="Read"/> <opc:Variable SymbolicName="gasValve" AccessLevel="Read"/> </opc:Children> </opc:Object> </opc:Children> </opc:ObjectType> Листинг 6 <opc:Object SymbolicName="BoilerM1" TypeDefinition="BoilerModelM1"> <opc:References> <opc:Reference IsInverse="true"> <opc:ReferenceType>ua:Organizes</opc:ReferenceType> <opc:TargetId>ua:ObjectsFolder</opc:TargetId> </opc:Reference> </opc:References> </opc:Object> <opc:Object SymbolicName="BoilerM2" TypeDefinition="BoilerModelM2"> ... <opc:Object SymbolicName="BoilerM3" TypeDefinition="BoilerModelM3"> ...
Made with FlippingBook
RkJQdWJsaXNoZXIy MTQ4NjUy