PLC 子程序的调用指南:实现程序模块化和代码重用 (plc子程序怎么调用)

子程序的调用指南

简介

可编程逻辑控制器 (PLC) 子程序提供了一种将 PLC 程序组织成模块化组件的方法,以便代码重用和程序维护。

子程序的好处

  • 代码重用:允许在多个程序中重复使用公共功能,从而减少冗余。
  • 程序模块化:将程序分解成较小的可管理块,使程序设计和维护更加容易。
  • 可维护性:隔离和修改特定功能变得更容易,无需影响程序的其余部分。
  • 调试:通过将子程序限制在一处,可以更轻松地进行故障排除和调试的参数。

    子程序范围

    子程序中的变量和常量的范围仅限于子程序本身。调用程序不能直接访问子程序中的变量或常量。

    子程序示例

    以下是使用梯形图 (LD) 编程语言编写的 PLC 子程序示例:```SUB CountUpLD 1ADD R1ST R1RETURNEND_SUB```此子程序每调用一次就将内部寄存器 R1 中的值加 1。

    使用子程序的提示

    以下是一些使用 PLC 子程序的提示:给子程序起一个有意义的名称,以清楚地表明它的用途。使用可重用的模块化代码来创建子程序。良好地记录子程序的用途、参数和返回值。单元测试子程序以验证其功能。避免在子程序中嵌套其他子程序,以保持可管理性和可维护性。

    结论

    PLC 子程序是实现程序模块化和代码重用的一种强大且有用的工具。通过仔细遵循本文中概述的准则,您可以有效地利用子程序来简化 PLC 程序设计、提高可维护性并减少调试时间。

个人感觉你说的第二种比较好,比较可靠。 (如果你用第一种情况,电脑死机了怎么办??我们单位的电脑装上后反映就比较迟钝)\x0d\x0a\x0d\x0a还有NETR是通过指定端口从网络读取信息(最多16个字节){结合你的情况就是从PC向PLC读取信息}\x0d\x0a\x0d\x0a还有NETW是通过指定端口向网络写信息(最多16个字节){结合你的情况就是从PLC向PC发送信息}\x0d\x0a\x0d\x0a具体方法:\x0d\x0a选择菜单命令工具(T)>指令向导_?缓笱≡?NETR/NETW;\x0d\x0a1指定您需要的网络操作数目\x0d\x0a2指定端口号和子程序名称\x0d\x0a3指定网络操作\x0d\x0a4分配V存储区\x0d\x0a5生成代码\x0d\x0a为了便于进行连接在网络中的PLC之间的数据交换,S7-200支持网络读(NETR)和网络写(NETW)指令。 NETR指令从远程PLC中的指定地址读取配置好的一定数量的数据。 NETW指令向远程PLC中的指定地址写入配置好的一定数量的数据。 NETR\x0d\x0a和NETW指令操作由数据表中的前七个字节控制。 表中的一个数值是读取/写入数据长度,可以规定1至16个字节。 因此数据表最大可达23个字节。 \x0d\x0a\x0d\x0a注释:在使用HSC向导之前,程序必须被编译,且处于符号编址模式。 如果您尚未编译程序,向导在HSC配置过程开始时会提示您编译程序。 \x0d\x0a向导将向您询问初始化选项,然后为指定配置生成程序代码和数据块代码。 从第一个屏幕选择NETR/NETW后,向导向您询问下列信息:\x0d\x0a\x0d\x0a步骤1指定您需要的网络操作数目\x0d\x0a\x0d\x0a注释:如果项目包含使用STEP7Micro/WIN3.2版建立的现有NETR/NETW配置,您必须在继续执行步骤1之前选择编辑其中一个现有配置或建立一个新配置。 \x0d\x0a\x0d\x0a可使用NETR/NETW指令向导,简化网络操作配置。 向导将向您询问初始化选项,并根据您的选择生成完整的配置。 向导允许您配置多达24项独立的网络操作,并生成代码协调这些操作。 \x0d\x0a\x0d\x0a步骤2指定端口号和子程序名称\x0d\x0a\x0d\x0a注释:项目可能已经包含一个NETR/NETW向导配置。 所有以前建立的配置均被自动载入向导。 向导会提示您完成以下两个步骤之一:\x0d\x0a\x0d\x0a?选择编辑现有配置,方法是点击“下一步>”。 \x0d\x0a\x0d\x0a?选择从项目中删除现有配置,方法是选择“删除”复选框,并点击“完成”。 \x0d\x0a\x0d\x0a如果不存在以前的配置,向导会询问以下信息:\x0d\x0a\x0d\必须被设为PPI主站模式才能进行通信。 您要指定通信将通过哪一个PLC端口进行。 \x0d\x0a\x0d\x0a2.向导建立一个用于执行具体网络操作的参数化子程序。 向导还为子程序指定一个默认名称。 您可以编辑默认名称。 \x0d\x0a\x0d\x0a步骤3指定网络操作\x0d\x0a\x0d\x0a对于每项网络操作,您需要提供下列信息:\x0d\x0a\x0d\x0a1.指定操作是NETR还是NETW。 \x0d\x0a\x0d\x0a2.指定从远程PLC(NETR)读取的数据字节数或向远程PLC(NETW)写入的数据字节数。 \x0d\x0a\x0d\x0a3.指定您希望用于通信的远程PLC网络地址。 \x0d\x0a\x0d\x0a4.如果您在配置NETR,指定以下内容:\x0d\x0a\x0d\x0a-数据存储在本地PLC中的位置。 有效操作数:VB、IB、QB、MB、LB。 \x0d\x0a-从远程PLC读取数据的位置。 有效操作数:VB、IB、QB、MB、LB。 \x0d\x0a\x0d\x0a5.如果您在配置NETW,指定以下内容:\x0d\x0a\x0d\x0a-数据存储在本地PLC中的位置。 有效操作数:VB、IB、QB、MB、LB。 \x0d\x0a\x0d\x0a-向远程PLC写入数据的位置。 有效操作数:VB、IB、QB、MB、LB。 \x0d\x0a\x0d\x0a步骤4分配V存储区\x0d\x0a\x0d\x0a对于您配置的每一项网络操作,要求有12个字节的V存储区。 您指定可放置配置的V存储区起始地址。 向导会自动为您建议一个地址,但您可以编辑该地址。 请注意,如果您使用重叠地址,向导在显示一则警告后,允许您进入下一步。 \x0d\x0a\x0d\x0a注释:在NETR操作中,请确认将用于存储数据的变量地址没有与分配给向导配置的存储区地址重叠。 \x0d\x0a\x0d\x0a步骤5生成程序代码\x0d\x0a\x0d\x0a回答这些询问后,点击“完成”,S7-200指令向导将为您指定的网络操作生成代码。 由向导建立的子程序成为项目的一部分。 要在程序中使能网络通信,需要在主程序块中调用执行子程序(NET_EXE)。 每次扫描周期时,使用SM0.0调用该子程序。 这样会启动配置网络操作执行。 为每项网络操作建立的数据处理子程序会在适当时间被自动调用。

本文原创来源:电气TV网,欢迎收藏本网址,收藏不迷路哦!

相关阅读

添加新评论