PDA

Просмотр полной версии : IntraSCADA



VladimirIS
19.05.2021, 10:12
Приглашаем на вебинар по системе IntraSCADA
Вебинар состоится 26 мая 2021г. в 14-00 по московскому времени. Участие бесплатное. Достаточно зарегистрироваться на сайте www.intrascada.com
IntraSCADA - программная платформа для систем мониторинга и диспетчеризации.

melky
19.05.2021, 10:49
Посмотрим, послушаем... А че Карта то не двигается никуда? :)

На чем писана, что умеет для разработчиков, только мнемосхемы рисовать или что-то еще?
На чем работать умеет?

VladimirIS
19.05.2021, 11:23
Посмотрим, послушаем... А че Карта то не двигается никуда? :)


Потому что это скриншот карты :)



На чем писана, что умеет для разработчиков, только мнемосхемы рисовать или что-то еще?
На чем работать умеет?

JavaScript
NodeJS

Что умеет - есть на сайте. Там есть некоторые примеры в онлайн демо.

Некоторые отличительные характеристики:
- Клиент-серверная архитектура
- Операционная система: Linix, macOS, Windows
- 100% веб технологии. В качестве панелей управления любые устройства с web-браузерами.
- Работа над проектом ведется в обычном браузере Chrome, Safari, Firefox
- Открытый исходный код (Open Source)

melky
19.05.2021, 13:12
Хм, если код открытый, то как вы лицензируете ?

эээххх, придется по ходу еще и это изучать :) Пока не очень понял, как добавлять физические устройства по Modbus, раз другого нет, надеюсь покажете в видео.

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

VladimirIS
19.05.2021, 15:24
Хм, если код открытый, то как вы лицензируете ?


Одно другому не мешает :)


Пока не очень понял, как добавлять физические устройства по Modbus

Так-же как во всех остальных SCADA системах. При добавлении канала прописываете адрес устройства на шине, адрес регистра и тип переменной



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

В системе IntraSCADA нет ограничений по количеству пользователей. У каждого можно задать свой стартовый экран. И, естественно, каждый пользователь может иметь свой уровень доступа.

melky
19.05.2021, 15:40
VladimirIS и че, вот это вот каждый раз по регистру добавлять? что-то там читал что вы быстро настраиваете по отношению к другим, а тут прямо по одному ? :)

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

VladimirIS
20.05.2021, 07:52
VladimirIS и че, вот это вот каждый раз по регистру добавлять? что-то там читал что вы быстро настраиваете по отношению к другим, а тут прямо по одному ? :)


Это кому как удобней. Можно по одному, можно всем списком из таблицы Excel


VladimirIS
Не только стартовый экран, но и набор доступных экранов.
Я вроде так и написал. "Каждый пользователь имеет свой уровень доступа". Кто-то может видеть одни экраны, кто-то другие.
Инженерным службам предприятия нужна информация по состоянию систем (вентиляция, котельные ...) и возможность управления ими. Обычно на уровне задания параметров и уставок. Руководству чаще нужна только аналитическая информация.

melky
20.05.2021, 09:30
VladimirIS то есть в Exel мы как бы создаем шаблон устройства, и если у нас одинаковые устройства используем один единственный шаблон для создания каналов, или перед созданием каналов это шаблон еще придется редактировать? меня этот вопрос больше волнует.

VladimirIS
20.05.2021, 10:52
Можно сделать шаблон устройства со всеми каналами и применять его. Для этого Excel не нужен.
Но если у вас тысячи и десятки тысяч устройств то быстрее получится в Excel.

IVM
20.05.2021, 11:29
А что там по ценам ? Бесплатно на 32 тега есть ?

VladimirIS
20.05.2021, 14:54
А что там по ценам ? Бесплатно на 32 тега есть ?

Все цены есть на сайте www.intrascada.com

melky
20.05.2021, 16:01
VladimirIS применяя шаблон нумерация привязки каналов меняется? я уже не знаю, как поставить вопрос так, чтобы вы поняли?

То есть я беру шаблон, применяю его и получаю список каналов в Scada с 1-ого по 50-й, потом чтобы сделать это же самое я получу сразу с 51-ого по 100-й или мне придется сидеть и менять шаблон ?

Вот это покажите в ролике тоже, будет полезным.

з.ы. за деньги только от 64-х каналов, если бесплатных нет совсем, дальше думаю можно не разговаривать :)
Например как вариация только 64 канала и только один протокол, в вашем случае пусть это будет либо Modbus либо MQTT раз другого нет.

VladimirIS
20.05.2021, 17:09
VladimirIS
з.ы. за деньги только от 64-х каналов, если бесплатных нет совсем, дальше думаю можно не разговаривать :)

Это ваше право.



пусть это будет либо Modbus либо MQTT раз другого нет

Для какого устройства вам нужен плагин?

melky
20.05.2021, 21:06
VladimirIS список огромен и велик. Счетчики электроэнергии Меркурий, Энергомера, СЭТ, тепла, воды, регистраторы Пульсар, тепла и другие с протоколом MBus, приборы Логика, корректоры газа EK. Вам весь перечислять или просто поверите на слово ?

з.ы. вы писали, что делаете OPC UA. Так вот забудьте про другие протоколы на время, из своих трех, в будущем варианте сделайте 64 тега бесплатными (32 уже давно никого не удивить и МастерScada тут уже анахронизм) и под любой из своих трех протоколов. Остальные побоку. И возможно народ потянется.

melky
27.05.2021, 11:37
По результатам вебинара.

P2P сервер только ваш или его можно установить на свое железо ?
Будет и когда Modbus Slave ?
Есть ли шифрование P2P ?
Есть ли шифрование MQTT ?
Будет ли Modbus поддерживать расширенные команды ?

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

VladimirIS
27.05.2021, 12:28
Спасибо за участие в вебинаре.

Как говорилось на вебинаре, P2P сервер обеспечивает связь клиента и сервера при отсутствии выделенного IP адреса.
По сути, P2P сервер - это сигнальный сервер. Он обеспечивает начальное соединение. Дальше все потоки информации между клиентом и сервером IntraSCADA идут напрямую между ними без участие нашего P2P сервера.
P2P сервер работает на нашей площадке в облаке. Установить на свое железо нельзя.

Modbus Slave пока не планировали за отсутствием спроса. Не совсем понятно зачем он нужен.

Шифрование P2P есть.

Шифрование MQTT обеспечивается брокером MQTT. Если на брокере включено - то есть.

Расширять список команд Modbus будем. В планах есть.

По ценнику. Прошу назвать системы с приемлемым для вас ценником.

melky
27.05.2021, 12:58
по P2P сразу минус, не всем это можно ставить, чтобы куда-то стучалось за пределы компании. Думайте, пример есть у Teleofis если не ошибаюсь, m2m можно использовать облачный, а можно сервер m2m развернуть у себя.

Не все Scada верхнего уровня имеют и умеют MQTT, для них это Modbus норма. Если ваше ставить как нижний уровень, то это более приемлемый вариант связать с любой Scada, которая окажется в голове. Речь идет о протоколах из коробки, без участия OPC ессно.

Уже называл в личке. официальная цена в районе 3300 шлюз за полноценную систему без платных довесков. и всего-то на 65 тысяч тегов. Не ограничена протоколами
Если на нижнем уровне не требуется еще и Scada, то вообще бесплатно. Но ваша так работать и не будет, по этому будет какая-то цена.

Еще есть система, которая может выступить в качестве шлюза - 8000 на 100 тегов. Не вдавался в подробности, ибо тоже, кроме Modbus ничего не умеет.

VladimirIS
27.05.2021, 14:01
по P2P сразу минус, не всем это можно ставить, чтобы куда-то стучалось за пределы компании. Думайте, пример есть у Teleofis если не ошибаюсь, m2m можно использовать облачный, а можно сервер m2m развернуть у себя.

Если все в локальной сети, то P2P не нужен совсем. А если нет? Если объект за пределами локальной сети, или там вообще нет проводного интернета. Только 3G. То по любому придется "стучаться за пределы компании". Тогда вариант VPN или P2P. Выбирать вам.


Не все Scada верхнего уровня имеют и умеют MQTT, для них это Modbus норма. Если ваше ставить как нижний уровень, то это более приемлемый вариант связать с любой Scada, которая окажется в голове. Речь идет о протоколах из коробки, без участия OPC ессно.

Это плохо. Современная скада должна иметь MQTT и/или OPC. Использовать Modbus для передачи информации между скадами или в систему верхнего уровня типа ERP, это как-то слишком.


