Рубрика «Анализ и проектирование систем» - 132

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

Сигналы тока и напряжения представляют собой синусоидальный сигнал, в основе своей содержащий основную частоту питающей сети (для наших реалий 50 Гц). Про гармоники и прочие составляющие в сетевом напряжении говорить не будем, они есть и оказывают влияние на качество сети и динамические свойства электродвигателей. На любом производстве с ними борются по мере сил, так что их влияние, пусть и не ничтожно, но все-таки мало. Останавливаться на этом не станем.
Читать полностью »

… но это нормально. Любое проектирование отстой. И всегда будет отстоем.

Если вы мне не верите, давайте объясню…

Ни один проект не переживает встречи с реализацией

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

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

Это нормально.

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

Недостающие данные могут быть сделаны опциональными или заменены умолчальными.

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

Ограничение уникальности можно Читать полностью »

MIPSfpga — это пакет, который содержит процессорное ядро в исходниках на Verilog, которое можно менять, добавлять новые инструкции, строить многопроцессорные системы, менять одновременно софтвер и хардвер, симулировать на симуляторе верилога, синтезировать для ПЛИС/FPGA и т.д. Его можно в целях эксперимента например запускать с частотой 1 такт в секунду и выводить наружу информацию о состоянии кэша, конвейера, и любых структур внутри процессора. При этом ядро MIPS microAptiv UP внутри MIPSfpga — это то же ядро которое например используется в платформе IoT Samsung Artik 1 и Microchip PIC32MZ, т.е. студенты получают возможность работать с тем же кодом, с которым работают инженеры в Samsung и Microchip.

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

Как начать работать с MIPSfpga - 1

Читать полностью »

Привет!

Поскольку НЛО позволило мне писать статьи, продолжаем истории о проектировании. С придумыванием заголовков у меня беда. На этот раз речь пойдет о дверях безопасности. Надеюсь читатель простит мне вольный перевод термина Safety (или Protective) Door.

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

Эти устройства применяются для выполнения следующих задач:

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

Может, список неполный, но достаточный на сегодня. Итак, говорим о дверях.
Читать полностью »

В горнодобывающей промышленности для транспортирования полезных ископаемых из шахты на поверхность применятся много техники. Это самоходные установки, наклонные съезды с вагонами, шахтные подъемные установки (ШПУ или ШПМ). Вот о ШПМ мы и поговорим.

Измерение веса полезных ископаемых в горнорудной промышленности. Теоретическая основа - 1

Они бывают разных типов, как по используемым подъемным сосудам (скип, клеть, бадья), так и количеством подвешенных подъемных сосудов (одноконцевые, двуконцевые). Очень много нюансов там, в плане механики. Посмотреть описание можно тут и тут.

Приводы тоже бывают разные. Постоянного и переменного тока. Для переменного тока это могут быть высоковольтные асинхронные электродвигатели с фазным ротором, синхронные электродвигатели, низковольтные асинхронные электродвигатели с короткозамкнутым ротором. Поговорим о ШПУ с высоковольтным асинхронным электродвигателем с фазным ротором.
Читать полностью »

Введение в преобразование моделей (или преобразование, которое создаёт преобразование, которое создаёт модель) - 1

Сегодня напишем преобразование, которое создаёт преобразование. Лично мне это напоминает «Начало» Кристофера Нолана, где люди видели сны во снах.

Это 7-ая статья цикла по модельно-ориентированной разработке. Я уже полгода пытаюсь написать статью с серьёзным примером разработки, управляемой моделями. Но каждый раз пониманию, что сначала необходимо рассказать о технологиях в целом, разобрать какой-нибудь очень простой пример. Так и в этот раз, хотел только начать статью с «Hello World», а в итоге этот простой пример вырос в здоровенную статью.
Читать полностью »

Постановка задачи компьютерного зрения - 1
Последние лет восемь я активно занимаюсь задачами, связанными с распознаванием образов, компьютерным зрением, машинным обучением. Получилось накопить достаточно большой багаж опыта и проектов (что-то своё, что-то в ранге штатного программиста, что-то под заказ). К тому же, с тех пор, как я написал пару статей на Хабре, со мной часто связываются читатели, просят помочь с их задачей, посоветовать что-то. Так что достаточно часто натыкаюсь на совершенно непредсказуемые применения CV алгоритмов.
Но, чёрт подери, в 90% случаев я вижу одну и ту же системную ошибку. Раз за разом. За последние лет 5 я её объяснял уже десяткам людей. Да что там, периодически и сам её совершаю…

В 99% задач компьютерного зрения то представление о задаче, которое вы сформулировали у себя в голове, а тем более тот путь решения, который вы наметили, не имеет с реальностью ничего общего. Всегда будут возникать ситуации, про которые вы даже не могли подумать. Единственный способ сформулировать задачу — набрать базу примеров и работать с ней, учитывая как идеальные, так и самые плохие ситуации. Чем шире база-тем точнее поставлена задача. Без базы говорить о задаче нельзя.

Тривиальная мысль. Но все ошибаются. Абсолютно все. В статье я приведу несколько примеров таких ситуаций. Когда задача поставлена плохо, когда хорошо. И какие подводные камни вас ждут в формировании ТЗ для систем компьютерного зрения.
Читать полностью »

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

Возьмем ту же схему (действительно, довольно корявую надеюсь автор простит мне ее использование) из упомянутого поста:

image

Первое слабое звено этой схемы, которое бросилось мне в глаза, совсем не реле К1, конечно тоже достойное упоминания, а надпись «Аварийный стоп» на нормально-открытом контакте кнопки SB1.

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

Helixa переделал схему в конце поста, но эта ошибка осталась.

Читать полностью »

Вы заметили, какой популярностью пользуются конструкторы: от детских игровых наборов и шаблонов сайтов до готовых панелей и срубов для строительства? И дело тут совсем не в элементе геймификации — вся прелесть конструктора в том, что пользователь получает набор качественных «блоков» от профессионалов и создаёт своё, уникальное решение на этой надёжной базе. Вся подготовительная, сложная, черновая работа ложится на поставщика (разработчика) базовых элементов, а пользователю остаётся соединить свои умения с готовыми частями решения и создать дом, конструкцию, сайт, CRM под себя. Несколько лет назад наша команда задумалась над этим феноменом — так появился генератор информационных систем, который успели оценить и клиенты, и партнёры.

Что нам стоит КИС построить: собираем xRM на конвейере - 1

Читать полностью »

В промышленности внедряются автоматизированные системы управления технологическим процессом (АСУ ТП) на промышленных программируемых логических контроллерах (ПЛК) на объектах модернизации. Вновь поставляемое оборудование, уже по умолчанию содержит АСУ на ПЛК. Но качество проектирования АСУ ТП и программирования ПЛК иногда не соответствует логике и требований к надежной защите управляемого объекта. В этой статье я расскажу о типичной ошибке проектирования и программирования обычного промышленного оборудования.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js