Руководство пользователя по программированию плк в CoDeSys 3
Скачать 5.57 Mb.
|
Широковещательный адрес (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-6 Подтверждение (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-7 Редактирование списков реманентных переменных Существуют два типа реманентных переменных: Retain variables, сохраняющие свои значения при выключении питания и сбросе ' Онлайн ' ' Сброс ' (' Online ' ' Reset ') в CoDeSys. Persistent variables сохраняют свои значения при сбросе без выключе- ния питания, управляемом останове системы исполнения (стоп, старт). Реманентные переменные объявляются с дополнительным ключевым словом RETAIN или PERSISTENT. Синтаксис: VAR_GLOBAL RETAIN (*объявление переменных*) END_VAR VAR_GLOBAL PERSISTENT (*объявление переменных*) END_VAR Persistent переменные не являются автоматически Retain переменными! При необходимости ис- пользуйте комбинированное объявление: VAR_GLOBAL RETAIN PERSISTENT или VAR_GLOBAL PERSISTENT RETAIN Редактирование списков глобальных констант Глобальные константы дополнительно получают ключевое слово CONSTANT. Синтаксис: VAR_GLOBAL CONSTANT (*объявление переменных*) END_VAR Конфигурационные переменные Использование прямых адресов в функциональных блоках противоречит идеологии независимости данных разных экземпляров функционального блока. Конфигурационные, или "шаблонные", пере- менные решают эту проблему. В показанном ниже примере функциональный блок locio имеет логический вход %I и выход %Q. Прямые адреса переменных заменены символом шаблона "*". Пример: FUNCTION_BLOCK locio VAR loci AT %I*: BOOL := TRUE; loco AT %Q*: BOOL; END_VAR Далее объявление экземпляров блока Hugo и Оtto может выглядеть, например, так: Пример. PROGRAM PLC_PRG VAR Hugo: locio; Otto: locio; END_VAR Конкретное распределение прямых адресов переменных реализовано в разделе ресурсов Variable Configuration: VAR_CONFIG Ресурсы CoDeSys V2.3 6-8 PLC_PRG. Hugo.loci AT %IX1.0 : BOOL; PLC_PRG. Hugo.loco AT %QX0.0 : BOOL; PLC_PRG. Otto.loci AT %IX1.0 : BOOL; PLC_PRG.Otto.loco AT %QX0.3 : BOOL; END_VAR Объявления переменных состоят из пути (имени экземпляра) и имени переменных. Если задан не существующий путь, будет сформировано сообщение об ошибке. Ошибка возникает и в противопо- ложной ситуации, если отсутствует определение объявленной в функциональном блоке конфигура- ционной переменной. Все объявленные с использованием "*" переменные должны быть определе- ны в разделе Variable Configuration. Типы данных, указанные в шаблоне и при определении адре- сов, обязаны совпадать. Для вставки списка всех необходимых определений конфигурационных переменных используйте команду " Все шаблонные переменные " ( All Instance Paths ) из меню “ Вставка ” ( Insert ). " Вставка" "Все шаблонные переменные" ("Insert" "All Instance Paths") Создает заготовку определений VAR_CONFIG, включающую описания всех определенных через шаблоны переменных для всех экземпляров функциональных блоков. В полученной заготовке оста- ется только расставить прямые адреса. Команда доступна, только если проект откомпилирован. (" Проект ", " Компилировать все " - " Pro- ject ", " Rebuild All "). Файл комментариев переменных Если существует задача создать несколько документов, описывающих проект (например, на анг- лийском и на русском языке), или надо документировать несколько похожих проектов, использую- щих одинаковые переменные, то можно сэкономить массу времени, создав отдельный файл ком- ментариев переменных. Для создания шаблона этого файла используются команды: " Дополнения " " Создать шаблон комментариев " (" Extras " " Make Docuframe File "). Созданный файл можно ре- дактировать в любом текстовом редакторе. Шаблон начинается строкой DOCUFILE. Далее идет список всех переменных проекта. Под каждую из них отводятся 3 строки: VAR, котораяпоказыва- ет, что начинается описание переменной, потом строка, содержащая имя переменной, и, наконец, пустая строка. В эту строку нужно вписать комментарий к переменной. Шаблоны для переменных, не требующих комментариев, можно удалить. Если нужно, для одного проекта можно создать несколько файлов комментариев. Окно редактора файла шаблона комментариев Чтобы использовать созданный ранее файл комментариев, надо выбрать команду “ Дополнения ” “ Подключить файл комментариев ” (" Extras " " Link Docu File "). Теперь при распечаткепроекта Ресурсы CoDeSys V2.3 6-9 в тех местах, где описаны переменные, будет добавлен соответствующий комментарий. Эти ком- ментарии появляются только при распечатке. " Дополнения" "Создать шаблон комментариев" ("Extras" "Make Docuframe File") Команда используется для создания шаблона файла комментариев и доступна лишь тогда, когда ак- тивно одно из окон глобальных переменных. Команда открывает диалоговое окно для создания файла с новым именем. В поле для ввода имени файла всегда предлагается расширение *.txt. После ввода имени файла будет создан текстовый документ, содержащий список всех переменных проек- та. “ Дополнения” “Подключить файл комментариев” ("Extras" "Link Docu File") Подключить файл комментариев переменных. При ее вызове появится диалоговое окно, где нужно выбрать имя файла. Теперь при распечатке проекта или его частей в тексте программ будут встав- лены соответствующие комментарии. Комментарии вставляются только при распечатке. Для создания файла комментариев используется команда " Дополнения " " Создать шаблон ком- ментариев " (" Extras " " Make Docuframe File "). 6.3 Конфигурация тревог (Alarm Configuration) Обзор Сигнальная система, встроенная в CoDeSys, позволяет обнаруживать критические состояния про- цесса, записывать и визуализировать их для пользователя при помощи элементов визуализации. Механизм работы сигнальной системы может выполняться в CoDeSys или альтернативно в ПЛК. Обработка тревог в ПЛК задается опциями категории 'Визуализация' целевой платформы. Если данная функциональность поддержана в выбранной целевой платформе, то для конфигурации сигнальной системы используется объект ' Конфигурация тревог ' ( Alarm configuration ) на вкладке ' Ресурсы ' ( Resources ). Здесь вы определяете Классы (alarm classes) и Группы тревог (alarm groups). Класс служит для оп- ределения параметров, присущих данному виду тревоги. Группа служит для конкретной конфигу- рации одной или нескольких тревог (которым сопоставлен некоторый класс и соответствующие па- раметры), используемых в проекте. Таким образом, класс полезен для структурирования тревог. Различные группы тревог формирует пользователь, вставляя соответствующие разделы под голов- ным заголовком 'System' в дереве конфигурации. Для визуализации тревог в CoDeSys предусмотрен специальный элемент Alarm table. Используя такую таблицу, пользователь может наблюдать и подтверждать тревоги. Если необходима история (History), то есть запись тревожных событий (Alarm-Events), log-файл должен быть заранее определен и для каждой группы определены параметры записи. Открыв объект ' Конфигурация тревог ' ( Alarm configuration ) на вкладке ' Ресурсы ' ( Resources ), вы увидите диалог ' Конфигурация тревог ' ( Alarm configuration ). Это разделенное на две части окно, аналогичное по принципам работы окнам “ Конфигурация ПЛК ” ( PLC Configuration ) и “ Конфи- гурация задач ” ( Task configuration ). В левой части представлено дерево конфигурации, в правой - соответствующие диалоги настройки конфигурации. Ресурсы CoDeSys V2.3 6-10 Пример конфигурации тревог Щелчок мыши по значку "плюс" раскрывает элементы дерева Alarm configuration'. Если вы создали новую конфигурацию тревог, то она состоит только их двух элементов 'Alarm classes' и 'System'. Общая информация и терминология Использование сигнальной системы в CoDeSys требует понимания следующих определений: Тревога (Alarm): тревога - это событие, обусловленное определенными условиями (значением вы- ражения). Приоритет (Priority): приоритет определяет степень важности тревоги. Самый высокий приоритет - "0". Самый низкий - "255". Состояние тревоги (Alarm state): выражение / переменная, связанная с тревогой и принимающая следующие значения: NORM - тревоги нет, INTO - тревога только что произошла, ACK - тревога произошла и подтверждена пользователем, OUTOF - условия тревоги "ушли" (но она не подтвер- ждена!). Промежуточное состояние (Sub-State): условия тревоги могут включать пределы (Lo нижний, Hi верхний) и "чрезвычайные" пределы (LoLo, HiHi). Например: значение выражения растет и дости- гает предела HI, происходит так называемая HI-тревога. Если значение выражения продолжает рас- ти и достигает чрезвычайного предела прежде, чем она подтверждена пользователем, то HI-тревога станет подтвержденной автоматически и только HIHI-тревога остается в списке (мы говорим о внутреннем списке, используемом механизмом обслуживания тревог). В этом случае HI-состояние называют промежуточным состоянием. Подтверждение тревог (Acknowledgement of alarms): Главная цель тревог состоит в том, чтобы сообщить пользователю о критических ситуациях. При этом часто необходимо удостовериться, что пользователь заметил эту информацию (возможные действия по тревоге заданы в конфигурации класса). Пользователь должен подтвердить тревогу, чтобы удалить ее из списка. Ресурсы CoDeSys V2.3 6-11 Тревожное событие (Alarm Event): Тревожное событие нельзя путать с условиями тревоги. Усло- вия тревоги могут иметь силу в течение длительного периода времени. Тревожное событие - это тот момент, при котором мы фиксируем тревогу или изменение ее состояния. В конфигурации тревог CoDeSys для трех типов тревожных событий и соответствующих состояний применяются одинако- вые названия (INTO, ACK, OUTOF). В CoDeSys обеспечиваются следующие особенности: • Деактивация формирования как отдельных тревог, так и их групп. • Управление отображением тревог путем задания групп и приоритетов. • Запись всех тревожных событий в таблицу • Элемент визуализации 'Alarm table' Классы тревог Классы тревог используются для описания некоторых общих критериев тревог, типа, способа под- тверждения пользователем, действий, которые должны автоматически выполняться по тревожным событиям, цветов и картинок, использующихся для визуализации. Классы тревог определены гло- бально в конфигурации тревог и доступны при конфигурировании групп тревог. Конфигурирование классов тревог: Выберите объект ' Классы тревог ' ( Alarm classes ) в дереве конфигурации тревог, и вы увидите диа- лог конфигурирования классов. Ресурсы CoDeSys V2.3 6-12 Диалог ' Классы тревог ' ( Alarm classes ) Нажмите кнопку “ Добавить ” ( Add ) для создания нового класса. Вслед за этим в верхнем окне будет вставлена строка, изначально с единственным элементом "NOACK" (без подтверждения) в колонке “ Подтверждение ” ( Acknowledgement ). Определите на- звание для нового класса в соответствующем поле колонки “ Имя ” ( Name ) (редактирование строки доступно при щелчке мыши). Если необходимо, измените тип подтверждения в колонке “ Подтвер- ждение ” ( Acknowledgement ). Возможны следующие варианты подтверждения: NO_ACK: подтверждение не требуется. ACK_INTO: "приход" условий тревоги (статус "INTO") должен быть подтвержден пользовате- лем. ACK_OUTOF: "уход" условий тревоги (статус "OUTOF") должен быть подтвержден пользовате- лем. ACK_ALL: "приход" и "уход" условий тревоги должен быть подтвержден пользователем. Дополнительно вы можете ввести Замечание (Comment). Определения новых классов добавляются в конец списка. Используйте кнопку Удалить (Delete) для удаления выбранного класса из списка. Присвоение действий для классов Ресурсы CoDeSys V2.3 6-13 Каждый класс, определенный в верхнем окне, может иметь список действий, которые будут выпол- нены по тревожному событию. В списке “ Возможные действия ” ( Possible actions ) выберите необходимое и нажмите кнопку ">", чтобы перенести его в область “ Назначенные действия ” ( Assigned actions ). В итоге эта область будет содержать все действия, назначенные данному классу тревог. Кнопкой ">>" вы можете доба- вить сразу все действия. Кнопка "<" удаляет одно действие. Кнопка "<<" удаляет сразу все действия из области Назначенных действий. Кнопка " ... " открывает соответствующий диалог детализации действия: адрес электронной почты, выбор принтера, переменная состояния или выполняемая про- грамма и, если нужно, текст сообщения. Допустимы следующие типы действий ( |