1.0 Epson数据类型以及函数的传值与传址
本文介绍以下几点:
1. 数据类型:
2.运算符以及优先级
3.变量的作用域
4.函数的调用
5. 任务Task
6、程序执行流程
具体如下:
1. 数据类型:
Boolean、Byte、Double、Int32、Integer、Long、Real、Short、String、UByte、
UInt32、UShort
2.运算符
3.变量的作用域
根据作用域变量分为:
全局变量(1),即Global定义的,所有文件中都可用
模块变量(2):仅在本文件中可用,比如下图中2处模块变量只能在lib_Display.prg中使用
局部变量(3): 只能在本函数中使用
4.函数的调用
4.1 可以用Call进行调用,也可以省略Call.
Call MyFunc(1, 2)
MyFunc 1, 2
4.2 函数参数
参数可以通过两种方式传递给函数:
传值(ByVal):
传地址(ByRef):在函数内部对该变量的修改会同步反馈给外部的变量值。
比如下面就可以交换两个变量
Function SwapValue(ByRef x_rValueA As Real, ByRef x_rValueB As Real)
Real temp
temp = x_rValueA
x_rValueA = x_rValueB
x_rValueB = temp
Fend
5. 任务Task
可以使用多任务模式,比如1个任务处理动作;1个任务与PLC通讯;1个任务监控机器人的位置。
Xqt 1, Rob1_tskMotion
Xqt 2, Rob1_tskInterface, NoEmgAbort
Xqt 4 , Rob1_tskArea, NoEmgAbort
任务编号: 以 1~32 的整数指定要执行任务的任务编号
NoPause:发生 Pause 语句或 Pause 输入信号时,以及要在安全门打开的状态下不暂停
任务的执行。
NoEmgAbort: 紧急停止时以及要在发生错误时不暂停任务的执行
6、程序执行流程