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

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

Все об АСУ ТП

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

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

Но можно гораздо проще. У нас есть значения A (B, C - свои тех. переменные) и 1 (1,1 те же уникальные тех. переменные из определнных в количестве 10) и 0 (00). Всего 9. 10 последнее испольуем как условную функцию равенства. Теперь аппаратным программированием строим тринарную матрицу 3х3 с 9 возможными значениями для строки. Это по часовой стрелке (A=B=C=(A)?(1)?(0), BCA, CAB или 3 строки). Программируем для столбца, - против. Далее описываем все возможные варианты значений квадратной матрицы третьего порядка. Индекс строки, индекс столбца, матричное значение выражаем линейно распределенными равенствами (предварительно выделив оперативное пространство в параллельной логике: I + ∑I+ ∑∑II + ∑∑∑I,II + ∑∑∑∑II,I + ∑∑∑∑∑III повторяем копированием полностью каждый раз предшествующую запись ∑ и запоминаем вновь образованные входные переменные, банальным равенством f=(₃3³), удов-им О.О.Ф. или 10ой тех-ой переменной из 13 битов) и обрабатываем запросы элеткронно-вычислительной машины, создав таблицы истинности, логические операторы и, конечно, перепроверку USB устройством 3 из 5 каждого посланного и принятого в такте битов (5 тактов для обработки 1 бита). Либо Y - 3 матр. значения, Y - 3 индекса матрицы, Y - вход., вых. приравнивания, переменная.

Теги:
+1
Комментарии0

Важна ли вам защищенность промышленного интернета вещей?

Мы активно разрабатываем технологии для безопасности industrial internet of things (IIoT). За счет быстрого распространения IoT-технологий риск взлома таких устройств и систем постоянно растет.

Если в вашей компании используется IIoT, ➡️ поделитесь мыслями и наблюдениями в опросе.

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

Давайте работать сообща в области исследования угроз, объектов защиты и методов обеспечения безопасности инфраструктуры IIoT🔒

Теги:
Всего голосов 3: ↑3 и ↓0+5
Комментарии0

Всем привет. Возможно, вы помните меня по статьям об изменениях в C++ и о фреймворке 🐙 userver, поэтому сразу к делу. 27 июля я выступаю на конференции C++ Zero Cost Conf, которая пройдёт в Москве и Ереване. Там я поделюсь новостями со встречи Международного комитета по стандартизации языка в Сент-Луисе и расскажу о наших планах на C++26 и C++29. А ещё отвечу на ваши вопросы. Приходите в гости!

Помимо меня, вас также будут ждать: 

  • Константин Владимиров, руководитель отдела компиляторов и средств разработки Syntacore. Покажет развитие архитектуры сложного LLVM-based-C++-проекта и конкретные задачи, возникающие при его развитии.

  • Андрей Аксёнов, руководитель разработки инфраструктуры поиска Авито/Sphinx. Расскажет историю из продакшена с One Billion Row Challenge, парсингом гигабайтов TSV’шек, десятью странными оптимизациями и боттлнеками вообще везде.

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

  • Константин Облаков, старший разработчик браузера Яндекс Поиска и Рекламных технологий. Покажет на практике, как GDB позволяет добиться результатов, недоступных другими методами.

Полный список спикеров и темы докладов смотрите на сайте

Если не получится прийти лично, подключайтесь дистанционно.

Теги:
Всего голосов 5: ↑5 и ↓0+9
Комментарии0

Российская компания «Е-Флопс» рассказала о разработке системной платы под названием «Ключевская» для двух Arm-процессоров.

По данным разработчиков, 20-слойная системная плата «Ключевская» не только многофункциональная, но и максимально компактная в рамках модульной концепции. Её размеры: 44,6х20,3 см.

Технические характеристики платы «Ключевская»:

  • 2 процессора архитектуры ARM64;

  • 48 ядер на процессор, частота до 2,2 ГГц;

  • 12 слотов оперативной памяти при использовании 6 каналов;

  • память стандарта DDR4 (RDIMM, LRDIMM) с частотой 3200 МГц;

  • 80 линий PCIe 4.0, из них 48 линий совместимы с CCIX;

  • встроенный интерфейс USB 2.0;

  • встроенный интерфейс Ethernet 1 Гб/с;

  • 2 разъёма M.2 для встроенных накопителей SSD NVMe x4 M.2 (2242);

  • 2 разъёма PCIe 4.0 x16 для подключения до 8 накопителей M.2 NVMe или специализированных карт расширения с горячей заменой;

  • слот PCIe 4.0 x16 OCP 3.0;

  • 4 разъёма PCIe 4.0x16/CCIX для установки райзеров;

  • 2 сетевых разъёма 10/25 Гб/с и 1x USB 2.0, 1x DP (при установке платы ввода-вывода);

  • разъем 260-pin SODIMM DDR4 (для установки модуля удалённого мониторинга и управления стандарта RunBMC).

Первая ревизия платы была выпущена в качестве макетного образца в 2023 году, все макетные были образцы с ограниченным функционалом, не предполагающим установку процессоров.

