变量表示例
示例:带调用参数的子例程调用
说明
上面提供了两个 STL 示例。STL 程序员可使用组只能显示在 STL 编辑器中的简化 STL 指令。这是因为用作 LAD/FBD 能流输入的 BOOL 参数不保存到 L 存储器。 第二组编译器生成的 STL 指令可显示在 LAD、FBD 和 STL 编辑器中,因为程序编译器 使用 L 存储器来保存在 LAD/FBD 中指定为能流输入的 BOOL 输入参数的状态。 地址参数(例如,IN4 (&VB100))传入子例程作为 DWORD(无符号双字)值。对于调 用例程中常数值前面有常数描述符的参数,必须为其指定常数参数类型。例如:要传送值 为 12,345 的无符号双字常数作为参数,必须将常数参数指定为 DW#12345。如果参数中 遗漏了对于常数的说明,则可将该常数认定为不同类型。
系统不对输入或输出参数自动执行数据类型转换。例如,如果变量表指定参数的数据类型 为 REAL,但在调用例程中,为该参数指定双字 (DWORD) 数据类型,则子例程中的参数 值将是双字数据类型。 值传递到子例程后,存储在子例程的局部存储器中。变量表的左列显示各传递参数的局 部存储器地址。调用子例程时,输入参数值将复制到子例程的局部存储器中。子例程执行 完成时,从子例程的局部存储器将输出参数值复制到指定输出参数地址。
数据元素大小和类型用参数的编码表示。参数值到子例程中的局部存储器的分配如下所 述:
● 参数值按照带参数的调用子例程指令指定的顺序分配给局部存储器,起始地址是 L 0.0。
● 一至八个连续位参数值分配给从 Lx.0 到 Lx.7 的单个字节。
● 字节、字和双字值分配给以字节为边界的局部存储器(LBx、LWx 或 LDx)。 在带参数的子例程调用指令中,必须按照一定的顺序排列参数,输入参数在前面,其次 是输入/输出参数,然后是输出参数。 如果使用 STL 编程,则 CALL 指令的格式是: CALL 子例程编号, 参数 1, 参数 2, ... , 参数 16
示例:子例程和子例程返回指令
示例:使用字符串参数的子例程调用
此示例根据给定输入的状态将不同字符串文字复制到唯一地址。此字符串的唯一地址被保 存。然后,通过间接地址将字符串地址传入子例程。子例程输入参数的数据类型是字符 串。然后,子例程将字符串移到其它位置。 字符串文字也可传入子例程。子例程内的字符串引用始终相同。
- S7-200程序指令 子例程 2023-11-04
- S7-200程序指令 定时器 2023-11-04
- 程序指令 表 2023-11-04
- 程序指令 字符串 2023-11-04
- S7-200程序指令 移位与循环移位 2023-11-04
- 程序指令 控制 2023-11-04
- S7-200模块程序控制 2023-11-04
- S7-200程序控制 2023-11-04
- S7-200程序指令 程序控制 2023-11-04
- 中断优先级、排队和示例程序 2023-11-04