Objektum-függő útvonal-egyirányúsítási funkció Plant Simulationban

Már hagyománya van annak, hogy a blogon “vendégművészek” is megjelennek. A titokzatos Mr. N. után most az egyik kedves, régi logisztikai tervezéssel foglalkozó felhasználónk az Eco-Log-Ing Bt. (http://www.eco-log-ing.hu/) Plant Simulation mágusa, Simon László tollából olvasható az alábbi érdekes cikk. Laci egyébként rendszeres előadója a felhasználói konferenciáinak és a Plant Simulation konferencián is remek előadást tartott a múlt héten. Köszönjük neki!

Cégünk fő profilja a logisztikai rendszertervezés, melynek keretén belül a különböző rendszerek tervezését részletes intralogisztikai szimulációkkal segítjük. Erre a célra a Plant Simuation keretein belül kifejlesztettünk egy logisztika-specifikus modellezési környezetet, ami nagy mértékben segíti a munkánkat.

A valós igényekre készített, és valós problémákon alapuló mikroszkópikus szintű szimulációk esetében gyakran merül fel olyan igény, amire az általános modellezési környezet nem rendelkezik beépített kész megoldással. A Tecnomatix Plant Simulation azonban a teljes mélységű programozhatóságának köszönhetően alkalmas a még nem létező funkciók megvalósítására is.

A cikk tárgya a beépített Transporter objektum módosított vezérlése. A tárgyi MU számos előre definiált funkcióval, és képességekkel bír, úgy, mint az időben változó sebességű mozgások, automatikus routing funkció, stb. Ezen belül a problémához közel álló RouteWeighting szolgáltatást vizsgáljuk meg részletesebben alá.

A Transporter alkalmas arra, hogy egyes útvonal elemeket objektumonként eltérő súllyal vegyünk figyelembe az útvonal tervezés során. A megoldás működése dióhéjban a következő: a Transporter objektum RouteWeightingAttr nevű változójában megadott változónevet keresi az útvonal tervező algoritmus minden útvonal szakasz esetén. Amely szakasz esetében megtalálható ez az attribútum, ott az útvonal-szakasz valós hosszát ezzel az értékkel megszorozva veszi figyelembe a rendszer. Ennek következménye, hogy az 1-nél kisebb értékű paraméterrel rendelkező útvonal-szakaszokat a rendszer preferálja, az 1-nél nagyobbakat pedig megpróbálja elkerülni. A -1 értékű szakaszok tiltottak az adott Transporter számára.

logi1

A fenti funkció hasznos, és részletes beállításra ad lehetőséget, arra azonban nem, ha egy két irányú útvonal-szakaszt (TwoLaneTrack objektum) csak egy meghatározott irányban kívánjuk letiltani a kiválasztott Transporter számára. Az eset azonban gyakran előfordul, főként termelésellátási rendszerek szimulációja során, amikor a gyártósorok közötti szűk utak az alkatrészek kiszállítását végző szerelvények számára kijelölt egyirányú útnak minősülnek, de a kisebb targoncák, vagy dolgozók számára két irányú közlekedésre is alkalmasak.

Az általunk alkalmazott megoldás alapja, hogy a Plant Simulation a Transporterek elindításakor lefuttatott automatikus útvonal-optimalizáló algoritmus által meghatározott útvonalon az elindítás után már nem változtat, függetlenül az útvonal-hálózat esetleges változásától. Ha tehát minden útvonal-optimalizálás előtt átmenetileg látszólagosan manipuláljuk az útvonal-hálózatot elérhető a kívánt hatás. Ennek érdekében a modellünkben Transporter-objektumonként eltároljuk az egyirányban korlátozni kívánt útvonalakat, illetve sávokat. A modell futtatása során a Transporterek minden következő céljának megadása előtt módosításra kerülnek a TwoLaneTrack objektumok táblázatban szereplő sávjainak hossza, olyan módon hogy közben a TransferLengthToObject kapcsolót kikapcsoljuk annak érdekében, hogy az útvonal-szakaszok objektumainak végpontja ne módosuljon. Ezt követően a táblázatban szereplő sávok látszólagos hosszát kvázi-végtelenre állítjuk, majd megadjuk Transporter következő célpontját. Ennek hatására a lefutó optimalizáló algoritmus a manipulált hálózat figyelembe vételével dolgozik, azonban közvetlenül ezt követően visszaállítjuk az eredeti állapotot, tehát a következő Transporter már az alapbeállításokkal, vagy a saját manipulációs táblázata alapján módosított hálózaton tervezi az útvonalát.

logi2

Belátható, – és a mi gyakorlatunk is igazolja – hogy fent ismertetett megoldás alkalmas a cél elérésére, azaz Transporter objektum-specifikus módon beállítani és működtetni az egyes útvonal-szakaszok egyirányúságát úgy, hogy közben maximálisan kihasználjuk a beépített algoritmusokat, és lehetőségeket, azaz nem kötünk le további számítási erőforrást.

logi3

Leave a Reply