工控编程吧
标题: 威纶通触摸屏宏指令函数定义 [打印本页]
作者: 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 |