Hello, Alpha-X
الذهاب إلى القناة على Telegram
Мы — производители российского ПЛК Alpha-X. Ведем канал для энтузиастов АСУ ТП и всех, кто любит программировать контроллеры.
إظهار المزيد247
المشتركون
لا توجد بيانات24 ساعات
-27 أيام
-130 أيام
أرشيف المشاركات
Предновогодний мем
У инженеров АСУ ТП праздники порой проходят не так, как у обычных людей. Например, случилась ошибка в программе, остановилось производство, и нужно срочно все исправлять.
Желаем вам успехов в наступающем году, и чтобы подобных ситуаций было как можно меньше 😄
Как появился микроконтроллер
В прошлом посте мы сравнивали микроконтроллер и микропроцессор. Это действительно разные устройства. Но исторически они очень связаны. Давайте попробуем разобраться 👇
Предпосылки
С появлением интегральным схем инженеры и разработчики понимали: такой подход позволит создавать вычислительные устройства и компьютеры размером значительно меньше дома.
Первым микропроцессором на кремниевом кристалле неофициально стал CADC: система для управления полетом истребителя F-14 Tomcat. Кроме микропроцессора, здесь также использовались несколько MOS интегральных схем.
Развитие микропроцессоров
В 1971 появляется первый серийный МП компании Intel: однокристальный 4004. За ним последовали 4-битный Intel 4040, а также 8-битные 8008 и 8080.
После появляются Motorola 6800, MOS 6502 и Zilog Z80: в несколько раз дешевле Intel, и при этом не уступающие в характеристиках. Так начинается революция, приведшая в 80-х годах к появлению доступных домашних ПК.
Появление микроконтроллеров TI
Проблема 70-х годов состояла в том, что всем МП требовались дополнительные внешние чипы памяти и ввод/вывод. Это делало стоимость всей системы слишком высокой — сотни долларов.
В 1971 году инженерам Texas Instruments Гэри Буну и Майклу Кохрану приходит в голову идея: создать устройство, объединяющее в себе ПЗУ, ОЗУ, процессор и интерфейсы на одном чипе. Так в 1974 году появился TMS 1000, который при оптовой цене в 2 доллара мгновенно стал пользоваться спросом у производителей бытовых приборов, автомобилей и игровых автоматов. К 1979 году ежегодного продавалась больше 26 миллионов МК TI.
Ответ Intel
Первооткрыватели микропроцессора не могли спокойно смотреть, как Texas Instruments захватывает огромный сегмент рынка. В 1976 году они выпускают микроконтроллер 8048, в котором на одном чипе располагалась ПЗУ и RAM. Кстати, внутри была и энергонезависимая EEPROM: чтобы ее стереть, нужно было вручную посветить ультрафиолетом через специальное прозрачное окно в корпусе.
Микроконтроллеры Intel стали использоваться, прежде всего, в составе клавиатур. В 80-х годах ежегодный объем продаж МК семейства MCS-48 составлял десятки миллионов штук в год.
С этого периода микроконтроллеры прочно вошли в нашу жизнь и используются в огромном количества разных устройств. В том числе и нашем ПЛК Alpha-X 🙂
Есть ли разница между микроконтроллером и микропроцессором
Мы часто слышим этот вопрос от клиентов. И если глубоко не погружаться в тему, то на первый взгляд может показаться, что устройства очень похожи. Но на самом деле между ними есть критически важные отличия 👇
Микроконтроллер (МК) — это микросхема, в которой на одном кристалле расположены как вычислительное устройство, так и другие компоненты. Например, ПЗУ, ОЗУ, входы/выходы, таймеры, АЦП, интерфейс UART и даже Wi-fi или Bluetooth модули. Некоторые микроконтроллеры поддерживают подключение внешних периферийных устройств. Например, если не хватает встроенной ПЗУ.
МК — отличное бюджетное решение, на базе которого работают тысячи промышленных приборов и ПЛК. Производительности микроконтроллеров хватает для быстрого запуска простых ОС (особенно в сравнении с микропроцессорами, запускающими Линукс), а также для автоматизации разных узлов вроде котельной, вентиляции, РБУ и многого другого.
Микропроцессор (МП) — содержит только арифметико-логическое устройство, блок синхронизации и управления, запоминающее устройство, регистры и шину. Задача МП намного более узкая: взять на себя выполнение только арифметических и логических операций. Все остальные компоненты вроде ОЗУ, ПЗУ, интерфейса и прочего подключаются к МП извне.
Это позволяет создавать устройства с большей вычислительной мощностью, под управлением «тяжелых» ОС вроде Линукса. Такой подход используется, например, в большинстве персональных компьютерах.
Но выбор подхода всегда зависит от задачи. Например, ПЛК Alpha-X работает на базе 32-битных микроконтроллеров с архитектурой RISC-V и ARM. И этого с запасом хватает для объемных программ автоматизации до 1000 точек.
+7
Отладка на платформе AXCode
В Alpha-X есть два основных способа отладки кода. Давайте разберемся с ними подробнее — листайте карточки 👉
И не забудьте поделитесь в комментариях, какой способ вам ближе 😏
Что такое IEC 61131 на самом деле
Многие ссылаются на этот стандарт ПЛК, когда говорят о языках программирования. Но на самом деле IEC 61131 — это серия стандартов, которая содержит целых 10 частей. Описание ЯП приводится только в третьей части стандарта.
Полный состав стандартов:
▪️ IEC 61131-1: Общие сведения. Это вводная глава, содержит определения терминов, которые используются в последующих частях стандарта, и описывает основные функциональные свойства и характеристики ПЛК.
▪️ IEC 61131-2: Требования к оборудованию и тесты.
▪️ IEC 61131-3: Языки программирования.
▪️ IEC 61131-4: Руководство пользователя.
▪️ IEC 61131-5: Связь.
▪️ IEC 61131-6: Функциональная безопасность.
▪️ IEC 61131-7: Программирование нечеткого управления.
▪️ IEC 61131-8: Рекомендации по применению и реализации языков программирования.
▪️ IEC 61131-9: Одноточечный интерфейс цифровой связи для небольших датчиков и исполнительных устройств (IO-Link).
▪️ IEC 61131-10: формат XML для экспорта и импорта проектов IEC 61131-3.
Кстати, все испытания Alpha-X и модулей расширения проводились в соответствии со стандартом IEC 61131-2. По результатам испытаний мы получили декларацию о соответствии требованиям ТР ТС «О безопасности низковольтного оборудования» и «Электромагнитной совместимости
технических средств».
Про это еще поговорим в будущих постах.
Автоматизированная пайка SMD компонентов
В одном из прошлых постов мы показывали часть процесса пайки при производстве плат для модулей расширения.
Сегодня хотим поделиться с вами видео и других этапов работы. Уверены, для многих подписчиков это будет интересно 💪
Бескорпусная версия ПЛК
Недавно мы рассказывали, что участвовали в выставке Агропродмаш-2024. И упоминали, что на нашем стенде была представлена бескорпусная модификация контроллера. В посте расскажем о ней подробнее.
В чем идея
На самом деле не всем требуется ПЛК в корпусе. Многие клиенты производят установки, в которых нет отдельного шкафа управления: вся электроника встроена внутрь оборудования. Для чего им переплачивать за корпус? Эта модификация контроллера получила название Alpha-M.
Кому подойдет
Alpha-M разработан специально для готовых решений под OEM-клиентов. Например, в ближайшем будущем он будет использоваться в системе управления хлебопекарными ротационными печами.
Чем отличается
Бескорпусная версия ПЛК работает на такой же платформе AXCode — никаких отличий в плане программирования нет. При этом на борту представлен больший набор встроенных входов/выходов:
▪️14 дискретных входов, разделенных на 2 группы. Каждая группа может работать либо по схеме NPN, либо по схеме PNP;
▪️2 транзисторных выхода типа PNP;
▪️8 релейных выходов;
▪️2 аналоговых входа для подключения датчиков температуры (термосопротивлений 50М, Pt100, 100П, Pt1000, а также термопар J, K, L, B, S);
▪️2 аналоговых входа для подключения унифицированных сигналов 4…20мА / 0…10 В;
▪️3 входа для подключения кондуктометрических датчиков уровня.
Если количества входов все равно не хватает, на плату можно установить два дополнительных модуля расширения.
Alpha-M имеет несколько коммуникационных портов: два RS-485 (с гальванической развязкой и без), один RS-232 для связи, например, с панелью оператора, и один USB — используется для загрузки и отладки ПО. Дополнительно можно установить SD-карту.
Что по стоимости
За счет отказа от корпуса и размещения большего количества входов/выходов на одной плате, Alpha-M будет стоить дешевле, чем Alpha-X вместе с отдельными модулями расширения. Цена бескорпусной версии составит 33 300 рублей с НДС.
А для вас актуально применение бескорпусной версии? Если да, то в каком процессе?
+6
Отличия обычного массива в C++ и ETL::array
Мы уже рассказывали про ETL библиотеку: про ее возможности и отличия от STL. И упоминали, что для программистов владение ETL повышает удобство разработки. Как именно? Листайте карточки, где мы сравнили два примера создания массивов в C++.
Полезная литература для инженера АСУ ТП
Мы считаем, что база программирования ПЛК закладывается не только в практической работе, но и в процессе изучения полезной литературы. Например, для нас настольная книга — это «Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования».
Поделитесь, что бы вы порекомендовали почитать всем инженерам АСУ ТП?
Пятничный мем
А у вас бывала такая ситуация? Когда возвращаетесь к написанной вами же программе, но не можете вспомнить логику? 😄
Как появились интегральные схемы
Они есть практически во всех современных электронных устройствах: смартфонах, мониторах и компьютерах. ПЛК тоже не исключение: готовые интегральные схемы (ИС) в нем отвечают за связь по интерфейсу или за хранение данных в энергонезависимой памяти.
Но интересно, а кому и когда пришла в голову идея «вырастить» все электронные компоненты, от резисторов до транзисторов, на едином кристалле, чтобы получить невероятно компактные микросхемы? На фото выше из журнала Time: первая ИС сравнивается по размеру с 10-ти центовой монетой.
Предыстория
В 1948 году в лаборатории Bell Labs под руководством Уильяма Шокли разработали первый биполярный транзистор — великолепную альтернативу громоздким вакуумным радиолампам. Видя перспективы изобретения, Шокли в 1955 году уволился из Bell Labs и основал собственную компанию Shockley Semiconductor Laboratory по производству транзисторов на основе германия и кремния. Кстати, ее офис располагался в Маунтин-Вью в Калифорнии — позже эта локация получила название «Кремниевая долина».
Идея
Шокли активно привлекал на работу молодых специалистов, увлеченных новым направлением — полупроводниковой технологией. Одним из них стал Роберт Нойс. Молодой человек за год работы высказал две гениальные идеи: туннельного диода с быстродействием в пикосекунды, а также интегральных схем.
Дело в том, что уже тогда требовались логические схемы, построенные на нескольких транзисторах и других компонентах вроде конденсаторов и резисторов. Однако у элементов есть определенный размер: они достаточно маленькие, но соединять их потом в разветвленных цепях очень трудоемко. Да и чем сложнее схема, тем больше получится плата. А что, если вырастить все на крошечном кремниевом кристалле?
Реализация
Шокли не оценил идеи Нойса, поэтому молодой человек вместе с семью коллегами уволился и основал компанию Fairchild Semiconductor — в истории эта группа получила прозвище «Восьмерка предателей». Всего за пару лет они разработали несколько революционных технологий, без которых реализация ИС была бы невозможна. Например, планарную технологию, а также метод нанесения металлических дорожек вакуумным напылением.
27 сентября 1960 года была представлена первая в истории интегральная схема. Это был триггер, реализованный на четырех транзисторах и пяти резисторах, на кристалле кремния толщиной 80 мкм.
Наследие
В 1961 году Fairchild Semiconductor запустило производство целой линейки триггеров, выполненных в виде интегральных схем. За следующие несколько лет были проданы миллионы ИС, и они даже использовались в компьютере Apollo Guidance Computer, который управлял лунными модулями.
Тем не менее в 1967 году компания прекратила существование, не выдержав конкуренции с Texas Instruments. А Роберт Нойс с двумя коллегами основал компанию Intel. Но это уже совсем другая история…
+7
Как работать с дискретными входами и выходами на платформе AXCode
Сегодня разбираемся, как считать сигнал индуктивного датчика или включить лампочку при помощи входов/выходов модулей расширения Alpha-X, подключенных к CPU. Листайте карточки 👉
Панели оператора vs ПЛК
Многие современные HMI поддерживают выполнение макросов, которые пишутся на разных языках — например, на том же C. Это позволяет закрыть некоторые простые задачи автоматизации технологических процессов, такие как управление погружными насосами, и другие.
Но можно ли вообще отказаться от ПЛК и реализовывать весь алгоритм только на панели? Есть три основные причины считать, что нельзя.
1️⃣ Разработка. Редакторы таких макросов менее удобны, чем используемые для ПЛК. Например, обычно в них не поддерживаются подсказки, автодополнение и отсутствует удобная навигация между объектами. Не всегда есть возможность разделять код на файлы и устанавливать дополнительные расширения для оптимизации процесса написания кода. Все это усложняет работу над объемными проектами.
2️⃣ Отладка. Здесь тоже более скудные возможности, чем в средствах отладки для ПЛК: нет онлайн отображения значений в переменных, поиска связей между ними и пошаговой отладки.
3️⃣ Архитектура ПО — самое важное отличие. В панели оператора главная задача все-таки — отображение визуализации, а выполнение макросов не является приоритетной задачей.
Поэтому возможны ситуации, при которых задача визуализации будет занимать больше времени, чем обычно. Из-за этого нужный макрос не будет вызываться с требуемой периодичностью. А это может стать критическим моментов для процессов, в которых нужно гарантировать определенное время реакции системы.
А что вы думаете по поводу такого использования панелей оператора?
Что такое библиотека ETL
Наверняка любой, кто имел дело с программированием на С++, слышал про Standard Template Library (STL) — стандартную библиотеку шаблонов. По сути она является набором алгоритмов и инструментов для удобной работы с данными. С помощью STL программисты могут писать код проще и эффективнее.
Но хотя библиотека содержит много полезных и хорошо протестированных функциональных возможностей, есть и ограничения. Например, в STL поддерживается динамическое выделение памяти. Однако во встраиваемых системах вроде ПЛК это скорее недостаток из-за ограниченности ресурсов, особенно в сравнении с ПК. Да и статическое выделение памяти повышает детерминированность системы.
Тогда на помощь приходит Embedded Template Library (ETL). Она предназначена для использования как раз в подобных встраиваемых системах, построенных на микроконтроллерах, где есть ограничения в памяти. Библиотека ETL позволяет заранее задать максимальный размер любого объекта. Распределение памяти известно ещё на этапе компиляции программы и не может измениться в процессе выполнения.
Если кратко, ETL включает в себя:
▪️ контейнеры
▪️ паттерны
▪️ математические функции
▪️ алгоритмы
Но возникает вопрос: нужно ли программисту знать и уметь пользоваться ETL при написании кода для ПЛК? На самом деле, необязательно. Однако использование ETL однозначно позволит сократить время разработки и допускать меньше ошибок при программировании.
О том, какие возможности для программирования открывает ETL, поговорим в следующий раз. Разберем на примере сравнения обычного массива в C++ и etl::array.
Встроенные примеры кода в AXCode
В шаблоне программы пользователя есть корневая папка examples, в которую мы добавили примеры взаимодействия с основными аппаратными средствами ПЛК. Не помните синтаксис работы с дискретными выходами? Не беда! Заходите в эту папку, находите нужный пример и копируете его в свою подпрограмму.
На данный момент в шаблоне содержатся примеры работы со встроенными входами/выходами, модулями расширения, таймерами и триггерами, ModBUS RTU в режиме Master и Slave, и некоторыми другими. Полезно, если забыли какие-то нюансы реализации.
А какие примеры были бы полезны вам?
Работа с SD-картами в Alpha-X
Сейчас наши разработчики ведут активную работу по добавлению в ПЛК функционала работы с SD-картами. Уже реализовали базовые функции работы с файлами: копирование, удаление, вставка, корректировка размера и многое другое. Следующим шагом планируем добавить функции, которые облегчат для пользователя процесс работы с архивами и рецептами.
А для каких целей вам была бы полезна SD-карта в ПЛК?
+1
Агропродмаш-2024
С 7 по 11 октября мы принимали участие в крупнейшей выставке, проходившей в московском «Экспоцентре» и посвященной оборудованию для пищевой и перерабатывающей промышленности. На нашем стенде был представлен, в том числе ПЛК Alpha-X с модулями расширения. За время выставки наши инженеры пообщались с десятками людей, проявивших интерес к контроллеру российской разработки и захотевших попробовать его в составе своего оборудования 👍
Кстати, на фотографии стенда вы можете видеть опытный образец ПЛК в бескорпусном исполнении. Отличное решение для тех клиентов, которым требуется встраивать ПЛК непосредственно внутрь своего оборудования. Об этом еще расскажем в будущих постах.
А вы были на выставке Агропродмаш-2024? Если да, поделитесь впечатлениями
Как появился язык C++
В сегодняшнем посте расскажем историю появления одного из самых популярных языков программирования в мире — C++, который также является важной частью нашей платформы AXCode. Причем этот ЯП любят не только разработчики, но и многие инженеры за его колоссальные возможности и большой набор библиотек.
С чего все началось
В 1969 году двое разработчиков из Bell Labs, Кен Томпсон и Деннис Ричи, разработали операционную систему Unix для компьютеров PDP-7 и PDP-11. Делали они это на ассемблере — как вы понимаете, весьма трудоемкая задача. Но теперь для новой платформы нужно было создавать десятки и сотни утилит. Неужели все время придется мучиться с низкоуровневым языком?
Томпсон и Ричи решили упростить всем жизнь, и спустя год представили новый язык B — что-то среднее между низким и высоким уровнем программирования. По сути язык представлял собой урезанную версию языка BCPL (Basic Combined Programming Language), который был намного проще для разработчиков. На языке B, кстати, была написана культовая программа «Hello, world».
Как появился предшественник, язык С
Язык B имел огромный недостаток — в нем вообще не было типов данных, да и работал он на архитектуре PDP компьютеров слишком медленно. Томпсон и Ричи решили выпустить новую версию с первоначальным названием New B. В него уже добавили массивы, поддержку типов данных вроде int, char и struct, и многое другое. После релиза в ноябре 1973 году для ядра Unix язык получил название C.
Как появился сам C++
К концу 70-х годов язык C уже стал массовым явлением — Томпсон и Ричи даже написали культовую книгу The C Programming Language по многочисленным запросам пользователей. Однако и С не был лишен недостатков. С ними столкнулся сотрудник Bell Labs Бьёрн Страуструп во время работы над докторской диссертацией в 1979 году. Ему не хватало более высокоуровневых абстракций при разработке больших программ.
Так появился новый язык, в котором добавили такие полезные штуки, как классы, объекты, наследование, полиморфизм, комментирование и многое другое. Это позволяло писать код намного эффективнее. Релиз состоялся в 1983 году, но вместо первоначального названия C with classes Страуструп назвал язык C++ — с отсылкой к оператору инкремента.
За 40 с лишним лет для языка C++ выпустили десятки учебников, несколько ISO стандартов и множество обновлений, а пользуются им миллионы разработчиков.
Правильный ответ
На самом деле, ошибка в схеме подключения термосопротивления к клеммам 16 и 17. Если используется двухпроводный датчик, то нужна дополнительная перемычка между клеммами 17 и 18.
