Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: Serhioormano от 08 Августа 2017, 07:52:40

Название: Обсуждение MQTT
Отправлено: Serhioormano от 08 Августа 2017, 07:52:40
Я бы это все сделал через MQTT. Это достаточно быстрый протокол. У ваго есть в кокпите библотека. Можно москито сервер ipk файлы кинуть на сам контроллер и он станет сервером. Можно связать потом с AWS IoT и работать через облако. Можно напрямую.

Другими словами зачам использовать ОПС вообще? Это ведь прошлый вет а MQTT будующее. Индустриальный IoT. Сегодня смотря на то куда все идет, можно с увереностью сказать что через 10 лет ОПС будет архаичным придатком и MQTT будет править балом. Ведь.

1. Он супер быстрый (рельном времени)
2. Легкий и его релизация занимает на памяти 200кб
3. Не нужно что бы был запущет любой HTTP сервер а значит экономия батареи и опять же скорость так как топология HTTP не расчитана на технологии пуш
4. Экономит батарею если устройство работает от аккамулятора.
5. Очень простой в использовании

Ааааа, нет!!!! Забыл! Симпл скада ведь не поддреживает MQTT! Ладно, забудьте!
Название: Re: Re: OPC сервер под EtherNet/IP (плк WAGO 750-8202)
Отправлено: Teodor от 08 Августа 2017, 09:52:29
OPC сервер теоретически может быть заодно и MQTT брокером. А уже скада работать с ним. Это вообще разные вещи.
Название: Re: Re: OPC сервер под EtherNet/IP (плк WAGO 750-8202)
Отправлено: Simple-Scada от 08 Августа 2017, 10:27:28
Цитировать
Ааааа, нет!!!! Забыл! Симпл скада ведь не поддреживает MQTT! Ладно, забудьте!
MQTT и OPC это на данный момент всё таки разные вещи. Совершенно непонятно как Вы представляете поддержку MQTT на уровне скады? Это просто сетевой протокол со своими достоинствами, который никак не ограничивает разработчиков стандартами, поэтому каждый может передавать данные как захочет, в любой последовательности, любое количество данных. Мы можем обговорить с конкретным пользователем как будет проходить обмен и передача данных и реализовать это на MQTT, а что делать с другими пользователями? (аналогично можно говорить и о других сетевых протоколах). Поэтому сейчас предпочтительнее использовать OPC-UA, который значительно ближе к MQTT по характеристикам, чем устаревший OPC-DA. Если в ходе своего развития в MQTT будет добавлена спецификация с указанием каких-то стандартов обмена данными, то мы обязательно добавим поддержку MQTT в скаду.

OPC сервер теоретически может быть заодно и MQTT брокером. А уже скада работать с ним. Это вообще разные вещи.
+1
Название: Re: Re: OPC сервер под EtherNet/IP (плк WAGO 750-8202)
Отправлено: Serhioormano от 08 Августа 2017, 18:36:45
Совершенно непонятно как Вы представляете поддержку MQTT на уровне скады?

Ну например TeslsScada уже себе представил как это будет и внедрила поддержку MQTT. Это значит что я могу подключать теги, к серверу MQTT а не OPC. Напряму подписываться на топики. Один тег - одна подписка на топик.

Это просто сетевой протокол со своими достоинствами, который никак не ограничивает разработчиков стандартами, поэтому каждый может передавать данные как захочет, в любой последовательности, любое количество данных. Мы можем обговорить с конкретным пользователем как будет проходить обмен и передача данных и реализовать это на MQTT, а что делать с другими пользователями? (аналогично можно говорить и о других сетевых протоколах). Поэтому сейчас предпочтительнее использовать OPC-UA, который значительно ближе к MQTT по характеристикам, чем устаревший OPC-DA. Если в ходе своего развития в MQTT будет добавлена спецификация с указанием каких-то стандартов обмена данными, то мы обязательно добавим поддержку MQTT в скаду.

