Имена тегов вместо номерных ID

Стартовая страница Форумы Новые идеи Имена тегов вместо номерных ID

Просмотр 7 сообщений - с 1 по 7 (из 7 всего)
  • Автор
    Сообщения
  • #41244
    manjey73
    Участник

    Собственно идея, но думайте сами 🙂

    На примере скриптов, но распространить можно на всю систему механизм.

    Например вместо номера в скрипте мы написали
    SetVal(Экземпляр.Объект.Устройство.КодТега, Val(Экземпляр.Объект.Устройство.КодТега_1))

    1. как бы ошибка — идем в словарь — нет такой буквы
    2. Находим в БД номер канала этого самого Экземпляр.Объект.Устройство.КодТега и подставляем
    3. на следующем цикле идем в словарь — есть такая буква в слове и подставляем сразу ID

    з.ы. если пишем Объект.Устройство.КодТега значит текущий экземпляр, если Устройство.КодТега значит текущий экземпляр и текущий объект и т.д.

    #41250
    Mikhail
    Модератор

    Нужно двигаться в этом направлении.
    Если расширить идею:
    Удобно ли было бы вообще избавиться от работы с ID (номерами каналов, номерами объектов и т.д.) при конфигурировании системы? То есть ID будут использоваться только внутри работы ПО, а пользователь бы работал только с кодами и наименованиями.
    Что думаете?

    #41252
    manjey73
    Участник

    Думаю все же надо сохранить возможность работы по ID.
    В любом случае мы должны будем где-то видеть тот самый ID, который назначен

    1. например когда мы делаем формулы со смещением канала, или хотим записать напрямую в определенный канал, там то будет цифровое представление в любом случае.

    а по умолчанию да, именно с именами.

    Тут еще один момент. Ну идея как проверять что именно мы ввели есть, не пробовал еще.
    ТОЧКУ запретить — она должна быть разделителем

    * — любые символы до конца «имени» например ИТП*.Котел.Т1 — типа все объекты, начинающиеся с ИТП (ИТП1, ИТП2, ИТП_Дом2 и так далее) с устройствами Котел и тегом Т1 — то есть чтобы у нас сразу создался некий словарь, что попадет под такое правило

    ? — любой единичный символ

    n (или как-то с префиксом чтобы вводить) — любой единичный номер
    nn — любой двойной номер
    Можно # например

    Соответственно эти символы, как и точку тоже запретить 🙂

    • Ответ изменён 1 месяц, 1 неделя назад пользователем manjey73.
    #41257
    manjey73
    Участник

    блин, а ведь у OPC тоже точки в качестве разделителей?

    как тогда быть с ними, или делать не точки а что-то другое для разделителей Экземпляр.Объект и т.д. ?

    #41260
    Mikhail
    Модератор

    а ведь у OPC тоже точки в качестве разделителей?

    Каждый разработчик OPC-сервера делает как ему придёт в голову. Точки часто используются, конечно.

    #41267
    manjey73
    Участник

    А как-то преобразовать точки OPC есть возможность? типа чтобы самим использовать точки, а если используем OPC где-то в настройках меняем, чтобы в нем были не точки а что-то другое, какой-то наш символ?

    #41299
    Mikhail
    Модератор

    Коды тегов не обязаны совпадать с идентификаторами узлов OPC. Можно в настройках драйвера другие коды тегов задать. Если их много, то применить замену в XML-файле.

Просмотр 7 сообщений - с 1 по 7 (из 7 всего)
  • Для ответа в этой теме необходимо авторизоваться.