热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

调用顺序_小庄学工控1:西门子S7系列PLC的程序运行及其嵌套、调用机理

我是小庄,初入工控行业,目前正努力钻研、提高。即日起,借“塞北名驼”这个平台,不定期更新一些学习心得,借以鞭策
我是小庄,初入工控行业,目前正努力钻研、提高。即日起,借“塞北名驼”这个平台,不定期更新一些学习心得,借以鞭策自己。
一、S7-300/400 CPU中的程序

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

1、操作系统。操作系统集成在CPU中,用于组织"与特定控制任务"无关的所有CPU功能和顺序。操作系统的任务具体包括下列各项:

  • 处理重启(热启动)和热重启
  • 更新输入过程映像区,并写输出过程映像区
  • 调用用户程序
  • 采集中断信息,调用中断OB
  • 识别错误并进行错误处理
  • 管理内存区域
  • 与编程设备及其他通讯伙伴进行通讯
  • 通过修改操作系统参数,可以在某些区域影响CPU响应。

2、用户程序。顾名思义,其为用户创建、编写并下装到CPU中的程序,用户用它来实现特定的控制任务。用户程序的任务包括:

  • · 确定CPU的重启(热启动)和热重启条件(例如,用特定值初始化信号)
  • · 处理过程数据,包括数字量和模拟量数据
  • · 响应中断
  • · 处理正常程序周期中的干扰

在STEP7中,用户程序是由一个个的"块"构成的,在之前的文章中,断断续续的做了一些介绍,根据类型汇总如下:

b33c8d5e896eaf18bb96bc3e3b18e8ec.png

图1 “块”的种类汇总


二、用户程序的调用体系

STEP7的用户程序由一个个的"块"构成,各个"块"要正确、有机的结合在一起,才能实现特定的功能。这就涉及到了"块"的调用和嵌套了。

1、块的创建次序与嵌套

图2阐述了一个扫描周期内块调用的次序。在编写程序时,创建块时一般遵循以下步骤:

  • a) 从上到下依次创建块
  • b) 调用的每个块必须已经存在
  • c) 最后在OB1中定义调用次序
20e2c33639a088d44a34c9e093b869b4.png

图2 “块”的调用次序与嵌套

遵循上述规则,图2中创建块的顺序为:

FC1>FB1+背景数据块DB1>DB10>SFC1>背景数据块DB3>FB2+背景数据块DB2>OB2

图2还展示了块的嵌套深度。嵌套深度取决于特定的CPU。如果内嵌太深,有可能导致本地数据堆栈溢出。

2、块调用的基本原理

图3给出了用户程序中"块"调用的过程。

0238dc8df7c2a7ef907ab6ca2c1fc365.png

图3 “块”的调用原理

块的调用与被调用,原理上比较简单,注意到以下几个方面即可:

  • a) 组织块OB可以调用其他逻辑块,但不能被其他块调用;
  • b) SFB、SFC是集成在CPU中的一些特定功能/功能块,它们的程序逻辑是固定的,用户不能自定义,因此,它们只能被其他逻辑块调用,而不能调用其他逻辑块
  • c) 用户自定义的FB、FC既可以调用其他FB、FC、SFB、SFC,也可以被其他逻辑块调用。



推荐阅读
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • 本文介绍了基于c语言的mcs51单片机定时器计数器的应用教程,包括定时器的设置和计数方法,以及中断函数的使用。同时介绍了定时器应用的举例,包括定时器中断函数的编写和频率值的计算方法。主函数中设置了T0模式和T1计数的初值,并开启了T0和T1的中断,最后启动了CPU中断。 ... [详细]
  • 显卡驱动对游戏的影响及其提升效果的研究
    本文研究了显卡驱动对游戏体验的提升效果,通过比较新旧驱动加持下的RTX 2080Ti显卡在游戏体验上的差异。测试平台选择了i9-9900K处理器和索泰RTX 2080Ti玩家力量至尊显卡,以保证数据的准确性。研究结果表明,显卡驱动的更新确实能够带来近乎50%的性能提升,对于提升游戏体验具有重要意义。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了在Docker容器技术中限制容器对CPU的使用的方法,包括使用-c参数设置容器的内存限额,以及通过设置工作线程数量来充分利用CPU资源。同时,还介绍了容器权重分配的情况,以及如何通过top命令查看容器在CPU资源紧张情况下的使用情况。 ... [详细]
  • 本文介绍了2020年计算机二级MSOffice的选择习题及答案,详细解析了操作系统的五大功能模块,包括处理器管理、作业管理、存储器管理、设备管理和文件管理。同时,还解答了算法的有穷性的含义。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 关于CMS收集器的知识介绍和优缺点分析
    本文介绍了CMS收集器的概念、运行过程和优缺点,并解释了垃圾回收器的作用和实践。CMS收集器是一种基于标记-清除算法的垃圾回收器,适用于互联网站和B/S系统等对响应速度和停顿时间有较高要求的应用。同时,还提供了其他垃圾回收器的参考资料。 ... [详细]
  • 嵌入式处理器的架构与内核发展历程
    本文主要介绍了嵌入式处理器的架构与内核发展历程,包括不同架构的指令集的变化,以及内核的流水线和结构。通过对ARM架构的分析,可以更好地理解嵌入式处理器的架构与内核的关系。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 在2022年,随着信息化时代的发展,手机市场上出现了越来越多的机型选择。如何挑选一部适合自己的手机成为了许多人的困扰。本文提供了一些配置及性价比较高的手机推荐,并总结了选择手机时需要考虑的因素,如性能、屏幕素质、拍照水平、充电续航、颜值质感等。不同人的需求不同,因此在预算范围内找到适合自己的手机才是最重要的。通过本文的指南和技巧,希望能够帮助读者节省选购手机的时间。 ... [详细]
author-avatar
加肥的猫miao_115
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有