Skip to content

phygitalism/omfmi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

OpenModelica and PyFMI

Docker image with PyFMI and OpenModelica ​ FMU files generated for linux can be used with PyFMI. ​ Build on your own: ​

$ cd omfmi
$ docker build -t omfmi .

​ Or just pull from docker hub: ​

$ docker pull phygitalism/omfmi:1.0

​ ​ Run in docker: ​

$ docker run --rm -it -v "$(pwd)":/omfmi phygitalism/omfmi:1.0

​ Π”Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ содСрТит ссылку Π½Π° docker-file, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ настроСна связь OpenModelica ΠΈ PyFMI.

Π­Ρ‚Π° связка Π±Ρ‹Π»Π° использована ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° PlantSim-Taneco.
​ Для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ FMU ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ модСль систСмы Π² Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (OpenModelica).
Π£ FMI Π΅ΡΡ‚ΡŒ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ – для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ Windows, Linux ΠΈΠ»ΠΈ MacOS гСнСрируСтся FMU-Ρ„Π°ΠΉΠ» ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ FMU-модСль Π² срСдС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π² дальнСйшСм использован, Π° для нашСй систСмы это Π±Ρ‹Π» Linux.

FMI ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°ΠΊΠ΅Ρ‚ интСрфСйса. Π­Ρ‚ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ стандарт для ΠΎΠ±ΠΌΠ΅Π½Π° динамичСскими ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ модСлями ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ инструмСнтами Π² стандартизованном Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. Π—Π½Π°Ρ‡ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° основС ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ возрастаСт, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ cΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… контСкстах. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ FMI опрСдСляСт ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ для экспорта ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ инструмСнт, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящий для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π°Π½Π°Π»ΠΈΠ·Π°, сохраняя Ρ‚Ρƒ ΠΆΠ΅ модСль. НапримСр, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ модСль Π² срСдС Dymola, Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ использованиС ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² MapleSim, OpenModelica ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ….
​ FMU (Functional Mock-Up Unit) – это Ρ„Π°ΠΉΠ» (с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .fmu), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ модСль, которая соотвСтствуСт стандарту FMI. Π˜ΠΌΠ΅Π΅Ρ‚ Π΄Π²Π΅ вСрсии: FMI 1.0, Ρ‚Π°ΠΊ ΠΈ FMI 2.0 ΠΈ Π΄Π²Π° Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ – model exchange (ΠΎΠ±ΠΌΠ΅Π½ модСлью) co-simulation (совмСстноС ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅).
​ ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для модСлирования, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Dymola, MapleSim, Matlab Simulink, OpenModelica ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π² Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ стандарт FMI, Ρ‡Ρ‚ΠΎ лишний Ρ€Π°Π· Π΄ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²ΠΎΡΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ стандарта.
​ НСкоторыС Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΏΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌ модСлирования:

  • ΠΏΠ°ΠΊΠ΅Ρ‚ Dymola Π½Π΅ прСдоставляСт ΠΏΡ€ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π°, Π° Π΅Π΅ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Π² Π³ΠΎΠ΄ составляСт 40000$
  • Matlab Simulink Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ экспорт ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ FMU вСрсии FMU 2.0 cs
  • OpenModelica бСсплатна, Π½ΠΎ Π² Π½Π΅ΠΉ ΠΏΠ»ΠΎΡ…ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ€Π΅ΡˆΠ°Ρ‚Π΅Π»ΠΈ (solvers) Π΄ΠΈΡ„Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ (Π”Π£) для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½Ρ‹Ρ… процСссов.
    β€‹ΠœΠΎΠ΄Π΅Π»ΡŒ Π·Π°Π²ΠΎΠ΄Π° Taneco Π±Ρ‹Π»Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π° Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ ΠΈΠ· этого ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Π½ΠΎ Π² дальнСйшСм ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°ΠΌΠΈ встала Π·Π°Π΄Π°Ρ‡Π° модСлирования элСктричСской ΠΏΠ»Π°Ρ‚Ρ‹ ΠΈ OpenModelica Π½Π΅ ΡΠΏΡ€Π°Π²Π»ΡΠ»Π°ΡΡŒ с Ρ€Π΅ΡˆΠ°Π΅Π½ΠΈΠ΅ΠΌ Π”Π£ нСявным ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π­ΠΉΠ»Π΅Ρ€Π°. Для Ρ‚ΠΎΡ‡Π½ΠΎΠΉ симмуляции элСктричСских ΠΏΠ»Π°Ρ‚, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ MapleSim. Он прСдоставляСт бСсплатный ΠΏΡ€ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ экспорт ΠΌΠΎΠ΄Π΅Π»ΠΈ вСрсии FMU 2.0 cs ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π”Π£ нСявным ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π­ΠΉΠ»Π΅Ρ€Π°.

About

Docker image with PyFMI and OpenModelica

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •