Skip to main content
Kategória

Tecnomatix – Tipy a triky

Pohyb robotického ramena pomocou póz

Autor: Výroba a logistika

Plant Simulation umožňuje používateľom vytvoriť robota s vlastnými animáciami a pózami. Túto možnosť môžeme využiť, ak je naším cieľom vytvoriť detailný model robota blízky realite so špecifickými pohybmi.
Na názornom príklade vám ukážeme robota so 7 osami. Robot s vytvorenými pózami dopĺňa materiál do staníc na základe ich dopytu. Stanice následne obsluhuje jeden pracovník. Pre simuláciu robota sme využili objekt Station, nie PickAndPlace. Celý model si môžete stiahnuť a sami vyskúšať, poprípade modifikovať jeho časti podľa potreby.

Stručný postup:

  • vytvorte si duplikát objektu Station v Class Library
  • otvorte objekt Station v 3D a zmeňte jeho grafiku (Exchange Graphics). Vyberte objekt PickAndPlaceKUKA.s3d
  • vytvorte základňu pod robotom, a nastavte ju ako objekt pre animáciu (Make Animatable Object…)
  • upravte grafickú štruktúru robota
  • aktualizujte pole (Animation Object)
  • vytvorte si vlastné pózy podľa potreby
  • vytvorte kód v objekte Method, ktorý spustí požadované pózy

Odkaz na model nájdete TU

Využitie nástroja ExperimentManager pri určení počtu pracovníkov

Autor: Výroba a logistika

Po vytvorení simulačného modelu zvyčajne nasleduje experimentovanie, ktoré slúži pre určenie správneho nastavenia procesných časov, veľkostí zásobníkov alebo počtu pracovníkov. Pri hľadaní správneho počtu pracovníkov môžeme využiť nástroj „ExperimentManager“. Práca s nástrojom je užívateľsky prívetivá, a vyžaduje si len pár nastavení. Pre zmenu počtu pracovníkov pre jednotlivé experimenty využijeme „Observer“, ktorý bude sledovať zmenu hodnoty premennej „num_workers“. Premennú bude upravovať nástroj „ExperimentManager“. Metóda, ktorú vložíme do „Observer“, následne zabezpečí úpravu počtu pracovníkov v objekte „WorkerPool“. Opis možnosti „Observer“ je bližšie popísaná v nasledujúcom tipe: Observer

Objekty v simulácii a ich počet:

  • Source – 1x
  • Drain – 1x
  • Station – 3x; Procesné časy: S1 = 0:25, S2 = 0:45, S3 = 0:20; Failures: S1 = 85% Availability a 12:00 min MTTR; : S2 = 92% Availability a 20:00 min MTTR; : S3 = 87% Availability a 21:00 min MTTR
  • Buffer – 2x; Kapacity: Buffer1 = 3, Buffer2 = 4
  • Broker – 1x
  • WorkerPool – 1x
  • ExperimentManager – 1x
  • Method – 1x
  • Variable – 1x
  • Workplace – 6x
  • Čas simulácie: 100 dní


obr.: Ukážka modelu

Nastavenie porúch (Failures) nastavíme pre konkr. stanice v záložke „Failures“ a kliknutím na možnosť „New…“.


obr.: Nastavenie porúch

V časti „Importer“ pre jednotlivé stanice zaklikneme možnosť „Active“. Ako pre „Processing“ tak aj pre „Failure“. Ak by sme nastavenie nevykonali, pracovník by nebol zavolaný k procesu a prípadnej poruche.


obr.: Nastavenie „importer“ pre stanice

Premenuje objekt „Variable“ na „num_workers“ a pridáme „Observer“. Zvolíme možnosť „New…“ vyberieme možnosť sledovať hodnotu „value“ a vložíme metódu, ktorá sa pri zmene hodnoty  premennej „num_workers“ zapne. Všetko uložíme.


obr.: Nastavenie „Observer“ v objekte „Variable“ s názvom num_workers

Ukážka metódy „MET_SetWorkers“, ktorá sa aktivuje vždy pri zmene hodnoty globálnej premennej „num_workers“.


obr.: Obsah metódy

Nastavenie nástroja „ExperimentManager“. Nájdeme ho v záložke „Tools“ v Plant Simulation.