Уже называл в личке. официальная цена в районе 3300 шлюз за полноценную систему без платных довесков. и всего-то на 65 тысяч тегов. Не ограничена протоколами
Вы вероятно про Rapid? Информацию по цене на систему на сайте не нашел. Нашел информацию по программным модулям. Работа с графиками стоит денег. Телеграмм, уведомления, отчеты - все стоит денег. И это нормально.
Если вы пытаетесь сравнивать системы по ценам, сравнивайте корректно.


Еще есть система, которая может выступить в качестве шлюза - 8000 на 100 тегов. Не вдавался в подробности, ибо тоже, кроме Modbus ничего не умеет.
В личку вы написали что это pult-online. И опять не корректное сравнение. Для работы с этой системой, как я понял, надо купить еще коммуникационный шлюз.

P.S. Предлагаю вести дискуссию в этой ветке, а не в личке.

melky
27.05.2021, 14:42
VladimirIS вы не правильно поняли. Объект 3G то на P2P стучится не на сторонний ресурс, а развернутый внутри компании. При вашем подходе выходит однозначное использование VPN, так как P2P только у вас, то есть на стороннем ресурсе. Безопасники такое прикрывают на раз-два


Это плохо. Современная скада должна иметь MQTT и/или OPC. Использовать Modbus для передачи информации между скадами или в систему верхнего уровня типа ERP, это как-то слишком.

Ну это вы скажите всяким Citeсt, Genesis и прочим, которые бывает уже установлены у людей и кроме как OPC больше ничего не умеющим. Куплено давно, в жирные времена а теперь экономят.


Вы вероятно про Rapid?

Потому то ядро на 65 тысяч тегов бесплатно. сбор данных и ручное управление с простыми мнемосхемами и Modbus + часть бесплатных драйверов из коробки.
А вот чтобы организовать две Scada и при этом обмен между ними да, нужен платный модуль Шлюз. При этом теги никуда не пропадают, на двух системах будет по 65 тысяч.
Смысл в том, что используя бесплатный вариант Scada можно организовать шлюз с удаленного объекта на основную... То есть затраты на удаленной стороне либо ноль, либо минимальны. Например банальный счетчик электроэнергии Меркурий 230 имеет порядка 40-50 сигналов. Или вот сейчас "Логику" мучаю, если прибор на два трубопровода то тоже 40 сигналов без учета чтения архивов. То есть уже под сотню. сейчас у меня проект, где сигналов будет побольше, где-то 150-200 а может и больше. Учитывая затраты на каналообразующее можно легко понять, что затраты в виде 30+ тысяч не оправданы.
Ну тут вам думать, делать ли специализированную версию для использования в качестве шлюза или нет. Но существующие ценники в данном случае несколько не конкурентноспособные.

pult-online это еще один из примеров. Нет, так же можно развернуть на ARM или X86 железяке типа ПромПК. Шлюз это я так понял у них готовое решение.

Это были только примеры, таких систем масса, в том числе и как ваша. Для организации шлюзов подобными системами в любом случае требуется промПК, про Raspberry молчу, так как они не пром исполнения, ну не считая Axiomteс или был тут товарищ, тоже сделал пром вариант на этой архитектуре. На чем ставить это уже второй вопрос.

melky
27.05.2021, 14:53
И кстати, почему вы считаете MQTT таким современным протоколом не пойму ?

Банальное сравнение объема пакетов скажем в 64 переменных float массивом байт и передача того же количества переменных через mqtt будет не в пользу последней по времени. 4 байта для значения 17456395,367 и 11-ть байт ASCII для того же значения... супер современно :) да еще и в формате json с кучей дополнительных символов...

VladimirIS
27.05.2021, 16:22
вы не правильно поняли. Объект 3G то на P2P стучится не на сторонний ресурс, а развернутый внутри компании. При вашем подходе выходит однозначное использование VPN, так как P2P только у вас, то есть на стороннем ресурсе. Безопасники такое прикрывают на раз-два

VPN или P2P, выбирать вам. Про безопасников. Уже сказал выше, поток информации через наш P2P сервер не идет.

Как пример, котельная. Выделенного IP естественно нет. К ней нужен доступ обслуживающей организации (например, ТСЖ) и вам, как инсталлятору, в процессе сервисного обслуживания. В случае нашего механизма P2P доступ имеют и ТСЖ и вы. Естественно, при соответствующих разрешениях.
Как вы решаете такие вопросы? Как организовать удаленный мониторинг объекта с нескольких мест?
Если вы инсталлятор, как вы организуете сервисное обслуживание. Только с выездом на объект заказчика?

Наши партнеры, кто работает с IntraSCADA, давно осознали преимущества удаленного обслуживания. Теперь по их просьбе мы готовим (в рамках P2P) механизм проброса портов. Это такая штука, которая позволяет войти на удаленный контроллер со своего компьютера в офисе или дома. Запускаете Codesys на своем компьютере и меняете прошивку на контроллере, который за 1000 км от вас. Codesys я упомянул в качестве примера.


Ну тут вам думать, делать ли специализированную версию для использования в качестве шлюза или нет. Но существующие ценники в данном случае несколько не конкурентноспособные.

Теперь я понял. Речь идет не о скада, а о шлюзе. Разработка шлюза запланирована на осень.


Это были только примеры, таких систем масса, в том числе и как ваша

Это так. Выбирать вам.


И кстати, почему вы считаете MQTT таким современным протоколом не пойму ?

Потому что Modbus - это постоянный полинг. А MQTT или OPC - это событийные модели. Достаточно один раз подписаться, удаленный объект сам будет присылать необходимые данные.

melky
27.05.2021, 17:40
Как вы решаете такие вопросы? Как организовать удаленный мониторинг объекта с нескольких мест?
Если вы инсталлятор, как вы организуете сервисное обслуживание. Только с выездом на объект заказчика?

VPN рулит :) подключаетесь клиентом и пофигу что там, CodeSys, SSH, Web да все, что угодно. механизм P2P удобнее, но дайте возможность его развернуть у себя(заказчика) по аналогии с m2m как у Teleofis. Не зря же сделали выбор... так сказать неспроста.

Да, вариант шлюза, он сам опрашивает приборы и отсылает все на основную Scada. Но тут фокус, можно сделать две Scada, и одна из них при этом и шлюз в другую Scada. У pult-online я так понял своеобразное ПО, типа только шлюз, и не может выступить при этом в роли локальной Scada.

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

В общем со временем будем играться, пока что не вытягивает тележку система...

И если я правильно понял из вебинара, на 5-й версии карт сейчас нет, только пилите?

VladimirIS
27.05.2021, 18:27
VPN рулит :)
Отлично. Свой выбор вы сделали.


С чего бы это Modbus постоянный полинг? опрашивайте раз в час, он и будет опрашиваться только раз в час.
И тем не менее это полинг. Даже если раз в час. Правда мало себе представляю скада систему с получением информации раз в час :confused:
Ну если только опрос счетчиков. И если снимать только показания потребления. А как быть с мониторингом напряжения, мощности, токов ....?
Наши клиенты на основании мониторинга этих параметров на графиках много полезной информации получают. Например, всплески и провалы напряжения по фазам.
Для нормальной системы диспетчеризации период в секунду - это очень много. В системе IntraSCADA речь идет о данных поступающих с интервалом от 100 мс.


И если я правильно понял из вебинара, на 5-й версии карт сейчас нет, только пилите?
В общем то ничего не пилим. Нужно время перенести из 4 версии.

melky
27.05.2021, 19:47
VladimirIS P2P или m2m удобнее, просто работаем иногда с такими заказчиками, которые услышав, что для соединения нужно постучаться на сервер дяди Васи покрутят пальцем у виска и скажут "Идите от сюда"...
Момент №2 - одно дело ляжет связь у заказчика и совсем другое связь по какому-то направлению, где как раз и расположен ваш P2P сервер. за несколько лет работы наблюдал это неоднократно.
Так что тут как бы вариации.

Modbus запросы всегда можно разделять + есть еще такое понятие как спорадическая связь. Пока на объекте все гуд, все пишется на объекте, при необходимости скачивается на основной сервер для аналитики.
Выход на связь редко. Как авария или выход параметров за пределы, передача на сервер ну или по команде.

угу, много вы прочитаете за 100мс если тот же Меркурий 230 не позволяет за данное время считать все параметры? как-то фиолетово какая там скорость у MQTT между узлами...

