loadprojectstartpoint
Функция загрузки состояния проекта
Синтаксис
loadprojectstartpoint(prjid);
Аргументы
| Имя | Тип данных | Описание |
|---|---|---|
| prjid | integer |
Идентификатор проекта, состояние которого нужно загрузить |
Описание
loadprojectstartpoint – функция производит загрузку из памяти сохраненной ранее
точки моделирования проекта с идентификатором prjid. Функция используется
для оперативной загрузки состояния проекта при выполнении цикличного расчета. Идентификатор
prjid может быть получен с помощью функции
openproject. Сохранение состояния
проекта в память может быть выполнено функцией
saveprojectstartpoint.
Результат
| Имя | Тип данных | Описание |
|---|---|---|
| Загрузка из памяти ранее сохраненной точки |
Пример
initialization
prjid = openproject("Loading_project.prt",0); //Открываем другой проект
initproject(prjid,1); //Запуск проекта
input_ptr = getprojectdataptr(prjid,"parameter_value"); //Получим ссылку на сигнал другого проекта, которой потом будем управлять
result_ptr = getprojectdataptr(prjid,"result_value"); //Получим ссылку на сигнал другого проекта, который потом будем выводить
saveprojectstartpoint(prjid); //Запомним начальную точку, чтобы делать повторяющийся расчёт
end;
if goodstep then begin //на каждом "хорошем" шаге запускаем другой проект на расчет до 50 секунд
loadprojectstartpoint(prjid); //Восстановим начальную точку для циклического расчёта
~(input_ptr) = variable_input; //Присваиваем варьируемую величину
runprojectto(prjid,50); //Запуск на расчёт до 50 секунд
waitprojectfortime(prjid,0); //Ждём пока оно досчитается
result_data = ~(result_ptr); //Считываем результат работы и направляем его в переменную
end;
finalization
closeproject(prjid,0); //закрываем другой проект
end;
При инициализации данного скрипта происходит открытие проекта
Loading_project.prt, получение его идентификатора и инициализация на
расчет. Затем на каждом "хорошем" шаге интегрирования выполняется загрузка начального
состояния второго проекта, передача в него очередного значения "аргумента", расчет проекта до
50 секунд и получение от него результата расчета. При окончании расчета происходит закрытие
второго проекта без запроса на сохранение изменений.
Дополнительные материалы
Нет.