Вход

Просмотр полной версии : Мини скада для СТГ3



atomo2
07.11.2024, 11:08
Хочу представить вам свою бета версию газового анализа, для газоанализаторов СТГ3 с опросом датчиков (раз в 5 -10 секунд) и с регистрацией журнала аварий о превышения порогов. (так же пока убрал, но верну обратно функцию отправки аварии в телеграмм бот)
79887

Есть простой конфигуратор для («моментального старта») он создает и подключается к базам данных. Так же запускает программу чтения данных с СТГ3, программу вывода полученных данных на web – страницу и программу контроля превышения установленных порогов.
79888

Кнопка Создать базу данных, предварительно указав имя пользователя, пароль, хост (который мы указали при установке MySQL Workbench 8.0 CE), а также желаемое нами имя базы данных и количество датчиков, с которых мы хотим считывать данные, конфигуратор создает базу данных, таблицы и колонки для данных, получаемых с датчиков.
Кнопка Удалить базу данных, происходит полное удаление созданной нами базы данных.
Кнопка Загрузить настройки показывает текущие настройки базы данных (которую мы создали, в которую мы пишем и из которой читаем данные), а также com порт, скорость подключения и количество датчиков, с которых мы хотим считывать данные.
Кнопка Сохранить настройки, сохраняет первоначально прописанные нами настройки для создания и подключения к базам данных и считыванию данных с датчиков.
Кнопка Настройки web – страницы открывает веб форму настройки основного шаблона сайта (эта страница защищена паролем, который мы можем сами установить).
79889
На данной старнице мы можем загрузить нашу план-схему с расположением газоанализаторов, изменить название отображаемой схемы, изменить количество плиток отображаемых газоанализатров и изменить название самих газоанализаторов.( Рисунок -3) ,( Рисунок -4) ,( Рисунок -5 при нажатии на плитку открывается план схема расположения датчиков)
79890

Кнопка Запустить сервер, запускает программу опроса датчиков, программу вывода полученных данных на web-страницу и программу контроля превышения установленных порогов. (и отправки аварии в телеграмм бот).

Для какжого газоанализатора плитка показывает индивидуальное название датчика, текущие значение концентрации с интервалом 5-10 сеунд , установлнные пороги 1 и 2 и журнал аварий , в котром хранятся записи о превышение порога 1 или 2.
79891
Так же плитка отслеживает состояние газоанлизатора в сети , если он подключен то концентрация подсвечивается зеленым и есть данные по установленым порогам , если какой-то газоанализатор вышел из строя , то плитка имеет такой вид , что позволяет быстро определить вышедшей из строя газоанадизатор
79892
79893

Журнал аварий , в нем мы можем делать выборку по интересующий нас дате или показать все события за все время о сработавших порогах 1 и 2
79894
Рисунок -3
79895

Рисунок -4
79896

Рисунок -5 (при нажатии на любую плитку открывается план схема расположения всех датчиков)
79897

Пока как то так;) Чуть позже выложу программу;) если оно вообще кому то это нужно)

In_Da_Cher_A
10.11.2024, 09:34
если оно вообще кому то это нужноинтересно и нужно

и количество датчикова это на что влияет? на размер таблицы?
чисто логически - эта цифра находится на "вкладке" настройки подключения. Если адреса раздаются по порядку, то логичнее отсчёт вести с первого датчика и до физического ограничения протокола, если оно есть

atomo2
13.11.2024, 08:47
интересно и нужно
а это на что влияет? на размер таблицы?
чисто логически - эта цифра находится на "вкладке" настройки подключения. Если адреса раздаются по порядку, то логичнее отсчёт вести с первого датчика и до физического ограничения протокола, если оно есть

У СТГшек адрес задается физически в коробке подключения (и обычно номера выставляют по порядку с 1 и ...)
80011
К примеру мы изначально уже знаем, что у нас 5 датчиков с адресами с 1 по 5, в окошке "Количество датчиков" мы указываем цифру 5 , чтобы в базе данных создать 5 таблиц для каждого датчика, а в программе чтения данных задать чтение с 1 по 5 адрес. Возможно примитивно , но так мы убираем полное сканирование всего возможного диапазона адресов.
Тут конечно проработаю еще вариант , что адреса идут не по порядку, а к примеру 1 , 5 , 8 и тп , чтобы можно было задавать в таком варианте чтение данных , хотя опять же если я укажу с 1 по 8 , то да, создадутся таблицы для 8 датчиков (но они будут пустые) , чтение будет с 1 по 8 (а данные мы будем получать только с 1 , 5 и 8 )

melky
13.11.2024, 08:56
1. ну я не знаю, что такое СТГ3, ну да ладно.
2. Помнится вы читаете это питоновским скриптом, посмотрел по темам, благо у вас их не много. А кроме питона вы на чем-то еще можете? например C# и сделать драйвер для RapidScada?

думаю в копилку этой Scada было бы полезно.
з.ы. я как-то датчики температуры читал в scada скриптом из файла, которой делал мне скрипт bash из crontab. то есть там и такой подход возможен. Например если вы питоном будете записывать в файл с какой-то структурой, без поднятия web.

з.з.ы. если умеете программировать web, присоединяйтесь, а то там в RapidScada есть что доделывать и переделывать :)

Сема
22.11.2024, 09:53
1. ну я не знаю, что такое СТГ3, ну да ладно.
2. Помнится вы читаете это питоновским скриптом, посмотрел по темам, благо у вас их не много. А кроме питона вы на чем-то еще можете? например C# и сделать драйвер для RapidScada?

думаю в копилку этой Scada было бы полезно.
з.ы. я как-то датчики температуры читал в scada скриптом из файла, которой делал мне скрипт bash из crontab. то есть там и такой подход возможен. Например если вы питоном будете записывать в файл с какой-то структурой, без поднятия web.

з.з.ы. если умеете программировать web, присоединяйтесь, а то там в RapidScada есть что доделывать и переделывать :)

Впервые слышу о такой SCADA. Насколько она популярна?

melky
22.11.2024, 10:19
Сема вы о RapidScada ? если честно не очень в курсе насколько популярна, но у нее открытый исходный код ядра и позволяет писать своё, при чем спасибо разработчкику, не заморачиваясь о том, как там работают порты, TCP, UDP и так далее, что касается драйверов устройств.
Ну и вообще можно что-то свое сделать на ее базе.

Самое главное - 2 лярда тегов бесплатно :) а не каких то 32 или 64 или 16 у некоторых.

IVM
22.11.2024, 11:37
Сема вы о RapidScada ? если честно не очень в курсе насколько популярна, но у нее открытый исходный код ядра и позволяет писать своё, при чем спасибо разработчкику, не заморачиваясь о том, как там работают порты, TCP, UDP и так далее, что касается драйверов устройств.
Ну и вообще можно что-то свое сделать на ее базе.

Самое главное - 2 лярда тегов бесплатно :) а не каких то 32 или 64 или 16 у некоторых.

У RapidScada нет редактора мнемосхем.

melky
22.11.2024, 11:41
IVM редактор есть, но он от 5-й версии, сейчас перерабатывается (правда на данный момент на паузе). А что вам нужно от редактора? свистоперделки, чтобы сразу был набор картинок и т.д. ? что именно
нужно?

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

IVM
22.11.2024, 12:46
IVM редактор есть, но он от 5-й версии, сейчас перерабатывается (правда на данный момент на паузе). А что вам нужно от редактора? свистоперделки, чтобы сразу был набор картинок и т.д. ? что именно
нужно?

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

У RapidScada функционал очень бедный. Плагины, модули, драйвера платные.

melky
22.11.2024, 13:28
IVM вы сумму посчитайте за все платное и удивитесь. В сравнении с MS это всего то на 500-1000 тегов.
А мне тут недавно ребята предлагали scada за каких-то 700 тысяч и всего 500 тегов...

Так что можно и потерпеть. Функционал кстати в бесплатном варианте не такой уж и бедный.

IVM
22.11.2024, 13:32
IVM вы сумму посчитайте за все платное и удивитесь. В сравнении с MS это всего то на 500-1000 тегов.
А мне тут недавно ребята предлагали scada за каких-то 700 тысяч и всего 500 тегов...

Так что можно и потерпеть. Функционал кстати в бесплатном варианте не такой уж и бедный.

У RapidScada все покупное привязано к конкретному ПК. Это более менее терпимо, если используешь RapidScada для себя. А если делаешь проект для заказчика то как быть.

melky
22.11.2024, 13:34
IVM на сайте генератор ключей, действуют до конца следующих суток для тестирования
Ну и если нужно, пишите разработчику и он делает ключи на месяц, как попросите. С этим проблем нет вообще.

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

IVM
22.11.2024, 14:01
IVM на сайте генератор ключей, действуют до конца следующих суток для тестирования
Ну и если нужно, пишите разработчику и он делает ключи на месяц, как попросите. С этим проблем нет вообще.

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

По хорошему нужен аппаратный ключ (флешка).

melky
22.11.2024, 14:48
IVM ну, тут политика разработчика - привязка к ПК и возможность работы без интернет. Ценник вполне гуманный на большинство. К моменту смерти ПК окупится.
К флешке обычной не так то просто привязаться.
1. Дешевые могут не иметь серийника, на примере RS485 преобразователей я это прекрасно вижу. Всякие CH340, Prolific чипы не имеют серийника, в отличии от FTDI чипов. С флешками думаю та же история.
2. Это должно работать как на Windows так и на Linux, тут тоже может быть заморочка.

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

imaex
22.11.2024, 14:54
По хорошему нужен аппаратный ключ (флешка).
Ключ разработчика. Как у Citect в былые времена, когда они ещё были австралийцами. Покупаешь "членство в клубе" (не помню, как правильно называлось, пусть так будет) - получаешь пару ключей на 65 тыс., емнис, тэгов, всеми платными драйверами и прочими платными плюшками + рантайм на 12, что ли, часов. А не на 10-ок минут, как в демо. Плюс техподдержка. На год. Продляешь участите в программе - получаешь обновление для ключей ещё на год. И так далее.

Были времена... Сейчас такого уже и нет ни о кого, наверное. Даже до 22-го года уже не было.

У RapidScada и так всё хорошо, наверное. Своя армия внедренцев по России, тыщ так на 10 "штыков". И т.д. и т.п.

melky
22.11.2024, 15:14
Так тут в Разработке ключи не нужны вообще... Для потестировать от себя достаочно временных ключей.
Ну есть еще лайфхаки небольшие, если кому-то внедряли, ключи на халяву :)

imaex
22.11.2024, 15:27
Так тут в Разработке ключи не нужны вообще

Так и там не нужны. Но, для работы в рантайме с платными драйверами, например, - уже нужны. Их там крайне мало, но они есть. Плюс рантайм в демо на 10 минут и 12 часов с ключом - есть разница? Плюс ещё какие-то ограничения в демо-рантайме были, не помню уже. Короче, с ключом разраба ограничений, как правило, даже меньше, чем с полноценным. За исключением времени работы рантайма и временнЫх ограничений лицензий (год).


но как сделать привязку к флешке удаленно, если объект без интернет или к нему нет доступа извне?
Вот тут вообще не понял - что там привязывать и зачем Интернет? Тебе присылают текстовый файл, где закодированы все лицензии и ограничения. С помощью штатной утилиты заливаешь его в ключ. Всё.

melky
22.11.2024, 15:47
imaex так я выше писал - вам нужны ключи на больший срок, чем 2 дня просто напишите разработчику, он сделает вам на неделю, месяц. (кстати 10 минут он вырубил после запуска генератора тестовых ключей). Вероятно вырублю и я, так как в 6-й версии появилась возможность перезагружать линии связи из самой scada. Так же на нужный срок могу сделать ключи и я. (на свои драйвера ессно)

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

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