VladimirIS
28.05.2021, 09:10
просто работаем иногда с такими заказчиками, которые услышав, что для соединения нужно постучаться на сервер дяди Васи покрутят пальцем у виска и скажут "Идите от сюда"...

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


Момент №2 - одно дело ляжет связь у заказчика и совсем другое связь по какому-то направлению, где как раз и расположен ваш P2P сервер. за несколько лет работы наблюдал это неоднократно.

Как в этом случае поможет VPN, если ляжет связь с контролируемым объектом?
Если же вы про наш P2P сервер, который расположен на дата центре с зеркалами и множеством механизмов резервирования, то теоретически это возможно, согласен.
Хотя ничего критического не произойдет. Сервер со скадой на самом объекте будет продолжать работать. Просто в течении некоторого времени у оператора не будет к нему доступа.


угу, много вы прочитаете за 100мс если тот же Меркурий 230 не позволяет за данное время считать все параметры? как-то фиолетово какая там скорость у MQTT между узлами...

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

Вот пример работы IntraHouse на промышленном предприятии. Станок сварки трением:
55302
Весь процесс сварки длится 60 секунд.

Ниже я растянул шкалу графика:
55301
Обратите внимание на горизонтальную шкалу времени с дискретой 50мс.

Данные от станка получаем по MQTT

melky
28.05.2021, 09:39
VladimirIS не, Telegram это внешка, только уведомления. впрочем как и email, это все сервисы, которые обычно публичные. А речь то идет о внутренних сервисах. Мало того, у некоторых заказчиков есть еще наши VPN по ГОСТ, а их мало того, что настроить тяжело, так еще и маршрутизацию сделать достаточно сложно. Любит наш народ, всякое г... (с) :)
Например в одной муниципальной конторе есть даже запрет на VPN для доступа другим организациям, приходится ездить в гости каждый раз.
И вот на таких объектах как раз был бы полезен P2P но развернутый у заказчика.

Вот вопрос, если вашу Scada нагрузить количеством в 10 тыс тегов, она будет успевать обрабатывать станок сварки со скоростью 50 мс? Сильно сомневаюсь.
Так что ваш пример не показатель. А судя по вебинару, систем на 10 тыс тегов вы не делали, только создали проверить время перезагрузки сервера, не более.

Пока речь не идет о том, вот этого у вас нет и все тут. Речь идет о том, готовы вы будете это сделать, в том числе и самостоятельно, не дожидаясь реальных объектов? То есть занесли себе в todo те или иные хотелки, озвученные на вебинаре и которых у вас нет сейчас. Или пойдете по принципу - нет реального объекта - делать не будем или не будем делать никогда.
Вот от этого и будет зависеть дальнейшее изучение системы. Или тратить на нее время изучать или даже не начинать...

VladimirIS
28.05.2021, 11:04
не, Telegram это внешка, только уведомления. впрочем как и email, это все сервисы, которые обычно публичные. А речь то идет о внутренних сервисах
А какая принципиальная разница с точки зрения безопасности предприятия? На внешние публичные сервисы телеграм, сайт, заходить можно, а на внешний сервис P2P нельзя :confused:


Вот вопрос, если вашу Scada нагрузить количеством в 10 тыс тегов, она будет успевать обрабатывать станок сварки со скоростью 50 мс? Сильно сомневаюсь.

