导航:首页 > 软件知识 > 西门子plc主程序与子程序如何编程

西门子plc主程序与子程序如何编程

发布时间:2025-03-06 03:17:51

㈠ 求西门子的子程序调用的编程实例,另外还想问一下子程序是和主程序在同一个程序吗。


子程序和功能块最终都是要在主程序的调用下起作用的
主程序相当于是一间房子
而子程序就相当于是房子中的桌子



主程序

程序主体(称为
OB1),在其中放置控制应用程序的指令。 主程序中的指令按顺序执行,每个 CPU 扫描周期执行一次。

子例程

子例程是位于单独程序块的可选指令集,只在从主程序、中断例程或另一子例程调用时执行。

中断例程

中断例程是位于单独程序块的可选指令集,只在发生中断事件时执行。


STEP7-Micro/WINSMART 提供了三个程序编辑器,并通过在程序编辑器窗口为每个 POU 提供单独的选项卡来组织程序。 主程序 OB1
始终是第一个选项卡,然后是可能已创建的任何子例程或中断。

子例程

要重复执行某种功能时,子例程是非常有用的。 可在子例程中编写一次逻辑,然后在主程序中根据需要多次调用子例程。 这样做有若干优点:

您的总体代码大小减小。

与在主程序中多次执行相同代码相比,扫描时间也会减少,因为在主程序中,不管代码执行与否,每个扫描周期都会自动评估代码。
可以有条件地调用子例程,且在扫描过程中不被调用时不对子例程进行评估。

子例程容易移植;您可以单独挑出一个功能,并将其复制至其它程序中,而无须进行修改或只进行少量修改。

㈡ 西门子PLC如何在主程序,写入调用子程序的命令

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

阅读全文

与西门子plc主程序与子程序如何编程相关的资料

热点内容
程序并发是什么课程 浏览:380
华金证券有什么交易软件 浏览:69
如何构建产品的信息源 浏览:531
如何构建数据化管理 浏览:655
pc手机哪个技术含量高 浏览:464
电视剧掌握信息的什么阁 浏览:119
西昌铁路技术学院怎么收费 浏览:302
如何学习主播技术 浏览:642
化妆品新产品有哪些推荐图片 浏览:433
公共资源交易网是什么单位 浏览:544
团员信息入错了怎么改 浏览:223
编程怎么写一个程序 浏览:761
产品标准代号怎么填 浏览:203
中国完美山东代理商一年赚多少钱 浏览:567
冰超联赛在哪个程序里看 浏览:866
广告数据为什么要细分 浏览:658
如何让产品全新裂变 浏览:405
产品怎么找契合点 浏览:30
数据解析错了怎么办 浏览:753
江苏如何在公众号上查询接种信息 浏览:91