youengineerasu

youengineerasu

Автоматизация промышленных и домашних объектов - Программирование ПЛК - Программирование панелей оператора - Программирование SCADA Каналы на Дзен и вконтакте: https://dzen.ru/you_engineer https://vk.com/you_engineer_asu https://t.me/you_engineer_asu По всем вопросам пишите: чат: https://t.me/chat_plc Каталог проектов: https://t.me/projects_asutp почта: semgridin@yandex.ru
Пикабушник
379 рейтинг 91 подписчик 8 подписок 76 постов 0 в горячем
8

Вредные советы по CoDeSyS

1. Используйте только однобуквенные имена переменных

Например, вместо `ConveyorMotorSpeed` пишите `x`. Так никто не догадается, что переменная управляет скоростью конвейера, и проект превратится в головоломку для коллег.

2. Не комментируйте код вообще

Пусть все догадываются сами! Например, строчка `IF NOT NOT x THEN y := TRUE;` без пояснений станет загадкой на века. Это добавит проекту атмосферы таинственности.

3. Храните все данные в глобальных переменных

Зачем использовать локальные переменные или структуры? Пусть всё висит в `GVL`, чтобы изменения в одном месте ломали логику в десяти других. Это ускорит развитие хаоса.

4. Пишите всю логику в одном ПЛК-цикле

Забудьте о разделении на функциональные блоки или программы. Дайте все 10 000 строк кода в `PLC_PRG`. Это повысит производительность... ну, как минимум, нагрузку на мозг разработчика.

5. Используйте таймеры и счетчики без сброса

Например, вставьте один таймер `TON` в несколько условий одновременно. Пусть его состояние "плывет" между задачами — это добавит неожиданности в поведение системы!

6. Не тестируйте логику до загрузки на железо

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

7. Применяйте операции с плавающей точкой для таймеров

Например, умножьте `T#5s` на `1.0000001` и удивляйтесь, почему таймер срабатывает несвоевременно. Это идеальный способ запутать даже опытного инженера.

8. Игнорируйте резервное копирование

Делайте правки прямо на боевом контроллере, не сохраняя проект. Если всё сломается — просто начнёте всё с нуля. Это тренирует память и стрессоустойчивость!

9. Мешайте логику управления и визуализации

Пишите код для HMI прямо в ПЛК-программе через `IF HMI_Button THEN ... END_IF`. Так вы создадите идеальный микс между технологической логикой и интерфейсом.

10. Не используйте версионирование

Сохраняйте проект каждый раз под новым именем: `Project_v1`, `Project_v2_final`, `Project_v3_реально_последний`. Через месяц вы сами забудете, где какая версия.

Показать полностью

Однажды на собеседовании

Одно из собеседований с программистом ПЛК:

- какую зарплату хотите ?
- 300 000 руб
- на каком языке программируете?
- на английском

Реальная история. Это не анекдот, серьёзно, что смешного?
Много интересных историй в ТГ-канале.

0

Работа со средой разработки Дракон++ с последующей конвертацией в ОВЕН ПР225

Приветствую уважаемые Друзья, читатели, коллеги. Поработал я со средой Дракон++.

В двух словах Дракон++ - это графический Алгоритмический язык программирования. Его задача строить понятные структурные алгоритмы работы соответствующих узлов, линий, теплиц, умных зданий, станков и т.д. и конвертировать их в код ПК, ПЛК или ПР.

Если есть вопросы пишите в ТГ-канале "Ты же инженер АСУ ТП".

Мануал от данной среды тоже есть в канале. В тексте я напишу просто последовательность своих действий для лучшего восприятия.

Где скачать Среду ?

Скачать её можно по этой ссылке в телеграмме. "Алгоритмический язык Дракон++". Чат тут по Дракону.

Пока сама программная среда на стадии разработки. Но есть уже рабочие объекты и можно получить код программы.

Среда. Начало.

Возьмем простой пример Счетчика, делать его код будем для программируемого реле ОВЕН ПР 225.

Начинаем. Будем считать, что всё установили.