з.ы. на самом деле попытка защитить C# достаточно провальна. Ну не то, чтобы... Скажем дешевле купить, чем ломать. Но защиту разработчика сломали за 20 минут. Правда с оговорками - "никто так не делает, но если очень хочется, то можно" :)

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

imaex
22.11.2024, 16:01
imaex
Суть, у вас всегда остается присланный оригинал файла, который прежде, чем скармливать утилите вы можете 100 раз сохранить, и потом подсовывать кучу флешек для дублирования. Ну какая же это защита?

Хоть 1000. Оно на чужой/левый ключ не запишется.

melky
22.11.2024, 16:16
imaex так стоп. А толку, если у другого ПК ключ будет другим, то перенесенная флешка не будет и на другом ПК работать.

imaex
22.11.2024, 16:29
При чем тут ПК? ПК с донглом никак не связан. Кроме того, что оно туды втыкается.

Как будто я что-то уникальное описываю. Посмотрите схемы лицензирования хоть у того же ИнСАТ - у них на сетевом ключе лицензии точно так же обновляются и расширяются.

melky
22.11.2024, 16:50
Тогда получается ключи привязываются к флешке, и тут либо передача готовой флешки, либо каким-то образом получение данных этой флешки удаленно.
А теперь пойдите и посмотрите, что получение данных флешке на Windows и Linux кардинально разные. А должно работать и там и там.

В общем вам кажется это простым решением, но это не так, учитывая возможность работы на разных ОС и на разных архитектурах ещё впридачу.

imaex
22.11.2024, 18:12
Тогда получается ключи привязываются к флешке, и тут либо передача готовой флешки, либо каким-то образом получение данных этой флешки удаленно.

С чего Вы решили, что это просто флешка с какой-то там ФС, доступной по сети в т.ч. ?


В общем вам кажется это простым решением, но это не так
Да мне ничего не кажется. Эти решения существуют уже лет так 20, как минимум.

melky
22.11.2024, 18:30
imaex, не суть, это готовый донгл для защиты или мы его будем делать на простой флешке.
1. Готовый стоит денег, его надо высылать, или пользователь его должен купить сам и предоставить удаленный доступ. Иначе придется защищать ещё и утилиту - нафига козе баян?
2. В разных ОС разный способ работы с usb устройствами, что тоже добавит к баяну ещё и гармонь.

Есть простые способы, учитывая разные ОС и архитектуры X86, ARM, aarch64 ? Предложите, мне интересно. Так что в данном случае в RapidScada такой подход вполне разумен.

imaex
22.11.2024, 18:40
1. Готовый стоит денег, его надо высылать, или пользователь его должен купить сам и предоставить удаленный доступ.

Разумеется, исходный высылается. Почтой. На собаках. Зачем удалённый доступ - не понимаю.

Всё остальное обсуждать нет желания. Извините.

melky
22.11.2024, 18:54
1 оно денег стоит, в том числе и на пересылку.
Не вижу смысла при той стоимости за полный функционал.
Тут же драйвер покупается условно не на 10-20 счётчиков, а просто на весь сервер, хоть сотню подключайте, хоть пять сотен.

А что делать, если вы потом докупить другой функционал?

подумал тут. Это можно реализовать даже на обычной флешке, проблема только в одном, в разных ОС чтение флешек по разному, ну и флешка может менять свою букву диска так сказать, особенно на Linux если ее перетыкать. И писать это в каждом платном модуле будет неудобным, хотя возможным.
з.ы. копирование файлов с флешки на другую ни к чему не приведут.

з.ы. даже не буду кодировать файл для пользователя, просто записывается новый код продукта на флешку и все. :)
Проблема еще в другом. RapidSсada распределенная система и разные ее модули могут работать на разных ПК. Будете 3 флешки покупать? :) ну две как минимум.