ISaGRAF. Version 3.4

         

Определение ресурсов


                Команда “Ресурсы” меню “Опции” позволяет пользователю определять ресурсы. Ресурсы - это любые, определенные пользователем данные (конфигурация сети, установки оборудования …) любого формата (файл, список значений), которые должны быть соединены с генерируемым кодом, чтобы быть загруженными вместе на целевую PLC. Такие данные напрямую не управляются ядром ISaGRAF, и в основном предназначены для другого программного обеспечения, установленного на целевом PLC. Обратитесь к своему руководству по оборудованию для дальнейшей информации о доступных ресурсах.

        Файл определения ресурсов

                Ресурсы, определенные в “Файле определения ресурса ” сохраняются вместе с другими файлами проекта ISaGRAF. Это чисто текстовый файл в ASCII кодах, созданный Компилятором Ресурсов ISaGRAF. Этот компилятор автоматически запускается во время построения кодов приложения. Эта секция объясняет синтаксис этого файла. Файл определения ресурсов использует лексические правила языка ST. Комментарии, начинающиеся с (* и заканчивающиеся символами *), могут быть вставлены в любом месте текста. Строки разграничиваются одиночными апострофами. Обратитесь ко второй части этого руководства для большего объяснения лексических форматов, используемых для ввода числовых значений.

        Справочник по языку

                Ниже дан список ключевых слов и операторов, используемых в файле определения ресурсов.

ULONGDATA

Значение:     Определяет ресурс, который является списком целых значений. Значения сохраняются в получаемом коде как 32 битные целые. Значения сохраняются в порядке, указанном в файле определения ресурсов. Значения должны быть разделены запятыми. Имя ресурса не должно превышать 15 символов.

Синтаксис: ULONGDATA '<имя_ресурса>'

         BEGIN

           ...целевой_выбор...

           ...список переменных...

         END

Пример:  ULongData 'MYDATA'



         Begin

           ...

           0, -1, 100_000,     (* десятичные *)

           16#A0B1, 2#1011_0101 (*шестнадцатеричн,двоичные*)


         End

VARLIST

Значение:     Определяет ресурс, который является списком адресов переменных. Переменные идентифицируются своими именами в файле определения ресурсов. Адреса переменных сохраняются в получаемом коде как беззнаковые 16 битные целые. Адреса сохраняются в порядке, указанном в файле определения ресурсов. Переменные должны быть разделены запятыми. Имя ресурса не должно превышать 15 символов.

Синтаксис: VARLIST '<имя_ресурса>'

         BEGIN

           ...выбор_цели...

           ...список переменных...

         END

Пример:  VarList 'LIST'

         Begin

           ...

           Var100, MyParameter, Command, Alarm

         End

BINARYFILE

Значение:     Определяет ресурс Бинарный Файл. Исходные данные сохраняются в MS-DOS файле. Определение целевого ресурса завершается определением целевого имени. Конец строки символов не преобразуется Компилятором Ресурсов ISaGRAF. Имя ресурса не должно превышать 15 символов.

Синтаксис: BINARYFILE '<имя_ресурса>'

         BEGIN

           ...выбор_цели...

           FROM '<путь_источника>'

           TO '<путь_назначения>'

         END

Пример:  BinaryFile 'MYFILE'

         Begin

           ...

           From 'c:\user\config.bin'

           To '/dd/user/appl/config.dat'

         End

TEXTFILE

Значение:     Определяет ресурс Текстовый Файл. Исходные данные сохраняются в MS-DOS файле. Определение целевого ресурса завершается определением целевого имени. Конец строки символов преобразуется Компилятором Ресурсов ISaGRAF, в соответствии с соглашениями целевой головной системы. Имя ресурса не должно превышать 15

символов.

Синтаксис: TEXTFILE '<имя_ресурса>'

         BEGIN

           ...выбор_цели...

           FROM '<путь_источника>'

           TO '<путь_назначения>'

         END

Пример:  TextFile 'MYFILE'

         Begin

           ...

           From 'c:\user\config.bin'

           To '/dd/user/appl/config.dat'

         End

TARGET



