Skip to main content

Compile, run, and interact with Simulink models natively in Python!

Project description

PyPI

PySimlink is a python package that automatically compiles Simulink codegen files into a simple interface that you can interact with in Python!

With this package, you can:

  • Interact with the internals of your Simulink model
  • Run the model in "accelerator mode"
  • Send and receive data in the form of numpy arrays
  • Run multiple instances of the same model

All without requiring a MATLAB runtime on the target machine! No C/C++ programming required!

To get started, you either need a copy of the generated model you want to simulate or, to generate the code yourself, you need the Simulink Coder. There are some limitations, namely that your model must use a fixed step solver (a requirement of the grt target).

Demo

Read Signal Values

from pysimlink import Model

model = Model("my_awesome_model", "model.zip")
model.reset()

for i in range(len(model)):
    model.step()
    signal_val = model.get_signal(block_path="Constant1", sig_name="Signal1")
    print(signal_val)

Change Block Parameters

from pysimlink import Model
import numpy as np

model = Model("my_awesome_model", "model.zip")
model.reset()

new_param = np.eye(3)
model.set_block_param(block="Constant1", param="Value", value=new_param)

Change a Model's Final Time Step

from pysimlink import Model

model = Model("my_awesome_model", "model.zip")
model.reset()
model.set_tFinal(500)

print(model.tFinal)

And more...

Check out the docs to get started!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysimlink-1.2.0.dev6.tar.gz (49.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pysimlink-1.2.0.dev6-py3-none-any.whl (50.4 kB view details)

Uploaded Python 3

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page