Руководство пользователя по программированию плк в CoDeSys 3
Скачать 5.57 Mb.
|
" Вставка" "Вставить задачу" ("Insert" "Insert Task") или "Вставка" "Добавить задачу" ("Insert" "Append Task") С помощью этих команд можно вставить новую задачу. Если выделена задача или элемент ' Системные события ' ( System events ), то доступна команда " Вставить задачу " ( Insert Task ). Используя эту команду, можно вставить новую задачу перед кур- сором. Если выделена строка “ Конфигурация задач ” ( Task Configuration ), то доступна команда " Добавить задачу " ( Append Task ) и новая задача добавляется в конец списка. После этого будет открыто диалоговое окно для установки атрибутов задачи (См. выше рис. Окно конфигурации за- дач). Ресурсы CoDeSys V2.3 6-58 Максимально возможное число задач определяется целевой системой. Обратите внимание, что не- которое число задач может оказаться уже зарезервировано для модулей Конфигурации ПЛК (опре- делено в cfg-файле). Диалог атрибутов задачи включает: Имя ( Name ): Имя отражает задачу в дереве конфигурации. Для редактирования имени нужно щелкнуть по нему мышью или выбрать элемент и нажать <пробел>. Приоритет ( Priority ) (0-31): (число от 0 до 31 со следующими значениями: 0 - самый высокий, 31 – самый низкий приоритет) Тип: Циклическая ( cyclic ) : задача вызывается циклически через заданный интервал времени (Interval) (см. ниже). Свободная ( freewheeling ) : задача вновь вызывается сразу же после окончания в непре- рывном цикле, без задания каких-либо интервалов. По событию ( triggered by event ) : задача вызывается по фронту значения логической пе- ременной, определенной в поле “ Событие ” ( Event ). По внешнему событию ( triggered by external event ) : задача вызывается по событию, ко- торое определено в поле “ Событие ” ( Event ) . Список доступных событий зависит от целевой платформы. Свойства: Интервал ( Interval ) (для задач типа 'cyclic'): период времени, после которого задача должна быть вызвана в очередной раз. Справа от поля ввода значения задаются единицы измерения. Это могут быть миллисекунды [ms] либо микросекунды [µs]. При установке миллисекунд значение должно быть дано в формате TIME (например, "t#200ms"). При вводе микросекунд используется числовая форма представления (например, "300"). Событие ( Event ) (для задач типа 'triggered by event' и 'triggered by external event'): глобальная переменная инициирующая запуск задачи передним фронтом. Используйте кнопку ... или Ассистент ввода VAR_GLOBAL a AT %MX1.1: BOOL; b AT %MX1.1: BOOL; c AT %MB4: BOOL; d AT %MD1: BOOL; END_VAR Если в обоих полях 'Interval' и 'Event' ничего не задано, то время цикла определяется систе- мой исполнения. Например, для CoDeSys SP NT V2.2 и старше время цикла будет 10 ms. Сторожевой таймер (Watchdog): Для каждой задачи можно определить контроль времени выполнения (таймер-сторож). Если целевая платформа поддерживает расширенную конфигурацию таймера-сторожа, то могут быть определены максимальное, минимальное и значение по умолчанию. Также может при- сутствовать определение времени в процентах. “ Активировать сторожевой таймер ” ( Activate watchdog ): если сторожевой таймер вклю- чен, то задача будет прервана с установленным статусом ошибки, если её выполнение заняло больше времени, чем задано в поле ' Время ' ( Time ) (см. ниже). Ресурсы CoDeSys V2.3 6-59 Внимание: система исполнения CoDeSys SP 32 Bit Full отключает сторожевой таймер автомати- чески при выходе в точку останова. ' Время ' ( Time ) (например.: t#200ms): время сторожевого таймера; если задача не завершила работу в течение этого времени, сторожевой таймер «срабатывает». В некоторых целевых платформах время вводится в процентах от интервала задачи. В этом случае селектор единиц измерения показан серым цветом и отображает "%". ' Восприимчивость ' ( Sensitivity ): чувствительность, допустимое число превышений времени сторожа без формирования признака ошибки. По умолчанию устанавливается значение ‘1’. Это означает, что уже первое превышение порога приведет к срабатыванию сторожевого таймера. Если задать значение ‘0’, то механизм сторожевого таймера будет отключен. Вспомогательные специфические атрибуты: Помимо описанных стандартных атрибутов, изготовителем оборудования задаче могут быть сопоставлены вспомогательные специфические атрибуты. Они отображаются на вкладке "Pa- rameters". В этом случае файлы конфигурации платформы включают специальный файл опи- сания конфигурации задач. " Вставка" "Вставить вызов программы" ("Insert" "Insert Program Call") или "Встав- ка" "Добавить вызов программы" ("Insert" "Append Program Call") С помощью этих команд можно открыть диалоговое окно добавления программ в задачу. Каждая программа в дереве конфигурации задач отмечена иконкой При использовании команды " Вставить вызов программы " ( Insert Program Call ) можно вставить новый программный вызов перед курсором, " Добавить вызов программы " ( Append Program Call ) позволяет добавить вызов в конец существующего списка. Диалоговое окно ввода вызова программы В поле “ Вызов программы ” ( Program Call ) нужно написать имя программы, которая есть в проек- те, или с помощью кнопки Select выбрать его из списка предложенных. Если программа имеет входные параметры, то они приводятся в скобках как при обычном вызове программы (например, prg(invar:=17)). Порядок выполнения программ в задаче определяется их последовательностью в списке (сверху вниз). Системные события Помимо "задач", еще и "системные события" могут приводить к вызову POU в проекте. Доступные системные события определяются целевой платформой. Список стандартных событий может быть дополнен специфическими событиями пользователя. Возможные события, например: Старт, стоп, Онлайн коррекция. Присваивание системных событий POU выполняется в Конфигураторе задач. Диалог ' Системные события ' '( System Events ) открывается при выборе элемента ' Системные события ' ( System- events ) в дереве конфигурации: Ресурсы CoDeSys V2.3 6-60 Таблица присваивания системных событий POU: Каждое событие (поддерживаемое в выбранной целевой платформе) представлено в отдельной строке, содержащей поля “ Имя ” ( Name ) и “ Описание ” ( Description ). Присваивание POU произво- дится в правом столбце таблицы “ Вызываемый POU ” ( called POU ). Для этого используйте Ассистент ввода ( Для включения вызова POU по событию необходимо включить флажок в первой колонке табли- цы. Включение/выключение выполняется щелчком мышки. Конфигуратор задач в режиме онлайн В режиме онлайн дерево конфигурации задач отображает статус каждой задачи и число отработан- ных ею циклов. Временная диаграмма работы задач показана в правой части окна. Предварительное условие: для поддержки функции мониторинга времени библиотеки SysTaskInfo.lib и SysLib- Time.lib должны быть включены в проект. Данные библиотеки отсутствуют, если не установлены целевые платформы, поддерживающие мониторинг задач. Отображение статуса задач в дереве конфигурации: В режиме онлайн статус задач и число циклов отображаются справа от имени задачи в квадратных скобках. Время обновления экрана такое же, как и при обычном мониторинге переменных. Возможный статус: Idle не выполнялась после последнего обновления; характерно для задач управляемых событиями. Running выполнялась не менее одного раза после последнего обновления. Stop остановлена Ресурсы CoDeSys V2.3 6-61 Stop on BP остановлена, по причине достижения точки останова Stop on Error ошибка, например: деление на ноль и др. Stop Watch- dog выполнение прервано сторожевым таймером При статусах 'Stop on Error' или 'Stop Watchdog' задача отображается красным цветом . Отображение диаграмм времени выполнения задач При выборе ' Конфигурация задач ' ( Taskconfiguration ) в дереве конфигурации задач в правой час- ти окна отображаются результаты мониторинга времени выполнения задач. Пример отображения конфигуратора задач в режиме онлайн Для каждой задачи отображается столбчатая диаграмма. Длина столбца отражает длительность цикла. Под каждым столбцом диаграммы приведены числовые значения: Мин. (Min): минимальное измеренное время выполнения в мкс. Посл. (last): последнее измеренное время выполнения в мкс. Макс. (Max): максимальное измеренное время выполнения в мкс. Цикл (Cycle): общее время цикла в мкс. Джиттер (Jitter): максимальное измеренное дрожание в µs (время между запуском задачи и мо- ментом отображения ее работты операционной системой). Кнопка “ Сброс ” ( Reset ) сбрасывает значения минимумов, максимумов и джиттера в 0. Масштабирование диаграммы (микросекунд на пиксель) настраивается в поле “ Шкала ” ( Scaling ) [µs/Pixel]. Какие задачи будут выполнены? При выполнении задач применяются следующие правила: • Выполняется та задача, условия которой истинны, т.е. прошло указанное время или переменная получила значение ИСТИНА. • Если несколько задач имеют одинаковые условия, тогда выполняется задача с наивысшим при- оритетом. Ресурсы CoDeSys V2.3 6-62 • Если несколько задач имеют одинаковые условия и приоритет, то выполняется та, которая име- ет большее время ожидания. • Программы одной задачи выполняются в том же порядке, в каком они перечислены в списке конфигурации задачи. • В зависимости от целевой платформы PLC_PRG может работать как free-wheeling задача без необходимости определять ее в конфигурации задач. Дополнительные онлайн функции контекстного меню и меню ' Дополнения ' ( Extras ): " Дополнения" "Отлаживать эту задачу" ("Extras" "Set Debug Task") С помощью этой команды в режиме Онлайн задачу можно сделать отлаживаемой. После имени от- лаживаемой задачи появится слово [DEBUG]. Тогда функции отладки применяются только к этой задаче. Другими словами, программа останавливается в точке останова, только если она вызвана такой задачей. ' Дополнения' 'Разрешить / запретить задачу' ('Extras' 'Enable / disable task') Запрещает или разрешает выполнение выбранной в дереве конфигурации задачи. Запрещенная за- дача не вызывает свои программы и отображается в дереве конфигурации серым цветом. ' Дополнения' 'Стек вызовов' ('Extras' 'Callstack') Данная команда присутствует в меню “ Дополнения ” ( Extras ) Конфигуратора задач. Если про- грамма остановлена в точке останова, то с помощью этой команды можно просмотреть стек вызо- вов. Отлаживаемая задача должна быть выбрана в дереве конфигурации задачи. Стек вызовов пока- зывается в окне ‘ Стек вызовов задачи <имя задачи> ’ ( Callstack of task ). Здесь вы получите имя POU и позицию точки останова (например: "prog_x (2)" для второй строки prog_x). Ниже отображается стек вызовов в обратном порядке. Кнопка ' Перейти ' ( Go To ) позволяет пере- меститься в помеченную в стеке вызовов позицию POU. 6.8 Менеджер просмотра (Watch and Recipe Manager) Обзор Менеджер контроля и заказа значений переменных или коротко «Менеджер просмотра» позволяет просматривать значения заданного списка переменных, заранее определять наборы констант для переменных данного списка и моментально присваивать их одной командой записи: “ Записать значения ” ( Write Recipe ). Кроме того, образ текущих значений переменных контроллера можно считать и сохранить (команда “ Считать значения ” ( Read Recipe )). Эта функция полезна, напри- мер, для быстрого восстановления определенного состояния системы. Для работы с Менеджером просмотра (Watch and Recipe Manager) откройте соответствующее окно на вкладке “ Ресурсы ” ( Resources ) организатора объектов. Перечень доступных списков переменных находится в левой части окна. Списки можно выбирать с помощью мышки или клавишами управления курсором. В правой части окна показывается состав выбранного списка. Менеджер просмотра в режиме оффлайн В режиме оффлайн можно создать несколько именованных списков переменных, используя коман- ду " Вставка " " Новый список переменных " (" Insert " " New Watch List "). Сами переменные вво- дятся с помощью Ассистента ввода или с клавиатуры согласно следующему правилу: . Ресурсы CoDeSys V2.3 6-63 Для глобальной переменной часть POU Name (имя программного компонента) не нужна. Ввод гло- бальной переменной начинается с точки. Имя переменной может быть многоуровневым. Можно использовать прямые адреса. Пример многоуровневой переменной: PLC_PRG.Instance1.Instance2.Structure.Componentname Пример глобальной переменной: .global1.component1 Менеджер просмотра в режиме Offline Для присвоения константы переменной используется стандартный оператор присваивания : =. В режиме онлайн заданные значения констант можно будет записать в контроллер командой “ Запи- сать значения ” ( Write Recipe ). Пример: PLC_PRG.TIMER:= 50 В примере переменная PLC_PRG.TIMER получает значение 50. По команде " Дополнения " " Записать значения " (" Extras " " Write Recipe ") заданные константы будут переданы в PLC. Относительно массивов и структур: Вы должны ввести имена отдельных элементов для последую- щего доступа к ним. Например: вы определили структуру с элементами a, b, c объявили перемен- ную struvar данного типа в PLC_PRG. Предварительное помещение в список элементов a,b,c вместе со значениями выполняется так: PLC_PRG.struvar.a:= PLC_PRG.struvar.b:= PLC_PRG.struvar.c:= Предварительное помещение в список элементов массива выполняется аналогично. Например, для массива переменных типа ARRAY[0...6]: PLC_PRG.arr_var[0]:= PLC_PRG.arr_var[1]:= Для функционального блока fb, содержащего переменные x,y и имеющего экземпляр fb_inst, объяв- ленный в PLC_PRG, введите следующие строки: PLC_PRG.fb_inst.x:= PLC_PRG.fb_inst.y:= Ресурсы CoDeSys V2.3 6-64 " Вставка" "Новый список переменных" ("Insert" "New Watch List") Создать новый список переменных, имя которого нужно будет ввести в отдельном диалоговом ок- не. " Дополнения" "Переименовать спиок" ("Extras" "Rename Watch List") Изменить имя выбранного списка переменных. " Дополнения" "Сохранить список просмотра" ("Extras" "Save Watch List") Сохранить выбранный список переменных в файле с расширением "*.wtc". " Дополнения" "Открыть список просмотра" ("Extras" "Load Watch List") Загружает список переменных, сохраненный командой " Сохранить список просмотра " ( Save Watch List ). Менеджер просмотра в режиме Онлайн В режиме Онлайн значения выбранного списка переменных отображаются на экране. Переменные структурного типа (массивы, структуры, экземпляры функциональных блоков) поме- чаются значком "плюс" перед именем переменной. Открывается такая переменная двойным щелч- ком мыши или клавишей Масштаб ' ( Zoom ) и ' Открыть экземп- ляр ' ( Open instance ). Для добавления новых переменных надо отключить режим отображения командой " Дополнения " " Мониторинг включен |