Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: ID переменной  (Прочитано 1592 раз)

Rolich

  • Пользователь
  • **
  • Сообщений: 73
    • Просмотр профиля
ID переменной
« : 02 Февраля 2024, 12:27:04 »
Доброго всем времени суток
Подскажите, пожалуйста, есть ли возможность изменить ID переменной ?
Ситуация следующая: изменился источник данных переменных, я создал новые, а старые удалил. А теперь не знаю, как сотыковать их в системе отчётов

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3066
    • Просмотр профиля
    • Simple-Scada
Re: ID переменной
« Ответ #1 : 02 Февраля 2024, 12:50:32 »
Здравствуйте.

Изменить ID-переменной нельзя. Откройте редактор отчетов, откройте отчет и нажмите на верхней панели кнопку "Ссылки". В открывшемся окне на вкладках "Источники" и "Переменные" восстановите ссылки указав новые переменные. Чтобы каждый столбец источника (и переменные отчета) был связан с нужной переменной проекта.

Rolich

  • Пользователь
  • **
  • Сообщений: 73
    • Просмотр профиля
Re: ID переменной
« Ответ #2 : 02 Февраля 2024, 12:54:44 »
А как вернуть удалённые переменные, если у меня есть сохранённая копия проекта ?
Т.е. как их из сохранённой копии перенести в актуальную версию

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3066
    • Просмотр профиля
    • Simple-Scada
Re: ID переменной
« Ответ #3 : 03 Февраля 2024, 09:44:02 »
Из одного проекта в другой перенести переменные с сохранением ID нельзя. Можно либо создать новую переменную с таким же адресом, как в старом проекте, либо экспортировать переменные старого проекта в файл Excel и импортировать их в новый проект из файла (но ID у них после импорта будет новый). 

Pendalf

  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Re: ID переменной
« Ответ #4 : 05 Февраля 2024, 15:41:33 »
А объясните пожалуйста механизм, почему ID нужно обязательно делать новый? Почему нельзя оставить его таким же как он был? Что от этого должно поломаться.

Я уже задавал как то вопрос подобного рода как в шапке темы. Это очень неудобно сделано в вашей скаде. При удалении тега или его замене ---- Привязанные теги - слетают. Привязанные переменные к объектая тоже слетают, привязанные переменные к событиям скрипта слетают и т.д. Почему это SCADA такая "умная". Пускай она бы лучше насыпала кучу ошибок в отладку сервера и я исправил эти ошибки руками. Чем каждый раз в огромном проекте вспоминать все места, где тег мог отвалиться и ходить это ручками снова восстанавливать.

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3066
    • Просмотр профиля
    • Simple-Scada
Re: ID переменной
« Ответ #5 : 05 Февраля 2024, 17:27:13 »
Цитировать
почему ID нужно обязательно делать новый?
В этом суть ID, он должен быть уникальным для нормальной работы проекта. Скада не знает о том, что Вы создаёте новую переменную подразумевая, что она будет вместо какой-то старой переменной. Для скады новая переменная всегда новая.

Цитировать
лучше насыпала кучу ошибок в отладку сервера и я исправил эти ошибки руками.
Если нужно видеть разорванные связи, то возможно добавим такой список в будущем. Сейчас разорванные связи игнорируются, а после сохранения проекта удаляются навсегда, чтобы не тратить ресурсы на обращение к несуществующим объектам.

Цитировать
Чем каждый раз в огромном проекте вспоминать все места, где тег мог отвалиться и ходить это ручками снова восстанавливать.
Переменные не нужно удалять, если требуется внести изменения. Изменить любые свойства можно в редакторе переменных. Связи не изменятся. Для массового редактирования (всех свойств, кроме имени) можно использовать импорт/экспорт в Excel с опцией "обновить существующие". Начиная с версии 2.6.11.0 для массового переименования переменных можно использовать окно "Групповое переименование".
« Изменён: 05 Марта 2024, 12:32:05 от Simple-Scada »

Pendalf

  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Re: ID переменной
« Ответ #6 : 07 Февраля 2024, 23:50:09 »
Спасибо за ответы.

Цитировать
В этом суть ID, он должен быть уникальным для нормальной работы проекта. Скада не знает о том, что Вы создаёте новую переменную подразумевая, что она будет вместо какой-то старой переменной. Для скады новая переменная всегда новая.
Это замечательно. Пускай будет этот ID всегда новый, если зачем то это нужно для работы проекта. Но почему его нельзя изменять вручную? На пусконаладочных работах, например, такое нужно часто. Половина АСУТП уже работает. Люби работают, тренды пишутся. Нужно обновить вдруг 100-200 переменных, они в перемешку. Точечно обновлять (удалять, добавлять) - не вариант. Лучший вариант удалить всё и добавить заново. Но тут то и начинаются проблемы, например, ID изменился, соответственно все накопленные тренды тоже не подгружаются. Было бы замечательно иметь возможность присвоить новым переменным старые ID.

Цитировать
Если нужно видеть разорванные связи, то возможно добавим такой список в будущем. Сейчас разорванные связи игнорируются, а после сохранения проекта удаляются навсегда, чтобы не тратить ресурсы на обращение к несуществующим объектам.
Было бы очень удобно. Список разорванных связей хорошо. Но хотя бы привязка была бы по имени, а не по ID. Контролируйте уникальность имени. Сохраните ID, если он так сильно нужен. Но сделать подвязки по имени. SCADA же всё равно не даёт сделать две переменные с одинаковым именем. Тогда в чем проблема? SCADA местами сильно умная там где её не просят. Если что то сломалось, отвязалось или ссылка на битый тег - пускай при компиляции про это скажет, не даёт скомпилировать, но только не заставляет делать разработчика кучу лишней работы.

Цитировать
Переменные не нужно удалять, если требуется внести изменения. Изменить любые свойства можно в редакторе переменных. Связи не изменятся. Для массового редактирования (всех свойств, кроме имени) можно использовать импорт/экспорт в Excel с опцией "обновить существующие".
Я уже писал выше. Масса ситуаций во время запуска объекта на количество сигналов от 5000-6000 тегов, когда точечно менять теги не вариант, а надо просто изменить все. Все сразу. Удалить всё и добавить всё заново.
« Изменён: 09 Февраля 2024, 13:17:21 от Simple-Scada »