 Использование графического отладчика

ISaGRAF включает полный графический и символьный редактор. Команда Отладка окна управления программ запускает отладчик для управления приложением, загруженным на целевую PLC. В этом режиме отладчик общается с целевой системой через аппаратную связь. Команда Симуляция окна управления программ одновременно запускает отладчик и полный симулятор целевой системы. Это позволяет пользователю тестировать его приложение, когда целевая система В/В еще не завершена. Окно отладчика содержит команды для управления всем приложением.

Окно отладчика

Управление приложением

Опции

Команды записи (write)

Изменение по ходу работы

Обмены DDE

Если, при запуске отладчика, приложение на целевой PLC то же, что и на workbench, то автоматически открывается окно управления программами в режиме отладки. Команды этого окна могут быть использованы для открытия других окон ISaGRAF (графического и текстового редакторов, словаря, списков переменных, соединений В/В …). Все окна, открытые во время сессии отладки функционируют в режиме отладки, означающим то, что команда редактирования запрещена. Отображенные компоненты программ (шаги, переходы, переменные …) показаны с их текущим состоянием или значением. Двойной щелчок мышкой по объекту изменяет его статус или значение в целевом приложении.

Когда отладчик запускается в режиме симуляции, связь с целевой системой ISaGRAF останавливается. Отладчик взаимодействует только с окном симуляции. Так как целевая система не существует в данном режиме, то команды загрузить, запустить приложение или остановить приложение  не доступны в меню отладчика.


Окно отладчика

Окно отладчика содержит информацию только о завершенном состоянии приложения. Оно связано с другими окнами ISaGRAF, создавая полную интерактивную систему отладки. Обнаруженные ошибки выполнения отображаются в нижней области окна отладчика. Команды из меню Опции используются для скрытия, показа или удаления списка ошибок.

Панель управления (область под меню отладчика) показывает глобальное состояние целевого приложения, а также информацию о времени выполнения цикла. Список возможных состояний:

Регистрация:	Отладчик устанавливает соединение с целевой системой.

Нет связи:	Отладчик не может соединится с целевой системой. Убедитесь, что соединительный кабель и параметры коммуникации правильны.

Нет приложения:	Соединение в норме, но приложение ISaGRAF в данный момент отсутствует на целевой системе. Загрузите приложение.

Приложение активно:	Соединение в норме и действующее приложение существует на целевой системе. Отладчик в данный момент устанавливает связь с этим приложением, если оно то же самое, что и на Workbench…

Работа:	Целевое приложение в режиме Реальное время .

Стоп:	Целевое приложение в режиме Пошаговый.

ТочкаОстанова: 	Целевое приложение в режиме Пошаговый, потому что достигли точки останова.

Ошибка:	Сбой в целевом приложении из-за серьезной ошибки.

Информация о времени выполнения цикла показана ниже:

Разрешено:	запрограммированное время.

Текущий:	точное время последнего завершенного цикла.

Максимальный:	максимальное время, выявленное с начала запуска приложения.

Переполнение:	число циклов выполнения, выявленных с временем большим, чем запрограммированное время.

Все значения даны в миллисекундах. Значения времени не отображаются, если отладчик запущен в режиме симуляции.


Управление приложением

Меню Файл и Управление содержат команды для установки и управления текущего редактируемого приложения ISaGRAF на целевой системе ISaGRAF.

Замечание: Некоторые из этих команд недоступны во время симуляции, потому что приложение, обрабатываемое симулятором, автоматически устанавливается ISaGRAF Workbench.

Остановка целевого приложения

Активизация целевого приложения

Загрузка приложения

Отображение номера версии

Модификации во время работы

Режим Реального Времени (Real Time)

Режим Цикл за Циклом (Cycle to Cycle)

Выполнить один цикл

Временной цикл

Удаление всех точек останова

Разблокирование переменных В/В


Остановка целевого приложения

Команда Файл / Остановить приложение останавливает выполнение приложения активного в данный момент на целевой системе ISaGRAF.


Активизация целевого приложения

Команда Файл / Запустить приложение запускает на выполнение приложение, существующее на целевой системе. Когда приложение загружено, то оно автоматически запускается, так что нет необходимости использовать команду Запустить приложение. Команда Запустить приложение обычно используется после команды Остановить приложение.

