S7-300 PLC课件-13 结构化编程.ppt_第1页
S7-300 PLC课件-13 结构化编程.ppt_第2页
S7-300 PLC课件-13 结构化编程.ppt_第3页
S7-300 PLC课件-13 结构化编程.ppt_第4页
S7-300 PLC课件-13 结构化编程.ppt_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

结构化编程 程序设计方法 线性化编程 模块化编程和结构化编程 第七章结构化编程 线性化编程是将整个用户程序放在组织块OB1中 在CPU循环扫描时执行OB1中的全部指令 其特点是结构简单 但效率低下 另一方面 某些相同或相近的操作需要多次执行 这样会造成不必要的编程工作 再者 由于程序结构不清晰 会造成管理和调试的不方便 所以在编写大型程序时 避免线性化编程 模块化编程是将程序根据功能分为不同的逻辑块 且每一逻辑块完成的功能不同 在OB1中可以根据条件调用不同的功能或功能块 其特点是易于分工合作 调试方便 由于逻辑块是有条件的调用 所以可以提高CPU的利用率 结构化编程是将过程要求类似或相关的任务归类 在功能或功能块中编程 形成通用解决方案 通过不同的参数调用相同的功能或通过不同的背景数据块调用相同的功能块 其特点是结构化编程必须对系统功能进行合理分析 分解和综合 所以对设计人员的要求较高 另外 当使用结构化编程方法时 需要对数据进行管理 传送带系统中所有交流电机的通用逻辑控制块 装配线机械中所有电磁线圈的通用逻辑控制块 造纸机器中所有驱动装置的通用逻辑控制块 结构化编程 OB1 练习 电动机启保停电路按下按钮 一个数加1 当此数值超过20时 输出指示 利用局部数据进行控制 FC1 数学功能 OB1 FC1 Input1 Input2 Input3 Output A FC1 Input1 Input2 Input3 Output A MW5 3369 MW10 QW12 QW20 MW2 6869 MW16 I0 5 I0 5 M5 1 O TEMP1 INPUT3 Output A 0 0 2 0 4 0 6 0 8 0 in in in out temp int int int int int samplemeasure1 constant offset result intermediate 局部变量 临时变量 局部数据堆栈的大小 对于S7 300 局部堆栈大小 优先级 256bytes 1 27 总容量 1 5Kbyte CPU313 316 启动程序 只执行一次 循环扫描程序 块所需要的局部数据区的长度 rechts 程序所占用的局部数据区的总长度 练习1 使用临时变量 QW6 示例 计算公式 Disturb input Report memory Acknowledge Edge mem bit Display Flash freq FC20 调用 可以分配参数的块 Ai1 2Rm40 0Ai1 3Fpm40 1Sm40 0Am40 0Am10 3OAnm40 0Ai1 3 Q4 3 不可以分配参数的块 M40 0 M40 1 I1 3 I1 2 Q4 3 M10 3 实际参数 A AcknowledgeR ReportmemoryA Disturb inputFP Edge mem bitS Report memoryA Report memoryA Flash freqOAN Report memoryA Disturb input Display 可以分配参数的块 程序 定义形式参数 使用方法 图形显示 只能读 在块的左侧 只能写 在块的右侧 参数类型 输入参数 输出参数 输入 输出参数 定义 in out In out 可读 可写 在块的左侧 形式参数 编辑一个可分配参数的块 对于无参数分配的块 此处可能是 绝对地址 I1 3 符号地址 End left Disturb input Acknowledge Flash freq Edge mem bit Display ENO EN FC20 调用一个分配了参数的块 Network3 FirstCall Network4 SecondCall M40 1 Positionerror Endleft Acknow button M10 3 M40 0 Endright Q4 1 Acknow button M10 3 M40 2 符号的 寻址方式 符号 局部符号 形式参数 M40 3 Q5 4 Report memory LAD FBD STL 在块调用时使用EN ENO参数 CALLFC1NOP0 FC1 EN ENO 无条件调用 FC20的变量声明表 练习2 生成一个分配了参数的FC块 1 练习3 调用一个分配了参数的FC块 Disturb input Report memory Acknowledge Edge mem bit Display Flash freq 第一次调用FC20时的参数分配 M40 0 M40 1 I1 3 I1 2 Q5 3 M10 3 FC20 Disturb input Report memory Acknowledge Edge mem bit Display Flash freq M40 2 M40 3 I1 4 I1 2 Q5 4 M10 3 FC20 第二次调用FC20时的参数分配 练习 将最近采集的三个数求平均 进行滤波处理 先采用模块化编程实现此功能 接着采用结构化编程实现 最后引出FB块 FB块 FB2ENDisturb inputAcknowledgeDisplayFlashfreq ENO DB2 OB1 FB块的变量声明表 用FB实现的故障信息显示 FB的声明表 生成背景数据块 1 在FB调用时生成背景数据块 多重背景模型 DB10 普通背景模型 FB20 OB1 CallFB20 DB10Disturb Input Acknowledge Flash Freq Display Parametersandstaticvariablesofthe2nd callofFB20 CallDist 2Disturb Input Acknowledge Flash Freq Display Parametersandstaticvariablesofthe1st callofFB20 CallDist 1Disturb Input Acknowledge Flash Freq Display 练习4 编写一个FB块 FB20的变量声明表 1 练习5 调用FB并调试 插入 删除块的参数可能遇到的问题 Save 调用被修改过的块时应做的更正 当调用块被打开时 单击鼠标右键 练习6 多台设备的风扇监控功能 A B C 1 S ODT TIMER NO ACKN SIG A B C R S Q 1 FLT FC101 REPORT A B C ACKN TIMER NO TV FLT SIG 功能 符号 练习7 风扇监控功能的扩展 A B C 1 S ODT TIMER NO ACKN SIG A B C R S Q 1 FLT FC101 REPORT A B C ACKN TIMER NO TV FLT 功能 符号 ENAB ENAB ENAB SIG 练习8 识别变量的类型 TYPEOFVARIABLE 总结 块的调用 CALLFC1 UCFC1 CCFC1 STL LAD FBD FC1 FB 无参数 无背景数据块 UCFB1 CCFB1 CALL 无参数 语言 FC FC1 控制任务描述 在发动机控制系统工程实例中 被控对象是一个 汽油发动机 和一个对该汽油发动机进行散热的 风扇 一个 柴油发动机 和一个对该柴油发动机进行散热的 风扇 对这些被控对象 有相应的起动 停止按钮控制其状态的改变 并要求这两个发动机在起动的同时 对应的风扇要同时起动对其散热 当发动机停止运行时 风扇要延时4秒后再关闭 以保证发动机充分的散热 发动机控制系统工程 发动机控制系统结构化程序的结构示意图 1 创建符号地址表 2 发动机控制功能块 FBl 的程序设计 输入 定义FB1的输入 输出参数 这些定义包括变量名 数据类型和声明类型 输出 静态变量 FB1功能块的程序设计 汽油机数据块DB1的内容 3 风扇控制功能 FCl 的程序设计 定义FC1的输入 输出参数 这些定义包括变量名 数据类型和声明类型 输入 输出 FBl功能块的程序设计 4 组织块 OB1 的程序设计 发电机控制系统组织

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论