分享

威纶通触摸屏宏指令介绍(四)

 ifelser3b283ul 2018-12-19

有思想的年轻人,总是很容易感到孤独,直到他们来到了创控教育...

子函数   大家可以类比PLC程序里面的子程序

使用子函数可以有效的减少循环命令的代码,子函数必须在使用前被定义,且可以使用任何变量和语句类型。在主函数中,将子函数的参数放置在子函数名称后面的圆括号中,即可调用子函数。

子函数被执行后,将执行后的结果返回到主函数需要的赋值语句或者条件中。定义子函数时,不一定要有返回值,且参数部分可以为空。

在主函数中调用子函数时,调用方式应符合其定义。


语法结构如下:有返回值的子函数语法:

sub type 函数名称> [(parameters)]

Local variable declarations

[Statements]

[return[value]]

end sub

举例:
sub  int  Add(int x, int y)
int  result
result = x +y

return  result

end sub

macro_commandmain()

int a= 10, b = 20, sum

sum =Add(a, b)

endmacro_command

:sub  int Add()

int   result, x=10, y=20

result= x +y

return   result

end sub


macro_commandmain()

int  sum

 sum =Add()

end  macro_command

没有返回值的子函数语法:

sub 函数名称> [(parameters)]

Localvariable declarations

[Statements]

end sub

举例:
sub Add(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”

Local variable
 declaration

除了被传递的参数之外,子函数中使用的变量必须事先声明。在上面的举例
 中, X Y 就是子函数可以使用的变量。全局变量也可以用在子函数中。

[Statements]

需要执行的语句。

[return [value]]  

可选。用来将执行的结果返回给调用语句。这个结果可以是一个常数或者变量。
 返回后同时也结束了子函数的执行。子函数也可以不回传任何值,但是当
type
 部分有定义时,则必须加上此 return 叙述。

end sub

必须的。用来结束子函数。

 


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多