ABB高级培训之例行程序
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
可选参数在调用例行程序时缺省,则在程序中不 被 引用,这意味着该参数在使用之前要先检测是否 缺省.
例行程序声明
• 一个例行程序包含例行程序声明(包括参数)、 数据、程序体、一个backward handler(指针 对procedure)和一个error handler。例行程序 的声明不能嵌套。
例行程序参数
VAR - 如果例行程序参数被设为该模式,则相
应的自变量必须是可被例行程序修改的 VAR数据. PERS- 如果例行程序参数被设为该模式,则相 应的自变量必须是可被例行程序修改的 PERS数据
例行程序参数
可选参数:一个例行程序参数可以被设置为可选 参数,并在参数前带有“\”标识, 在调 用 例行程序时,该参数可以缺省
例行程序-Procedure
• Procedure的声明
举例如下:
例行程序-Procedure
• Procedure的终止 Procedure可以通过return指令终止运行, 也可以通过例行程序的结束标识 (ENDPROC、BACKWARD、ERROR) 终止运行 • Procedure的调用 Procedure的调用在示教器上是通过指令 ProcCall来完成的。在调用带有参数的 例行程序时,强制参数必须指定,而且 参数的顺序要正确;可选参数可以缺省。
例行程序范围
• 例行程序范围是指例行程序可被调用的范围。 例行程序的声明前带有 Local 标识,则该例行 程序可在所属模块内调用,否则为Global.
• 在同一模块中,例行程序不能与其他例行程序 和数据同名 • 在不同模块中, Global 例行程序不能与模块、 另一个 Global 例行程序, Global 数据同名
例行程序-Function
• Function的声明
举例如下:
例行程序-Function
• Function的终止 Function 必须通return指令终止运行, return 指令返回的数据类型必须与Function的数据类 型一致。 • Function的调用 Function必须通过表达式来完成调用,如赋值 指令,不能通过 ProcCall来完成的。在调用带 有参数的Function 时,强制参数必须指定,而 且参数的顺序要正确;可选参数可以缺省。
例行程序范围
• 例行程序范围的使用原则如下:
Global 例行程序可以包含在任何模块内 Local 例行程序只能在其所属的模块内被调用 在同一范围内,Local 例行程序隐含所有同名 的Global 例行程序和数据 在同一范围内,例行程序隐含所有同名的指令 和预定义例行程序及数据
例行程序范围
例行程序-Trap
例行程序参数
在调用带参数的例行程序时,必须提供相应实 参。例行程序的参数有四种存取模式:
INPUT-通常例行程序参数被设为该模式并作为 例行程序数据来处理。在例行程序内改 变该变量对相应自变量没有影响。 INOUT-如果例行程序参数被设为该模式,则相 应的自变量必须是可被例行程序修改的 VAR或PERS数据
例行程序
例行程序
例行程序的种类
• 例行程序有三种:Procedures, Functions 和 Traps Procedure没有返回值,可用指令直接调用 Function有特定类型的返回值,必须通过表达 式调用 Trap例行程序提供处理中断的方法。Trap例行 程序和某个特定中断连接,一旦中断条件满足, 将被自动执行。Trap例行程序不能在程序中直 接调用。
例行程序-Trap
• Trap 的声明
• 举例如下
例行程序-Trap
• Trap 的终止 Trap可以通过return指令终止运行,也可以通 过例行程序的结束标识(ENDTRAP、ERROR) 终止运行。然后在中断触发点继续执行。 • Trap的调用 Trap例行程序提供了理中断的方法。一个中 断例行程序必须通过CONNECT指令与某个特 定的中断连接。一旦中断触发,控制会立即转 移到相应的Trap例行程序;如果中断触发,但 是没有相关联的Trap例行程序,将被视为致命 错误,比如程序立即停止运行