Замечание: Целевое приложение должно быть остановлено (дезактивировано) перед тем, как станет возможным загрузить новое приложение.


Загрузка приложения

Команда Файл / Загрузить используется для загрузки кода приложения на целевую систему. Выберите тип кода, который будет загружаться, в соответствии с целевым системным процессором и опциями приложения.


Отображение номера версии

Команда Файл / Номер версии используется для отображения идентификации и Workbench, и целевого приложения. Приложение Workbench - одно приложение, открытое на ISaGRAF Workbench. Целевое приложение - одно приложение, выполняемое на целевой ISaGRAF PLC. Отображаются следующие позиции:

Версия:	Это номер версии кода приложения. Этот номер был вычислен генератором кодов.

Дата:	Эта позиция показывает дату и время создания кодов.

CRC:	Это контрольная сумма вычисленная вместе с содержимым таблицы символов. Это число было подсчитано генератором кодов. Его значение зависит от содержимого словаря переменных.

Замечание: Команда Номер версии также доступна во время симуляции. В режиме реальной отладки эта команда не может быть использована, если целевое PLC не подключено.


Модификации во время работы

Команда Файл / Изменить приложение позволяет пользователю осуществить модификацию на ходу запущенного целевого приложения. Эта команда детализирована в следующих разделах этой главы. Она недоступна, когда отладчик используется в режиме симуляции.


Режим Реального Времени (Реальное время)

Команда Управление / Реальное время недоступна, когда нет активного приложения. Она устанавливает целевое приложение в нормальный режим реального времени: Нормальный режим: циклы выполнения запускаются с запрограммированным временным циклом .


Режим Цикл за Циклом (Пошаговый режим)

Команда Управление / Пошаговый режим недоступна, когда нет активного приложения. Она устанавливает целевое приложение в нормальный режим цикл за циклом: В этом режиме циклы выполняются один за одним, в соответствии с командами Выполнить один цикл, заданными пользователем из меню отладчика.


Выполнить один цикл

Когда целевое приложение находится в режиме цикл за циклом, команда Управление / Выполнить один цикл  запускает выполнение одного цикла.


Временной цикл

Команда Управление / Изменить временной цикл позволяет пользователю изменять запрограммированный временной цикл. Это время обозначено как Разрешено в окне управления отладчиком. Режим Пошаговый режим должен быть установлен перед изменением временного цикла. Временной цикл вводится как целое число в миллисекундах.


Удаление всех точек останова

Команда Управление / Очистить все токи останова  удаляет все текущие точки останова (встреченные или еще активные) во всем приложении. Существующие точки останова автоматически не удаляются, когда закрывается окно отладчика.


Разблокирование переменных В/В

Команда Управление / Открыть все переменные ВВ разблокирует все переменные В/В, в настоящий момент заблокированные в приложении. Когда переменная В/В заблокирована, состояние входа или выхода не изменяется в соответствующем устройстве В/В. Переменные, подключенные к В/В, могут быть еще записанными приложением или отладчиком. Текущие заблокированные переменные В/В автоматически не разблокируются, когда закрывается окно отладчика.


Опции

Меню Опции содержит опции для управления информацией, выводимой в окне отладчика:

Параметры связи

Опции экрана


Параметры связи

Временные параметры связи могут регулироваться когда отладчик активен. Здесь может быть установлен только таймаут связи. Другие параметры связи (скорость передачи, паритет …) должны быть установлены из меню Отладка окна Управления Программ.

Таймаут  связи - это время, оставленное для целевой системы для начала ответа по запросу workbench. Время обновления - это период времени, требуемый для запроса на чтение, который будет посылаться отладчиком для обновления данных в открытом окне.

Все временные значения отображаются и вводятся как целые числа в миллисекундах. Временные параметры связи не могут быть установлены, когда отладчик используется в режиме симуляции.


Опции экрана

 Опция Показать временной цикл позволяет пользователю скрыть или показать значения временного цикла. Если эта опция установлена, то отображаются и обновляются все компоненты временного цикла (разрешено, текущий, максимум, переполнения). Запрещение этой опции сокращает затраты на связь отладчика.

Когда установлена опция Показать ошибки , обнаруженные ошибки выполнения перечисляются в нижней части окна отладчика. Если это опция запрещена, то список ошибок закрыт. Удаление этой опции сокращает затраты отладчика на отображение и связь. Команда Опции / Очистить ошибки очищает список ошибок выполнения, в данный момент отображенных в окне отладчика.

Команда Опции / Минимизировать окно уменьшает размер окна отладчика, так что оно отображается как маленькая, всегда сверху, панель, содержащая только состояние приложения и графические кнопки для наиболее общих используемых команд.


Команды записи

Символьный отладчик ISaGRAF предлагает много команд для изменения значения или состояния компонент приложения. Выбор компоненты для изменения производится двойным щелчком мышкой на ее имени, или на ее рисунке в окне редактирования, когда открыто окно отладчика.

Переменные

Объекты SFC


Переменные

Состояние переменной изменяется двойным щелчком мышкой по ее имени в одном из следующих окон:

•	Словарь

•	Списки переменных или временные диаграммы

•	LD или FBD Программы

•	Соединения В/В

Следующие команды предлагаются в окне диалога отладки:

•	Запись переменной в новое значение

•	Блокирование переменной (только для переменных В/В)

•	Разблокирование переменной (только для заблокированных переменных В/В)

•	Запуск или остановка переменной таймера (установить режим автоматического обновления)

Символьные значения используемые для представления логических значений TRUE и FALSE - это строки, определенные для этих специальных логических переменных в словаре. Аналоговое значение, определенное для команды Писать, должно быть введено в целом или вещественном формате, в соответствии с определением переменных в словаре. Строка, определенная для команды Писать для сообщения, не может быть больше, чем размер сообщения, подключенного к этой определенной переменной, в словаре.


Объекты SFC

 Для просмотра операции управления в программе SFC во время отладки приложения, используются команды меню Файл в окне Управления Программ. Программа SFC должна быть выбрана из списка программ. Доступны следующие команды:

Стартовать программу SFC:	Разрешает выбранную программу путем помещения SFC маркера в каждый ее начальный шаг.

Убить программу SFC:	Убивает выбранную программу путем удаления всех ее существующих маркеров.

Заморозить программу SFC:	Удаляет все существующие маркеры выбранной программы и сохраняет их расположение.

Перезапустить программу SFC:	Перезапускает замороженную (замороженная) программу путем восстановления маркеров, которые были удалены командой Заморозить.

Для дочерних программ эти команды соответствуют функциям GSTART, GKILL, GFREEZE и GRST на языке программирования.

Операция управления может быть увидена в шаге SFC, когда отлаживается приложение, путем двойного щелчка мышкой на ее графическом представлении в окне редактирования SFC. Следующие команды доступны в окне диалога отладки:

•	Установка точки останова в шаге активизации

•	Установка точки останова в шаге деактивизации

•	Удаление точки останова добавленной в шаг

Замечание: Активизация и деактивизация точек останова не может быть добавлена в тот же самый шаг.

Операция управления может быть увидена в переходе SFC, когда отлаживается приложение, путем двойного щелчка мышкой на ее графическом представлении в окне редактирования SFC. Следующие команды доступны в окне диалога отладки:

•	Добавить точку останова в месте перехода

•	Удаление точки останова добавленной к переходу

•	Ручная очистка перехода (передвинуть или добавить маркер)

Условное удаление: маркер создается на шаге следующим за переходом. Маркеры, существующие в предыдущих шагах удаляются. Безусловное удаление: маркер создается на шаге следующим за переходом. Маркеры, существующие в предыдущих шагах не удаляются.


Изменение по ходу работы

Свойство Изменение по ходу работы (On line modification) позволяет пользователю изменять приложение во время работы процесса. Это иногда необходимо для химических процессов, где любое прерывание может подвергнуть опасности продукцию или безопасность. Этой функцией следует пользоваться очень осторожно. ISaGRAF  может быть не в состоянии распознать все возможные конфликты, созданные операциями, определенными пользователем, при этих изменениях по ходу работы.

Последовательности кодов

Переменные

Входы и выходы

Операции во время работы

Требования по памяти

Ограничения

Операции


Последовательности кодов

Так как ISaGRAF предоставляет много возможностей для доступа к переменным, программам или платам В/В из отладчика, функция Изменение по ходу работы, описанная здесь, применяется только для изменения последовательности кодов. Последовательность кодов - это полный набор ST, IL, LD или FBD инструкций, выполненных в строке. В программе начало цикла (beginning of cycle) или конец цикла (end of cycle), последовательность кодов - это полный список инструкций, написанных в программе. В SFC программе последовательность кодов - это Уровень 2 программирования одного шага или перехода. Изменение по ходу работы состоит из замены одной или более последовательности кодов, без остановки цикла выполнения PLC. Так как управление маркерами SFC очень критично, то невозможно изменение структуры SFC, добавление, перенумерация или удаление шага, перехода или SFC программы.


Переменные

Так как база данных переменных - это очень критическая часть приложения, она может быть доступна в любое время другими процессами (на многозадачной PLC). Также возможно изменение значения переменных из отладчика. Следовательно, ISaGRAF не позволяет пользователю добавлять, переименовать или удалять переменные по ходу работы приложения. В любом случае возможно изменять способ использования переменной в приложении. Также возможно резервировать неиспользуемые внутренние или В/В переменные в первой версии приложения, так что будущие изменения могут использовать их.

В базе данных ISaGRAF существуют различные стили переменных. Ограничения распространяются на всех:

- Объявленные переменные

Переменные однажды объявленные в словаре ISaGRAF. Они не могут быть изменены или переименованы по ходу работы. Рекомендуется объявлять и инициализировать в приложении некоторые дополнительные переменные даже если они не используются сейчас. Такие дополнительные переменные позволят в дальнейшем модифицировать приложения без изменения контрольной суммы.

- Экземпляры функциональных блоков

Каждый экземпляр функционального блока на  "C" или IEC соответствует данным сохраненным в базе данных реального времени ISaGRAF. Когда экземпляр функционального блока добавляется или удаляется, Модификация по Ходу Работы становится невозможной. Так, что лучше работать в ST с экземплярами FB объявленными в словаре, чем добавлять блоки (которые будут соответствовать новым автоматически объявленным экземплярам) в Quick LD или FBD диаграммах. Также, любая модификация в определении функционального блока в библиотеке ISaGRAF приведет к невозможности изменений по ходу работы.

- Шаги

Каждый шаг SFC соответствует куску данных, где хранятся динамические атрибуты шага SFC (его время активности и флаг). Добавление или удаление шагов SFC изменяет базу данных и запрещает изменение по ходу работы.

- Скрытые переменные размещенные компилятором

Компилятор ISaGRAF генерирует скрытые", временные переменные чтобы разрешить сложные выражения. В некоторых случаях, изменение приложения может привести к отличному набору невидимых временных переменных, и это ведет к невозможности изменения по ходу работы.  Чтобы избежать этой ситуации, вы можете добавить следующие вхождения в файл ISA.INI, для того чтобы заставить размещать минимальное количество временных переменных для каждой программы, даже если они не используются для компиляции первой версии приложения. Значения даны для примера:

[DEBUG]

MNTVboo=8	; для булевских

MNTVana=4	; для integer и real

MNTVtmr=4	; для timer

MNTVmsg=2	; для message

Когда такие установки написаны в ISA.INI, компилятор выводит предупреждение если новая компиляция приложения ведет к к большему количеству размещенных временных переменных.


Входы и выходы

Так как ISaGRAF система очень открытая, требуемые изменения должны быть воплощены OEM, используя определенные свойства соответствующего оборудования. Система ISaGRAF не позволяет пользователю добавлять, подсоединять или удалять переменные В/В, или изменять описание платы В/В по ходу работы. Такие операции, как изменение параметров платы и запирание каналов В/В, возможны используя стандартные свойства OEM и функцию OPERATE.


Операции во время работы

Изменение запущенного приложения состоит из следующих операций:

•	изменение исходного кода приложения на workbench

•	генерация нового кода приложения

•	загрузка нового кода приложения, используя команду изменить вместо загрузить

•	переключение со старого приложения на новое между циклами выполнения PLC, использую команду Выполнить изменение.

Эта процедура гарантирует, что целевой PLC всегда имеет полное и надежно работающее приложение, и позволяет пользователю управлять синхронизацией эталонных операций очень безопасным и эффективным путем. Это также позволяет пользователю изменять проект при любой возможности. Несмотря на сам процесс, изменение по ходу работы, в основном, то же самое, что и нормальный набор команд остановить, запустить и загрузить. Отличия состоят в том, что состояния переменных не теряются и время переключения очень мало (обычно в течении 1 или 2 циклов). Во время переключения переменные не изменяются, и все внутренние, входные и выходные переменные сохраняют то же самое значение, и до, и после изменения приложения. Во время переключения никакие действия не выполняются и SFC маркеры не передвигаются.


