Page 224 - 6734
P. 224
r"e:\OpenModelica\share\omc\scripts\PythonInterface")
# шлях до модулів
from OMPython import OMCSession, ModelicaSystem
# перший спосіб - використання OMCSession:
omc = OMCSession()
omc.sendExpression('loadFile("Simple.mo")')
omc.sendExpression('setParameterValue(Simple, a, 2)')
omc.sendExpression('simulate(Simple)')
omc.sendExpression('plot(x)')
print omc.sendExpression('val(x , 1.0)') # результат
x(time=1.0)
# або більш зручний спосіб:
mod=ModelicaSystem("Simple.mo","Simple")
print mod.getParameters()
mod.setParameters(a=2)
mod.setSimulationOptions(stopTime=2.0)
mod.simulate()
print mod.getSolutions('time','x') # результати як
масиви
# або компілювати модель і симулювати без OMPython:
omc.sendExpression('buildModel(Simple)') #
компілювати
os.environ["PATH"] += os.pathsep +
r"e:\OpenModelica\bin" # шлях до dll
param='''outputFormat=csv
stopTime=2
a={}
''' # значення параметрів
for i,p in enumerate([1, 2, 3]): # для кожного
значення
with open('override%d.txt'%i, 'w') as f:
f.write(param.format(p)) # створити файл зі
223