ISaGRAF. Version 3.4

         

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


Свойство “Изменение по ходу работы” (“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 циклов.

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


Содержание раздела