Про язык управления промышленными CNC-станками и всевозможными любительскими устройствами вроде 3D-принтеров написано очень много статей, но почитать о том, какова идеология этого языка и как она связана с аппаратной реализацией — почти негде. Поскольку моя работа связана непосредственно с программированием станков и автоматизацией производства, я попробую заполнить этот пробел, а также объяснить, почему выбрал такой странный заголовок.
Читать полностью »
Рубрика «Промышленное программирование» - 4
G-code, потерявшийся брат Assembler-а
2020-10-05 в 1:05, admin, рубрики: g-code, автоматизация предприятий, Программирование, производство, Промышленное программирование, язык программированияEthercat для начинающих
2020-08-26 в 8:45, admin, рубрики: EtherCAT, программирование микроконтроллеров, Промышленное программированиеНекоторое время назад у нас появился объект, где в техническом задании стояло требование: «Протокол Ethercat». В процессе поиска информации я полез на хабр и с удивлением обнаружил, что там разбора этого протокола нет. Да и вообще информация о нем довольно фрагментирована (забегая вперед — я просто не там искал). Проект мы сделали, а эта статья — для «более молодого меня», попытка сэкономить время кому-нибудь еще, кто собирается использовать или просто интересуется этим протоколом.
Единственный нюанс — я опишу довольно низкий уровень работы протокола (Data Layer в терминологии EtherCAT). Потому что именно он нам понадобился и им мы ограничились. Неописанными (пока?) останутся Application Layer протоколы типа CanOPEN-over-EtherCAT (CoE).
Устройство CPython. Доклад Яндекса
2020-07-22 в 7:00, admin, рубрики: cpython, python, Блог компании Яндекс, генераторы, интерпретатор, исключения, память, Программирование, Промышленное программирование, словари, типизация, типы, управление памятьюМы публикуем конспект вступительной лекции видеокурса «Бэкенд-разработка на Python». В ней Егор Овчаренко egorovcharenko, тимлид в Яндекс.Такси, рассказал о внутреннем устройстве интерпретатора CPython.
— Если кратко, какой у нас будет план? Сначала мы поговорим о том, почему будем изучать именно Python. Затем посмотрим, как работает интерпретатор CPython более глубоко, как он управляет памятью, как устроена система типов в Python, на словари, генераторы и исключения. Я думаю, это займет примерно час.
Читать полностью »
Где учиться программированию в Петербурге: программы при поддержке JetBrains
2020-06-22 в 13:01, admin, рубрики: computer science center, Блог компании Образовательные проекты JetBrains, вуз, вшэ, вшэ спб, итмо, машинное обучение, Программирование, программирование для начинающих, Промышленное программирование, Учебный процесс в ITМы заинтересованы в том, чтобы повышать образовательный уровень в IT-сфере, и готовы строить высшее образование вместе с вузом.
В этом посте мы расскажем об образовательных проектах в Петербурге, которые поддерживает JetBrains: о бакалаврских и магистерских программах в НИУ ВШЭ, ИТМО, СПбГУ и о Computer Science Center.
Введение в теорию автоматического управления. Основные понятия теории управления техническим системами
2020-06-02 в 22:11, admin, рубрики: CAD/CAM, Matlab, автоматическое управление, Анализ и проектирование систем, инженерные системы, линейные системы, пид-регулятор, Промышленное программирование, тау, управление техническими системамиПубликую первую главу лекций по теории автоматического управления, после которых ваша жизнь уже никогда не будет прежней.
Лекции по курсу «Управление Техническими Системами», читает Козлов Олег Степанович на кафедре «Ядерные реакторы и энергетические установки», факультета «Энергомашиностроения» МГТУ им. Н.Э. Баумана. За что ему огромная благодарность.
Данные лекции только готовятся к публикации в виде книги, а поскольку здесь есть специалисты по ТАУ, студенты и просто интересующиеся предметом, то любая критика привествуется.
Что делает Rust универсальным языком программирования
2020-05-30 в 21:26, admin, рубрики: Rust, высокоуровневое программирование, низкоуровневое программирование, прикладное программирование, Программирование, Промышленное программирование, системное программирование, языки программирования
Долгое время Rust позиционировался исключительно как язык для системного программирования. Попытки использовать Rust для высокоуровневых прикладных задач зачастую вызывали усмешку у значительной части сообщества: зачем использовать инструмент в том качестве, на которое он не рассчитан? Какая польза от возни с типами и анализатором заимствований (borrow checker), если есть Python и Java со сборкой мусора? Но другая часть сообщества всегда видела потенциал Rust именно как языка прикладного, и даже находила его удобным в использовании для быстрого прототипирования — во многом благодаря его особенностям, а не вопреки им.
Как научиться разработке на Python: новый видеокурс Яндекса
2020-04-24 в 11:21, admin, рубрики: python, Анализ и проектирование систем, Блог компании Яндекс, видеокурсы, курсы по программированию, Программирование, Промышленное программирование, школы яндексаОсенью прошлого года в московском офисе Яндекса прошла первая Школа бэкенд-разработки. Мы сняли занятия на видео и сегодня рады поделиться на Хабре полным видеокурсом Школы. Он позволит вам научиться промышленной разработке на Python. Авторы лекций — опытные разработчики в Яндексе. К каждому видео приложены ссылки на примеры и полезные материалы.
Для изучения курса нужно знать основы Python и понимать, как приложения развёртываются на серверах. Мы ждём, что вы умеете делать запросы к базам данных и знаете, как создаются веб‑приложения, — хотя бы на начальном уровне.
Читать полностью »
Какие алгоритмы разработчики Яндекса реализовывают каждый день
2020-04-23 в 8:00, admin, рубрики: Алгоритмы, Блог компании Яндекс, Программирование, Промышленное программирование, Разработка веб-сайтов, собеседования, технические секцииСпоры о том, нужно ли разработчикам писать алгоритмический код на собеседованиях, бесконечны. В поддержку положительного ответа я уже публиковал рассказ об алгоритмических секциях с написанием кода в Яндексе и примерами задач, которые там можно встретить. Теперь я хочу развить эту тему и показать примеры реального продакшен-кода.
Все примеры когда-то написали конкретные разработчики в процессе решения достаточно рутинных задач. Я никак не улучшал код перед публикацией, лишь местами адаптировал его так, чтобы он был понятен без знакомства с нашей кодовой базой. Поэтому некоторые примеры кода могут показаться вам недостаточно классными, но в условиях постоянного давления сроков невозможно шлифовать абсолютно весь код.
В статье четыре примера. Два на C++, один на TypeScript и один на Python. Способность быстро писать относительно простые алгоритмы без багов — общая необходимость, она не зависит от специализации разработчика.
PVS Studio.VS.Статический анализ GCC 10. Независимый минитест
2020-04-17 в 15:44, admin, рубрики: C, pvs, static code analysis, Промышленное программированиеПосле появления переводной статьи про Статический анализ в GCC 10, и ожидаемой реакции присутствующих здесь представителей разработчика коммерческого статического анализатора PVS-Studio, у меня возник вопрос: «Почему же представители отказываются проверить свой продукт на таких простых примерах для статического анализа, и не скрывают ли они чего?»
Andrey2008 Ды, неинтересно мне это. Поймал/не поймал синтетическую ошибку, это ничего не говорит о возможностях анализатора
Должны же они как то прогонять юнит-тесты своего продукта и как, если не на таких синтетических простых примерах?!
Собственно, пришлось сделать это самому.
Читать полностью »
Дизайн интерфейса для промышленного контроллера
2020-04-05 в 12:48, admin, рубрики: GUI, UI, ui/ux дизайн, UX, дизайн, дизайн интерфейсов, интерфейсы и юзабилити, промышленная автоматизация, Промышленное программирование, промышленный дизайнПривет! Меня зовут Георгий, я дизайнер.
Пока мы все сидим по домам, я решил поделиться опытом в разработке дизайна интерфейсов для промышленной автоматизации.Так сложилось, что дизайном приложений и сайтами занимается большое количество профессионалов. А вот хороших специализированных интерфейсов, предназначенных для управления инженерными системами не так уж много.
Читать полностью »