Работа со средой разработки Дракон++ с последующей конвертацией в ОВЕН ПР225 Программа, Инженер, Python, Гайд, ПЛК, Программирование, Разработка, Тестирование, Гифка, Яндекс Дзен (ссылка), Длиннопост

Создаём проект.

Работа со средой разработки Дракон++ с последующей конвертацией в ОВЕН ПР225 Программа, Инженер, Python, Гайд, ПЛК, Программирование, Разработка, Тестирование, Гифка, Яндекс Дзен (ссылка), Длиннопост

Называем, выбираем Программируемое реле ОЛ.

Работа со средой разработки Дракон++ с последующей конвертацией в ОВЕН ПР225 Программа, Инженер, Python, Гайд, ПЛК, Программирование, Разработка, Тестирование, Гифка, Яндекс Дзен (ссылка), Длиннопост

Не буду писать подробное руководство, его можно найти по ссылкам выше. Напишу коротко Класс объекта - ЭТО Функциональный блок на ST в ОВЕН ПР225.

Нажимаем Плюсик.

Работа со средой разработки Дракон++ с последующей конвертацией в ОВЕН ПР225 Программа, Инженер, Python, Гайд, ПЛК, Программирование, Разработка, Тестирование, Гифка, Яндекс Дзен (ссылка), Длиннопост

Получаем вот это.

Работа со средой разработки Дракон++ с последующей конвертацией в ОВЕН ПР225 Программа, Инженер, Python, Гайд, ПЛК, Программирование, Разработка, Тестирование, Гифка, Яндекс Дзен (ссылка), Длиннопост

Жмем сюда, и добавляем все необходимые нам переменные (локальные, входные, выходные)

Работа со средой разработки Дракон++ с последующей конвертацией в ОВЕН ПР225 Программа, Инженер, Python, Гайд, ПЛК, Программирование, Разработка, Тестирование, Гифка, Яндекс Дзен (ссылка), Длиннопост

Тут четыре типа переменных (Bool, Uint, Real, Time)

Работа со средой разработки Дракон++ с последующей конвертацией в ОВЕН ПР225 Программа, Инженер, Python, Гайд, ПЛК, Программирование, Разработка, Тестирование, Гифка, Яндекс Дзен (ссылка), Длиннопост

Вот так отображается.

Работа со средой разработки Дракон++ с последующей конвертацией в ОВЕН ПР225 Программа, Инженер, Python, Гайд, ПЛК, Программирование, Разработка, Тестирование, Гифка, Яндекс Дзен (ссылка), Длиннопост

Чтоб добавить ветку наводим мышку на линию.

Работа со средой разработки Дракон++ с последующей конвертацией в ОВЕН ПР225 Программа, Инженер, Python, Гайд, ПЛК, Программирование, Разработка, Тестирование, Гифка, Яндекс Дзен (ссылка), Длиннопост

Чтоб добавить Блок-схему наводим мышку на линию.

Работа со средой разработки Дракон++ с последующей конвертацией в ОВЕН ПР225 Программа, Инженер, Python, Гайд, ПЛК, Программирование, Разработка, Тестирование, Гифка, Яндекс Дзен (ссылка), Длиннопост

Переменные добавили, создаем алгоритмы. (Все подробное описание в каналах и соответствующих чатах)

От себя добавлю - когда мы подаем импульс - срабатывает селектор(да) - селектор триггера на 0(нет) - автоматом записываем импульс(ИСТИНА) - и переходим на ветку Счетчик.

Работа со средой разработки Дракон++ с последующей конвертацией в ОВЕН ПР225 Программа, Инженер, Python, Гайд, ПЛК, Программирование, Разработка, Тестирование, Гифка, Яндекс Дзен (ссылка), Длиннопост

Ветка Счетчик - Утилитарная функция + (Складываем импульсы) - выходим из алгоритма и ждем следующего сигнала.

Работа со средой разработки Дракон++ с последующей конвертацией в ОВЕН ПР225 Программа, Инженер, Python, Гайд, ПЛК, Программирование, Разработка, Тестирование, Гифка, Яндекс Дзен (ссылка), Длиннопост

