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.1.tar.gz (50.7 kB view hashes)

Uploaded Source

Built Distribution

pysimlink-1.2.1-py3-none-any.whl (51.1 kB view hashes)

Uploaded Python 3

Supported by

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