0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文详解西门子PLC程序结构的基本原理

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2020-11-07 11:02 次阅读

CPU原则上运行两个不同的程序:

操作系统

• 用户程序。

操作系统

每个CPU都带有集成的操作系统,组织与特定控制任务无关的所有 CPU功能和顺序。操作系统任务包括下列各项:

• 处理重启(热启动)和热重启。

• 更新输入的过程映像表,并输出输出过程映像表

• 调用用户程序

• 采集中断信息,调用中断 OB。

• 识别错误并进行错误处理

• 管理内存区域

• 与编程设备和其它通讯伙伴进行通讯

通过修改操作系统参数(操作系统默认设置),可以在某些区域影响CPU响应。

用户程序

可以创建用户程序,并将其下载到CPU中。它包含处理特定自动化任务所要求的所有功能。用户程序任务包括:

• 确定CPU的重启(热启动)和热重启条件(例如,用特定值初始化信号)

• 处理过程数据(例如,产生二进制信号的逻辑链接,获取并评估模拟量信号,指定用于输出的二进制信号,输出模拟值)

• 响应中断

• 处理正常程序周期中的干扰。

用户程序中的块

可以应用 STEP 7编程软件构建用户程序,也就是说,可以将程序分成单个、独立的程序段。这具有下列优点:

• 大程序更易于理解。

• 可以标准化单个程序段。

• 简化程序结构。

• 更易于修改程序。

• 可测试单个程序段,因而简化调试。

• 系统调试变得更简单。

工业混合过程实例阐述了将一个自动化过程分成单个任务的优点。结构化用户程序的程序段,即程序块对应于这些单个任务。

在S7用户程序内可使用多种类型的块:

组织块(OB) OB 确定用户程序的结构。
系统功能块(SFB) 和系统功能(SFC) SFB 和SFC集成在S7 CPU 中,可以用来访问一些重要的系统功能。
功能块(FB) FB 是带有用户可自行编程的“存储器”的块。
功能(FC) FC 包含频繁使用功能的例行程序。
实例数据块 (背景DB) 调用FB/SFB 时,实例DB与块关联。它们在编译期间自动创建。
数据块 (DB) DB 是用于存储用户数据的数据区。除分配给功能块的数据外,共享数据块也可由任何一个块来定义和使用。


组织块和程序结构:

OB的启动信息

每个组织块都有20字节本地数据的启动信息,在启动OB时,由操作系统提供。启动信息指定OB的启动事件、OB启动的日期和时间、所发生的错误以及诊断事件。例如,OB40是硬件中断 OB,其启动信息包含产生中断的模块地址。

取消选定中断OB

如果将优先级为 0 或少于20字节的本地数据分配给优先级,则将取消选定相应的中断OB。处理取消中断 OB的限制条件如下:

• 处于运行模式时,这些中断 OB不能复制或链接到用户程序。

• 处于停止模式时,可以将它们复制或链接到用户程序,但CPU执行重启(热启动)时,它们停止启动,并向诊断缓冲区输入一个条目。

通过取消选定不需要的中断 OB,可以增大可用的本地数据区容量,从而可以保存其它优先级的临时数据。

循环程序处理

循环程序处理是可编程逻辑控制器上“正常”执行的程序类型,表示操作系统在程序循环(周期)中运行,在每次循环中,都会调用主程序中的组织块 OB1 。即循环执行OB1 中的用户程序。

事件驱动的程序处理

可由特定的事件(中断)中断循环程序处理。如果发生该类事件,将在命令边界中断当前执行的块,然后调用分配给该特定事件的其它组织块。该组织块一旦执行,将在中断点继续执行循环程序。

这表示可以处理部分用户程序,这些用户程序只有在需要时才循环处理。用户程序可分成一些“子程序”,分布在不同的组织块中。如果用户程序要对相对较少发生的重要信号(例如,限制值传感器,用于测量容器中的液位,并在到达最高液位时报告) 作出响应,则当输出该信号时需要处理的子程序可位于事件驱动处理型 OB上。

线性编程与结构化编程

可以在OB1中写入整个用户程序(线性编程)。只有在给S7-300 CPU 编写简单程序、并要求极少内存时才可行。

将复杂自动化任务分割成反映过程技术功能或可多次处理的小任务,可以更易于控制复杂任务。这些任务以相应的程序段表示,称为块(结构化编程)。

用户程序中的调用体系

要使用户程序正常运行,必须调用构成用户程序的块。这通过特殊的STEP 7 指令、块调用来完成,而这些指令、块调用只能在逻辑块中编程和启动。

次序和嵌套深度

块调用的次序和嵌套称为体系。可嵌套的块数目(嵌套深度)取决于特定的 CPU。下图阐述了一个扫描周期内块调用的次序和嵌套深度。

创建块的固定次序如下:

• 从上到下创建块,因此可以从块的顶行开始。

• 调用的每个块必须已经存在,即在一行块内,创建块的次序为从右到左。

