Получение значения по тегу

Стартовая страница Форумы Разработка и интеграция Получение значения по тегу

Просмотр 15 сообщений - с 1 по 15 (из 24 всего)
  • Автор
    Записи
  • #33477
    manjey73
    Участник

    Это у нас получение данных канала по его номеру
    CnlData curData = ServerContext.GetCurrentData(InputChannel);

    Есть вариант получения данных канала не по номеру, а по имени тега, в том числе полному имени

    Объект.Устройство.ИмяТега ?

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

    Готовой функции нет. Там могут быть проблемы с быстродействием и/или использованием памяти, поэтому лучше сделать самому под свои нужды.

    #33482
    Romiros
    Участник

    Скорее всего нет. Поскольку, правильно написали, имена могут совпадать у разных устройств. Правильнее будет получить список каналов по устройству и оттуда взять их номера.

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

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

    #33491
    manjey73
    Участник

    У устройств есть номера, которые их идентифицируют вроде.

    Ок, код скажем run — и у нас 3-и таких устройства. Просто по run я и найду три, а нужно какое-то одно.

    Так и планируется, работать с номерами, но искать по номерам как-то не очень.

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

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

    То, что модуль потом будет оперировать номерами при работе, это уже потом.

    Мне вот что в МАУ, что в других через время мало что говорит 105, 214, 324 и так далее.

    #33494
    Romiros
    Участник

    Ок, код скажем run — и у нас 3-и таких устройства. Просто по run я и найду три, а нужно какое-то одно.

    У устройства тоже есть код. Можно по комбинации код устройства — код канала.

    #33495
    manjey73
    Участник

    Проверил, сделал ещё одно устройство на той же линии, с одинаковым кодом.

    Проверки увы нет, что у меня два устройства с одним кодом. Недоработка со стороны Администратора.

    #33496
    manjey73
    Участник

    Я знаю, что так должно быть
    Объект.КодУстройстаа.Тег

    Только можно ввести одинаковые коды устройств и никто об этом не сообщит.
    Или есть где-то кнопочка для проверки?

    #33497
    JurasskPark
    Участник

    scada-v6-master\scada-v6-master\Database\ConfigDatabase\scada_6.1.xml

    <COLUMN ID=»1574″ ColName=»CommLineNum» PrevColName=»» Pos=»0″ idDatatype=»5″ DatatypeParams=»» Width=»-1″ Prec=»-1″ PrimaryKey=»1″ NotNull=»1″ AutoInc=»1″ IsForeignKey=»0″ DefaultValue=»» Comments=»»>

    <COLUMN ID=»1766″ ColName=»Name» PrevColName=»» Pos=»1″ idDatatype=»20″ DatatypeParams=»» Width=»-1″ Prec=»-1″ PrimaryKey=»0″ NotNull=»0″ AutoInc=»0″ IsForeignKey=»0″ DefaultValue=»» Comments=»»>

    PrimaryKey=»0″ поставите 1 и он превратиться в индекс, который не позволит повторяющим значениям писать. 🙂

    #33498
    manjey73
    Участник

    Он только по индексу и проверяет, они разные, а код можно вписать одинаковый, нужно самому следить

    #33499
    JurasskPark
    Участник

    Это я понял.
    Поэтому и написал в предыдущем предложении, что нужно создать свои таблицы и добавить ключи индексы в необходимые столбы.
    Осталось выяснить у Михаила как эту XML конвертировать в таблицы .DAT ?

    Но после этого вы слетаете с поддержки. Помните об этом. 🙂

    #33500
    manjey73
    Участник

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

    Просто вчера обнаружил, что код устройства никак не проверяется на дубляж.
    Я то и сам могу сделать проверку потом у себя, и тем самым потом найти где поправить, но это должно быть в системе заложено изначально.

    #33501
    manjey73
    Участник

    По идее должна проверяться связка Объект.Устройство

    Так как в разных объектах допустимы одинаковые коды устройств, как в разных устройствах допустимы одинаковые теги.

    #33502
    JurasskPark
    Участник

    Тогда понял, что вы хотите создать свои таблицы с нужными ключами, а хотите чтобы Михаил доработал и исправил таблицы.
    Тогда тема для «Ошибки в работе». 🙂

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