- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
结构化编程 结构化编程 练习 电动机启保停电路 按下按钮,一个数加1,当此数值超过20时,输出指示 利用局部数据进行控制 局部变量 临时变量 局部数据堆栈的大小 块所需要的局部数据区的长度 程序所占用的局部数据区的总长度 练习1: 使用临时变量 示例:计算公式 可以分配参数的块 A i 1.2 R m 40.0 A i 1.3 Fp m 40.1 S m 40.0 A m 40.0 A m 10.3 O Anm 40.0 A i 1.3 = Q 4.3 定义形式参数 编辑一个可分配参数的块 调用一个分配了参数的块 在块调用时使用EN/ENO参数 练习2: 生成一个分配了参数的FC块 练习3: 调用一个分配了参数的FC块 FB块 用FB实现的故障信息显示 生成背景数据块 多重背景模型 练习4: 编写一个FB块 练习5: 调用FB并调试 插入/删除块的参数可能遇到的问题 调用被修改过的块时应做的更正 练习6: 多台设备的风扇监控功能 练习7: 风扇监控功能的扩展 练习8: 识别变量的类型 总结: 块的调用 要求 将故障显示程序用分配了参数的块来编写。变量声明表和程序的开头部分已在幻灯片中给出。 步骤 ? 在S7 程序“My Program”中插入FC 20? 在FC 20 中编写程序? 保存FC 20 要求 在OB 1中用不同的参数两次调用FC 20,并测试该程序。 步骤 ? 在S7程序“My Program”的OB 1中插入两个程序段? 按幻灯片所示,两次调用FC 20? 下装FC20和OB 1? 调试程序 说明: 在硬件组态时,将MB10定义为时钟存储字节。然后下装硬件组态,使M10.3 闪烁。 FB块的特点 与FC块不同,FB块 (Function Blocks) 带有一个存储区。也就是说,有一个局部数据块被分配给FB块,这个数据块被称为背景数据块(instance data block )。 当调用FB时,必须指定背景数据块的号码, 该数据块会自动打开。 背景数据块可以保存静态变量,所以静态变量只能用于FB块中,并在其变量声明表中定义。当块退出时,它们仍然保持。 保存参数 当FB块被调用时,实际参数的值被存储在它的背景数据块中。如果在块调用时,没有实际参数分配给形式参数,在程序执行中将采用上一次存储在背景数据块中的参数值。 每次调用FB时可以指定不同的实际参数。当块退出时,背景数据块中的数据仍然保持。 FB 的优点 ? 当编写FC的程序时,用户必须寻找空的标志区或数据区来存储需保持的数据, 并且要自己编写程序来保存它们。而FB的静态变量可由STEP 7的软件来自 动保存。 ? 使用静态变量可避免两次分配同一存储区的危险。 ? 如果用FB块实现FC20的功能, 并用静态变量“Report memory”和“Edge memory marker”来代替原来的形式参数,将可省略两个形式参数,简化了块 的调用。 故障信息显示 在前面的练习中,我们编写了一个分配了参数的块FC 20来显示故障信息。 用FB块实现该功能时,采用静态变量来替代FC 20 中用来保存信息和检测边沿的标志位,这些静态变量存储在该FB的背景数据块中。 背景数据块的结构 当参照一个FB 生成一个数据块时,STEP7将参照该FB的变量声明表生成数据块的结构。 数据块保存之后,将生成一个背景数据块。 如何生成背景数据块 生成一个新的背景数据块有两种方法:? 在调用FB时,为它指定一个背景数据块后, 如果该数据块并不存在,则弹出以 下提示信息: “Instance data block DB x does not exist. Do you want to generate it?”. 单击“Yes”按钮可自动生成一个新的背景数据块。? 创建一个新的数据块时,选择其属性为 “Data block referencing a function block”。 注意 一个背景数据块只能归属于一个FB块,而一个FB块在每次调用时可以使用不同的背景数据块。FB块被修改后 (添加参数或静态变量), 必须重新生成背景数据块。 多重背景模型 到目前为止,每次调用一个FB块时都使用不同的背景数据块。 由于数据块的数量有限,所以在此介绍一种方法,允许多次FB调用都使用同一个背景数据块。多重背景模型允许多次FB调用都使用同一个背景数据块,为此需增加一个FB块用来管理背景数据。 针对每次的FB调用 (FB 20), 要先在上层的FB块 (FB 100) 中定义一个静态变量,用来存储这一次调用时的背景数据。这样用符号名调用该块时(Call Dist_
文档评论(0)