Domov > Článek > Výroba softwaru založená na modelu využívaná vizuálními šablonami

Výroba softwaru založená na modelu využívaná vizuálními šablonami

Visual ServoingZ prvků FBL může technik například vytvářet vizuální programy, které ovládají zařízení v továrně, kde běží proces Tyto procesy řízené v jazycích reálného času byly rozsáhle studovány v literatuře (Mohamed, 2000, Burnett1995, Shu 1988, Pressman 1997) Jak již bylo zmíněno dříve, počítačové programy jsou obvykle psány pomocí textových jazyků, ale prostředí specifická pro danou doménu se dělají vizuálním způsobem, jako v LabVIEW (Rahman, 1995) Lab VIEW isL se vrací do roku 1988 (Karaila, 1989)andardizovaný jazyk jako jazyk IEC 61131-6 konec 80. let 20. století první pro FBL Prvním cílem bylo předělat textový programovací jazyk, protože grafická dokumentace byla již v té době požadavky zákazníka, FBLúspěšně převzaty do několika programů, které byly napsány v textovém formátu Jeden z nejdůležitější cíle designu design obojího FBL pro rozšiřitelnost To znamená, že vývojáři mohli snadno rozšířit vizuální jazyk přidáním grafických symbolů. Takové nové symboly mohou například představovat nové typy v tomto silně typizovaném jazyce

Ve skutečnosti v FBL mohou uživatelé přidávat nové a efektivní Oznámení jsou hotová (Debbie, 1995) Vývojářské prostředí, které umožňuje rozšíření a nástroje třetích stran Dále lze do FBL přidat nové třídy symbolů nebo kategorie. To vyžaduje úpravu nákladů na údržbu Jako výkres a komerční řešení bylo dobrým způsobem inženýrské efektivnosti pro sdílení pomocí programu CAD, který lze AutoCADO Copyright 2009 Alor Brics CAD Copyright 20012009 Menhirs NV Oba mohou být použity pro tento účel, zaměříme se na naši vlastní práci na aplikační doméně místo problémů s editorem cíle a principy Vývojáři měli následující cíle v developmentmFBL a programminZákladní produkce a nástroj pro zákaznické projektyJak Fbl, tak i programovací prostředí musí být flexibilní, z toho vyplývá, že údržba jazyka by měla být proveditelná a přidávání nových typů a funkcíSnadné použití, protože typičtí uživatelé mají minimální programátorské dovednostiSnadné opětovné použití napsaných aplikací, protože zákaznické projekty jsou velmi podobné Nástroje a produkty třetích stran by měly být snadno integrovatelné s preL mohou být použity k programování základní agineers mohou implementovat různé druhy aplikací s FBL As the am

Produkce softwaru založená na modelu využívaná vizuální strukturou, která je odvozena ze šablony, je stejná v každé instanci programu Inprogramy, které obsahují funkce datových struktur Šablony se sestavují tak, že se nejprve definují paraanty, které lze později použít jako instanci ze šablony Šablony dále obsahují vzorce, které parametry se používají, Vyhodnocení vzorců je automatické V některých případech zjistěte strukturu programu, jako při podmíněném překladu, výsledkem je použití vzorců v šablonách FBL pro vyhodnocování matematických výrazů a jazykových výrazů Thenguageje jednoduché bez skutečné prograsové editace a porozumění, mini-jazykový dopad a zapadnutí do jednoho řádku Jazyk FBL je generativní a každá šablona patří dalším modulům a portům v systerParametry jsou specifické pro modelNaše inženýrské nástroje a hlavní prvky FBIe v prostředí dsm

