Как стать автором
Обновить
85.29

Промышленное программирование *

Все об АСУ ТП

Сначала показывать
Порог рейтинга
Уровень сложности

Умная плата для управления силовыми 3-х фазными нагрузками

Время на прочтение5 мин
Количество просмотров20K

Продолжаем разработку на микроконтроллерах семейства Kinetis.

Умный дом или здание не ограничиваются только датчиками температуры или освещением. Там также присутствуют лифты, различные подъемники для людей с ограниченными физическими возможностями, грузовые подъемники, ворота, шлагбаумы, насосы, вентиляторы и прочее хозяйство. Традиционно это консервативные области, в них концепции умного дома проникают с трудом. Данная плата позволяет модернизировать устоявшиеся решения и добавить в них интеграцию в IoT (интернет вещей).
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии4

Наш перевод статьи: Двадцать пять целей индустрии программного обеспечения на 2015–2019г.г

Время на прочтение25 мин
Количество просмотров7.2K
Наш перевод статьи:
Двадцать пять целей индустрии программного обеспечения на 2015–2019г.г.
С разрешения автора: Каперс Джонс

Каперс Джонс, VP and CTO Namcook Analytics LLC
Версия 5.0 28 февраля 2015 г.


Краткий обзор
Развитие индустрии программного обеспечения имеет сходство с походкой алкоголика, при которой движение одновременно и выравнивается и дает задний ход. Например, гибкая методология разработки – это выравнивание малых проектов, а парное программирование — это движение назад, слишком дорогостоящее для роли двигателя.

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

В этой небольшой статье представлены 25 реальных целей, которые могут быть достигнуты в течение 5 лет, принимая за точку отсчета 2015 год. Некоторые цели выражены в показателях метрики функциональных баллов (Function Points — FPs), которая является единственной широко используемой метрикой, допустимой для освещения экономической результативности и качества без серьезных погрешностей.
Читать дальше →
Всего голосов 10: ↑5 и ↓50
Комментарии0

Моя система тестирования и повышения качества GSM-шлюза. Часть вторая

Время на прочтение8 мин
Количество просмотров9K


В первой части статьи я рассказал предысторию FXS GSM-шлюза с записью разговора, объяснил, какие были допущены ошибки в первой версии, как были исправлены во второй версии. Сердцем шлюза стал микроконтроллер, который управляет всем: питанием, звуком (цифровым и аналоговым), телефонной линией.

В схему была внедрена функция самодиагностики. Для этого в шлюз были добавлены измерительные цепи, цепи управления питанием и подъёма телефонной трубки, цепи для нагрузочной проверки питания и критичных узлов. Для связи с ПК и перепрошивки установлен мост USB-USART, который может работать как программатор.

В этой и следующей статье я расскажу о тестовой прошивке: как она тестирует всю периферию, какие идеи были заложены в неё и как они были реализованы на примере разбора тестового лога.
Тестовая прошивка проверяет:
  • Тактовые частоты, с точностью до ppm.
  • Все ветки питания.
  • Все ножки процессора.
  • Светодиоды.
  • Источник телефонной линии.
  • Выдачу и приём звука с телефонной линии. АЧХ, КНИ, уровень шума.
  • GSM-модуль.
  • SD-карту.

Тестовый лог целиком

Я не нашёл ни одной статьи на хабре про программу производственного тестирования реально существующего изделия. Поэтому, надеюсь, я первый. Если нет, то с удовольствием почитал бы статьи других.
Окунуться в тайны производственного тестирования...
Всего голосов 12: ↑12 и ↓0+12
Комментарии6

Лекции и тренинги Intel по Software Engineering. Август, Москва

Время на прочтение2 мин
Количество просмотров6.8K

Если вы, студент или аспирант, до сих пор не придумали, как интересно и с пользой провести последние дни перед учебным годом в Москве – это пост для вас!
С 24 по 28 августа в московском офисе компании Intel состоится курс лекций и тренингов для студентов, магистрантов и аспирантов естественно-научных специальностей ВУЗов России. Лекторы – высококлассные профессионалы компании Intel, развивающие самые современные направления программной инженерии.
Лекции и тренинги позволят слушателям узнать о том, какие знания, умения и навыки будут полезны им для работы в крупной IT-компании и как эти знания применяются в реальном процессе производства и тестирования ПО. Кто знает, быть может, это тот шанс, который вы искали?
Подробности
Всего голосов 9: ↑7 и ↓2+5
Комментарии1

