Серия «Программная среда CoDeSyS 3.5»

7

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

Серия Программная среда CoDeSyS 3.5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Серия Программная среда CoDeSyS 3.5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Выбираем Vector ARM.

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

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

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

Программирование СПК107. Журнал аварий

Серия Программная среда CoDeSyS 3.5

Приветствую всех. Эта статья будет посвящена дистрибутиву CoDeSyS 3.5 SP17 Pacth 3 и панельному контроллеру ОВЕН СПК107.

Как сделать журнал аварий?

Аварии. Начало

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

В CoDeSyS 3.5 это достаточно глубоко продумано. Создаем проект. И добавляем в дереве проектов менеджер Аварий.

Добавляем Конфигурацию тревог.

Error, Info, Warning - это у нас классы, где мы настраиваем цвет сработанной аварии, цвет квитирования и цвет отмеченной аварии. и, соответственно шрифт текста.

AlarmStorage - это настройки хранилища, где будем архивировать аварии.

После этого добавляем группу тревог и список сообщений.

Получаем вот такой список элементов.

Настройки Конфигуратора и вывод на экран

Настраиваем классы аварий, цвет, шрифт, действия, способ квитирования.

В списке текстов пишем названия сообщений - под каждую переменную своё название. ID - это номер строки.

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

Вот так выглядит сама настройка. Можно выбрать разные способы наблюдений.

Можно по дискретному сигналу, можно по верхней и нижней границе, можно за пределы, можно посередине, можно по изменению, можно по событию. Логика настраивается.

Далее добавляем визуализацию, либо баннер либо таблицу.

Мне удобнее всего в виде таблицы. Её можно очень гибко настроить. Шапку, столбцы, толщина столбца, шрифт ну и т.п.

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

Это готовые кнопки управления панелью алармов.

Вот так выглядит в одном из рабочих проектов. Там требовалось сделать просто сообщения.
Пишите комменты, как делаете вы?

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

Счётчики ПЛК c CODESYS: CTU, CTD и CTUD

Серия Программная среда CoDeSyS 3.5

ПЛК имеют счётчик с увеличением CTU, счётчик с уменьшением CTD и реверсивный счётчик CTUD. Счётчик увеличивает или уменьшает текущее значение, когда вход счётчика изменяется с «ложь» на «истина» или с ВЫКЛ на ВКЛ.

Каждое изменение входного сигнала счётчика увеличивает или уменьшает текущее значение на 1. Уставка счётчика — это числовое значение, определяющее диапазон счётчика. Счётчики используются для подсчёта изменений входных битов. Диапазон подсчитываемых битов определяется уставкой. Диапазон счётчика фиксированный.

Счётчик с увеличением (Up Counter) CTU в ПЛК

Счётчик с увеличением — это инкрементный счётчик. Когда вход счётчика изменяется с «ложь» на «истина», счётчик увеличивается на 1 до достижения установленного значения. Как только счётчик достигает установленного значения, выход счётчика Q включается. Ниже приведены входы и выходы для счётчика с увеличением:

Входы счётчика с увеличением:

  • CU: вход счётчика с увеличением, тип данных bool. Каждое изменение CU увеличивает счётчик на 1.

  • Reset: вход сброса счётчика. Когда Reset равен «истина», счётчик сбрасывается.

  • PV: установленное значение счётчика. Максимальное значение счётчика для подсчёта битов.

Выходы счётчика:

  • Q: выходной бит счётчика. Состояние Q становится «истина», когда текущее значение счётчика (CV) равно или больше установленного значения.

  • CV: выход счётчика. Это текущее значение счётчика.

Выше приведен пример счётчика с увеличением в ПЛК. Каждый нарастающий фронт CU увеличивает счётчик на 1. Когда значение счётчика (CV) равно или больше установленного значения, выход счётчика (Q) включается. Счётчик с увеличением сбрасывает текущее значение (CV) до нуля, если вход сброса счётчика включен. Текущее значение счётчика продолжает увеличиваться, даже если выход счётчика равен «истина».

Счётчик с уменьшением (Down Counter) CTD в ПЛК

