полностью описывает интерфейс. Единственный параметр
uint16 direction; /* направление преобразование */
T_REAL *before; /* значение до преобразования */
T_REAL *after; /* значение после преобразования */
} str_cnv;
#define ARG_BEFORE (*(arg->before))
#define ARG_AFTER (*(arg->after))
#define DIRECTION (arg->direction)
/* eof */
Структура “str_cnv” полностью описывает интерфейс. Единственный параметр “C” функции преобразования - указатель на эту структуру. Поле “number” - это логический номер функции преобразования (положение в библиотеке ISaGRAF), оно не должно использоваться в программе.
Поле “direction” определяет тип переменной, к которой применяется функция преобразования (входная или выходная). Она содержит значение DIR_INPUT для преобразования входов и DIR_OUTPUT для преобразования выходов.
Поле “before” указывает на значение до преобразования. Это поле имеет различные значения для преобразований входов и преобразований выходов. Оно представляет электрическое значение (считанное с устройства ввода) для преобразования входа, когда поле direction принимает значение DIR_INPUT. Оно представляет физическое значение (использующееся в программе) для преобразования выхода, когда поле direction принимает значение DIR_OUTPUT.
Поле “after” указывает на значение после преобразования. Это поле имеет различные значения для преобразований входов и преобразований выходов. Оно представляет физическое значение (считанное с устройства ввода) для преобразования входа, когда поле direction принимает значение DIR_INPUT. Оно представляет электрическое значение (использующееся в программе) для преобразования выхода, когда поле direction принимает значение DIR_OUTPUT.
Программист может использовать определения “ARG_BEFORE” и “ARG_AFTER” для прямого доступа к полям before и after структуры переданной в функцию преобразования. Обрабатываемые значения - плавающие с одиночной точностью.