Ответы в темах
-
АвторЗаписи
-
MVTriton
УчастникДобрый день! Ищу подробные мануалы по связке (экспорт данных из RS в SQL) postgesql и rapid scada. Есть инструкция на сайте со связью с базой. С postgesql никогда до этого не работал, установил, все настройки по умолчанию. По инструкции на модуль экспорта настраиваю, вроде как связь есть, но данные не записываются, видимо что то в самой sql надо еще добавлять.
Так же по ссылке есть скрип, вроде как для экспорта, но что с ним делать и куда его девать не понятно. В общем буду благодарен, если кто нить подскажет по шагам что и куда или скинет подробный мануал. Яндекс, ютуб и рутуб на эту тему особо ничего не предлагают.MVTriton
УчастникПонял, спасибо за ответ.
MVTriton
УчастникДобрый день! Прочитал ветку, часть ответов на свои вопросы получил.
п.1. Имеется RapidSCADA 5й версии, там же вертится Grafana версии 9.2.5, все работает уже наверное 3й год без сбоев, один раз сделал и с тех пор проблем нет. Там всего 6 аналоговых сигналов, Графана безусловно в плане визуализации и отчетов удобнее, на далее следует п.2
п.2. Попытался сделать всё на последней 6й версии RapidSCADA. Данные собираются, все так же как и на 5й работает. Решил поставить так же Графану, выяснилось, что плагин Simple-JSON-DataBase уже не поддерживается и вместо него используется плагин Infinity. Попробовал Инфинити по мануалам с 5й версией, запустить, не заработало, с 6й тоже. Ну и в начале темы написано, что интеграции с 6й версией вроде как больше нет.Вопрос: Есть ли работающие связки RapidSCADA 6 + Grafana без заморочек. Если можно описать вкратце и где почитать. Из этой темы особо ничего не понял. Понял что либо Postgres или Influx. Если про первое что-то слышал, то про второе нет, т.к. преимущественно работаю с КИП и контроллерами и классическими SCADA системами, тут всё-таки немного из другой области.
MVTriton
УчастникС SetBit экспериментировал, но только с OPC. В 6й версии штатно не было формулы SetBit, дописывал в скрипты, согласно с формулам с форума и экспериментировал не по одной теме. Пока реализация управления выходами не требуется, всё-таки связь не стабильная, как будет приемлемое качество связи, можно будет поэкспериментировать. Главное данные принимаются и нормально рассчитываются и отображаются, это в приоритете.
MVTriton
Участникfloat нормально принимались. Перестановка байт в данном случае не требовалось, т.к. в ПР200 настроено 012345678, так же и в скаде.
В общем бился бился, переделал шаблон устройства с 1 на 0, теперь адресация соотвествует адресации ПР200, а не +1, удалил все старые каналы, переименовал их другим именем, перезапустил, всё заработало как надо. Данные принимаются по 512 регистру, нужный бит читается. Дальше видимо буду доделывать запись бита в числе, но у же не через OPC))))
Всем кто откликнулся, спасибо за ответы!MVTriton
УчастникПоколдовал с настройками GPRS модема, увеличил таймауты и время опроса устройства. Показания стали стабильнее, от OPC сервера отказался. Возник вопрос. По опросу.
В ПР200 считываются данные 512 регистр. ОРС сервер прекрасно данные принимаются, выделял бит и оттуда и сразу было понятно состояние оборудование.
Теперь при Modbus RTU в RAPID SCADA, значения с плавающей точкой читаются хорошо, а вот 512 никак, при том что по логам всё отлично, значение всё время приходит 0.
В скаде опрашивается 512+1=513 регистр, тип данных ushort (16 бит, 2 байта, целочисленное), перестановка байт не используется. Где можно покапать ?Отправка (8): 0A 03 02 00 00 01 84 C9
Приём (2/2): 0A 03
Приём (5/5): 02 02 00 1C E5MVTriton
Участник<Извините, с OPC такое наверное не прокатит. Речь о драйвере Modbus
Вообще использовать OPC при встроенных возможностях работы с Modbus напрямую это полное извращение>
Насчёт того, что это костыли, я согласен, но с эти костылями работает стабильнее. Опрос стоял раз в 1с, что в скаде, что в ОРС. В итоге ОРС работает лучше при тех же настройках. Когда будет реальная связь в полевых устровиях, тогда и поэксперементирую с настроками. Пока только через ОРС, конечно же изначально пробовал modbus.
MVTriton
УчастникПопробовал сделать как я написал выше, в OPC сервере создал 4 переменных, ссылающиеся на регистр в ПР200. Каждая переменная берет бит с 0го по 3й.
В скаде в шаблон добавил подписки, Создал входноую/выходную запись. Тип записи вкл/откл, формула выходная: SetVal(120, Cmd). Всё работает. Вкл. и отклюсчатся отределённый выход ПР200. Но все же хочется релиазовать череp SetBit. Подозреваю, что загвозка в типах данных.MVTriton
Участник<Команду дополнительно в шаблоне добавьте для 116-ого который так же будет писать значение в регистр, связанный со 115-м каналом и все по идее >
Не совсем понял о каком шаблоне идёт речь? если о шаблоне настроек самого устройства как подписка на OPC, то тут есть 2 нюанса:
OPC имеет возможность самостоятельно выделять бить нужного регистра, т.о. образом можно получить тег, его будет можно и читать и записывать. Честно этот вариант не пробовал.
Цель использования возможностей скады, это сокращение количества тегов, из за плохой связи, а так же сокращение обращений между скадой и ОРС, т.к. есть некие предубеждения на счет скорости работы данной связки, поэтому их взаимодействие и тэгов хотелось бы уменьшить, и при этом оставить функционал без изменений.MVTriton
УчастникЗначение записывается в 115й, меняется, но не передаётся, а если руками записать в 115й не бит, а всё число, то данные передаются и всё работает.
MVTriton
УчастникТак как тогда передать данные бита в 115й канал. У меня 116й ссылается на 115й, а 115й имеет связь с прибором. Цепочка такова. Да в и большинстве тем, именно так строится связь по передаче данных в прибор. 116й дорасчетный, берёт значение 115го, считывает его, дальше выходная команда, для записи значения в 115й канал.
MVTriton
УчастникПри изменении формулы SetBit
public double SetBit(double n, int index, double value)
{
long nn = Convert.ToInt64(n);
return value > 0 ? nn | (1 << index) : nn & ~(1 << index);
}
Попробуйте так. Задавайте в команде 0 или 1
Сообщение #19585
Scada вообще перестаёт запускаться. Кстати в 6й версии формулы SetBit не было, её добавлял вручную. GetBit была.-
Ответ изменён 3 года, 2 месяца назад пользователем
MVTriton.
MVTriton
УчастникДобры день! С 5й версией так ничего и не получилось. Продолжил тестировать на 6й версии, но немного на другом оборудовании.
Вкратце обрисую ситуацию. Есть ПР200 в скаду передает число типа Int — 10 бит, это маска выходов ПР200 8DI+2Светодиода. ПР200 связывается сервером по RS485 — GPRS модем.
Если описать подключать на прямую как протокол модбас, то связь со скадой и ПР200 есть, но очень много потерь и ошибка CRC, связываю это с плохим сигналом GPRS. Решил попробовать все сделать тоже самое через OPC сервер InSat ModbusOPC. Работает, связь более стабильная, но потери так же есть, задержка по сигналам есть, но работает, данные считываются. Это была предыстория использования OPC, а не напрямую Modbus из Скады.
Так вот Маску выходов я считываю. Например, что бы включить все выходы надо оправить число 1023, что бы отключить 0, число от 0 до 1023 это уже комбинация отдельных выходов.
Что бы управлять конкретным выходом надо соответственно записать бит в нужной позиции числа.
Создан 115й канал типа Входной/Выходной, где читается маска выходов, тут же можно и записать значение, реле переключаются.
Что бы записать 0й бит в 115й канал, создал 116 дорасчетный канал типа Расчётный/Выходной,
Входная формула GetBit(Val(115), 0)
Выходная формула SetVal(115, SetBit(Val(115), 0, Convert.ToBoolean(Cmd))) Тип команды Включит/ОтключитьВ скриптах забита формула SetBit
public double SetBit(double n, int index, bool value)
{
long nn = Convert.ToInt64(n);
return value ? nn | (1 << index) : nn & ~(1 << index);
}В общем при выполнении команды для 116 переменной, значение и 116й и 115й меняется как нужно, только значение это на ПР200 не передается, т.е. значение меняется, но будто не передается во вне, а просто меняется 115я переменная внутри самой скады, а вот если перезаписать саму 115ю переменную, то значение отправляется на ПР200 и реле переключается. В чем может быть проблема? перечитал всю тему https://forum.rapidscada.ru/?topic=%D0%BF%D0%BE%D0%BC%D0%BE%D0%B3%D0%B8%D1%82%D0%B5-%D1%80%D0%B0%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D1%82%D1%8C%D1%81%D1%8F-%D1%81-%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D0%BE%D0%BC-beck
Попробовал разные вариации, результат тот же.
MVTriton
УчастникЯ всем доволен. Поделился своим опытом установки. Возможно кому то пригодится. Порт не менял специально. Насколько я помню с 5.8 таких проблем не было. Визуально поменялся интерфейс, некоторые вкладки исчезли, на русском языке поменялось название некоторых параметров, на английском не смотрел. В 5.8 вкладка интерфейс, в 6й версии — представление. Функционал тот же.
MVTriton
УчастникСтолкнулся с подобной проблемой. До этого была версия 5.8 и если посмотреть в настройках IIS был один сайт по умолчанию с портом 80. На роутере прописал правило Внеш_IP:XXXXX — >>> ВнутрIP:80. Всё прекрасно работало.
Поставил версию 6. Сделал всё аналогично, но уже предположил, что с первого раза не запустится, так и получилось. В настройках IIS уже 2 сайта. Один по умолчанию :80, второй это скада с :10008. Локально всё работает, а вот из вне ну никак, хотя правило уже было Внеш_IP:XXXXX — >>> ВнутрIP:10008.
В итоге, зашёл в настройки -> безопасность windows -> браундмаур и безопасность сети -> Дополнительные параметры. Далее создается правило для входящих подключений, порт TCP, номер порта 10008, профиль для Всех (частный доменный и т.д.), Имя RapidScada. Сохраняется и Вуаля. Есть доступ из вне.
-
Ответ изменён 3 года, 2 месяца назад пользователем
-
АвторЗаписи