obr.: Konfigurácia nástroja „ExperimentManager“

  1. Define Output Values: Tu môžeme vložiť premenné a atribúty, ktorých hodnotu budeme sledovať. Môže ísť napríklad o celkový počet vyrobených kusov alebo cyklový čas procesu.
  2. Define Input Values: Sem vložíme premenné alebo atribúty, ktorých hodnotu chceme pre jednotlivé experimenty meniť.
  3. Define Experiments: Následne si zvolíme akú hodnotu má vstupná premenná alebo atribút nadobudnúť. V tomto prípade 8 hodnôt (riadkov) znamená 8 experimentov. Postupne budeme meniť množstvo pracovníkov, a sledovať celkový počet vyrobených kusov.

V závere si nastavíme simuláciu na 100 dní, stlačíme možnosť „reset“ v nástroji „Experimentmanager“, a spustíme experimentovanie stlačením „Start“. Po vykonaní experimentov sa nám automaticky zobrazí súbor s výstupmi.

Funkcia StrCopy

Autor: Výroba a logistika

V tipe si predstavíme funkciu StrCopy. Je to funkcia, ktorá dokáže zo String-u kopírovať znaky v nami zadanom rozsahu, a tú hodnotu vráti späť. Túto funkciu sa oplatí používať, keď napríklad chceme z názvu objektu (názov stroja, názov/číslo dielu, zásobník, číslo stroja, typ stroja, názov pracoviska …) kopírovať len časť jeho string-u. Napríklad máme názov dielu “PartA“, a chceme kopírovať len posledné písmeno A.  Zápis metódy by vyzeral takto: strCopy(„PartA“,5,1). Kde „PartA“ je názov dielu, 5 – čítaj od piateho znaku a 1 – čítaj jeden znak. Funkcia vráti späť string “A”.

Ďalšie príklady:

print strCopy(„abcdef“,2,3)   // vráti „bcd“
print strCopy(„abcdef“,4,10)  // vráti  „def“
print strCopy(„abcdef“,-1,4)  // vráti  „ab“

Teraz si ukážeme funkciu StrCopy na príklade. V jednoduchom simulačnom modeli máme 3x Source (Source1, Source2 a Source3), Station, Drain, tabuľku “Procesne_casy” a metódu “Nastav_proctime”.  Source1 generuje PartA (červený), Source2 generuje PartB (modrý) a Source3 generuje PartC (zelený).


Obrázok 1: Príklad

Našim cieľom v príklade je podľa názvu dielu (PartA,PartB a PartC) určiť jeho procesný čas v Station. Tabuľka Procesne_casy obsahuje dáta o Part typ a jeho procesných časoch. V tabuľke sa nachádzajú názvy dielov. Ale, keď si všimneme, tak každý Part typ začína znakom A,B,C alebo D. Práve tieto znaky budú kľúčové pre spárovanie názvu dielu (PartA,PartB a PartC) a Part typ (A0001,B0001 a C0001).

Keď do Station príde diel s názvom “PartA”, a nájde v tabuľke Part typ “A0001”, tak mu pridelí procesný čas 8 sekúnd. Pretože jedine, čo majú tieto dve string-y  “PartA” a “A0001” spoločné, je znak “A”. Keď je tento znak rovnaký, tak pridelí tomuto dielu konkrétny procesný čas. Toto pre nás vykoná metóda “Nastav_proctime”.


Obrázok 2: Tabuľka „Procesne casy“


Obrázok 3: Metóda „Nastav_proctime“

Video k príkladu si môžete pozrieť tu:

Simulačný model .spp príkladu si môžete stiahnuť tu.

Supermarket

Autor: Výroba a logistika
Od verzie 16.1 Plant Simulation ponúka zmeniť objekt Store na Supermarket. Supermarket umožňuje dočasne skladovať materiál, a keď materiál klesne pod stanovenú hladinu, tak pošle požiadavku dodávateľovi materiálu. Dodávateľ môže byť Source alebo taktiež iný Supermarket. Viac

DropDownList

Autor: Výroba a logistika
V tipe si predstavíme objekt DropDownlist, povieme si, ako pomocou metódy do neho nahrať  položky (items) a taktiež si ukážeme metódu, ktorá bude riadiť čo sa má stať, ak si vyberieme jednu z položiek (item) Viac