Значение:     Определяет имя получаемых кодов, которые должны включать ресурс. Обратитесь к предшествующей секции (опции компилятора) для дальнейшей информации об управляемых целях. Оператор “Target” может появляться более, чем один раз в том же самом блоке ресурса для выбора нескольких целей. Этот оператор не может быть использован, если указан оператор “AnyTarget”.

Синтаксис: TARGET '<имя_цели>'

Пример:  BinaryFile 'MYFILE'

         Begin

           Target 'ISA86M'

           Target 'ISA68M'

           ...

         End

ANYTARGET

Значение:     Определяет то, что ресурс должен быть включен во все коды, построенные Генератором Кодов. Генератор Кодов ISaGRAF может производить несколько кодов назначения во время выполнения одной команды “Создать”. Этот оператор не может быть использован, если указан один или несколько операторов “Target”.

Синтаксис: ANYTARGET

Пример:  ULongData 'MYDATA'

         Begin

           AnyTarget

           ...

         End

FROM

Значение:     Определяет путь источника (на PC, где установлен ISaGRAF Workbench) ресурсов BinaryFile и TextFile. Символы, используемые для разделения компонентов пути (диск, каталог, префикс, суффикс) должны соответствовать соглашениям MS-DOS.

Синтаксис: FROM '<путь цели>'

Пример:  BinaryFile 'MYFILE'

         Begin

           ...

           From 'c:\user\config.dat'

           To '/dd/user/appl/config.dat'

         End

TO

Значение:     Определяет путь назначения (на системе назначения) ресурсов BinaryFile

и TextFile. Символы, используемые для разделения компонентов пути (диск, каталог, префикс, суффикс) должны соответствовать соглашениям системы назначения.

Синтаксис: TO '<путь цели>'

Пример:  TextFile 'MYFILE'

         Begin

           ...

           From 'c:\user\config.dat'

           To '/dd/user/appl/config.dat'

         End

        Пример


                Ниже дан полный пример файла определения ресурсов:

(* файл определения ресурсов *)

ULongData 'DATA1'          (* список значений *)



Begin

   Target 'ISA86M'         (* только для этой цели *)

   1, 0, 16#1A2B3C4D, +1, -1   (* цифровые значения *)

End

VarList 'VLIST1'           (* список переменных *)

Begin

   Target 'ISA86M'         (* только для этой цели *)

   Valve1, StateX, Command, Alrm1 (* имена переменных  *)

End

BinaryFile 'FILE1'         (* ресурс бинарный файл *)

Begin

   AnyTarget               (* для любой цели *)

   From 'c:\user\updatef.bin'  (* исходник на PC *)

   To 'updatef.cfg'        (* файл назначения на PLC *)

End

TextFile 'FILE2'           (* ресурс текстовый файл *)

Begin

   Target 'ISA68M'

   From 'c:\nw\nwbd.txt'   (* исходный файл на PC *)

   To '/nw/dat/nwbd'       (* файл назначения на PLC *)

End

        Компиляция ресурсов


                Если ресурсы были введены в файл определения ресурсов, окно диалога появится в конце генерации кодов ISaGRAF. Нажмите кнопку “Запустить компилятор” для запуска компилятора ресурсов. Выходные сообщения и ошибки будут отображены в основном окне управления. Нажмите “Выход” для избежания компиляции ресурсов. В этом случае ресурсы не будут добавлены в коды ISaGRAF.

        Реализация


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

__RESOURCE:

{

  long nbres;          /*количество определенных ресурсов*/

  {

    char name[16];     /* имя ресурса */

    long type;         /* тип данных ресурса */

    long size;         /* точный размер блока данных  */

    void *data;

    char *path_offset; /* указывает на строку */

  } /*nb записей */

}

                Ниже даны возможные значения поля “type”:

·  1 = бинарный файл

·  2 = текстовый файл

·  3 = ulong данные (в этом случае поле path_offset не используется)

·  4 = список переменных (в этом случае поле path_offset не используется)

                Для текстовых файлов конец строки символов преобразуется компилятором ресурсов в зависимости с соглашениями системы назначения.Все указатели - это 32 битные смещения от адреса соответствующей структуры. Все имена ресурсов и пути - это строки, заканчивающиеся на NULL.  Пути и данные следуют за каталогом ресурсов.


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