Определение ресурсов
Команда “Ресурсы” меню “Опции” позволяет пользователю определять ресурсы. Ресурсы - это любые, определенные пользователем данные (конфигурация сети, установки оборудования …) любого формата (файл, список значений), которые должны быть соединены с генерируемым кодом, чтобы быть загруженными вместе на целевую 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. Пути и данные следуют за каталогом ресурсов.