РЕКЛАМА НА ФОРУМХАУС Дадада, секретная работа в секретной лаборатории Есть нюанс - ничего из советских разработок 70х-80 годов в области передачи данных и связи не является секретом. Даже то, что делалось по заказу спецслужб. . Я в курсе. Вы - нет. Я же говорю, что не в курсе, поэтому питаетесь говнотекстами из Интернета Сеть пакетной передачи данных, из которой родился TCP/IP позже, придумали в компании BBN. Это очень интересная американская "профессорская" компания, чем-то похожая на Bell Labs по своему воздействию на ИТ-индустрию. Вот там родили идею пакетной сети, но поскольку за свой счет это реализовать, а потом убедить рынок что ему это надо они не потянули бы, то через своего бывшего сотрудника, ставшего руководителем DARPA пропихнули идею в DARPA и стали его подрядчикоом. И все первым спецификации того, что позже стало TCP/IP имели в название BBN. Универы так же соучаствовали в процессе. Потом ребята из BBN приватизировали наработки и выкатили на рынок то, что позже стало X. 25 после стандартизации. И, кстати, проект не был секретным Просто у нас про это не пишут. Спецом посмотрел только что в вики - в русской статье про ARPANET BBN упоминается 2 раза, в английской - 21 раз и там достаточно много подробностей. А вояки редко что придумывают. Ту же атомную бомбу придумали мирные физики, и с большим трудом в Штатах пропихнули реализацию воякам. Вокодеры (кодеки голосовые) придумали скорее в интересах вояк и спецслужб, да. Мирных применений не было до появления современных цифровых мобильных сетей. LPC, CELP - основа современных кодеков, разработаны по заказу минобороны США. В открытых источниках есть очень много про секретные разработки в связи, поскольку все давно не секретно. Можете погуглить книжку "Криптология и секретная связь. Сделано в СССР". У нас было очень мало чего. Вояки пакетными сетями не пользовались, довольствовались модемами. В мирных целях ВННИПАС реализовывал и внедрял X. 25, который хоть и был внутри сетью пакетной, для потребителя был "удлинителем RS-232" Т. е. вы не могли даже близко стоять ни к чему, что хоть отдаленно напоминало VoIP - таких разработок в СССР не было. И на западе до начала 90х не было
Я вам кинул учебник. Там на 119 странице написано про 4 вида "программируемых контроллеров". 11.2 Терминология технических средств Функциональное определение программируемого контроллера объединяет (как минимум) четыре класса технических средств автоматизации: • промышленный компьютер; • программируемый (иногда промышленный) контроллер; • программируемый логический контроллер; • контроллер сбора данных УСО в распределенных системах. Не одним ПЛК живут АСУТП. Странно что вы этого не знаете, а я, уйдя из отрасли почти 30 лет назад и позже интересуясь ей так, поверхностно - знаю. Ну и дежурно напоминаю, что задал вам вопрос https://www.forumhouse.ru/posts/32585004/ ответьте на него Понимаю, что вы уже поняли, что ошиблись с гуглением понятия "реальное время", но может написать это прямо?
Что такое СОД? Как же так то? Что такое Роса-Д? Да ничего ты не знаешь. Вот вообще, ибо нет доступа у гражданских ко всем данным. Гражданские даже понять не могут, почему у нас серии микросхем давали не подряд, а 133, 155, 174... Но если заходишь в секретку, то там все подряд, 100, 101, 102, ... Но тебе это знать не положено. В СССР основные кадры готовили для нужд ВПК. Для гражданки даже не готовили, и потому все что в СССР более менее толковое создавалось, это только в среде ВПК. Вооружения. На гражданке ничего не могли создать, ибо некому было. Не было специалистов. Все вот такие как ты, пафоса море, а нет ни знаний, ни способностей. Освоил детскую игрушку Ардуино, и все, думает, что АСУ ТП знает. Я даже думаю, что ты не знаешь и по телефонии основ, не знаешь как и откуда взялся тот же ИКМ-30-32, и многое другое. Хорошо хоть слово вокодеры слышал где то, хотя наверняка непосредственно с ними дела не имел, не пробовал даже настроить, понятия не имеешь как тот же выделитель основного тона работает. Со стороны все твои посты напоминают именно детский сад, на уровне Ардуино.
Блин, даже не знаю с чего начать. Тут как первокурсник на первой лекции, начинать нужно с сотворения мира Ну это не в формате данной темы. Основу АСУ ТП и риалтайма в плане САУ составляют именно специализированные контроллеры, ПЛК, которые построены изначально под риалтайм, и ОС в них именно риалтайм изначально. Все остальное из перечисленного вспомогательные средства. Ну та же СКАДА может устанавливаться на Винду, которая ну ни реалтайм ни разу, и именно поэтому никак в управлении она не участвует. Это только БД с данными и отчеты, плюс передача примитивных команд и изменение настроечных переменных. Тут нужно понимать вообще принципы построения АСУ ТП. Если человек изучал хотя бы общие принципы, он понимает о чем я пишу с полуслова. Они прекрасно понимает, почему на РС нельзя делать контроллер. Блин, ща.
Блин, не знаю как это объяснить кратно. По сути это надо несколько лекций читать не подготовленным людям. Посему попробуй написать как то обрывчато. Не знаю, поймете ли. 1. Я уже писал, что любое скалярное значение без метки времени вне цикла не имеет никакого смысла в АСУ ТП, причем время именно момента получения значения, а не где то внутри цикла. К примеру, у меня в контроллере котельной дома цикла 100 мс, при этом сама программа выполняется от 8 до 19 мс. Вот специально сейчас подключился и посмотрел. Нет постоянного времени выполнения, ибо помимо обработки считанных данных есть и обмен между контроллерами в сети, есть передача на скаду, всплывают какие то условия в алгоритме. то есть, если я буду считывать время где то в цикле, то я получу время опроса часов, а не считывания среднего из регистров АЦП. АЦП же успевают обработать 10 000 значений помимо самого алгоритма, вычитая среднее и отбрасывая помехи. Это делается отдельно от алгоритма. Кто это будет делать на Ардуине? 2. Внутри цикла можно обойтись без реального времени, но ведь потом все данные, и со входа ПИД на начало цикла, и с выхода на конец цикла, то есть с разницей времени в 100 мс будут переданы на верхний уровень через TCP/IP, где на время вообще наплевать. И вот на верхнем уровне для выполнения каких либо операций с данными, нужно брать данные из одного цикла. Поясняю более примитивно на примере. Работает у меня насос, который поддерживает определенный напор в определенном контуре между подачей и обраткой. То есть нужно из Р1, вычесть Р2 и отправить это на ПИД, а с выхода ПИДа подать управляющий сигнал на частотник насоса, к примеру 0-10В. Так вот если у нас система более менее развитая, то одно давление может измерять один контроллер, другое другой, а частотником управлять третий. В таком случае не сложно понять, что с учетом того, что значения давления постоянно скачут в каком то пределе, если при вычитании брать Р1 из одного цикла, а Р2 из другого, то в качестве рассогласования мы получим какую то хрень, которая дифференциальную составляющую будет заставлять выбрасывать какие то пики в управляющем воздействии, и стабилизировать давление не поучится. Далее, путь мы делаем какой то примитив, а не АСУ ТП, все делаем в одном контроллере, и вам для точного определения интегральной и особенно дифференциальной составляющих требуется либо как то точно определять dt между получением данных АЦП, либо желательно его стабилизировать, что бы постоянно не прерываться на обращение к часам по каждому чиху. Если этого не сделать, то вы именно ПИД нормально не заставите работать, ибо Д составляющая вам полностью сломает всю картину. Максимум ПИ, то то, И там будет работать плохо. По сути вам стоит рассчитывать только на П регулятор. Потом вы должны понимать, что любые добавления в программу каких то функций, процедур или просто изменений будет ломать все тайминги, и их нужно будет заново там продумывать. Поэтому в АСУ ТП все разбивается на 2 части: ОС реального времени, которая занимается и таймингами, и циклами, и сетевым обменом, и непосредственно алгоритм, который работает через ОС. По сути можно и IBM PC взять, не загружать ОС, а писать какую то программу сразу на ассемблере или С, и загрузить ее в БИОС, и она будет выполнять какую то функцию. Но, это муторно, долго, и программа будет крайне примитивная. Вот именно так это происходит в Ардуино. Там по сути нет ОС для АСУ ТП. Это как РС без операционки. Есть только загрузчик, позволяющий загрузить в нее код. В ПЛК есть ОС, которая обеспечивает и работу со всей периферией, и поддержку всех протоколов и сам обмен, и загрузчики, и правильную работу с АЦП, и обязательно таблицы калибровки, ибо ПЛК - это средство измерения, а не игрушка, и различные алгоритмы фильтрации помех, и синхронизацию часов между всеми элементами системы и многое и многое другое. Да те же АЦП крайне делательно иметь на последовательного приближения, а дифференциального кодирования или что то еще получше. Вот для примера что выдает мне АЦП СТМ32. Просто к одному из аналоговых входов подключен датчик pt1000, который лежит у меня на столе: А вот запускаю запись с датчика температуры уличного воздуха, тоже pt1000 с ПЛК в котельной, кже стоит довольно продвинутый АЦП: И там и там читаю среднее за 100 мс. Разница видна? Вот теперь давай думать. На вход ПИД нужно подать разницу между заданием и температурой в подаче. При этом задание у меня по графику от уличной. С таким АЦП как у STM, если на ставить фильтры у меня будет хаотически скакать и уличная температура, и температура подачи, и после вычитания там будет просто псевдослучайная последовательность. Если ее подать на вход ПИДа, то получим кашу на выходе. Значит нужно будет ставить фильтры и все это сильно тормозить. С температурой ладно, а как быть с давлением жидкости или расходом воздуха? Ты думаешь у меня нет никаких игрушек типа Ардуино или Санни? Да есть. Как то брал просто побаловаться. Но это все крайне не серьезно. На этом можно сделать какую то приблуду в джип, типа управление компрессором или люстрой, но АСУ на нем делать не реально. Только если что то ну очень примитивное, вкл и выкл.
Шифровальный агрегат для связи. Насчет букв не уверен. Из 90х родом вроде. Не, вы можете понтануться знанием каких-то названий из спецтехники, я точно не буду их знать, ибо разговор не о том, какая была спецтехника, а о наличии у военных в СССР сетей с коммутацией пакетов и разработок под них. Теперь ваша очередь отвечать: что случилось бы, если бы в те времена, о которых вы пишите, вы бы просвистели в трубку вашего телефона частотами 1200 и 1600 одновременно, и в каких случаях это бы случилось, а в каких - нет? Сложный вопрос, это не про название железок случайно подсмотренных, тут базовые знания нужны + понимание, как вообще телефония работает. Полная бредятина, никаких особых институтов по подготовке инженеров для ВПК не было. И в сетевой теме ВПК не отметились. ИКМ-30-32 взялся путем придумывания русского названия для E1, придуманного в CCITT. Это палево, Касс. Стреляйтесь. Вы и не знаете, и не поняли написанное: я написал, откуда - вокодеры проникли в телефонию (мобильную и интернет) в качестве кодеков. Это - основа алгоритмов кодирования речи в современной телефонии, начиная с GSM 06.10.
Ошибаетесь. 4 типа программируемых контроллеров на выбор. В учебнике прямо написано ПЛК - это вообще такая замена для "ящика релейной автоматики" для старых дедов. И средства программирования должны быть понятны дедам, поэтому там те самые схемы, что вы кидали
Отлично, и хоть это не про реалтайм, я не спорю с самим тезисом Ну так на "ардуине" храните отсчеты со временем. Что мешает? А если вы будете считывать время непосредственно после прочтения данных из АЦП (как это делаю я на "ардуине"), вы получите время считывания значеня из АЦП. И почему это в вашей картине мира не "реалтайм"? а это уж от постановки задачи зависит. Хотите - усредняйте значения (как это иногда делаю я), и считайте временем что угодно - например считывание последнего значения. А мы прямо в "ардуине" все делаем, прикиньте незадача. Считали значение регулируемого параметра, и прям в ПИД кинули, с посчитанным как я написал dt наверх для отчетов можем кидать с отметкой времени, можем без - если данные наверх кидаются редко, то задержками в сети можно пренебречь. Ну так даже в этом случае каждая "ардуина" имеет абсолютно точный часы реального времени, синхронизированние друг с другом. Все будет работать, как вы и хотели! Если вы время прочитали вместе с чтением АЦП, какая нафиг разница, как потом поменялась длительность алгоритма в цикле? Разработчиков, у которых программа перестает работать при добавлении пары операций в цикле, рекомендуется отправлять в дворники. О! Так на Ардуине уже можно? Но вы перепутали, это в атмеге из коробки нет OS. А у ардуины в качестве ОС выступает arduino framework. Такая однозадачная ОС. Во! И у меня с "ардуиной" esp + esphome все то, что вы написали - есть! Вау! 1. усредняйте, если время не важно, как это делаю я 2. подключайте нормальный АЦП (я юзаю ids1115), как это делаю я 3. используйте цифровые сенсоры, например для температуры ds18b20, как это делаю я
Это не шифровальный агрегат. Это по сути первая сотовая система, с шифрованием конечно, для руководства страны. Правда базовые станции были развернуты только по правительственным трассам, откуда и пошел такой термин. Но ты не знаешь этого и вполне закономерно. Я изучал эти вокодеры именно в 80-х, когда о GSM никто даже не слышал. И это не кодек от слова вообще. Это учебник для умственно отсталый в таком случае. Замена релейной автоматике это просто один язык программирования из той таблички, что я давал из МЭК, только LD. И это не дедам. Это основа всей автоматики в сетях электроснабжения по всему миру. Это основной язык программирования в ПЛК GE (General Electric), которые собственно на этом и заточены. ТО есть это язык специально для определенной сферы деятельности. Просто АСУ ТП это не всегда HVAC. Именно поэтому более развитые ПЛК поддерживают сразу несколько языков, если предполагается их широкое применение. Я же спрашивал про точность определения dt, с каким разрешением вы его определяется и с какой точностью. Цикл 2 минуты? Так вы попробуйте то это сделать. Не на словах, а на деле. 1. Время важно, но не быстрее, не медленнее. Вот в этом то и суть, которую вы не улавливаете. В Ардуино как и в РС чем быстрее сдела, тем лучше. А в АСУ ТП все не так. Там нужно сделать все вовремя. Я же писал про подачу ужина в 11 утра. Это как в Ралли, там задание приехать не раньше и не позже указанного времени. Плохо и то и другое. Нужно прибыть вовремя. 2. Нормальный АЦП вы не подключите, ибо не уложитесь в бюджет. Вы просто повысили разрядность до 16 бит и все. Я вам и показал график с 16 битного АЦП АРМа. Более того, он просто на несколько порядков быстрее. Скорость обработки данных: 8–860 выб./с у ADS1115. Вы даже усреднить ничего не успеете. Более того, так как вы подключаете его по асинхронному интерфейсу, вам нужно как то узнать время, когда он именно считал значение, а не МК получил. Как вы это сделаете? Вообще никак, ибо ADS1115 не умеет этого делать. ТО есть вы будете фиксировать время, когда вы получили значение от ADS1115, а не когда оно измерено, что ну вообще никак не стыкуется с принципами САУ. 3. Такая же ерунда. Все цифровые "сенсоры" могут использоваться только для индикации. Они не могут использоваться в САУ по озвученным выше причинам, так как они вам передают скаларные значения без метки времени, а значит погрешность во временных метках будут колоссальными при малых циклах. Ну вот давайте для управления насосами и вентиляторами выберем цикл 20 мс. Теперь расскажите, сколько мс будет погрешность при работе с ADS1115? Погрешность будет от 30 до 70%. Что вы собираетесь измерять и регулировать в таком случае? В общем ну вообще не телефония это.
Я не знаю, потому что меня это не интересовало от словам "совсем" никогда. Не знаю, к чему вы про это завели разговор. Слова слышал, краем уха, просто потому что историей интересовался. Существование этих систем не секрет, в интернете полно инфы, я вам даже назвал книжку по теме. Только что скачал - там и про "росу" - аппарат шифрования, и про "росу" - сеть беспроводной связи, и даже с буквой "роса-д" отдельно. Видите как работает позиция "знание некоторых принципов легко возмещает незнание некоторых фактов". Я вам назвал название книги, где все есть ("Криптология и секретная связь. Сделано в СССР"), где ответ на вопрос, который вы задали позже. При этом я эту книгу не читал никогда Учитесь, дедушка. А вы не знаете ни принципов, ни фактов. Только словами кидаетесь, которые не понимаете. Вы, естественно, не знаете, какое отношение вокодеры LPC и CELP имеют к кодекам телефонии. Потому что никогда ничем, относящимся к VoIP не занимались. И придумывать не надо было это. https://en.wikipedia.org/wiki/G.723.1 https://en.wikipedia.org/wiki/G.729 А, учебники для ВУЗа - неправильные. Давайте дальше Все есть в учебниках и не только. Можете свою альтернативную историю излагать сколько угодно, конечно. ПЛК придуманы именно как устройства, которые устанавливаются вместо релейной автоматики и доступны для понимания специалистам по релейной автоматики. Конечно, прошло много лет и они начали жить своей жизнью, а про релейную автоматику никто кроме железнодорожников давно не вспоминает. Я же вам отвечал. Цикл зависит от задачи. Для отопления с регулировкой по температуре воздуха - 2 минуты это даже слишком часто Регулировка температуры в коллекторе ВТП парафиновым сервоприводом - цикл 10с для P-управления с предсказанием (недо-ПИД) и 1-2-3с для ПИД (буду пробовать, еще не запускал). Я уже 35 лет как делаю это регулярно. Вот только настоящей ардуины не было, да. Было все что только можно, но не ардуина. Вы хоть что-то читаете, что вам пишут? Отлично, наконец до вас дошло, что вам писал и я Евгений2 про реалтайм. Полностью согласен - вот это как раз про настоящее понятие "реального времени", а не то, что вы сдуру процитировали фигурно. Задачи реального времени - это задачи со строго определенными требования по времени реакции на события, где событием может быть и таймер, и поступление данных с сенсоры, и много что еще. Это как в Ралли, там задание приехать не раньше и не позже указанного времени. Плохо и то и другое. Нужно прибыть вовремя. Нет, ads1115 намного точнее чем АЦП того же ESP, про ардуину не знаю. Там и усреднять ничего не надо. Точность ADS1115 не требует усреднения для задач АСУТП дома. А 860 выборок в секунду покрывает требования домашней автоматики за глаза. Голос вы им не оцифруете - нужен другой АЦП. Хотя они все стоят не слишком дорого. тоже мне бином ньютона. Если работает в режиме чтения по запросу - то это среднее между запросом и ответом, там микросекунды. Если в непрерывном режиме, то (на нем не делал) "время запуска + количество прочитанных отчетов * период дискретизации". Типичная проблема в VoIP, кстати. вечером замерю, сейчас убегаю, думаю погрешность будет порядка 0.01мс, меньше 1% от интервала в 20мс, но надо проверить
Про то, что ты якобы знаешь. Тут честно написал, что не знаешь. Подобных систем на гражданке действительно не бало, от слова совсем. Это не имеет никакого отношения к вокодерам. Тут же на картинке четко видно, что это банально оцифровка огибающей сигнала: 1. Дискретизация по времени. 2. Квантование по уровню. 3. Кодирование. Вот прямо по памяти тебе из учебников. Но все это не имеет ну ни какого отношения к вокодерам. Это имеет отношение к кодированию, то есть п. 3. обычной оцифровки. В вокодерах огибающую никто не оцифровывает. Вокодер измеряет параметры сигнала, и кодируются и передаются только параметры, такие как сигнал основного тона, сигнал/шум и т. п. И на другой стороне синтезатор речи генерирует речь сугубо по параметрам. Он как робот говорит. Блин, прочти хотя бы букварь. https://ru.wikipedia.org/wiki/Вокодер Ничего ты не знаешь о вокодерах, ибо не было их никогда на гражданке, а я с ними с 80-х работал. Ни ты ни он понятия не имеете ничего про реальное время. Вы крайне далеки от этого. Я вам даже написал основное требование, но вы даже его сути не понимаете. Вот у нас первокурсники, проспавшие лекцию по реальному времени двоек и нахватали за это. Это типичная ошибка дилетанта. В таком случае аналоговая техника вся реального времени. Да нет там ничего точного. Это копеечная шляпа. Тут метрология, а не связь. Если в связи погрешность 50%, то плевать, будет понятно о чем речь. В метрологии это недопустимо. Так же нужно понимать, что датчик в АСУ не висит на контроллере. До него кабель одет по лоткам, где рядом силовые кабели, метров 10 а то и 50. Что вы там получите на выходе АЦП? Да ничего не оцифруете. Нужна обработка выборок для фильтрации шумов и флуктуаций. Вот к примеру на том графике, где ровная линия идет уличной температуры, АЦП стоит на 100 000 выборок в секунду и с линейностью до 1%. То есть за 100 мс АЦП дает 10 000 выборок, из которых отфильтровываются шумы. То есть он в тысячи раз быстрее ADS1115, хотя АЦП те стоят вообще в 8 битном МК. Но только стоит такой МК с такими АЦП знаешь сколько? Это просто микросхема, это не контроллер, и она дороже чем вся автоматика твоего дома наверное. Кстати в ней есть и более быстродействующие 8 битные АЦП, тоже 8 штук, у них на сколько помню по 500 000 выборок, и вот они как раз для связи. Там никаких фильтров и усреднения. Вот они по твоей теме. Еще раз. Это она выдаст одно мнгновенное значение, которое в измерении вообще не используется. Ну только если в игрушках или связи. Хоть какой то букварь прочитай, как это делается. Вот к примеру наиболее просто и доступно: https://microsin.net/programming/dsp/an118-improving-adc-resolution-by-oversampling-and-averaging.html
Вот незадача. И начнем с основных характеристик АЦП в STM32: АЦП является 12-ти битным. 16 битного АЦП нет, но график я вам покажу. На графике нифига не понятно, но это пофиг. 16 битный АЦП может ловить какие угодно наводки типа "ветра на Марсе", но нам пофиг. Нафиг нам эти 16 бит много тысяч раз в миллисекунду в задачах теплоснабжения, где все процессы ну ооочень медленные - неясно, но это пофиг, главное поспамить своим ЧСВ. Коррекция времени получения значения делается элементарно, но вы про это нифига не в курсе. И, самое главное - в задачах теплоснабжения нафиг не нужна. Или вас температура в квартире или трубе может меняться за одну миллисекунду? Вы что, Илон Маск? Управляете насосами и вентиляторами на стартующей космической ракете?
Ну кстати, у ПИДа в частотнике для насоса должен быть весьма короткий цикл. Не исследовал внимательно, но отрабатывать закрытие крана без ГА надо очень быстро. Впрочем, и там скорее речь о сотнях ms
Контроллер с аналогового входа получает значение float 4 байта, то есть 32 бита. Как думаешь, почему? Да потому, что считывается не одно мгновенное значение, а среднее из 10 000 12 битных значений. Я же ссылку дал на ликбез по работе с АЦП с фильтрацией и накоплением. Не далось? Многа букаф? Ага, только вы не знаете как и не пробовали. Это я уже понял. Теоретически вы можете рассказать как, а практически никто из вас не пробовал. Мне это очень напоминает анекдот: Сын подбегает к отцу и спрашивает: — Папа, а что такое "Теоретически", а что такое "Практически"? — Ну смотри сынок, подойди к маме, сестре и дедушке и спроси у них, переспят ли они с негром за 1 000 000 $ ? Сын подходит к маме и спрашивает: — Мама, а ты переспишь с негром за 1 000 000 $? — Да, но только ради семьи. Сын подходит к сестре и спрашивает: — Сестра, а ты переспишь с негром за 1 000 000 $? — Да, за лям я сама на него запрыгну. Сын подходит к дедушке и спрашивает: — Дедушка, а ты переспишь с негром за 1 000 000 $? — Да, за такие-то деньги. Сын возвращается к отцу и говорит: — Отец, все ответили "Да" — Ну смотри сынок, теоретически мы миллионеры, а практически у нас дома живут две проститутки и старый пидарас! Вот и у нас в теме аналогично.