Plant Simulation modellek futtatása web böngészőn keresztül

,

Becsült olvasási idő: 7 perc

A Plant Simulation szoftvermegoldás jól ismert eszköze a gyártási és logisztikai folyamatok modellezésének és optimalizálásának. A rendszeren belül részletesen leképezhetők a gépek, dolgozók, eszközök és erőforrások, azok működése, viselkedése. Egy jól működő szimulációs digitális iker modell elkészítése viszonylag időigényes feladat, az elkészült modellt pedig leghatékonyabban az tudja használni, aki készítette. Azonban gyakran felmerülnek a digitális iker modellel kapcsolatban az alábbiak:

  • használható lenne a modell a napi működés támogatására?
  • ha változnak a termelési paraméterek, akkor hogyan tudnám futtatni a modellt?
  • hogyna tudnák olyan kollégák használni a modellt, akik nem ismerik a Plant Simulation használatát?
  • csak pár paramétert változtatnánk, hogyan lehetne gyorsan lefuttatni a szimulációs modellt és eredményeket kapni

Az alábbi cikkben egy olyan rendszer struktúrát mutatunk be, amelyik alkalmas arra, hogy egy weboldalon megadjuk a szimuláció paramétereit, a weboldal a háttérben lefuttatja a szimulációt és az eredményeket egy weboldalon adja vissza.

A rendszer komponensei:

  • Python Streamlit weboldal: ez biztosítja a felhasználói felületet
  • Plant Simulation Console: a Plant Simulation a 2404-es verzió óta tartalmaz egy parancssoros verziót, ahol felhasználói felület megjelenítése nélkül futtatható a szimuláció
  • SQLite: a háttérben lévő adatbázis, amelybe a szimuláció bemeneti paraméterei kerülnek, és ide kerülnek az eredmények is

A szimulációs modell

A szimulációs modell egy egyszerű gyártási folyamatot képez le. A gyártósorra folyamatosan érkeznek a darabok egy adott eloszlásfüggvény szerint. Három gyártási lépés történik, mindhez szükség van dolgozóra. Az állomások között puffer található. A rendszer fő paraméterei a két puffer mérete és a dolgozók létszáma.

Mi az a Streamlit?

A Streamlit egy rendkívül népszerű, nyílt forráskódú Python könyvtár, amivel villámgyorsan – napok vagy hetek helyett akár pár óra alatt – készíthetsz látványos, interaktív webes applikációkat és dashboardokat (adatvizualizációs felületeket).

A legnagyobb előnye, hogy nem kell hozzá frontend tudás (HTML, CSS, JavaScript), és semmilyen bonyolult webes keretrendszert (pl. Django, Flask) sem kell megtanulnod. Ha tudsz Pythonul írni, már tudsz Streamlit appot is fejleszteni.

Miért szeretik ennyire? (Főbb jellemzők)

  • Tiszta Python: Minden logikát és a felület kinézetét is sima Python kódból határozod meg. Például egy gomb létrehozása mindössze ennyi: if st.button('Kattints ide'):
  • Adattudomány-fókuszú: Gyárilag támogatja a legnépszerűbb adatkezelő és grafikonrajzoló könyvtárakat (Pandas, NumPy, Matplotlib, Plotly, Altair, Scikit-learn).
  • Interaktív widgetek: Pár sorral adhatsz hozzá csúszkákat (slider), legördülő menüket, jelölőnégyzeteket, szövegbeviteli mezőket vagy akár fájlfeltöltőt is.
  • Azonnali frissülés: Amint a felhasználó megváltoztat egy értéket a felületen (pl. elmozdít egy csúszkát), a Streamlit fentről lefelé újra lefuttatja a Python szkriptet, és azonnal frissíti a kijelzett adatokat vagy grafikonokat.

A Streamlit könyvtár használatának további előnye, hogy aszinkron futtatást valósít meg, ami a gyakorlatban azt jelenti, hogy ha hosszabb ideig fut a szimuláció, akkor sem kapunk időtúllépés hibaüzenetet a böngészőben.

Mi az a plantsimulationconsole.exe?

A PlantSimulationConsole.exe a Plant Simulation felhasználói felület (UI) nélküli, konzolos verziója. Segítségével a parancssorból lehet futtatni szimulációkat. A parancssori ablakban meg lehet adni a szimulációs modellfájlt és azt a keretet (Frame), amelyben a szimulációt végre kell hajtani: PlantSimulationConsole.exe /f MyModel.spp /m .Models.Model

Miután a szimuláció befejeződött, a Plant Simulation folyamat leáll (kilép). A szimulációs modellnek ezért a szimulációs eredményeket el kell mentenie pl. egy szövegfájlba, vagy adatbázisba. A PlantSimulationConsole.exe végrehajtható fájl a Plant Simulation telepítési mappájában található. A 2606-os verzió alapértelmezett telepítési mappája a C:\Program Files\Siemens\Plant Simulation 2606.

Licencelés A PlantSimulationConsole.exe „Simulation” licenccel vagy bármilyen magasabb szintű licenctípussal futtatható. Ha a licencet a Plant Simulation felhasználói felülettel rendelkező (UI) verziójának „License” lapján be van konfigurálva, a PlantSimulationConsole ezt a licenckonfigurációt fogja használni. Ha nem, akkor meg lehet adni a SALT_LICENSE_SERVER környezeti változóval.

PlantSimulationConsole /f <Model File> [/m <Path to Simulation Frame>]

Other Options:
        /E <Path to method in model to execute>
        /e <File with SimTalk to execute>
        /TrustModels          'When you open a model from someone else that demands access to the computer, access is permitted without asking you'
        /Timeout:<Minutes>    'Terminate if simulation time is not progressing for this amount of minutes'
        /EnablePrint          'Enable SimTalk print statements'
        /ShowProgress         'Print simulation progress into console output (Requires EndTime)'
        /SuppressAutoexec     'Disable execution of 'autoexec' methods when models are loaded'
        /SuppressOpenGL       'Suppress loading OpenGL when starting 3D'
        /SuppressPrint        'Suppress SimTalk print statements independent of console filter'
        /SuppressStartOf3D    'Don't start 3D and therefore don't load 3D part of the model'
        /TraceFile <filename> 'Write event trace into specified file.'
        /RegisterServer       'Registers as COM server (needs administrator rights)'

Exit Codes:
         2: No license file/server specified.
         3: The model file is corrupted.
         4: The model file cannot be read.
         5: The specified frame has no event controller.
         6: Method/File specified with /E or /e  does not exist.
         7: Method specified with /E is not a method.
         8: The folder model cannot be read.
         9: The 3D data cannot be read.
        11: Variable .autoexec does not reference a frame.
        12: Error in SimTalk method.
        13: Error in simulation model.
        21: Lost the connection to the license server.
        96: The 3D engine could not be started.
        97: The application was terminated because the timeout was reached.
        98: The application crashed.
        99: Out of memory.

Hogyan működik?

Az elkészített rendszer az alábbi lépéseken halad végig:

  1. A felhasználó előtt megjelenik a Streamlit alapú python weboldal
  2. A felhasználó megadja/beállítja a szimulációs paramétereket
  3. A weboldal lementi adatbázisba a megadott paramétereket
  4. A weboldal meghívja a Plant Simulation konzol alkalmazást, beolvass a paramétereket és lefuttatja a szimulációt
  5. A szimuláció futásának végén a Plant Simulation az eredményeket beleírja az adatbázisba
  6. A weboldal kiolvassa az eredményeket és megjeleníti azokat

Az elkészült rendszer

Az alábbi videó az elkészült rendszer működését mutatja be. Jól látszik, hogy a puffereket lehet alul és túlméretezni is, amikor már nincs hatása a folyamatra, a darabszámra a nagyobb puffernek. A dolgozók esetében pedig az látható, hogy a létszám csökkenése drasztikus hatással van a darabszámra.

Ha bárki szeretne magának hasonló rendszert, ahol egy gyártási vagy logisztikai optimalizálás egy weboldalból elérhető, az keressen minket bátran, tudunk segíteni.

Molnár Zsolt avatar

a blogon található 500+ cikk között.

Ne maradjon le az Önt érdeklő szakmai újdonságokról, hírekről! Iratkozzon fel a graphIT Kft. havi hírlevelére! A feliratkozás bármikor lemondható.