ISaGRAF. Version 3.4


“C” функциональные блоки - часть 10


Он резервируется ISaGRAF для внутренних операций и не должен использоваться для программирования службы. Аргумент “data” - это дальний указатель на структуру данных связанных с экземпляром.

Аргумент “parno” - это логический номер возвращаемого параметра, значение которого требуется. Используйте идентификаторы, определенные в “C” заголовке функционального блока для идентификации возвращаемого параметраТип данных, на которые указывает этот аргумент, зависит от типа возвращаемого параметра.

Ниже представлено соответствие между типами ISaGRAF и “C”:

boolean

long

32 битное беззнаковое слово: 1=true / 0=false

analog

long

32 битное знаковое целое слово

real

float

плавающее значение с одиночной точностью

timer

long

32 битное беззнаковое слово (единица - это 1 миллисекунда)

message

char *

строка символов

Следующие макроопределения  используются для доступа к буферу копирования, в соответствии с типом возвращаемого параметра:

#define             BOO_VALUE                       ((T_BOO *)value)

#define             ANA_VALUE                       ((T_ANA *)value)

#define             REAL_VALUE                      ((T_REAL *)value)

#define             TMR_VALUE                        ((T_TMR *)value)

#define             MSG_VALUE                       ((T_MSG *)value)

Вот общие программные операции для копирования значения или параметра к буферу ISaGRAF:

/* for a boolean parameter: */

   *BOO_VALUE = parameter_value;

/* for an integer analog parameter: */

   *ANA_VALUE = parameter_value;

/* for a real integer parameter: */

   *REAL_VALUE = parameter_value;

/* for a time parameter: */

   *TMR_VALUE = parameter_value;

/* for a string parameter: */

   strcpy (*MSG_VALUE, parameter_value);

Исходный текст этой службы автоматически генерируется менеджером библиотек ISaGRAF при создании функционального блока.

·       Пример исходного текста

Ниже представлен стандартный скелет “C” функционального блока:




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