Codesys (824048), страница 47
Текст из файла (страница 47)
После имени отлаживаемой задачи появится слово [DEBUG]. Тогда функции отладки применяются только к этой задаче.Другими словами, программа останавливается в точке останова, только если она вызвана такой задачей.'Extras' 'Enable / disable task'Запрещает или разрешает выполнение выбранной в дереве конфигурации задачи. Запрещенная задачане вызывает свои программы и отображается в дереве конфигурации серым цветом.'Extras' 'Callstack'Данная команда присутствует в меню Extras Конфигуратора задач. Если программа остановлена в точкеостанова, то с помощью этой команды можно просмотреть стек вызовов.
Отлаживаемая задача должнабыть выбрана в дереве конфигурации задачи. Стек вызовов показывается в окне 'Callstack of task <taskname>'. Здесь вы получите имя POU и позицию точки останова (например: "prog_x (2)" для второйстроки prog_x) . Ниже отображается стек вызовов в обратном порядке.
Кнопка 'Go To' позволяет переместиться в помеченную в стеке вызовов позицию POU.6.8 Менеджер рецептов (Watch and Receipt Manager)6.8.1 ОбзорМенеджер контроля и заказа значений переменных или коротко «Менеджер рецептов» позволяет просматривать значения заданного списка переменных, заранее определять наборы констант для переменных данного списка и моментально присваивать их одной командой записи: "Write Receipt". Крометого, образ текущих значений переменных контроллера можно считать и сохранить (команда "ReadReceipt").
Эта функция полезна, например, для быстрого восстановления определенного состояния системы.Для работы сWatch and Receipt Manager откройте соответствующее окно на вкладке Resourceорганизатора объектов.Перечень доступных списков переменных находится в левой части окна. Списки можно выбирать спомощью мышки или клавишами управления курсором.
В правой части окна показывается состав выбранного списка.6.8.2 Менеджер рецептов в режиме OfflineВ режиме Offline можно создать несколько именованных списков переменных, используя команду"Insert" "New Watch List". Сами переменные вводятся с помощью Ассистента ввода или с клавиатуры согласно следующему правилу:<POUName>.<Variable Name> [:= <Const>]CoDeSys V2.36-61РесурсыДля глобальной переменной часть POU Name (имя программного компонента) не нужна. Ввод глобальной переменной начинается с точки.
Имя переменной может быть многоуровневым. Можно использовать прямые адреса.Пример многоуровневой переменной:PLC_PRG.Instance1.Instance2.Structure.ComponentnameПример глобальной переменной:.global1.component1Менеджер рецептов в режиме OfflineДля присвоения константы переменной используется стандартный оператор присваивания : =. Врежиме online заданные значения констант можно будет записать в контроллер командой ‘WriteReceipt’.Пример:PLC_PRG.TIMER:= 50В примере переменная PLC_PRG.TIMER получает значение 50.По команде "Extras" "Write Receipt" заданные константы будут переданы в PLC.Относительно массивов и структур: Вы должны ввести имена отдельных элементов для последующегодоступа к ним.
Например: вы определили структуру с элементами a, b, c объявили переменную struvarданного типа в PLC_PRG.Предварительное помещение в список элементов a,b,c вместе со значениями выполняется так:PLC_PRG.struvar.a:=<value>PLC_PRG.struvar.b:=<value>PLC_PRG.struvar.c:=<value>Предварительное помещение в список элементов массива выполняется аналогично. Например, для массива переменных типа ARRAY[0...6]:PLC_PRG.arr_var[0]:=<value>PLC_PRG.arr_var[1]:=<value>...Для функционального блока fb, содержащего переменные x,y и имеющего экземпляр fb_inst, объявленный в PLC_PRG, введите следующие строки:PLC_PRG.fb_inst.x:=<value>PLC_PRG.fb_inst.y:=<value>CoDeSys V2.36-62Ресурсы"Insert""New Watch List"Создать новый список переменных, имя которого нужно будет ввести в отдельном диалоговом окне."Extras" "Rename Watch List"Изменить имя выбранного списка переменных."Extras" "Save Watch List"Сохранить выбранный список переменных в файле с расширением "*.wtc"."Extras" "Load Watch List"Загружает список переменных, сохраненный командой "Save Watch List".6.8.3 Менеджер рецептов в режиме OnlineВ режиме Online значения выбранного списка переменных отображаются на экране.Переменные структурного типа (массивы, структуры, экземпляры функциональных блоков) помечаются значком "плюс" перед именем переменной.
Открывается такая переменная двойным щелчком мышиили клавишей <Enter>. Для просмотра значений переменных экземпляров функциональных блоков используйте команды контекстного меню 'Zoom' и 'Open instance'.Для добавления новых переменных надо отключить режим отображения командой "Extra" "ActiveMonitoring". Сделайте необходимые изменения и включите отображение этой же командой.Менеджер рецептов в режиме OnlineВ режиме Online значения определенных заранее в списке констант записываются в контроллер командой "Extras" "Write Receipt".Команда "Extras" "Read Receipt" заменяет константы текущими значениями переменных.Замечание. Загружаются только те переменные, которые выбраны в Watch and Receipt Manager."Extras" "Monitoring Active"В режиме Online эта команда включает или выключает окно показа значений переменных.
Если выбранрежим показа значений переменных, то команда отмечена галочкой.CoDeSys V2.36-63РесурсыДля ввода новых переменных или задания констант (см. режим Offline) режим должен быть выключенс помощью этой команды."Extras" "Write Receipt"С помощью этой команды заданные константы загружаются в контроллер."Extras" "Read Receipt"С помощью этой команды в режиме Online константы, определенные в режиме Offline, заменяются натекущие значения переменных.Замечание. Загружаются только те переменные, которые выбраны в Watch and Receipt ManagerФиксация переменныхВ окне Watch and Receipt Manager вы можете изменять значения переменных, как и при мониторингепрограмм.
Запись значений в ПЛК и фиксация значений выполняются обычными командами "Writevalues" и "Force values". Фиксированные значения отображаются красным цветом.6.9 Трассировка (Sampling Trace)6.9.1 ОбзорТрассировка или осциллографирование позволяет просмотреть значения переменных в определенномотрезке времени. Числовые значения переменных записываются в циклический буфер (буфер трассировки). Если буфер заполняется полностью, то ранние данные постепенно перезаписываются.
Одновременно можно трассировать не более 20 переменных. Максимальное количество значений переменных равно 500.Так как размер буфера трассировки ограничен, то если переменных очень много и они имеют большойразмер (например, DWORD), то трассировка происходит по меньшему количеству значений. Например,если трассируется 10 переменных типа WORD, а объем буфера памяти в контроллере 5000 байтов, токаждая переменная трассируется по 250 значениям.Для перехода в окно трассировки выберите объекттора проекта.Sampling Trace на вкладке ресурсов Организа-Для выполнения трассировки нужно определить список трассируемых переменных "Extras" "TraceConfiguration" и задать параметры их отображения (цвета, масштаб осей координат и др.).
Затем необходимо запустить процесс трассировки "Start Trace" и, наконец, считать буфер трассировки "ReadTrace". Значения заданных переменных будут отображены в виде графиков.Готовая трассировка (конфигурация и значения переменных) может быть сохранена (собственный формат *.trc или открытый XML *.mon) и повторно открыта. Конфигурация сохраняется в *.tcf файле. Таким образом, можно сохранить и изучить несколько результатов трассировки.Обратите внимание: Если используется Менеджер задач для управления программами, функция трассировки относится к отлаживаемой задаче (debug task).CoDeSys V2.36-64Ресурсы6.9.2 Конфигурация трассировкиДля определения списка трассируемых переменных и настройки параметров трассировки предназначено диалоговое окно Trace Configuration.Оно вызывается при двойном щелчке на серой области окна Sampling Trace либо командой:"Extras" "Trace Configuration"Диалоговое окно Trace ConfigurationНазвание данной конфигурации трассировки определяется в поле Trace Name.Список трассируемых переменных:Изначально список трассируемых переменных Variables пуст.
Для добавления новой переменной используйте поле ввода Input of trace variable (по завершению ввода нажать кнопку “Insert” или клавишу <Enter>). Вы можете интерактивно выбрать необходимые переменные проекта, нажав на кнопку“Help Manager”. Чтобы удалить переменную из списка, надо выбрать ее и нажать кнопку “Delete”.Условия окончания процесса записи в циклический буфер:При необходимости "отловить" определенный фрагмент трассируемых данных следует использоватьтриггерную переменную: Trigger Variable.В поле Trigger Variable вводится логическая или аналоговая переменная (из числа перечисленных вполе Variables).
Эта переменная определяет условие завершения трассировки. Для аналоговой переменной необходимо указать числовое значение порога. При переходе триггерной переменной черезуказанный порог процесс трассировки будет остановлен. Если выбрана опция Trigger edge: positive,CoDeSys V2.36-65Ресурсыостанов происходит при переходе триггерной переменной через значение Trigger Level в сторону увеличения. При выборе опции Trigger edge: negative останов происходит при переходе порога в сторонууменьшения.
Опция Bouth обеспечивает останов при любом переходе значения. Опция None запрещает отслеживание триггерной переменной.Если триггер-переменная не установлена, то буфер трассировки заполняется непрерывно до команды"Stop Trace".Поле Trigger Position определяет, какой процент значений будет записан до условия. Например, есливвести 25, то 25% будет считано до достижения условия, а 75% - после. Затем трассировка будет закончена.Поле Sample Rate используется для установки периода между записями значений переменных. Этотинтервал задается в миллисекундах.