В вебинаре (https://www.youtube.com/watch?v=rV1_xigZSdM) на 28,4 секунде мы показали работу системы с 100 тысячами тегов. В чем сомнения?
Обратите внимание на характеристики железа. Это компактный безвентиляторный компьютер PC PN40 (https://www.asus.com/ru/Displays-Desktops/Mini-PCs/All-series/Mini-PC-PN40/) с 8 Гб ОЗУ.
Естественно нет необходимости обрабатывать все 100 тыс. тегов со скоростью 50 мс. Но если нужно, не проблема. Помощнее железо и каналы связи и вперед.
Но так обычно не делается. Проще и дешевле разделить такую систему на кластеры.

Приведите пример скады, с которой вы работали с 10 тыс. тегов с аналогичными скоростными характеристиками.


А судя по вебинару, систем на 10 тыс тегов вы не делали, только создали проверить время перезагрузки сервера, не более.
На вебинаре мы рассказывали про саму систему, а не про ее использование нами или нашими партнерами-интеграторами.

melky
28.05.2021, 11:21
VladimirIS извиняюсь, 100 тысячами пустых тегов, без получения реальных данных, работы скриптов и так далее. Нагрузите хотя бы на 10 тысяч с реальными приборами и формулами, и тогда посмотрите что произойдет со сварочным устройством.

Внешние сервисы Telegram, email не влияют на работу Scada и обработку данных с приборов. Не надо вот тут открещиваться, что P2P не будет влиять на безопасность.. Почитайте наши законы и постановления по безопасности АСУТП и прочему. Я просто лично этим не занимаюсь, но насколько знаю, как только появляется управление в системе, тут же приплываем на наш сертифицированный VPN и так далее. Разработка модели угроз и прочее, прочее, что с этим связано.
Частнику и комерсанту на это плевать, а вот госы попадают по полной. И выкладывают за это приличные средства.

Там вплоть до того доходит, что вообще наличие подобного сервиса в ПО может поставить крест на его использовании.

я не работал с подобными Scada на 10 тысяч, мне просто интересно, будет ли ваша способна на 50 мс, когда ее реально нагрузят ? Вы же хвалитесь такой скоростью как разработчик Scada, не я. А реальных испытаний вы не делали, так как подобных объектов нет.

Еще один момент - локальная инсталяция предусмотрена? возможность предварительно скачать пакет и установить и развернуть Scada без наличия интернет на объекте ?

VladimirIS
28.05.2021, 12:05
извиняюсь, 100 тысячами пустых тегов, без получения реальных данных, работы скриптов и так далее. Нагрузите хотя бы на 10 тысяч с реальными приборами и формулами, и тогда посмотрите что произойдет со сварочным устройством.

я не работал с подобными Scada на 10 тысяч, мне просто интересно, будет ли ваша способна на 50 мс, когда ее реально нагрузят ? Вы же хвалитесь такой скоростью как разработчик Scada, не я. А реальных испытаний вы не делали, так как подобных объектов нет.

Я показал вам скриншоты с реального объекта.
Вот ниже одна страница работающих плагинов. Там их несколько страниц.
55304
Каждый плагин обрабатывает свою группу тегов. Всего там обрабатывается чуть меньше 8 тыс. тегов.
Это 4 версия системы IntraSCADA. Объект работает уже 3 года.


Еще один момент - локальная инсталяция предусмотрена? возможность предварительно скачать пакет и установить и развернуть Scada без наличия интернет на объекте ?
Да. Такой вариант возможен.

melky
28.05.2021, 12:47
VladimirIS вот, можете по объекту с 8 тыс тегов привести характеристики

1. мощность ПК для Scada (характеристики, процессор, память, объем hdd и его тип)
2. данные из вашей статистики - объем памяти, загрузка проца и т.д.
3. количество тегов, которые имеют статус сохранения в БД, например 60% год, 20% неделя, 20% не сохраняются вообще.
4. количество скриптов на всю систему, хотя бы в % отношении.

VladimirIS
28.05.2021, 15:55
1. мощность ПК для Scada (характеристики, процессор, память, объем hdd и его тип)

Безвентиляторный компьютер на базе Celeron J1900, 8Гб ОЗУ, 128Гб SSD



2. данные из вашей статистики - объем памяти, загрузка проца и т.д.

Вот тут можете посмотреть:
55309



3. количество тегов, которые имеют статус сохранения в БД, например 60% год, 20% неделя, 20% не сохраняются вообще.

Скорость оперативной работы IntraSCADA и объем хранимых данных в БД прямо не связаны.
IntraSCADA сразу работает с поступающими данными: запускает обработчики, сценарии, передает подключенным клиентам данные real-time по подписке для показа оперативных данных и графиков (да, у нас есть графики real-time). Если все подряд пихать в БД, и потом уже доставать - не хватит никакого диска и проца.
Хранить нужно по возможности очищенные данные, для этого у нас есть правила сохранения в БД:
для точных станков - писать все значения, это важно для технологов; для многих случаев - периодически и/или с обработкой. В новой версии добавился срок хранения.
При достижении заданного объема старые данные удаляются. Реально удается сохранить данные за год, важные данные агрегируются и хранятся отдельно.



4. количество скриптов на всю систему, хотя бы в % отношении.


Сценариев там много. Там не только мониторинг оборудования, счетчиков и т.д. Там еще и управление. Климат, освещение ...
Но они же не висят постоянно, работают по изменениям/ или циклически/ или по расписанию.

melky
28.05.2021, 20:24
Какую именно систему вы демонстрировали на вебинаре? Демо проект на сколько был реализован тегов?

Так же человек запускал htop и на экране были видны скачки загрузки CPU до 70%

В общем щупать надо на чем-то реальном и с похожими условиями для других систем... Жду карты как минимум и возможность делать свои плагины драйверов.

VladimirIS
31.05.2021, 08:20
Демонстрировали систему IntraSCADA V5
Показали работу системы с проектом на 100 тыс. тегов.
Работает процессор Intel Celeron J4025 2 ГГц. Естественно есть скачки загрузки CPU. По вашему это не нормально?

melky
31.05.2021, 09:04
Скачки от 0 до 70% говорят о плохой многопоточности при работе с приборами. И демонстрировали вы демо проект не на 100 тысяч, а гораздо меньше, когда показывали загрузку htop и я видел эти скачки. На 100 тысяч вы продемонстрировали всего лишь время загрузки проекта.

Ну и еще момент, даже демо проект если я правильно понял был на эмуляции, а не с реальными приборами.

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

VladimirIS
31.05.2021, 09:53
Скачки от 0 до 70% говорят о плохой многопоточности при работе с приборами.
:confused:Упс. Даже htop дает всплеск до 100%
Покажите систему с "хорошей многопоточностью", которая работает на Celeron 2ГГц c 100тыс. тегов и не нагружает процессор.


И демонстрировали вы демо проект не на 100 тысяч, а гораздо меньше, когда показывали загрузку htop и я видел эти скачки. На 100 тысяч вы продемонстрировали всего лишь время загрузки проекта.
Неправда. Посмотрите вебинар (https://www.youtube.com/watch?v=rV1_xigZSdM) начиная с 28 минуты. Хотя, действительно не 100 тыс. Там было 99999 тегов :D

melky
31.05.2021, 10:30
Да я не столько об этом всем... 100 тысяч или 99999 не столь важно, хочется понять постоянную нагрузку при циклическом опросе например сотни переменных на устройство, а так же добавить несколько физических устройств и понять как потом считать требуемую мощность ПК.

Пересмотрю, как появится время. сейчас уже не до этого... мне для понимания в дальнейшем нужно
1. возможность добавлять плагины драйверов без танцев с бубном (типа не заниматься писаниной обработки порта и сокетов) по типу берем библиотеку SysComLib - указываем номер порта, суем в нее буфер, отправляем, принимаем, разбираем. Над всем, что заложено в библиотеку SysLibCom не думаем.
То же по возможности относится к формированию полученных переменных в теги Scada. По опыту на это уходит достаточно много времени, которого обычно нет. То есть API должен предоставлять доступ к данным процедурам.
2. Карты, с возможностью изменять цвет маркеров, выводить списки переменных
3. Собственно вариант использования системы как Шлюз и Шлюз + Scada для объектов нижнего уровня по разумной цене. +- до 150-200 тегов внизу.

VladimirIS
06.01.2022, 08:28
Опубликовано видео о десктопном приложении для IntraSCADA (https://youtu.be/5TywQ3c0e5s)

melky
06.01.2022, 08:59
VladimirIS

з.ы. выше писал P2P сервер необходим локальный, а не развернутый у вас (у черта) на куличках. По аналогии с m2m у Teleofis

ну и возможность запускать проброс портов только для конкретно интересующего устройства, а не на все сразу, расположенное на объекте.

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

VladimirIS
06.01.2022, 09:43
Локальный P2P сервер? Зачем? Если он локальный, то есть выделенный IP. Если есть выделенный IP, зачем P2P или VPN?
Проброс портов можно настраивать как угодно, хоть один, хоть несколько сразу.
OPC есть. Специфические плагины, если не хватает стандартных, интеграторы пишут сами. Для этого есть API.

melky
06.01.2022, 11:12
VladimirIS
Так вот где это API ? когда вы начинали тут рекламировать свою Scada у вас не было этого API для написания драйверов, по крайней мере тогда вы говорили что нет возможности.
Ну а если вы не понимаете зачем локальный P2P а не ваш, то как-то сложно объяснить... Как минимум это дополнительная точка отказа, если использовать ваш, как максимум это передача информации через сторонние каналы связи без гарантий защиты кроме вашего слова.

Не всегда на объектах есть выделенный IP, но он может быть в центре.

Если в двух словах, сейчас ваша система не предназначена для предложений кому либо с моей стороны. Как минимум нужно иметь набор плагинов(драйверов) под те устройства, под которые у меня уже есть готовые решения. Закладывать длительные сроки и деньги на разработку нет большого смысла, да и сроки и суммы будут пугающими для заказчика опять же против готовых решений.

VladimirIS
06.01.2022, 12:37
Ну а если вы не понимаете зачем локальный P2P а не ваш, то как-то сложно объяснить...

Я достаточно четко ответил выше.

Если же говорить про m2m. То это "Как минимум это дополнительная точка отказа, ......, как максимум это передача информации через сторонние каналы связи без гарантий защиты". Или к m2m это не относится?



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

Надеюсь, вы не думаете что я вас тут уговариваю.

melky
06.01.2022, 13:45
VladimirIS m2m сервер можно развернуть у себя, в отличии от вашего p2p, следовательно точка отказа не меняется, только собственный канал связи, будь то настройка VPN к себе или использование m2m. Подобный тип канала связи необходим, если это уменьшает стоимость оборудования, не требующих необходимости уметь работать с VPN.
У вас добавляется еще минимум один канал связи, а то и не один, в зависимости от количества провайдеров к вам.

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

Делать заявку на интегратора как-то смысла не вижу, потому что пока непонятно с чем придется иметь дело.

VladimirIS
06.01.2022, 14:06
Так и не тратьте.
Если есть что спросить по делу, спрашивайте. А так переливать из пустого в порожнее нет ни времени, ни желания.

melky
06.01.2022, 14:51
А вы вопросы не видите?

1. Где исходный код? - на сайте указано что система с открытым исходным кодом, не нашел.
2. Где API для написания собственных плагинов?

пока забудем про P2P, если так уперлись, можно и без него обходиться.

VladimirIS
06.01.2022, 15:14
1. Где исходный код? - на сайте указано что система с открытым исходным кодом, не нашел.



Все исходные коды выложены на Github. На сайте есть ссылка.




2. Где API для написания собственных плагинов?



Там же.




А вы вопросы не видите?



Нет. Только желание чего-то сказать про систему IntraSCADA даже не попробовав.
По принципу "Не читал, но осуждаю"

IVM
06.01.2022, 15:19
Так и не тратьте.
Если есть что спросить по делу, спрашивайте. А так переливать из пустого в порожнее нет ни времени, ни желания.

Если IntraSCADA с открытым исходным кодом то она бесплатная ?

VladimirIS
06.01.2022, 15:26
Если IntraSCADA с открытым исходным то она бесплатная ?

На 32 тега - 0 рублей.

P.S. Любая скада на любое количество тегов для интеграторов всегда бесплатно.

IVM
06.01.2022, 15:32
На 32 тега - 0 рублей.

P.S. Любая скада на любое количество тегов для интеграторов всегда бесплатно.

А для чего нужен открытый исходный код ?

IVM
06.01.2022, 15:38
На 32 тега - 0 рублей.

P.S. Любая скада на любое количество тегов для интеграторов всегда бесплатно.

ООО «ИНТРА» - это разработчик SCADA или интегратор, который продвигает IntraSCADA ?

melky
06.01.2022, 15:49
VladimirIS ткните носом на ссылки на GIT, что-то не вижу на сайте нигде, одна реклама и какая система клевая...

VladimirIS
06.01.2022, 15:58
А для чего нужен открытый исходный код ?

Я думаю, вы легко найдете информацию набрав в гугле "открытый исходный код"

VladimirIS
06.01.2022, 15:59
ООО «ИНТРА» - это разработчик SCADA или интегратор, который продвигает IntraSCADA ?


Разработчик

VladimirIS
06.01.2022, 16:01
VladimirIS ткните носом на ссылки на GIT, что-то не вижу на сайте нигде, одна реклама и какая система клевая...

Страница "О нас". Там есть иконка Github

VladimirIS
06.01.2022, 16:07
melky Какая ваша цель?
Показать как плоха та или иная система и как хороша ваша скада?
У меня к вам предложение. Откройте тему типа «Сравнение СКАДА»
Расскажите про свою скаду. Сравните с другими. Будет польза всем.

melky
06.01.2022, 16:12
VladimirIS еще раз ткните носом конкретно в ветки GIT где код текущей версии Scada, а не Cherry (так понял это что-то предыдущее).
API для текущей версии, примеры открытых плагинов под текущую версию....

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

p.ы. странно, GIT отличается в зависимости от примененных языков программирования? И кстати вопрос, готовые библиотеки для NodeJS есть, аналогично Framework в .NET ?

IVM
06.01.2022, 16:22
Разработчик

Сильно сомневаюсь, что ООО "ИНТРА", с среднесписочной численностью работников 8 человек способна на разработку такого продукта. Или г.Чебоксары стал столицей SCADA систем. ;)

VladimirIS
06.01.2022, 16:31
Сильно сомневаюсь, что ООО "ИНТРА", с среднесписочной численностью работников 8 человек способна на разработку такого продукта. Или г.Чебоксары стал столицей SCADA систем. ;)

Не сомневайтесь. А за комплемент спасибо!
Кстати кроме IntraSCADA у нас есть еще IntraHouse (https://intrahouse.ru) для домашней автоматизации.

IVM
06.01.2022, 16:52
Не сомневайтесь. А за комплемент спасибо!
Кстати кроме IntraSCADA у нас есть еще IntraHouse (https://intrahouse.ru) для домашней автоматизации.

Неужто выпускники ЧГУ способны на такое ? Я думаю разработчики IntraSCADA сидят не в Чебоксарах.

melky
06.01.2022, 17:18
IVM даже один человек способен написать ядро системы.

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

Можете сделать пример плагина, полностью откомментированным, чтобы не требовалось на каждый чих лезть в исходники и выискивать лазейки, как реализовать то или иное, используя функционал системы или знать, что то-то и то-то в системе не реализовано и надо пилить самому?
API позволяет не заниматься постоянным созданием каналов связи например через COM порт или TCP, а только подготовить пакет для отправки в прибор или приема и указать через что принимать?

melky
08.01.2022, 08:31
автор слился в лучших традициях великих программистов... Или все-таки пошли готовить классический пример плагина с описанием и пояснением?

VladimirIS
10.01.2022, 09:44
Неужто выпускники ЧГУ способны на такое ?
Не знаю. У нас таких нет.


Я думаю разработчики IntraSCADA сидят не в Чебоксарах.
Точнее будет сказать, не только в Чебоксарах

melky
10.01.2022, 10:10
VladimirIS значек GIT ведет на IntraHouse, вы тут пишите что это другой продукт, не нашел там ничего по IntraScada.

Ну ладно, другие вопросы.

1. В ядре реализовано использование каналов связи, которые передаются плагину? COM порт и его настройки, TCP, UDP, Com over TCP(UDP) ?
2. Если реализовано, как происходит сессия опроса? необходимо все реализовывать внутри плагина?
3. Независимо где реализация, вариант остановки по последовательности байт, байту, символу, есть реализация? Например дополнительным модулем? видел там какой-то com port tools

В общем нужна хорошая "рыба" для плагина с подробным описанием и желательно рабочим примером для более слабых программистов...

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

VladimirIS
10.01.2022, 11:36
melky
Ядро системы ничего не знает про то, как работать с каналами связи.
Работа с каналами связи - это задача плагинов.
Про остановку вообще не понял. Остановка плагина?
Для начала можете посмотреть про общую концепцию плагинов https://docs.intrascada.com/ru/plugin_concept

melky
10.01.2022, 11:43
VladimirIS то есть настройки COM портов, TCP(UDP) соединений полностью возложены на пользователя и требуется программировать в плагине?

На счет остановки неправильно поняли. Есть протоколы, где неизвестна длина пакета от устройства и является плавающей величиной. То есть нельзя задать буфер определенного размера для входящих пакетов. Или если мы задаем заведомо больший буфер, то тупо ждем выставленный таймаут.
Тут есть два варианта решения, останавливать опрос по определенному набору байт, характерному для того или иного устройства (протокола) или останавливать опрос на заголовке пакета, где указана длина и задавать дополнительный буфер для остальной части пакета.

Вот в плагине Modbus вы как решили данную задачу? изначально рассчитываете длину ответа или смотрите на длину в заголовке?
p.s. хотя вы может и понятия не имеете как реализовано в Modbus, так как используете какую-то готовую библиотеку NodeJS если я правильно понял. А с самодурными протоколами акромя него небось и не сталкивались...


Например ISO61170 (МЭК61170) счетчики Энергомера, расходомеры газа ЕК и фиг знает что еще. Символьный протокол, параметр может быть передан как 8,00 или как 12,00 например мощность в кВт - длина пакета будет отличаться

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

Еще мне пока не очень ясно с настройками каналов в интерфейсе системы.
Могу ли я все переменные завести сразу в систему? Быстро отключить те, которые я не захочу использовать?
Опять же, протоколы есть разные, устройства тоже. Например MBus присылает полностью все переменные в телеграмме, но из них мне необходима только часть в системе. Телеграмма это ответ на один запрос.
Другие протоколы подразумевают несколько запросов на разные наборы параметров, при этом часть переменных мне нужна из запроса, а часть нет. Когда не нужны все из группы, я должен полностью выключить запрос этой группы. Когда мне нужна только часть, запрос должен остаться, но связь с тегами Scada должна быть только у части переменных.

Возможность использовать шаблоны настроенного устройства, режим инициализации при первом запуске, изменение шаблона на лету. Например xml или это чудо json, не так важно...

VladimirIS
10.01.2022, 12:31
VladimirIS
p.s. хотя вы может и понятия не имеете как реализовано в Modbus, так как используете какую-то готовую библиотеку NodeJS если я правильно понял. А с самодурными протоколами акромя него небось и не сталкивались...

Такой стиль общения заставляет меня прекратить дискуссию

melky
10.01.2022, 12:47
VladimirIS и что в моем стиле? вам рассказать прелести некоторых протоколов от производителей, где идет разрыв переменной на две страницы памяти или использования в одном ответе чисел как в HEX формате так и в BCD формате или расчет контрольной суммы то однобайтовой, то двухбайтовой, причем с разным набором данных в зависимости от типа КС?

Хотите развития системы, надо помогать и главное хотеть этого. В том числе и прислушиваясь к пользователям, как существующим так и потенциальным.
Лично мне интересна система своей кроссплатформенностью но как и что в ней придется писать явно, а что уже реализовано пока не понимаю.

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

melky
11.01.2022, 23:11
Возникли вопросы по ходу.

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

VladimirIS
12.01.2022, 12:59
Каким образом происходит групповое чтение параметров Modbus ?

Группировка при чтении позволяет существенно снизить число обращений к устройству modbus.
Универсальный плагин modbus предлагает два варианта группировки:
Вариант 1. У канала (адреса modbus) ставится галка: "Группировать при чтении".
В этом случае плагин сам группирует последовательно идущие адреса внутри каждого UnitId (возможно, с небольшими разрывами) с учетом параметра "Max кол-во слов при чтении диапазона" (250 для стандартного протокола, можно уменьшить)
Вариант 2. Ручная группировка. В этом случае в канале указывается "Название группы" (по сути идентификатор), по которым плагин соберет группы для опроса



Каким образом драйвер чередует опросы двух и более устройств на линии ?

Речь идет, видимо, об устройствах с разным UnitId, подключенным к одному порту.
Если порты разные, система позволяет запустить отдельный экземпляр плагина для каждого порта. Тогда опрос идет практически параллельно, так как каждый экземпляр работает в отдельном процессе.
Если порт один - чуда нет, последовательно выполняются все операции чтения для каждого UnitId по порядку возрастания.
Операции записи для любого UnitId выполняются сразу при поступлении. Далее опрос продолжается.
Конечно, возможны задержки, если какое-то устройство перестает отвечать. Нужно установить адекватное "Ожидание ответа на запрос (ms)".



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

Не совсем понятно, что имеется в виду. "каналы связи надо программировать внутри плагина" - нет, не надо.
Для экземпляра плагина задается COM порт для Modbus RTU или IP+порт для Modbus TCP/ RTU over TCP
Универсальный плагин может работать с любым количеством устройств с разными UnitId
Каналы настраиваются и передаются плагину при запуске.
Есть механизм простого создания каналов для идентичных устройств c разными UnitId
- создаем узел (папку) с unitid = 1 (например). Внутри создаем каналы. Затем просто копируем папку и меняем unitid в узле.

Если же modbus очень нестандартный (по сути и не модбас), придется написать свой плагин. Можно, на базе существующего.

melky
12.01.2022, 13:10
Не совсем понятно, что имеется в виду. "каналы связи надо программировать внутри плагина" - нет, не надо.

Ну вот если я на счетчик буду пытаться делать плагин. Счетчиков 2 или больше. В плагине задается COM порт и его настройки? Или в какой-то надстройке которая и будет разруливать последовательные запросы? Каждый счетчик имеет несколько запросов и ответов ну по аналогии с Modbus группами.

Еще такой вопрос, два(или более) устройства в плагине могут иметь общие переменные в рамках одной линии связи? (одного COM порта)

тут пояснение требуется. Например плагин прибора один, по аналогии с Modbus на линии 2 устройства, это один экземпляр плагина будет запущен под разные id устройства ? в данном случае внутри плагина можно организовать глобальные переменные только для данного экземпляра плагина, чтобы эти переменные были доступны только тем устройствам, которые находятся на данной линии связи?

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

Ну и есть куча других функций по аналогии, например преобразования из BCD в DEC и обратно, из строки в HEX и обратно и так далее.
Есть подобный функционал у вас? можно ли использовать в плагинах функции ядра системы и если можно то как?

Проще говоря, есть ли доступ к функциям ядра и список того, что можно использовать при программировании ?

VladimirIS
12.01.2022, 18:21
Ну вот если я на счетчик буду пытаться делать плагин. Счетчиков 2 или больше. В плагине задается COM порт и его настройки?

Разработчик плагина сам решает, какие параметры ему нужны и как будут устроены каналы.
Для этого в файлах json специального формата описываются форма для параметров и форма для каналов: https://docs.intrascada.com/ru/pg143

Пример: небольшая часть формы параметров плагина Modbus

{"prop": "timeout","title": "Ожидание ответа на запрос","default": 5000, "type": "number"},
{"prop" : "sendChanges", "title": "Отправлять только изменения", "type": "cb"}

Вы можете посмотреть код плагина, который установлен, прямо в админке. Например для Modbus, в разделе Плагины->MODBUS на вкладке Редактор. Формы находятся в папке v5

Ядро использует эти формы для ввода и передает данные плагину, т е плагин получит те параметры, которые определил (timeout, polldelay, ...)

Аналогично, система никак не ограничивает, как будут устроены ваши каналы. Канал имеет id, r - флаг чтения, w - флаг записи. А остальное = требования протокола + ваша фантазия.


Или в какой-то надстройке которая и будет разруливать последовательные запросы? Каждый счетчик имеет несколько запросов и ответов ну по аналогии с Modbus группами.
Никаких надстроек, опрос выполняет сам плагин. Сколько и какие нужны запросы - сам отправляет, получает, парсит, как хочет.
В принципе, если пишется специализированный плагин, набор каналов известен и не требуется настройка со стороны пользователя, плагин может сам объявить каналы, описав их в манифесте или отдавать их при старте. Или даже можно отдавать динамически

Пример 1. Плагин jethomed1: https://github.com/intrahouseio/ih-v5-jethomed1-plugin
Плагин отдает фиксированные каналы с заранее заданными ID при старте, а датчики 1-Wire отдает динамически при подключении

Пример 2. Плагин laurent https://github.com/intrahouseio/ih-v5-laurent-plugin
Все каналы прописаны в манифесте

Просто нужно решить - что у вас является значением канала, которое будет отдаваться в ядро.


Еще такой вопрос, два(или более) устройства в плагине могут иметь общие переменные в рамках одной линии связи? (одного COM порта)
Общие переменные-параметры или переменные сеанса? В любом случае ответ - да, это реализуется просто.


Ну и есть куча других функций по аналогии, например преобразования из BCD в DEC и обратно, из строки в HEX и обратно и так далее.
Есть подобный функционал у вас?
Такой функционал уже давно есть в любом языке высокого уровня. В javascript это элементарно, причем гуглится на раз:

- parseInt( dec.toString(10),16); // DEC => BCD
- parseInt( bcd.toString(16),10); // BCD => DEC
- parseInt( hexString, 16); // HEX => BCD: '20' => 32
- yourNumber.toString(16); // BCD => HEX: 32 => '20'


Проще говоря, есть ли доступ к функциям ядра и список того, что можно использовать при программировании ?
API плагина - https://docs.intrahouse.ru/ru/pg142
Минимальный плагин - https://docs.intrahouse.ru/ru/pg141
И другие разделы в пункте "Источники данных" -> "Разработка плагина"
Там есть, как работать с ядром, как создать свои формы для параметров плагина и для каналов.

IVM
12.01.2022, 21:01
Не знаю. У нас таких нет.

Точнее будет сказать, не только в Чебоксарах

И что вас сподвигло обосноваться в Чебоксарах ?

melky
12.01.2022, 23:06
VladimirIS
Никаких надстроек, опрос выполняет сам плагин вот это и пытался понять, следовательно если делать плагин с возможностью вызова нескольких экземпляров, то плагин сам должен уметь работать с любым количеством приборов на одной линии (одном COM порту).
Второй экземпляр можно запустить только если другие приборы подключены к другому COM порту и так далее.

То есть в плагине надо думать как разруливать опрос нескольких приборов в одном экземпляре.

Вы точно понимаете, что такое bcd формат? байты 12 34 56 - это число 123456
Не шестнадцатиричная и десятичные системы parseInt( dec.toString(10),16); или я что-то не догоняю...


Для вывода вкладки Параметры плагина используется formPluginCommon.json

Изменять динамически можно?, добавлять записи в форме, удалять?

IVM
И что вас сподвигло обосноваться в Чебоксарах ? может мама с папой ? :)

VladimirIS
13.01.2022, 08:38
И что вас сподвигло обосноваться в Чебоксарах ?

Мы здесь живем и работаем.
Так же как например компания Иридиум (разработчик системы iRidium) обосновалась в Нижнем Тагиле. Simple-Scada в Краснодаре. Rapid-Scada в Воронеже.
В IT области вообще не принципиально где находится головной офис.

Приходите в гости, покажем, расскажем.

VladimirIS
13.01.2022, 08:50
То есть в плагине надо думать как разруливать опрос нескольких приборов в одном экземпляре.

Если это один COM порт, вариантов нет. Что там можно разрулить кроме последовательного опроса. А вот порядок, в котором нужно опрашивать, зависимые запросы на уровне прикладной логики можно делать как того требует конкретное оборудование


... что такое bcd формат?
Но это тоже достаточно просто. Правда одной строкой возможно не обойтись. Хотя давно не сталкивались.


Изменять динамически можно?, добавлять записи в форме, удалять?
Вы, вероятно, не совсем уловили суть: это ФОРМА для ввода, запись получается в результате. А вот поля - да, можно показывать и скрывать динамически в зависимости от значений других полей на форме. Это свойство hide, там нужно написать условное выражение.
Можете, опять же, посмотреть для примера форму плагина Modbus - для TCP на экране одни параметры, для RTU - другие.

melky
13.01.2022, 09:33
Simple-Scada даже не Краснодар а в какой-то станице края...


А вот поля - да, можно показывать и скрывать динамически в зависимости от значений других полей на форме
Нет, меня интересует именно редактирование строк, кроме просто установки галочки "Использовать тег" или нет, необходимо редактирование.
В Winform сейчас ковыряю для этого DataGridView, то есть могу в настройках драйвера создавать, редактировать шаблон устройства. До этого я просто создавал его руками в XmlNotePad ну или можно просто в текстовом редакторе.
Но у вас система Web полностью, в том числе и административная часть, вот и интересует, как быть в данном случае ?

На счет разруливать в плагине опрос нескольких однотипных устройств на одном Com порту в рамках запущенного экземпляра это не есть хорошо. Так как кроме разруливания нескольких устройств еще необходимо разруливать по времени опросы в одном устройстве. Плохо, что у вас нет какого-то арбитра для этого.
Ну пример, счетчики электроэнергии, если читать их для мониторинга сети, то постоянное чтение должно быть мгновенных значений (ток, напряжение, мощность, косинус и т.д.), читать при этом показания затраченной электроэнергии достаточно раз в час или в полчаса.
Ну и минимальный вариант - 2 ввода = 2 счетчика.
И все это надо разрулить в одном экземпляре плагина.

Счетчики это только пример, достаточно много приборов, чтение которых работает по похожему принципу. Еще можно добавить чтение параметра по запросу (всякие конфигурационные параметры приборов, которые читать даже раз в сутки не требуется), это третий вариант.

Вот если сделаете подобного арбитра, цены не будет. Правда тогда каждый экземпляр плагина будет отвечать за свой прибор, даже если несколько экземпляров будут запускаться на одном Com порту. Ну правда тогда нужны общие переменные для нескольких экземпляров, запускающихся на одной линии и точное понимание очередности запусков.

На счет редактирования, объясню. Modbus тот же, он достаточно унифицирован, можно придумать как будет выглядеть форма.
Но есть масса протоколов, где нет унификации, и к тому же, если используется ПЛК какой-нибудь свободнопрограммируемый, где разработчик что придумал, то и получилось...


Еще момент. Возможность загружать библиотеки C++ желательно с определением архитектуры и ОС и использовать функции из библиотек... Это доступно в NodeJS ?

VladimirIS
13.01.2022, 12:47
Боюсь спросить, вы ответы читаете или просто генерируете вопросы, исходя из проблем с вашей десктопной скадой под Windows?


могу в настройках драйвера создавать, редактировать шаблон устройства
Да, можете, для этого редактируете не XML, а (сюрприз-сюрприз в 21 веке) json прямо через web интерфейс админки.


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

Давайте составим общий план плагина (для простоты без обработки ошибок, хотя это очень важная часть):

1. При запуске запросить параметры у сервера.
Открыть порт, применив полученные параметры - РАЗРАБОТЧИК САМ ОПРЕДЕЛЯЕТ, какие параметры ему нужны
2. Разобраться с каналами (варианты также можно включить как опцию в параметры, например):
Вар 1 - Запросить список каналов с сервера - РАЗРАБОТЧИК САМ ОПРЕДЕЛЯЕТ шаблон канала
Вар 2 - Передать широковещательный запрос для нахождения устройств на шине, обработать ответы.
Передать список доступных устройств (каналов) на сервер, они появятся в админке
3. Выполнить какие-то операции по регистрации/инициализации.
4. Построить план опроса - ну вот это все:

постоянное чтение должно быть мгновенных значений (ток, напряжение, мощность, косинус и т.д.), читать при этом показания затраченной электроэнергии достаточно раз в час или в полчаса
5. Запуск основного цикла, например, так:
- взвести таймер на час/полчаса, или прямо на границу часа (чтобы снять значение ровно в xx:00)
- взвести таймер с минимальным периодом опроса
- Запустить чтение для первого устройства по минимальному таймеру


Но есть масса протоколов, где нет унификации, и к тому же, если используется ПЛК какой-нибудь свободнопрограммируемый, где разработчик что придумал, то и получилось...
Ну вот, что и требовалось доказать. Именно поэтому встраивать все известные протоколы/способы опроса и обработки буферов/etc в ядро - это путь в никуда.

У меня предложение - если у вас действительно есть интерес к IntraSCADA - установите систему и посмотрите, что к чему.
Если же просто для общения - время сегодня самый ценный ресурс :)

VladimirIS
13.01.2022, 12:53
Несколько скриншотов по плагину Modbus.
Modbus TCP:
58688
Modbus RTU:
58689
Modbus RTU over TCP:
58690

Это работают разные экземпляры одного и того же плагина Modbus. Естественно каждый экземпляр со своими настройками.

melky
13.01.2022, 13:23
сюрприз-сюрприз в виде json это необходимость в некоторых случаях, а не панацея. откровенно говенный стандарт по моему мнению, но придется с ним разбираться...
вот по 2. Да, передать список каналов серверу, но, в случае изменения каналов (например я решил через полгода исключить из опроса часть каналов) чтобы каналы в сервере никуда не сместились а продолжали записываться куда им положено.


Ну вот, что и требовалось доказать. Именно поэтому встраивать все известные протоколы/способы опроса и обработки буферов/etc в ядро - это путь в никуда.
Нет, встраивать протокол в ядро не планируется как раз. Пытаюсь понять схемотехнику того, что есть сейчас и как придется переделывать свои наработки...

На счет установки, сейчас разгребусь с Бекхоффом, и как освобожусь, буду ставить и пробовать. Где-нибудь февраль-март месяц. Саму систему возможно на домашнем ПК поставлю раньше чтобы посмотреть... Меня больше волнует само программирование, так как NodeJS как и JavaScript в новинку будет.
А в исходниках у вас нет ни одного примера плагина с COM портом, более простого, чем Modbus имеется ввиду.
Ну и выше спрашивал, как и на чем прогать в NodeJS на Windows, так как не планируется ставить Linux специально для этого.
Есть ли режимы отладки, подсказок, аналогичные той же Visual Studio.... А то из меня программист не очень, ибо не проходил обучений и многих вещей просто либо не знаю, либо доходчиво никто не может объяснить...
А по опыту, при поиске решений либо примитивы на msdn либо от горе блоггеров программистов и все те же примитивы, только переобозванные. Пока найдешь на просторах в горе мусора решение, много времени уходит.

Блин, речь не об экземплярах, с этим понятно, речь об опросе нескольких устройств в рамках одного экземпляра.
В вашем случае это надо предусматривать внутри плагина, так как нет "арбитра", который бы разные устройства опрашивал бы через один экземпляр, так как линия одна. Ну тот же COM порт и несколько устройств на нем.

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

melky
13.01.2022, 13:32
VladimirIS у вас есть пример настройки 2-х или более устройств на одном COM порту? то есть работа в одном экземпляре с несколькими устройствами
Ну и показать в плагине Modbus где реализация этого ? можно имя файла(ов) исходника, смотри строки с ... по ... ??
Аналогично для COM over TCP

VladimirIS
13.01.2022, 13:59
откровенно говенный стандарт по моему мнению, но придется с ним разбираться...


Опять в стиле "не читал, но осуждаю"
Для начала разберитесь, а уж потом делайте выводы.

melky
13.01.2022, 14:36
VladimirIS просто xml компактнее и более структурирован. Я видел, что из себя представляет json, иначе не говорил бы. Ну и возможностей десериализации, сериализации у него поменьше, чем у xml.

Вот вы бы производителям сказали бы, что на носу 21-й век и они должны отказаться от xml в пользу json...
Мне приходится работать с xml от производителя ПО, ему как-то фиолетово, какой век на носу.

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

Как писал ранее, не надо пытаться интеграторов заставлять изучать длительное время ваш код, вы должны дать хорошую рыбу для быстрой реализации, а не заниматься по ночам красноглазием. Мне в изучении протоколов этого ой как хватает.
Да и не держат интеграторы часто программистов в штате, это либо разработки на заказ, либо на общественных началах.

VladimirIS
13.01.2022, 18:25
... в случае изменения каналов (например я решил через полгода исключить из опроса часть каналов) чтобы каналы в сервере никуда не сместились а продолжали записываться куда им положено.

Почему они должны сместиться? Смело добавляйте, исключайте, редактируйте - никаких проблем


Блин, речь не об экземплярах, с этим понятно, речь об опросе нескольких устройств в рамках одного экземпляра.
В вашем случае это надо предусматривать внутри плагина, так как нет "арбитра", который бы разные устройства опрашивал бы через один экземпляр, так как линия одна. Ну тот же COM порт и несколько устройств на нем.

Почему один экземпляр не может работать с несколькими устройствами? Для чего вам арбитр, опрос ведь все равно будет последовательный??? Меняйте UnitId в запросе и вперед. На сервер будете отдавать значения каналов (ток, напряжение, …) всех опрошенных устройств.


VladimirIS у вас есть пример настройки 2-х или более устройств на одном COM порту? то есть работа в одном экземпляре с несколькими устройствами
Ну и показать в плагине Modbus где реализация этого ? можно имя файла(ов) исходника, смотри строки с ... по ... ??
Аналогично для COM over TCP

Вот, например:
58700


Ну и выше спрашивал, как и на чем прогать в NodeJS на Windows, так как не планируется ставить Linux специально для этого.
Есть прекрасный редактор Visual Studio Code, свободно распространяемый, кроссплатформенный, от Microsoft, кстати.


просто xml компактнее и более структурирован
Все с точностью наоборот. Прежде чем такое писать, почитайте хотя бы в википедии. Или наберите в гугле "json xml отличия"


Мне приходится работать с xml от производителя ПО, ему как-то фиолетово, какой век на носу.
Это означает только то, что производитель вашего ПО отстал от современных технологий. Хорошо, если не безнадежно.


Как писал ранее, не надо пытаться интеграторов заставлять изучать длительное время ваш код, вы должны дать хорошую рыбу для быстрой реализации, а не заниматься по ночам красноглазием. Мне в изучении протоколов этого ой как хватает.
Да и не держат интеграторы часто программистов в штате, это либо разработки на заказ, либо на общественных началах.
А кто заставляет интеграторов изучать код системы? Видимо, все же груз прошлого опыта сильно давит…
Вы как-то определитесь. Вы интегратор? Ок. Используйте стандартные плагины. Если нужного плагина нет и не можете сделать сами, обратитесь к нам, сделаем.
Если можете сделать сами, отлично. Документация и примеры есть.

melky
13.01.2022, 23:32
Почему один экземпляр не может работать с несколькими устройствами?
Для этого необходимо предусматривать все необходимое в самом плагине. Лишняя работа и головная боль. Был бы "арбитр", плагин был бы строго на одно устройство и "арбитр" бы подсовывал ему UnitID и шаблон требуемых для чтения параметров. Но может и так сойдет, когда начну, попробую разобраться.

На счет xml и json, вроде выкладывал уже. Во вложении, прочитать ветку Symbols (897 записей) требуется меньше 1 секунды. Аналог JSON какой окажется ? Способ чтения?

Да, при чтении требуемой ветки xml полностью отсутствуют циклы в коде


Если нужного плагина нет и не можете сделать сами, обратитесь к нам, сделаем.

По опыту, вы сделаете скорее всего в примитивном варианте из-за нехватки времени, что может не устраивать меня и гораздо за большие деньги, которые будет не готов заплатить заказчик и я в том числе. Вам потребуется пересылать приборы, а я не готов их покупать, тем более за свои деньги. В общем процесс растянется на срок, куда больший, чем сделаю я это сам, но мне требуется разобраться с чужим кодом. В котором комментариев практически нет, что усложняет задачу.

VladimirIS
14.01.2022, 10:50
Был бы "арбитр", плагин был бы строго на одно устройство и "арбитр" бы подсовывал ему UnitID и шаблон требуемых для чтения параметров.

Плагины естественно работают не в вакууме. В составе ядра есть движок плагинов (Plugins Engine). Он запускает экземпляры плагина, останавливает, передает параметры запуска, ведет обмен данными. Вы это называете "арбитр"? Тогда он есть.


На счет xml и json, вроде выкладывал уже. Во вложении, прочитать ветку Symbols (897 записей) требуется меньше 1 секунды. Аналог JSON какой окажется ? Способ чтения?

Да, при чтении требуемой ветки xml полностью отсутствуют циклы в коде


XML (eXtensible Markup Language) — расширяемый язык разметки.
JSON (JavaScript Object Notation) — текстовый формат обмена данными

Даже из названия видно что JSON - родной формат для JavaScript.
Примечание: Cистема IntraSCADA работает на движке NodeJS.

Если не знаете JavaScript, почитайте, а потом поговорим про "циклы в коде".

melky
14.01.2022, 10:59
Вы это называете "арбитр"? Тогда он есть.

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

Я знаю отличия поверхностно, в данном случае суть xml или json одна, сохранять настройки драйвера, настройки шаблонов, что читать, что нет и так далее.
В конечном итоге это текстовый документ на диске и пользуются кто чем привык. То, что json родной формат для JavaScript я тоже в курсе и у меня есть один проект на будущее, где мне придется его использовать в C# (особенность API от производителя).
Точно такая же потребность в XML, особенность от производителя и уйти я от этого не могу никак. Наша компания слишком маленькая, всего-то человек 300 :)
А ваша так совсем малюсенькая, чтобы как-то повлиять на такую компанию как Beckhoff и сказать им "а ну ка переделайте все на json" :)

