ISaGRAF. Version 3.4


“C” функции преобразований - часть 6


Вот пример такого файла:

/* Файл "GRCN0LIB.c" - Пример with conversions of standard library */

 

#include <tasy0def.h>                       /* required for types definition */

 

extern UFP cnvdef_scale (char *name);         /* decl. function for SCALE conv */

extern UFP cnvdef_bcd (char *name);           /* decl. function for BCD conv */

 

UFP_LIST CNVDEF[ ] = {                 /* array of declaration functions for */

             /* integrated conversion functions */

             cnvdef_scale,

             cnvdef_bcd,

 

NULL };

 

/* end of file */

Массив CNVDEF должен заканчиваться указателем NULL. Если это условие не выполнено, то могут возникнуть некоторые проблемы. Если массив CNVDEF не определен, то во время линковки нового ядра ISaGRAF появятся неразрешенные ссылки.

Написав этот файл можно построить новое ядро, включая все существующие преобразования. Можно, также построить ядро, приспособленное для одного проекта, путем введения в массив CNVDEF только тех преобразований, которые используются в проекте. Файл “GRCN0LIB.C” автоматически генерируется генератором кодов ISaGRAF, когда создается код приложения. Файл помещается в директорию проекта ISaGRAF и объединяет только те преобразования, которые используются в проекте.

 Ограничения

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




Начало  Назад  Вперед