1 / 29

功能和功能块

功能和功能块. FC. FB. DB. 目标. 学习了本章之后,你将 ... ... 熟悉临时变量的用途 ... 能够声明临时变量并在程序中使用 ... 熟悉可赋值参数的块的用途 ... 能够编程可赋值参数的功能和它们的调用 ... 了解功能 (FC) 和功能块 (FB) 之间的差别 ... 熟悉背景模型和多重背景模型 ... 熟悉静态变量的用途 ... 能够声明静态变量并在程序中使用 ... 能够编程可赋值参数的功能块和它们的调用. 全局变量/数据 ( 在全部程序中有效 ). 局部变量 / 数据 ( 只在一个块中有效 ).

cruz
Download Presentation

功能和功能块

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 功能和功能块 FC FB DB

  2. 目标 学习了本章之后,你将 ... ... 熟悉临时变量的用途 ... 能够声明临时变量并在程序中使用 ... 熟悉可赋值参数的块的用途 ... 能够编程可赋值参数的功能和它们的调用 ... 了解功能(FC)和功能块(FB)之间的差别 ... 熟悉背景模型和多重背景模型 ... 熟悉静态变量的用途 ... 能够声明静态变量并在程序中使用 ... 能够编程可赋值参数的功能块和它们的调用

  3. 全局变量/数据 (在全部程序中有效) 局部变量 / 数据 (只在一个块中有效) 临时变量 •当相关块执行完毕后被清除 •临时存储在L stack中 •可在下列块中使用OB / FC / FB 静态变量 •当相关块执行完毕后仍然 保留 •永久存储在DB中 •只能在FB中使用 • PII / PIQ • I/ O • M / T / C • DB 区 绝对地址 符号地址 访问方式 局部变量

  4. 临时变量

  5. 操作系统 1 FC 20 有临时 变量 OB 1 FC 17 有临时 变量 3 2 4 FC 20 有临时 变量 5 7 6 事件 1 2 3 4 5 6 7 所占用的 L stack FC20 FC20 256 Bytes FC17 FC17 FC17 FC17 FC17 OB1 OB1 OB1 OB1 OB1 OB1 OB1 程序所占用的局部数据区的总长度

  6. 执行的程序 日时钟中断 2 256 bytes 时间中断 延时处理中断 3 256 bytes 循环处理中断 12 256 bytes 硬件中断 16 256 bytes 事件驱动中断 启动过程中的错误处理中断 28 256 bytes 循环扫描中的错误处理中断 26 局部数据堆栈的大小 总容量:1.5 Kbyte(CPU 313..316) 对于S7-300: 优先级 局部堆栈大小 启动程序 (只执行一次) 27 256 bytes 循环扫描程序 1

  7. Right Click 块所需要的局部数据区的长度

  8. 练习: 使用临时变量 #Setpoint 替换为临时变量 #Setpoint #Setpoint

  9. 示例:用输出 LED故障信息指示 要求 Fault_Signal Acknowledge Stored_Fault Display 解决方案 Acknowledge Stored_Fault Flash_Frequency Display R RS Q Fault_Signal Edge_Memory P S Fault_Signal Stored_Fault

  10. 形式参数 可以分配参数的块 A( A I 1.0 R M 40.0 A I 1.1 FP M 40.1 S M 40.0 A M 40.0 ) A M 10.3 O A I 1.1 AN M 40.0 = Q 5.1 不可以分配参数的块 可以分配参数的块 FC 20 的 STL程序 调用FC 20 (e.g. in OB 1) FC 20 A( A #Acknowledge R #Stored_Fault A #Fault_Signal FP #Edge_Memory S #Stored_Fault A #Stored_Fault ) A #Flash_Freq. O A #Fault_Signal AN #Stored_Fault = #Display I 1.3 Display Q 5.1 Fault_Signal I 1.0 Acknowledge M 10.3 Flash_freq M 40.0 Stored_Fault Edge_Memory M 40.1 实际参数

  11. 定义FC 20形式参数 形式参数 定义 参数类型 使用方法 图形显示 输入参数 in 只能读 在块的左侧 输出参数 out 只能写 在块的右侧 输入/输出参数 In_out 可读/可写 在块的左侧

  12. 编辑可以分配参数的块

  13. 调用可以分配参数的块

  14. 练习: 编辑可以分配参数的FC块

  15. 练习:调用可以分配参数的FC块 第一次调用FC20时 的参数分配 第二次调用FC20时 的参数分配

  16. 功能块 ( FB ) OB 1 DB 2 FB 20 EN Fault_Signal Acknowledge Display Flash_Frequency ENO FB块的变量声明表

  17. 用功能块实现的故障信息显示 FB的声明表 背景数据块

  18. 生成背景数据块 1. 在FB调用时生成背景数据块 2. 创建一个新的背景数据块 在 LAD/STL/FBD Editor 在 SIMATIC Manager

  19. 之后插入/删除块的参数 Save

  20. 检查块的一致性

  21. 调用被修改过的块时应做的更正 单击鼠标右键

  22. 练习: 编辑功能块

  23. 练习:调用功能块并测试 添加 Network 2 & 3 删除 Network 2

  24. 多重背景模型 OB 1 Call FB100, DB100 FB 100 stat Dist_1 FB20 DB11 Call FB20, DB11 Disturb._Input:= Acknowledge:= Flash_Freq:= Display:= DB100 stat Dist_2 FB20 FB20 DB12 Call FB20, DB12 Disturb._Input:= Acknowledge:= Flash_Freq:= Display:= FB20 多重背景模型 普通背景模型 OB 1 DB10 Call FB20, DB10 Disturb._Input:= Acknowledge:= Flash_Freq:= Display:= FB20 Call Dist_1 Disturb._Input:= Acknowledge:= Flash_Freq:= Display:= 第一次调用 FB20 的参数和静态参数 Call Dist_2 Disturb._Input:= Acknowledge:= Flash_Freq:= Display:= 第二次调用 FB20 的参数和静态参数

  25. Statement Local Global Absolute Symbolic Temporary Static Parameter L #Number_1 L #Number_2 T #Maximum_value L #Intermediate_result L “Number_1” T MW 40 T #Number_2 练习: 识别变量的类型 TYPE OF VARIABLE

  26. Q 5.0 FC 1 A I 0.1 JNB _001 CALL FC 1 _001: A BR = Q 5.0 EN ENO 条件调用 I 0.1 = 例子 FC 1 FC 2 FC 3 ?? . ? EN ENO EN ENO EN ENO = 在块调用时使用EN/ENO参数 LAD/FBD STL FC 1 无条件调用 ?? . ? EN ENO CALL FC 1 NOP 0

  27. 有参数 有参数,和/或静态参数 • CALL FC2 Par1: ... Par2: ... Par3: ... • CALL FB2, DB3 Par1: ... Par2: ... Par3: ... (CALL) DB3 FC2 FB2 EN ENO EN ENO EN FB1 FC1 FB1 Par1 EN EN EN ENO ENO ENO Par1 Par1 Par2 Par3 Par2 Par3 Par2 DB3 FC1 FC2 FB2 Par3 EN EN Par3 Par1 ENO Par2 ENO ENO 总结: 块的调用 FC FB 语言 无参数 无参数,无静态参数 • UC FC1 • CC FC1 • CALL FC1 • UC FB1 • CC FB1 • CALL FB1, DB2 STL FC1 DB2 LAD FC1 CALL DB2 FBD

  28. 练习(选作):多台设备的风扇监控功能 功能 符号 SIG FC 8 ACKN R REPORT A TIMER_NO B =1 A FLT S_ODT C B S Q >=1 C ACKN TIMER_NO A TV B & SIG C FLT

  29. 练习(选作): 风扇监控功能的扩展 功能 符号 SIG FC 8 ACKN R REPORT A TIMER_NO B =1 A S_ ODT FLT C B >=1 S Q C & ENAB ENAB ACKN A TIMER_NO B & TV C FLT SIG ENAB

More Related