ISaGRAF. Version 3.4

         

Исходный текст этой службы автоматически


}

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

·       Чтение возвращаемых параметров

Служба “чтение’ вызывается каждый раз, когда ST или FBD программа ссылается на возвращаемый параметр функционального блока. Она используется для того, чтобы получить один возвращаемый параметр. Следующий пример показывает вызов “чтения”, исполняющийся во время работы ST программы:



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

/* cast operation used to copy the value of a return parameter */

#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)

/* return parameters read service: called for each return parameter */

void FBREAD_xxx (                            /* "xxx" is the name of the function block */

uint16 hinstance,                                 /* logical number of the instance */

str_data *data,                                    /* pointer to the instance data structure */

uint16 parno,                                        /* logical number of read parameter */

void *value)                                         /* buffer where to copy the value of the param */

{

             switch (parno) {

                   case FBLPNO_XX: /* ... */ break;

                   case FBLPNO_YY: /* ... */ break;

                    /* .... */

             }

}

Аргумент “hinstance” - это логический номер экземпляра.

Содержание  Назад  Вперед