Обновить
56.01

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

Все об АСУ ТП

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

Чёрная Лямбда ефрейтора Волкова: новое направление и гранты на летнюю школу

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


Не далее чем в июле прошла очередная школа GoTo. В этот раз мы решили внести некоторое разнообразие в стандартный набор Ардуин, Питонов, и прочих, и случился Хаскелль. Небольшое отделение из 6 юношей (кусочек нашего общего взвода в 60 человек) бодро промаршивало по $\lambda$-исчислению, основам синтаксиса, прошло посвящение в ФП написанием факториала, посворачивало списки, научилось словосочетанию "параметрически полиморфная функция высшего порядка" и присущему этому пониманию типов и тайпклассов под предводительством ефрейтора Волкова.


А ещё у нас были элементы инфобеза, криптовалюты, React Native, nix, и, конечно, git.


И мы начали писать книгу про Haskell.


В общем, получилось задорно.


(Под катом картинки участников, лямбды, илосос, анонс нового направления и гранты)

Читать дальше →

Фотографируем объекты в C#: хроника и сопоставление снимков, реконструкция состояния по снимку

Время на прочтение4 мин
Количество просмотров6.2K
При разработке приложений часто встречается следующий сценарий: имеется некоторый набор данных доступных для просмотра и редактирования, например, это могут быть бизнес-сущности или настройки приложения. В момент, когда пользователь решает что-либо отредактировать, ему обычно становится доступна специальная форма с нужными полями ввода-вывода и другими элементами управления. Если он вносит какие-либо корректировки в данные, то при обработке формы хорошим тоном является запрос-подтверждение перед окончательным применением внесённых правок. В случае согласия пользователя данные обновляются в источнике и на интерфейсе, а при отмене используются старые значения.

Данная задача включает две подзадачи:

1) когда пользователь уходит с формы редактирования, необходимо понимать, действительно ли он произвёл изменения, чтобы не задавать вопрос на подтверждение впустую и не перезаписывать идентичные данные;

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

В статье мы рассмотрим обобщённый и очень лаконичный [размером в несколько строк кода!] подход к решению подобного рода задач, основанный на использовании библиотеки Replication Framework.

image
Читать дальше →

Лекция о двух библиотеках Яндекса для работы с большими данными

Время на прочтение8 мин
Количество просмотров13K
Пару недель назад в Яндексе прошла встреча PyData, посвящённая анализу больших данных с использованием Python. В том числе на этой встрече выступил Василий Агапитов — руководитель группы разработки инструментов аналитики Яндекса. Он рассказал о двух наших библиотеках: для описания и запуска расчетов на MapReduce и для извлечения информации из логов.


Под катом — расшифровка и часть слайдов.

ПЛК от производителей Овен, Segnetics и Schneider Electric для HVAC

Время на прочтение7 мин
Количество просмотров56K
В этой статье краткий обзор программируемых контроллеров для HVAC (отопление, вентиляция и кондиционирование) от 3х производителей:


Исходя из личного опыта их использования.



Обобщённое копирование связных графов объектов в C# и нюансы их сериализации

Время на прочтение7 мин
Количество просмотров6.5K
Задачи по копированию отдельных объектов и связных графов часто встречаются в программировании. Методов их решения существует несколько в зависимости от исходных условий и требований. Цель статьи — рассмотреть ключевые разновидности решений, обозначить область применения, выделить преимущества и недостатки.

image
Читать дальше →

Цифровой датчик температуры TSic: адреса, пароли, явки

Время на прочтение10 мин
Количество просмотров12K
Продолжаем серию материалов об особенностях применения различных датчиков и чувствительных элементов.

Герой сегодняшней статьи, на первый взгляд, не представляет собой ничего особенного — мало ли мы видели цифровых датчиков температуры. Однако у серии TSic есть два необычных свойства: действительно высокая точность (до ±0.07°C у старшей модели) и малоизвестный однопроводной интерфейс ZACwire.

Под катом подробно описываем номенклатуру стандартных датчиков TSic и кастомные решения, разбираемся в особенностях коммуникационного протокола, смотрим примеры программ для МК. Словом, делаем всё чтобы убедить уважаемого читателя в том что датчики TSic стоят своих денег.