Истории

Забудьте о DAO, используйте Repository

Время на прочтение6 мин
Количество просмотров179K
Недавно задумался о том, чем отличаются паттерны, позволяющие абстрагироваться от работы с хранилищем данных. Много раз поверхностно читал описания и различные реализации DAO и Repository, даже применял их в своих проектах, видимо, до конца не понимая концептуальных отличий. Решил разобраться, закопался в Google и нашел статью, которая для меня разъяснила все. Подумал, что неплохо было бы перевести ее на русский. Оригинал для англочитающих здесь. Остальным интересующимся добро пожаловать под кат.
Читать дальше →
Всего голосов 28: ↑23 и ↓5+18
Комментарии14

Открытый проект универсального микроконтроллерного модуля

Время на прочтение4 мин
Количество просмотров17K


После беглого знакомства в прошлой статье с микроконтроллерами семейства Kinetis от фирмы Freescale я хотел бы представить проект микроконтроллерного модуля на этих чипах.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии15

Моя система тестирования и повышения качества GSM шлюза, часть первая: функциональный и схемный уровень

Время на прочтение12 мин
Количество просмотров20K

Вторая часть

С чего всё начиналось


Я работаю в небольшой фирме, которая разрабатывает и производит системы записи телефонных разговоров. Но в ряде случаев клиентам нужен аналоговый GSM шлюз как источник телефонной линии. Ранее его закупали и перепродавали. Но то что закупали было низкого качества и часто попадался брак — было принято решение самим разработать. Разработали мы вдвоём: схемотехник и я — программист, недавние выпускники без опыта разработок в аналоговой телефонии и без опыта внедрения в производства. Получилось, мягко говоря, не очень, хоть и была решена проблема брака и скорее «вопреки».

Но проблема в том, что для нас даже 1% брака недопустим: на каждый случай у тех поддержки и разработчиков уходило очень много времени на клиента. Да и для всех нас это недопустимо чисто из соображений профессиональной гордости. Мы хотели такой шлюз снять с производства, даже несмотря на то, что у нас была доля от каждого изделия. Это очень стыдно, когда дилеры про остальные изделия говорят: «у вас вообще брак бывает?», а про наши «мы боимся их продавать — у нас же потом ничего не купят».

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

Как мы от этого

Снизу платы только китайский GSM модуль

Пришли к этому
Верх:



Низ:



Расскажу как полностью изменилось изделие и появилась система тестирования и сопровождения производства. Расскажу как изменилась функциональная схема, объясню как работает электрическая схема доработанного варианта. А в следующих частях расскажу про логи и алгоритмы тестирования и чем тестируется плата. Приведу немного исходного кода. И расскажу об распределённой АРМ для прошивки, тестирования и анализа логов, что была развернута на производстве и у разработчиков.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии53

Нужна ли нормализация в числах с плавающей точкой?

Время на прочтение4 мин
Количество просмотров16K
В прошлом топике (1 ) мы говорили о числах с плавающей точкой/запятой, нормализованных в соответствии со стандартом IEEE754. Там же были рассмотрены денормализованные числа, искусственное введение которых в стандарте привело к чудовищным программно-аппаратным затратам, тормозящим процессы компьютерной обработки чисел в десятки и сотни раз. Но, так уж ли нужна эта самая нормализация и тем более оправдано ли введение экзотического класса денормализованных чисел в компьютерную арифметику? Попробуем разобраться с этим вопросом.
Читать дальше →
Всего голосов 13: ↑8 и ↓5+3
Комментарии33

«Программирование мышкой» для микроконтроллеров

Время на прочтение5 мин
Количество просмотров39K
Многие микроконтроллерные платформы поддерживают инструменты для создания начальной конфиграции периферийных устройств и портов ввода/вывода. Обычно это графическая среда, в которой задаются параметры работы кристалла и может быть сгенерирован исходный код — заготовка будущего проекта.