Когда всё нарисовали, жмем на класс и кнопку Экспортировать

Работа со средой разработки Дракон++ с последующей конвертацией в ОВЕН ПР225 Программа, Инженер, Python, Гайд, ПЛК, Программирование, Разработка, Тестирование, Гифка, Яндекс Дзен (ссылка), Длиннопост

Получаем исходник и вносим в проект OWEN LOGIC.

Работа со средой разработки Дракон++ с последующей конвертацией в ОВЕН ПР225 Программа, Инженер, Python, Гайд, ПЛК, Программирование, Разработка, Тестирование, Гифка, Яндекс Дзен (ссылка), Длиннопост

Получаем вот это. Вносим в Макрос ST.

Работа со средой разработки Дракон++ с последующей конвертацией в ОВЕН ПР225 Программа, Инженер, Python, Гайд, ПЛК, Программирование, Разработка, Тестирование, Гифка, Яндекс Дзен (ссылка), Длиннопост

Получаем результаты, радуемся.

Всем пока-пока.

Показать полностью 15
3

5 уровней автоматизации технологических процессов на производстве



Современные промышленные системы работают на основе 5 уровней автоматизации:

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

Уровень 1: Базовое управление (ПЛК/SCADA)
Автоматическое управление оборудованием осуществляется с помощью программируемых логических контроллеров (ПЛК) и систем SCADA.

Уровень 2: Оптимизация процесса
Эффективность повышается за счет мониторинга (анализа данных) и оптимизации процессов в технологии производства.

Уровень 3: Система управления производством (MES)
Мониторинг и контроль производственного процесса в режиме реального времени.

Уровень 4: Планирование ресурсов предприятия (ERP)
Обеспечивает общее управление путем интеграции всего предприятия в бизнес.

6

Базовые ФБ в Soft Motiom CoDeSyS 3.5

Приветствую уважаемые читатели сегодняшняя статья будет посвящена базовым функциональным блокам в системе Soft Motion.

По всем вопросам пишите в телеграмм канале "Ты же инженер АСУ ТП"

Статья будет коротенькой, излагаю базовое понимание.

Запуск драйвера

Сначала нам нужно сделать все необходимые настройки для цепочки Сервоусилитель - двигатель. Настроить все конфигурации и параметры мотора (Ток, момент, эл. параметры). Обычно это сё делается через программу конфигуратор. Она поставляется штатно с сервокомплектом.

В прошлых статьях я описывал первоначальное программирование в среде CoDeSyS 3.5. Двигаемся дальше.

Базовые ФБ в Soft Motiom CoDeSyS 3.5 Инженер, Программа, Электричество, ПЛК, АСУ ТП, Асушник, Электрика, Энергетика (производство энергии), Промышленность, Гифка, Яндекс Дзен (ссылка), Длиннопост

Первоначально с файла конфигурации нам нужно направить в ФБ Оси энкодеров, в даном случае SM_Drive_Generic.

MC_Power - запускает сам сервопривод. Нужно присвоить True входам Enable, RegulatorOn, DriveStart. Если всё ок, получаем Status = true.

MC_Home - это присвоение двигателю нулевой позиции. Присваивать нужно, когда двигатель не запущен.

MC_Reset - сброс всех аварий.

Мониторинг параметров

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

Базовые ФБ в Soft Motiom CoDeSyS 3.5 Инженер, Программа, Электричество, ПЛК, АСУ ТП, Асушник, Электрика, Энергетика (производство энергии), Промышленность, Гифка, Яндекс Дзен (ссылка), Длиннопост

MC_ReadActualPosition - этот параметр выдает текущую позицию двигателя, неважно в каком он работает режиме.

MC_ReadActualVelocity - параметр выходной скорости.

MC_ReadActualTorque - параметр выходного момента.

Запуск двигателя в нужную позицию

Эти ФБ отвечают за позиционирование двигателя в нужной точке.