CTD — это счётчик с уменьшением в ПЛК. При каждом нарастающем фронте счётчика с уменьшением значение счётчика уменьшается на 1. При инициализации счётчика или первом запуске установленное значение счётчика не задаётся, пока вход загрузки не станет «ложь», поэтому установите вход загрузки в «истина», чтобы задать установленное значение. Когда вход загрузки включен, установленное значение счётчика задаётся, и каждое изменение входа счётчика уменьшает значение счётчика на 1. Ниже приведены входы и выходы счётчика с уменьшением:

Входы счётчика с уменьшением:

  • CD: вход счётчика с уменьшением, тип данных bool. Каждое изменение CD уменьшает счётчик на 1.

  • LOAD: когда LOAD установлен в «истина», устанавливается предустановленное значение счётчика. В противном случае счётчик не уменьшается.

  • PV: установленное значение счётчика. Установленное значение счётчика задаётся, когда LOAD равен «истина».

Выходы счётчика:

  • Q: выходной бит счётчика. Состояние Q становится «истина», когда текущее значение счётчика (CV) равно нулю.

  • CV: выход счётчика. Это текущее значение счётчика.

Выше приведен пример счётчика с уменьшением в ПЛК. Установите LOAD в «истина», чтобы установить предустановленное значение счётчика, затем установите LOAD в «ложь». Если LOAD равен «истина» и вход счётчика (CD) изменяется с «ложь» на «истина», то текущее значение счётчика остаётся неизменным, поэтому всегда устанавливайте значение LOAD в «ложь», если установлено предустановленное значение счётчика.

Если значение счётчика установлено и вход LOAD равен «ложь», то каждый нарастающий фронт входа CD счётчика уменьшает значение CV счётчика на 1 до тех пор, пока значение счётчика не достигнет нуля. Как только значение счётчика становится равным нулю, выход счётчика Q устанавливается в «истина».

Реверсивный счётчик (Up/Down Counter) CTUD в ПЛК

CTUD — это инструкция реверсивного счётчика в ПЛК. CTUD работает как счётчик с увеличением и уменьшением при выборе соответствующего входа CTUD. Для счётчика с увеличением CU устанавливается в «истина», а все остальные битовые входы устанавливаются в «ложь».

Для счётчика с уменьшением бит CD включается и устанавливается предустановленное значение. CTUD — это комбинация счётчика с увеличением и уменьшением, он работает как счётчик вверх или вниз. Каждый нарастающий фронт входа CU увеличивает счётчик на 1, а каждый нарастающий фронт CD уменьшает значение счётчика на 1.

Выше приведен пример реверсивного счётчика в ПЛК. Все входы и выходы представляют собой комбинацию входов и выходов счётчика с увеличением и уменьшением. Реверсивный счётчик работает как счётчик с увеличением, если CD, LOAD, Reset установлены в «ложь», и вход счётчика CU изменяется с «ложь» на «истина», то счётчик увеличивает значение на 1. QU — это выход счётчика с увеличением, он устанавливается, когда счётчик (CV) больше установленного значения счётчика.

Реверсивный счётчик работает как счётчик с уменьшением, когда CU, RESET и LOAD равны «ложь», и установлено предустановленное значение или текущее значение счётчика больше нуля. Каждый нарастающий фронт уменьшает значение счётчика на 1. QD — это выход счётчика с уменьшением, он включается, когда текущее значение счётчика равно нулю.

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

Программирование СПК107. Просто про таблицу

Серия Программная среда CoDeSyS 3.5

Приветствую всех. Эта статья будет посвящена дистрибутиву CoDeSyS 3.5 SP17 Pacth 3 и панельному контроллеру ОВЕН СПК107.

Как быстро освоить элемент таблицы?

Внутренний код Codesys 3.5

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

Создаем структуру данных. Дату и значение в формате STRING. Почему именно текстовый, чтобы в ячейках таблицы были пустые клетки, в противном случае будут нулевые значения. В своём проекте я делал REAL.

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

Всё остальное, можно посмотреть в примере. На скриншоте написаны комменты, дублировать тогда я не буду.

