В сентябре 2016 года прошла удивительная новость: в небольшой польской автомастерской обнаружился компьютер Commodore 64, использующийся владельцем для балансировки карданных валов. Commodore 64, Карл! Причём компьютер выжил даже после того, как мастерскую однажды затопило паводком. Эта история натолкнула нас на мысль поискать другие примеры современного использования старых, забытых IT-технологий. Читать полностью »
Рубрика «Промышленное программирование» - 23
Старикам здесь вполне ещё место: забытые ИT-технологии в строю
2017-01-18 в 8:55, admin, рубрики: архивы, Блог компании Parallels, дискеты, интересно, история, наследие, ПО, полезно, Программирование, Промышленное программирование, разработка, Разработка систем связи, ретро, Совершенный код, технологииSCADA: в поисках идеала
2017-01-11 в 14:12, admin, рубрики: qt, scada, Simargl SCADA, асу тп, Программирование, Промышленное программирование, разработка По моим наблюдениям, большинство толковых специалистов АСУ, работающих со SCADA, проходят несколько стадий «эмоционального роста»: освоение какой-либо SCADA, поиск чего-то лучшего, идеи и попытки написания своего варианта, выработка философского отношения к проблеме и использование одного из существующих продуктов.
Да, бывают исключения. Например, встречаются сильно увлеченные и упорные энтузиасты, которые создают что-то работающее, но картины они не меняют совершенно.
Попробуем разобраться, почему так происходит и может ли быть выход из этого порочного круга.Читать полностью »
Про мой LIR2032 и CR2032 тестер, сами батарейки и накопленный опыт
2016-12-30 в 6:31, admin, рубрики: CR2032, LIR2032, stm32, stm32f100, stm32f100rb, емкость аккумулятора, программирование микроконтроллеров, Промышленное программирование, результаты тестов, схемотехника, тестирование батареек, метки: CR2032, LIR2032, тестирование батареекВ этой статье я публикую в свободный доступ мой тестер и измеритель 8шт часовых аккумуляторов-таблеток форм-фактора CR2032. Надеюсь, он пригодится тем, кто делает портативную электронику и различный IoT. В статье я опишу схему моего тестера и расскажу как он работает. Приведу результаты измерения аккумуляторов LIR2032. И проверю восемь CR2032 от разных производителей. Также поделюсь богатым опытом: какие аккумуляторы лучше не брать, а какие — хорошие. Бонусом распишу опасные моменты: и как самому не пострадать и не сжечь дом, как это любит делать Креосан.
Космос зовет: нужен математик-специалист в области численного решения стохастических дифференциальных уравнений
2016-12-22 в 10:06, admin, рубрики: open source, T.H.O.R.I.U.M., Алгоритмы, космос, математика, Промышленное программирование, спутники, численные методыАлександр 4110 Шаенко (экс-инженер Даурия Аэроспейс, ныне главарь проекта краудсорсингового спутника «Маяк») и Степан Тезюничев пишут открытый софт для моделирования теплового режима спутников.
Репозиторий тут.
До этого, Саша писал дисер — «Метод решения задачи лучистого теплообмена без матрицы угловых коэффициентов» (диссертация, автореферат). Код тут. (он на VB.NET, тормозной, но работает и даже есть документация)
Космоинженеры используют метод Монте-Карло и до них вдруг дошло, судя по всему, система дифференциальных уравнений является стохастической, раз их часть получается методом случайных испытаний.
Парни хотят написать алгоритм, который решал бы систему дифуров как можно быстрее, и поэтому им нужна консультация математика-специалиста в области численного решения стохастических дифференциальных уравнений.
Основную сложность ребята вроде решили, построив массивно-параллельный алгоритм расчета хода излучения с методом Монте-Карло на CUDA. Теперь они хотят использовать для интегрирования своей системы, а она большой размерности, порядка 100 тыс. неизвестных, и жесткая, подходящий метод интегрирования по времени. Обычные явные методы требуют слишком мелкого шага по времени, а неявные требуют много раз вычислять правую часть, что ресурсозатратно.
Поэтому и нужно найти или построить такой метод интегрирования, который подходил бы для такого сочетания требований и позволял бы считать быстро.
Читать полностью »
Интервью с разработчиком инопланетного софта: «Случись что, моя задница приняла бы основной удар»
2016-12-09 в 21:01, admin, рубрики: edisonsoftware, Блог компании Edison, марсоход, отказоустойчивость, Программирование, проектирование, Промышленное программирование, разработка, Разработка робототехникиВ день программистки, представляем вашему вниманию интервью с разработчиком, который смог отдебажить марсоход за 18 часов на расстоянии 100 миллионов миль. Тем более, что часть кода космического аппарата была написана на языка Ada.

DDJ: Вы программируете компьютеры, которые работают на поверхности другой планеты. Вот это необычно!
GR: Это необычно и для меня, могу вас заверить. Это такой микромир, где все сосредоточены на том, чтобы все задачи следующего дня были выполнены в соответствии с планом.
Вы идете домой в 3 утра, все еще в напряжении от просмотра возвращающейся информации и бессонной ночи. Ваши жена и дети уже спят, вам же точно не уснуть, а в 8 утра уже надо быть на работе. Поэтому вы включаете CNN и смотрите на свое улыбающееся лицо в контрольном центре и смотрите на те же изображения, которые вы просматривали 12 часов назад. Очень странное ощущение.
Это был маленький проект маленькой кампании, однако он очень повлиял на многих из нас. Отмечу также, что с технической точки зрения, проект был своевременным.
Читать полностью »
Первый баг на Марсе
2016-12-09 в 13:17, admin, рубрики: debug, priority inversion, баг, Блог компании PVS-Studio, отладка, Промышленное программирование, тестирование, Тестирование IT-системВ 1971 году СССР доставили на Марс первые в мире планетоходы «на лыжах», которые должны были щупом (динамический пенетрометр и гамма-лучевой плотномер) ткнуть поверхность, и сказать — Марс твердый или жидкий пыльный. Первый аппарат разбился 27 ноября, второй совершил мягкую посадку 2 декабря, но марсоходик не смог выбраться из «скорлупы» посадочного модуля, поэтому попытку не засчитали.
Прошло 25 лет.
4 июля 1997 года на Марс прилетел американский аппарат и привез «пришельца» с первым багом.
Кадр из к/ф «Марсианин». Главный герой держит в руках марсоход Sojourner
Проект был под угрозой, но мощные инструменты отладки операционной системы и отличная работа программистов на Земле (парни, что надо) позволили в кратчайшие сроки все быстренько исправить.
Читать полностью »
Реализация протокола MIL-STD-1553 на STM32
2016-11-29 в 12:37, admin, рубрики: C, MIL-STD-1553, stm32, интерфейсы, микроконтроллеры, МКИО, программирование микроконтроллеров, Промышленное программированиеОднажды, появилась необходимость использования в нашем устройстве мультиплексного канала обмена информацией (МКИО), он же ГОСТ Р 52070-2003, он же MIL-STD-1553В. Первоначальный результат поисков несколько удивил: типовые решения выдаваемые поисковой системой, как правило, основывались на использовании ПЛИС. Поскольку решать проблему нужно было быстро, появилась мысль сделать конвертер протокола из MIL-STD-1553 в MODBUS RTU. При этом постараться использовать достаточно недорогие технические решения и микроконтроллер из семейства STM32.
На фото из Википедии: F16, на котором впервые был использована шина MIL-STD-1553В. Наши устройства не летают :), поэтому каких либо ограничений по применению элементной базы нет. Просто у Заказчика приборная сеть построена на основе этой шины. Первая часть статьи описывает прием и передачу по шине МКИО, вторая часть будет про конвертер в MODBUS.
Читать полностью »
Особенности построения тестов и разработки ПО, используемого в тестировании продукта на сборочных линиях
2016-11-28 в 15:00, admin, рубрики: автотестирование, Анализ и проектирование систем, Промышленное программирование, сборочная линия, метки: автотестирование, сборочная линияЗадача: Компания (далее Компания) разрабатывает и выпускает некоторый продукт (далее Продукт). Необходимо создать программное обеспечение для проверки Продукта на сборочной линии (далее Линия) некоторой сторонней или принадлежащей компании фабрике (далее Завод).
Вы: разработчик тестового ПО для проверки Продукта, или менеджер этих разработчиков, или вообще менеджер, или инженер, или тестер широкого профиля… в общем лицо, ответственное теперь за проверку работы Продукта на выходе. У вас есть некоторый опыт лабораторного тестирования, но нет накопленного опыта работы с фабрикой.
Цель: Грамотно сгладить ошибки разработки тестового ПО для фабрики, допускаемые в процессе жизненного цикла Продукта.
Примечание: под Продуктом понимается некоторое устройство или его часть, обладающее внутренней логикой, SW / FW / Функционал которого требуется проверить. Пример: сотовый телефон, контроллер, программируемые устройства, материнская плата.
Читать полностью »
Формат JDF. Автоматизация процессов в полиграфическом производстве
2016-11-27 в 19:08, admin, рубрики: jdf, web2print, Промышленное программирование, метки: jdf, web2printПредыстория
Много лет компании-разработчики специализированного для типографий ПО создавали программные комплексы один мощнее другого и все предлагали автоматизировать процессы с помощью специальных форматов файлов, софта и оборудования. Но загвоздка была в том, что купив печатную машину с поддержкой формата передачи данных от условной компании X, типография была вынуждена покупать у этой же компании X и другое оборудование и программное обеспечение всю свою жизнь.
По этой причине ситуация на рынке сложилась такая, что большинство созданных систем автоматизации не пользовались спросом у типографий.
И тут появляется .jdf и CIP4
И вот в 1999 на помощь печатной индустрии пришёл консорциум CIP4, чьё название расшифровывается как “Cooperation for the Integration of PrePress, Press, PostPress and Process”.
Читать полностью »
Информационная безопасность АСУ ТП: Дон Кихот в эру кибероружия
2016-11-26 в 15:52, admin, рубрики: ics, ISA 62443, IT-стандарты, NIST 800-53, NIST 800-82, plc, scada, автоматизация, Анализ и проектирование систем, асу тп, информационная безопасность, критически важные системы, Промышленное программирование, функциональная безопасность
В данной статье проведена систематизация требований к информационной безопасности (ИБ) АСУ ТП. Требования выбраны из доступных на настоящий момент стандартов, в первую очередь, из NIST SP 800-82 «Guide to Industrial Control Systems (ICS) Security» и разрабатываемой новой редакции серии ISA/IEC 62443 «Security for Industrial Automation and Control Systems».
АСУ ТП взаимодействуют с объектами физического мира и обеспечивают защиту от аварий и катастроф. В англоязычной литературе АСУ ТП называют Industrial Control Systems (ICS) или Industrial Automation and Control Systems (IACS). В мире IT технологий их можно сравнить с Дон Кихотом, который остался верен простым, но не очень модным принципам в уже давно изменившемся мире.
Поэтому, была проведена параллель с функциональной безопасностью и рассмотрен комплекс требований, позволяющих обеспечить обе стороны безопасности АСУ ТП, и функциональную, и информационную.
Похожие проблемы следует решать и для других кибер-физических систем, включая IoT и встроенные управляющие системы.
Читать полностью »