Editor FBL používaný pro vytváření modelů a nástroje aneEngineering jsou určeny pro správu šablon a projektů, ale verze s oblibou měření se liší, protože jednotka závisí na fyzickém měření, kterou lze nastavit ve fázi programování pomocí jednotky Limity alarmů programu mají vstup s adresou a a ranitiální hodnoty Základní šablona analogového měření je model, který řeší tento problém. Šablona obsahuje parametrizovaný mód a instance se těmito parametry liší Jedna šablona měření, která se používá pro různá měření v šabloně Další udělejte první, co budePoté, šablona může začít následujícími kroky, těmito jsou parametry pro vizuální šablonu,Definujte potřebné vzorce, tyto používají parametry definované abcUložte šablonu aVytvořte instanci a otestujte ji (upravte hodnoty parametrů)fický dialog zobrazený na obrázku 6Parametry fungují jako zástupný symbol a řídí se stejnými pravidly syntaxe jako proměnná Pythonu, která ustoupily by s enclosedParameterdentifiers rozlišují velká a malá písmenaPoté může uživatel definovat samostatné pole, které bude uchovávat termální kapalinu, jak je znázorněno ve fázi obrázku, vzorec je vyhodnocen a výsledek je umístěn do aktuálního stavu, n trld thInženýr již vidí aktuální hodnotu, že vyhodnocení vzorce je automatické a pomáhá technikovi vždy vidět vyhodnocené hodnoty