Вторая ревизия платы выпущена в качестве опытного (предсерийного) образца в начале апреля 2024 года.

Разработчики сообщили, что в итоге всё протестированное стабильно работает. Первая партия плат выйдет в сентябре 2024 года.

Теги:
Всего голосов 7: ↑7 и ↓0+12
Комментарии0
OEM компьютер AntexGate
OEM компьютер AntexGate

Наконец новый промышленный компьютер на базе процессора broadcom, который полностью совместим с софтом для raspberry можно взять на тест бесплатно. Производство РФ.

Чат - техническая поддержка, и инструкция.

Запрос образца на тест в свободной форме.

Особенности устройства:

Интерфейс Etnernet 100Mb — 1шт;

Интерфейс Etnernet 1Gb — 1шт;

Интерфейс CAN-BUS – 1шт;

Интерфейс RS485 ISOLATED– 2шт;

Интерфейс RS232 – 1шт;

Интерфейс 1Wire – 1шт; Интерфейс USB – 2шт;

Дискретные входы оптопара- 4шт;

Релейные выходы – 2шт;

Выход оптопара – 1шт;

Разъем mPCIe – 1шт (на выбор):

  • Lora;

  • WiFi;

  • 3G/LTE;

  • NB-IOT;

    Разъем m.2 – 1шт Для диска NVMe SSD

    Разъем HDMI;

    Разъем для подключения GSM-антенны;

    Разъем для подключения WiFi-антенны;

    Рабочая температура: -25°C… +80°C. 

    Потребляемая мощность Питание: клеммы DC 12-48В; Passive Poe AC/DC 12-48В; Мощность: 1.56-5.8 Вт в зависимости от конфигурации.

    Системные характеристики Процессор: BCM2711 на базе Raspberry Pi CM4; ЦПУ: 4-ядерный Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz Flash: 8/16/32GB eMMC. RAM: 1/2/4/8GB 

    Поддерживаемые протоколы ModBus; Dmx 512, MQTT, Profinet; LoRaWAN; CAN; OPC UA и доугте

    Поддерживаемых платформы и ПО

    NodeRed; OpenHab; CoDeSys; MasterSCADA 4D; Home Assistant; iRidiumMobile; Совместимый софт с raspberry pi4

    Поддерживаемые веб-сервисы ApacheHTTP; NGINX.

    Операционная система Поддержка Linux, Ubuntu, Debian, Astra Linux, OpenWrt

Теги:
Всего голосов 5: ↑4 и ↓1+3
Комментарии4

Числа, которые должен знать каждый программист в 2024 году и далее:

  • L1 cache reference = 1 ns (1 нс)

  • Branch mispredict = 3 ns (3 нс)

  • L2 cache reference = 4 ns (4 нс)

  • Send 1K bytes over 1 Gbps network = 11 ns (11 нс)

  • Mutex lock/unlock = 17 ns (17 нс)

  • Main memory reference = 100 ns (100 нс)

  • Read 1 MB sequentially from memory = 1 us (1 мкс)

  • Compress 1K bytes with Zippy = 2 us (2 мкс)

  • Read 4K randomly from SSD = 16 us (16 мкс)

  • Read 1 MB sequentially from SSD = 19 us (19 мкс)

  • Read 1 MB sequentially from disk = 474 us (474 мкс)

  • Round trip within same datacenter = 500 us (500 мкс)

  • Disk seek = 2 ms (2 мс)

  • Send packet CA->Netherlands->CA = 150 ms (150 мс)

Графическая визуализация этих и других данных (чисел, констант) для программистов.

Напишите, пожалуйста, в комментариях ваши числа для проектов в 2024 году.

Теги:
Всего голосов 9: ↑5 и ↓4+1
Комментарии4

Какой процент текста программы должны занимать комментарии? Комментировать каждую строку? или через одну? Каждая фирма, разрабатывающая программы испытывает прессинг со стороны программистов/кодеров, которые считают что:

  • в коде переменные и функции имеют значимые названия и поэтому ничего не надо комментировать

  • специалисту и так должно быть все понятно что тут написано

  • Я ко всем функциям и объектам дал пояснения. Этого вполне достаточно.

  • Всякие другие слова, которые объясняют почем комментировать не надо

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

Между ноль комментариев и комментарий к каждой строке лежат все промежуточные состояния.
На картинке ниже тексты от двух библиотек. Слева около 20 процентов комментов, а справа менее 5.
Обе библиотеки работают без проблем. Ну раз нет проблем, так зачем комменты?

Слева ADAFruit справа idiBus
Слева ADAFruit справа idiBus

Разработчик, который сдал готовый отлаженный код, не хочет тратить время на комменты. А я как заказчик текста, хотел бы иметь комментариями минимум 30 процентов текста. Чтобы я мог если надо быстро передать текст другому разработчику. Или на аутсорсинг. Или обновить код через 10 лет. Когда бывший разработчик давно будет хакером на Бали.

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

Теги:
Всего голосов 6: ↑3 и ↓30
Комментарии7

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