Replication Framework • глубинное копирование и обобщённое сравнение связных графов объектов

Время на прочтение12 мин
Количество просмотров5.5K
Приветствую, читатель!

Хочу познакомить тебя с молодой, но многообещающей библиотекой Replication Framework для платформы .NET (возможно, при наличии достаточного интереса к теме в дальнейшем будет также реализована Java-версия). Библиотека является портабельной (portable) и может быть использована в любом проекте под Microsoft .NET или Mono.

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

image
Читать дальше →

Машинное обучение и анализ данных: решаем практические задачи с победителями индустриального хакатона ЛК

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


Как вычислить замыслы киберпреступников, атакующих промышленный объект и распознать слабые сигналы SOS, которые периодически подает индустриальная АСУ ТП на фоне “нормального” поведения, – об этом и многом другом поговорим уже в ближайшую среду, 7 июня, на встрече CoLaboratory: Deep Learning в центральном офисе “Лаборатории Касперского”. Всех неравнодушных к теме промышленной безопасности ждет захватывающее погружение в мир машинного обучения и анализа данных под руководством победителей весеннего индустриального хакатона ЛК и экспертов нашей компании.
Читать дальше →

Онлайн курс «Функциональная безопасность компьютерных систем»

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

Источник

Вашему вниманию предлагается статья о том, как был создан онлайн курс по тематике «Функциональная безопасность». Сервисы онлайн обучения располагают студийным оборудованием для записи высококачественного звука и видео. А если вдруг представить, что доступа у вас к подобным ресурсам нет, а учебный материал надо подготовить для использования в онлайн режиме? Автор решил поделиться собственным опытом и раскрыть следующие вопросы:

— мотивация или зачем и кому это надо;
— инструменты подготовки и записи;
— содержание Massive Online Open Course (MOOC) по функциональной безопасности;
— дальнейшие шаги по развитию продукта.
Читать дальше →

Индустриальный митап #3: в фокусе – безопасная автоматизация техпроцессов

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


1 июня в московском офисе «Лаборатории Касперского» в рамках платформы CoLaboratory пройдет третья встреча, посвященная индустриальной безопасности, а именно — защите АСУ ТП. Мы обсудим особенности и технологии ИБ-процессов на производстве, начиная от общих советов по поиску дыр в системе и заканчивая методами машинного обучения для обнаружения аномалий. Отдельное внимание будет уделено специальному проекту, выявляющему уязвимости за вас. Наших гостей ждут три доклада.
Читать дальше →

Ещё больше простых багов [язык Ада]

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

(Many) More Low Hanging Bugs


Примечание переводчика. На Хабре практически полностью отсутствуют публикации, связанные с языком Ада. А ведь это — живой язык, на котором пишут программы, для которого разрабатываются инструменты статического анализа. Чтобы хоть немного заполнить этот информационный вакуум на Хабре, я решил перевести небольшую заметку, связанную с данным языком. Почему её? В ней упоминается PVS-Studio, и мне это приятно :). Плюс, возможно, российские разработчики на языке Ada узнают о новом для себя инструментарии и увидят, что они совсем не одиноки, и жизнь продолжает кипеть в мире Ада.
Читать дальше →

Функциональная безопасность, часть 7 из 7. Методы обеспечения информационной и функциональной безопасности

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

Источник

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

Большинство методов может применяться, в том числе, и для обеспечения информационной безопасности в рамках концепции интегральной безопасности (safety & security) современных систем управления.

Набор анализируемых методов базируется на требованиях МЭК 61508 «Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью» (IEC 61508 Functional safety of electrical/electronic/programmable electronic safety-related systems). В части специфики обеспечения информационной безопасности АСУ ТП за основу взят NIST SP 800-82 «Guide to Industrial Control Systems (ICS) Security», рассмотренный в одной из предыдущих статей.
Читать дальше →

Броня крепка, и танки наши быстры

Время на прочтение12 мин
Количество просмотров17K
Приветствую всех любителей тяжелой техники. Сегодня в блоге группы компаний ЛАНИТ исторический пост. Он посвящен приближающемуся Дню Победы.

