Управление чтением устройств из WEB

Стартовая страница Форумы Вопросы без категории Управление чтением устройств из WEB

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

    Имеем несколько устройств на линии связи. Все прописаны.

    Как из web отключать некоторые устройства из опроса, при этом чтобы при перезагрузке устройства опрос не пытался восстанавливаться?

    Скажем переменная в расчетном канале = 0 — опроса устройства с адресом Х нет
    Переменная = 1 — опрос устройства с адресом Х есть.

    При этом выполнять это без перезагрузки Коммуникатора на лету.

    Что надо сделать для подобных настроек ?

    #32755
    JurasskPark
    Участник

    Нужно чтобы:
    — в проекте был условие условие — device enabled/disabled на опрос
    — в драйвер при каждом опросе считывать конфигурацию проекта и не блокировать файл
    — сделать дополнительное приложение с web-интерфейсом, которому скада отдаст сигнал выкл, а приложение перезапишет текущий проект драйвера.

    #32756
    manjey73
    Участник

    Драйвера штатные могут быть, тот же Modbus например.
    То есть когда сам драйвер не знает, что его могут выключить 🙂

    • Этот ответ был изменен 10 месяцев, 1 неделя назад от manjey73.
    #32759
    JurasskPark
    Участник

    Драйвера штатные могут быть, тот же Modbus например.
    То есть когда сам драйвер не знает, что его могут выключить ?

    Тогда в любом случае приложение должен остановить службу коммуникатора, изменить в проекте у Device active=»false» и потом заново запустить службу.

    #32761
    manjey73
    Участник

    Я имею ввиду как воспользоваться режимом работы «Опрос только по команде», но при этом, чтобы нудные опрашивались в цикле или не опрашивались вообще.

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

    Суть, все устройства будут сконфигурированы, добавлены на линию и переданы в конфигурацию Коммуникатора. И вот нужно исключать или включать опрос без перезапуска Коммуникатора.

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

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

    Ну либо доработать Коммуникатор, чтобы можно было активировать и деактивировать устройства на линии (в ближайших планах этого нет).

    #32766
    manjey73
    Участник

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

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

    Все они сидят на одной линии, опрос последовательный, то есть на одном COM порту могут оказаться десятки устройств.

    #32767
    manjey73
    Участник

    Как формируется команда? Надо создать расчетный канал и с чем-то связать? С чем?

    Вот поставил я галочку «Опрос только по команде» — дальше что и как?

    • Этот ответ был изменен 10 месяцев, 1 неделя назад от manjey73.
    #32769
    manjey73
    Участник

    а блин, имеется ввиду команда App с указанием номера устройства ?
    Просто галочка исключит устройство из опроса пока мы не пошлем команду App ?

    #32770
    manjey73
    Участник

    Ну и собственно вопрос по Коммуникатору. Он проверяет активность только при загрузке конфигурации или проверяет так же при опросе?

    Можно ткнуть в участок кода, где он это делает?

    Управлять опросом через команды будет утопией в моем случае…

    • Этот ответ был изменен 10 месяцев, 1 неделя назад от manjey73.
    #32772
    Mikhail
    Модератор

    За опрос отвечает класс CommLine.
    Если придёт множество команд на опрос устройств на линии связи, то они будут опрошены по очереди.

    имеется ввиду команда App с указанием номера устройства ?

    Да, команда приложению Коммуникатор.

    Наиболее удобным решением задачи была поддержка команд на активацию/деактивацию устройств. Только ещё потребуется как-то запоминать состояние при перезапуске службы.

    Для чего это вообще делается?

    #32774
    manjey73
    Участник

    Попытка сделать универсальный шлюз на базе RapidSCada.
    В Коммуникатор прописать все устройства, а в scada при конфигурации через web указать активные.

    Хм, если Коммуникатор опрашивает по очереди все поступившие, это может быть выход, надо будет потестировать.

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

    Одна линия связи — один поток, поэтому в рамках линии будет последовательный опрос. Исключение может составлять режим Slave, то есть когда устройство ждёт поступления данных.

    #32851
    Algomus
    Участник
    #32867
    Mikhail
    Модератор

    Пожелание записано. Реализацию можно ускорить, если заказать разработку нужной функции. Сейчас занимаемся другими задачами по Rapid SCADA. До этой неизвестно когда дойдёт дело.

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