STEP – standard pro výměnu výrobních dat 13DFA Ing. Martin Molhanec, CSc. 13. přednáška
Co je to STEP? ST andard for E xchange of P roduction data. ISO standard (ISO 10303). Standard STEP podporuje geometrii, topologii, vztahy, atributy, skládání a konfiguraci výrobních dat
Standard STEP se skládá z více částí
Description Methods Vysvětlují jak popsat svět kolem nás (reálný svět). V našem případě – výrobní data (production data). Jsou založeny na analytických metodách softwarového inženýrství. Využívají objektové paradigma. EXPRESS language (ISO ).
Příklad popisu lineárního materiálu SCHEMA materials; ENTITY linear_material; name : STRING; young_modulus : REAL; coef_thermal_expansion : REAL; shear_modulus : REAL; yield_stress : REAL; ultimate_stress : REAL; poissons_ratio : REAL; END_ENTITY; END_SCHEMA (* materials *);
Implementation Methods Popisují mapování mezi formální specifikací standardu STEP (EXPRESS language) a reprezentací použitou při implementaci standardu STEP. V současnou době existují následující části ISO 10303: 21 (STEP file format) 22 (Abstract STEP Data Access Interface – SDAI) 27 (Java™ language-based SDAI) 28 (STEP data in XML) products are under development
STEP file format ISO ; HEADER; /* * Exchange File generated by ST-DEVELOPER v1.4 * Conforms to ISO */ FILE_DESCRIPTION ((''), '1'); FILE_NAME ('materials_data', ' T12:13:37-04:00', (''), (''), 'ST-DEVELOPER v1.4', '', ''); FILE_SCHEMA (('MATERIALS')); ENDSEC; DATA; #10 = LINEAR_MATERIAL ('Alumina', $, , $, $, $, $ ); #20 = LINEAR_MATERIAL ('Ceramic', $, , $, $, $, $ ); ENDSEC; END-ISO ;
Application Protocols Aplikační protokoly (části 2xx) definují formální modely v určité aplikační oblasti. Některé aplikační protokoly: –AP203: Configuration controlled design –AP210: Electronic assembly, interconnect and packaging design –AP212: (Electrotechnical design and installation)
Jazyk EXPRESS Objektově orientovaný Člověkem čitelný Počítačově orientovaný Jeho struktura je podobná ostatním objektově orientovaným jazykům Datový model je podobný ERM (Entity- relationship model )
Jazyk EXPRESS EXPRESS-C (EXPRESS with static and behavioural modelling capabilities) EXPRESS-G (Graphical language) EXPRESS-I (Instantiation language) EXPRESS-M (Mapping definition language) EXPRESS-P (Process definition language) EXPRESS-V (Extension of EXPRESS which enables the creation of views) EXPRESS-X (Merger of M and V)
Příklad jazyka EXPRESS-G (Graphical language)
Jednoduchý příklad dědičnosti
Schema Je tvořeno souborem mezi sebou navzájem svázaných (vzájemně se odkazujících) objektů typu ENTITY, jejichž prostřednictvím je možno popsat danou předmětnou oblast. Je to také objekt nejvyšší úrovně zastřešující definice dalších objektů, např. entit.
Objekt ENTITY Základní informační objekt Soubor atributů a metod Formát ENTITY name_of_entity; END_ENTITY; Rozlišujeme různé typy atributů –explicitní (EXPLICIT) –odvozené (DERIVED) –inverzní (INVERSE)
EXPRESS language (definice bodu) ENTITY Point; x: REAL; y: REAL; END_ENTITY;
EXPRESS language (definice 3D bodu) ENTITY Point3D SUBTYPE OF (Point); z : REAL; END_ENTITY;
Typy dat Základní datové typy –prostá data (SIMPLE) –agregovaná (AGGREGATE) –vyjmenovaná (NAMED) –generická (GENERIC) –výčtová (ENUMERATION) –výběrová (SELECT) Vazby ( relace, dědičnost ) Pravidla ( UNIQUE, WHERE, RULE )
Agregované typy Bag : Netříděná kolekce. Soubor prvků, který může obsahovat jak určitý, tak libovolný počet prvků, které se mohou opakovat. Hodnoty NULL nejsou dovoleny. Duplicitní hodnoty jsou dovoleny. List : Tříděná kolekce. Seznam prvků, který je určen pro definovaný nebo libovolný počet prvků s možností zakázat opakování stejných Hodnoty NULL nejsou dovoleny. Duplicitní hodnoty jsou dovoleny. Set : Netříděná kolekce. Nepřipouští se opakování. Nejsou dovoleny ani hodnoty NULL, ani duplicitní hodnoty. Array : Tříděná kolekce pevné velikosti. Jsou dovoleny hodnoty NULL i duplicitní hodnoty, možno zakázat opakování stejných prvků. a : ARRAY [0:3] OF ARRAY [1:17] OF OPTIONAL INTEGER
Více typů dědičnosti ONEOF –potomek může být pouze jednoho podtypu. Je to pouze muž nebo pouze žena. AND – potomek je vždy všemi podtypy. Je to student i zaměstnanec. ANDOR – nedefinuje žádná pravidla. Je to student nebo zaměstnanec nebo student i zaměstnanec.
Složitější příklad (* Somerset house–místo, kde se zaznamenávají údaje o narození, sňatcích a úmrtích *) SCHEMA somerset_house; TYPE date = STRING; END_TYPE; TYPE official_number = STRING; END_TYPE; TYPE label = STRING; END_TYPE; TYPE male_or_female = ENUMERATION OF (stud, studmuffin); END_TYPE; (* osoba *) ENTITY subject; forename : label; surname : label; sex : male_or_female; birth_date : date; death_date : OPTIONAL date; DERIVE dead : BOOLEAN := EXISTS (death_date); (* odvozený atribut mrtvý *) WHERE (* pravidlo: osoba není mrtvá nebo zemřela později, než se narodila *) WR1 : NOT dead OR death_date > birth_date; END_ENTITY; pokračování >>
Složitější příklad (* všechny registrované sňatky *) ENTITY union; license : official_number; wife : subject; husband : subject; start_date : date; end_date : optional date; DERIVE divorced : BOOLEAN := EXISTS (end_date); (* odvozený atribut rozvedený *) WHERE WR1 : NOT EXIST (end_date) OR end_date > start_date; WR2 : wife.sex = studmuffin; WR3 : husband.sex = stud; END_ENTITY; pokračování >>
Složitější příklad (* potomek *) ENTITY issue; child : subject; mother : subject; marriage : OPTIONAL union; WHERE WR1 : NOT EXISTS (marriage) OR marriage.wife :=: mother; WR2 : mother.sex = studmuffin; WR3 : NOT EXISTS (marriage) OR marriage.start_date < child.birth_date; END_ENTITY; END_SCHEMA;
Příklad definice pohledu pomocí EXPRESS-X VIEW mother_in_law; (* tchýně *) FROM him, her : subject, birth : issue, knot : union; WHERE knot.husband :=: him; knot.wife :=: her; birth.child :=: her; NOT EXISTS (knot.end_date); SELECT man : label := him.forename; woman : label := her.forename; mum_in_law : subject := birth.mother; END_VIEW;
Ukázka formátu souboru pro přenos dat (Physical File) ISO ; HEADER; /* výměnný soubor */ FILE_DESCRIPTION(); FILE_NAME(); FILE_SCHEMA (('somerset_house')); ENDSEC; DATA; #10=SUBJECT ('George', 'Windsor',.stud., ' ', ' '); #20=SUBJECT ('Queen Mum', 'Something',.studmuffin., ' ', $); #30=SUBJECT ('Queen Elizabeth', 'Windsor',.studmuffin., ' ', $); #40=SUBJECT ('Philip', 'Windsor',.stud., ' ', $); #50=SUBJECT ('Margret', 'Windsor',.studmuffin., ' ', $); #60=SUBJECT ('Charles', 'Windsor',.stud., ' ', $);... pokračování >>
Ukázka formátu souboru pro přenos dat (Physical File) #160=UNION ('123', #20, #10, ' ', $); #170=UNION ('345', #30, #40, ' ', $);... #210=ISSUE (#30, #20, #160); #220=ISSUE (#50, #20, #160); #230=ISSUE (#60, #30, #170);... #380=MOTHER_IN_LAW ('Philip', 'Queen Mum', #20); ENDSEC; END-ISO ;
Vývojové nástroje 1) Nástroje k modelování informací poskytují rychlou definici produktových modelů pomocí jazyka EXPRESS, který je základem STEPu. 2) Vývojářské nástroje zjednodušují proces komunikace geometrie STEPu s existujícími databázovými formáty poskytnutím editorů, conformance tools, kompilerů EXPRESS a nástrojů pro definici schémat a rozhraní k ostatním běžným formátům produktových modelů např. k IGES a k programovacím jazykům jako jsou C++ a Java. 3) Nástroje správy dat pomáhají zjednodušit proces výměny dat poskytnutím funkcí vizualizace, překladů, verifikace a opravy dat. 4) Nástroje k publikování CAD dat ve formátu STEP na Internetu pomáhají snížit závislost na hardwarových platformách nebo CAD systémech a snižují náklady datové komunikace.
EXPRESS/STEP tools ST-Developer ( aktuální verze 9.0) –software firmy STEP Tools, Inc. Slouží pro vytváření aplikací a práci se STEP daty, programování pomocí C/C++. ST-Viewer ( aktuální verze 4.0 ) –software firmy STEP Tools, Inc. Interaktivní nástroj pro zobrazování 3D dat produktu a poskytuje uživateli levný přístup k 3D CAD informacím WinSTEP (Version 3.0) –University of the Federal Armed Forces J-SDAI –LKSoftWare GmbH NIST Expresso –National Institute for Standards and Technology EzExpress –free
EzExpress (editor for STEP definition files)
Ukázka rozhraní programu ST-Developer 9.0
Ukázka rozhraní programu ST-Viewer 4.0
JSDAI STEP – Book AP210
Závěr Standard STEP je asi nejvýznamnější krok v oblasti výměny výrobních dat. Je podporován těmi nejvýznamnějšími výrobci zejména v USA a západní Evropě, např. firmou General Electric, a dalšími. Objektová bohatost a úplnost jazyka EXPRESS Budoucnost zajištěna integrací s informační oblastí – především jazyka XML Nicméně by tento objektově orientovaný standard měl být také v oblasti zájmu všech zájemců o objektově orientované paradigma, protože rozsah a snaha o úplnost objektového modelu je překvapující. Bohužel u nás o něm není slechu a vidu!
STEP