• 最后要创建的块是 OB1 。

在图中所示的实例中应用这些规则,则可以按下列顺序创建块:

FC1 > FB1 + 实例DB1 > DB1 > SFC1 > FB2 + 实例DB2 > OB1

块调用

下图显示了在用户程序内块调用的顺序。该程序调用第二个块,然后完全执行该块的指令。一旦执行第二个块或调用块后,在块调用后的指令处继续执行发出调用命令的中断块。

当执行冷重启时,操作系统将 SFB3“TP”实例复位。如果在冷重启后,初始化该SFB 的实例,那么必须通过 OB100以PT = 0 ms 调用 SFB 的相关实例。例如,可通过在包含该 SFB 实例的块中执行初始化程序完成该操作。

责任编辑人:CC

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 西门子
    +关注

    关注

    92

    文章

    2853

    浏览量

    113800
  • 西门子PLC
    +关注

    关注

    13

    文章

    112

    浏览量

    16429
  • PLC程序
    +关注

    关注

    4

    文章

    68

    浏览量

    11153

原文标题:西门子PLC程序结构的基本原理

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    西门子S7-200PLC西门子变频器MM440通讯程序实例

    西门子S7-200PLC西门子变频器MM440通讯程序实例
    的头像 发表于 05-04 09:54 3639次阅读
    <b class='flag-5'>西门子</b>S7-200<b class='flag-5'>PLC</b>与<b class='flag-5'>西门子</b>变频器MM440通讯<b class='flag-5'>程序</b>实例

    西门子系列PLC安装接线详解

    本文中介绍的西门子PLC安装接线详解,包含PLC型号有:Smart200、S7-300,S7-1200,S7-1500等。
    的头像 发表于 07-24 10:25 4098次阅读
    <b class='flag-5'>西门子</b>系列<b class='flag-5'>PLC</b>安装接线<b class='flag-5'>详解</b>

    西门子PLC在板坯连铸系统中的应用

    西门子PLC在板坯连铸系统中的应用 本文主要介绍了板坯连铸的生产工艺及其系统概况,以及西门子PLC在柳钢4#坯连铸机系统中的应用。
    发表于 06-17 14:36 1135次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>PLC</b>在板坯连铸系统中的应用

    西门子S7-200 PLC应用100例

    西门子S7-200 PLC应用100例》主要以西门子S7-200 PLC为主体,按基础知识、扩展提高和高级应用的结构体系,由浅入深、循序渐
    发表于 09-17 10:02 675次下载
    <b class='flag-5'>西门子</b>S7-200 <b class='flag-5'>PLC</b>应用100例

    西门子PLC案例

    西门子PLC案例,感兴趣的小伙伴们可以看看。
    发表于 07-29 18:42 158次下载

    西门子plc资料数码显示

    西门子plc资料
    发表于 04-05 10:10 3次下载

    西门子plc程序下载步骤

    今天我们主要学习西门子PLC程序下载步骤,下面以S7-200SMART为例进行说明.
    发表于 07-25 11:25 2.7w次阅读

    西门子PLC的块结构和块编辑的教程详细说明

    本文档的主要内容详细介绍的是西门子PLC的块结构和块编辑的教程详细说明
    发表于 03-19 14:52 20次下载
    <b class='flag-5'>西门子</b><b class='flag-5'>PLC</b>的块<b class='flag-5'>结构</b>和块编辑的教程详细说明

    西门子PLC用户程序的教程详细说明

    本文档的主要内容详细介绍的是西门子PLC用户程序的教程详细说明。
    发表于 03-23 11:36 29次下载
    <b class='flag-5'>西门子</b><b class='flag-5'>PLC</b>用户<b class='flag-5'>程序</b>的教程详细说明

    一文看懂西门子PLC程序结构

    所谓PLC程序结构,就是组成PLC程序的各种网络(Network)或“功能程序段”在PLC内部
    发表于 10-23 17:03 9262次阅读

    详解西门子S7-300基本指令应用

    详解西门子S7-300基本指令应用说明。
    发表于 04-22 14:58 23次下载

    西门子PLC指令和程序设计

    西门子PLC指令和程序设计方法免费下载。
    发表于 05-07 09:42 116次下载

    读写西门子PLC

    读写西门子PLC资料。
    发表于 05-10 09:33 31次下载

    大型西门子PLC程序结构示例

    大型的西门子PLC程序结构示例。
    的头像 发表于 07-06 10:34 788次阅读

    PLC网关采集西门子S7-1200对接MQTT服务器的操作步骤详解

    钡铼技术PLC网关采集西门子S7-1200对接MQTT服务器的操作步骤详解
    的头像 发表于 09-12 09:50 2000次阅读
    <b class='flag-5'>PLC</b>网关采集<b class='flag-5'>西门子</b>S7-1200对接MQTT服务器的操作步骤<b class='flag-5'>详解</b>