alekscrow
10.02.2022, 22:17
Для начала. Поддержку OWENCLOUD через UPC UA в студию. И допиливайте инструкции. Желательно с подробными примерами.

VladimirIS
11.02.2022, 08:14
Поддержку OWENCLOUD через UPC UA в студию.
Зачем? Цель?

alekscrow
17.03.2022, 08:24
Требуется запись параметров в ТРМ210 и др. по modbus. Поддерживается только функция записи 16 (0x10)Preset Multiple Registers. Как это реализовать IntraSCADA?

VladimirIS
17.03.2022, 08:36
Требуется запись параметров в ТРМ210 и др. по modbus. Поддерживается только функция записи 16 (0x10)Preset Multiple Registers. Как это реализовать IntraSCADA?

Вы как-то определитесь. Задаете вопрос, потом удаляете. Сейчас опять задаете.

VladimirIS
18.05.2022, 17:13
60727
Получен сертификат совместимости системы IntraSCADA и операционной системы РЕД ОС

VladimirIS
07.06.2022, 07:15
Приглашаем принять участие в вебинаре 9.06.2022 в 15:00. Мы продемонстрируем работу нового функционала системы IntraSCADA, а так же поделимся своими планами по дальнейшему развитию.
Вебинар состоится в телеграм-канале https://t.me/IntraTeach?videochat

