S7-300可编程控制器(PLC)教案第4章-S7系列结构化程序设计.ppt

S7-300可编程控制器(PLC)教案第4章-S7系列结构化程序设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 S7系列结构化程序设计 重点与难点 S7系列结构化程序的概念、功能块(功能)的编程及调用、数据块与数据结构。 基本要求 1.理解S7系列结构化程序的概念; 2.掌握功能块(功能)的编程及调用; 3.熟悉数据块与数据结构; 4.熟练进行S7-300的结构化程序设计。 本章内容 1.S7系列结构化程序设计简介; 2.功能块(功能)的编程及调用; 3.数据块与数据结构; 4.程序设计应用举例; 5.S7-PLC模拟软件S7-PLCSIM。 4.1 结构化编程 STEP 7编程语言有以下三种编程方法。 1.线性化编程 线性化编程就是将用户程序连续放置在一个指令块内,即一个简单的程序块内包含系统的所有指令。 2.分部编程 分部式编程是把一项控制任务分成若干个独立的块,每个块用于控制一套设备或一系列工作的逻辑指令,而这些块的运行靠组织块OB内指令来调用。 3.结构化编程 结构化程序把过程要求的类似或相关的功能进行分类,并试图提供可以用于几个任务的通用解决方案。 为支持结构化程序设计,STEP 7用户程序通常由组织块(OB)、功能块(FB)或功能(FC)等三种类型的逻辑块和数据块(DB)组成。 STEP 7以文件块的形式管理用户编写的程序及程序运行所需的数据,组成结构化的用户程序。这样,PLC的程序组织明确,结构清晰,易于修改。 由整个任务分解而产生的单个任务被分配给块,这些块中存储了用于解决这些单个问题所必需的算法和数据。 结构化编程具有如下一些优点。 (1)各单个任务块的创建和测试可以相互独立地进行。 (2)通过使用参数,可将块设计得十分灵活。比如,可以创建一钻孔循环,其坐标和钻孔深度可以通过参数传递进来。 (3)块可以根据需要在不同的地方以不同的参数数据记录进行调用,也就是说,这些块能够被再利用。 (4)在预先设计的库中,能够提供用于特殊任务的“可重用”块。 STEP 7中的块从其功能、结构及其应用角度来看,是用户程序的一部分。根据内容,可以将STEP 7块划分为以下两类。 ? 用户块 ? 系统块 (1)组织块(OB) (2)功能块(FB) (3)功能(FC) (4)数据块(DB) (5)系统功能(SFC) (6)系统功能块(SFB) (7)系统数据块(SDB) 4.2 功能块(功能)的编程 及调用 1.功能(FC) 功能(FC)属于用户自己编程的块。功能是“无存储区”的逻辑块。FC的临时变量存储在局域数据堆栈中。 当FC执行结束后,这些数据就丢失了。要将这些数据永久存储,功能也可以使用共享数据块。由于FC没有它自己的存储区,所以用户必须为它指定实际参数。不能够为一个FC的局域数据分配初始值。 一个FC包含一个程序部分,当FC被不同的逻辑块调用时,这些程序总会被执行。可为以下目的使用功能。 (1)为调用块返回一个功能值(例如:数学功能)。 (2)要执行一个工艺功能(例如:使用位逻辑操作的单控制功能)。 形式参数是“实际”参数的虚名称。当该功能调用时,用实际参数替代形式参数。对于FC来说,形式参数总是必须赋给实际参数(例如:将实参“I 3.6”赋值给形参“Start”)。 在FC中使用的参数类型中,输入、输出和输入/输出参数存做指针,指向调用FC的逻辑块的实际参数。 2.功能块(FB) 功能块(FB)属于用户自己编程的块。功能块是具有“存储功能”的块。用数据块作为功能块的存储器(背景数据块)。 传递给FB的参数和静态变量存在背景数据块中。临时变量存在本地数据堆栈中。当FB执行结束时,存在背景DB中的数据不会丢失。 可是,当FB的执行结束时、存在本地数据堆栈中的数据将丢失。FB中所含的程序总是当不同的逻辑块调用该FB时执行。功能块使得对于经常使用的功能、复杂功能的编程变得容易。 每次功能块的调用都将赋给一个背景数据块,用于传递参数。 在STEP 7中,对于FB通常不是必须将实际参数赋值给形参。不过下列情况除外,对以下形参必须赋实参。 (1)对于复杂数据类型 (2)对于所有的参数类型 3.FC和FB输出参数的主要区别 在功能块中,当访问参数时使用背景数据块中的实际参数的拷贝参数。当调用FB时,如果没有传送输入参数或没有写输出参数,则背景数据块中将始终使用以前的值。 FC没有存储器,与FB对比,不可以选择对FC的形参赋值。当数据块的一个地址或调用块的局部变量作为实际参数时,则将一个复制的实际参数存储到调用块的局部数据区,用它来传送数据。 注意,在这种情况下,如果没有向FC的输出参数写入一个数据,则将输出一个随机值。 由于作为复制数据所保留的调用块的局部数据区没有赋值到输出参数,所有该区没有写入任何数据。因此将输出存储在该区域的随机值,因为局部数据不能自动地设置为0。 功能块(FB)为

文档评论(0)

autohhh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档