
DEFFCT ...ENDFCT:定义功能程序
DEFFCT 数据类型 名称(< 变量:IN |OUT >)
< 指令 >
RETURN 函数值
ENDFCT
数据类型 功能的数据类型
名 称 功能的名称
变 量 如果将一个值传递到功能中:要将该值传递到其中的变量名称
IN或OUT为传递的种类,作为 IN 参数变量值在主程序中保持
不变,作为 OUT 参数子程序读取并更改该值,然后将新值写回
到主程序中
函 数 值 用含有已确定值的 RETURN 指令结束功能,将确定的值传递给
调用的程序,可以将该值指定为常数、变量或表达式,函数值
的数据类型必须与函数的数据类型一致
DEFFCT INT CALCULATE(X:IN)
INT X
X=X*X
RETURN X
ENDFCT
调用功能程序及参数传递
主程序 MY_PROG( ):
1 DEF MY_PROG( )
2 DECL REAL result, value
3 value = 2.0 ;给“value” 赋值“2.0”
4 result = CALC(value) ;调用函数 CALC,并传递“value” 的值,
给变量“result” 分配函数的返还值
5 ...
...
END
带 OUT 的函数 CALC():
1 DEFFCT REAL CALC(num:OUT) ;将“value”的值作为 OUT 参数传递
给“num”,该值还为 2.0
2 DECL REAL return_value, num
3 num = num + 8.0 ;更改“num”的值,该值现在为 10.0
4 return_value = num * 100.0
5 RETURN(return_value) ;将“return_value”的值发回到主程序的
变量“result”中,该值为 1000.0
6 ENDFCT ;函数已结束,从行 5 起继续执行主程序
提示:主程序中“value” 的值未更改,为 10.0
将参数传递给其他的数据类型,始终可以将数值传递至相同的数据类型。传递至另一个数据类型时,有:
主程序中的类型 |
功能程序中的类型 |
作用 |
BOOL |
INT、REAL、CHAR |
无法传递;错误信息 |
INT、REAL、CHAR |
BOOL |
|
INT |
REAL |
INT 值被用作 REAL 值 |
INT |
CHAR |
使用 ASCII 表中的字符 |
CHAR |
INT |
使用 ASCII 表中的 INT 值 |
CHAR |
REAL |
使用 ASCII 表中的 REAL 值 |
REAL |
INT |
REAL 值被四舍五入 |
REAL |
CHAR |
REAL 值被四舍五入,使用 ASCII 表中的字符 |


▼东莞机器人之家,关注有惊喜
▼
小编微信☜
公众号二维码☞