Требования по памяти

Для поддержки способности изменения по ходу работы, целевое PLC должно иметь свободное место в памяти для возможности сохранения измененной версии кода приложения. Обе версии кода приложения должны храниться во время операции переключения.


Ограничения

Как было описано ранее, разрешены только изменения последовательности кодов. Определение переменных, параметров приложения и соединений В/В не может быть изменено. Когда загружается измененная версия приложения, ISaGRAF делает сравнение между измененным приложением и запущенным для определения любых небезопасных изменений. Если переключение кажется опасным или невозможным, то генерируется ошибка загрузки. Одна из защит выполняемых ISaGRAF - это сравнение символьной таблицы контрольной суммы, так что определяется любое изменение имен переменных, программ или элементов SFC. Если шаг активен, когда совершается переключение, то не сохраненные действия (N) будут потеряны. Действия активизации нового шага не выполняется. Действия, выполненные при деактивизации шага, - это действия, переходящие в код нового приложения. Если переход достоверен, когда происходит переключение, то его приемная часть обновляется. Новый загруженный код приложения не дублируется на PLC. Дубль - это версия, которая была предварительно загружена стандартными командами загрузки.


Операции

Для обновления кода запущенного приложения, следующие операции должны быть выполнены:

•	Перед тем, как сделать любое изменение запущенного приложения, настоятельно рекомендуется сделать копию текущего проекта под другим именем. Изменения могут быть произведены на копии.

•	Перед редактированием любой программы, пользователь должен проверить, что опция средств редактирования изменить дневник установлена для упрощения будущего сопровождения программы.

•	Когда одна или более последовательностей были изменены (без изменения структур SFC и иерархии программы), коды нового приложения должны генериться на workbench перед загрузкой.

•	Используя отладчик внутри старого проекта, пользователь должен соединиться с целевым PLC и выполнить любую операцию, которая может сделать обновление приложения быстрее или более безопасно.

•	Используя отладчик внутри нового проекта, пользователь должен соединиться с целевым PLC. Если имя приложения изменено, то целевая база данных не будет доступна. Пользователь должен запустить команду Файл / Изменить приложение.

•	Измененное приложение загружается выбором опции обновить потом . Это может немного замедлить PLC во время пересылки.

•	Когда загрузка завершена пользователь может запустить команду Файл / Выполнить изменение для разрешения переключения в наиболее подходящий момент. Переключение будет в течении 1 или 2 циклов.

•	Когда переключение будет корректно выполнено, то будут показаны программы запущенного измененного приложения. Если нет, то значит существующее запущенное приложение осталось как было.


Обмены DDE

 Отладчик ISaGRAF содержит DDE (Динамический Обмен Данными) сервер. Петля уведомления (an advise loop) может быть установлена между отладчиком ISaGRAF и другими приложениями, для того чтобы динамически отображать текущее значение переменных в не ISaGRAF приложениях.

Только транзакции advise или poke поддерживаются DDE сервером отладчика ISaGRAF. Вы можете использовать транзакцию request только для переменных, уже просматриваемых в петле уведомления. Другой DDE сервис, такой как execute недоступен. Когда петля уведомления установлена для переменной, значение этой переменной обновляется в приложении клиента каждый раз, когда оно изменяется. Просматриваться могут переменные любого типа. Идентификация динамической связи включает следующие имена:

Service name:…… ISaGRAF

Topic name:…….. Имя ISaGRAF проекта

Item name:……… Имя переменной

Если переменная является локальной для программы, то за ее именем должно следовать имя ее родительской программы, написанное в скобках, со следующим синтаксисом:

variable_name(program_name)

DDE сервер отладчика ISaGRAF предназначен для приложений ISaGRAF, в текущий момент просматриваемых отладчиком. До 256 переменных могут быть просмотрены сервером ISaGRAF. DDE сервер может быть использован, когда отладчик ISaGRAF запущен либо подключенном режиме, либо в режиме симуляции. Период обновления - это период, установленный для связи между отладчиком и целевой системой ISaGRAF или симулятором.