Базовые ФБ в Soft Motiom CoDeSyS 3.5 Инженер, Программа, Электричество, ПЛК, АСУ ТП, Асушник, Электрика, Энергетика (производство энергии), Промышленность, Гифка, Яндекс Дзен (ссылка), Длиннопост

MC_MoveAbsolute - функциональный блок позиции.

На входе задаем пользовательские единицы Position, задаем скорость, ускорение и торможение Velocity, Acceleration, Deceleration. Если нужно вращать по часовой стрелке то позиция с положительным знаком, против с отрицательным знаком. И жмём кнопку Execute.

MC_Stop - останов двигателя с временем торможения.

MC_Jog - толчковый режим. При нажатии кнопки, двигатель вращается, при отпускании - останавливается. Можно фиксировать позицию.

Вот так это выглядит в режиме Онлайн.

Базовые ФБ в Soft Motiom CoDeSyS 3.5 Инженер, Программа, Электричество, ПЛК, АСУ ТП, Асушник, Электрика, Энергетика (производство энергии), Промышленность, Гифка, Яндекс Дзен (ссылка), Длиннопост

На этом я заканчиваю, всем спасибо, пока пока!!

Показать полностью 4
16

Работа пружинного станка

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

Телеграмм https://t.me/you_engineer_asu

Показать полностью 1
6

CoDeSyS 3.5 Soft Motion. Как добавить ось сервопривода?

Для различных точных систем, где требуется позиционирование рабочего элемента, манипуляторов и роботов существуют специальные готовые решения. И одно из них это PAC-ПЛК с CoDeSyS на борту.

Эта статья будет посвящена готовой библиотеке под названием Soft Motion в дистрибутиве CoDeSyS. Как обычно стараюсь писать по существу, без всякой воды.

Вторая часть Soft Motion. Эта статья будет посвящена подключению Сервопривода по EtherCAT.

Настройки в дереве объектов

CoDeSyS 3.5 Soft Motion. Как добавить ось сервопривода? Инженер, Программа, Гайд, Отдел АСУ, АСУ ТП, ПЛК, КИПиА, Гифка, Telegram (ссылка), Длиннопост

Создаем две программы. отдельно для основных задач, отдельно для задач управления Осями.

CoDeSyS 3.5 Soft Motion. Как добавить ось сервопривода? Инженер, Программа, Гайд, Отдел АСУ, АСУ ТП, ПЛК, КИПиА, Гифка, Telegram (ссылка), Длиннопост

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

CoDeSyS 3.5 Soft Motion. Как добавить ось сервопривода? Инженер, Программа, Гайд, Отдел АСУ, АСУ ТП, ПЛК, КИПиА, Гифка, Telegram (ссылка), Длиннопост

В задачу нужно переместить вашу программу.

CoDeSyS 3.5 Soft Motion. Как добавить ось сервопривода? Инженер, Программа, Гайд, Отдел АСУ, АСУ ТП, ПЛК, КИПиА, Гифка, Telegram (ссылка), Длиннопост

После этого выбираем MAC внешней шины EtherCAT.

CoDeSyS 3.5 Soft Motion. Как добавить ось сервопривода? Инженер, Программа, Гайд, Отдел АСУ, АСУ ТП, ПЛК, КИПиА, Гифка, Telegram (ссылка), Длиннопост

Добавляем устройство Сервопривода.

CoDeSyS 3.5 Soft Motion. Как добавить ось сервопривода? Инженер, Программа, Гайд, Отдел АСУ, АСУ ТП, ПЛК, КИПиА, Гифка, Telegram (ссылка), Длиннопост

Добавляем Ось Axis.

CoDeSyS 3.5 Soft Motion. Как добавить ось сервопривода? Инженер, Программа, Гайд, Отдел АСУ, АСУ ТП, ПЛК, КИПиА, Гифка, Telegram (ссылка), Длиннопост

Можно создать визуализацию, и на ней перекинуть базовые блоки Soft Motion.

CoDeSyS 3.5 Soft Motion. Как добавить ось сервопривода? Инженер, Программа, Гайд, Отдел АСУ, АСУ ТП, ПЛК, КИПиА, Гифка, Telegram (ссылка), Длиннопост