VladimirIS
20.09.2022, 15:59
62732
Приглашаем всех желающих пообщаться с разработчиками продукта IntraScada в рамках выставки Kazan Digital Week 2022, которая будет проходить с 21.09.2022 по 23.09.2022 в г. Казань (Международный выставочный центр «Казань Экспо»).

VladimirIS
09.02.2023, 18:26
Новая серия обучающих вебинаров по системе IntraSCADA.
Установка системы (https://www.youtube.com/watch?v=Pmgv8xYcYOw)
Типы устройств (https://www.youtube.com/watch?v=r-39Os7FXa8)
Шаблоны визуализации (https://www.youtube.com/watch?v=tnDVwJ5xDMg)

VladimirIS
13.04.2023, 09:42
Приглашаем на ежегодную конференцию и выставку WBCE 2023, посвященную домашней и промышленной автоматизации. Мероприятие проводят наши партнеры Wiren Board.

Мы выступим с докладом на тему “Основные преимущества и отличия IntraSCADA от других SCADA систем с точки зрения интегратора”, продемонстрируем работу проектов автоматизации на базе системы IntraSCADA, а вы сможете обменяться с коллегами опытом, пообщаться с участниками в неформальной обстановке и договориться о сотрудничестве.

Также Wiren Board проведет экскурсии на своем производстве — расскажут, как разрабатывают устройства, и покажут конвейер по сборке устройств.

На мероприятии будут: EKF, SberDevices, Яндекс, НЕВОТОН, Z-Wave.Me, Comfort-Life, ГК «Железно», SETPOINT, Iridi, ТеплоМонитор, Гудсофт, ПК «Энергия», Liten, IntraSCADA, Rapid SCADA, LavriTech, Intelligent House, SAYMON, SimpLight, TECO Lux, ГК «Основа», ЛИИС, Techsensor, TESLA SMART, MasterSCADA. Подробности на сайте Wiren Board.

https://wirenboard.com/ru/pages/wbce2023/

Дата проведения: 21–22 апреля с 10:00 до 18:00.

melky
13.04.2023, 10:54
Основные преимущества и отличия IntraSCADA от других SCADA систем с точки зрения интегратора очень громкое заявление :)
Жаль что в Москве, с удовольствием бы посетил, хотелось бы живьем познакомиться с некоторыми перечисленными участниками из списка.

VladimirIS
24.04.2023, 11:28
Выставка НЕФТЕГАЗ-2023 в Москве


Приглашаем на 22 международную выставку НЕФТЕГАЗ-2023, которая состоится 24-27 апреля в ЦВК «Экспоцентр»
https://www.neftegaz-expo.ru

Наш стенд 23A01 (3 зал, 2 павильон)

На выставке мы продемонстрируем работу проектов автоматизации на базе системы IntraSCADA, а вы сможете пообщаться с разработчиками и задать интересующие вас вопросы.



24 – 26 апреля: с 10:00 до 18:00
27 апреля: с 10:00 до 16:00

VladimirIS
19.07.2023, 17:15
В список плагинов IntraSCADA добавлен плагин OPC UA Server
(https://intrascada.com/ru/shop-ru/)
Может работать в качестве шлюза из любого поддерживаемого системой протокола в OPC UA
Теперь нет необходимости устанавливать сторонний OPC сервер


P.S. Все плагины системы IntraSCADA поставляются бесплатно.