ISaGRAF. Version 3.4

         

написанная на любом из языков


                         )                                    (* выполнить задержанный ADD *)

                                                               (* result := a1 + (a2 * (a3 - a4) * a5); *)

                         ADD           a6               (* result := a1 + (a2 * (a3 - a4) * a5) + a6; *)

                         ST              res              (*запомнить текущ. результат в переменной res *)

        Вызов подпрограмм или функций


Подпрограмма или функция ( написанная на любом из языков IL, ST, LD, FBD или “C”) вызывается из языка IL, используя имя в качестве оператора.

Операция:                  выполняет подпрограмму или функцию - значение возвращенное подпрограммой или функцией запоминается в текущем результате IL

Допустимые модификаторы:         (нет)

Операнд:                    Первый параметр должен быть запомнен в текущем результате перед вызов. Остальные параметры записываются в поле операнда через запятую

Пример:

(* Вызывающая программа: превращает аналоговое значение в временное *)

Main:                 LD                     bi0

SUBPRO           bi1,bi2  (*вызвать подпрограмму чтобы получить аналоговое значение *)

ST                     result    (* result := значение возвращенное подпрограммой *)

                         GT                    vmax          (*проверка переполнения *)

                         RETC                                   (*возврат по переполнению *)

                         LD                     result

                         MUL                  1000           (*превратить секунды в миллисекунды *)

                         TMR                                     (* превратить в таймер *)

                         ST                     tmval     (* запоминает превращенное значение в таймере*)

(* Вызванная подпрограмма 'SUBPRO' : вычисляет аналоговое значение *)

(* заданное как двоичное число трех булевских входов: in0, in1, in2 - три параметра подпрограммы*)

                         LD              in2             


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