Entomo 0 18 февраля, 2020 Опубликовано 18 февраля, 2020 (изменено) · Жалоба Всем доброго времени суток. Я любитель, и хотел бы создать самую простенькую SCADA-программу. Подскажите с чего начать. Я знаком с основами цифровой и аналоговой электроники, умею программировать микроконтроллеры и конфигурировать ПЛИС. Могу создавать интерфейсы на Delphi, знаю основы ассемблеров. Но не занимался написанием драйверов. Пока представления не имею как организовать такой аппаратно-программный комплекс. То есть я хотел бы чтобы оператор с компьютера мог управлять простеньким оборудованием. В моем случае включать и выключать лазер, снимать некоторые показания, задавать некоторые параметры. Что для этого нужно ? Какую литературу порекомендуете ? Я так понимаю, что необходимо из написанной прикладной программы через USB управлять встроенной системой (платой), которая, в свою очередь, управляет оборудованием и снимает показания датчиков. Но как это делается что-то в литературе пока не нашел. Даже с терминологией по этому вопросу не знаком И еще вопрос. Может быть целесообразно не писать самому интерфейсную программу, а использовать готовый "движок" SCADA ? Такие предлагаются различными производителями. Вот только не знаю - можно ли организовать с их помощью управление собственно созданным оборудованием ? Нужны ли применительно к моему запросу приведенные по ссылкам ниже средства ? Open Platform Communications Remote terminal unit Изменено 18 февраля, 2020 пользователем Entomo Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Михась 2 19 февраля, 2020 Опубликовано 19 февраля, 2020 · Жалоба SCADA обычно ничем не управляет, на PC это делает SoftPLC. Ничего не пишите, поставьте бесплатные версии SCADA, например мастерскаду. Когда наиграитесь, поймете надо ли вам ее писать свою. Или нужна просто программка, которая будет " через USB управлять встроенной системой (платой), которая, в свою очередь, управляет оборудованием и снимает показания датчиков." Вот это сравнительно просто и доступно для одного человека. Технология OPC - это достаточно сложно и по человекочасам выйдет очень затратно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Entomo 0 22 февраля, 2020 Опубликовано 22 февраля, 2020 (изменено) · Жалоба В 19.02.2020 в 04:11, Михась сказал: SCADA обычно ничем не управляет, на PC это делает SoftPLC. Ничего не пишите, поставьте бесплатные версии SCADA, например мастерскаду. Когда наиграитесь, поймете надо ли вам ее писать свою. Или нужна просто программка, которая будет " через USB управлять встроенной системой (платой), которая, в свою очередь, управляет оборудованием и снимает показания датчиков."... Тогда, в моем дилетантском понимании, помимо собственно готовых SCADA или любых SCADA-подобных программ предоставляющих возможности "панели оператора", должны быть выпускаемые производителями уже готовые платы сопряжения с соответствующими разъемами и должны быть уже готовые к ним драйверы. То есть самый примитивный пример: на готовой плате есть разъем куда подключается светодиод Hello world, а программа "панель оператора" (SCADA-подобная программа) через предварительно установленный драйвер позволяет кликом мыши на элементе пользовательского интерфейса включать и выключать светодиод (или любое другое устройство). Или я заблуждаюсь ? Если я не заблуждаюсь то мой вопрос: какие производители выпускают такие платы и драйвера и какие виды таких плат продаются ? Если можно прошу конкретные модели применительно к соответствующим SCADA Изменено 22 февраля, 2020 пользователем Entomo Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 26 22 февраля, 2020 Опубликовано 22 февраля, 2020 · Жалоба Смотря что Вы подразумеваете под SCADA. Если Вы не планируете продавать результат своей разработки пользователям, то достаточно знания среды разработки для PC (Delphi, MS VisualStudio), а именно конструктора GUI + собственно языка программирования. Для работы с графикой, чтобы не запутаться, надо уметь хорошо-эффективно-правильно применять ООП. Оноже способствует реализации интерфейса с управляемым устройством. Использование "прямых" вызовов ОС API, без "супер-объектных" библиотек. Для простых интерфейсов управления можно даже все реализовать на Win32API, получите не очень понятный по началу, но очень быстрый и легко отлаживаемый код. Если хотите чтобы Вашей разработкой пользовались другие, в качестве инструмента - это тяжелый случай. Первая задача в этом случае будет реализовать редактор интерфейса пользователя GUI, опять же на ООП и еще много чего другого. По-сути - графический редактор. На нем пользователь должен сам, без программирования на любом языке, нарисовать технологическую схему (кнопки, индикаторы итд) и сопрячь ее с интерфейсом связи объекта управления. Исключительно путем настроек "всего готовго". "Все готовое" вам надо будет реализовать путем программирования :) OpenSCADA Многие производители контроллеров выпускают и панели оператора, работающие с различными интерфейсами и протоколами. Покупая такую панель оператора, вы получаете в комплекте и среду настройки ее, где можно особо не заморачиваясь (вообще не заморачиваясь) нарисовать кнопки, лампочки, графики и еще бог-весть-что, если деньги есть на покупку. К примеру можно купить графическую панель оператора с физ. интерфейсом RS485 (или RS232), имеющую в своей библиотеке протоколов MODBUS RTU. Подключаете ее на интерфейс с вашей платой на каком-либо контроллере, и "мигаете" на нем "HelloWorld" по modbur-rtu. Эконом-вариант NEXTION и другие подобные. Не тратьте время на то, что давно реализовано. Или исключительно в учебных целях. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 26 22 февраля, 2020 Опубликовано 22 февраля, 2020 · Жалоба 2 hours ago, Entomo said: . . . То есть самый примитивный пример: на готовой плате есть разъем куда подключается светодиод Hello world, а программа "панель оператора" (SCADA-подобная программа) через предварительно установленный драйвер позволяет кликом мыши на элементе пользовательского интерфейса включать и выключать светодиод (или любое другое устройство). . . . . Есть такие реализации, то что Вам выше давали инф-ю, softPLC. Система представляет из себя PC (как правило, от фирмы поставщика софта автоматизации, например Siemens), с спец. версией ОС (опятьже, поставщика софта), с драйверами (в томже стиле), с интерфейсными платами коммуникации (в томже стиле), и, естественно, периферией (конечно же, или скорее всего). И по очень недемократичным ценам. Хотя я, возможно, отстал от жизни и цены стали демократичными. SIMATIC S7-1500 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Entomo 0 22 февраля, 2020 Опубликовано 22 февраля, 2020 (изменено) · Жалоба 42 минуты назад, k155la3 сказал: Есть такие реализации, то что Вам выше давали инф-ю, softPLC. Система представляет из себя PC (как правило, от фирмы поставщика софта автоматизации, например Siemens), с спец. версией ОС (опятьже, поставщика софта), с драйверами (в томже стиле), с интерфейсными платами коммуникации (в томже стиле), и, естественно, периферией (конечно же, или скорее всего). И по очень недемократичным ценам. Хотя я, возможно, отстал от жизни и цены стали демократичными. SIMATIC S7-1500 Большое спасибо. 1 час назад, k155la3 сказал: Многие производители контроллеров выпускают и панели оператора, работающие с различными интерфейсами и протоколами. Покупая такую панель оператора, вы получаете в комплекте и среду настройки ее, где можно особо не заморачиваясь (вообще не заморачиваясь) нарисовать кнопки, лампочки, графики и еще бог-весть-что, если деньги есть на покупку. К примеру можно купить графическую панель оператора с физ. интерфейсом RS485 (или RS232), имеющую в своей библиотеке протоколов MODBUS RTU. Подключаете ее на интерфейс с вашей платой на каком-либо контроллере, и "мигаете" на нем "HelloWorld" по modbur-rtu. Эконом-вариант NEXTION и другие подобные. Не тратьте время на то, что давно реализовано. Или исключительно в учебных целях. Спасибо. Правильно ли я понял что драйвера в этом случае уже готовы - они идут в комплекте поставки от разработчика ? Изменено 22 февраля, 2020 пользователем Entomo Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Михась 2 22 февраля, 2020 Опубликовано 22 февраля, 2020 · Жалоба 30 minutes ago, Entomo said: Спасибо. Правильно ли я понял что драйвера в этом случае уже готовы - они идут в комплекте поставки от разработчика ? Это обычно проприетарный OPC сервер, который и реализует закрытый протокол обмена OPC-сервера и девайса. Такой OPC пишет обычно разработчик. Если протокол открытый, то его может поставлять кто угодно, на модбус наверно десяток OPC серверов. Настоятельно советую начать с бесплатной мастерскады и их бесплатного OPC модбус протокола, если на борту вашего девайса есть RS-485. Если ваш вариант девайса вообще не имеет на борту микроконтроллера и ему требуются дисретные сигналы вы можете сами написать программу, преобразующую модбас в нужные дискретные сигналы. Но надо помнить что использование взрослых скад несет обременение. Бесплатные версии быстро заканчиваются по размеру и за все надо платить. Иногда очень дорого. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 26 22 февраля, 2020 Опубликовано 22 февраля, 2020 · Жалоба 1 hour ago, Entomo said: Спасибо. Правильно ли я понял что драйвера в этом случае уже готовы - они идут в комплекте поставки от разработчика ? Если это физическая панель оператора (моноблок-панель с тачскрином и-или набором кнопок) то никаких "драйверов" к ней не требуется. Настраиваете ее с помощю софта изготовителя панели, указываете лог. протокол (модбас итд, много их) и физ. интерфейс через который панель общается периферийным(и) устройствами (промышленной сетю, вроде Profibus). Для сименса. За железо-панель - заплати. За софт для настройки - заплати. За поддержку многих протоколов - заплати. Для других производителей - очень по-разному, но менее жестоко, чем у сименса . Nextion подключается (тот что у нас был) по RS232, те чтобы подключить к ней ваше устройство на любом микроконтроллере с USART достаточно преобразователя уровня. Протокол (описание-спецификация) выложены на сайте. Есть ли модбас - смотрите тамже. "Драйверов" (в ардуиновском понимании) для микроконтроллера не встречал. Если Вам нужно решить задачу технически - достаточно PC+Delphi (PC+MSVStudio) + COM1 -----> USART+микроконтроллер. Протокол обмена можете написать сами, поглядев на устройство MODBUS RTU, или взять библиотеку MODBUS RTU (есть в исходниках для С, для pas не знаю). OPC Вам может понадобиться, на данном этапе, разве что если захотите что-то нагромоздить "такое", например, интерфейс между Excel и Вашим микроконтроллерным девайсом. Если у Вас задача разобраться с OPC - то модбас берите и экспериментируйте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 26 22 февраля, 2020 Опубликовано 22 февраля, 2020 · Жалоба On 2/18/2020 at 6:20 PM, Entomo said: . . . Пока представления не имею как организовать такой аппаратно-программный комплекс. То есть я хотел бы чтобы оператор с компьютера мог управлять простеньким оборудованием. В моем случае включать и выключать лазер, снимать некоторые показания, задавать некоторые параметры. Что для этого нужно ? Какую литературу порекомендуете ? Я так понимаю, что необходимо из написанной прикладной программы через USB управлять встроенной системой (платой), которая, в свою очередь, управляет оборудованием и снимает показания датчиков. . . . . Можно взять "за основу" STM32F103, смотрите application notes. Софт для разработки Keil или IAR компиляторы С(++). Там (на ST) есть примеры HID-устройства, реализованного на базе этого процессора (проект-исходник). Кажется это mouse была. Интерфейс для обмена с PC - USB/HID. "Отдельный" драйвер для вашего HID - устройства не нужен, тк он уже есть в Windows в качестве стандартного. Работать со своим мк со стороны PC c HID-девайсом можно используя MSVStudio с подключением LibUSB библиотеки, или любой другой, где есть интерфейс к HID-устройствам. Более простой вариант - RS232 + USART. Подключаете на USB любой готовый конвертер USB/COM (на базе FT232R, CP2102 итд). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Entomo 0 23 февраля, 2020 Опубликовано 23 февраля, 2020 (изменено) · Жалоба Всем спасибо. После прочтения рекомендаций вспомнился анекдот: 1 сентября, аудитория технического ВУЗа, первокурсники слушают лекцию по матанализу. С задней парты: "алло, это военкомат ? - я передумал" Ну а если серьезно. Мне любопытно как организовали сопряжение с системой отображения информации и управления вот эти ребята: https://www.idquantique.com/quantum-safe-security/products/cerberis3-qkd-system/ https://www.idquantique.com/quantum-safe-security/products/clavis300-quantum-cryptography-platform/ https://www.idquantique.com/quantum-safe-security/products/clavis3-qkd-platform-rd/ https://www.toshiba.eu/eu/Cambridge-Research-Laboratory/Quantum-Information/Quantum-Key-Distribution/Toshiba-QKD-system/ Изменено 23 февраля, 2020 пользователем Entomo Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 26 24 февраля, 2020 Опубликовано 24 февраля, 2020 · Жалоба On 2/23/2020 at 3:08 PM, Entomo said: "алло, это военкомат ? - я передумал" . . . военкомат - это для "слабых духом". Не увидел на Ваших ссылках систем отображения. Если она и есть, может быть реализована как страница (s)http. По образу и подобию маршрутизаторов итп. Попробуйте поработать с сетью, а именно UDP (для начала работы, собственно, даже и сеть не нужна. Можно ее сэмулировать на одном физ. PC), UDP - user datagramm protocol. Реализуйте два приложения, одно - клиент, второе - сервер. Если получится обмен данными, можете наращивать эту систему дальше, даже до SCADA. On 2/23/2020 at 3:08 PM, Entomo said: . . . . Ну а если серьезно. Мне любопытно как организовали сопряжение с системой отображения информации и управления вот эти ребята: . . . ТС задал тему. Мы серьезны, "как никогда". Если не секрет (криптографический), какая сверхзадача исследований по указанным ссылкам ? measurement-studio Measurement Studio — расширение Microsoft Visual Studio, которое предоставляет инструменты .NET для создания приложений тестирования и измерения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Entomo 0 24 февраля, 2020 Опубликовано 24 февраля, 2020 (изменено) · Жалоба 20 минут назад, k155la3 сказал: ...ТС задал тему. Мы серьезны, "как никогда". Если не секрет (криптографический), какая сверхзадача исследований по указанным ссылкам ?.. Я защитил кандидатскую по квантовой криптографии. Возможно буду работать по этой теме дальше. Я по образованию инженер, но специальность не электронная техника. Электронной техникой и программированием встраиваемых систем, контроллеров и иже интересуюсь помимо основной работы. Изменено 24 февраля, 2020 пользователем Entomo Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tosunrise 0 27 февраля, 2020 Опубликовано 27 февраля, 2020 (изменено) · Жалоба Цитата Электронной техникой и программированием встраиваемых систем, контроллеров и иже интересуюсь помимо основной работы. Если так, то времени на написание минимально-нормальной SCADA у вас не будет. Её вообще в одиночку не напишешь. Когда-то очень давно, я руководил разработкой SCADA и сам писал красивые элементы для экрана. На SCADA + OPC уровень ушло лет пять с командой из десятка наверное лучших программистов. {Не в тему, но большинство затем не особо утруждаясь свалили "отсюда".} Программеры писали графический редактор, а я для него кнопочки, стрелочные приборчики и предлагаемые готовые экраны. Немало ругался по поводу того, что заказчик ничего сложнее VB не освоит, но вышло еще хуже. Однако разница труда в 1 ден на VB и месяца на MSVC++ ощутилась своей шкурой. Не знаю, насколько здесь меня будут пинать за следующее. Возьмите старую Windows NT4+SP6, их же подшефную скаду, и железяку ввода-вывода через RS232. Если это только себе, то подойдет. Старая операционка сейчас будет работать настолько быстро, что можно говорить о мягком реальном времени. У Вас же простенькое оборудование, не нужно вам жесткого реального времени и драйверов. Тем более нажать на кнопку и включить лазер. USB, по-моему, без жестокого кромсания Windows не даст реального времени. Может вообще получиться задержка в 5 секунд. То, чем я сейчас занимаюсь (аудио софт), "камня на камне не оставляет" даже в Mac OS. Windows NT вообще USB не поддерживает, но прикрасно работает с аппаратными RS232. Можно легко хоть один вывод дергать. И это без драйверов. Изменено 27 февраля, 2020 пользователем tosunrise Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 35 28 февраля, 2020 Опубликовано 28 февраля, 2020 · Жалоба 15 часов назад, tosunrise сказал: Возьмите старую Windows NT4+SP6, их же подшефную скаду, и железяку ввода-вывода через RS232. Windows NT вообще USB не поддерживает, но прикрасно работает с аппаратными RS232. Для этой связки комп нужно будет искать в музее или на свалке, если повезет. Простой интерфейс GUI пишется не сложно, особенно для простых задач, если есть опыт работы с линуксовыми системами, можно попробовать на Qt, хотя этот монстр мне не нравится... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 29 февраля, 2020 Опубликовано 29 февраля, 2020 · Жалоба В 18.02.2020 в 19:20, Entomo сказал: Я так понимаю, что необходимо из написанной прикладной программы через USB управлять встроенной системой Замечу только, что USB - это не промышленный интерфейс. Если он "отвалится", то либо вручную кабель передергивать надо, либо отключать сервис, а потом включать... Само оно никогда не восстановится и не сообщит об этом. В отличии от Ethernet... Да и расстояния у USB небольшие. Посмотрите, сейчас достаточно стартовых наборов микроконтроллеров с Ethernet. К ним и софт прилагается. И из них можно сделать мост "Ethernet-CAN" или "Ethernet-LIN".. Ну а для "балды" - посмотрите DLP2232 на FT2232. Прямо от USB на 16 выводов, практически без софта. У FTDI на сайте есть примеры для дельфи и билдера. И когда-то покупал за 30 долл. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться