Начальные значения тегов в DataRate
В Датарейте есть баг (или фича?) с начальными значениями тегов. При изменении начального значения тега и последующим запуском в среде разработки новое значение успешно подчитывается. При запуске же в среде исполнения в первый раз начальные значения прочитываются и записываются в файл с расширением «.rtdb». В дальнейшем, если вы захотите изменить начальное значение тега, то в среде исполнения новое значение не будет прочитано, а будет взято из этого файла. Чтобы новое значение переменной отобразилось в среде исполнения нужно удалить файл «.rtdb».
В начальных значениях тегов могут храниться важные данные, например, номера команд на запуск оборудования. Думаю, разработчикам следует исправить этот недочет в скада-системе.
Подробности на видео:
Поступил ответ от поддержки на официальном форуме
Support:
Вы очень поверхностно смотрите на этот вопрос, не учитываете других ситуаций и заложенные возможности по манипуляции уставками Среды Исполнения в Среде Разработки.
Значения уставок, сделанных в Среде Исполнения, важнее того что будет сделано в Среде Разработки.
Проект может делаться типовым и уставки, сделанные в Среде Разработки, могут быть неверными для всех объектов на которых будет проект запущен в Среде Исполнения.
В Среде Разработки есть возможность импортировать/экспортировать уставки из Среды Исполнения. Можно сделать в Среде Разработки такой набор данных, который будет состоять как из данных реального диспетчера, так из того что было сделано инженером в Среде Разработки.
При запуске системы на исполнение происходит проверка на наличие измененных данных атрибутов тегов в Среде Исполнения. Если такие данные есть, то изменения игнорируются. Это сделано умышленно, чтобы не перетирать уставки диспетчера при перезапуске системы после модификаций проекта. Если пользователь уверен, что ему ничего сохранять не нужно было, то он удалит файл и получит полную копию уставок из проекта.
Я:
Согласен, что возможность сохранять настройки, введенные оператором нужна, только обычно она реализуется при помощи сохраняемых переменных в контроллере или рецептов в скаде. Сейчас механизм сохранения значений в rtdb непрозрачен. Пользователь получает разные значения в разработке и в исполнении! Возможно стоит сделать галку напротив переменной — является ли она сохраняемой или нет, как это делается в контроллерах или вообще предусмотреть возможность глобально включать и отключать базу rtdb.
Support:
В настоящее время продуктом пользуется очень много людей и они знают о том как работает продукт в этой части. Многие системы уже более 10 лет работают на объектах без изменений в части БДРВ. Мы не можем легко и просто менять такие вещи, даже если это будет в каких-то случаях удобно. Дополнительные параметры вводить можно, но только если это будет действительно необходимо. Если у Вас очень большой проект и данная ситуация для вас критическая, то обратитесь в техническую поддержку и мы постараемся выработать приемлемое решение.