Ну тут я не согласен. Да данные пердаваемые через MQTT не типизируются. В топик можно положить строку, цифру, с точкой и т.д. Но стандарт здесь уж точно есть. А то что MQTT агностик к типам передаваемых данных делает его только гибче и универсальней. Я могу передать строку, в ней просто JSON кодированый, на клиенте распоковать и у меня готовый объект. Это пример.

Но способ получения и отравке вполне стандарнтый.

Прошу заметить сименс выпустил свой контроллер IoT, Ваго выпустили поддержку MQTT в виде библиотек готовых к работе. Бекхов вообще выпустил поддержку привязки к сервисам Амазон куда включается и сервис IoT включая MQTT. Тут кончено вообще возможности шире. Можно перед передачей данных обраотать их лямбда функцией на питоне, РНР или ноде. Можно сохранить в базе, передать дальше на другой MQTT сервер (С версии 3.1.1 термен брокер был официально заменен на сервер). Аутомэйшн директ внедряет MQTT поддержку. Уже даже образовался термен Industrial IoT. А Российские производители все еще не видят как MQTT вообще к ним относиться.

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

Сами подумайет когда разрабатывался OPC? В те времена протокол HTTP был версии 0.1. Технологии вообще не были приспособленны для решения таких задач. OPC эта была заплатка, которая перекрывала недостатки технологий и даавла возможности кторых нет в технологиях. Но MQTT это новая технологи. Хотя и не такая новая. Но она разработана не на базе старой  HTTP а совершенно новая алтернатива, и разработана специально для решения этих задач передачи даных. Например в MQTT встроет QoS 3х уровней. Он встроен уже внутрь. В контесте MQTT это как бы гарантированая доставка сообщений. Этот протокол разрабатывался к стати для индустрии. Что бы предавать данные с удаленных нефтяных вышек через спутник на контроль.


