saveprojectstartpoint
Функция сохранения состояния проекта
Синтаксис
saveprojectstartpoint(prjid);
Аргументы
| Имя | Тип данных | Описание |
|---|---|---|
| prjid | integer |
Идентификатор проекта, состояние которого нужно запомнить. |
Описание
saveprojectstartpoint – функция производит сохранение в память текущей точки
моделирования проекта с идентификатором prjid. Функция используется для
оперативного сохранения состояния проекта при выполнении цикличного расчета. Идентификатор
prjid может быть получен с помощью функции
openproject.
Результат
| Имя | Тип данных | Описание |
|---|---|---|
| Сохранение текущей точки моделирования |
Пример
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 секунд и получение от него результата расчета. При окончании расчета происходит закрытие
второго проекта без запроса на сохранение изменений.
Дополнительные материалы
Нет.