Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: Rolich от 02 Февраля 2024, 12:27:04

Название: ID переменной
Отправлено: Rolich от 02 Февраля 2024, 12:27:04
Доброго всем времени суток
Подскажите, пожалуйста, есть ли возможность изменить ID переменной ?
Ситуация следующая: изменился источник данных переменных, я создал новые, а старые удалил. А теперь не знаю, как сотыковать их в системе отчётов
Название: Re: ID переменной
Отправлено: Simple-Scada от 02 Февраля 2024, 12:50:32
Здравствуйте.

Изменить ID-переменной нельзя. Откройте редактор отчетов, откройте отчет и нажмите на верхней панели кнопку "Ссылки". В открывшемся окне на вкладках "Источники" и "Переменные" восстановите ссылки указав новые переменные. Чтобы каждый столбец источника (и переменные отчета) был связан с нужной переменной проекта.
Название: Re: ID переменной
Отправлено: Rolich от 02 Февраля 2024, 12:54:44
А как вернуть удалённые переменные, если у меня есть сохранённая копия проекта ?
Т.е. как их из сохранённой копии перенести в актуальную версию
Название: Re: ID переменной
Отправлено: Simple-Scada от 03 Февраля 2024, 09:44:02
Из одного проекта в другой перенести переменные с сохранением ID нельзя. Можно либо создать новую переменную с таким же адресом, как в старом проекте, либо экспортировать переменные старого проекта в файл Excel и импортировать их в новый проект из файла (но ID у них после импорта будет новый). 
Название: Re: ID переменной
Отправлено: Pendalf от 05 Февраля 2024, 15:41:33
А объясните пожалуйста механизм, почему ID нужно обязательно делать новый? Почему нельзя оставить его таким же как он был? Что от этого должно поломаться.

Я уже задавал как то вопрос подобного рода как в шапке темы. Это очень неудобно сделано в вашей скаде. При удалении тега или его замене ---- Привязанные теги - слетают. Привязанные переменные к объектая тоже слетают, привязанные переменные к событиям скрипта слетают и т.д. Почему это SCADA такая "умная". Пускай она бы лучше насыпала кучу ошибок в отладку сервера и я исправил эти ошибки руками. Чем каждый раз в огромном проекте вспоминать все места, где тег мог отвалиться и ходить это ручками снова восстанавливать.
Название: Re: ID переменной
Отправлено: Simple-Scada от 05 Февраля 2024, 17:27:13
Цитировать
почему ID нужно обязательно делать новый?
В этом суть ID, он должен быть уникальным для нормальной работы проекта. Скада не знает о том, что Вы создаёте новую переменную подразумевая, что она будет вместо какой-то старой переменной. Для скады новая переменная всегда новая.

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

Цитировать
Чем каждый раз в огромном проекте вспоминать все места, где тег мог отвалиться и ходить это ручками снова восстанавливать.
Переменные не нужно удалять, если требуется внести изменения. Изменить любые свойства можно в редакторе переменных (https://simple-scada.com/help/manual/variable-editor.html). Связи не изменятся. Для массового редактирования (всех свойств, кроме имени) можно использовать импорт/экспорт в Excel с опцией "обновить существующие". Начиная с версии 2.6.11.0 для массового переименования переменных можно использовать окно "Групповое переименование".
Название: Re: ID переменной
Отправлено: Pendalf от 07 Февраля 2024, 23:50:09
Спасибо за ответы.

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

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

Цитировать
Переменные не нужно удалять, если требуется внести изменения. Изменить любые свойства можно в редакторе переменных (https://simple-scada.com/help/manual/variable-editor.html). Связи не изменятся. Для массового редактирования (всех свойств, кроме имени) можно использовать импорт/экспорт в Excel с опцией "обновить существующие".
Я уже писал выше. Масса ситуаций во время запуска объекта на количество сигналов от 5000-6000 тегов, когда точечно менять теги не вариант, а надо просто изменить все. Все сразу. Удалить всё и добавить всё заново.