Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
15
Добавлен:
31.08.2025
Размер:
5.84 Mб
Скачать

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