Есть ли способ сохранить файл Simulink, с которым вы сейчас работаете, через равные промежутки времени? - PullRequest
1 голос
/ 12 июля 2019

Я пытаюсь написать скрипт на Python, который будет сохранять файл Simulink каждые 5 минут, пока я работаю над ним для удобства (я знаю, что это не надежный способ защиты ваших файлов, но я делаю это дляради любопытства).Я нашел matlab.engine API, но, похоже, для этого мне потребуется открыть файл Simulink из сценария Matlab, а это не то, что мне нужно.Мне еще не удалось найти подобный API для Simulink, и я некоторое время не использовал Python, поэтому я думаю, что есть более очевидный подход, который я пропускаю.Вот сценарий, который у меня есть:

import datetime
from pathlib import Path

data_folder = Path("C:\CM_Projects\May_test\src_cm4sl")

last_time = datetime.datetime.now()
last_hour = last_time.hour
last_minute = last_time.minute

while True:
    current_time = datetime.datetime.now()
    current_hour = current_time.hour
    current_minute = current_time.minute
    if (current_minute - last_minute) = 5
        # save Simulink file here
        print("File succesfully saved at " +str(current_hour) + ":" 
        +str(current_minute))
        last_hour = current_hour
        last_minute = current_minute
        exit()

1 Ответ

0 голосов
/ 16 июля 2019

Вы можете использовать API, предоставляемый MathWorks, для взаимодействия с Matlab из Python (извлечение здесь ).

С их помощью можно подключиться к работающему Matlab:

import matlab.engine
eng = matlab.engine.connect_matlab()

И как только вы подключитесь, вы можете вызывать любую функцию matlab, какую захотите. Например, при условии, что в вашей папке есть скрипт matlab с именем saveMyModel.m:

function a = saveMyModel(model_name)
   save_system(model_name);
end

Вы можете вызвать его через Python, вызвав:

eng.saveMyModel('MyModelName')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...