И конечно же результаты. Всем пока-пока.

Показать полностью 8
8

CoDeSyS 3.5 Soft Motion. Начало всех начал

Для различных точных систем, где требуется позиционирование рабочего элемента, манипуляторов и роботов существуют специальные готовые решения. И одно из них это PAC-ПЛК с CoDeSyS на борту.

Эта статья будет посвящена готовой библиотеке под названием Soft Motion в дистрибутиве CoDeSyS. Как обычно стараюсь писать по существу, без всякой воды.

Будем считать, что у вас установлен дистрибутив CODESYS V3.5 SP16 Patch 7.

CoDeSyS 3.5 Soft Motion. Начало всех начал Инженер, Программа, Windows, Электроника, АСУ ТП, ПЛК, Программирование ПЛК, Тестирование, Telegram (ссылка), Длиннопост

Установка устройств для работы с ними (Таргеты)

В данном примере я использую ПЛК VECTOR CPR-VEC-CEC-C1/

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

CoDeSyS 3.5 Soft Motion. Начало всех начал Инженер, Программа, Windows, Электроника, АСУ ТП, ПЛК, Программирование ПЛК, Тестирование, Telegram (ссылка), Длиннопост

Мне нужно подключить к этому устройству два модуля ввода\вывода по встроенной шине, один модуль ввода\вывода по внешней шине и два сервопривода.

CoDeSyS 3.5 Soft Motion. Начало всех начал Инженер, Программа, Windows, Электроника, АСУ ТП, ПЛК, Программирование ПЛК, Тестирование, Telegram (ссылка), Длиннопост

Залазим в инструмент репозиторий устройств.

CoDeSyS 3.5 Soft Motion. Начало всех начал Инженер, Программа, Windows, Электроника, АСУ ТП, ПЛК, Программирование ПЛК, Тестирование, Telegram (ссылка), Длиннопост

Жмем Установить.

CoDeSyS 3.5 Soft Motion. Начало всех начал Инженер, Программа, Windows, Электроника, АСУ ТП, ПЛК, Программирование ПЛК, Тестирование, Telegram (ссылка), Длиннопост

Конфиги можно скачать с официального сайта поставщика. У меня они были поэтому устанавливаем их. Нужно указать XML-файл конфигурации.

Устанавливаем все необходимые нам модули.

CoDeSyS 3.5 Soft Motion. Начало всех начал Инженер, Программа, Windows, Электроника, АСУ ТП, ПЛК, Программирование ПЛК, Тестирование, Telegram (ссылка), Длиннопост

Это файл-конфигурация сервопривода. Нужно указать XML-файл конфигурации EtherCat.

CoDeSyS 3.5 Soft Motion. Начало всех начал Инженер, Программа, Windows, Электроника, АСУ ТП, ПЛК, Программирование ПЛК, Тестирование, Telegram (ссылка), Длиннопост

Это файлы конфигурации внутренних модулей по шине.

Начальный запуск в CoDeSyS.

Затем создаем Стандартный проект. И запускаемся.

CoDeSyS 3.5 Soft Motion. Начало всех начал Инженер, Программа, Windows, Электроника, АСУ ТП, ПЛК, Программирование ПЛК, Тестирование, Telegram (ссылка), Длиннопост

Выбираем Vector ARM.

CoDeSyS 3.5 Soft Motion. Начало всех начал Инженер, Программа, Windows, Электроника, АСУ ТП, ПЛК, Программирование ПЛК, Тестирование, Telegram (ссылка), Длиннопост

Если нет библиотек Soft Motion, подгружаем их.

CoDeSyS 3.5 Soft Motion. Начало всех начал Инженер, Программа, Windows, Электроника, АСУ ТП, ПЛК, Программирование ПЛК, Тестирование, Telegram (ссылка), Длиннопост

После этого можно пробовать загружать устройства. О них напишем позже.

Показать полностью 9
Отличная работа, все прочитано!