При использовании такого конфигуратора вы существенно упрощаете начальный этап программирования, но делаете это не в ущерб пониманию процессов, происходящих на кристалле.
Ниже приведен пример использования конфигуратора для микроконтроллера C8051F930 от Silicon Labs. Будем управлять яркостью светодиода с потенциомера, написав руками всего две строчки кода. Just for fun, конечно.

Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии13

Применение KolibriOS. Часть 2: Экзоверсия ядра для разработчиков железа

Время на прочтение6 мин
Количество просмотров16K
За окном уже наступило лето, ну а мы представляем вам продолжение цикла статей о практическом применении КолибриОС. В первой части мы провели теоретический обзор возможных сфер применения, а теперь, как и было обещано, переходим к более практической части: экзоверсии ядра для разработчиков железа.
Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии11

О том, как мы опробовали статический анализ на своем проекте учебного симулятора рентгенэндоваскулярной хирургии

Время на прочтение13 мин
Количество просмотров8.4K

Хочу поделиться с вами историей о том, как мы опробовали статический анализатор кода PVS-Studio в своем проекте и попытались определить, какую выгоду можно извлечь из этого инструмента. В этой статье не будут описаны уникальные и интересные для специалистов программные ошибки. Все найденные в коде статическим анализом баги и недочеты оказались достаточно прозаичными. Я опишу здесь взгляд на данный инструмент с точки зрения руководителя проекта. Возможно, этот ракурс не так точен и однозначен, как оценка инженера: своё влияние оказывают особенности организации работы в конкретном проекте. Но все же я думаю, что приведенные в статье мысли могут оказаться интересны тем, кто задумывается об использовании статического анализа в работе. Или тем, кто сталкивается в своих проектах со значительными потерями ресурсов на фиксы ошибок, отлавливаемых на стадии тестирования.
Читать дальше →
Всего голосов 29: ↑27 и ↓2+25
Комментарии12

Дебаггинг в реальном времени через JTAG/SWJ-DP для микроконтроллеров на ядре ARM Cortex-M

Время на прочтение4 мин
Количество просмотров39K

С некоторых пор фирма Segger предлагает технологию Real Time Terminal (RTT) для своих JTAG адаптеров J-Link. Суть ее в том, что программа на микроконтроллере может выводить и принимать отладочную информацию из JTAG/SWJ-DP порта, как это обычно делается через UART. И тогда нам больше не нужен реальный отладочный UART. Далее чуть подробнее о возможностях этой технологии.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии1

Первые шаги к умной бане

Время на прочтение4 мин
Количество просмотров28K
В своих первых статьях на хабре мы пообещали рассказывать о конкретных проектах, в которых применяется наша система. Идей очень много, но начать мы решили с рассказа об одном из наших внутренних DIY-проектов:

Расскажу о своей попытке немного автоматизировать баню. Во время капитального ремонта бани появилась идея заодно провести в нее отопление. Чтобы зимой не промерзала, как следствие, быстрей протапливалась. В результате этого обогрева мы не пускаем точку росы внутрь бани, избавляемся от ненужного конденсата на бревнах, сруб дольше служит, ну, в общем, одни плюсы. Если бы не один минус: за дополнительное отопление придется платить. Дальше я постараюсь рассказать, как можно минимизировать издержки на это отопление и автоматизировать процесс.


Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии7

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн

SEMAT? Приятно познакомиться

Время на прочтение2 мин
Количество просмотров13K
А что-то про SEMAT тут никто еще не написал? Исправляем.


Предисловие


Знакомлюсь с SEMAT – Software Engineering Method and Theory. Показалось разумным. Размышляю о возможности применения в своих проектах. Анализирую риски. Хотелось бы привлечь Хабраразум.
Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии9

Применение KolibriOS. Часть 1: Обзорная

Время на прочтение4 мин
Количество просмотров60K
Очень часто нам задают вопросы «Для чего разрабатывается КолибриОС?» или же «Какова область применения ОС?» Поэтому было решено рассказать подробнее о том где и как можно применять КолибриОС, а также, что возможно даже более интересно, где и как она УЖЕ применяется.
Интересно? Добро пожаловать под кат
Всего голосов 39: ↑39 и ↓0+39
Комментарии14

