Функция используется как стандартный функциональный
Вот пример вызова “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 символов
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий