ISaGRAF. Version 3.4


“C” функции - часть 2


Вот пример вызова “C” функции в операторе присвоения:

result := ProcName (par1, par2, ... parN);

Программа FBD может вызывать любую “C” функцию. Функция используется как стандартный функциональный ящик. Ее параметры вызова соединяются с левой стороной функционального ящика. Возвращаемый параметр соединяется с правой стороной ящика. Вот стандартный вид такого функционального ящика:

“C” функция может быть вызвана из любого блока действия SFC или любого блока действия, прикрепленного к переходу.

        Определение интерфейса “C” функции

Команда “Параметры”

меню “Редактировать” используется для определения параметров вызова и возврата новой функции. Функция может иметь до 31 параметра вызова, и всегда имеет один параметр возврата. Следующий диалог используется для описания параметров “C” функции:

Список в верхней части окна показывает параметры “C” функции, в соответствии с порядком прототипа: сначала параметры вызова, в конце параметр возврата. Нижняя часть окна показывает детальное описание параметров выбранных в списке:

- имя параметра

- направление параметра (вызов/возврат)

- тип параметра

Для параметра может быть использован любой тип данных: булевский, целый аналоговый, действительный аналоговый, таймер или сообщение. Целый или аналоговый действительный должны различаться.

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

BOOLEAN

unsigned long

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

ANALOG

long

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

REAL

float

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

TIMER

unsigned long

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

MESSAGE

char *

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

Когда значение сообщения приходит в “C” функцию, оно не может содержать нулевого символа. Строка, приходящая в “C” код заканчивается нулем. Не забывайте, что возвращаемый параметр должен быть последним в списке. Имена параметров должны удовлетворять следующим правилам:

- имя не может быть длиннее 16 символов




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