工控编程吧

标题: 威纶通触摸屏宏指令函数定义 [打印本页]

作者: qq263946146    时间: 2019-2-21 19:21
标题: 威纶通触摸屏宏指令函数定义
函数定义
在宏里有且只有一个主函数,其他的都叫子函数。使用子函数可以有效的减少循环命令的代码,子函数必须在使用前被定义,且可以使用任何变量和语句类型。在主函数中,将子函数的参数放置在子函数名称后面的圆括号中,即可调用子函数。子函数被执行后,将执行后的结果返回到主函数需要的赋值语句或者条件中。主函数在创建一个宏时已为我们创建好,格式已固定,那子函数如何定义?
函数标准定义格式为
sub 函数返回类型 函数名(函数参数)
函数体实现部分
return 返回值
end sub
例如:
sub intAdd(int x, int y)   //定义一个子函数,返回类型为int,参数有两个为intx,inty
        int result   
result = x +y
      return result //函数返回值,类型需与函数返回类型一致
      end sub   
macro_command main()
      int  a = 10, b = 20, sum
      sum = Add(a, b)   //在主函数中调用子函数,子函数返回的结果赋值给sum变量
    end macro_command
或:
sub int Add()
          int result, x=10,y=20
      result = x +y
      return result
      end sub
    macro_command main()
      int  sum
      sum = Add()   
    end macro_command
当不需要返回值时,子函数可作如下定义:
sub <函数名称>  [(parameters)]
  Local variable declarations
  [Statements]
end sub
举例:
sub Add(int x, int y)   //定义无返回值的子函数,参数有两为int x,int y
          int result
      result = x +y
      end sub
    macro_command main()
      int  a = 10, b = 20
      Add(a, b)    //在主函数中调用子函数
    end macro_command
或:
sub Add()
  int result, x=10, y=20
      result = x +y
      end sub
    macro_command main()
      Add()   
    end macro_command
语法描述
sub  必须用在该子函数的开始部分。
-------------------------------------------------------------------------------------------------------------------------------------
type  可选。用来定义子函数执行后返回的数据类型。子函数也可以不回传任何值。
-------------------------------------------------------------------------------------------------------------------------------------
(parameters)  可选。这些参数保留了从主函数传入的数值。这些被传入的参数必须使用与在
参数变量声明的类型一致。
举例:  sub int MyFunction(int x, int y). x 和  y 必须为从主函数中传过来
的双整型数据格式的数据。调用此子函数的语句格式大致为这样:
ret = MyFunction(456, pressure),其中  pressure 需为双整型数据格式方
符合子函数参数变量的声明。
请注意调用语句的参数部分可以是常数也可以是变量。当执行这个子函数后,
一个双整型数据将会返回给变量  “ret”。
-------------------------------------------------------------------------------------------------------------------------------------
[return [value]]  可选。用来将执行的结果返回给调用语句。这个结果可以是一个常数或者变量。返回后同时也结束了子函数的执行。子函数也可以不回传任何值,但是当  type
部分有定义时,则必须加上此  return 叙述。
-------------------------------------------------------------------------------------------------------------------------------------
end sub  必须的。用来结束子函数。






欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4