После этого мы создаем два столбца - это дата и время.

Когда жмём запись bTrigger, мы заполняем таблицы и создаём столбцы.

Визуализация элемента таблицы

Вытаскиваем элемент таблица в поле.

Присваиваем нашу переменную в поле Массив Данных.

Указываем ниже размер нашего массива.

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

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

Жмем OnMouseClick, и настраиваем ту же переменную.

Вот так вводятся настройки конфигураций.

Конечный результат.

Если статья была полезна пишите комментарии и ставьте лайки.

С уважением, Гридин Семён.

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

Codesys 2.3. Связь ОВЕН ПЛК100 с ПЧВ

Серия Программная среда CoDeSyS 3.5

Приветствую. Принципы связи одни и те же. У любого производителя ПЛК и преобразователя частоты. У ОВЕН просто есть примеры реализации. Если их поймёте, всё остальное не составит труда.

Сторона Преобразователя частоты

В принципе частотник должен работать уже "из коробки".

Важно найти параметры настроек сети по интерфейсу RS-485. И, если есть настройки управления по коммуникациям, настроить их.

Пример ПЧВ.

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

Настраиваем в соответствии с ваши задачами. Тут сразу можно заметить адресацию нужных регистров.

После этого открываем раздел Modbus.

В каждом ПЧ есть два главных командных слова, всегда. На запись, и на чтение.

Слово записи. Команда управления ПЧ.

Слово чтение - состояние ПЧ.

Все разложено по битам, которое преобразуется в слово.

Все остальное - это регистры типа WORD. Опрашиваются и записываются соответствующими функциями 03 (чтение) и 06 (запись).

Не забываем настроить откуда пуск.

И откуда задание частоты.

Сторона ПЛК

На всех ПЛК практически всё однотипно. Надо знать карту регистров и по каким адресам "Просить и отдавать".

Нашёл пример в Codesys 2.3

Это мы отдаем команды, com_word_55 присваиваем адрес с мануала.(2001)

Это получаем. Адрес слова с мануала.(2002)

Вся другая адресация соответствует коду параметра.

На этом я всё. Пишите комментарии. Ставьте лайки.

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

Программирование СПК107. Показания датчиков

Серия Программная среда CoDeSyS 3.5

Приветствую всех. Эта статья будет посвящена дистрибутиву CoDeSyS 3.5 SP17 Pacth 3 и панельному контроллеру ОВЕН СПК107.

Как это реализовать?

Открываем проект, создаем шаблон.

В разделе Базовый добавляем элемент Скругленный прямоугольник. Ну вообще можно любой элемент.

После этого залазаем в настройки, ставим стандартный набор опций (Ширина, цвет, высота, и т.д).

Внимание, пишем в поле Текст "Давление %2.1f".

"%2.1f" - это формат обращения к переменной, заданной в поле Текстовая переменная. 2 - это целочисленная, .1 - это десятичные, f - тип переменной.

Типы бывают такими:

  • %f - REAL

  • %w - WORD

  • %s - STRING

  • %b - BYTE

В поле Текстовая переменная - указываем переменную, которую будем показывать в прямоугольнике.

Если статья была полезна, пишите комментарии, ставьте лайки.

Пока-пока.

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

Программирование СПК107. Как добавить картинку?

Серия Программная среда CoDeSyS 3.5

Пишу для новичков. Как добавить картинку?

Добавляем картинку в Codesys 3.5

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

Вроде простой вопрос, Но давайте, его всё же рассмотрим.

Установку дистрибутива и таргета я писал в предыдущих статьях.

В шаблоне должен быть готовый объект ImagePool. Если нету, добавляем через ПКМ "Добавить". Заходим в него.

Перед вами откроется окно. В строчке имя файла добавляем желаемую картинку в jpg или png формате. ID это рабочее название объекта в проекте. Пишем на английском.

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

Добавляем объект Изображение в разделе Базовый.

Настраиваем высоту, ширину, нужные свойства.

Можно добавлять переменные на различные действия с картинкой (Цвет, текст, ширина, видимость и т.д.).

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

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества