Codesys (824048), страница 37
Текст из файла (страница 37)
Будет или нет передаваться значение переменной,зависит от того, закончился ли заданный интервал. При каждой передаче интервальный таймер сбрасывается.Передача выполняется системой исполнения без вмешательства прикладной программы. Никаких дополнительных функций ненужно.Редактирование списков глобальных и сетевых переменныхРедактор глобальных переменных работает аналогично редактору раздела объявлений.
Если подключенвнешний список переменных, то его редактировать нельзя. Внешний список редактируется вне проектаи считывается каждый раз, когда проект открывается или компилируется.Синтаксис:VAR_GLOBAL(*объявление переменных *)END_VARСетевые переменные можно применять, только если это поддержано выбранной целевой платформой.Пример списка сетевых переменных, созданных путем подключения UDP.EXP файла:Редактирование списков реманентных переменныхСуществуют два типа реманентных переменных:CoDeSys V2.36-6РесурсыRetain variables, сохраняющие свои значения при выключении питания и сбросе 'Online' 'Reset' вCoDeSys. Persistent variables сохраняют свои значения при сбросе без выключения питания, управляемом останове системы исполнения (стоп, старт).Реманентные переменные объявляютсяPERSISTENT.с дополнительным ключевым словом RETAIN илиСинтаксис:VAR_GLOBAL RETAIN(*объявление переменных*)END_VARVAR_GLOBAL PERSISTENT(*объявление переменных*)END_VARPersistent переменные не являются автоматически Retain переменными! При необходимости используйте комбинированное объявление:VAR_GLOBAL RETAIN PERSISTENT или VAR_GLOBAL PERSISTENT RETAINРедактирование списков глобальных константГлобальные константы дополнительно получают ключевое слово CONSTANT.Синтаксис:VAR_GLOBAL CONSTANT(*объявление переменных*)END_VAR6.2.2 Конфигурационные переменныеИспользование прямых адресов в функциональных блоках противоречит идеологии независимостиданных разных экземпляров функционального блока.
Конфигурационные, или "шаблонные", переменные решают эту проблему.В показанном ниже примере функциональный блок locio имеет логический вход %I и выход %Q. Прямые адреса переменных заменены символом шаблона "*".Пример:FUNCTION_BLOCK locioVARloci AT %I*: BOOL := TRUE;loco AT %Q*: BOOL;END_VARДалее объявление экземпляров блока Hugo и Оtto может выглядеть, например, так:Пример.PROGRAM PLC_PRGVARHugo: locio;Otto: locio;END_VARКонкретное распределение прямых адресов переменных реализовано в разделе ресурсов VariableConfiguration:VAR_CONFIGCoDeSys V2.36-7Ресурсы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, включающую описания всех определенных через шаблоны переменных для всех экземпляров функциональных блоков. В полученной заготовке остаетсятолько расставить прямые адреса.Команда доступна, только если проект откомпилирован.
("Project", "Rebuild All").6.2.3 Файл комментариев переменныхЕсли существует задача создать несколько документов, описывающих проект (например, на английском и на русском языке), или надо документировать несколько похожих проектов, использующиходинаковые переменные, то можно сэкономить массу времени, создав отдельный файл комментариевпеременных.
Для создания шаблона этого файла используются команды: "Extras" "Make DocuframeFile". Созданный файл можно редактировать в любом текстовом редакторе. Шаблон начинается строкой DOCUFILE. Далее идет список всех переменных проекта. Под каждую из них отводятся 3 строки:VAR, которая показывает, что начинается описание переменной, потом строка, содержащая имя переменной, и, наконец, пустая строка. В эту строку нужно вписать комментарий к переменной.Шаблоны для переменных, не требующих комментариев, можно удалить.Если нужно, для одного проекта можно создать несколько файлов комментариев.Окно редактора файла шаблона комментариевCoDeSys V2.36-8РесурсыЧтобы использовать созданный ранее файл комментариев, надо выбрать команду "Extras""Link File".Теперь при распечатке проекта в тех местах, где описаны переменные, будет добавлен соответствующий комментарий.
Эти комментарии появляются только при распечатке."Extras" "Make Docuframe File"Команда используется для создания шаблона файла комментариев и доступна лишь тогда, когда активно одно из окон глобальных переменных. Команда открывает диалоговое окно для создания файла сновым именем. В поле для ввода имени файла всегда предлагается расширение *.txt. После ввода имени файла будет создан текстовый документ, содержащий список всех переменных проекта."Extras" "Link Docu File"Подключить файл комментариев переменных. При ее вызове появится диалоговое окно, где нужно выбрать имя файла.
Теперь при распечатке проекта или его частей в тексте программ будут вставлены соответствующие комментарии. Комментарии вставляются только при распечатке.Для создания файла комментариев используется команда "Extras" "Make Docuframe File".6.3 Конфигурация тревог (Alarm Configuration)6.3.1 ОбзорСигнальная система, встроенная в 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.36-9РесурсыПример конфигурации тревогЩелчок мыши по значку "плюс" раскрывает элементы дерева 'Alarm configuration'. Если вы создали новую конфигурацию тревог, то она состоит только их двух элементов 'Alarm classes' и 'System'.6.3.2 Общая информация и терминологияИспользование сигнальной системы в 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): Главная цель тревог состоит в том, чтобы сообщить пользователю о критических ситуациях. При этом часто необходимо удостовериться, что пользователь заметил эту информацию (возможные действия по тревоге заданы в конфигурации класса).Пользователь должен подтвердить тревогу, чтобы удалить ее из списка.Тревожное событие (Alarm Event): Тревожное событие нельзя путать с условиями тревоги.
Условиятревоги могут иметь силу в течение длительного периода времени. Тревожное событие - это тот момент, при котором мы фиксируем тревогу или изменение ее состояния. В конфигурации тревог CoDeSys для трех типов тревожных событий и соответствующих состояний применяются одинаковые названия (INTO, ACK, OUTOF).CoDeSys V2.36-10РесурсыВ CoDeSys обеспечиваются следующие особенности:•Деактивация формирования как отдельных тревог, так и их групп.•Управление отображением тревог путем задания групп и приоритетов.•Запись всех тревожных событий в таблицу•Элемент визуализации 'Alarm table'6.3.3 Классы тревогКлассы тревог используются для описания некоторых общих критериев тревог, типа, способа подтверждения пользователем, действий, которые должны автоматически выполняться по тревожным событиям, цветов и картинок, использующихся для визуализации.