Пока мировые державы продолжают состязаться в военном оснащении и демонстрируют всё более совершенные образцы бронетехники, я хочу вам рассказать пару историй из советского танкостроения. Тем более что многие современные модели – это не что иное как новейшие модификации машин прославившихся серий.

В этих историях я принимал либо косвенное, либо непосредственное участие и видел, какие трудности приходилось преодолевать конструкторам и технологам.

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



Рисунок 1. Источник
Читать дальше →

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

GoTo Data Science Challenge 2: гранты на летнюю школу

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

Мы анонсируем конкурс для получения грантов в рамках направления по анализу данных и машинному обучению летних школ GoTo. К участию приглашаем школьников и младшекурсников. В качестве задания предлагается kaggle-соревнование от Quora, в котором необходимо построить модель для определения вопросов-дубликатов.


image


Под катом описание условий задачи, ссылки на полезные материалы и пример простого решения.


Читать дальше →

Дилетантское ЧПУ?

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


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

Однажды нам понадобилось организовать управление для самодельной штамповочной линии. Линия самодельная, а значит и управление, сделаем самодельное. Мы не использовали промышленные стандарты для передачи данных. Было решено, всё сделать из подручных материалов и ненужного старого компьютера. Главные условия: просто, дёшево, быстро. Надёжность – как получится. Расскажу, как мы это сделали.
Читать дальше →

Первые шаги к Web SCADA-системе. Оживляем мнемосхему в браузере с помощью AngularJS

Время на прочтение8 мин
Количество просмотров20K
Сегодня мы поговорим об отображении мнемосхем технологических объектов в браузере посредством таких технологий как SVG, JavaScript и т.д.

Опишем, что мы хотим получить:

  • Мнемосхема открывается в браузере. Графика – SVG.
  • Вверху мнемосхемы кнопки переходов на другие мнемосхемы.
  • Данные обновляются раз в секунду.
  • По клику на изображение выключателя появляется окно, из которого его можно включить или отключить.

SCADA-система (точнее её серверная часть) позволяет добавлять пользовательские html-страницы. Я не буду вручную набирать код страницы, а нарисую простую схему в редакторе, потом покажу, что получилось и как это работает.
Читать дальше →

Как правильно написать ТЗ на систему или доработку системы 1С

Время на прочтение4 мин
Количество просмотров37K
Для того, чтобы Вам как заказчику, консультанту или методологу понять, что нужно разработчику 1С для того, чтобы доработать Вашу систему или разработать новую, нужно понимать, какими категориями информации он оперирует в ходе своей работы. Это сильно упростит программисту понимание того, что же от него хотят.

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

Данные правила легко соблюдать даже при написании кратких пользовательских историй, если Вы создаете их в рамках проекта SCRUM / Agile.

Итак, приступим.
Читать дальше →

Кинетика больших кластеров

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

Краткое содержание


  1. Фатальная ошибка Мартина Клеппмана.
  2. Физико-химическая кинетика уделывает математику.
  3. Период полураспада кластера.
  4. Решаем нелинейные дифференциальные уравнения, не решая их.
  5. Ноды как катализатор.
  6. Предсказательная сила графиков.
  7. 100 миллионов лет.
  8. Синергия.

В предыдущей заметке мы подробно разбирали статью Брюера и его одноименную теорему. На этот раз займемся препарированием поста Мартина Клеппмана «The probability of data loss in large clusters».

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

Ответ приведен на этой картинке:
Читать дальше →

Пишем редактор мнемосхем для SCADA-системы на Fabric.js. Часть 2-я

Время на прочтение6 мин
Количество просмотров11K
В прошлой статье мы начали писать редактор мнемосхем. Сегодня статья о готовом редакторе. Вот, что получилось:


Читать дальше →

Запускаем датчик скорости потока жидкости

Время на прочтение4 мин
Количество просмотров19K
Пост посвящен датчику скорости потока Out Of Liquid — термоанемометру для измерения расхода жидких сред. Под катом читатель найдет описание принципа работы датчика, а также видео, на котором этот принцип наглядно демонстрируется.



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

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