ПЛК Ace: маленький контроллер для «умного дома»

Время на прочтение7 мин
Количество просмотров50K
Я занимаюсь разработкой программ для программируемых логических контроллеров(ПЛК) в промышленных автоматизированных системах управления технологическими процессами(АСУ ТП).

Для тех, кто сталкивается с этим словом впервые, поясню. ПЛК это специальный мини-компьютер, который работает так:
1. Принимает входные дискретные (Di) или аналоговые (Ai) сигналы;
2. Обрабатывает эти сигналы по заданной программистом программе;
3. Выдает управляющий сигнал через дискретные (DO) или аналоговые (AO) выхода.

Дискретный — когда у сигнала может быть только 2 состояния: 0 или 1, «да» или «нет». Например, кнопка нажата или отжата, лампочка включена или выключена.
Аналоговый — когда значение параметра зависит от уровня электрического сигнала. Например, чем выше уровень сигнала (вольт или миллиампер) от датчика температуры, тем больше измеряемая температура.

Применяются ПЛК в основном в промышленности, станках, системах домашней автоматизации «умный дом» и т.д.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии24

Микроконтроллеры семейства Kinetis от NXP-Freescale для встраиваемой электроники. Открываем для себя

Время на прочтение7 мин
Количество просмотров42K

Время от времени меня тоже охватывает потребность что-то поменять. И чаще всего я меняю в своих разработках семейство микроконтроллеров. И я не одинок в этом. Каждый год не менее 50% разработчиков меняют процессор, на котором будут выполнять следующие проекты. На этот раз я решил попробовать семейство Kinetis.
Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии13

Помогают ли опыт и достижения в спортивном программировании в реальной жизни и работе, или мешают?

Время на прочтение11 мин
Количество просмотров34K
Спортивное программирование — очень неоднозначная тема. Одни считают, что достижения в нём — хороший показатель таланта и умений для промышленной разработки, другие — что такой опыт приносит скорее вред.

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

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



Все этапы Яндекс.Алгоритма в этом году пройдут в онлайне, так что поучаствовать в нём смогут и те, кто не готов куда-то ехать. Алгоритм состоит из нескольких отборочных раундов, в каждом из которых нужно решить пять задач за 100 минут. В финал, который состоится 6 августа, выйдут 25 лучших по результатам отбора. Тренировочный раунд, до которого стоит зарегистрироваться, пройдет 3 мая.

Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии17

Как SpaceX использует GPU для обсчёта ракетных двигателей

Время на прочтение7 мин
Количество просмотров26K
image Илон Маск врывается в автомобильную и космическую индустрию с Tesla и SpaceX. Интересно, что первая полностью отказывается от двигателей внутреннего сгорания, в то время, как вторая наоборот, пытается изобрести новые технологии для сжигания топлива и осуществить пилотируемый полёт на Марс.

На последней конференции GPU Technology Conference, организованной компанией Nvidia, мы узнали, что доставка группы людей на Марс и обратно – задача непростая. Одна из проблем такой миссии – необходимость в большом и эффективном ракетном двигателе, который сможет доставить много материала на орбиту, — так объяснил нам Адам Лихтл, директор исследовательской группы SpaceX. С командой из нескольких десятков программистов он пытается справиться со сложной задачей улучшить симуляцию сгорания внутри ракетного двигателя. Для укорачивания полётов к Марсу также нужен большой двигатель.
Читать дальше →
Всего голосов 26: ↑21 и ↓5+16
Комментарии14

СКАДА-система 4-го поколения: AggreGate SCADA/HMI

Время на прочтение8 мин
Количество просмотров34K


В этой статье мы продолжаем рассказ о продуктах, разработанных на основе IoT-платформы AggreGate. В 2010-м году, через два года после появления продукта AggreGate Network Manager, мы стартовали проект AggreGate SCADA/HMI – СКАДА-системы 4-го поколения.
Что же такое СКАДА 4-го поколения?
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии57

Вклад авторов