Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Smartstruxure Sbo Pid-регулятор в Script Editor
Диалог специалистов АВОК > ОБЩИЙ ФОРУМ > Автоматизация систем
Masim
Добрый день, уважаемые коллеги.
Переделываю алгоритм на одном из объектов, проблема в том, что на данный момент алгоритм работает не очень хорошо, и было решено его править, так как используется функция отдаленно напоминающая регулятор, разбираться в ней нет никакого желания, было решено использовать ПИД из библиотеки.

Интересует именно вызов библиотечной функции ПИД-регулятора в Sript Editor (не FBD)
Версия ПО SBO1.8
Нажмите для просмотра прикрепленного файла
Делаю следующее:
1. Создал функцию в которую, добавил только программу ПИД-регулятора из библиотеки.
Нажмите для просмотра прикрепленного файла
2. Создал программу в которой вызываю функцию с ПИД-ом.
Нажмите для просмотра прикрепленного файла
3. Связал функцию с программой
Нажмите для просмотра прикрепленного файла
4. Запускаю дебаг, иду пошагам. Но после исполнения части кода с ПИД-ом выходное значение равно 0.
Я не уверен что вызываю ПИД правильно, а точнее его аргументы. Нигде не нашел описания на скриптовый пид, примеров как им пользоваться.
Может кто-то делал подобное, поделитесь опытом. Скорее всего что-то с аргументами ПИД-а, не знаю как правильно.

Заранее благодарен за помощь.
kosmos440o
Сделайте экспорт узла, заархивируйте и выложите, если это не секретно. Работал со скриптами в прошлом году, сейчас волна прошедшей за год через голову информации смыла остатки воспоминаний. Но на первый взгляд кажется, что проблема в самой функции PID.

А что мешает сделать ПИД в FBD и онлайн посмотреть, что происходит? Можно сделать отдельную программу для него при желании.

Какие-то подозрительные привязки данных. И какая-то непонятная парадигма программирования - при наличии FBD писать в текстовом формате. По-видимому, кроме сисадмина, других программеров не было. Я ещё понимаю - какой-либо протокол описать, но тут... Можно тупо заблудиться в if-else. И там в одном из else как-раз output = 0. Это и есть основной источник проблемы. Желательно от него избавиться сразу, переписать всё на FBD. Если нет собственных разработок, у шнайдера есть готовые приточки и контуры рекуперации, и много чего ещё. Да и из Паскаля (или на чём там скрипты работают) в FBD очень легко переводится. Заодно можно до наизусть разобраться, как всё работает.
Masim
В большинстве своем алгоритм рабочий, я всего лишь хочу вставить в код ПИД из библиотеки вместо того что там сейчас, а не переписывать все заново. Тем более тут ФБД со своими особенностями, блоками. Надо еще сначала разобраться хорошо. Я было начал делать ФБД программу, но столкнулся с тем что не могу описание на блоки найти. У них все запаролено. Бэкап вложил
shavr
Menta Editor - там вся справка не запаролена.
kosmos440o
Бэкап тоже паролю просит...
kosmos440o
Попробуйте импорт в папку, программа содержит ПИД. Вам нужно размножить, по экземпляру для каждой вызывающей программы. Ну так на всякий случай, может быть получится. Можете выслать архив без пароля, ил пароль в личку?
Masim
Цитата(shavr @ 25.12.2017, 13:51) *
Menta Editor - там вся справка не запаролена.


Благодарю, буду изучать
Masim
То kosmos440o: Если я правильно Вас понял, Вы предлагаете сделать отдельную программу, с ПИДом. И связать программу с ПИДом с основной но уже без ПИДа. Хотя поддержка Шнайдер, открешивается от Script, и говорят делайте на ФБД, есть примеры программ и т.д.

На счет пароля, не могу подобрать. Делаю онлайн, сразу на АС правлю. Поэтому, неиспользуя пароль, я его благополучно забыл.
kosmos440o
Цитата(Masim @ 16.1.2018, 8:51) *
То kosmos440o: Если я правильно Вас понял, Вы предлагаете сделать отдельную программу, с ПИДом. И связать программу с ПИДом с основной но уже без ПИДа.

Ну как-то так. Лучше бы вообще всё на FBD заменить.

Мы тоже скрипты не сильно используем. Только в самых крайних случаях. Ибо это не кошерно для инженегров, это обычно любят те, кто для ПК программирует.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.