RX9COZ

Созданные ответы форума

Просмотр 15 сообщений - с 1 по 15 (из 28 всего)
  • Автор
    Сообщения
  • в ответ на: Границы для канала #33603
    RX9COZ
    Участник

    Кажется разобрался. Зона нечувствительности была походу дела слишком большой.
    Нормальное значение параметра в пределах 0.55 — 0.85 . Границы прописаны как 0.4 нижняя аварийная, 0.45 нижняя, 1.1 верхняя, 1.5 верхняя аварийная и зона нечувствительности 0.2 .
    В момент, когда внезапно посыпались события о занижении, по графику смотришь вроде параметры ниже 0.57 и не опускался, но, в графике точки через каждые 5 секунд, а опрос устройства раз в секунду. Вполне допускаю, было кратковременное занижение, которое на графике не отразилось, но триггер на события уже сработал.
    Чтобы триггер сработал в обратную сторону, как я понимаю, надо к 0.45 добавить зону нечувствительности 0.2, т.е. параметр должен был перевалить за 0.65, а этого не происходило, поэтому всё синим и светилось.
    Тогда почему после перезапуска сервера, когда параметр был в норме, он не был сразу нормального цвета (зелёным я для себя настроил, т.к. фон тёмный). Запоминается где-то что-то видимо ?

    в ответ на: Границы для канала #33578
    RX9COZ
    Участник

    Да, границы только в события попадают и больше никуда.

    в ответ на: Функции (формулы) для Rapid SCADA #33249
    RX9COZ
    Участник

    Другой вариант

    Вот это мне нравится. Этого я и пытался добиться. Заработало ! Мне просто было непонятна структура функции. Где функция объявляется в скобках указываются номера каналов, а значения этих каналов можно присвоить в объявленную переменную выражением например var1 = Val(cnlN1), где cnlN1 тоже переменная типа int содержащая в себе номер канала, значение которого присвоится в var1.

    в ответ на: Функции (формулы) для Rapid SCADA #33242
    RX9COZ
    Участник

    Не работает. Да даже если бы работало, это мне для каждого устройства пришлось бы новую функцию писать. Сейчас 101 канал, в другой раз другой будет и опять новую функцию что-ли создавать.

    в ответ на: Функции (формулы) для Rapid SCADA #33239
    RX9COZ
    Участник

    Для начала мне просто надо в расчётном канале вызвать функцию, с параметрами для канала 101, 102, 103 и чтобы функция получила значения этих параметров и записала в переменные какие-нибудь, чтобы дальше над ними колдовать. Пока не важно какой тип данных, double удобнее.
    Я просто не могу в расчётном канале вызвать функцию с исходными данными из других каналов. Видимо не понимаю синтаксиса или это не возможно.

    И как сама функция должна выглядеть. Например public double MyFunc (var1, var2, var3) и я хочу чтобы в эти переменные var1-var3 записались значения каналов 101-103. Как это сделать ?
    Дальше логикой я сам разберусь. Но вычисления так же в какую-то переменную надо запихнуть и потом результат вернуть функцией в расчётный канал.

    в ответ на: Функции (формулы) для Rapid SCADA #33231
    RX9COZ
    Участник

    Я, честно сказать так и не понял, как правильно пишется функция/скрипт. Как функция берёт значения из канала, как возвращает вычисленное значение в канал (в другой или этот же), в каком типе данных и зависит ли этот тип данных от того, что прописано в свойствах канала. Как использовать возвращаемое функцией вычисленное значение в расчётном канале. Как объявляются переменные и их тип в функции.

    Но, как мне показалось, с моей задачей справилась достаточно простая входная формула в расчётном канале, применительно к примеру выше подходит вот эта:

    ((Val(101) + Val(102)) * Val(101)) + Val(103)
    

    Как раз получилось что я хотел. Перечисления получились такими:
    0 = недоступен
    1 = авария
    2 = готов
    3 = работа

    Формула сломается, если в канале 103 вдруг будет 1 просто так, но этого быть не может, т.к. контроллер без наличия 1 в каналах 101 и 102 не выдаст 1 в канале 103, так что вполне рабочий вариант я думаю ?

    • Этот ответ был изменен 5 месяцев, 1 неделя назад от RX9COZ.
    в ответ на: Функции (формулы) для Rapid SCADA #33227
    RX9COZ
    Участник

    Добрый день ! Прошу помощи.

    Имеется некий контроллер насосов, с которого можно опросить три канала с булевским содержимым, допустим:

    101 — Режим Автоматического управления (тумблер на дверце шкафа)
    102 — Мотор-Автомат включён
    103 — Насос в работе

    Появилась задача сделать скрипт, т.к. просто формулой тут не обойтись (вернее можно, но только на 3 вида состояния насоса, а надо 4).
    Для корректного отображения на мнемосхеме нужно сделать расчётный канал, например 104, в котором будет храниться 4 состояние насоса (я сделал 4 картинки) с принимаемыми значениями канала от 0 до 3, где, допустим:

    0 — Насос не доступен (снят или выведен из эксплуатации итд)
    1 — Авария насоса
    2 — Готов к пуску
    3 — Насос в работе

    Если всё отключено, то канал 104 должен принимать значение 0 (недоступен). Если включить мотор-автомат (канал 102=1), то ничего не изменится, так же состояние будет 0. Если попытаться включить в автоматический режим (101=1) при выключенном мотор-автомате (102=0), то должна появиться авария, например это будет значение 1 в канале 104.
    Если канал 101 и канал 102 = 1, то в канал 104 должно быть записано 2.
    Если все каналы 101-103 = 1, то в канал 104 должно записаться 3.

    В общем-то логика достаточно простая, но до меня пока не доходит как правильно оформляется скрипт и как правильно его вызывать.
    На всяких разных Ардуино-подобных штуках я это неоднократно делал и всё работало, а тут что-то затуп. Наверное, просто не правильный синтаксис.
    Понятно что тут всё на связках if else делается.
    RapidSCADA v6

    RX9COZ
    Участник

    Было дело случайно обнаруживал, что демо-ключи в 5 версии на модуль автоуправления и драйвер телеграм работали до перезагрузки компьютера. Смотрю, уже несколько дней прошло, а сообщения всё приходят и приходят )) Перезагрузил — всё ?

    RX9COZ
    Участник

    Что касается линий связи. Поставил опцию «отключаться при ошибке» в параметрах ТСР-клиента.
    А то есть предположение, что устройства могут не успевать отдать информацию для чтения и из-за этого происходят зависания. К тому же тэгов опрашивается много, и все вразнобой и опрос каждую секунду.
    Понаблюдаю.

    RX9COZ
    Участник

    Windows 10 22H2 19045.4046
    Как указано в документации указав путь лог файлов на RAM диск <LogDir>R:\SCADA\</LogDir> не работает. Создаётся лог для WEB станции, для других сервисов логи не создаются и службы не запускаются. Если вернуть всё в исходное положение, то работает. Пробовал разные RAM диски.
    Пришлось логи опять отключить пока не разберусь с RAM диском, а то запись 5 МБ/с на SSD не очень хорошо.
    Наверное лучше отдельную тему создать по RAM диску ?

    RX9COZ
    Участник

    Что-то с RAM-диском для логов ничего не выходит. Временно включил на системном SSD, понаблюдаем.

    RX9COZ
    Участник

    Пока информационное, но может быть есть какое-то решение, а то надо постоянно контролировать работу линий связи чтобы что-либо не отвалилось. А то «включил и забыл» не получается что-то ? А линий связи у меня 29 штук.
    Но и IPv6 в настройках роутера отключено (только что проверил).

    в ответ на: Подключение Danfoss ECL 310 по Modbus #31016
    RX9COZ
    Участник

    Если долго мучиться, что-нибудь получится ?
    Нашёл. Регистр 11253 (начиная с 1), функция чтения 04h, Входные регистры 3х, тип ushort (2 байта). Полученное значение надо разделить на 100 и будет наша расчётная уставка по графику.

    В новой документации от 2018 года называется как «Эталон. значение датчика S3», в предыдущей редакции называлось «Желаем температура теплоносителя T», вот и попробуй тут догадаться ?

    • Этот ответ был изменен 10 месяцев назад от RX9COZ.
    в ответ на: Подключение Danfoss ECL 310 по Modbus #30991
    RX9COZ
    Участник

    ECL Tools опрашивает как-то по своему, не по Modbus.
    Говорят есть какой-то OPC сервер для этих контроллеров, ещё пока найти его не могу.
    Но и в документации нет ни слова про текущую расчётную уставку. Может её и на самом деле нет, хотя и странно.

    в ответ на: Подключение Danfoss ECL 310 по Modbus #30988
    RX9COZ
    Участник

    Подниму тему.
    Кто опрашивал Danfoss ECL 310 по Modbus, удалось ли кому-нибудь прочитать расчётную уставку по графику температуры подачи отопления (контур 1) ? Это то, что отображается на экране устройства в скобках. Текущие значения читаются без проблем. Уставку ГВС комфорт/эконом без проблем. Температуру комфорта/эконом без проблем. Но то какую он хочет подать — нивкакую, не могу найти необходимый регистр. Может быть его и вовсе нет. Разные версии документации прочитал, ничего не нашёл.
    Но внешняя программа ECL Tools всё видит.

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