S7-300_PLC课件-13_结构化编程

发布时间:2024-11-21

SIEMENS

结构化编程OB1 FC FB 操作系统 SFC SFB其它

FB FC

OBs青岛大学-西门子先进自动化技术实验室 青岛大学自动化工程学院

SIEMENS

第七章 结构化编程程序设计方法:线性化编程、模块化编程 和结构化编程。 线性化编程是将整个用户程序放在组织块 OB1中,在CPU循环扫描时执行OB1中的全部指令。 其特点是结构简单、但效率低下。另一方面, 某些相同或相近的操作需要多次执行,这样会 造成不必要的编程工作。再者,由于程序结构 不清晰,会造成管理和调试的不方便。所以在 编写大型程序时,避免线性化编程。

青岛大学-西门子先进自动化技术实验室

青岛大学自动化工程学院

SIEMENS

模块化编程是将程序根据功能分为不同的逻 辑块,且每一逻辑块完成的功能不同。在 OB1中可以根据条件调用不同的功能或功能 块。 其特点是易于分工合作,调试方便。由于 逻辑块是有条件的调用,所以可以提高CPU的 利用率。

青岛大学-西门子先进自动化技术实验室

青岛大学自动化工程学院

SIEMENS

结构化编程是将过程要求类似或相关的任务 归类,在功能或功能块中编程,形成通用解 决方案。通过不同的参数调用相同的功能或 通过不同的背景数据块调用相同的功能块。 其特点是结构化编程必须对系统功能进行 合理分析、分解和综合,所以对设计人员的 要求较高,另外,当使用结构化编程方法时, 需要对数据进行管理。

传送带系统中所有交流电机的通用逻辑控制块; 装配线机械中所有电磁线圈的通用逻辑控制块; 造纸机器中所有驱动装置的通用逻辑控制块。青岛大学-西门子先进自动化技术实验室 青岛大学自动化工程学院

SIEMENS

结构化编程OB 1 FC 1

电机 1

FC 1 电机 2

FC 1

电机 3

青岛大学-西门子先进自动化技术实验室

青岛大学自动化工程学院

练习

SIEMENS

1. 电动机启保停电路 2. 按下按钮,一个数加1,当此数值超过20 时,输出指示

青岛大学-西门子先进自动化技术实验室

青岛大学自动化工程学院

SIEMENS

利用局部数据进行控制OB1FC1 (数学功能) I0.5 FC1 MW5 3369 MW10 Input1 Output_A Input2 Input3M5.0 ADD_I SUB_I

0.0 2.0 4.0

in in in out temp

Input1Input2 Input3 Output_A TEMP1

int int int int int

sample measure 1 constant offset resu lt intermediate

QW12

6.0 8.0

I0.5 FC1 MW2 6869 MW16 Input1 Output_A QW20#INPUT1 IN1 #INPUT2 IN2

M5.1 ( ) O #Output_A

O #TEMP1 #TEMP1 IN1 #INPUT3 IN2

Input2Input3

青岛大学-西门子先进自动化技术实验室

青岛大学自动化工程学院

SIEMENS

局部变量全局变量/数据 (在全部程序中有效) 局部变量 / 数据 (只在一个块中有效) 临时变量 当相关块执行完毕后被清除 临时存

储在 L stack中 可在下列块中使用 OBs / FCs / FBs 静态变量 当相关块执行完毕后仍然 保留

PII / PIQ I/ O M/T/C

DB areas

永久存储在DBs中 只能在FBs中使用

绝对地址 访问方式

符号地址

青岛大学-西门子先进自动化技术实验室

青岛大学自动化工程学院

SIEMENS

临时变量

青岛大学-西门子先进自动化技术实验室

青岛大学自动化工程学院

SIEMENS

局部数据堆栈的大小

总容量:

1.5 Kbyte(CPU 313..316) 对于 S7-300: 优先级 局部堆栈大小

执行的程序

启动程序 (只执行一次)循环扫描程序 日时钟中断 时间中断

271 2 256 bytes 256 bytes

延时处理中断循环处理中断 硬件中断

312 16 28 26

256 bytes256 bytes 256 bytes

事件驱动中断

启动过程中的错误处理中断 循环扫描中的错误处理中断

256 bytes

青岛大学-西门子先进自动化技术实验室

青岛大学自动化工程学院

SIEMENS

块所需要的局部数据区的长度rechts

青岛大学-西门子先进自动化技术实验室

青岛大学自动化工程学院

SIEMENS

程序所占用的局部数据区的总长度操作系统1

OB 12

FC 1有临时 变量

3 4

FC 2有临时 变量

5 7

FC 3有临时 变量

6

事件 所占用的 L stack

1

2

3

4

5

6

7

FC2 FC1 OB1青岛大学-西门子先进自动化技术实验室

FC3 FC1 OB1 FC1 OB1 FC1 OB1 OB1

FC1 OB1

OB1

256 Bytes

青岛大学自动化工程学院

SIEMENS

练习1: 使用临时变量

QW6

替换为临时变量

青岛大学-西门子先进自动化技术实验室

青岛大学自动化工程学院

SIEMENS

示例:计算公式

青岛大学-西门子先进自动化技术实验室

青岛大学自动化工程学院

SIEMENS

可以分配参数的块不可以 分配参数的块 程序 调用 可以分配参数的块

FC 20A R A Fp S A A O Anm 40.0 A = i Q 1.3 4.3 i m i m m m m 1.2 40.0 1.3 40.1 40.0 40.0 10.3

A R A

#Acknowledge #Report memory #Disturb_input

I 1.3 I 1.2

Disturb_ input Acknowledge Flash_freq Edge_ mem_bit Report_ memory

Display

Q 4.3

FP #Edge_mem_bit

M 10.3M 40.0 M 40.1

SA A O

#Report_memory#Report_memory #Flash_freq

AN #Report_memory A = #Disturb_input #Display

形式参数 实际参数

青岛大学-西门子先进自动化技术实验室

青岛大学自动化工程学院

SIEMENS

定义形式参数形式参数 参数类型输入参数 输出参数 输入/输出 参数 in out In_out

定义

使用方法只能读 只能写 可读/可写

图形显示在块的左侧 在块的右侧 在块的左侧

青岛大学-西门子先进自动化技术实验室

青岛大学自动化工程学院

S7-300_PLC课件-13_结构化编程.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219