Классическое ПЛК программирование с ... · 2015-04-29 ·...
Transcript of Классическое ПЛК программирование с ... · 2015-04-29 ·...
CODESYS® a trademark of 3S-Smart Software Solutions GmbH
Классическое ПЛК программирование с использованием библиотек
CODESYS Users' Conference 2015Игорь Петров
CODESYS® a trademark of 3S-Smart Software Solutions GmbH
1
2
3
4
Основные особенности библиотек CODESYS
Стандартные библиотеки CODESYS
Неявно подключаемые библиотеки
Библиотеки полезные и разные
‹#›
Работа с библиотеками
© 3S-Smart Software Solutions GmbH
▪ Набор повторно используемых элементов ▪ Программные компоненты (функции и ФБ) ▪ Структуры, объединения, перечисления (DUT) ▪ Глобальные переменные, константы и списки параметров
▪ Интерфейсы, их методы и свойства ▪ Списки текстов, рисунки, визуализации ▪ Внешние файлы (например, документация) ▪ Таблицы CAM
Что может содержать библиотека в CODESYS?
Основные особенности библиотек CODESYS
‹#›
Работа с библиотеками
© 3S-Smart Software Solutions GmbH
▪ Библиотеки помогают: ▪ Защитить свой код. ▪ Предоставить свой код другим пользователям. ▪ Четко разделить работу над проектом в команде. ▪ Быстро решать повторяющиеся задачи. ▪ Экономить время. ▪ Просто и удобно документировать код.
Зачем работать с библиотеками?
Основные особенности библиотек CODESYS
‹#›
Работа с библиотеками
© 3S-Smart Software Solutions GmbH
▪ Базовый тип МЭК библиотеки – это ".library*"
▪ Закрытые библиотеки: ▪ Интерфейсные библиотеки (*._Itfs.library) – не генерируют код ▪ Контейнерные библиотеки (*_Cnt.library) – устанавливают другие библиотеки и документацию
▪ Компилированные библиотеки *.compiled-library, без исходных кодов (для передачи в чужие руки)
Какие типы библиотек могут быть?
Основные особенности библиотек CODESYS
‹#›
Работа с библиотеками
© 3S-Smart Software Solutions GmbH
▪ Репозиторий библиотек: ▪ Управление библиотеками в масштабе среды программирования
▪ Менеджер библиотек: ▪ Управление библиотекамив масштабе проекта
Как управлять библиотеками?
Основные особенности библиотек CODESYS
‹#›
Работа с библиотеками
© 3S-Smart Software Solutions GmbH
Нет репозитория?
Основные особенности библиотек CODESYS
‹#›
Работа с библиотеками
© 3S-Smart Software Solutions GmbH
▪ Менеджер библиотек:
Как изучить библиотечный компонент?
Основные особенности библиотек CODESYS
‹#›
Работа с библиотеками
© 3S-Smart Software Solutions GmbH
▪ Дает возможность автоматически подключать нужную библиотеку и управлять версиями библиотек и используемого компилятора
▪ Определяется в ▪ Описании устройства ▪ Профиле библиотеки ▪ В проекте
Зачем нужны заполнители (placeholder)?
Основные особенности библиотек CODESYS
<LibraryProfile> <Resolution PlaceholderName="DataServer" CompilerVersion="3.5.0.0“ GroupName="DataServer"> Data Server, 3.5.0.0 (System) <Resolution <LibraryProfile>
‹#›
Работа с библиотеками
© 3S-Smart Software Solutions GmbH
▪ Запускаем 2 экземпляра CODESYS 1. В первом собираем все желаемые элементы и делаем из них библиотеку 2. Во втором тестируем результат
▪ Первый экземпляр CODESYS: ▪ Задаем имя и свойства библиотеки (см. ‘Создание библиотек’ в хелпе) ▪ Собираем элементы в дерево POU, записываем как *.library ▪ Устанавливаем библиотеку в репозиторий
▪ Второй экземпляр CODESYS: ▪ Добавляем библиотеку в менеджере библиотек проекта ▪ Применяем элементы из библиотеки в МЭК 61131-3 приложении
➔ Наслаждаемся повторным использованием кода ☺
Как практически сделать простую библиотеку самому?
Основные особенности библиотек CODESYS
‹#›
Работа с библиотеками
© 3S-Smart Software Solutions GmbH
▪ Краткое имя должно быть составлено латинскими буквами, уникально и максимально компактно
▪ Пример: "LAT" для библиотеки "Lists and Trees"
▪ Для регистрации нужно написать на: [email protected]
▪ В установке CODESYS есть файл зарегистрированных “LibraryRegistry.chm”
▪ Пример указания пространства имен: ▪ CL2.Send(); ▪ SIO.Send(); ➔ Это вызовы разных POU
Как определить уникальное пространство имен (namespace)?
Основные особенности библиотек CODESYS
‹#›
Работа с библиотеками
© 3S-Smart Software Solutions GmbH
1
2
3
4
Основные особенности библиотек CODESYS
Стандартные библиотеки CODESYS
Неявно подключаемые библиотеки
Библиотеки полезные и разные
‹#›
Работа с библиотеками
© 3S-Smart Software Solutions GmbH
▪ Включают компоненты МЭК 61131-3
▪ Утилиты
▪ Входят в любой комплект поставки CODESYS
▪ Расположены в категории Application
Стандартные аппаратно-независимые библиотеки приложений
Стандартные библиотеки CODESYS
‹#›
Работа с библиотеками
© 3S-Smart Software Solutions GmbH
▪ Ориентированы на системных программистов ▪ Имеются аналоги для CODESYS V2.3 ▪ Реализация системных функций аппаратно-зависима➔ Выполняется изготовителем устройства ➔ Приложение, использующее системные функции, не будет переносимо без проблем
▪ Если кто-либо никогда не использовал системные функции, то и не нужно к этому стремиться
▪ Пример:
Системные библиотеки
Стандартные библиотеки CODESYS
‹#›
Работа с библиотеками
© 3S-Smart Software Solutions GmbH
▪ Специальный набор Use Cases библиотек
▪ Чем лучше SysLibs? ➔ Разработаны для программистов ПЛК➔ Скрывают системные функции, обеспечивают единообразное использование
▪ Для их поддержки нужно: ▪ Поддержка базовых системных функций изготовителем устройства - ▪ CAN-Bus ▪ Последовательный порт ▪ Часы реального времени ▪ Ethernet ▪ Файловая система
▪ Примеры их применения доступны в CODESYS Store
Библиотеки для типовых сценариев использования приложения
Стандартные библиотеки CODESYS
‹#›
Работа с библиотеками
© 3S-Smart Software Solutions GmbH
1
2
3
4
Основные особенности библиотек CODESYS
Стандартные библиотеки CODESYS
Неявно подключаемые библиотеки
Библиотеки полезные и разные
‹#›
Работа с библиотеками
© 3S-Smart Software Solutions GmbH
▪ При использовании определенной промышленной сети в проекте:➔ Библиотека, реализующая соответствующий стек, подключается автоматически
▪ Стеки, реализованные в МЭК: ▪ CANopen ▪ J1939 ▪ EtherCAT ▪ EtherNet/IP ▪ Sercos ▪ PROFINET
▪ Вызов необходимых функций также выполняется автоматически (неявно)
Неявные вызовы библиотечных функций промышленных сетей
Неявные библиотеки
‹#›
Работа с библиотеками
© 3S-Smart Software Solutions GmbH
▪ Визуализация CODESYS основана на использовании неявных библиотек➔ Функции принципиально переносимы (если CODESYS визуализация поддержана в целевом устройстве)
▪ Как только в проект добавляется первый объект визуализации:➔ Соответствующие библиотеки добавляются автоматически➔ Вызывать эти функции из проекта не нужно
Неявные вызовы библиотечных функций в визуализации
Неявные библиотеки
‹#›
Работа с библиотеками
© 3S-Smart Software Solutions GmbH
▪ При поддержке целевым устройством (Device Description) функционала управления движением, библиотеки добавляются автоматически.
▪ Доступные блоки: ▪ Стандартные блоки PLCopen Motion Control ▪ Блоки ЧПУ, в том числе: − Интерполятор − Кинематические преобразования − Корректоры
▪ Многочисленные дополнительные модули − Диагностика и пр.
Библиотеки Motion + CNC
Интегрированные библиотеки
‹#›
Работа с библиотеками
© 3S-Smart Software Solutions GmbH
▪ Приложение, использующее ФБ управления движением
Motion + CNC: явное использование блоков
Интегрированные библиотеки
‹#›
Работа с библиотеками
© 3S-Smart Software Solutions GmbH
1
2
3
4
Основные особенности библиотек CODESYS
Стандартные библиотеки CODESYS
Неявно подключаемые библиотеки
Библиотеки полезные и разные
‹#›
Работа с библиотеками
© 3S-Smart Software Solutions GmbH
▪ Бесплатные библиотеки:
▪ CANBus Example: открытые примеры (ООП на ST и CFC) библиотеки коммуникаций по шине CAN
▪ OSCAT-Libs (BASIC, Building, Network): открытые библиотекидля задач автоматизации
▪ PLCcloud – решение задач управления через Интернет
▪ mxAutomation – управление роботами KUKA
▪ SQL4CODESYS – работа с базами данных
Библиотеки из CODESYS Store
Библиотеки полезные и разные
• CODESYS Repository Archive
‹#›
Работа с библиотеками
© 3S-Smart Software Solutions GmbH
▪ Платные библиотеки
▪ XML Utility
▪ CSV Utility
▪ SNMP
▪ INI File Utility
▪ m2m-Cockpit Connector Lib
▪ Home Energy Control
▪ Матричные вычисления
▪ SMS сервисы
▪ Графический редактор LD
Библиотеки из CODESYS Store
Библиотеки полезные и разные
‹#›
Работа с библиотеками
© 3S-Smart Software Solutions GmbH
▪ Полезные примеры по темам: ▪ Управление движением ▪ Визуализация ▪ Обработка событий ▪ Работа с файлами ▪ Дата и время ▪ CAN ▪ Передача данных, удаленный вызов процедур ▪ Прикладные сценарии использования
Примеры использования библиотек
Библиотеки полезные и разные
‹#›
Работа с библиотеками
© 3S-Smart Software Solutions GmbH
▪ Использование и создание библиотек позволяет:➔ повысить эффективность работы за счет повторного использования кода
▪ В CODESYS интегрирован полноценный инструментарий для использования и разработки библиотек
▪ Разработка библиотек не представляет сложности, но требует соблюдения определенных правил
▪ Существует специальная Интернет платформа CODESYS Store для распространения/продажи библиотек.
▪ Новое в библиотеках: инструментарий для документирования ➢Расскажем подробнее…
Заключение
после перерыва на кофе ☺
‹#› © 3S-Smart Software Solutions GmbH
Inspiring Automation Solutions
Thank you for your attention.
CODESYS® is a registered trademark of 3S-Smart Software Solutions GmbH. Technical specifications are subject to change.Errors and omissions excepted. No reproduction or distribution, in whole or in part, without prior permission.