Visual Servoing分 Create DesignFormuaMPLATE)TEMPLATET-EXAMFLEHighlightHH LIMIT 95tLL LIMITadefinuje první nevyplněný parametr useIdentifikátor parametru: \S(MYPARAMETER)Hodnota parametru: Příklad textového bodu, atribut komentářeFormule pole: Test \S(themPARAMEth step canteTERTest vytvořit nový program FBL 8 Obvykle nový instancesterface Tg vždy potřebuje více instancí, které obsahují vzorec, který má libovolný identifikátor nebo definici překrývající se adresy

The Fbual doplněný minijazykem, který vyžaduje minimální programování V případě potřeby jej lze rozšířit, ale současná funkčnost byla Direktivy šablon/funkce jsou uvedeny níže Některé z nich jsou ematické vzorce pro konkrétní doménufunkce-vzorec(podmíněná část, funguje jako úryvek)reference( syntaxe pro parametr, vzorec referenceselect formulaprefix (speciální zpracování řetězce s prefixem

Produkce softwaru založená na modelu využívaná vizuálními šablonami續Obr. 7 Krok 2: Vzorce jsou definovány v každém potřebném místěMatematické vzorce jsou vyhodnoceny podle standardního vyhodnocovacího pořadí většina výpočtů je implementována po nahrazení knihoven a výsledek vyhodnocení vzorce je v hodnotovém poli

hodnota fusually atribut symbolu value butFunction formulaike a snippet Normálně se přesuňte do většího programovacího modtlate The " codt is fixed but theelements belonto functirmula To může být zapnuto nebo vypnuto podmíněným příkazem Pokud je výsledek pravdivý, část

Vizuální SeD日母、 R,B,B Bi& Es P: P+ e∥⊙m%自中了E甲‖,日日如可回國召,””既5三、M4D MNModd A Rout/obr. 8 Krok 3: Testovací šablona s novými hodnotami Upravené, hodnoty parametrů návrhu jsouc jinak ne Funkční vzorec neminimalizuje použití repeatode je pro výběr funkcí V FBL editoru jsou funkční vzorce obvykle označeny Následující obrázek Definice funkčního vzorce pro vybrané prvky a vzorec Figurelect lze použít jako „přepínací případ“ nebo „pokud

then else příkaz pro jinou hodnotu danou hodnotou Jedná se o druh transformace založené na výčtu Vzorec předpony se používá k minimalizaci zadávání celého názvu odkazu V automatické předponě nebo příponě Tato abstrakce odstraňuje/skrývá podrobnosti o programování z ustes uvedeného na obrázku 6, uživatel musí nejprve definujte parametry návrhu, které lze použítproměnné ve vzorcích Povinné parametry jsou TAG(identifikátor instance)PACKAGE (logický název pro cíl stahování) a UNIT, HH (vysoký limit alarmu), H(horní limit alarmu ve vlastnostech symbolu a přidejte vzorec pro výpočet a ne

Produkce softwaru založená na modelu využívaná společností visualg 9

Symbols are selected &r active Function formula defined for selected elements(lowerInction blockconnectie日高守爭母、。‖和數和羣聽作7⊙回船圖中了甲A中量過talue l back to the diagram

Vizuální servoingV procesu vytváření šablony musí uživatel uložit diagram jako šablonu do šablony. V posledním kroku je dobré šablonu otestovat, aby správně fungovala, potřebujeme alespoň dva instaoverlapující se identifikátory (globální názvy jako moduleTesting je možné ve virtuálním prostředí Pro každý akční člen jsou k dispozici symboly pro vytvoření akční zpětné vazby Uživatel může mít motor, který se spustí od příkazu ke spuštění a zpětná vazba bude generovat stav chodu motoru V akci zpětnovazební model větší funkčnostPro tento účel společnost Metso implementovala vizuální šablonu34Před metsg typickou pro modelování FButions Tento model první generace je statický a je založen na větším kopírování stávajícího diagramu FBL. Hlavní pito nahrazuje tokeny v typické šabloně za skutečnou šablonu za jiná řešení vizuální šablona ihned vyhodnocena

Například je rychlejší upravovat a testovat Před konečným vylepšením: specializované skládání instancí a načítání do ruLittle Languages ​​(Deursen, 1998) vizuální šablona malého jazyka, ale způsob vytváření specializovaných instancí zabral více času Starší typické tokeny nahrazující každý parametrizovaný valronated a token, Thspecialized instance To bylo vždy potřeba k otestování typického Token nahrazení se netvořil nebo kalkuloval Takže to bylo omezeno na přímé nahrazení, které žádnou podporu nepodporovalo a bylo možné upravit jakoukoli hodnotu. na jiné šablony teclis, že FBLinstance obsahuje všechny šablonové funkce a díky tomuto fadParatd, i když FBL je upraven tak, aby se lišil od desky Typické nenabízelo všechny funkce, které jsou nyní spojeny s hromadnou výrobou programů FBL, je klíčovou produktivitou pro terproduktivitu úsporou času a zlepšením. pity se standardemProduktivita se měří na mnoha místechProjektové oddělení MeValue Added Reseller (VAR)partners, specifická oblast procesu: 100 šablon Obecně platí, že více než 90 procent programů vytvořených ze šablony (knihovna projektů vytváří z každého projektuExcel nebo list jako hlavní metodu zadávání parametrů (data a implementaceoddělená; inženýrské nástroje mohou oddělit data od implementace)

Produkce softwaru založená na modelu využívaná vizuální viditelností pro doménu a produktovou rodinu principy dobré Existovalo se v šabloně v několika krocích Funkce programování šablony do existujícího diagramu FBL Programování šablon je interaktivní a v jiných jazycích založených na šablonách je šablona vytvořena a potřebuje vygenerování, které vytváří instance frolplate Vyžaduje to zvláštní údržbu Doména Inur, instance obsahují všechny vzorce šablony To je pro nás výhoda, i když to může fungovat, zachovává hodnotu všech odpovídajících parametrů Tato flexibilita poskytuje volnost šablony a následné aktualizace pro všechny potřebné instance Instance šablony může dědit hodnoty z jiné instance pomocí referenčního vzorceTo snižuje množství parametrů, které děti Účelem této funkce je snížit množství parametrů a automatizovat parametry, Asprimární smyčka, ale stejný text je také použit ve vlastní smyčce definice kolekce historie Init je snadné vytvořit návrat ze smyčky historie do primární smyčky Zamění text v primární smyčce a automaticky se šíří do historie smyčka úšklebek už nemusí zadávat text Další pozitivní efekt přichází na údržbu

Je lepší rozdělit funkcionalitu do vlastních funkcí a svázat potřebné parametry dohromady odkazem na Fmetaprogramování Podpora dělá z vizuálních šablon praktickou technologii opětovného použitíKonec zákazníci se stávají šablonami a implementují se později Nebo neodborníci definují automatizační funkce v továrně ve fázi spouštění Snadno vyrobitelné modifikace a převezměte je do používání jen změnou nebo aktualizací dokonce i přes temck to do withty a metaprogramming Je potřeba tato technika Konverzní nástroj neetransftypiČas ukáže životní cyklus šablon Již se vyskytly případy, kdy projekt nejprve provedl pomocí šablon a dodáváno bez vzorců Tento druh přechodu na nižší verzi je občas potřebný pro podporu starých nainstalovaných systémů4RductioPodpora pro software, který je obtížně použitelný,vyžaduje nepřetržitý proces a znalostiTradiční opětovné použití softwaru může být implementováno komponentami a knihovnami Podobně FBL obsahuje vestavěné funkce, které jsou funkčními bloky Tyto jsou zdokumentoványpoužitýdoplňkový aplikační programPro efektivní Používají se lépe, protože obvykle nepřidávají další dokumentaci do žádné hierarchické struktury, jako jsou funkční bloky v knihovnách Systém

Využití výroby softwaru založeného na modelu

ed by visual Templates5ub domény jsou integrovány do FBL, používání FBL roste Naši zákazníci budou technici Přijdou na školení FBL Jsou schopni údržby a navrhování procesů Obvykle dVětšina času zabere školení prostředí a hlavní principy samotného automatického jazyka tomu tak není hodně používané, během tréninku programovacích jazyků toku thalaty bylo vytvořeno jen málo programů Uveďte zjištění, která vývojáři zažili, jako jsou sémantika toku dat vizuálního porozumění a principy návrhu jazyka jsou stručně shrnuty dále V systému bude artefakt, který může mít smysluplnou konkrétní funkci. velmi přímé mapování z eq symbolu IO karty do programové fyzické IO kartySymboly slouží k vytvoření komunikace pro přenos dat signálu Jeden symbol, který obsahuje výstup a lze jej připojit linkou k jinému vstupu symbolu, aby reprezentoval tok

Data floganizována tak, že vstupy budou vlevo a výstupy vpravo budou okamžitá vizuální zpětná vazba během testovacího programu Všechny výše uvedené možnosti, které spojují algoritmus a jasnost, přímost, explicitnost a okamžitá vizuální zpětná vazba, jsou uvedeny v ( Burnett, 19994 Základní symbol Jazyk funkčních bloků obsahuje tisíce symbolů kategorizovaný seznamAdministrační část symbol pro účel diagramu,Externí referenční symbol pro přenos dat mimo modul,Místní datový symbol pro alokaci paměti pro dočasný signál datPortor definicepro externí Symbol funkčního bloku pro ovládání signálu/obsluhu /caldZákladní symboly jsou pouze pro data (umístění paměti) a funkční blok synhs čísly, které provádějí algoritmy Jazyk nevytváří paměťové místo nebo programování je zpracováno programem a zákaznickým logem Samotný program je nakreslen uvnitř rámce administračního symbolu definuje K dispozici jsou různé velikosti a jsou naprogramovány na více stránek Signální spojení mezi stránkamiferenceFunkční administrační symbol definuje interval provádění a logické umístění v kmeni Tento symbol se používá k definování nového modulu

Vizuální Servoingport může být buď rozhraním, nebo portem s přímým přístupem Port rozhraní je přípona pro globální název, který musí být jedinečný v systému (tovární úroveň) Port je akry místo s logikou externí datový bod Obsahuje V před je odkaz na věc k přeneseným hodnotám Lokální datový bod je uvnitř modulu a je potřebný pouze k ukládání hodnot mezi funkčními bloky výpočtu funkcí Funkční bloky na obrázku 1 zapouzdřují skutečné podprogramy Ochrana zapouzdření

Funkční blok alwapro každý symbol funkčního bloku Všechny funkční bloky jsou seřazeny atedorderlock obsahuje vstupy, výstupy a parametry Vstup a parametry se používají pro výpočet a po provedení jsou výstupy nastaveny Vstupní bloky pro definování vlastního programuObr 1 Dva symboly funkčních bloků s am dialog parametru symbolu

Produkce softwaru založená na modelu využívaná visualCommon funkční bloky jsou pid pro řízení, logický a/nebo funkční goritmus a výpočty Základní systémové funkční bloky jsou copy (ccox), selam2), binární měření (bm) a bloky specificnction device jsou pro výpočet entalpie. a výpočet průtoku páry (stfl;omIDeYTuuLFig 2 FBL regulační smyčka programuObrázek 2 ukazuje příklad FBL programbols a a d jsou standardní (yo) symboly Symboly C 1-3 obsahují texty a další často a alarmarametepriorita a alarmová skupina) pro ovládací funkce Operators in thelook po stavu procesu z monitorů

Proces je měřen a spuštěn programy, ale lidé stále dělají rozhodnutí a provádějí akce (tlačítka) k ovládání procesu Symbol C3 je pro funkce alarmu Konečně oblast pro aktuální řídicí program Všechny ostatní symboly představující funkční bloky a spojení jsou v stejný program jako ostatní symboly si budují svůj vlastníovládání procesuGrafické rozvržení je třeba číst zleva doprava: vstupy jsou vlevo a výstupy vpravo Obrázek 2 představuje typickou velikost a funkční funkční entitu, Schéma je propojeno čarami, zatímco spojení venku jeden diagram vytvořený pomocí symbolů, který obsahuje referenční číslo 1 symbol BObrázek 2 ukazuje jeden diagram funkčních bloků, který lze použít ke generování více textů z jednostránkového programu na několik stránek dlouhých: každý soubor samostatný program Kromě toho jsou v programu FBL spojeny řádky

Vizuální Uložené v každém souboru Programové moduly jsou distribuovány na různých místech v systému TheProcess Control Server (PCS) spouští I/O a řídicí programy, Operator Server (OPS) a Processor (ALP), v turmple, Inhange displand pohled na různé části procesu a manipulovat s řídicími parametry z oken monitoru) řadič polní sběrnice, nahraje potřebné parametry do Iata z interního zařízení do systému pomocí komunikačního protokolu se nahraje do jednotky CPU, kteréboly pro vytvoření spojení lze rozdělit na dvě hlavní skupiny -symbol pro připojení fyzického polního zařízení I/O karta umožňuje analogovou/digitální transformaci na elektrický signálDostupné jsou různé druhy I/O-symbolů, představují 1/O-kartu Obsahuje parametryke I/O-adresu, filtrování a dalšíobsahuje adresu pro přístup data prostřednictvím softwarového protokolu

Fyzické připojení c(MODBUS) Adresování protokolu je založeno na registru (příklady formátu adresy ' reg 1001' nebo ' dw0) Datový tok signálu jako u připojení I/O Modul rozhraní je vykonáván ovladačem a skutečnými daty je propojen s externím bodem pro přenos dat z driveru do applTheg z I/O-karty připojení pole deviccts tok signálu elektricky Z 1/o-karty je signál pid digitálně a field bus přenáší data mezi I/O- karta a jednotka CPU Toto je fyzická distribuce a trasa signálu je znázorněna správou a zpracováním alarmů, stav operátora a alarmTextová data pro tyto aplikační programy uvedené výše, jsou připojeny funkčními bloky Připojení jsou pevná a mohou poskytnout jeden název připojení, který vytvoří další potřebná připojení jako externí datové body. redgranyodpovídající symbol funkčního bloku, na který odkazují Odkaz se provádí použitím stejných názvů v symbolech

Produkce softwaru založená na modelu Využito vizuálníMěření na poliPřipojení k lo20mA elektrickým sianálním CPU rurtrolsN[0Obr. 3 Datový tok 1yO-signálu z měřicího zařízení do řídicího CPU

6 Připojení a sítě Sítě připojení mohou být velmi jednoduchá spojení typu point-to-point nebo velmi sítě Účastníci struktury sítě Jinými slovy, cílem spojení je pojmenované spojení memoryPoint-to-point, kde výstup je conneMultiple connection, where lines lze spojit se spojovací tečkou, která spojí spodní čáry a vytvoří spojení

Vizuální ServoingReference připojení, kde lze spojovat čáry se symboly, které obsahují Obr 4 Příklady připojení sítě Po proběhnutí algoritmu připojení, který najde Toto je velmi zjednodušené vysvětlení celého základního systému, který obsahuje konkrétní pravidla pro řešení připojení27 Silné psanípevně napsané a jednoduché základní a nPro uživatele nebo programátora je obtížné rozlišit různé typy na základě colortley, 2001)

Výhody použití barev se dále snižují při tisku termogramů na černobílé tiskárně; onlylor definuje typ signálních dat Základní typy jsou s barvou následujícím způsobem Zelená(ana): označuje dvě hodnoty, value(float)aBlack(bin): označuje pravdivý/nepravdivý bit (bit O) a chybové bity (bity 1-15 )Hnědá(binev): označuje přihrádku a čas staBlue(intl ): označuje dlouhé celé číslo a bity chyby označuje krátké celé číslo a poruchu bitellow(float): označuje obyčejné reálné číslo (float)všechny ostatní typy (méně používané různé typyVšimněte si, že výše uvedené jsou skalární typy/pole \ další vícerozměrné typy jsou nakresleny tlustší čarou, ale stejnou barvou jako typ prvku vektoru/tabulky

Produkce softwaru založená na modelu využívaná společností visual5Nakreslete spojovací vedení volně směrováním vedení a poté programemPřipojovací vedení a pokud jsou propojeny, existuje spojovací tečka v křížení signálů dohromady Kromě toho existují speciální datové typy pro komunikaci Funkční bloky také založené na typech, které se skládají jako strukturyNa metso vyvinuli náš vlastní metajazyk pro definování všech potřebných strukturplexní struktury, jako jsou funkční bloky, jsou definovány tímto jazykem Tyto metainformace jsou dostupné z databáze typů Lze je použít k sestavení symbolů funkčních bloků s výchozím rozložením Výchozí rozložení je umístěte vstupy na levou stranu symbolu, parametry doprostřed a výstupy napravo3 Šablonový mechanismus jazyků funkčních bloků, které odrážejí skutečná fyzická zařízení nebo potřebnou funkčnost motor je modelován jako funkční blok s názvem mtr Stejný model lze použít pro všechna baandová čerpadla Podobným způsobem je model ventilu funkční blok s názvem mgv (magnetický ventil) Tímto způsobem jsou vytvořeny funkční bloky pro řešení základní domény prolin: theblock je název zaměřeného objektu Funkční blok lze parametrizovat a připojit hodnoty vstupu FBL také obsahuje prvky, které jsou pro uživatelské rozhraní a zpracování alarmůModelování hid3

2 Meta šablona mechanismu řešením je použití vizuálních šablon pro efektivní programování (Karaila Systa, 2007)usedm Instant plate willtrol Role a aktuální data parametrů aplikace mototain jsou v databázi Transformační příloha a výsledkem je implementace Tento mechanismus funguje v počítači jako ve webových aplikacích Integrace Excelu poskytuje efektivní způsob úpravy stávajících dat, do kterých není možné data exportovat Tyto skutečnosti stojí za optimální kombinací FBL a frameworku k programování Šablony se používají například v programování v jazyce C++ webové aplikaceUvažované 'typově bezpečné The FBL šablonový engine se liší od enginů frplate, protože FBLlate je vyhodnocen okamžitě v době návrhu a v době kompilace FBL šablona je parametrizovaná databázové rozhraní tento druh rozhraní se také používá ve webových aplikacích, jazycích, které se používají ve webovém programování, jako je Java nebo Python hayine Tyto druhy weerů používají primární data z databáze a produkčního rozhraní, jak je znázorněno na obrázku 5 To umožňuje efektivní oddělení mezi obchodními daty a presenData lze snadno udržovat a prezentovat

Šablony Visual ServoingL mají parametry v databázi a šabloně FBL programování, lidé Standardní Tibrary (STL) Webová kontrola konečného výsledku v STL, kompilace Ve Fbl jsou funkce šablony vyhodnoceny okamžitě a transformace jeParameteodukuje dokumentyPříklad TesPříklad Test 25 Princip webu šablonový engineStatické metaprogramování (metaprogramování šablon se obecně používá k umožnění přizpůsobení programů v době kompilace Například comprogram pro různé platformy s takovými technikami, jako je použití, je však také poměrně náročný, ladění E-g je obvykle obtížné kvůli nedostatku správných nástrojů

To zase zpochybňuje testování statických kódů šablon metaprogrese na úrovni kompilace ve větších projektech, ale v menších projektech je to obvykle nevýznamné. Techniky metaprogramování šablon podporují a usnadňují minimalizaci a údržbu kódu Důvodem je, že program a implementace obecných struktur, možná na úrovni architektury Šablony FBL se používají k definování společné programové struktury pro rodinu instancí aplikačních programů Šablony se dále používají k vytváření těchto instancí, které v praxi volaly smyčky v nich lze použít instance až 100 Každá instance má svůj vlastní identifikátor a sadu parametrů Program