浔之漫智控技术(上海)有限公司总部
主营西门子模块 , PLC模块 , 变频器模块 , 触摸屏模块
程序指令-子例程

程序指令-子例程

经营范围:


从事动化科技、机电领域内的技术开发、技术转让、技术咨询、技术服务、工业自动化设备安装、工业自动化控制设备、

电气设备、机电设备、电子产品、五金产品、金属材料、仪器仪表、橡塑制品销售、商务信息咨询、软件开发、建筑装修装饰建设工程施工、

建筑安装工程(除特种设备),机械设备租赁(不得从事金融租赁),物业管理。工业自动化设备加工、销售。


浔之漫智控技术(上海)有限公司

   本公司经销/CO-TRUST科思创西门子PLC;S7-200S7-300 S7-400 S7-1200 触摸屏,变频器,

6FC,6SNS120 V10 V60 V80伺服数控备件:原装进口电机,电线,电缆,希望能跟您有更多的合作机会


CALL(子例程)和 RET(有条件返回) 

要添加新子例程,请选择“编辑”(Edit) 功能区,然后选择“插入对象”(Insert Object) 和“子例 程”(Subroutine) 命令。 STEP 7-Micro/WIN SMART 自动在每个子例程中添加一个无条件 返回。 还可以在子例程中添加有条件返回 CRET 指令。 在主程序中,可以嵌套调用子例程(在子例程中调用子例程),大嵌套深度为八。 在中断例程中,可嵌套的子例程深度为四。 说明 允许递归调用(子例程调用自己),但在子程序中进行递归调用时应慎重。


说明子例程调用指令将程序控制权转交给子例程 SBR_N。可以使用带参数 或不带参数的子例程调用指令。 子例程执行完后,控制权返回给子例 程调用指令后的下一条指令。 调用参数 x1 (IN)、x2 (IN_OUT) 和 x3 (OUT) 分别表示传入、传入和传 出或传出子例程的三个调用参数。 调用参数是可选的。 可以使用 0 到 16 个调用参数。 调用子例程时,保存整个逻辑堆栈,栈顶值设置为一,堆栈其它位置的 值设置为零,控制权交给被调用子例程。 该子例程执行完后,堆栈恢 复为调用时保存的数值,控制权返回给调用例程。 子例程和调用例程共用累加器。 由于子例程使用累加器,所以不对累 加器执行保存或恢复操作。 在同一周期内多次调用子例程时,不应使用上升沿、下降沿、定时器和 计数器指令。

从子例程有条件返回指令 (CRET) 根据前面的逻辑终止子例程。

带调用参数调用子例程 

子例程可选择使用传递参数。这些参数在子例程的变量表中定义。必须为每个参数分配局 部符号名称(多 23 个字符)、变量类型和数据类型。一个子例程多可以传递十六个 参数。变量表中的 VAR_Type 类型字段定义变量是传入子例程 (IN)、传入和传出子例程 (IN_OUT),还是传出子例程 (OUT)。 要添加新参数行,请将光标置于要添加变量类型 IN、IN_OUT、OUT 或 TEMP 的 Var_Type 字段上。单击鼠标右键打开选择菜单。选择“插入”(Insert) 选项,然后选择“下一 行”(Row Below) 选项。所选类型的另一个参数行将出现在当前条目下方。 可在变量表中分配临时 (TEMP) 参数来存储只在子例程执行过程中有效的数据。局部 TEMP 数据不会作为调用参数进行传递。也可在主例程和中断例程中分配 TEMP 参数, 但只有子例程可以使用 IN、IN_OUT 和 OUT 调用参数。

0005.jpg

调用参数允许的数据类型 

● 能流:布尔能流仅允许用于位(布尔)输入。此声明将输入参数分配给基于位逻辑指 令组合的能流结果。能流输入与 EN 输入相似,都与位逻辑(例如,LAD 触点)相连 接,而不连接到直接/间接地址分配。必须在变量表的上一行(或多行)指定布尔能 流输入,然后再指定任何非布尔数据类型。只有输入参数可以这样使用。下例中的使 能输入 (EN) 和 IN1 输入使用能流逻辑。 ● BOOL:此数据类型用于单个位输入和输出。下例中的 IN3 是分配给直接地址的布尔 输入。 ● BYTE、WORD、DWORD:这些数据类型分别标识 1、2 或 4 字节的无符号输入或输 出参数。 ● INT、DINT:这些数据类型分别标识 2 或 4 字节有符号输入或输出参数。 ● REAL:此数据类型标识单精度(4 字节)IEEE 浮点值。 ● STRING:此数据类型用作指向字符串的四字节指针。

发布时间:2023-11-04
展开全文
优质商家推荐 拨打电话