Название: Re: Re: OPC сервер под EtherNet/IP (плк WAGO 750-8202)
Отправлено: Simple-Scada от 08 Августа 2017, 22:45:23
А Российские производители все еще не видят как MQTT вообще к ним относиться.
Я понимаю, легче использовать то что знаешь, и по накатаной еще десятилетие многие будут пользоваться OPC.
Складывается впечатление, что Вы считаете, что разработчики смотрят на MQTT и просто игнорируют его потому что им просто лень уходить от OPC (или просто плохо соображают)? Но это не так. Разработчики тоже люди и могут узнать о MQTT также как это сделали Вы. Мы не исключение и постоянно следим на развитием технологий, в том числе за развитием MQTT и также знаем о его преимуществах. Мы также знакомы с реализацией MQTT в TeslaSCADA. В Simple-Scada 2 взаимодействие между сервером и клиентами реализовано на близком к MQTT сетевом протоколе, мы не используем для этого OPC. Это очень хорошо, что Вы можете передавать по MQTT данные как JSON-строку или как-то ещё, но ведь затем эту строку нужно будет принять и где-то это принятие и его формат описать. Мы с уверенностью можем сказать, что практически никто из наших пользователей этого делать не будет и это приведёт лишь к усложнению. Чтобы избежать этого можно организовать стандартную работу через MQTT как в TeslaSCADA (хорошо показано в этом примере (https://youtu.be/peYqgoSctsI)) когда есть к примеру Modbus сервер, который читает данные с устройства и средствами скада эти данные публикуются на MQTT сервер. Затем средствами скада создается подписчик который читает эти стандартные данные. В данный момент мы действительно не видим в этом смысла из-за низкой востребованности и конечно для нас выгоднее потратить время на внедрение более популярной сегодня и развивающейся в том же направлении технологии OPC-UA. В ней уже заложен стандарт передачи в котором есть все необходимое (как контроль качества, отметки времени, значения и другие параметры тегов). К тому же, судя по всему, сами OPC-UA серверы в будущем будут использовать MQTT-подобные протоколы для обмена данными (см. OPC UA PubSub). А если вдруг ничего подобного не произойдет и лучшее развитие получит MQTT, то мы точно не оставим этого без внимания.

Цитировать
Сами подумайет когда разрабатывался OPC?
Мы согласны с этим, но только в отношении OPC-DA. К OPC-UA, которая выпущена в 2008 году (https://opcfoundation.org/about/opc-technologies/opc-ua/) и развивается сегодня этого нельзя применить, устаревшей её точно не назовешь.
Название: Re: Re: OPC сервер под EtherNet/IP (плк WAGO 750-8202)
Отправлено: Teodor от 09 Августа 2017, 09:21:02
Не. Это все хорошо, но в случае с OPC cкада получает переменную определенного типа. С MQTT "нечто", к чему надо писать обработчик, который из него уже получит кучку переменных. Так зачем этот обработчик должен быть частью скады? Я бы еще понял нечто типа бакнета, где вместе с этой кучей приходит заодно и ее структура. Тогда вообще не жизнь, а малина. Посему, как по мне, то логичной есть обработка данных на шлюзе MQTT - OPC с последующим отгребанием сортированных данных в скаду.

В принципе, как и с модбасом поступают. Некоторые скады имеют прямой драйвер модбаса, где есть тупо раздел точки МБ и их дальнейшая обработка. В конце-концов, я уже так пробовал с СС поступать. Питоновский МБ клиент/сервер пишет точки в файл, откуда их и выгребает скада. Ниче, работает, но зачем, если оказалось проще из ОРС их выгрести из того же файла и уже оттуда красивые/ровненькие переменные в скаду. Благо лектус очень удобен в данном плане.

Это я еще не начинал, что структура может изменится, и намного проще тот же JSON (мегабайта на 3) распарсить в питоне на отдельные переменные и их скормить скаде/ОРС чем изголяться средствами скады.
Название: Re: Re: OPC сервер под EtherNet/IP (плк WAGO 750-8202)
Отправлено: Serhioormano от 09 Августа 2017, 14:10:30
Извините если я звучал грубо. Это я так как бы шуточный сарказм был. Я понял, здесь так не общаются. Буду акуратней.

По поводу типизирования я вообще не понимаю в чем проблема. Объявлем тег и на уровне скада выбираем тип. Скада проверит что данные в этом топике соотвествуют этому типу. Выбрали  числовой, значит будет минимум 0.

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

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

Напрпример как я уже упомянал есть AWS IoT и Azure IoT. Это облачные сервисы. Если реализовать МКТТ в чистом виде а не в виде ОПС, то эти сервисы можно будет использовать сразуже в щитаные минуты настроить архивирование данных, распределение, пост обработку, ...
Название: Re: Re: OPC сервер под EtherNet/IP (плк WAGO 750-8202)
Отправлено: Teodor от 09 Августа 2017, 16:13:24
Эмм... можете прикинуть здесь содержимое типичного топика которое должна "увидеть" скада, для системы газонополива в 10 зон, которые должны запускаться в определенное время, на х минут, в определенный день недели.

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

...
А еще мне кажется что вы так и не поняли что такое ОРС вообще. ОРС, изначально, вовсе не протокол СВЯЗИ. Это внутренний протокол виндового DDE. Можете его представить себе как буфер обменна между двумя програмами(они могут быть и на разных компах). Собсно одна из них это скада(OPC клиент), вторая получает откуда-то, какие-то  данные(ОРС сервер) и передает их клиенту. Зачем так? Да просто чтобы отвязать клиента (скаду) от разборок куда и какие данные идут. А вот ОРС сервер имеет некие програмно-аппаратные интерфейсы зависимо от внешнега протокола  (DCom, MBus, Modbus, Lon, NQTT, Bacnet) и приводит их к ОРС виду.
Название: Re: Re: OPC сервер под EtherNet/IP (плк WAGO 750-8202)
Отправлено: Simple-Scada от 09 Августа 2017, 18:37:08
Serhioormano, мы понимаем о чем Вы говорите, но пока не видим причин (и подходящей реализации) по которым пользователи сейчас стали бы использовать MQTT средствами скада. Давайте для лучшего понимания рассмотрим следующую ситуацию... Допустим мы внедряем в Simple-Scada поддержку MQTT и у Вас появляется возможность подключиться к любому MQTT серверу, подписаться на любое количество тем, а также публиковать данные в любую тему средствами скада. После того как Вы подписались на тему скада начнёт принимать все данные, которые публикуются в этой теме. Мы для этого можем выделить, например, отдельный скрипт, который будет вызываться, когда в теме появились новые данные. Например кто-то опубликовал в теме сообщение "Привет мир!" и в скаде тут же будет вызван скрипт следующего вида:
Код
procedure OnPublish(ATopic, AData: string);
begin
  // здесь Вы можете как угодно обработать данные
end.

, где ATopic это название темы с которой пришли данные, а AData это сами данные. А если кто-то публикует в тему значение Температуры и Давления в виде такой JSON-строки:
Код
 '{ "temperature": 27, "pressure": 1 }';

, то нужно будет выполнить парсинг этой строки и полученную температуру вывести в поле температуры, а давление в поле давления. Т.е. обработка данных ложится на разработчика SCADA-проекта. Мы считаем, что по этой причине большинство пользователей откажутся от использования MQTT, особенно в больших проектах.

Тогда можно рассмотреть второй вариант: публиковать значение каждой отдельной переменной в отдельную тему. И мы будем знать, что в теме просто публикуются значения, например 5, 12, 2, 34 и т.д., их можно сразу использовать, без необходимости уникальной обработки, причем это можно реализовать на уровне скады. Пришло новое значение значение в тему, а скада взяла его и отобразила там где нужно. Но если для Вас такой подход подойдёт, то что скажут другие пользователи? Одним нужно будет получать не только значение, а "значение + отметка времени". Другим нужно будет "значение + качество переменной" и т.д.. А кто-то захочет то же самое, но в другой последовательности "качество переменной + значение". Такие данные скада автоматически распознать не сможет и подойдет только первый способ с "ручной" обработкой данных. В результате в скаде будет какой-то стандартный формат, который она может принять и автоматически рассортировать и нужно будет либо подстраиваться под него и не публиковать данные в другом формате, либо использовать "ручную" обработку. В такой ситуации пользователи действительно продолжат использовать стандарт OPC, который содержит всё необходимое (каждый OPC-тег несет в себе большое количество данных. Помимо, значения, отметки времени и качества это: тип данных, права доступа, частота опроса, описание, единицы измерения, четыре граничных значения, мертвая зона и т.д.) и в котором всё это грубо говоря "обрабатывается" автоматически.
Название: Re: Re: OPC сервер под EtherNet/IP (плк WAGO 750-8202)
Отправлено: Teodor от 10 Августа 2017, 10:43:18
И тут же уточню. Вся эта куча данных генерится ОРС сервером из... Да из чего угодно, хоть MQTT (если оное предусмотрено автором).

Но я уже начинаю понимать что хотел сказать топикстартер. Скады типа WinCC, Honeywell (часто интерпритаторы) действительно вместо ОРС используют отдельные модули (обычно платные) для каждого отдельно взятого протокола. Например, в том-же MQTT можно ограничиться парсингом JSON по шаблону, но "на лету" НЕ менять структуру переменных. Разбирать по этому-же шаблону (да нужна древовидная структура переменных) и отдельный модуль для оного шаблона создания.

А теперь представим, что мы меняем/добавляем формат сообщения в существующей среде... Перестраиваем все дерево, правим все зависимости во всех скриптах... (у ханивела при удалении нода обрываются все связи с ним и ВСЕ. Куда они шли уже никогда не узнаешь.) А в случае с ОРС мы только правим зависимости нового дерева с старой структурой в ОРС и добавляем новые. В скаде меняем только то что объективно изменилось.

Просто в тех скадах роль ОРС исполняют драйвера... Здесь тоже можно так делать. Имея файловый интерфейс, внешний драйвер может читать что угодно, как угодно править, и складывать в бинарный файл определенного вида, откуда скада его может забирать. Хотя нет, файлами медленно, лучше через DDE/OLE/COM/DCOM... Надо же... Так ведь ОРС именно это и делает... Ура мы его опять изобрели...
Название: Re: Re: OPC сервер под EtherNet/IP (плк WAGO 750-8202)
Отправлено: Serhioormano от 20 Августа 2017, 09:49:17
Ни понимаю почему не ввести новый тип данных JSON и просто парсить его и превращать в обхект. Допусти я подключился переменной sensor_1 к топику и там
Код
{ "temperature": 27, "pressure": 1 }
. Сделал это типом JSON и теперь могу указывать sensor_1.temerature. В реале это единственный тип данных который нужно добавить.

Все можно сделать средствами СКАДА. Добавил переменную JSON, и потом добавил под-переменные или свойства и определил их типы. Или можно сделать мета-JSON для такой переменной. Например.

Код
[{
   "name": "temperature",
   "type": "float",
   "sign": "C",
   "minimum": "30.2"
},{
   "name": "pressure",
   "type": "int",
   "sign": "Pa",
   "minimum": "120"
}]

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

Короче выход можно найти.

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

О чем вы говорите? При чем тут 10 зон и ден недели? Это решает программа. MQTT это просто альтернатива передачи данных. И потом для ответа нужно понять кто, что передает. Зачем вообще ей что то видеть? Просто запустите полив на 10 зон раз в неделю, зачем вам что то принимать? Если вы хотите учитывать текущую влажность например, берете датчик влажности, подключаете к контроллеру, и с контроллера шлете эти данные в топик МКТТ а в скаде принимаете, и берете эти данные в расчет.

Цитировать
Бонусом для самого протокола учтите, что кроме скады еще есть визуализация контроллера и 2 панели, с которых могут задаваться те-же параметры одновременно.

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

Цитировать
А еще мне кажется что вы так и не поняли что такое ОРС вообще. ОРС, изначально, вовсе не протокол СВЯЗИ. Это внутренний протокол виндового DDE.
Как в не поймете. Мне все равно что это с технической точки зрения, протокол, буфер, поток, сокет или еще что. Мне вообще нет до этого дела с той перспективы с которой я говорю. Как ОПС решает технически совю задачу это не суть. Суть в том что МКТТ и ОПС решают одну и туже задачу. Они совершенно разные, но сделаны для одного и тогоже и занчит могут друг друга заменить. Это как поезд и самолет. Они вообще по разным средам передвигаются, по земле и по воздуху, разные технические решения, но решают оду и туже задачу, перемещать объекты в пространстве.

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

По этому ОБА имеют право на существование.

Я не говорю что нужно убрать ОПС. Да пользуйтесь вы ей на здоровье сколько хотите.

Моя идею в том что бы ДОБАВИТЬ МКТТ к тому что уже есть. Надесь моя позиция стала понятней. Пожалйста, не надо мне больше расказывать о том какой ОПС хороший. Я это знаю. Я согласен. Я им сам пользуюсь. Но сегодня мне этого мало. Мне нужно поддержка МКТТ.


Двайте я привиде пример почему. МКТТ кроме устрйоств еще можно использовать в приложениях. Например у меня вебсайт, я на сайте нажал кнопочку и отправил данные в тему, а тема взяла и выключила выход на контроллере. Как такое сделать с ОПС? Как мне из приложения, отправлять данные в ОПС Серевер если мое приложение размещено в облаке вообще? Ипользовать HTTP не всегда безопастно да и не всегда вобще допустимо по тойже причине.

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

Название: Re: Re: OPC сервер под EtherNet/IP (плк WAGO 750-8202)
Отправлено: Simple-Scada от 21 Августа 2017, 10:10:47
Цитировать
Ни понимаю почему не ввести новый тип данных JSON и просто парсить его и превращать в обхект.
Теперь мы с Вами, наконец, подошли к самой сути. Хоть тип, хоть процедуру для любой ручной обработки JSON строки, всё можем добавить. Представьте, что это все есть. Что дальше с этими данными нужно делать? Расставлять каждое значение по полям? Так, например:
Код
begin
  Field1.Text := sensor_1.temerature;
  Filed2.Text := sensor_1.pressure;
  Field3.Text := sensor_1.timestamp;
end.

Может быть это подойдёт для проектов на 200 тегов, но если тегов 1000 и больше, то разработка проекта превратится в написание таких расстановок. Без этого можно обойтись только если в каждую тему публиковать значение переменной и ничего лишнего (т.е. не использовать ту самую гибкость MQTT, а наоборот избавиться от неё) и сразу выводить это значение в связанные поля. Вы, возможно, так и сделаете. А остальные пользователи, у которых в тему данные публикуются в своём формате (а таких случаев, судя по всему, большинство), они должны использовать ручную расстановку?
Название: Re: Re: OPC сервер под EtherNet/IP (плк WAGO 750-8202)
Отправлено: Serhioormano от 23 Августа 2017, 17:29:20
Не обязательно, просто при выборе переменной, будет еще одно вложение выбор свойства внутри переменной. Так что связал одно поле с сенсор.температура а другое с сенсор.влажность без всяких скриптов.

Но естественно если я к этой переменной из скрипта обращусь, то могу получить любое свойство.
Название: Re: Re: OPC сервер под EtherNet/IP (плк WAGO 750-8202)
Отправлено: Simple-Scada от 24 Августа 2017, 15:06:29
Цитировать
Не обязательно, просто при выборе переменной, будет еще одно вложение выбор свойства внутри переменной. Так что связал одно поле с сенсор.температура а другое с сенсор.влажность без всяких скриптов.
Когда проект уже работает, подключен к MQTT серверу и с сервера приходит JSON строка, то да, её можно разобрать и понять какие свойства она содержит. Но сначала этот проект нужно разработать в редакторе. А в редакторе нам ничего неизвестно о структуре JSON-строки, мы даже не подключены к MQTT-серверу. Чтобы узнать структуру нужно подключиться к MQTT серверу из редактора и дальше как-то получить информацию о тегах и структуре JSON-запросов. А т.к. MQTT это обычный сетевой протокол, то и передавать в скаду он может любую информацию как захочет пользователь. Кто-то может сделать отдельную тему в которую будет публиковать данные о тегах, чтобы скада могла её оттуда взять. Но только скада ничего не знает об этой теме и ничего не знает о структуре информации, которая публикуется в этой теме. Нет строгих требований к структуре любой передаваемой информации. Их и не должно быть, т.к. MQTT это сетевой протокол, а не единый для всех интерфейс как OPC.
Название: Re: Re: OPC сервер под EtherNet/IP (плк WAGO 750-8202)
Отправлено: Serhioormano от 24 Августа 2017, 16:01:33
А в редакторе нам ничего неизвестно о структуре JSON-строки, мы даже не подключены к MQTT-серверу. Чтобы узнать структуру нужно подключиться к MQTT серверу из редактора и дальше как-то получить информацию о тегах и структуре JSON-запросов.

Да нет же!

Я же говорю, можно сделать отдельный праметер переменной для JSON это описание структуры можно пока просто в текстовом формате.

Код
[{
   "name": "temperature",
   "type": "float",
   "sign": "C",
   "minimum": "30.2"
},{
   "name": "pressure",
   "type": "int",
   "sign": "Pa",
   "minimum": "120"
}]

Допустим у меня есть кнопка AWS. Я знаю что она шлет в свой топик такой JSON.

Код
{
    "click": "SINGLE",
    "battery": "3654mv",
    "DSN": "GFD45J7GWE54K8"
}

Ну тогда мы создаем переменную aws_button, которая подключается к топику. Ведь с МКТТ одна переменная = один топик. Я знаю что мне придет вот такой JSON.

Теперь когда я привязываю переменную к объету я могу сам дописать свойство например aws_button.click тоже в скриптах.

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

Код
[{
   "name": "click"
},{
   "name": "DSN",
   "type" : "string"
}]

И все а battery я не пиши потому что не буду это использовать. Теперь у меня будут доступны дополнительный выбор, выбрал свойство объекта переменная, раскрыл список, выбрал переменную, и новое это вышел подсписок с двумя свойствами click и DSN.
Название: Re: Re: OPC сервер под EtherNet/IP (плк WAGO 750-8202)
Отправлено: Simple-Scada от 24 Августа 2017, 16:29:18
Как Вы считаете, много людей помимо Вас воспользуются таким подходом? Это практически ручное "программирование" переменных. Пусть нужно сделать проект всего на 100 тегов. Описывать структуру для каждой переменной будет большой работой уже в проектах от 100 тегов, не говоря о больших проектах. На наш взгляд это подойдет для мелких проектов, таких как "умный" дом, но совершенно не подходит для производств и т.п. проектов от 100 тегов.

Цитировать
Ведь с МКТТ одна переменная = один топик.
Нет, в MQTT в одной теме можно передавать и все переменные сразу, или можно передавать по две переменных, а можно только служебную информацию или случайный набор байт. Зависит только от пользователя который публикует данные, либо от устройств которые их публикуют. Передавать одну переменную в одну тему это ограничение, которое Вы добавили для своего удобства и оно не гарантирует, что другие будут делать также, потому что ограничений нет.
Название: Re: Обсуждение MQTT
Отправлено: Serhioormano от 24 Августа 2017, 17:29:14
Сколько будет? Все будут. Все, кто будет использовать МКТТ никуда не денутся будут работать с JSON. Если не хотите усложнять текстовым определением структуры переменных сделайте небольшой редактор где можно их быстро добавить несколько штук.

Я знаю, что в МКТТ можно передать что угодно. Но уже сложилось как бы правило хорошего тона. Нужно передать темературу, пишем в топик один, важность в другой. Например, /sensor/qq2w3er/temp и /sensor/qq2w3er/hum. Теперь мы можем получить как данные отдельно, так и все стразу в одну переменную если подписаться на /sensor/qq2w3er/*

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

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

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

Ведь такие вещи — это шанс выйти вперед, и привлечь внимание пока другие спят. Причем привлечь внимание людей которые в теме. Один такой клиент как я может вам хорошо обойтись. У меня свой канал на ютюбе, я мог бы и видео снять. Люди котрые ипользуют самые последние технологии, это как бы авангард. Пусть у вас будет всего пара человек кто пока этим будет пользоваться, но поверте это того стоит. Вот Тесла скада молодцы. Уже несколько месяцев как внедрили. И я пользуюсь. Просто у меня заказ, клиент сказал, что хочет Симпл Скада. Мне и самому нравятся ваши инструменты, но я бы использовал ТеслаСкада если бы мне дали выбор, только из-за этого преимущества.
Название: Re: Обсуждение MQTT
Отправлено: Simple-Scada от 24 Августа 2017, 18:00:18
Ваша фантастическая уверенность вызывает у нас удивление. Мы не исключаем ничего, но не возьмемся предсказывать будущее и для нас непонятно почему Вы исключаете варианты что на MQTT будут просто строиться OPC-серверы, а скады будут использовать OPC-серверы. Тогда от OPC останется только удобный стандарт, проверенный временем, а весь обмен данными будет на MQTT со всеми его плюсами. Или же это будут не OPC-серверы, а программы с другим названием. Для нас это не так очевидно, хотя мы, как и Вы, постоянно "гуглим" не только MQTT но и другие технологии и по запросу "Industrial IoT" находим всё больше такие статьи (https://industrial-iot.com/2016/05/opc-ua-becoming-opc-iot/) и не видим большого практического использования MQTT. Пока значимо выигрывает OPC UA. И мы конечно не боимся отстать от других производителей в плане внедрения MQTT напрямую к скаде, т.к. в этом нет никаких технических сложностей, но пока востребованность MQTT мала, особенно в проектах для производств.

Подводя итог, мы думаем что MQTT обязательно расширит своё влияние в том числе в SCADA, но пожалуй не в таком виде как Вы предложили в сообщениях выше. Думаем, что подход будет другим и вполне возможно, что OPC-UA серверы будут строиться на MQTT.

UPD: для работы с MQTT в Simple-Scada можно использовать любой OPC-сервер, поддерживающий его, например arOPC (https://simple-scada.com/aropc) и др.
Название: Re: Обсуждение MQTT
Отправлено: Serhioormano от 25 Августа 2017, 08:23:55
Я хотел на этом завершить беседу и уже ни чего не отвечать, ведь по сути я все уже сказал. Но ОПС ЮА это заплатка. Да возможно они это продвинут далеко так как это уже достаточно распротронная технология, так что у них много клентов. Но в любом случае это приживется если в этом новом стандарте от ОПС будет возможность использовать МКТТ в чистом виде.

Помните когда в яваскрипте не было толком ни чего еще в ЕС5? Ну и что бы исправить положение появились ТайпСкрипт и подобные. Их задачи были решить проблемы недоделоности языка. Но они не меняли самого языка. Это просто был синтаксический сахар. То же самое происходит и тут. ОПС уже видит важность IoT в индутрии и МКТТ в частности, и ОПС уже начинает занимать в этом позиции. Они уже видят что эти новые технологии смогут их вытяснить, по этому что бы не быть не способной конкурировать альтернативой, они заявляют свою причастность. Что они часть этой новой технологии встав под один зонт нового термина.

Но реально это не меняет факта, что ОПС это служба запущеная на базе HTTP и что она такой и останется, но просто будет как дополнение использовать МКТТ. А смысл? Если МКТТ сегодня готово к работе с миллионом устройств, то ОПС врядли потянет десяток тысяч.

ОПС сможет стать частью IoT если они сделают совершенно новый стандарт где их сервер будет не сервером как сейчас а брокером МКТТ, это только единственнй способ. Но в этом случае полно и других МКТТ брокеров, включая облачные. Единственный смысл от такого нового ОПС будет тот факт, что миграция старых проектов на новые технологии, но с старым стандартом будет проще.

Но меня все еще удевляет что вы до сих пон не видит важности МКТТ, читая такие статьи от ОПС, и понимая тот факт что ОПС уже видит.

И потом вы сказали что внедрение не сложное. Почему бы не добавить? Пусть висит. Жрать не просит так сказать. Может много кому не потребуется, но ели потребуется то уже будет.
Название: Re: Обсуждение MQTT
Отправлено: Teodor от 08 Сентября 2017, 10:11:50
МКТТ - это, в первую очередь ИОТ, а не индастриал стандарт. Долго объяснять почему, но просто поверьте. На просто так до сегодня дожил дедушка модбас, а мэковские языки - родичи паскаля. Для индустриального сегмента важна четкая определенность, однозначность и взаимопонимание. Просто представьте, что я в топик для температуры ввалил мегабайтовый JSON c прогнозом погоды... Случайно... На сколько я повешу контроллер, скаду и т.п. пока они его переберут. Для хоум сектра подход "мы здесь взрослые люди" подходит, а вот для пром. сегмента никак. И вопрос не в хорошем тоне... А для подхода 1 топик = 1 переменная мне намного лучше подходит MBTCP c его 1 регистр = 1 переменная.
Название: Re: Обсуждение MQTT
Отправлено: int2246 от 08 Июля 2019, 00:08:48
Доброго времени суток. Если кто еще жаждет MQTT в simple scada 2, то arOPC сервер теперь поддерживает MQTT. Да и там в принципе все устройства и протоколы (modbus, DCON, WAKE.....) и теги которые поддерживает этот OPC могут выступать в роли подписчика или публиканта  в MQTT.
Название: Re: Обсуждение MQTT
Отправлено: Eugene_ от 24 Октября 2019, 14:58:30
..Ведь такие вещи — это шанс выйти вперед, и привлечь внимание пока другие спят. Причем привлечь внимание людей которые в теме. Один такой клиент как я может вам хорошо обойтись. У меня свой канал на ютюбе, я мог бы и видео снять...
не нахожу в спике ТОП-50 русскоязычного сегмента ютуба канала об автоматизации что то..