- •1 Краткое представление CoDeSys
- •1.1 Что такое CoDeSys
- •1.2 Представление о работе в CoDeSys
- •1.3 Состав базовой пользовательской документации по CoDeSys
- •2 Что есть что в CoDeSys
- •2.1 Компоненты проекта
- •2.2 Языки программирования
- •Список инструкций (IL)
- •Модификаторы и операторы IL
- •Структурированный текст (ST)
- •Язык последовательных функциональных схем (SFC)
- •Язык функциональных блоковых диаграмм (FBD)
- •Непрерывные функциональные схемы (CFC)
- •Язык релейных диаграмм (LD)
- •2.3 Отладка и онлайн функции
- •3 Пишем простой пример
- •3.1 Блок управления светофором
- •3.2 Визуализация примера
- •4 Работа в системе программирования CoDeSys
- •4.1 Главное окно
- •4.2 Опции проекта
- •4.3 Управление проектом
- •4.4 Управление объектами проекта
- •4.5 Основные функции редактирования
- •4.6 Основные функции Онлайн
- •4.7 Работа с окнами
- •4.8 Помощь
- •5 Редакторы CoDeSys
- •5.1 Общие элементы редакторов
- •5.2 Редактор раздела объявлений
- •Работа в редакторе объявлений
- •Редактор раздела объявлений в режиме Онлайн
- •Директивы компилятора
- •5.3 Текстовые редакторы
- •Работа в текстовых редакторах
- •Редактор языка IL
- •Редактор языка ST
- •5.4 Графические редакторы
- •Работа в графических редакторах
- •Редактор FBD
- •Редактор LD
- •Редактор SFC
- •Редактор CFC
- •6 Ресурсы
- •6.1 Обзор ресурсов
- •Глобальные переменные
- •Конфигурационные переменные
- •Файл комментариев переменных
- •6.3 Конфигурация тревог (Alarm Configuration)
- •Обзор
- •Общая информация и терминология
- •Классы тревог
- •Группы тревог
- •Запись тревог
- •'Дополнения' (Extras): 'Настройки' (Settings)
- •6.4 Менеджер библиотек (Library Manager)
- •6.5 Бортжурнал (Log)
- •6.6 Конфигуратор ПЛК (PLC Configuration)
- •Обзор
- •Работа в редакторе конфигуратора ПЛК
- •Общие параметры конфигурации ПЛК
- •Диалог специфической настройки параметров
- •Конфигурация модулей ввода/вывода
- •Конфигурация канала
- •Конфигурирование модулей Profibus
- •Конфигурирование CANopen-модулей
- •Конфигурирование ведомого CANopen-устройства (CANopen Slave)
- •Конфигурирование модулей DeviceNet
- •Конфигурация ПЛК в режиме Онлайн
- •Сканирование аппаратуры/ Состояние/ Диагностика ПЛК
- •6.7 Конфигуратор задач (Task Configuration)
- •Обзор
- •Работа в конфигураторе задач
- •Системные события
- •Конфигуратор задач в режиме онлайн
- •6.8 Менеджер просмотра (Watch and Recipe Manager)
- •Обзор
- •Менеджер просмотра в режиме оффлайн
- •Менеджер просмотра в режиме Онлайн
- •6.9 Цифровая трассировка (Sampling Trace)
- •Обзор
- •Конфигурация трассировки
- •Управление процессом трассировки
- •Отображение данных
- •‘Дополнения’ ‘Запись значений трассировки’ ('Extras' 'Save trace values')
- •6.10 Рабочая область (Workspace)
- •6.11 Менеджер параметров (Parameter Manager)
- •Обзор и подключение
- •Редактор менеджера параметров. Обзор
- •Типы списков параметров и их атрибуты
- •Управление списками параметров
- •Редактирование списка параметров
- •Менеджер параметров в режиме онлайн
- •Экспорт/импорт списков параметров
- •6.12 Настройки целевой платформы (Target Settings)
- •6.13 ПЛК-Браузер (PLC-Browser)
- •Общие сведения
- •Набор команд ПЛК-Браузера
- •Макрорасширения команд ПЛК-Браузера
- •Вспомогательные команды ПЛК-Браузера
- •6.14 Инструменты (Tools)
- •Свойства доступных инструментов (Object Properties)
- •Настройка команд инструментов
- •Часто задаваемые вопросы по инструментам
- •7.1 Что такое ENI?
- •7.2 Условия работы с ENI базой данных в проекте
- •7.3 Работа с ENI базой данных в проекте CoDeSys
- •7.4 Категории объектов в базе данных проекта
- •8 DDE интерфейс
- •8.1 DDE интерфейс CoDeSys
- •8.2 DDE обмен посредством GatewayDDE Server
- •9 Менеджер лицензирования CoDeSys
- •9.1 Обзор
- •9.2 Создание лицензированных библиотек в CoDeSys
- •10.1 Арифметические операторы
- •10.2 Битовые операторы
- •10.3 Операторы сдвига
- •10.4 Операторы выборки
- •10.5 Операторы сравнения
- •10.6 Адресные операторы
- •Вспомогательные функции
- •10.8 Оператор вызова
- •10.9 Явное преобразование типов
- •10.10 Математические функции
- •Приложение В: Операнды в CoDeSys
- •Константы
- •Переменные
- •Адреса
- •Функции в роли операндов
- •Приложение С: Типы данных CoDeSys
- •Элементарные типы данных
- •Пользовательские типы данных
- •Приложение D: Библиотеки CoDeSys
- •Стандартная библиотека Standard.lib
- •Строковые функции
- •Переключатели
- •Детекторы импульсов
- •Счетчики
- •Таймеры
- •Библиотека UTIL.LIB
- •BCD преобразования
- •Бит/байт функции
- •Дополнительные математические функции
- •Регуляторы
- •Генераторы сигналов
- •Преобразования аналоговых сигналов
- •Аналоговые компараторы
- •Библиотека AnalyzationNew.lib
- •Системные библиотеки CoDeSys
- •Приложение E: Краткий справочник по операторам и компонентам библиотек
- •Операторы CoDeSys:
- •Компоненты Standard.lib:
- •Компоненты Util.lib:
- •Приложение F: Командная строка / командный файл
- •Командная строка
- •Командный файл (cmdfile)
- •Приложение G: Сименс импорт.
- •Импорт из символьных файлов SEQ
- •Импорт из файла проекта S5
- •Конвертирование языка S5 в МЭК C 61131-3
- •Приложение H: Опции целевых систем
- •Системные опции целевых платформ (Target Platform)
- •Intel 386 совместимые
- •Motorola 68K
- •Infineon C16x
- •ARM и Power PC
- •MIPS
- •'Hitachi SH'
- •8051 совместимые
- •Infineon 'TriCore’
- •Опции распределения памяти (Memory Layout).
- •Опции общей категории (General)
- •Опции категории Сетевая функциональность
- •Опции категории Визуализация
- •Приложение I: Использование клавиатуры
- •Приложение J: Рекомендации по наименованию
- •Наименование идентификаторов
- •Идентификаторы переменных
- •Идентификаторы пользовательских типов (DUT)
- •Идентификаторы визуализаций
- •Приложение K: Ошибки и предупреждения компилятора
- •Предупреждения
- •Ошибки
6 Ресурсы
6.1 Обзор ресурсов
Во вкладке “Ресурсы” (Resources) Организатора объектов находятся объекты, предназначенные для настройки и управления проектом и распределением переменных:
∙Глобальные переменные (Global Variables) - описания глобальных переменных, которые используются в проекте. Здесь же находятся глобальные переменные, описанные в библиотеках.
∙Конфигурация тревог (Alarm configuration) – организация системы формирования тревог в
CoDeSys проекте.
∙Менеджер библиотек (Library Manager) – управление библиотеками, включенными в проект.
∙Бортжурнал (Log) – запись бортжурнала в ходе онлайн сессий.
∙Конфигурация ПЛК (PLC Configuration) - создание описания конфигурации аппаратных средств.
∙Менеджер просмотра (Watch and Recipe Manager) – установка и просмотр наборов значений переменных.
∙Конфигурация задач (Task Configuration) – управление программами с помощью задач.
∙Настройки целевой платформы (Target settings) – выбор аппаратной платформы и настройка ее специфических параметров
∙Рабочая область (Workspace) – образ опций проекта.
В зависимости от аппаратной платформы могут быть доступны следующие ресурсы:
∙Менеджер параметров (Parameter Manager) – управление переменными, доступными другим абонентам сети.
∙ПЛК-Браузер (PLC Browser) – мониторинг и использование специфических особенностей ПЛК.
∙Цифровая трассировка (Sampling Trace) – графическое осциллографирование значений переменных.
∙Инструменты (Tools) – подключение внешних инструментов к CoDeSys.
∙SoftMotion – (при наличии лицензии): CNC и CAM редакторы (см. Отдельный документ по
SoftMotion).
Здесь же определяется создание и использование файла комментариев (Docuframe file) на разных языках (английский, русский и т.д.), позволяющего параллельно создавать несколько вариантов печатной документации.
Ресурсы
Ресурсы
6.2 Глобальные и конфигурационные переменные, файл комментариев
Объекты глобальных переменных
В папке “Глобальные пернеменные” (Global Variables) вкладки “Ресурсы” (Resources) (см. рис. 6.1) вы найдете следующие списки (их имена по умолчанию даны в скобках):
∙Список глобальных переменных (Global Variables).
∙Список конфигурационных переменных (Variable Configuration).
Переменные, определенные в этих списках, можно использовать во всем проекте.
Если папка “Глобальные переменные” (Global Variables) не открыта (перед значком папки стоит "+"), то ее можно открыть командой “Раскрыть узел” (Expand note). Если выбрать список из папки “Глобальные переменные” (Global Variables) и открыть его, то появится окно с ранее объявленными глобальными переменными. Редактор глобальных переменных работает точно так же, как и редактор раздела объявлений.
Структурирование глобальных переменных
При большом количестве глобальных переменных их можно структурировать, разделив на несколько именованных списков.
Чтобы создать новый список переменных, нужно выбрать папку “Глобальные переменные” (Global Variables) или один из входящих в нее объектов и выполнить команду “Проект” “Объект - Добавить” ("Project" "Object Add"). В появившемся диалоговом окне надо задать имя нового списка. Созданный с этим именем список будет иметь ключевое слово VAR_ GLOBAL. Если вы хотите получить объект с конфигурационными переменными, измените ключевое слово на
VAR_CONFIG.
CoDeSys V2.3 |
6-2 |
Ресурсы
Глобальные переменные
Что такое глобальные переменные?
Объявленные как глобальные, «нормальные» переменные, реманентные переменные и константы имеют область видимости, включающую весь проект. Более того, сетевые переменные (Network variables) могут служить для передачи данных между несколькими абонентами сети.
Обратите внимание: Если в некотором программном компоненте проекта объявлена локальная переменная, имя которой совпадает с именем глобальной переменной, то в данном компоненте будет работать локальная переменная!
Нельзя давать одинаковое имя двум глобальным переменным. Так, например, если вы определили переменную "var1" в PLC Configuration, то при объявлении ее в списке глобальных, вы получите сообщение об ошибке.
Сетевые переменные
Примечание: Работа с сетевыми переменными должна быть поддержана целевой платформой и разрешена в ее настройках (категория Сетевая функциональность - Network functionality).
Механизм автоматического обмена значениями переменных в сети (альтернативный вариант - это управляемый обмен через Менеджер параметров) дает возможность нескольким контроллерам (CoDeSys совместимых) в сети совместно использовать значения определенных общедоступных переменных. При этом не нужно создавать никаких дополнительных функций. Достаточно, чтобы абоненты сети имели совместимые настройки конфигурации сети и абсолютно идентичные списки сетевых переменных. Поэтому рекомендуется не создавать такие списки вручную в каждом проекте, а загружать их из одного отдельного файла.
Внимание! В настоящее время не поддерживается функция онлайн коррекции сетевых переменных. Изменения сетевых переменных не обнаруживаются как модификация проекта!
Создание списков глобальных переменных
Откройте вкладку Ресурсы в Организаторе объектов и выберите уже существующий список переменных. Дайте команду 'Проект' 'Объект' 'Добавить' ('Project' 'Object' 'Add'). В появившемся диалоговом окне (см. рис. ниже) надо указать имя и параметры списка.
Этот же диалог открывается командой 'Проект' 'Объект' 'Свойства' ('Project' 'Object' 'Properties'), доступной для определенных в проекте списков.
Задайте имя списка в строке “Имя списка” (Name of the global variable list):
Связать с файлом (Link to file):
Если у вас имеется экспортный файл (*.esp) или DCF файл (*.dcf), содержащий глобальные переменные, вы можете связать с ним данный список. Для этого нужно записать путь и имя файла в поле “Имя файла” (Filename). Используйте кнопку “Обзор” (Browse) для доступа к стандартному диалогу выбора файлов. DCF файлы будут преобразованы согласно МЭК синтаксису при вызове.
Опция “Импортировать” (Import before compile) приводит к чтению внешнего файла переменных перед каждой компиляцией. Опция “Экспортировать” (Export before compile) сохраняет список переменных во внешнем файле перед каждой компиляцией.
После подтверждения ввода кнопкой OK будет создан новый список. Списки глобальных перемен-
ных отмечены иконкой
. В любое время вы можете исправить заданные свойства, вызвав дан-
ный диалог командой 'Проект' 'Объект' 'Опции' ('Project' 'Object' 'Properties').
CoDeSys V2.3 |
6-3 |
Ресурсы
Диалог свойств списка переменных
Конфигурация сетевых переменных
Если опция 'Поддкержка сетевых переменных' (Support network variables) включена в настрой-
ках целевой платформы, то в данном диалоге будет доступна кнопка <Add network>. Нажатие этой кнопки расширяет диалог, и он будет выглядеть, как показано на рисунке. Если данная опция не включена, то кнопка недоступна.
Connection <n> (<Network type>): В нижней части диалога вы можете создать наборы конфигураций до четырех сетевых соединений. Каждая конфигурация определяется на отдельной вкладке и задает параметры сетевого обмена для выбранного списка. Аналогичным образом должны быть определены параметры этого списка переменных для других абонентов сети.
Если никакие конфигурации еще не определены, то для UDP сети будет отображена единственная вкладка 'Connection 1 (UDP)'. Каждое нажатие кнопки 'Добавить сеть' (Add network) приводит к созданию новой вкладки с очередным номером после слова “Connection”.
Тип сети (Network type): выберете необходимый тип сети из списка доступных для данной целевой платформы. Например: „CAN" или „UDP".
Настройки (Settings): эта кнопка открывает диалог настроек для соответствующей сети:
UDP:
Кнопка “Стандартные” (Use standard) определяет использование стандартного порта (Port 1202) для обмена данными с другими абонентами. Широковещательный адрес (Broad-
CoDeSys V2.3 |
6-4 |
Ресурсы
cast/Multicast) устанавливается в "255 . 255 . 255 . 255", что означает: обмен данными будет происходить со всеми абонентами сети.
Порт (Port): задайте здесь необходимый порт если он отличается от заданного по умолчанию. Убедитесь, что другие абоненты сети также используют этот порт! Если вы имеете более одного UDP соединения в проекте, то номер порта будет автоматически изменяться для всех наборов конфигураций.
Широковещательный адрес (Broadcast/Multicast address): задайте адреса соответствую-
щей подсети, если необходимо изменить настройки по умолчанию (например, "197 . 200 . 100
. 255", если вы хотите взаимодействовать со всеми абонентами с IP-адресами 197 . 200 . 100 . x).
Для Win32 систем, Broadcast/Multicast адреса должны соответствовать маске подсети в конфигурации TCP/IP на PC.
Диалог Настройки UDP
CAN:
Индекс контроллера (Controller Index): индекс контроллера CAN, которым переменные должны передаваться.
Следущие опции могут быть активированы в этой конфигурации:
Упаковка переменных (Pack variables): переменные будут собираться при передаче в пакеты (телеграммы), размер которых зависит от сети. Если данная опция выключена, каждая переменная помещается в отдельный пакет.
Идентификатор (List identifier) (COB-ID): идентификационный номер первого пакета, в котором будут отправлены переменные (по умолчанию = 1). Следующие пакеты нумеруются по возрастанию. Замечание: COB-ID должны быть уникальны для всех списков сетевых переменных в проекте. Попытка использовать одинаковые номера ID вызовет сообщение об ошибке (начиная с версии 2.3.7.0).
Чтение (Read): значения переменных списка читаются; если опция отключена, то передаваемые в сети значения игнорируются.
Запрос при загрузке (Request on Bootup): если локальный узел является «читающим» (опция 'Чтение' (Read) включена), то при перезагрузке актуальные значения переменных будут запрошены из «записывающих» узлов независимо от других условий передачи (время, событие), управляющих нормальной коммуникацией. Обязательное условие: в конфигурации записывающих узлов опция 'Отвечать на загр. запросы' (Answer Bootup requests) должна быть включена! (см. ниже).
Запись (Write): переменные записываются; применимы следующие опции:
Контрольная сумма (Transmit Checksum): контрольная сумма будет помещена в каждый пакет. Данная контрольная сумма будет проверена получателем для проверки отсутствия искажений данных. Пакеты с ошибочной контрольной суммой игнорируются, и, если задано (см. 'Use acknowledge transfer'), то будет дан соответствующий ответ.
CoDeSys V2.3 |
6-5 |
Ресурсы
Подтверждение (Acknowledgement): (не используется с CAN) каждое сообщение подтверждается приемником. Если передатчик не получит хотя бы одно подтверждение, будет сформировано сообщение об ошибке, которое в случае UDP-сети записывается в диагностическую структуру, описанную в библиотеке NetVarUdp_LIB_V23.lib.
Отвечать на загр. запросы (Answer Bootup requests): если локальный узел является «записывающим» (опция 'Запись' (Write) включена), то будут формироваться ответы на запросы чтения при перезагрузке (см. Request on Bootup). Это означает, что актуальные значения переменных будут переданы даже при отсутствии условий коммуникации (время, событие).
Циклическая передача (Cyclic transmission): переменные будут записываться с интервалом, заданным в поле “Интервал” (Interval) (нотация длительности, например T#70ms).
Передача по изменению (Transmit on change): переменные будут записываться, только если их значения изменились. При этом Minimum ограничивает минимальный интервал между передачами.
Передача по событию (Transmit on event): переменные списка будут записываться, когда переменная Variable принимает значение TRUE.
Списки глобальных сетевых переменных отмечены символом
в Организаторе объектов.
Примечание: Если глобальная сетевая переменная используется в нескольких задачах, то при вызове каждой задачи проверяются условия, заданные в конфигурации. Будет или нет передаваться значение переменной, зависит от того, закончился ли заданный интервал. При каждой передаче интервальный таймер сбрасывается.
Передача выполняется системой исполнения без вмешательства прикладной программы. Никаких дополнительных функций ненужно.
Редактирование списков глобальных и сетевых переменных
Редактор глобальных переменных работает аналогично редактору раздела объявлений. Если подключен внешний список переменных, то его редактировать нельзя. Внешний список редактируется вне проекта и считывается каждый раз, когда проект открывается или компилируется.
Синтаксис:
VAR_GLOBAL
(*объявление переменных *) END_VAR
Сетевые переменные можно применять, только если это поддержано выбранной целевой платформой.
Пример списка сетевых переменных, созданных путем подключения UDP.EXP файла:
CoDeSys V2.3 |
6-6 |
