Kazam

Ответы в темах

Просмотр 15 сообщений - с 16 по 30 (из 37 всего)
  • Автор
    Сообщения
  • в ответ на: Новые проекты: LoraWan и ScadaAdminWeb #11153
    Kazam
    Участник

    Про правую кнопку и не знал) век живи.

    Kazam, Вы пробовали приложение Агент? Он для Вас может быть полезен для приёма и передачи конфигурации.

    Его и использую для управления коммуникатором и серверов(перезапуск, остановка, старт).
    А вот в части передачи конфигурации не совсем подошёл, но по своим причинам. Дело в том, что к стандартным таблицам, в некоторых проектах у меня есть добавленные колонки, и в scadaadminweb они фильтруются при экспорте в dat .. а переписывать агента не хотелось , приложение и так отличное )))

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

    По статье про Лору: начинаю оформлять )

    в ответ на: Новые проекты: LoraWan и ScadaAdminWeb #11138
    Kazam
    Участник

    Да и для некоторых библиотек, в частности для opc напрашивается, в свойствах канала не хватает поля «внешний ключ», чтобы теги в коммуникаторе тоже налету формировались.

    Так поле сигнал же. Почти то что нужно))
    А если серьезно, если для каждого типа КП творить свою историю , то придется делать разные таблицы)
    У всех свои особенности ))
    А конкретно по opc, если много тегов — проще писать свои инструменты )) на там же питоне или ruby.

    в ответ на: Вопрос по каналам. #11122
    Kazam
    Участник

    Привет. Вообще тут напрашивается всю эту логику засунуть в ПЛК, причем если ПЛК подключен по tcp — то использовать tcp сервер.
    примерно так: — появляется необходимость передачи — устанавливаем tcp соединение со скада сервером — передаем — готово.

    в любом случае, мало подробностей. Есть более детальное описание тех процесса ? так будет проще помочь..

    в ответ на: Новые проекты: LoraWan и ScadaAdminWeb #11121
    Kazam
    Участник

    Благодарю за отклики.
    1. по Lora
    «медлительность» радиоэфира в первую очередь это сама технология, скорость передачи составляет от нескольких сотен бит в секунду, до нескольких десятков килобит.
    Далее, время на открытие приемного\передающего окна (это следствие полудуплексной системы передачи), не нулевое.
    В момент передачи кадра, станция не видит ничего. и если произошла коллизия, то пакет будет потерян.
    В общем нюансов много, а драйвер modbus — да, переделан чуть менее чем полностью )
    Все таки, RapidScada как и любая аналогичная, это реалтайм система управления и мониторинга. А плавающее время ожидания (таймаут) это немного из другой оперы. Плюс не гарантированность передачи (приема) пакета.

    В моем случае, применительно к конкретным объектам и их физическому размещению:
    БС поднята на высоту 42 м (высота 16 этажного дома) + 8 метров радиомачта для антенны в 1 м.
    Уверенное покрытие подвалов домов (а именно там и установлены регуляторы которыми я хочу управлять), составляет радиус 1 км вокруг БС.
    При этом покрытие выше уровня земли, существенно лучше, на данный момент крайний объект (это счетчик импульсов, с автономным питанием), уверенно передает на станцию с расстояния 7.5 км, установлен в квартире на 5 этаже в санузле.

    2. по ScadAdminWeb
    в своих проектах, использую RS повсеместно, количество инсталляций перевалило за 20 уникальных решений (не считаю аналогичные системы, с одинаковыми задачами). В процессе работы приходиться сталкиваться с необычными задачами (например 200-300 однотипных объектов, с практически одинаковыми входными каналами) и заниматься ручным трудом ой как не хочется.
    раньше приходилось писать генераторы каналов в SQL запросы типа Insert, чтобы потом их применить к базе CompactSQL и далее копировать файл SDF, запускать Администратор и передавать конфигурацию в scadaserver. Отдельной проблемой был импорт линий связи в коммуникатор (Михаил, где кнопка импортировать все линии? =))

    А если в процессе работы системы необходимо сделать изменения? нужно добавить\удалить каналы ? на 5, 10, 30 объектах ? Каждый раз лазить в Администратор надоело. Да и не всегда есть доступ по RDP на сервер.
    Принял решение построить следующую схему работы:
    1. Был переписан ScadaAdmin на работу с Postgres
    2. Написаны сервисы по генерации Линий связи\объектов\каналов путем импорта из
    csv файлов
    3. Спроектированы ситуационные шаблоны для необходимых КП, примерно в следующем виде:

     new Incnl
                    {
                        Cnlnum = -1,
                        Active = true,
                        Averaging = false,
                        Cnltypeid = 2,
                        Formatid = 2,
                        Paramid = 0,
                        Signal = 1,
                        Name = "Версия ПО"
                    },
                    new Incnl
                    {
                        Cnlnum = -1,
                        Active = true,
                        Averaging = false,
                        Cnltypeid = 2,
                        Formatid = 2,
                        Paramid = 100,
                        Signal = 2,
                        Name = "СП ТВ1"
                    },

    которые в последствии складываются в таблицу incnl.
    4. Все таблицы из Postgres импортируются в dat файлы и складываются в соответствующую директорию.
    5. Путем использования Settings.CommLine и Settings.KP
    формируем перечень линий связи и КП в виде дерева, так как это делает ScadaComm в интерфейсе. Далее дерево сохраняется в ScadaCommSvcConfig
    6. Перезапускаем сервисы ScadaCommSvc и ScadaServerSvc с использованием ScadaAgent.

    Все это позволяет редактировать конфигурацию на «лету» через web интерфейс, и нажатием одной кнопки принять все изменения.

    в ответ на: Рекомендации по безопасности #11106
    Kazam
    Участник

    Имхо, обычные действия для внешних ресурсов:
    1. фильтрация по ip (в случае, если клиенты имеют статические адреса)
    2. сложные пароли в ролях.
    3. размещение сервера в DMZ
    4. перенос стандартного порта IIS (80) в нестандартный (например 7745)
    5. использовать https
    6. если сервер на windows, то своевременно обновляться, не публиковать RDP и иные стандартные ресурсы наружу. Придерживаться принципа: один сервер (физический или виртуальный) — одна роль.

    Но лично, я бы поступил так:
    1. во внешнюю сеть опубликовать VPN сервер
    2. клиенты подключаются к VPN и получают доступ к серверу скады в DMZ

    Kazam
    Участник
    Kazam
    Участник

    Сервер Dell Power Edge R620
    Intel Xeon 6C E5-2640 2.50GHz- 2 шт
    24 GB DDR3
    2*SSD 512 GB Raid
    NET 1 GB

    Scada и PostgresSQL на этом же сервере. Там же Frontend.

    Используется прямая запись в базу данных, минуя ORM или прямые запросы на вставку.
    Пользуюсь методом COPY.
    В Scada 752 Линии связи и столько же КП. Каждый отдает от 22 до 24 каналов.
    Опрос тепловычислителей СПТ и немного сторонних. В драйвере есть логика работы с архивами: по факту их формирования в приборе происходит считывание и запись в SQL.

    Постоянно занято ресурсов: ЦПУ — 25-30 %, RAM — 30-40 %
    В моменты формирования отчетности в Excel бывает, что RAM заполняется до 70 %, но на работе не сказывается….

    Kazam
    Участник

    Была подобная задача.
    Быстрый экспорт данных в PostgreSQL, 18 тысяч каналов. Штатного модуля экспорта было недостаточно.
    Решил так:
    Модуль к ScadaServer при старте заполняет таблицу входных каналов в базе данных статистической информацией (имена каналов, типы и тд). Так же заполняются таблицы:
    КП
    Unit
    Param
    Ctrl

    Каждые 100 мс происходит сброс текущих значений каналов в PostgreSQL.
    Работает быстро.
    Если интересно, можно сделать под ваши задачи.

    в ответ на: Может ли Rapid SCADA работать с SQLite? #9835
    Kazam
    Участник

    Да нет, мне наоборот необходимо импортировать данные из SQLite, то есть что бы данные из SQLite попали в «Скаду».

    О каких данных для импорта идет речь?

    в ответ на: пустое значение в коммуникаторе #8664
    Kazam
    Участник

    Добрый день! OPC сервер от логики, скажем так не очень надежный.
    Попробуйте наш драйвер, ссылка: Драйвер СПТ941

    Он еще и архивы умеет читать и писать их в базу данных PostgresSQL =)

    Kazam
    Участник

    Возможно штатный клиент умеет OPC HDA потому тегов и больше, а Rapid Scada HDA не умеет..
    Руками добавить можно, добавьте пару тегов через обзор. Затем закройте коммуникатор и откройте соответствующий файл KpOpc_Num.xml в директории Config.
    Там увидите как добавить теги, просто скопируйте и откорректируйте строки =)

    в ответ на: Модуль Rapid Gate (Быстрый шлюз) #8244
    Kazam
    Участник

    Всем привет )
    Насколько удалось смоделировать:
    Scada 2 — передает данные каналов на Scada 1
    1.
    на Scada 2 останавливаем ScadaServer — каналы на Scada 1 зависают и через некоторое время Stat становиться в положение 5 (недостоверно).

    2.
    на Scada 2 останавливаем ScadaComm и ооочень долго ждем когда статус каналов упадет в 5 …

    А как хочется чтобы было так:

    для распределения нагрузки, быстрые контроллеры (с малым периодом опроса) вынесены на Slave сервер и их каналы предполагается выгружать в Master.

    Оператор сидя за схемой должен понимать, насколько достоверны данные отображаемые на схеме. Ведь если у него показывает условно value=10 а коммуникатор давно уже остановлен (по разным причинам), это не есть гут.

    Благодарю за ответ =)

    в ответ на: Определение отсутствия связи #8230
    Kazam
    Участник

    В нескольких проектах делал на схеме динамический рисунок в виде красный\зеленый круг.
    А в свойство забивал какой-нить регистр контроллера который всегда имеет константу (например версия прибора и тд). Соответственно если он равен прочерк — то красный рисунок.

    А в драйверах своей разработки, добавлял сигнал в КП который как раз фиксировал наличие связи (или с использованием переменной lastcomm или собственный велосипед в зависимости от условий)

    Kazam
    Участник

    Добрый день! Конечно в обоих =)))
    Ведь даже в Scada Server есть фильтр по каналам при просмотре срезов =)

    Kazam
    Участник

    Проверил, при отключении Линий связи команды передаются быстрее, но это не наш метод (с).

    Впихнуть все КП в пределы нескольких линий не могу -( Ибо все 500 объектов опрашиваются раз в минуту -) Иначе будут задержки в опросе.
    Михаил, как еще можно ускорить работы Коммуникатора? есть ли мысли?

Просмотр 15 сообщений - с 16 по 30 (из 37 всего)