+ All Categories
Home > Documents > S7-300 400高级编程培训资料.pdf

S7-300 400高级编程培训资料.pdf

Date post: 29-Jan-2023
Category:
Upload: khangminh22
View: 0 times
Download: 0 times
Share this document with a friend
385
Date: 2011/9/7 File: PRO2_01E.1 SIMATIC S7 Siemens AG 2001. All rights reserved. SITRAIN Training for Automation and Drives 状态位指令 长沙工控帮教育科技有限公司整理 www.gkbpx.com
Transcript

Date: 2011/9/7File: PRO2_01E.1

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

状态位指令

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_01E.2

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

S7-CPU 的寄存器和存储器区域

累加器

ACCU1

ACCU4

ACCU3

ACCU2

仅适用于

S7-400

AR2

AR1

地址寄存器

打开的 DB DB 长度

数据块寄存器

状态位

状态字

32 位

32位

32位

32位

32位

32位

16位

16位

装载存储器- 逻辑块- 数据块

工作存储器- 逻辑块- 数据块

I/O 区域

系统存储器- 过程映像输入表- 过程映像输出表- 位存储器- 定时器- 计数器

- 逻辑数据堆栈- 中断堆栈- 块堆栈

S7-CPU 寄存器 S7-CPU 存储器区域

T, S, =,...

L, A, O,...

16位

打开的 DI DI 长度

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_01E.3

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

状态字结构

位 定义 值 含义

0 /FC 20 首次检查位

1 RLO 21 逻辑运算结果

2 STA 22 状态位

3 OR 23 或

4 OS 24 保存溢出

5 OV 25 溢出

6 CC 0 26 条件代码

7 CC 1 27 条件代码

8 BR 28 二进制结果

9...15 未定义

29 ..210

状态字各位的含义

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_01E.4

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

检查状态位

OVS S>0

M 4.0M 4.0

在 STL中进行检查

A OV 扫描溢出显示

A OS 扫描存储的溢出标志

A BR 扫描 BR标志

检查条件代码(CC0, CC1)

A == 0 结果等于 0

A > 0 结果大于 0

A <> 0 结果不等于 0

A =< 0 结果小于或等于 0,等等

A UO 无序指令

在LAD 和FBD 中进行检查

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_01E.5

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

| |

带有状态位的指令

指令码

含义

示例

SET 将RLO位设置为“1“ SET //RLO-1 = M 0.1

CLR 将RLO位设置为“0“ CLR //RLO-0

NOT 将 RLO位取反

O 手动模式;

O 自动模式;

NOT; = 操作模式

= M0.0

SAVE 以二进制形式保存RLO

结果

A BR 检查二进制形式结果

| |I 1.0 I 1.1 I 1.2

| |

| |

( )

(SAVE)| |

BR Q 4.2 Q 5.0

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_01E.6

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

块调用或复杂功能中的BR位及ENO

LAD STL

Network 1:

循环程序

FC23I0.0EN

MW10Step_bit _memory

Step_dis play

ENO ( )M100.0

QW12

Network 2:

???

MUL_II0.1EN

345 IN1 OUT

ENO ( )M100.1

MW10

987 IN2

Network 1:

循环程序

A I 0.0 JNB _001 CALL FC 23 Step_bit_memory :=MW10 Step_display :=QW12

_001: A BR = M 100.0

Network 2:???A I 0.1JNB _002L 345L 987 *I T MW 10 AN OV SAVE CLR

_002: A BR = M 100.1

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_01E.7

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

取决于状态位的跳转功能

JU 标号1)

无条件跳转

JC 标号1)

如果“RLO” =1,则跳转

JCN标号1)

如果“RLO” =0,则跳转

JCB标号1)

如果“RLO” =1,则跳转,并将RLO保存在BR位中

JNB标号1)

如果“RLO” =0,则跳转,并将RLO保存在BR位中

JBI标号1)

如果“BR” =1,则跳转

JNBI标号1)

如果“BR” =0,则跳转

JO标号1)

如果状态字中的“OV”位 =1,则跳转

JOS标号1)

如果状态字中的“OS” 位=1,则跳转

1) 标号可以由4位字母-数字字符组成

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_01E.8

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

取决于条件代码的跳转功能

JZ 标号1)

如果状态字“CC 1”位=0且“CC 0”位=0,则跳转(结果 = 0)

JN标号1)

如果状态字“CC 1”位不等于“CC 0”位,则跳转(结果 <> 0)

JP标号1)

如果状态字“CC 1”位=1且“CC 0”位=0(结果=0),则跳转(结果 > 0)

JM标号1)

如果状态字“CC 1”位=0且“CC 0”位=1(结果=0),则跳转

(结果 < 0)

JPZ标号1)

JZ和JP联合使用,同时满足条件,则跳转(结果 >= 0)

JMZ标号1)

JM和JZ联合使用,同时满足条件,则跳转(结果 <= 0)

JUO标号1)

如果是无效的实数或者除数为0,则跳转

1) 标号可以由4位字母-数字字符组成

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_01E.9

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

跳转分支的编程

装载跳转分支数

JL OVER

...

ACCU1 > n 时的指令段

示例:带有3个分支的跳转分支程序

L Recipe no// 装载分支程序数

JL OVER // 带有3个分支的跳转分支

JU Rec0 // 跳转到0号分支 (ACCU1 = 0)

JU Rec1 // 跳转到1号分支 (ACCU1 = 1)

JU Rec2 //跳转到2号分支 (ACCU1 = 2)

OVER:JU ERROR // 如果ACCU1 > 2,则跳转至标号OVER...

Rec0: L DBW4...

Rec1: L DBW6...

Rec2: L DBW8...

ERROR: CLR...

操作模式

M_n:

JU M_0

JU M_n

ACCU1 = 0 时的指令段

...

ACCU1 = n 时的指令段

OVER:

M_0:

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_01E.10

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

循环指令的编程

初始化循环计数器

LOOP NEXT将ACCU1进行减1操作,

并作判断ACCU1 <> 0 ?

继续

NEXT:

将循环执行数次的代码段

将循环计数器内容装入 ACCU1.

示例:进行4次循环扫描的循环指令编程

L +4 // 装载循环计数器

NEXT: T MW10 // 循环开始

. // 指令代码

. // 指令代码

. // 指令代码

L MW10 // 再次装载循环计数器

LOOP NEXT // 循环计数器值 –1,

// 如果Accu 1> 0,则

// 跳转到标号NEXT处

操作模式

将ACCU1内容

送入循环计数器

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_01E.11

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

BE 块结束指令

BEU 无条件块结束指令(在块内)

BEC 条件块结束指令(取决于 RLO位)

(RET) 在 LAD 编程语言中

在 FBD编程语言中

块结束指令

RET

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_01E.12

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

练习1.1:减法运算完成后跳转

拨码按钮

1 2 3 4

- D

正值结果 (>=0)

将IW 0 的值写入显示删除显示

负值结果

[JM 标号]

转换为

DINT

转换为

DINT

BTD BTD

0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0

20215 27

仿真器上的切换开关

十进制开关:S7-300: IW4 (IW2, 32位模式)

显示:

S7-300: QW12 (QW6, 32位模式)

S7-400: IW 30 S7-400: QW38

切换开关:

S7-300: IW0 (IW0)

S7-400: IW28

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_01E.13

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

练习 1.2:乘法运算完成后跳转

无溢出

将结果输出显示删除显示

溢出

[JO 标号]

十进制开关:

S7-300: IW4 (IW2, 32位模式)

显示:

S7-300: QW12 (QW6, 32位模式)

S7-400: IW30 S7-400: QW38

切换开关:

S7-300: IW0 (IW0)

S7-400: IW28

DTB 转换为

BCD码

拨码开关

1 2 3 4

* I

转换为

DINT

转换为

DINT

BTD BTD

0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0

20215 27

仿真器上的切换开关

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_01E.14

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

练习 1.3:跳转分支编程

拨码按钮

1

1

23

4

5

Motor_let 右转

Motor_let 左转

马达停转

喇叭开

喇叭关

使用Jump指令,跳转到所列标号

功能:

[ JL 标号]

标号:

地址:

S7-300 (16位)

S7-300 (32位)

S7-400马达右转:

Q20.5 Q8.5 Q40.5马达左转:

Q20.6 Q8.6 Q40.6喇叭:

Q20.7 Q8.7 Q40.7

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_02E.1

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

累加器指令

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_02E.2

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

累加器指令概述影响多个累加器的指令:

TAK:将累加器ACCU1和累加器ACCU2中的内容交换

PUSH:将累加器中的内容依次“向上”传递“(从ACCU1向ACCU4传递)

POP :将累加器里中内容依次“向下”传递“(从ACCU4 向ACCU1传递)

ENT :将累加器里中内容依次“向上”传递“ ,但 ACCU1内容不参与传递

LEAVE将累加器里中内容依次“向下”传递“,但 ACCU2内容不参与传递

算术指令及字逻辑指令

仅影响累加器ACCU1的指令

INC:累加器ACCU1-LL中的内容加1

DEC :累加器ACCU1-LL中的内容减1

CAW:将ACCU1-L中的两个字节翻转

CAD:将ACCU1中的双字数据翻转

INVI,INVD: 生成1的补码

NEGI,NEGD,NEGR:生成2的补码(取反)

SLW, SLD, SRW,SRD, SSI,SSD:将ACCU1中的内容逐字或双字左移或者右

RLD,RRD:将ACCU1中的内容向左或向右循环移位

RLDA, RRDA:经由条件代码位CC1,将ACCU1中的内容向左或向右循环移位

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_02E.3

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

TAK指令(交换累加器ACCU1和累加器ACCU2的内容)

S7-300:

S7-400:

ACCU1

ACCU2V1V2

V2V1

指令执行前 指令执行后

ACCU1ACCU2

V1V2V3V4

ACCU3ACCU4

V2V1V3V4

指令执行前 指令执行后

TAK

TAK

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_02E.4

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

PUSH和POP指令

S7-300:

ACCU1ACCU2

V1V2

V1V1

指令执行前 指令执行后PUSH

S7-400:

ACCU1ACCU2ACCU3ACCU4

V1V2

V1V2V3V4

V1V1V2V3

指令执行前 指令执行后PUSH

V2V2

指令执行前 指令执行后POP

V1V2V3V4

V2V3V4V4

指令执行前 指令执行后POP

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_02E.5

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

ENT和LEAVE指令(仅适用于S7-400)

ENT:

LEAVE:

V1V2V3V4

ACCU1ACCU2ACCU3ACCU4

V1V2V2V3

指令执行前 指令执行后

V1V2V3V4

ACCU1ACCU2ACCU3ACCU4

V1V3V4V4

指令执行前 指令执行后

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_02E.6

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

算术指令

S7-300:

S7-400:

ACCU1

ACCU2V1V2

V2 op V1V2

指令执行前 指令执行后

ACCU1ACCU2

V1V2V3V4

ACCU3ACCU4

V3V4V4

指令执行前 指令执行后

操作: +., -., *., /.

V2 op V1操作: +., -., *., /.

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_02E.7

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

字逻辑指令

S7-300:

S7-400:

ACCU1

ACCU2V1V2

V2 op V1V2

指令执行前 指令执行后

ACCU1ACCU2

V1V2V3V4

ACCU3ACCU4

V2V3V4

指令执行前 指令执行后

操作类型: A.., O.., X..,

V2 op V1操作类型: A.., O.., X..,

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_02E.8

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

ACCU1交换指令

CAW:

CAD:

V4 V3 V2 V1

ACCU1-HH ACCU1-HL ACCU1-LH ACCU1-LL

V4 V3 V1 V2

V4 V3 V2 V1

V1 V2 V3 V4

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_02E.9

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

ACCU1增量指令

ACCU1-HH ACCU1-HL ACCU1-LH ACCU1-LLINC <const>:

V4 V3 V2 V1

V4 V3 V2 V1+<const>

+ <const>

DEC <const>:

V4 V3 V2 V1

V4 V3 V2 V1-<const>

- <const>

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_02E.10

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

生成1的补码

0 1 0 0 0 0 1 0 0 1 0 0 1 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 1 1 1

031

INVI (ACCU1-L 1的补码):

15 ACCU1-LACCU1-H

0 1 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 1 1 1 0 0 1 1 1 0 1 1 1 0 0 0

031 15

0 1 0 0 0 0 1 0 0 1 0 0 1 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 1 1 1

031

INVD (ACCU1 1的补码):

15 ACCU1-LACCU1-H

1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 1 0 0 1 1 1 0 1 1 1 0 0 0

031 15

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_02E.11

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

数值取反(2的补码)

NEGI(INT数取反)

NEGD(DINT数取反):

0 1 0 0 0 0 1 0 0 1 0 0 1 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 1 1 1

031

1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 1 0 0 1 1 1 0 1 1 1 0 0 0

031 1的补码

1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 1 0 0 1 1 1 0 1 1 1 0 0 131 加上1 + 1

NEGR(REAL类型数取反):

= 1.3125

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 1 1 1 1 1 1 1 0 1 0 1 0 0 0

指数=8位S 尾数 (23位)02223

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 0 1 1 1 1 1 1 1 0 1 0 1 0 0 0

= 1 112 116 295

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_02E.12

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

经由CC1的32位循环移位指令

0 1 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

031

CC1位

RLDA (通过状态位CC1向左循环):

RRDA (通过状态位CC1向右循环):

0 1 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

031

CC1位

ACCU1

ACCU1

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_02E.13

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

练习2.1:指数计算

示例:

通过连续使用PUSH和*I指令来生成一个整数的6次幂

ACCU1

ACCU2

用push指令

进行拷贝

乘以 *I ACCU1

Puchwheel按钮

x y 0 0

转换成

INT类型 BTI

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_02E.14

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

2 3

练习2.2: ACCU1中的数据交换

ACCU1 - L (指令执行前)10

CAW

ACCU1 - L (指令执行后)0 132

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_02E.15

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

练习2.3:生成补码

位15 位0

生成1的补码:INVI

1 . . . . . . . . . . . . 1 0 1

ACCU1-L (指令执行前)

位15 位0ACCU1-L (指令执行后)

0 . . . . . . . . . . . . 0 1 0

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_03E.1

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

实数(REAL)指令

y=LN(x)

sin? cos?

tan? ...?

??

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_03E.2

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

SIMATIC S7中的实数(REAL)表示方法

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 1 0 0 0 0 1 0 1 1 0 1 0 0 0 0

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16

指数: e = 8位S尾数: f (23位)

实数(REAL)表示格式(IEEE FP32位二进制格式):

常规REAL数值的表示方法:

S x (1.f) x 2 (e-127)

S = 符号位, (0对应于+,1对应于-)

f = 23 位尾数 最高有效位MSB = 2-1及最低有效位LSB =2-23

e = 二进制整数形式的指数 (0 < e < 255)

常规REAL数值的范围:

- 3.402 823 x 10+38 ... -1.175 494 x 10-38,0,1.175 494 x 10-38 ... 3.402 823 x 10+38

2-1 2-23

示例:S = 0 e = 1000 0101 = 133 f = 1010 0000... = 0.5 + 0.125

R = +1.625 x 2 (133-127)

= 1.625 x 64 = 104.0

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_03E.3

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

对实数(REAL)操作的基本指令

实数(REAL)加法:L MD10 // 装载第1个实数(REAL)L MD20 // 装载第2个实数(REAL)+R // 两个实数相加 (MD10 + MD20)T MD30 // 将结果传送到MD30中

实数(REAL)减法:L MD10 // 装载第1个实数(REAL)L MD20 // 装载第2个实数(REAL)-R // 两个实数相减(MD10 - MD20)T MD30 // 将结果传送到MD30中

实数(REAL)乘法:L MD10 // 装载第1个实数(REAL)L MD20 // 装载第2个实数(REAL)*R // 两个实数相乘(MD10 * MD20)T MD30 // 将结果传送到MD30中

实数(REAL)除法:L MD10 // 装载第1个实数(REAL)L MD20 // 装载第2个实数(REAL)/R // 两个实数相除(MD10 / MD20)T MD30 // 将结果传送到MD30中

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_03E.4

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

扩展的算术函数

算术函数:SQR 平方SQRT 开方

EXP 以e为底的指数函数LN 自然对数

(e=2.718282)

示例:

L MD10 // 装载实数(REAL)SQR // 计算其平方值T MD30 // 将结果传送到MD30中

SQREN ENO

IN OUTMD10 MD30

(STL)

(LAD)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_03E.5

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

三角函数及反三角函数

三角函数:

SIN 正弦COS 余弦TAN 正切

弧函数:

ASIN 反正弦ACOS 反余弦ATAN 反余切

示例:

L MD10 // 装载实数(REAL)SIN // 计算其正弦值T MD30 // 将结果传送到MD30中

SINEN ENO

IN OUTMD22 MD30

(STL)

(LAD)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_03E.6

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

其它实数(REAL)操作指令

REAL类型到DINT类型转换指令:

RND+ 返回到下一个较大的DINT型数RND- 返回到下一个较小的DINT型数RND 返回到下一个整型数TRUNC 取整

DINT类型到REAL类型转换指令:

DTR 舍入转换

其它REAL到REAL转换指令:

ABS 生成数的绝对值NEGR 对一个实数的取反

示例:L MD10 // 装载实数(REAL)RND+ // 转换为下一个较大的DINT类型的数T MD30 // 将结果传送到MD30中

RND+EN ENO

IN OUTMD22 MD30

(STL)

(LAD)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_03E.7

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

练习3.1:计算距离

示例:

在直角坐标系中计算两点间的距离D

P1

P2

X1 X2 X

Y

Y2

Y1

功能:

FC31 D= (X2 - X1)2 + (Y2 - Y1)2

D

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_04E.1

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

间接寻址及地址寄存器指令

L W [AR1, P#200.0]

----

1

2

910

#Ini_Value

#Par_Pointer

#Counter

?? ?

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_04E.2

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

STEP 7 中可能的寻址方式

寻址方式

直接寻址 间接寻址

绝对寻址 符号寻址 存储器间接寻址 寄存器间接寻址

示例:

A I 4.0 A "Mot_on" OPN DB[MW10] A I[MD30] A I[AR1,P#0.0] A [AR1,P#0.0]L IW10 L #Num SP T["runtime"] L IW["Number"] L ID[AR1,P#5.0] T W[AR1,P#0.0]

16位指针

(DB, T, C)

32位指针

内部区域

32位指针

内部区域

32位指针

交叉区域

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_04E.3

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

变量直接寻址

存储单元位置 (示例)

I 37.4

地址 附加访问宽度

字节,字,双字

含义

输入

Q 27.7 字节,字,双字 输出

PIB 655 字节,字,双字 外设输入

PQB 653 字节,字,双字 外设输出

M 55.0 字节,字,双字 位(Bit)存储器

T 114 -- 定时器

C 13 -- 计数器

DBX 2001.6 字节(DBB), 字(DBW),双字(DBD)

通过DB寄存器寻址的数据

DIX 406.1 字节(DIB), 字(DIW),双字(DID)

通过DI寄存器寻址的数据

L 88.5 字节(LB), 字(LW),双字 (LD) 本地数据堆栈

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_04E.4

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

DB中地址标识符直接寻址

打开的数据块 在数据块中装载和传递

OPN DB 19OPN "Values"

OPN DI 20

组合指令(包含OPN D DB..)

L DBB 1 装载数据字节1L DBW 2 装载数据字2(字节2/3)L 5 装载数字5T DBW 4 传递到字4L ‘A’ 装载ASCII字符AL DIB28 装载数据字节28==I 比较

A DBX 0.0 从0字节的第0位开始扫描

L DB19.DBW4 从DB 19中装载数据字4

L “Values”.Number_1 符号访问变量

Number_1. DB19 具有变量名“Values”

A DB10.DBX4.7 从DB 10 的第4个字节的第7位开始扫描

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_04E.5

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

用于DB寄存器的指令:

CDB:交换DB寄存器内容

将DB寄存器内容装载到ACCU1中

L DBNO (将打开的DB号装载到ACCU1中)

L DINO (将打开的DI号装载到ACCU1中)

装载数据块长度

L DBLG (将打开的DB的长度/字节装载到ACCU1中)

L DILG (将打开的DI的长度/字节装载到ACCU1中)

在程序中分析数据块DB相关信息

指令执行前: 指令执行后:

CDB

123 24

24 123

DB寄存器

DI寄存器

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_04E.6

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

字格式的16位指针(用于对DB、T、C进行寻址)

L 11T MW 60

OPN DB[MW 60] OPN DB 11

双字格式的32位指针(用于对I、Q、M...进行寻址)

L P#24.0T MD 50

L I W [MD50] L IW 24

存储

访问

地址区域

宽度

存储器间接寻址

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_04E.7

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

用于存储器间接寻址的指针结构

16位指针的结构:

为0 ... 65 535 之间的无符号整数

0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

20215 27

146

32位指针的结构(内部区域):

B B B B B B B B B B B B B X X X

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 B B B

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16

2022

位地址字节地址(无符号整数)

20215

未定义

装载32位指针常量(内部区域):L P#25.3 (P = 指针,字节地址= 25,位地址:3)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_04E.8

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

存储器间接寻址的特性

用于存储16位和32位指针的地址区域:

位(Bit)存储区(绝对寻址或符号寻址) 例如:

OPN DB[MW30],OPN DI[“Motor_1”] 等。

A I[MD30],T QD["Speed_1"],等)

本地数据堆栈(绝对寻址或符号寻址,

例如:

OPN DB[LW10],OPN DI[#DB_NO]等。

A I[LD10],T QD[#Par_Pointer],等。)

全局(共享) 数据块(只能进行绝对寻址,DB必须预先打开,

例如: OPN DB[DBW0] (覆盖掉DB寄存器内容!!!),OPN DI[DBW22]等。

A I[DBD10],T QD[DBD22],等。)

背景数据块(只能进行绝对寻址,DI必须预先打开,

例如:

OPN DB[DIW20],OPN DI[DIW0] (覆盖掉DI寄存器内容!!!),等

A I[DID10], T QD[DID22]等。)

向FB和FC传递指针的特点

在参数里传递的指针不能直接用于存储器间接寻址。

用于存储器间接寻址而传递的指针,在访问之前必须拷贝到临时变量里去

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_04E.9

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

间接寻址示例

FC30:间接寻址示例

Network(段)

1:使用间接寻址方式打开DB

L #dbnumber // 将DB号拷贝到MW100T MW 100 // OPN DB[MW 100] // 打开DB

Network (段)

2: 循环删除

L P#18.0 // 将终端地址(DBW18)作为指针T MD 40 // 传送到MD 40;L 10 // 将循环计数器值设置为10

next: T MB 50 // 传到MB 50中;L 0 // 装载初始值T DBW[MD 40] // 传到DB50中;L MD 40 // 装载指针L P#2.0 // 并减去2个字节-D // 然后再传回T MD 40 // 到MD 40;L MB 50 // 装载循环计数器LOOP next // 减去2个字节,条件满足则跳转;

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_04E.10

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

练习4.1:用间接寻址的方法进行循环编程

----

Meas_Value[1]Meas_Value[2]

Meas_Value[9]Meas_Value[10]Meas_Value[11]

#Ini_Value

1.0

2.0

9.010.0

11.0. . . 等等。

DB41

0

4

323640

DB中指向地址的指针

#Par_Pointer

#Counter

字节地址

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_04E.11

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

内部区域,寄存器间接寻址

LAR1 P#10.0 // 设置AR1 AR1: 00000000 0000 0000 0000 0000 0101 0000

+ 200L M W [AR1, P#200.0]

存储区域 访问

地址

偏移

扩展指令:

L MW 210宽度

寄存器

常量

AR 1或AR2中的内部区域指针:

B B B B B B B B B B B B B X X X

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 B B B

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16

2022

位地址字节地址(无符号整数)

20215

未定义

指令语法规则:

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_04E.12

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

交叉区域,寄存器间接寻址

LAR1 P#I10.0 //设置AR1 AR1: 10000001 0000 0000 0000 0000 0101 0000

L W [AR1, P#200.0] + 200

访问

地址

偏移

扩展指令:

L IW 210宽度

寄存器

常量

AR 1或AR 2中的交叉区域指针:

B B B B B B B B B B B B B X X X

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

1 0 0 0 0 R R R 0 0 0 0 0 B B B

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16

位地址字节地址(无符号整数)地址标识符

指令语法规则:

Bit 31=0: 内部区域Bit 31=1: 交叉区域

地址标识符:

000 I/O 001 输入(PII)

010 输出(PIQ)

011 位(Bit)存储器100 DB寄存器中的数据

101 DB寄存器2中的数据(DI)110 自有本地数据

111 调用块的LD(本地数据)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_04E.13

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

用于装载地址寄存器的指令

装载地址寄存器

LARn (n =1 or 2): 将ACCU1中的内容装载到ARn

LARn <地址> 将<地址>中的内容装载到ARn

LARn P#<地址> 将<地址>中的地址装载到ARn

<地址>:

处理器寄存器:

AR1,AR2 (比如: LAR1 AR2 及LAR2 AR1)

32位变量:

MD,LD, DBD,DID (比如: L DBD5等)

32位符号变量:

32位全局变量(比如: LAR1 “索引”,等)

(全局和局域的)

以及OB,FB及FC的TEMP(临时)变量

(比如: LAR1 #Address,等)

P#<地址>

指向布尔型绝对地址

En.m,An.m,Mn.m,Ln.m,DBXn.m,DIXn.m 指针:

(比如: LAR1 P#M5.3, LAR2 P#I3.6,等)

指向本地、符号地址

OB: TEMP(临时)变量 (比如: LAR1 P##Par_Pointer, 等)

FB:

IN-,OUT-, INOUT-,STAT- 及TEMP- FC:TEMP(临时)变量(LAR1 P##Loop,等)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_04E.14

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

其它用于地址寄存器的指令

传送出地址寄存器内容

TARn (n =1 or 2):

从Arn传送到ACCU1

TARn <Address> 从Arn传送到<地址>

<地址>:

处理器寄存器:

AR2 (比如:TAR1 AR2 )

32位绝对地址变量:

MDn, LDn, DBDn, DIDn (如TAR2 MD5等)

32位符号变量:

32位全局变量(比如TAR1 “Index”,等)

(全局和局域的)

及OB,FB及FC的TEMP(临时)变量

(比如TAR1 #Address等)

地址寄存器内容交换(Swap)指令

TAR 将地址寄存器AR1和AR2的内容相互交换

地址寄存器加指令

+ARn 将ACCU1-L内容加到ARn

+ARn P#n.m 将内部区域指针P#n.m加到AR1或AR2中去

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_04E.15

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

寄存器间接寻址的特性

在STL/LAD/FBD编辑器内使用AR1

当访问FC中的参数时,如果参数为复杂数据类型(ARRAY、STRUCT、

DATE_AND_TIME) ,则AR1寄存器和DB寄存器内容将会被覆盖掉。

当访问FB中的INOUT参数时,如果该INOUT参数是复杂数据类型(ARRAY、

STRUCT、DATE_AND_TIME),则AR1寄存器和DB寄存器内容将会被覆盖掉。

在装载地址寄存器和对目标变量进行寄存器间接寻址的时候,不允许

访问局部参数

在STL/LAD/FBD编辑器内使用AR2

在对FB内部所有参数和静态变量进行寻址的时候,AR2寄存器和DI寄存器均用作基

址寄存器。

如果用户在FB内部将 AR2或DI覆盖了,之后就可以访问该FB专用

参数或静态变量。也就是说,未恢复两个寄存器时不可访问。

在FC内,对AR2寄存器和DI寄存器没有限制

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_04E.16

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

#ACCU1 DB中指向地址的指针

#AR1

#ACCU2

----

Number[1]Number[2]

Number[9]Number[10]Number[11]

1

2

910

11. . . 等等。

DB42

0

4

323640

字节地址

练习4.2:用寄存器间接寻址进行循环编程

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_04E.17

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

POINTER类型和ANY类型数据的块参数

地址

声明

名称

类型0.0 输入参数

DB_Num WORD2.0 输入参数

Area_Pointer DWORD6.0 输入参数

Length WORD. . .

L #DB_NumT #I_DB_Num OPN DB[I_DB_Num].L #Area_PointerLAR1L #Length...

FC... 分别传送实际地址的各个信息

(STEP 5里的方式):• DB号• 起始地址• 区域长度,等。

缺点:• 程序员必须进行拆分• 在调用期间,不能使用实际地址的符号名• 一个地址(区域)需要好几个参数

• 无一致性检查纠正

地址

声明. 名称

类型0.0 输入

Measure_1 POINTER. . .8.0 输入

Measure_2 ANY. . .

L P##Measure_1LAR1 L W[AR1,P#0.0]T #I_DB_NumOPN DB[I_DB_Num]L D[AR1,P#2.0]LAR1....

FC...

使用POINTER或ANY类型参数传递

(STEP 7方式):

• 调用时,程序员可以使用实际地址的符号名• 由LAD/FBD/STL编辑器拆分成单个信息• 一个地址只需要一个参数• 进行一致性检查纠正

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_04E.18

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

POINTER类型的结构和参数赋值

Byte n

Byte n+2

Byte n+4

Byte n+1

Byte n+3

Byte n+5

DB号(INT)

1 O O O _ O R R R _ O O O O _ O B B B (32位交叉区域指针)

B B B B _ B B B B _ B B B B _ B X X X

POINTER类型参数赋值

指针显示

P#DBn.DBX x.y 其中:n= DB号, x= 字节数, y= 位数

P#DIn .DIX x.y (比如 P#DB5.DBX3.4,P#DI2.DIX10.0,等)

P#Zx.y 其中: Z=区域,比如:P,I,Q,M及L (比如P#I5.3,P#M10.0,等)

地址声明:

MD30 (这种情况下,DB号区域标识符及位地址自动输入

#Motor_on 到POINTER参数中)

"Motor_1".speed

数据类型结构:POINTER

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_04E.19

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

ANY数据类型的结构

ANY数据类型指针

Byte n

Byte n+2Byte n+4 DB号

1 O O O _ O R R R _ O O O O _ O B B B B B B B _ B B B B _ B B B B _ B X X X

16#10 Data type

复制系数

Byte n+6Byte n+8

数据类型

标识符

VOID 00 BOOL 01 BYTE 02 CHAR 03 WORD 04 INT 05 DWORD 06 DINT 07 REAL 08 DATE 09 TOD 0A TIME 0B S5TIME 0C DT 0E STRING 13

参数类型

标识符

BLOCK_FB 17 BLOCK_FC 18 BLOCK_DB 19 BLOCK_SDB 1A COUNTER 1C TIMER 1D

ANY参数类型指针

Byte n

Byte n+2Byte n+4 16#0000

定时器,计数器或块的号

16#10 参数类型

16#0001

Byte n+6

Byte n+8

16#0000

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_04E.20

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

ANY数据类型的参数赋值

指针显示:

P#[数据块.]位地址 类型号

P#DB10.DBX12.0 REAL 20 指向DB10中的一个区域:从

Byte 12开始的20个REAL类型的地址

(ARRAY[1..20] OF REAL)P#I 10.0 BOOL 8 指向IB10里的一个8位区域

地址声明:

绝对地址:

DB5.DBD10 数据类型:DWORD,复制系数:1 DB号:5,指针:P#DB5.DBX10.0

IW32 类型:WORD,WF: 1,DB 号:0,指针: P#I 32.0 T35 类型: TIMER,编号:35

符号地址:

#Motor_1.speed 使用基本数据类型,编译器建立正确

“Pump”.Start 的数据类型,复制系数1以及指针

注意事项

符号(ARRAY、STRUCT、STRING、UDT)赋值时,数据类型标识符02(

BYTE)以及区域字节长度只能由编译器来建立,并输入到ANY指针。

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_04E.21

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

ANY类型间接参数分配

使用临时变量对ANY数据类型进行实际参数赋值

在调用块中声明ANY数据类型临时变量

例如: temp aux_pointer ANY

用指针信息对ANY临时变量进行赋值

例如:

LAR1 P##aux_pointer // 装载辅助指针地址

L B#16#10 // 装载标识符10 T LB [AR1,P#0.0] // 并传送到Offset 0

L ... ...

使用变量辅助指针对ANY 块参数进行赋值

例如:

CALL FC 111 Targetfield:=#aux_pointer

优点

在运行期间,对ANY指针参数进行动态重复赋值

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_04E.22

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

评估ANY型指针传递

地址

声明

名称

类型

初始值

注释0.0 in Par_Pointer ANY

outin_out

0.0 temp Data_type BYTE2.0 temp WF WORD4.0 temp DB_Nr WORD6.0 temp Area_Pointer DWORD

Network 1:创建数据类型、复制系数、DB号及区域指针

L P##Par_Pointer // 将#Pointer地址装载到ACCU1LAR1 // 并从ACCU1中将其装载到AR1;L B [AR1,P#1.0] // 从指针创建数据类型T #Data_type // 并装载到临时变量中;L W [AR1,P#2.0] // 建立复制系数T WF // 并装载到临时变量中;L W [AR1,P#4.0] // 建立DB号T #DB_Nr // 并装载到临时变量中;L D [AR1,P#6.0] // 建立区域指针T #Area_Pointer // 并装载到临时变量中;

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_04E.23

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

练习4.3:用于求和及计算平均值的功能

FC 43EN ENO

Measured_values Sum

Mean_value

声明

名称

类型输入参数 Measured_values ANY输出参数 Sum REAL输出参数 Mean_value REAL

DB43103.452086.51.7895........

P#DB43.DBX0.0 REAL 8

名称

类型

STRUCTMeasurement ARRAY[1..8]

REALEND_STRUCT

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.1

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

STEP 7数据类型和变量

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.2

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

数据类型描述了数据基本特性

连续区域:例如:实际速度

“是/非” 特性:例如:扰动

数据类型建立:

允许范围

(INT:-32 768 ... +32 767,等等。)

允许使用的指令

(算术指令: +,- 等。)

存储器中位的表示方法抽象出的数据类型

变量可以保存并在以后继续处理数值

Actual_speed: REAL

扰动:

BOOL

Set_speed: REAL

使能:

BOOL

变量及数据类型含义

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.3

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

变量声明确定变量的如下特性:

符号名

数据类型

有效范围

声明类型变量可以:

在全局符号表中声明

(基本数据类型)

在全局数据块的声明表中进行声明

(所有数据类型)

在逻辑块的声明表中进行声明

(OB,FB和FC)

变量特性及变量的声明

Meas_point[1]: RealMeas_point[2]: RealMeas_point[3]: Real

Meas_point[10]: Real

Meas_point: ARRAY[1..10]

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.4

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

STEP 7数据类型概述

基本数据类型( 长32位)

复杂数据类型(长度大于32位)

用户自定义数据类型(长度大于32位)

• 位(Bit)数据类型(BOOL, BYTE, WORD, DWORD, CHAR)

• 算术数据类型(INT, DINT, REAL)

• 时间数据类型(S5TIME, TIME, DATE, TIME_OF_DAY)

•时间型 (DATE_AND_TIME)

•数组型 (ARRAY)

•结构型 (STRUCT)

•字符串型(STRING)

UDT数据类型 (用户自定义型)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.5

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

STEP 7中的基本数据类型

长度(单位:位)

BOOLBYTEWORDDWORD

CHAR

INTDINTREAL

S5TIME

TIMEDATETIME-OF-DAY

181632

8

163232

16

321632

关键字 类型常数示例

1或0B#16#A9W#16#12AFDW#16#ADAC1EF5

'w'

12365539或L#-11.2或34.5E-12

S5T#5s_200ms

T#2D_1H_3M_45S_12MSD#1999-06-14TOD#12:23:45.12

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.6

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

复杂数据类型的重要性

Set_speed: REALActual_speed: REALEnable: BOOLDisturbance: BOOL

Motor: STRUCT

END_STRUCT

“更好地”构造数据:

适合于任务

具有“适当的”数据类型

在块调用中

数据传输的精简形式:

一个参数传送“多个”数据项

使结构化编程成为可能

仅通过参数便实现

块间“通信”

软件可重用性5

.

.CALL #Controller

Motor:="Hall_1".M5. . .

.

.

.

.A #Motor.Enable

.

.

in Drive UDT1out ... ...stat Control. FB1 in Motor UDT1

out ... ...

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.7

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

STEP 7中的复杂数据类型

长度(位)

DATE_AND_TIME(日期和时间)

STRING(字符串, 多254个字符)

ARRAY(相同数据类型一组元素的集合)

STRUCT(结构,不同数据类型一组元素的集合)

UDT(用户自定义类型 =由基本数据类型和/或复杂数据类型组成的“模板” )

64

8 * (字符数 +2)

用户自己定义

用户自己定义

用户自己定义

关键字 示例

DT#99-06-14-12:14:55.0

´This is a string´´SIEMENS´

Meas_vals: ARRAY[1..20]INT

Motor: STRUCTSpeed: INTCurrent: REALEND_STRUCT

UDT 作为块

UDT 作为数组元素

STRUCT Drive: ARRAY[1..4]Speed: INT UDT1Current: REALEND_STRUCT

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.8

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

STEP 7参数类型

长度(位)

TIMER

COUNTER

BLOCK_FBBLOCK_FCBLOCK_DBBLOCK_SDB

Pointer

ANY

16

16

16

48

80

关键字 示例

Contact time: TIMER.SI #Contact_time

NoCompParts: COUNTER.LC #No_Comp_Parts

Recall: BLOCK_FB.UC #Recall

Measure: POINTER.L P##Measure.

Measured Values: ANY.L P##Meas_Values.

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.9

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

变量建立的区域

数据块

DBx

DBy

DBz

. . .

位(Bit)存储器

PIQ

PII

I/O 区域(P)

本地数据

堆栈

“传统“ PLC区域

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.10

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

本地数据堆栈工作方式

为组织块OB1分配L Stack

如:256个字节

5

OB1 FB1 FC5

FC10

.

.CALL FB1

.

.

1 2

34

5..

CALL FC10..

.

.CALL FC5

.

.

6

LD for OB1 LD for OB1

1

LD for FB1

LD for OB1

2

LD for FB1

LD for FC5

循环开始

LD for OB1

3

LD for FB1

LD for OB1

4

LD for OB1

5

LD for FC10free

freefree

freefree

free

LD for OB1

6

free

LD= 本地数据

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.11

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

示例:暂存器的替换

LAD中的分支

来自本地数据堆栈的

帮助变量

STL表示

分支位置

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.12

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

数据块(DB)

功能FC10

功能FC20

功能块FB1

OB1全局数据块

DB20

可以被所有块访问

背景数据DB5

FB1的背景DB

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.13

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

数据类型:ARRAY

ARRAY(域):

数组是相同数据类型

元素的组合

数组的声明:• 一维数组:域名:ARRAY[ 小索引.. 大索引] OF 数据类型;

• 多维数组:

域名: ARRAY[ 小索引1.. 大索引1, 小索引2.. 大索引2,...] OF数据类型;索引:数据类型INT(-32768...32767)

示例:

数组变量的声明:• 一维:Meas_value: ARRAY[1..10] OF REAL;• 多维:Position: ARRAY[1..5,2..8,...] OF INT;

数组变量的访问:• L #Meas_value[5] // 装载数组的第5个元素

// 将Meas_value装载到ACCU1中去• T #Result[10,5]

Meas_value[1]: RealMeas_value[2]: RealMeas_value[3]: Real

Meas_value[10]: Real

Meas_value: ARRAY[1..10]

.

.

.

.

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.14

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

ARRAY的声明和初始化

DB5 "Declaration view"

DB5 "Data view"

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.15

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

存储器中ARRAY变量的存储

Byte n1)

BYTE, CHAR数据类型

一维数组

多维数组

BOOL数据类型

8 7 6 5 4 3 2 17 6 5 4 3 2 1 0

12 11 10 9Byte n+1

Byte n1)

Byte n+1

Byte n+2

Byte 1

Byte 2

Byte 3

WORD, DWORD,...数据类型

Byte n1)

Byte n+1

Byte n+2 Byte 3

...

Word 2Byte n+2

...

示例

ARRAY[1..2,1..3,1..2] OF BYTE

Byte n1)

Byte n+1

Byte n+2

Byte 1.1.1

Byte 1.1.2

Byte 1.2.1... Byte 1.2.2

Byte 1.3.1

Byte 1.3.2

Byte 2.1.1

Byte 2.1.2

Byte 2.2.1

Byte 2.2.2

Byte 2.3.1

Byte 2.3.2

1) n = 偶数

Word 1

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.16

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

STRUCT(结构):

结构是不同数据类型

元素的组合

结构的声明:结构名称: STRUCT 元素1名称: 数据类型; 元素2名称: 数据类型; ...

END_STRUCT

示例:

结构变量的声明:

访问结构变量:

• MotorControl : STRUCT S #MotorControl.ON ON : BOOL; L #MotorControl.ActualSpeed OFF : BOOL; T #MotorControl.SetSpeed SetSpeed : INT; ... ActualSpeed : INT;

END_STRUCT;

数据类型:STRUCT

Set_Speed: REAL

Actual_Speed: REAL

Enable: BOOL

Disturbance: BOOL

Motor: STRUCT

END_STRUCT

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.17

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

结构(STRUCT)的声明

示例: 数组 – 结构 – 数组的声明

DB6 "Declaration view"

DB6 "Data view"

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.18

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

存储器中STRUCT变量的存储

Byte n1)

基本数据类型结构

复杂数据类型结构

6 5 4 3 2 17 6 5 4 3 2 1 0

Byte n+1

Byte n+2 Byte 1

Byte 2

Byte 3

Byte n+8

Byte n+9

Byte 3

Word 1

Word 2

...1) n = even

Filler byte

Filler byte

Byte n+3

Byte n+4

Byte n+5

6 5 4 3 2 1Filler byte

Byte n+6

Byte n+7

...

基本数据类型

元素

Word limit

ARRAY类型

元素

STRUCT类型

元素

Word limit

...

Word limit

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.19

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

用户自定义数据类型:UDTUDT用户自定义数据类型:

在声明部分创建了

一个数据模板

供以后使用

对程序文件夹的所有

块来说,是全局有效的

示例:

新数据类型(结构)的定义:

UDT1 STRUCT SetSpeed : REAL; ... ActualSpeed : REAL; Enable : BOOL; Disturbance : BOOL;

END_STRUCT;

变量的声明:

Motor_1: UDT1; Motor_2: UDT1;

对变量的访问:

L #Motor_1.ActualSpeed

Set_Speed: REAL

Actual_Speed: REAL

Enable: BOOL

Disturbance: BOOL

UDT1: STRUCT

END_STRUCT

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.20

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

UDT的使用UDT5

FC23

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.21

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

数据类型: DATE_AND_TIME

Byte n1)

Byte n+2

Byte n+4

Byte n+1

Byte n+3

Byte n+5

(90 ... 89)

结构:

月(01 ... 12)

日(01 ... 31)

小时(00 ... 23)

分钟(00 ... 59)

秒(00 ... 59)

Byte n+6 Byte n+7毫秒

(000 ... 999)星期

(1..7)

所有数值都以BCD码格式存储

变量的预先设置:

DT#年-月-日-小时:分钟:秒.[毫秒]示例:DT#1998-03-21-17:23:00:00

通过IEC-Library功能处理

1=星期日2=星期一3=星期二4=星期三5=星期四6=星期五7=星期六

1) n = 偶数

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.22

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

处理DT型变量的功能

标准库V3.x里的 IEC库

FC1 (AD_DT_TM):功能FC 1将一个时间段(TIME格式)加到一个时刻时间(DT格式)上

去,并返回新的时刻时间。

FC34 (SB_DT_DT):功能FC 34将两个时刻时间(DT格式)相减,返回一个时间段(TIME 格式) 。

FC35 (SB_DT_TM) :功能FC 35从一个时刻时间(DT格式)上减去一个时间段(TIME格式

) ,并返回新的时刻时间(DT格式) 。

FC3 (D_TOD_DT) :功能FC 3将DATE和TIME_OF_DAY (TOD)日期格式组合起来,并将

它们转换成DATE_AND_TIME(DT)这种日期格式。

FC6 (DT_DATE) :功能FC 6是从DATE_AND_TIME格式中提取日期。

FC7 (DT_DAY) :功能FC 7是从DATE_AND_TIME格式中提取星期。.

FC8 (DT_TOD) :功能FC 8是从DATE_AND_TIME格式中提取TIME_OF_DAY。

DT#变量比较函数:

FC9 (EQ_DT),FC12 (GE_DT),

FC14 (GT_DT),FC18 (LE_DT),FC23 (LT_DT),FC28 (NE_DT)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.23

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

数据类型: STRINGSTRING (字符串)型变量:

数据类型STRING表示了一个 多有254字符的字符串

应用:处理消息文本

声明方法:

字符串名称: STRING[ 大数目]: ‘I初始化的文本’ (这样声明的字符串变量 多可有maxNo个字符,maxNo: 0... 254)

字符串名称: STRING: '初始化的文本' (这样声明的字符串变量 多可有254个字符)

示例:

变量的声明:

Fault signal : STRING ‘Motor failure_4’ (变量Fault signal,并初始化为上面的文本内容)

Warning : STRING[50] ‘ ’ (“empty” 变量Warning, 多可以接受50个字符)

处理:

基本访问方式:

L #Fault signal[5] (装在变量Fault signal中的第5个字符)

通过IEC库里的FC进行处理

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.24

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

存储器中字符串(STRING) 变量的存储

Byte n1)

示例:

声明并初始化

Given name: STRING[8]: 'OTTO'

存储STRING变量“Given name“

Byte n+1

Byte n+2

大长度= 8

当前长度= 4

1st. char= 'O'

Byte n+8

...

1) n = 偶数

2nd. char= 'T'Byte n+3

Byte n+4

Byte n+5

Byte n+6

Byte n+7

3rd. char= 'T'

4th. char= 'O'

指定可存储字符的 大数目,即在声明中所指定的长度

指定存储在STRING变量里的当前字符个数

B#16#00

B#16#00

B#16#00

Byte n+9 B#16#00

由IEC库功能评估的有关可存储字符的 大数目 或当前长

度的信息。.

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.25

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

处理STRING型变量的功能 (挑选部分)

标准库里的 IEC库

FC2 (CONCAT):功能FC2是将两个STRING变量组合成一个字符串。

FC4 (DELETE) :功能FC 4是在一个字符串中删除L个字符,直到字符P位置为止

FC11 (FINF) :功能FC 11提供第一个字符串里的第二个字符串的位置。

FC17 (INSERT) :功能FC 17是将参数IN2处的字符串插入到参数IN1处的字符串

的字符Pth之后。

FC20 (LEFT) :功能FC 20提供一个字符串的第一个L个字符。

FC21 (LEN) :功能FC 21输出字符串当前长度(有效字符数) 。

FC26 (MID) :功能FC 26提供字符串的中间部分。

FC31 (REPLACE) :功能FC 31是用第二个字符串(IN2)替换第一个字符串(

IN1)的L个字符直到P字符位置为止(包括P字符)。

FC32 (RIGHT) :功能FC 32提供一个字符串的 后L个字符。

STRING变量比较的相关功能: FC10 (EQ_STRING),FC13 (GE_STRING)

,FC15 (GT_STRING),FC19 (LE_STRING),FC24 (LT_STRING),

FC29 (NE_STRING)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.26

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

示例5.1:复杂数据类型的使用

. . .

UDT99 "Motor"

DB51 "Conv_area_Motors"

Hall_1

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.27

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

示例5.2:复杂数据类型的访问

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_05E.28

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

附加练习5.3: 使用SFC 1(READ_CLK)读取实时时钟

参数 参 数 声明 数据类型 存储区域 描述 CDT OUTPUT DATE_AND_TIME (DT) D, L 输出当前日期的当前日时 RET_VAL OUTPUT INT I, Q, M, D, L SFC 的返回值

SFC1EN

RET_VAL

ENO

??.?

CDT ??.?

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.1

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

块调用与多重背景模型

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.2

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

用于结构化编程的块

整个任务的

模块化:

单个任务在各自块中

予以解决

参数分配法使得

使用更加灵活

• 示例:钻孔循环程序的钻孔深

度为可分配参数

块的可再利用性能:

块可以按需要随时

加以调用

限制因素:

• 不允许访问

全局地址空间

• 只能通过参数列表

进行通信

OB 1

电机1电机1

FB1

FB2

控制器

控制器

FB10

FC 5限制

复制

SFC

. . .

.

.

CALL FB1, DB2Start :=I 0.0Stop :=I 0.1Motor_on :=Q12.0Speed :=QW14

.

.

FB 1地址

声明

名称

类型0.0 in Start BOOL0.1 in Stop BOOL2.0 out Motor_on BOOL4.0 out Speed INT6.0 stat Speed_old INT0.0 temp Calc_1 INT

.

.

.A #StartAN #Stop = #Motor_on.

DB 2OB 1

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.3

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

STEP 7 块概述

属性

组织块(OB)- 用户程序接口- 优先级(0到27)- 在局部数据堆栈中指定开始信息

块的类型

功能块(FB)- 参数可分配(可以在调用时分配参数)- 具有(收回)存储空间(静态变量)

功能(FC)- 参数可分配(必须在调用时分配参数)- 基本上没有存储空间(只有临时变量)

数据块(DB)- 结构化的局部数据存储(背景数据块DB)- 结构化的全局数据存储(在整个程序中有效)

系统功能块(SFB) - FB(具有存储空间),存储在CPU的操作系统中并可由用户调用

系统功能(SFC) - FB(无存储空间),存储在CPU的操作系统中并可由用户调用

系统数据块(SDB) - 用于配置数据和参数的数据块

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.4

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

功能及功能块中的参数声明

"Motor"EN ENO

Start

地址

声明

名称

类型

初始化值

...0.0 输入

Start BOOL FALSE0.1 输入

Stop BOOL TRUE2.0 输入

Speed INT 02.0 输出

Motor_on BOOL FALSE8.0 输出

Setpoint INT 010.0 输入/输出

EMER_OFF BOOL FALSE... 静态

... ... ...... 临时

.. ... ...

Setpoint

EMER_OFF

Motor_onStop输入

参数

输入/输出

参数

输出

参数

参数是信息传递的通道

输入参数:

Caller -> Block

输出参数:

Block -> Caller

输入/输出参数:

Caller <-> Block

参数形成了块的一个“shell”:

参数位于代码段

与“局部”变量类似

参数可以为任何数据类型

在调用期间进行数据类型检查

例外情况:POINTER,ANY

调用接口与编程语言无关

PLC编程语言可以混合使用

Speed

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.5

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

功能的属性

参数可分配的块:

具有足够多的输入,输出,输入/输

出参数

无存储区,也即只有临时变量

IEC 61131-3标准一致性要求:

足够多的输入参数

仅有一个输出参数RET_VAL

不允许访问全局变量和绝对地址

使用同一输入参数提供相同的结果

扩展了处理器的指令集

程序执行

CALL FC 10On_1 := I 0.1 On_2 := I 0.2 Off := Q8.0

功能FC10

输入

On_1 BOOL 输入

On_2 BOOL 输出

Off BOOL...

...A #On_1A #On_2= #Off ...

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.6

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

基本数据类型传送机理

OB1 功能FC10

程序执行

CALL FC10On_1 := I 0.1 On_2 := I 0.2 Off := Q8.0

输入

On_1 BOOL 输入

On_2 BOOL 输出

Off BOOL...

...A #On_1A #On_2= #Off ...

OB1

BLD 1 = L 20.0 UC FC 10

P#I 0.1 P#I 0.2 P#Q 8.0

BLD 2

1 0 0 1 0 0 1 0...

IB0

基本类型实际参数位于于:

位存储地址区域

过程映像

调用的局部堆栈

块参数 实际参数 形式参数

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.7

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

复杂数据类型的功能调用

示例:向功能传递一个ARRAY

DB5 "Temperature"

FC21

只能通过符号来进行参数的赋值

Network(段)

1: 在功能FC21里,声明一个数组Mes_Val

CALL FC 21Mes_Val:="Temperature".sequence

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.8

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

调用(主调)功能的特点

CALL指令

指令为宏指令

寄存器内容可能会被覆盖掉,甚至是DB寄存器

请注意B堆栈中内容的解释

调用之后,可能会打开另一个DB

CALL指令的处理时间取决于实际参数的数目和存储单元位置

CALL指令确保了块参数被正确地赋予当前数据

示例:

CALL FC10 On_1 := I 0.1 On_2 := I 0.2 Off := Q8.0

调用指令UC和CC

不依赖于RLO的块调用(UC)或取决于RLO的块调用

示例:UC FC20或CC FC20

当FC没有参数的时候,才可使用这些指令

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.9

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

FB 5

输入

Start BOOL 输入

Stop BOOL 输出

Motor_on BOOL输出

Speed INT静态

...临时...

...A #StartAN #Stop= #Motor_on ...

功能块的属性

属于可分配参数的块:

IEC 61131-3标准一致性块

有足够满足需要的输入,输出,输入

/输出参数

有存储区域,即不仅有临时变量而且

还有静态变量

使用本身数据区域进行调用

(创建背景)

“数据封装”

应用:

定时器和计数器功能

使用内部状态控制过程设备

锅炉

电机,阀,等等。

CALL FB5, DB16Start :=I 0.0 Stop :=I 0.1Motor_on :=Q8.0Speed :=QW12

0.0 Start BOOL 0.1 Stop BOOL 2.0 Motor_on BOOL4.0 Speed INT

DB 16电机

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.10

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

构建功能块实例

Drive_1

FBx

+

DBy

Drive_1 状

态数据

控制算法

OB, FB或FC

CALL FBx, DBy......

使用背景DB的FB 调用

CALL #Motor_1.CALL #Motor_2

DBx

...stat Motor_1 FBxstat Motor_2 FBx

Drive_2 状

态数据

Drive_3 状态

数据

FBx

FB实例

控制算法

FB

Drive_2

Drive_3

FB内的声明 (多

重背景)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.11

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

在一个FB调用过程中的参数传递

OB1 FB10

程序执行

CALL FB10, DB16Start :=I 0.4 Stop :=I 0.0 Motor_on :=Q8.1 Speed: =QW12

0.0 in Start BOOL 0.1 in Stop BOOL 2.0 out Motor_on BOOL4.0 out Speed INT...

...A #StartAN #Stop= #Motor_on ...

BLD 3= L 24.0TDB OPN DI 16TAR2 LD 20A I 0.4= DIX 0.0A I 0.0= DIX 0.1LAR2 P#DBX 0.0UC FB 10LAR2 LD 20A DIX 2.0= Q 8.1L DIW 4T QW 12TDB BLD 4

1 0 0 1 0 0 1 0...

IB0 1 0 0 1 0 0 1 0

QB8

DB16.. .. .. .. .. .. 0 1.. .. .. .. .. .. .. .... .. .. .. .. .. .. 1

1

2

3

. . .

块参数 实际参数 形式参数

. . .

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.12

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

使用复杂数据类型的FB调用过程

示例:将一个ARRAY传送到一个功能块

FB17

只允许用符号对复杂参数进行相关分配

Network 1:

CALL FB 17, DB 2Meas_1 :="Temperature".Cylinder Sum_1 :=MD20Sum_2 :=MD30Meas_2 :="Temperature".Shaft

DB2 "Temperature"

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.13

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

功能块调用的特性“按值” 传递参数(复制数值):

CALL过程中FB参数的赋值:

无需为某些FB参数赋值

可以从“外部” 进行赋值和取消赋值

例如:直接通过操作面板进行

例外:复杂数据类型的输入/输出参数(STRUCT,ARRAY,STRING以及

DATE_AND_TIME)

初始化:

FB参数可以在声明部分进行初始化

例外:复杂数据类型的输入/输出参数(STRUCT,ARRAY,STRING以及

DATE_AND_TIME)

使用DI和AR2寄存器在内部访问形式参数

如果DI或者AR2寄存器被覆盖,将不再允许访问背景数据。

附加调用指令UC和CC

示例:UC FB20或者CC FB20

只有当FB没有背景数据时才能使用(参数+静态变量)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.14

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

主罐

瓶子传感器I 16.6

瓶子传感器I 16.5

瓶子传感器I 16.7

Q 9.0 漏斗

练习6:罐装生产线中的传送带模型

Q 20.5 传送带正转Q 20.6 传送带反转

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.15

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

练习6.1a: 罐装生产线 – 工作模式选择

生产线 ON/OFFI 0.0: Start (NO, 瞬动开关)I 0.1: Stop (NC)Q8.1: Plant_on手动/自动方式

I 0.4: 自动/手动I 0.5: 确定模式Q8.2: 选定手动方式A8.3: 选定自动方式

FB15: “模式选择"

ENStart Plant_onStop OM_ManAuto_Man OM_AutoOM_activate ENO

DB15

. . . I 0.0I 0.1I 0.4I 0.5

Q8.1Q8.2Q8.3

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.16

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

练习6.1b:罐装生产线 – 传送带

手动方式

I 0.5: 正向点动I 0.6: 反向点动Q20.5: 传送带正向运转Q20.6: 传送带反向运转

自动方式

I 16.6: 传感器:罐装位置I 16.7: 传感器:计算瓶数Q9.0: 罐装启动QW12:: 满瓶显示

FB16: “传送带控制"

ENOM_ManOM_Auto Conv_forJog_for Conv_backJog_back Filling_activeSensor_fill Full_bottlesSensor_full ENO

Q20.5Q20.6Q9.0QW12

DB16

. . . Q8.2Q8.3I 0.2I 0.3

I 16.6I 16.7

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.17

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

多重背景模型的结构

FB10

钻床数据

FB10的背景DB

CALL Drill.CALL Motor_1.CALL Motor_2

DB10

...stat Drill FB1stat Motor_1 FB2stat Motor_2 FB2

Motor_1的

数据

Motor_2的

数据

FB1

FB2

钻孔算法

马达控制

例如 OB1

.CALL FB10,DB10.

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.18

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

使用多重背景模型实现面向对象的编程

Press_2Press_1

传送

示例:冲压生产线

技术划分通过FB背景,对程序进行

技术划分

FB: "Press line"

FB: #Transport

FB: #Press_1

冲压头

防护装置

FB: #Punch

FB: #Guard

FB: #Press_2

FB: #Punch

FB: #Guard

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.19

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

用STEP 7来实现一个“冲压生产线”

FB10:"Press line"

FB10的背景DB

CALL #Press_1.CALL #Press_2.CALL #Transport

DB10

...stat Press_1 FB1stat Press_2 FB1stat Transport FB2...

FB1:"Press"...stat Punch FB4stat Guard FB5...

CALL #Punch.CALL #Guard

...stat Punch FB4stat Guard FB5...

CALL #Punch.CALL #Guard

...

...

FB2: "Transport"

FB4:"Punch"

FB5:"Guard"

CALL FB10, DB10

OB1

FB1: "Press"

FB4:"Punch"

FB5:"Guard"

Press_1的数据

传送带的数据

Press_1. Guard

Press_2. Punch

Press_2. Guard

Press_2的数据

FB10的数据

Press_1. Punch

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.20

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

多重背景模型的属性

多重背景模型的优点:

多个实例只需要 一个 DB

在为各个实例创建“private” 数据区时,无需任何额外的管理工作

多重背景模型使得“面向对象的编程风格”成为可能(通过“集合”的方式实现

可重用性)

最大嵌套深度为8级

FB的必备条件:

在FB内不允许直接访问过程信号(I,Q)

只有使用FB参数访问过程信号,或者与其它过程单元进行通讯

FB只能使用静态变量来记忆其过程状态,而不使用全局DB或者位存储器。

注意事项:

背景数据还可以从“外部”进行访问

例如在OB1中: L "Press line".Press_2.Punch.<VarName>

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.21

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

练习 6.2:生产线中的传送带模型

"H4" LED

接近开关

"INI1", "INI2", "INI3"

光栅

"LB1"

“S4” 确认开关

工位的处理顺序

工件的处理

成形处理

向传送带上放置工件

等待原材料工件

从传送带中取原材料工件

传送带的处理顺序

等待成型的工件

传送到总装线

总装,插入原材料工件

传送到工作站

“S1”, “S2”, “S3” 确认开关

"H1", "H2", "H3" LED

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.22

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

练习 6.2a:一个工作站的程序结构

程序的技术划分

传送带

工作站1 工作站2 工作站3

OB1

CALL FB1, DB1... ...

CALL FB2, DB2

FB1: "Station"

Initial LEDProxy_switch Transp_reqAcknowledge Clock_bit_qClock_bit_sConv_busy

DB1

M10.1"S1"

"INI1"I 0.0 "H1"

DB2FB2: "Transport"

Initial LEDL_Barrier Conv_rightAcknowledge Conv_leftTransp_reqClock_bit

"H4"

"K1_CONVR"

"K2_CONVL"

I 0.0"LB1"

"S4"

M10.1

M10.3

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.23

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

FB1 “Station” 的工作原理

FB1: "Station"

Take_piece_ from_conv:

LED 快速闪烁

Piece_finished:LED 慢速闪烁

Process_ pieceLED

连续点亮

IN 参数: 数据类型:Initial BOOLProxy_switch BOOLAcknowledge BOOLClock_bit_q BOOLClock_bit_s BOOLOUT 参数:LED BOOLTransp_req BOOLI/O 参数:Conv_busy BOOL静态变量:State STRUCT

Process_piece BOOL Piece_finished BOOLPlace_part_on_conv BOOLWait_for_piece BOOLTake_piece_from_conv BOOL END_STRUCT

状态模型:

A Acknowledge

AN Proxy_switch A Transp_req

FB1中的声明:

Wait_ for_piece:

LED 熄灭

Place_part_ on_conv:

LED快速闪烁

AN Conv_busy

A Proxy_switch

AN Proxy_switch

A InitialFP ...

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.24

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

FB2 “Transport”的工作原理

Conv_ left

LED 闪烁

Conv_ right

LED 闪烁

A #Transp_req

WaitingLED 熄灭

AN #Tansp_req

AN #LBarrier

AssemblyLED连续点亮

A #Acknowledge

状态模型:

FB2的接口:

IN 参数: 数据类型:Initial BOOLL_Barrier BOOLAcknowledge BOOLTransp_req BOOLClock_bit BOOLOUT 参数:LED BOOLConv_right BOOL Conv_left BOOL静态变量:State STRUCT

Waiting BOOL Conv_right BOOL Assembly BOOL Conv_left BOOL END_STRUCT

FB2: "Transport" A InitialFP ...

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.25

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

练习6.2b:扩展到3个站

FB10

Station_1 的数据

FB10的背景数据块

CALL Station_1CALL Station_2CALL Station_3

CALL Transport

DB10

...stat Station_1 FB1stat Station_2 FB1stat Station_3 FB1stat Transport FB2

Transport 的数据

FB1

FB2

OB1

.CALL FB10,DB10.

Station_2 的数据

Station_3 的数据

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

Date: 2011/9/7File: PRO2_06E.26

SIMATIC S7Siemens AG 2001. All rights reserved.

SITRAIN Training forAutomation and Drives

块参数之间的联锁

#Station_1Initial LEDProxy_switch Transp_reqAcknowledgeClock_bit_qClock_bit_sConv_busy

"LB1"

#Transport

Initial LEDL_Barrier Conv_rightAcknowledge Conv_leftTransp_reqClock_bit

"H4"

"K1_CONVR"

"K2_CONVL"

I 0.0

"S4"

M10.1

M10.1"S1"

"INI1"I 0.0 "H1"

#Station_2 "H2"

#Station_3"H3"

FB10: "Assembly_line"

DB10: "Assembly_line_DB"

M10.3

#Station_2Initial LEDProxy_switch Transp_reqAcknowledgeClock_bit_qClock_bit_sConv_busy

M10.1"S2"

"INI2"I 0.0

M10.3

#Station_3Initial LEDProxy_switch Transp_reqAcknowledgeClock_bit_qClock_bit_s Conv_busy

M10.1"S3"

"INI3"I 0.0

M10.3

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_07E.2

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

库的趣味事实目的:

保存可重用程序块

直接传给CPU或测试是不可能的

库的组态:

一个库可以包含多个文件夹

库不可以包含任何“硬件”

每个程序文件夹包含:

文件夹“Blocks”、“Sources”、“Symbols”

文件夹“Charts”(仅限于可选软件:S7-CFC)

使用库:

使用 SIMATIC Manager 时:

可以建立库(但是库名称与项目名称不能相同)

块可以在库和项目之间进行复制

可以将库归档

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_07E.3

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

标准库的组态和内容

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_07E.4

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

系统功能块的趣味事实

系统功能块(SFC和SFB)保存在 CPU 的操作系统中

S7-300/400 系统软件参考手册系统功能块和标准功能块

在 STEP 7 软件中可使用扩展在线帮助

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_07E.5

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

系统功能一览(第1部分)

1)不适用于 CPU 312IFM 2) 仅适用于改进型 CPU

功能

复制和块函数

程序控制

处理时钟

运行时数计时器

块移动预先设置域生成 DB删除 DB测试 DB压缩Accu 1 中的替代值

功能块组

多处理器中断触发扫描周期停止状态延时(等待)

设定时钟时间读时钟时间同步

设定计数器开始和停止读出读系统时间

功能块

SFC 20SFC 21SFC 22SFC 23SFC 24SFC 25SFC 44

SFC 35SFC 43SFC 46SFC 47

SFC 0SFC 1SFC 48

SFC 2SFC 3SFC 4SFC 64

S7-300

XXX-X-

X1)

-XX

X1)

XX-

X1)

X1)

X1)

X

S7-400

XXXXXXX

X2)

XXX

XXX

XXXX

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_07E.6

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

系统功能块一览(第2部分)

1)不适用于CPU 312IFM

功能

传送数据记录

时间中断

延时中断

中断错误和异步错误

写动态参数写入已定义参数为模块分配参数写数据记录读数据记录

功能块组

置位取消激活扫描

开始取消扫描

取消新的中断使能新的中断将新的中断延时使能高优先级的中断

功能块

SFC 55SFC 56SFC 57SFC 58SFC 59

SFC 28SFC 29SFC 30SFC 31

SFC 32SFC 33SFC 34

SFC 39SFC 40SFC 41SFC 42

S7-300

XXXXX

X1)

X1)

X1)

X1)

X1)

X1)

X1)

XXXX

S7-400

XXXXX

XXXX

XXX

XXXX

同步错误屏蔽错误解除错误屏蔽读状态寄存器

SFC 36SFC 37SFC 38

XXX

XXX

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_07E.7

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

系统功能块一览(第3部分)

1)只适用于具有 DP 接口的 CPU, 如 CPU 315-2 DP

功能

分布式 I/O

过程映像I/O 域

系统诊断

触发硬件中断同步DP 从站读诊断中断读用户数据写用户数据

功能块组

更新 PII 输入更新 PIQ 输出在 I/O 中设置位区域在 I/O 中复位位区域

读开始信息读部分系统状态表写诊断缓冲区

功能块

SFC 7SFC 11SFC 13SFC 14SFC 15

SFC 26SFC 27SFC 79SFC 80

SFC 6SFC 51SFC 52

S7-300

1)1)1)1)1)

----

-XX

S7-400

1)1)1)1)

XXXX

XXX

模快寻址确定逻辑地址确定插槽确定所有逻辑地址

SFC 5SFC 49SFC 50

-XX

XXX

全局数据通信发送 GD 包接收 GD 包

SFC 60SFC 61

--

XX

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_07E.8

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

系统功能块一览(第4部分)

1)只适用于改进型 CPU

功能

数据交换使用 SFC,未组态的连接

数据交换使用 SFB,已组态的连接

功能块组

对外发送数据对外接收数据对外读数据对外写数据对外取消连接对内读数据对内写数据对内取消连接

功能块

SFC 65SFC 66SFC 67SFC 68SFC 69SFC 72SFC 73SFC 74

SFC 62SFB 8SFB 9SFB 12SFB 13SFB 14SFB 15SFB 16SFB 19SFB 20SFB 21SFB 22SFB 23

S7-300

1)1)1)1)1)1)1)1)

------------

S7-400

1)1)1)1)1)1)1)1)

XXXXXXXXXXXXX

查询状态非协调发送非协调接受发送块接收块从远程 CPU 接收数据向远程 CPU 写入数据发送到打印机执行完全重启动停止状态执行重启动查询设备状态接收设备状态

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_07E.9

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

系统功能块一览(第5部分)

1)只适用于 CPU 614 2)只适用于 CPU 312 IFM 3)只适用于 CPU 314IFM

功能

IEC 定时器和 IEC计数器

集成功能

集成闭环控制

脉冲On 延时Off 延时加计数减计数加/减计数

功能块组

高速计数器频率计数A/B 计数器定位功能

连续控制步骤控制脉冲修整

功能块

SFB 3SFB 4SFB 5SFB 0SFB 1SFB 2

SFB 29SFB 30SFB 38SFB 39

SFB 41SFB 42SFB 43

S7-300

XXXXXX

2)2)3)3)

3)3)3)

S7-400

XXXXXX

----

---

块参考信息

无应答报文有应答报文具有 8 个统配符的报文没有统配符的报文发送存档数据禁止存档数据激活报文

SFB 36SFB 33SFB 35SFB 34SFB 37SFC 10SFC 9

-------

XXXXXXX

整合技术 调用汇编块 SFC 63 1) -

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_07E.10

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

调用系统功能和系统功能块

以 STL 调用 以 LAD 调用

CALL SFC 20SRCBLK := RET_VAL:=DSTBLK :=

SFC20EN ENO

SRCBLK??.? RET_VAL ??.?

DSTBLK ??.?

系统功能

系统功能块

CALL SFB 3,DB5IN:= PT:=Q :=ET:=

SFB3EN ENO

IN... Q ...

ET ...

DB5

PT...

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_07E.11

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

分析错误报文

处理中发生故障时,通过扫描 BR 位(Binary Result)返回 RLO=0 ; 无故障时返回RLO=1。

在STL中的扫描BR时,使用A BR

在LAD/FBD 中扫描时,使用输出参数 ENO

大部分系统函数在输出参数RET_VAL(INT)中返回一个如下的错误代

码:

RET_VAL=W#16#8 X Y Z

例:

W#16#8081 是一个 SFC 指定错误码

W#16#823A 是一个通用错误码;该错误由第2个参数导致。

“8” 表示: 发生的错误

X>0: 常规错误 X= 错误参数编号

X=0: 发生 SFC 特定错误

错误类型,错误的特定编号(SFC 特有)或者事件编号(通用)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_07E.12

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

练习 7.1: 生成一个具有“UNLINKED”属性的 DB

装载存储器

DB 20传输

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_07E.13

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

练习 7.2: 测试数据块(SFC 24: 仅 S7 400)

SFC24EN ENO

DB_NUMBER RET_VAL ??.?

DB_LENGTH ??.?

WRITE_PROT ??.?

??.?

参数

声明

数据类型

存贮区域

含义

DB_NUMBER INPUT WORD I, Q, M, D, L, Const. 被检查的 DB 的号码

RET_VAL OUTPUT INT I, Q, M, D, L 错误信息

DB_LENGTH OUTPUT WORD I, Q, M, D, L DB 块含有字节个数

WRITE_PROT OUTPUT BOOL I, Q, M, D, L DB 的写保护 的信息

(1 的含义是写保护)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_07E.14

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

练习 7.3: 生成一个 DB(SFC 22)

SFC22EN ENO

LOW_LIMIT RET_VAL ??.?

DB_NUMBER ??.?

??.?

参数

声明

数据类型

存贮区域

含义

LOW_LIMIT INPUT WORD I, Q, M, D, L, Const. 小的 DB号码

UP_LIMIT INPUT WORD I, Q, M, D, L, Const. 大的 DB 号码

COUNT INPUT WORD I, Q, M, D, L, Const. 字节个数,此处必须

指定一个奇数

RET_VAL OUTPUT INT I, Q, M, D, L 返回 SFC 的值

DB_NUMBER OUTPUT WORD I, Q, M, D, L 创建的 DB 的号码,介于 LOW_LIMIT 和UP_LIMIT之间

UP_LIMIT??.?

COUNT??.?

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_07E.15

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

练习 7.4: 从装载存储器将一个 DB 复制到工作存储器(SFC 20)

SFC20EN ENO

SRC_BLK RET_VAL ??.?

DST_BLK ??.?

??.?

参数

声明

数据类型

内存区域

含义

SRC_BLK INPUT ANY I, Q, M, D, L 将要被复制的装载存储器区域(= 源区域)

源区域也可以是出现在装载存储器

的一个非顺序数据块(DB,以关键字

UNLINKED 编译) 。

RET_VAL OUTPUT INT I, Q, M, D, L SFC 的返回值

DST_BLK OUTPUT ANY I, Q, M, D, L 存储器区域,复制行为将发生于此(目的

区域)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_07E.16

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

附加练习 7.5: 初始化一个 DB(SFC 21)

SFC21EN ENO

BVAL RET_VAL ??.?

BLK ??.?

??.?

参数

声明

数据类型

内存区域

含义

BVAL INPUT ANY I, Q, M, D, L 预设值

RET_VAL OUTPUT INT I, Q, M, D, L 返回 SFC 的值

BLK OUTPUT ANY I, Q, M, D, L 目的区域,初始化为 BVAL 中的内容

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_07E.17

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

附加练习 7.6: 在诊断缓冲区写报文 (SFC 52)

SFC52EN ENO

SEND RET_VAL ??.?

参数

声明

数据类型

存储区

描述

SEND INPUT BOOL I, Q, M, D, L, Const. 向所连接的节点写报文

EVENTN INPUT WORD I, Q, M, D, L, Const. 事件的号码(Event ID)INFO1 INPUT ANY I, Q, M, D, L 附加信息1, 一个字长

INFO2 INPUT ANY I, Q, M, D, L 附加信息2 ,两个字长2RET_VAL OUTPUT INT I, Q, M, D, L 返回值

EVENTN??.?

INFO1??.?

INFO2??.?

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_07E.18

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

附加练习 7.7: 具有“触点弹跳” 功能的计数功能块

FB76

DB76

EN ENO

CU

R

I0.0

I0.1

PV

Q Q8.0

CV QW12

10

PTT#2S

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_07E.19

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

库: S5-S7 转换块

JU FB 240COD:B4BCD: MW 114SBCD: M 0.0DUAL: MW 116

S5 程序

CALL FC81BCD: MW114SBCD: M0.0DUAL: MW 116

S7 程序

S5/S7 转换

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_07E.20

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

功能块

符号

含义

FC 80 TONR 作为保持接通延时的启动时间FC 81 IBLKMOV 间接传送数据区域FC 82 RSET 将位存储区或者 I/O 区复位FC 83 SET 将位存储区或者 I/O 区置位FC 84 ATT 在表中输入数据FC 85 FIFO 输出表中第一个数据FC 86 TBL_FIND 在表中搜索数据FC 87 LIFO 输出表中 后一个数值FC 88 TBL 执行表格操作FC 89 TBL_WRD 从表中复制数据FC 90 WSR 将数据保存在移位寄存器中FC 91 WRD_TBL 将数值和表中的元素进行逻辑组合并保存FC 92 SHRB 将位移到移位寄存器FC 93 SEG 为数字显示生成位格式FC 94 ATH 将 ASCII 字符串转换成十六进制数FC 95 HTA 将一个十六进制数转换成 ASCII 字符串FC 96 ENCO 在字中设置指定的位FC 97 DECO 读 低有效位的位号FC 98 BCDCPL 产生 10 的补码FC 99 BITSUM 计算设置位的数目

库: TI-S7 转换块(第1部分)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_07E.21

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

库:TI-S7 转换块(第 2 部分)

功能块

符号

含义

FC 100 RSETI 立即复位输出区域FC 101 SETI 立即置位输出区域FC 102 DEV 标准偏差FC 103 CDT 关联数据表FC 104 TBL_TBL 表格逻辑操作FC 105 SCALE 刻度值FC 106 UNSCALE 非刻度值FB 80 LEAD_LAG Lead/Lag 算法FB 81 DCAT 离散控制中断FB 82 MCAT 马达控制中断FB 83 IMC 索引矩阵比较FB 84 SMC 矩阵扫描器FB 85 DRUM DRUM (顺序处理器)FB 86 PACK 收集/分发 表格数据

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_07E.22

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

库:通信块

功能块

符号

功能

FC 1 DP_SEND 向 PROFIBUS-CP 发送数据

FC 2 DP_RECV 从 PROFIBUS-CP 接收数据

FC 3 DP_DIAG 加载一个站的诊断数据

FC 4 DP_CTRL 向CP发送控制任务

只适用于组态:

S7-300 CPU + CP 342-5

CP 342-5

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_07E.23

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

库:PID 控制块

功能块

符号

功能

FB 41 CONT_C 连续 PID 控制功能块

FB 42 CONT_S 二进制输出的 PI控制

FB 43 PULSEGEN 脉冲输出 PID 控制

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_08E.1

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

处理同步和异步错误

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_08E.2

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

处理异步错误

异步错误并未对应到程序的某个特定位置,例如,它们可同程序的处理过程

异步出现。

1)仅适用于S7-4002)非Stopw/o Error OB

举例错误类型

时间错误 超出最大扫描时间

电源错误 后备电源故障

诊断中断 可诊断模块的输入断线

删除/插入模块中断在运行模式下将一个 S7-400 信号模块移除

CPU 硬件错误 在MPI 接口出现故障信号电平

程序顺序错误更新过程映像出现错误(模块有故障)

机架错误 分布式机架上电源故障

通信错误 不正确的消息代码

错误 OB

OB 80

OB 81 2)

OB 82

OB 83 1)

OB 84 1)

OB 85

OB 86 1)

OB 87

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_08E.3

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

处理故障组织块

为了在发生错误时抑制 CPU STOP,传送一个空的故障组织块

您可以在Error OB中编写预期的响应,并根据需要在执行 Error OB之后使

用系统功能 SFC 46 请求系统处于 Stop 状态

在故障组织块的启动信息中存有一个附加错误标识符,可在程序中检验。

在线帮助或者系统和标准功能手册中详细介绍了故障组织块

将OB传送到一个不支持该OB的CPU时,将被该CPU拒绝并伴随一个错误

消息。

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_08E.4

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

异步错误 OB 举例

OB81:

Error OB: 电源故障

Network 1:

电池故障,到来的事件

L

#OB81_FLT_ID

// 加载错误标识符L

B#16#22

// 标识符: CR

中的电池故障==I=

M

81.1

// 设置存储器标志位L

#OB81_EV_CLASS

// 标识符: 到来,离去L

B#16#39

// 标识符: 到来事件==I=

M

81.2

// 存储器标志位到来事件A

M

81.1

// 电池故障和A

M

81.2

// 到来事件S

M

81.0

// 将存储器标志位设为错误显示

//

Network 2:

当电池恢复正常后,复位辅助存储器标志位

L

#OB81_EV_CLASS

// 标识符: 到来,离去L

B#16#38

// 标识符: 离去==IR

M

81.0

// 复位存储器标志位

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_08E.5

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

处理同步错误

同步错误直接定位到用户程序中的一个位置

算术指令中的错误(溢出、无效的实数数据)

设置状态位

处理 STL语句时的错误(同步错误)

调用同步错误 OB

举例错误类型

编程错误 调用 CPU 中不存在的块

访问错误直接访问一个有缺陷的或者不存在的模块

错误 OB

OB 121

OB 122

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_08E.6

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

编程错误 OB121 的启动信息

数据类型变量名

OB121_EV_CLASS BYTE

OB121_SW_FLT BYTE

解释,赋值

B#16#25=调用编程错误 OB121

错误代码(参见文本)

OB121_PRIORITY BYTE

OB121_OB_NUMBR BYTE

其中发生错误的优先级

OB 编号(B#16#79)

OB121_BLK_TYPE BYTE

OB121_RESERVED_1 BYTE

中断块的类型(仅适用S7-400 )OB: B#16#88, DB: B#16#8A, FB: B#16#8E, FC: B#16#8C

错误码的补充(参见文本)

OB121_FLT_REG WORD

OB121_BLK_NUM WORD

OB121:错误源

发生错误的块的号码

OB121_PRG_ADDR WORD

OB121_DATE_TIME DT

引发错误的块中的错误地址(仅适用 S7-400)

发生编程错误时的时间

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_08E.7

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

访问错误 OB122 的启动信息

数据类型变量名称

OB122_EV_CLASS BYTE

OB122_SW_FLT BYTE

解释,赋值

B#16#29=调用访问错误

错误代码(可能的取值:B#16#42、B#16#43、B#16#44、B#16#45)

OB122_PRIORITY BYTE

OB122_OB_NUMBR BYTE

其中发生错误的优先级

OB 编号(B#16#80)

OB122_BLK_TYPE BYTE

OB122_MEM_AREA BYTE

中断块的类型(仅适用于 S7-400)OB: B#16#88, DB: B#16#8A, FB: B#16#8E, FC: B#16#8C

错误码的补充(参见文本)

OB122_FLT_REG WORD

OB122_BLK_NUM WORD

OB122:发生错误处的地址标识符

其中发生错误的块的号码

OB122_PRG_ADDR WORD

OB122_DATE_TIME DT

引发错误的块中的错误地址(仅适用 S7-400)

发生编程错误时的时间

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_08E.8

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

屏蔽同步错误

同步错误 OB 的缺点:

用于过程管理和错误处理的代码分布在至少两个块中

后续更改或维护方面的问题

较理想的情况:

用于过程管理和错误处理的代码位于同一个块中

屏蔽同步错误:

在“紧急”指令之前:

SFC 36 MSK_FLT: 屏蔽同步错误

(OB12x 禁止调用)

执行“紧急”指令

检查是否有错误发生

SFC 38 READ_ERR: 读 Error Register(错误寄存器)

OB12x 再次开放调用:

SFC 37 DMSK_FLT: 解除屏蔽同步错误

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_08E.9

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SFC 36 屏蔽同步错误

"MSK_FLT"EN ENO

PRGFLT_SET_MASK

ACCFLT_SET_MASK

RET_VAL ??.?

PRGFLT_MASKED ??.?

ACCFLT_MASKED ??.?

??.?

??.?

参数

声明

数据类型

内存区域

解释

PRGFLT_SET_MASK INPUT DWORD I, Q, M, D, L, Const. 新(附加的)编程错误过滤器

ACCFLT_SET_MASK INPUT BYTE I, Q, M, D, L, Const. 新附加访问故障过滤器

RET_VAL OUTPUT INT I, Q, M, D, L SFC 返回值,001:新过滤器同已

有的过器滤重叠

PRGFLT_MASKED OUTPUT DWORD I, Q, M, D, L 完成编程错误过滤

ACCFLT_MASKED OUTPUT DWORD I, Q, M, D, L 完成访问错误过滤

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_08E.10

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

编程错误过滤器的结构

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16

BCD 转换错误

范围长度错误,读

范围长度错误,写

范围错误,读

范围错误,写

计时器号错误

计数器号错误

未对齐,读

未对齐,写未定义

写错误 DB写错误实例 DB

块编号错误 DB块编号错误 DI

块编号错误 FC块编号错误 FB

DB 未加载

FC 未加载

FB 未加载

注: 输出参数 RGFLT_MASKED 的相应位的设置如下:

Value(值) = 1: 屏蔽错误。

Value(值) = 0: 不屏蔽错误。

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_08E.11

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

访问错误过滤器的结构

31 30 29 . . . 7 6 5 4 3 2 1 0

I/O 读访问错误

仅对于 S7-400:

I/O 访问错误,指读取不存在的模块或者重复访问

未定义

I/O 写访问错误

仅对于S7-400:

向不存在的模块写入或者重复访问而引发I/O访问错误

. . .

注:输出参数 ACCFLT_MASKED 的相应位设置如下:Value = 1: 屏蔽错误。

Value = 0: 不屏蔽错误。

未定义的位的值为“1”。

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_08E.12

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SFC 37 解除同步错误屏蔽

"DMSK_FLT"EN ENO

PRGFLT_RESET_MASK

ACCFLT_RESET_MASK

RET_VAL ??.?

PRGFLT_MASKED ??.?

ACCFLT_MASKED ??.?

??.?

??.?

参数

声明

数据类型

内存区域

解释

PRGFLT_RESET_MASK INPUT DWORD I, Q, M, D, L, Const. 编程错误过滤器复位

ACCFLT_RESET_MASK INPUT BYTE I, Q, M, D, L, Const. 访问错误过滤器复位

RET_VAL OUTPUT INT I, Q, M, D, L SFC返回值,

W#16#0001:新的过滤器中包含已存贮的

过滤未设置的位

PRGFLT_MASKED OUTPUT DWORD I, Q, M, D, L 仍被屏蔽的编程错误

ACCFLT_MASKED OUTPUT DWORD I, Q, M, D, L 仍被屏蔽的访问错误

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_08E.13

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SFC 38 读错误寄存器

"READ_ERR"EN ENO

PRGFLT_QUERRY

ACCFLT_QUERRY

RET_VAL ??.?

PRGFLT_CLR ??.?

ACCFLT_CLR ??.?

??.?

??.?

参数

声明

数据类型

内存区域

解释

PRGFLT_QUERRY INPUT DWORD I, Q, M, D, L, Const. 编程错误过滤检查

ACCFLT_QUERRY INPUT BYTE I, Q, M, D, L, Const. 访问错误过滤检查

RET_VAL OUTPUT INT I, Q, M, D, L SFC返回值,

W#16#0001:检查过滤结果中包含了未设置的

位(在存贮的过滤器中)

PRGFLT_CLR OUTPUT DWORD I, Q, M, D, L 编程错误过滤及错误信息

ACCFLT_CLR OUTPUT DWORD I, Q, M, D, L 访问错误过滤及错误信息

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_08E.14

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

示例:数据块测试

Network 1: Masking, Testing, Demasking// Mask "DB does not exist"

CALL SFC 36(PRGFLT_SET_MASK := DW#16#4000000, // 标识符:DB 不存在ACCFLT_SET_MASK := DW#16#0, // 未屏蔽访问错误

RET_VAL := #SFC36Error,PRGFLT_MASKED := #Prog36Mask, ACCFLT_MASKED := #Acc36Mask);

// Test callOPN DB[DB_NO];

// Check programming errorCALL SFC 38(PRGFLT_QUERRY := DW#16#4000000, // 标识符:DB 不存在ACCFLT_QUERRY := DW#16#0, // 未屏蔽访问错误

RET_VAL := #SFC38Error,PRGFLT_MASKED := #Prog38Mask, ACCFLT_MASKED := #Acc38Mask);

// Evaluate resultL #Prog38MaskL DW#16#4000000 ==D= #DB_NOT_THERE // 设置辅助变量

DB not there

// Demask "DB does not exist"CALL SFC 37(

PRGFLT_RESET_MASK := DW#16#4000000, // 标识符:DB 不存在ACCFLT_RESET_MASK := DW#16#0, // 未屏蔽访问错误

RET_VAL := #SFC37Error,PRGFLT_MASKED := #Prog37Mask, ACCFLT_MASKED := #Acc37Mask);

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_08E.15

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

练习 8.1: FC81中的错误处理

FC 81EN ENO

Meas_values

Sum

Mean_value

声明

名称

类型in Meas_values ANYout RET_VAL INTout Sum REALout Mean_value REAL

RET_VAL错误代码

错误原因

错误代码

无错误

0数据类型<>REAL -1DB 不存在

-2范围长度错误

-4

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.1

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

基本和扩展 S7 通信

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.2

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

基本和扩展 S7 通信

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.3

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SIMATIC 中的网络

-SINUMERIK, RCM -TI 505 -Other PLCS7-300S7-400 M7-400

OPs

SIMATIC S5

PROFIBUS-DP

ET 200B/LET 200C

DP/AS-I Link

ASI (执行器、传感器接口)

AS-I 子模块

传感器和执行器AS-I ASIC 现场设备

AS-I 电源

工业以太网

PROFIBUS

MPI Network

点对点

PC, OS PGPG 720

单元级

现场级

AS-I级

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.4

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

Com

m. C

onf.

Stan

dard

s

SIMATIC 通信服务

Profibus Ethernet

FMS

DP

MAP 3.0

Ope

n C

omm

unic

.

MPI

S7 基本通信

全局数据

S7 扩展通信SIM

ATI

C S

7通

ISO 传输

TCP/ISO-on-TCP

FDL

PG 和 HMI 功能

UDP

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.5

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

程序控制使用

MPI, K-Bus,Profibus 或工业以太网

程序控制使用

MPI 或K-Bus

面向 S7-300/400 的 S7 通信服务

全局数据全局数据

基本通信无需组态连接基本通信无需组态连接扩展通信使用组态连接扩展通信使用组态连接

CPU的

操作系统

CPU的

操作系统CPU的

操作系统

CPU的

操作系统

循环或/和程序控制

使用 MPI 或者 K-Bus总线

SFCSFC SFCSFC SFBSFB SFBSFB

PG 和 HMI 功能

PG 和 HMI 功能

CPU的

操作系统

CPU的

操作系统

由操作系统控制

使用 MPI, K-Bus, Profibus 和

工业以太网

PG 720

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.6

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

S7 连接使用以太网

PG 720

PG 连接使用 MPI

S7-400

S7-300

OP 连接使用 PROFIBUS

通信各方之间的连接

CPCPU 1 CP

PROFIBUS工业

以太网

工业以太网

MPI

PROFIBUS

工业以太网

CPCPU 2

S7 连接使用 MPI S7 连接

使用 PROFIBUS

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.7

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

空闲连接资源已占用的连接资源

CPU

FMCPU

S7-300/400:MPI 或内部

PROFIBUS-DP-接口

S7-300/400:工业以太网

或 PROFIBUS-CP

S7 通信连线资源分配

S7-400:MPI 或内部

PROFIBUS-DP

FMCPUS7-300:内部

PROFIBUS-DP

FMCPUS7-300:MPI 接口

CPCPU

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.8

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

S7-CPU 通信特性数据

S7- 300

CPU 312 IFM

连接资源缺省保留连接用于

PG OP 基本通信

6 1 1 2

CPU 314 /314 IFM 12 1 1 8

12 1 1 8CPU 315/315 -2 DP

CPU 313 8 1 1 4

CPU 316 12 1 1 8

30 1 1 4CPU 318 -2 DP

S7- 400

CPU 412-1/412-2

连接资源预先指定的保留连接用于

PG OP 基本通信

16 1 1 -

CPU 414-1/ -2 / -3 32 1 1 -

CPU 413-1/413-2 16 1 1 -

CPU 416-1/ -2 / -3 64 1 1 -

CPU 417-4 64 1 1 -

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.9

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SFC 通信: 概述

使用 MPI 子网或者在一个站内进行数据交换

与 SFB 相比无需组态连接

与对方的连接是动态建立和断开的

可传输多达 76 个字节的数据

可以用于所有 S7-300/400 CPU

在 S7-200 中可通过 PROFIBUS-DP(X_GET,X_PUT)读写变量

也可在另外的 S7 项目中找到通信伙伴

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.10

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SFC 通信: 块概述

SFC

SFC 65

名称 简介

X_SEND 向X_RCV(Client)块发送数据的发送块

SFC 66 X_RCV 接收来自 X_SEND 块的数据的接收块

X_GET 从伙伴 PLC 读数据SFC 67

X_PUT 向伙伴 PLC 写数据SFC 68

X_ABORT 中断现有连接SFC 69

I_GET 从伙伴 CPU 读数据SFC 72

I_PUT 向伙伴 CPU 写数据SFC 73

I_ABORT 中断与伙伴 CPU 的连接SFC 74

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.11

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SFC 通信: X_GET(SFC 67)块

STL 表示 LAD/FBD 表示参数分配示例

SFC67 (X_GET)REQ RET_VAL

BUSYCONT

DEST_ID

VAR_ADDR

CALL SFC 67REQ:= I 0.4 //触发器CONT:= FALSE //磁盘连接DEST_ID:= W#16#3 //MPI_地址VAR_ADDR:= P#M20.0 BYTE 10 //远程变量RET_VAL:= MW100 //错误代码BUSY:= M 4.1 //SFC激活RD:= P#M0.0 BYTE 10 //本地变量

RD

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.12

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SFC 通信: X_PUT(SFC 68)块

STL 表示 LAD/FBD 表示参数分配示例

SFC68 (X_PUT)REQ RET_VAL

BUSYCONT

DEST_ID

VAR_ADDR

CALL SFC 68REQ:= I 0.5 //触发器CONT:= FALSE //磁盘连接DEST_ID:= W#16#3 //MPI_地址VAR_ADDR:= P#M20.0 BYTE 10 //远程变量SD:= P#M0.0 BYTE 10 //本地变量RET_VAL:= MW100 //错误代码BUSY:= M 4.1 //SFC激活

SD

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.13

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SFC 通信: X_SEND(SFC 65)块

STL 表示 LAD/FBD 表示参数分配示例

SFC65 (X_SEND)REQ RET_VAL

BUSYCONT

DEST_ID

SD

REQ_ID

CALL SFC 65REQ:= M4.0 //触发器CONT:= FALSE //磁盘连接DEST_ID:= W#16#4 //MPI_地址REQ_ID:= DW#16#1 //标识符SD:= P#M20.0 BYTE 10 //变量RET_VAL:= MW40 //错误代码BUSY:= M 4.1 //SFC激活

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.14

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SFC 通信: X_RCV(SFC 66)块

STL 表示 LAD/FBD 表示参数分配示例

SFC66 (X_RSV)EN_DT RET_VAL

REQ_ID

CALL SFC 66EN_DT:= TRUE //触发数据传输RET_VAL:= MW 50 //错误代码REQ_ID:= MD52 //作业 IDNDA:= M40.0 //数据存在RD:= P#M20.0 BYTE 10 //变量 NDA

RD

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.15

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SFB 通信: 概述

使用 MPI、K-Bus、Profibus 或工业以太网进行数据交换

通过连接表组态连接

通过完全重新启动建立连接并使连接永久存在(即使是在 STOP 模式)

用户数据大小可达 64 K字节

通信服务也可用于控制(停止、启动)通信伙伴

SFB只存在于S7-400-CPU

数据可由 S7-300(GET/PUT)读和写

通过一个连接可以处理不同的任务

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.16

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SFB 通信: 块一览

SFB/SFC

SFB 8

名称 简述

USEND 向 URCV(Client)块发送数据的块

SFB 9 URCV 接收来自 USEND 的数据的接收块

BSEND 向 BRCV 块发送大批数据的发送块(最多64K字节)SFB 12

BRCV 接收大批数据的接收块(最多64K字节)SFB 13

GET 从伙伴 PLC 读数据SFB 14

通信类型

双边

双边

双边

双边

双边

PUT 向伙伴 PLC 写数据SFB 15 单边

PRINT 向远程打印机发送数据SFB 16 单边

START 在伙伴机上执行完全重启动SFB 19 单边

STOP 将伙伴机置为 Stop 状态SFB 20 单边

RESUME 在伙伴机上执行重启动SFB 21 单边

STATUS 伙伴机状态扫描(RUN/运行、STOP/停止、start-up/启动、hold/保持)

SFB 22 单边

USTATUS 接收伙伴机的状态信息SFB 23 单边

CONTROL 扫描 S7 连接+ SFB 的内部状态SFC 62 ---

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.17

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

使用 S7 连接进行单边通信服务

SFB: - GET - PUT - STOP - START - STATUS

CPU的

操作系统

S7-400

MPI=3

S7-300/400逻辑

S7 连接

(单边或双边)

MPI=2

CPUMPI=2

CPU

MPI=2

1

本地 ID

物理连接,如 MPI

1

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.18

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

使用 S7 连接进行双边通信服务

SFB:- USEND - URCV - BSEND - BRCV

SFBs - URCV - USEND - BRCV - BSEND

S7-400

MPI=3

S7-400逻辑

S7 连接

(双边)

MPI=2

CPUMPI=2

CPU

MPI=2

2

本地 ID

物理连接,如 MPI

2

1

1

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.19

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

使用 NETPRO 组态网络

双击

插入 HW 站

双击

双击

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.20

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

组态 S7 连接

插入连接

远程站点

远程 CPU

选择

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.21

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

建立连接属性

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.22

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

编译和下载组态数据

下载

保存和编译

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.23

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

测试连接状态

连接状态

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.24

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SFB 通信: GET(SFB 14)块

STL 表示

CALL GET, I_GET //使用背景DBREQ:=I 0.2 //开始ID:=W#16#1 //连接 No.NDR:=#NDR_FLAG //接收新数据ERROR:= #ERROR_F //error 结束STATUS:= #STATUS_W //附加信息ADDR_1:=P#I 0.0 BYTE 1 //1. 远程变量ADDR_2:=P#I 4.0 WORD 1 //2. 远程变量ADDR_3:= //3. 远程变量ADDR_4:= //4. 远程变量RD_1:=P#Q 0.0 BYTE 1 //1. 本地变量RD_2:=P#Q 4.0 WORD 1 //2. 本地变量RD_3:= //3. 本地变量RD_4:= //4. 本地变量

LAD 表示

DB14(背景 DB)

SFB14 (GET)EN ENOREQ NDR

ERRORIDSTATUSADDR_1

ADDR_2ADDR_3ADDR_4RD_1RD_2RD_3RD_4

参数分配示例

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.25

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SFB 通信:PUT(SFB 15)块

STL 表示

CALL PUT, I_PUT(背景 DB)REQ:=I 0.3 //开始ID:=W#16#1 //连接 No.DONE:= #DONE_F //成功的 endERROR:= #ERROR_F //出错的 endSTATUS:= #STATUS_W //错误信息ADDR_1:=P#Q 12.0 WORD 1 //1. 远程变量ADDR_2:= //2. 远程变量ADDR_3:= //3. 远程变量ADDR_4:= //4. 远程变量SD_1:=P#I 2.0 WORD 1 //1. 本地变量SD_2:= //2. 本地变量SD_3:= //3. 本地变量SD_4:= //4. 本地变量

LAD 表示

DB15(背景 DB)SFB15 (PUT)

EN ENOREQ DONE

ERRORIDSTATUSADDR_1

ADDR_2ADDR_3ADDR_4SD_1SD_2SD_3SD_4

参数分配示例

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.26

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SFB 通信: USEND(SFB 8)块

STL 表示

CALL USEND, I_USEND(背景 DB)REQ:= I 0.4 //开始ID:=W#16#3 //连接号R_ID:=DW#16#B1 //功能块对DONE:= #DONE_F //成功结束ERROR:= #ERROR_F //结束但有错误STATUS:= #STATUS_W //错误信息SD_1 :=P#DB3.DBX0.0 BYTE 100 //1. 本地变量SD_2 :=P#DB3.DBX100.0 BYTE 100 //2. 本地变量SD_3 :=P#DB3.DBX200.0 BYTE 100 //3. 本地变量SD_4 :=P#DB3.DBX300.0 BYTE 154 //4. 本地变量

LAD 表示

DB 8(背景 DB)

SFB 8 (USEND)EN ENOREQ DONE

ERRORIDSTATUSR_ID

SD_1SD_2SD_3SD_4

参数分配示例

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.27

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SFB 通信: URCV(SFB 9)块

STL 表示

CALL URCV, I_URCV //使用背景 DBEN_R:= I 0.5 //开始ID:= W#16#3 //S7 连接R_ID:= DW#16#B1 //功能块对NDR:= #NDR_F //接收新数据ERROR:= #ERROR_F //结束并有错误STATUS:= #STATUS_W //错误信息RD_1:=P#DB3.DBX0.0 BYTE 100 //1. 变量RD_2:=P#DB3.DBX100.0 BYTE 100 //2. 变量RD_3:=P#DB3.DBX200.0 BYTE 100 //3. 变量RD_4:=P#DB3.DBX300.0 BYTE 154 //4. 变量

LAD 表示

DB 9(背景DB)

SFB 9 (URCV)EN ENOEN_R NDR

ERRORIDSTATUSR_ID

RD_1RD_2RD_3RD_4

参数分配实例

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.28

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SFB 通信: BSEND(SFB 12)块

STL 表示

CALL BSEND, I_BSEND //使用背景 DBREQ:= I 0.4 //开始R:= I 0.5 //复位 BSENDID:=W#16#3 //S7 连接R_ID:=DW#16#B2 //功能块对DONE:= #DONE_F //成功结束ERROR:= #ERROR_F //结束但有错误STATUS:= #STATUS_W //附加信息SD_1:=P#DB1.DBX0.0 BYTE 40000 //发送数据LEN:= #DB_LEN //数据长度

LAD 表示

DB 12(背景 DB)

SFB 12 (BSEND)EN ENOREQ DONE

ERRORRSTATUSID

R_IDSD_1LEN

参数分配实例

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.29

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SFB 通信: BRCV(SFB 13)块

STL 表示

CALL BRCV, I_BRCV // 使用背景 DBEN_R:= I 0.4 //开始ID:=W#16#3 //S7 连接R_ID:=DW#16#B2 //功能块对NDR:= #NDR_F //接收新数据ERROR:= #ERROR_F //结束并有错误STATUS:= #STATUS_W //附加消息RD_1:=P#DB2.DBX0.0 BYTE 40000 //接收邮箱LEN:= #DB_LEN //接收端邮箱长度

LAD 表示

DB 13(背景 DB)

SFB 13 (BRCV)EN ENOEN_R NDR

ERRORIDSTATUSR_ID

RD_1LEN

参数分配实例

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.30

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SFB 通信: STOP(SFB20)块

STL 表示 LAD/FBD 表示

CALL “STOP”,“I_STOP” //背景 DBREQ:= I 0.0 //开始沿ID:= W#16#1 //连接号PI_NAME:= P#M100.0 Byte 9 //参见脚注IO_STATE:= //未使用DONE:= #DONE_F_20 //成功结束ERROR:= #ERROR_F_20 //结束但有错误STATUS:= #STATUS_W_20 //错误信息

DB20(背景DB)

SFB20(STOP)EN ENOREQ DONE

ERRORIDSTATUSPI_NAME

IO_STATE

参数分配实例

* ‘P_PROGRAM’‘在存储器中起点位置的详细信息

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.31

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

STL 表示 LAD/FBD 表示

DB19(背景DB)

SFB19 (START)EN ENOREQ DONE

ERRORIDSTATUSPI_NAME

ARGIO_STATE

SFB 通信: START(SFB19)块

* ‘P_PROGRAM’在存储器中起点位置的详细信息

参数分配实例

CALL “START”,“I_START” //使用背景DBREQ:= I 0.1 //开始沿ID:= W#16#1 //连接号PI_NAME:= P#M100.0 Byte 9 //参见脚注ARG:= //未使用IO_STATE:= //未使用DONE:= #DONE_F_20 //成功结束ERROR:= #ERROR_F_20 //结束但有错误STATUS:= #STATUS_W_20 //错误信息

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.32

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SFB 通信: CONTROL(SFC 62)块

STL 表示 LAD 表示

CALL "CONTROL"EN_R:= I 0. 2 //开始I_DB:= W#16#F //背景 DB NOOFFSET:= W#16#0 //用于多实例RET_VAL:= MW4 //错误信息ERROR:= Q 0.4 //结束但有错误STATUS:= MW 4 //状态信息I_TYP:= MB 52 //SFB 类型I_STATE:= MB 53 //SFB 状态I_CONN:= M 54.0 //连接状态I_STATUS:= MW102 //SFB 的状态

SFC 62 (CONTROL)EN ENOEN_R RET_VAL

ERRORI_DBSTATUSOFFSET

IO_STATE

I_CONN

I_TYPI_STATE

I_STATUS

参数分配实例

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.33

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

练习 10.1: 组态一个 S7 连接

S7-400 MPI=3

S7-300

逻辑

S7 连接

(单边)

MPI=2

CPU

MPI=2

CPU

MPI=2

1本地 ID

PG 720

MPI=0

PROFIBUS 电缆

MPI 电缆

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.34

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

练习 10.2: 使用 SFB GET/PUT 通信

CALL SFB14,DB14REQ= I 28.0 ID:=W#16#1 . . . CALL SFB 15,DB15REQ=I 28.1 ID:=W#16#1 . . . .

S7-400 程序

OB 1

PUT

QB 40 IB 0

IW 4QW 42

IW 30 QW 12

S7-400

S7-300

CPU

MPI=2

CPU1

GET

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_09E.35

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

练习 10.3: 使用 SFB START/STOP 通信

S7-400 MPI=3

S7-300

逻辑

S7 连接

(单边)

CALL SFB20,DB20REQ= I 28.2 ID:=W#16#1 PI_NAME:= P#M100.0 Byte 9

CALL SFB 19,DB19REQ=I 28.3 ID:=W#16#1 PI_NAME:= P#M100.0 Byte 9 . . .

S7-400 程序

MPI=2

OB 1

CPU

MPI=2

CPU

MPI=2

1本地 ID

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.1

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SIMATIC S7-400

SF

RUN

STOP

I0.0

I0.1

I0.2

I0.3

I0.4

I0.5

I0.6

I0.7

SIEMENS

S7-200

Micro PLC 212

SIMATICX 2

3 4

Q0.0

Q0.1

Q0.2

Q0.3

Q0.4

Q0.5

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.2

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SIMATIC S7-400

SF

RUN

STOP

I0.0

I0.1

I0.2

I0.3

I0.4

I0.5

I0.6

I0.7

SIEMENS

S7-200

Micro PLC 212

SIMATICX 2

3 4

Q0.0

Q0.1

Q0.2

Q0.3

Q0.4

Q0.5

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.3

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SIMATIC S7-400:概述

系统可扩展性• 组装密度高

• 分级 CPU 性能

• 多处理器

• 可连接 21 个扩展机架

• 模块种类多样(SM、FM、CP)• 灵活的组网工具

性能• 处理能力强

(每条二进制指令 80 nsec)

• 多达 16 Mbytes 的用户存储器

• 强大的通信工具

通用性• 通过使用特殊功能

• 面向 S5 的专用移植工具

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.4

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

S7-400 模块概览

1

2

3

PS PS

230V / 4A230V / 10A230V / 20A24V / 4A24V / 10A24V / 20A

32 x DC 24V 16 x UC 24-60V (IR + Diagn.)16 x UC 120-230V16 x UC 120 V (IR + Diagn.)32 x AC 120V16 x AC 230V (IR + Diagn.)

DI DI

32 x DC 24V, 0.5A16 x DC 24V, 2A16 x AC 120/230V, 2A16 x UC 5..230V, 5A, Relay8 x AC 120/230V, 5A

DO DO

8 x U/I, 13 Bit8 x U/I, 14 Bit

AO AO

8 x U/I or 4 x R, 13 Bit25 ms 每通道转换时间

8 x U/I/TC or 4 x R/RTD, 14 bits, 25 ms每通道转换时间,线性平滑

8 x U/I or 4 x R, 14 bits50 us每通道转换时间

16 x U/I/TC or 8 x R/RTD, 16 bits,2.5/25ms每通道转换时间,线性平滑

AI AI

3m with K-Bus3m w/o K-Bus100m with K-Bus600m to IM314 in S5

IM IM

机架

机架

UR 1,2ER 1,2CR 2

S7-CPUs S7-CPUs

CPU 412-1CPU 413-1CPU 413-2 DPCPU 414-1CPU 414-2 DPCPU 416-1CPU 416-2 DPCPU 417-4

FM FM

2 通道计数器凸轮控制器饲服电机定位快速行程定位 / 慢速电机M7-FM

CP CP

1 通道点对点2 通道点对点EthernetProfibus

M7-CPUs M7-CPUs

CPU 486-3CPU 488-3CPU 488-4CPU 488-5

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.5

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

S7 - 400 机架

机架

P 总线

K 总线

UR 1/ UR 2

分段机架

CR 2

扩展机架

P 总线

ER 1/ ER 2

P 总线

段 1

K 总线

P 总线

段 21 至 4 个 CPU

(对称多处理机器)

具有不同操作模式的 2 个 PLC ,CPU 之间通过 K 总线通信

也可用作扩展机架

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.6

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

对称和不对称多处理器

公共通信总线

(K 总线)

公共 I/O 总线(P 总线)对称多处理器

不对称多处理器

I/O 总线段 1 I/O 总线段 2

分段机架 公共通信总线

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.7

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

中央组态

组态机架

激活HW Config 工具

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.8

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

模板参数:逻辑地址、部分过程映像

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.9

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

模板参数分配:模拟量模板

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.10

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

组态多处理器

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.11

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SFC 35 在多处理器模式中用于同步

"MP_ALM"EN ENO

JOB RET_VAL ??.???.?

参数

JOB

声明

INPUT

SFB 9 URCV

数据类型

BYTE

双边

内存区域

I, Q, M, D, L, Const.

双边

解释

作业标识符(可能值 1 到 15)

双边

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.12

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

中央扩展 1

特点

• P 总线和电源贯穿,但无 K 总线

• 每条链路 1 个 ER• CR 和 ER 之间的最大距离:1.5 m

CPUPS 40x IM

CR

SEND IM 460-1

IM

终端器

RECEIVE IM 461-1

ER

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.13

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

中央扩展 2

CPUPS 40x IM

ZG

PS 40x IM

1. EG

PS 40x IM

2. EG

PS 40x IM

3. EG

SEND IM 460-0 Receive IM

Receive IM

PS 40x IM

4. EG

Receive IM

RECEIVE IM 461-0

终端器

特点

• P 总线和 K 总线贯穿,但无电源

• 每条链路 4 个 ER• CR 和最后一个 ER 之间的最大距离 : 3 m

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.14

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

分布式扩展

特点

• P 总线和 K 总线贯穿,但无电源

• 每条链路 4 个 ER• CR 和最后一个 ER 之间的最大距离:

100 m

CPUPS 40x IM

CR

PS 40x IM

ER 1

PS 40x IM

ER 2

PS 40x IM

ER 3

SEND IM 460-3 Receive IM

Receive IM

PS 40x IM

ER 4

Receive IM

RECEIVE IM 461-3

终端器

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.15

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

S7 和 S5 之间的分布式连接

特点

• 每条链路最多可以连接 4 个 S5 扩展单元

• 中央机架上最多 4 个发送 IM• 链路中 CR 和最后一个 EU 之间的最大距

离:600m

• 并行 S5 总线连接

• 可能的 S5 扩展单元:

EU 183 U、EU 185 U, ER 701-2、ER 701-3

• 其它 S5 EU• S7-400 CR 上最多 32 个 S5 EU

终端器

S5 EU S5 EU

S5 EU S5 EU

S5 EU S5 EU

S5 EU S5 EU

PS

CPU

S7CR

Send IM

IM314 IM314

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.16

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

扩展中央组态

双击

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.17

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

CPU 模块 – 分级性能范围

CPU 412-2 CPU 414-2 CPU 416-2

特点

• 分级性能范围

• 显示状态和故障的 LED• 主操作开关用于选择操作模式

• 存储卡插槽

• MPI 接口(以及 PROFIBUS-DP)• 扩展电池备份电源

• 集成测试和诊断功能 CPU 412-1

CPU 414-3 CPU 416-3 CPU 417-4

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.18

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

CPU —— 技术参数

指令

程序存贮器

数据存贮器

DI / DO AI / AO执行时间/ 1 K 二进制指令

位 存贮器

计数器

定时器

FB/FC/DB通信接口

CPU 414-2 (CPU 414-3)42/(128)K 128/(384)KB 128/(384)KB64(64)/64(64)

K 4(4)/4(4)0.1 ms

8 KByte 256 2561024/1024/1023MPI 或 DP 主站,

32 个 DP 从站

PROFIBUS DP 主站,125 个 DP 从站

(IF 964-DP 主站)

CPU 412-1 (CPU 412-2)16/(24) K 48/(72) KByte 48/(72) KByte32(32)/ 32(32

) K 2(2) / 2(2) K0.2 ms

4 KByte 256 256256/256/511 MPI 或DP主站, 32 个 DP 从站

(PROFIBUS DP 主站,

125 个 DP 从站)

CPU 417-4

666 to 2666 K 2 to 8 MB 2 to 8 MB128/128 K 8/8 K0.1 ms

16 K 512 5126144/6144/8192MPI 或 DP 主站,

32 个 DP 从站

PROFIBUS DP 主站,125 个 DP 从站

2 x IF 964-DP 主站

CPU 416-2 (CPU 416-3)266/533 K 0.8/1.6 MB 0.8/1.6 MB128(128)/128(

128)K 8(8)/8(8)

K0.08 ms

16 KByte 512 5122048/2048/4095MPI 或DP 主站,

32 个 DP 从站

PROFIBUS DP 主站,125 个 DP 从站

(IF 964-DP 主站)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.19

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

CPU 参数:启动特性

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.20

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

CPU 参数:中断

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.21

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

CPU 参数:循环/时钟存储器

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.22

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

CPU 参数:L 堆栈

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.23

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

CPU 参数:保护概念

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.24

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

程序组织:完全重启动和重启动

用户程序

操作系统

中断请求源:• 时间信号• 发现错误• 硬件中断

OB 用于:

• 错误处理• 循环中断• 硬件中断• 其它

完全重启动

开始扫描周期监控时间

读入 PII

OB1 循环执行

启动程序: OB 100 用于完全重启动

取消 OD

清除 PIQ 复位最后一个扫描周期

清除 PIQ(可选)

取消 OD

读出 PIQ

重启动

启动程序:OB 101 用于重启动

中断请求源:• 时间信号• 发现错误• 硬件中断

开始扫描周期监控时间

读入 PII

OB1 循环执行

读出 PIQ

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.25

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

在 S7 – 400 中插入/移除模板中断

移除 插入 可用的

现有模块

可用模块

组织块 OB83 删除/插入 中断

组织块 OB122 I/O 访问错误

操作系统参数分配

组织块 OB85 更新过程映像

max. 1sec.

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.26

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SIMATIC S7-400H – 容错 PLC

安装 H 系统的目的• 控制器崩溃后避免高昂的重启动成本

• 避免昂贵的停工期 (例如生产非常昂贵的产品)

• 运行无需监理或者维护人员

应用领域• 发电、配电

• 环境技术

• 化工、石化、制药

• 采矿、运输

• 纸浆和造纸、印刷

• 机场自动化

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.27

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SIMATIC S7-400H – CPU 的冗余连接

冗余功能的特征• 自动事件同步且保证平滑的

主站从站过渡

(Siemens 专利)

• 容错通信同时保证系统性能

• 在线 功能:• RUN 状态更换模板

• RUN 状态固件更新

CPU 417H

Red

unda

ncy

Mod

ule

X 23 4

X 23 4

Red

unda

ncy

Mod

ule

X 23 4

CPU 417H

Red

unda

ncy

Mod

ule

X 23 4

X 23 4

Red

unda

ncy

Mod

ule

X 23 4

CPU 417-H 具有

4 个集成

接口:• 2 个同步模块• DP 接口• MPI/DP 接口

Sync 模块

高速光纤连接

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.28

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SIMATIC S7-400H – 容错系统的拓扑结构

设计• 2 个分离的控制器

UR1/UR2 或 2 个区域

位于一个控制器(UR2-H)

• 每个中央控制器 1 个 CPU 417-4H• 每个中央控制器 2 个 同步模板

(使用光纤连接)

• 外围设备

外围设备• 一般可用性

(单边)

• 容错

(切换)

通常区域 正常区域容错区域

S7-400 S7-400

事件同步

ET 200M

PROFIBUS PROFIBUS

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.29

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SIMATIC S7-400H – 组态示例

容错通信

具有冗余连接的S7-400H 位于一

个分段机架中

HMI

I/O

I/O

冗余PROFIBUS-DP

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.30

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

S7-400 的强制功能

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.31

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

激活断点工具条

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.32

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

应用断点执行程序

断点

断点

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.33

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

通过 Call-up Path 监控一个块

右击鼠标

右击鼠标

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.34

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

应用领域:• 较短信息的高性能传输

属性:

• RS 422/RS 485(X.27)• 最大速度 115.2 kbits/s• 最多 32 个连接

协议:

• ASCII, • 3964(R)

CP 440 用于点对点通信

CP 440

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.35

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

CP 441 用于点对点通信

CP 441-1 CP 441-2

接口:

• CP 441-1:1 个插入接口的模块

• CP 441-2:2 个插入接口的模块

接口模块:

• 20mA(TTY):

max. 19.2 kbits/s• RS 232C(V.24)

max. 38.4 kbits/s(CP 441-1) max. 115.2 kbits/s(CP 441-2)

• RS 422/485(X.27):

max. 38.4 kbits/s(CP 441-1) max. 115.2 kbits/s(CP 441-2)

协议:

• 集成标准协议,如:

ASCII, 3964(R),打印机

• 可加载的非西门子协议(特殊驱动)—— 用于 CP 441-2

643-1QA11-0AX03ATB 386SX

1 243

INTF

EXF

RUN

STOP

RUN_P

SD

HDD

S2

USR

CP 441-1 CP 441-2

643-1QA11-0AX03

ATB 386SX

1 243

INTF

EXF

RUN

STOP

RUN_P

SD

HDD

S2

USR

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.36

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

CP 443-5:连接到 PROFIBUS

协议:

• S7 功能• PG/OP 通信包含路由

• SEND/RCV • 时间同步

• FMS(仅适用于 CP 443-5 基本型)

• DP 主站(适用于 CP 443-5 扩展型)

波特率:

• 9.6 Kbps 至 12 Mbps

连接:

• 电缆:

9 针接口

• 光缆:

使用总线接线端子 CP 443-5 基本型

CP 443-5 扩展型

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.37

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

CP 443-1:连接到工业以太网

协议:

• S7 功能

• 包含路由的 PG/OP 通信

• SEND/RCV • 时间同步

• H 通信:

面向 SIMATIC H 系统的冗余 S7 通信

接口:• 连接到工业以太网

(10/100 Mbit/s)使用 15 针插口(在 AUI 和 ITP 之间自动转变)

• 使用 RJ45 连接到 10BaseT、100BaseTX

CP 443-1(ISO 和 TCP/IP)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.38

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

CP 443-1 IT:连接到 Internet

与 CP 443-1 同样的格式和功能:

• S7 功能

• 包括路由的 PG/OP 通信

• 使用 RFC 1006 和 UDP 发送/接收

附加 Internet 功能:

• CP 443-1 IT 是一个 WWW 服务器:

- 服务于 S7 功能的 HTML 页面和程序

- WWW 服务器用于操作员控制/监控小型控制器

- 客户端无花费

- 独立于平台

- 用户熟悉的 Internet 操作平台

• CP 443-1 是一个 e-mail 客户端:

- 可使用 e-mail 方便地发出故障提醒

- 可访问移动电话、寻呼机、PC、传真机等CP 443-1 IT

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_10E.39

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

CP 444-1:使用符合 MAP 3.0 标准的 MMS 服务

功能:• 支持的 MMS 服务:

- 环境管理(启动,结束

和中止)

- VMD 支持服务(主动提供的状态,状态,

GetNameList,Identify 和 GET CapabilityList)- 变量访问服务(读,写,信息报告,

和 GetVariableAcessAttributes)

连接:

• 连接到符合以太网标准 IEEE 802.3 的以太网

• 带有滑动锁的 15 针 Sub-D 插口用于工业以太网总线

连接

• 在 AUI 和双绞线接口之间自动切换

CP 444

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 9/7/2011文件: PRO2_11E.1

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

分布式 I/O 和参数分配

模式选择器

存储卡

MPI/PROFIBUS 接口

外部电池供电

PROFIBUS 接口

故障 LEDs

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 9/7/2011文件: PRO2_11E.2

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

PROFIBUS-DP 系统的结构

S7 S7PS S7S7CP

342-5 DP

S7- 300CPU315-2 DP

DP- NORM- SLAVE

SIMATIC S7-300

PROFIBUS -DP

DP- NORM- SLAVE

PS10A

S7 S7S7400

CPU414-2 DP

主站

S7-400

S7 S7PS S7S7IM 153

模块型从站紧凑型从站

ET 200M

智能从站

S7-300S7-300

CPU314

S7PS S7-300

CP342-5 DP

从站

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 9/7/2011文件: PRO2_11E.3

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

PROFIBUS 通信方法

主站之间的逻辑令牌环

PG 720

PROFIBUS

FM

SV

在主站和从站之间轮询

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 9/7/2011文件: PRO2_11E.4

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

PROFIBUS-DP 单总站系统的总线周期

1 59 13

17 2125 291 10 20 30

0

5

10

15

20

25

周期时间

ms

每个从站的字节数

从站数目

总线速度为 1.5 MBaud

SchnittStellenCenter Fürth

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 9/7/2011文件: PRO2_11E.5

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

SIMATIC S7 中的 PROFIBUS 主站

S7 S7PS S7PSDP 主站 DP 主站

S7-300

CP342-5 DP

S7-300

CPU315-2 DP

S7

DP 主站

PS10A

S7 S7

DP 主站

PS10A

S7400

CPU414-

1

S7

CP443-5DP

S7400

CPU414-2 DP

S7-300

CPU314

PROFIBUS -DP

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 9/7/2011文件: PRO2_11E.6

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

可用的 DP 从站

模块化从站包括一个接口模块和来自 S7-300 系列(ET 200M)及 S5 系列(ET 200U)的模块

具有集成输入和输出通道的小型、紧凑型 I/O 站(防护等级级 IP 20)。

ET 200B

ET 200UET 200M

ET 200L

接口模块加上输入/输出模块、负载馈电器等防护等级:ET 200X:IP 65/67,ET 200S:IP 20

ET 200X ET 200S

CPU 215 CPU 315-2 DP

S7-200 和 S7-300 系列的智能 DP 从站用于数据处理

CPU 316-2 DP CPU 318-2 DP CP 342-5

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 9/7/2011文件: PRO2_11E.7

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

PROFIBUS - DP 终端电阻

具有 Profibus-DP 接口的 CPU

N N N NN= Profibus-DP

节点

需要终端电阻

具有 Profibus-DP 接口的 CPU

N N N NN= Profibus-DP

节点

需要终端电阻

N

需要终端电阻

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 9/7/2011文件: PRO2_11E.8

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

组态一个 DP 主站系统

DP master system

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 9/7/2011文件: PRO2_11E.9

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

组态紧凑型和模块化 DP 从站

DP 主站系统

DP 从站

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 9/7/2011文件: PRO2_11E.10

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

组态智能 DP 从站(如CPU 315-2)

DP 从站

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 9/7/2011文件: PRO2_11E.11

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

在一个主站系统中插入智能 DP 从站

连接

DP 主站

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 9/7/2011文件: PRO2_11E.12

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

从站故障时 OB 86 中的错误/故障分析

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 9/7/2011文件: PRO2_11E.13

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

使用 SFC 13(DPNRM_DG)进行从站诊断

参数

声明

数据类型

存储区域

解释

REQ INPUT BOOL I, Q, M, D, L, Const. REQ = 1:请求读

LADDR INPUT WORD I, Q, M, D, L, Const. DP 从站已组态的诊断地址

RET_VAL OUTPUT INT I, Q, M, D, L 如果在处理功能的过程中发生了错误,

返回值中就包含一个错误码。

如果没有错误发生,RET_VAL 包含实际传输数据的

长度。

RECORD OUTPUT ANY I, Q, M, D, L 读取的诊断数据的目的区域。只允许 BYTE 数据类

型。即将读取的数据记录和目标区域的最小长度

是 6。

BUSY OUTPUT BOOL I, Q, M, D, L BUSY = 1:

读操作还未完成。

"DPNRM_DG"EN ENO

REQ

LADDR

RET_VAL ??.?

RECORD ??.?

BUSY ??.?

??.?

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 9/7/2011文件: PRO2_11E.14

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

使用 SFC 14 从 DP 标准从站读取连续数据

"DPRD_DAT"EN ENO

LADDR RET_VAL ??.?

RECORD ??.?

??.?

参数

声明

数据类型

存储区域

解释

LADDR INPUT WORD I, Q, M, D, L, Const. 欲从中读取数据的模块的输入区域中组态的起始地址。

RET_VAL OUTPUT INT I, Q, M, D, L 如果功能的执行过程中发生了错误,

返回值中包含一个错误码。

RECORD OUTPUT ANY I, Q, M, D, L 读取的用户数据的目标区域。它必须与使用 STEP 7 为选定的模块组态的区域有相同的长度。

只允许 BYTE 数据类型。

您需要 SFC 14 “DPRD_DAT” 用来读取多于四个连续字节的数据(

连续数据)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 9/7/2011文件: PRO2_11E.15

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

使用 SFC 15 向 DP 标准从站写入连续数据

"DPWR_DAT"EN ENO

LADDR RET_VAL ??.?

RECORD??.?

??.?

参数

声明

数据类型

存储区域

解释

LADDR INPUT WORD I, Q, M, D, L, Const. 欲写入其中的模块的输出区域中已组态的起始地址。

RECORD INPUT ANY I, Q, M, D, L 将进行写操作的用户数据的源区域。它必须与用

STEP7 为选择的模块组态的区域有相同的长度。

只允许 BYTE 数据类型。

RET_VAL OUTPUT INT I, Q, M, D, L 如果在功能的执行过程中出现了错误,返回值中包含

一个错误码。

您需要 SFC 15 “DPWR_DAT”,用来写入多于四个连续字节的数据

(连续数据)。

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 9/7/2011文件: PRO2_11E.16

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

使用 SFC 11(DPSYC_FR)同步 DP 从站

"DPSYC_FR"EN ENO

REQLADDR

RET_VAL ??.?BUSY ??.???.?

参数

声明

数据类型

存储区域

解释

REQ INPUT BOOL I, Q, M, D, L, Const. 电平触发的控制参数

REQ=1:触发 SYNC/FREEZE 作业

LADDR INPUT WORD I, Q, M, D, L, Const. DP 主站的逻辑地址

GROUP INPUT BYTE I, Q, M, D, L, Const. 组选择, Bit 0 = 1: 选择第 1 组

Bit 1 = 1:选择第 2 组 ... Bit 7 = 1:选择第 8 组

您可以为一个作业选择多个组。

MODE INPUT BYTE I, Q, M, D, L, Const. 作业标识符(依照 EN 50 170 V 3 编码)

Bit 0, 1, 6, 7:保留( value 0 )

Bit 2 = 1:执行 UNFREEZE Bit 3 = 1:执行 FREEZE Bit 4 = 1:执行 UNSYNC Bit 5 = 1:执行 SYNC

RET_VAL OUTPUT INT I, Q, M, D, L 错误码。每次执行该块之后必须检查 RET_VAL

BUSY OUTPUT BOOL I, Q, M, D, L BUSY=1:作业还未完成。

GROUP??.?

MODE??.?

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 9/7/2011文件: PRO2_11E.17

SIMATIC S7Siemens AG 2001. 版权所有

SITRAIN自动化与驱动培训

以后安装 PROFIBUS-DP 从站

类型文件实例

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.1

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

S7-GRAPH

S7/M7工程工具

SCL

CFC SFC

HIGRAPH

1

2 34

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.2

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

S7/M7工程工具

S7-GRAPH SCL

CFC SFC

HIGRAPH

1

2 34

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.3

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

S7/M7工程工具

S7-GRAPH SCL

CFC SFC

HIGRAPH

1

2 34

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.4

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

S7- GRAPH 软件包

S1

S2

T1

T2

S4

T3

S6

T4

T5

S5

用于顺控器编程的工具

• 与 IEC 61131-3兼容

• 为满足制造业要求而设计

• 以图形方式把流程

细分为步和转换条件

• 步包含动作

• 转换条件检验步的激活条件

自动执行下列工作

• 计划,组态

• 编程

• 调试

• 启动

• 维护,诊断

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.5

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

顺序控制系统的程序结构

S1步 1

S2步 2

T1转换条件 1

电机 限位开关

步激活条件

T2转换条件 2

输入 1 输入 2

步激活条件

步 1

动作

动作

步 2

动作

动作

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.6

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

创建顺控器 FB

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.7

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

S7- GRAPH用户界面

12

3

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.8

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

顺控器视图

总览

单页

单步

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.9

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

S1

顺控器元素

S2

T1

T2

S4

T3

初始步

转换

S5 S6

T4

T5

顺控器结束

选择分支,打开

并行分支,打开

选择分支,闭合

并行分支,闭合

顺控器 1

S7

S8

T6

T7

S9

T9

顺控器 2

S8

T9

跳转到步 8

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.10

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

动作编程

S20

T20

NC "Forward"L1 S Q 4.3D M3.0

T#4s

N A := B - C

"Door_closed" 联锁

( )

"Time_off" 监控

( )

"输入1" "输 2"

步激活条件

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.11

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

使用简单指令的动作块

• N = 未保存的赋值

• S = 设定值(已保存)

• D = 有延时,不保存赋值,延时时间为T• L = 时间限制 ,在限定时间内不保存赋值

• CALL = 块调用

Step_block _1N M1.1S M1.2R M1.3D M1.4

T#1H2M3SL M1.5

T#4MSCALL FC1

步中的标准动作

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.12

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

使用条件指令的动作块

条件• 带有标识符“C”(条件)的动作,仅在步的联锁条件为真(“C”=1)时执行。

• 条件为零时存在联锁错误,受条件C限制的动作不会被执行。将该步打上标志,并

且发送错误信息“Error” 。

Step_block _2NC M1.1SC M1.2RC M1.3DC M1.4

T#1H2M3SLC M1.5

T#4MSCALLC FB5.DB3

由联锁决定的动作

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.13

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

使用事件驱动指令的动作块

动作在事件发生的扫描周期

中执行一次

时间• A1 = 确认

• L1 = 联锁错误到达

• L0 = 联锁错误离开

• S1 = 步已激活

• S0 = 步已取消激活

• V1 = 监控错误到达

• V0 = 监控错误离开

Step_block _3A1 N M1.1L1 N M1.2L0 N M1.3S1 N M1.4S0 N M2.4V1 N M2.5V0 N M2.6

由事件触发的动作

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.14

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

使用定时器与计数器的动作块

动作中的定时器和计数器

Step_block _4S1 CU C3A1 CSC C2

C#123S1 TL T5

S5T#2M3SL1 TDC T6

S5T#4MS

总是与事件关联。

在发生事件的扫描循环中

引发执行一次动作

也可以与联锁条件C组合

计数器

• CS = 设置计数

• CU =增计数

• CD =减计数

• CR = 复位计数

定时器

• TL = 扩展脉冲

• TD = 延时开

• TR = 复位时间

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.15

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

带指令的动作块

动作中的数学运算

Step_block _5N MW0 := IW40S1 NC A_1 := B_2N C_1 := BCD_TO_NUM(IW4)A1 N E_5 := EXP(MD22)S1 N X_Diff := X_new - X_oldS1 N Path:= V_act * Delta_T

总是需要动作

标识符N

也可以关联到一个事件

或/且结合联锁条件C

赋值

• 直接赋值,例如:A := B• 使用内置函数赋值

- 转换函数,例如C := ROUND(D)- 数学函数,例如E := SQRT(D)- 其它函数,例如F := RLDA(G)

• 使用算子赋值,例如A := B + C

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.16

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

转换条件、步联锁和步监控

S3步 3

T3Valves_on

"Valve_1" "Valve_2"

CMP==IMW0

MW2

"Door_closed" 联锁

( )

"Time_off" 监控

( )

(步)联锁

(步)监视

转换

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.17

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

固定指令

顺控器前的固定指令

顺控器后的固定指令

“Limit switch" "EMER_OFF"

( )“Brake closed" “Controller enable"

( )

1

2 "Valve_2 open"

3CALL FC1INIT:= (BOOL) (IN)

“Safety door closed"

( )1 “Feed enable"

“Pushbutton"

固定条件

固定块调用

2

3CALL FC1INIT:= (BOOL) (IN)

固定条件

固定块调用CALL FC5TEMP:= (INT) (IN)PRESS:= (INT) (IN)RESULT:= (INT) (OUT)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.18

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

创建可执行块

S1步 1

S2步 2

"Motor" "Limit switch"

Step-enabling conditions

"Input 1" " Input 2"

Step-enabling conditions

保存顺控器为

Blocks中的可执行S7块

FB17

保存顺控器为SO中

的S7-GRAPH源文件

S7-GRAPH源文件

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.19

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

在OB1中集成FB调用

块创建或者调用中的参数集

• 最小调用参数- 1个输入参数,用于控制顺控器

• 标准调用参数- 12个输入参数,用于控制顺控器

- 7个输出参数,用于显示运行状态

• 最大参数集- 17个输入参数,用于控制顺控器

- 12个输出参数,用于显示运行状态

标准参数集

最小参数集

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.20

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

激活调试功能

步骤

• 下载顺控器FB和背景数据块

- 使用菜单项PLC -> Download,把顺控序列FB和背景数据块下载到PLC

• 选择背景数据块

- 通过选择下列菜单项,选择希望用于测试的背景数据块

Debug -> Test Environment

• 启动“Monitor”功能

- 选择顺控系统需要使用的部分。当前可见部分的状态信息将在打开的窗口中

显示。

- 激活菜单项 Debug -> Monitor(打勾)

• 退出“Monitor”功能

- 取消激活菜单项 Debug -> Monitor

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.21

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

S7- HiGraph 软件包

1 2 4

位置凸轮开关

索引输入

索引输出

旋紧/松开计数器轴承

工件

左转

右转

电机

索引

计数器轴承电机

协调器

使用状态图表编程的工具:

• 机器划分为功能单元

• 对每个功能单元创建状态图

• 状态包含动作

• 状态图以消息方式通信

可以使用S7-HiGraph优化自动化项目中的以下阶段:

• 计划,组态

• 编程与调试

• 启动

• 维护,诊断

• 支持重新利用

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.22

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

状态图方法的原理

1 2 4

位置凸轮开关

索引输入

索引输出

旋紧/松开计数器轴承

工件

左转

右转

电机

实例:铣床轮盘• 功能单元(FU)

- 电机

- 索引

- 计数器轴承

• 状态图- 每个FU一张图

- 附加一张协调图标记

计数器轴承电机

协调器

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.23

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

状态图的组件

状态0,1, ...• 表示为圆圈

• 静态状态

• 动态状态

• 总是有一个激活状态

• 状态配有动作

转移• 表示为箭头

• 转移配有转移条件和动作

0

4

1

2

3

1

1

2

1

1

1

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.24

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

实例:电梯控制器的状态图

电机

三楼门的状态图

二楼门的状态图

一楼门的状态图

电梯状态图

三楼

二楼

一楼

带门的电梯

0

63

1

54

2

1 1

1 1

1 1

1 1

3

20

1

1 1

1 1

3

20

1

1 1

1 1

3

20

1

1 1

1 1

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.25

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

创建状态图

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.26

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

HiGraph用户界面

1

2

3

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.27

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

插入状态和转移条件

1

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.28

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

动作编程

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.29

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

转移条件编程

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.30

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

固定指令编程

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.31

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

图组编程

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.32

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

分配实际参数

选中的实例

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.33

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

状态图之间的消息交换

电梯状态图

.

.

.

电梯的接口声明

状态2的入口动作

A To_floor_2;S Door_2_opn;

名称

数据类型

消息

Door_2_opn bool out

A Door_opn

t01的转移条件

门的状态图

门的接口声明

名称

数据类型

消息Door_opn bool in

Door_2_opn/Door_opn

0

63

1

54

2

1 1

1 1

1 1

1 1

3

20

1

1 1

1 1

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.34

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

为消息分配实际值

选中的实例

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.35

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

保存和编译

建立执行顺序• 菜单:

Edit -> Execute Order

编译• 菜单:

File -> Compile

在OB1中集成• 参数INIT_SD赋值

FC

图组

DB

图组的数据

索引

计数器轴承

协调器电机

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.36

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

S7-HiGraph中的调试功能

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.37

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

S7- SCL高级语言编程

编写PLC程序的高级语言

• 与IEC 61131-3文本兼容

(ST=结构化文本))

• PLCopen基础级认证

• 包含高级语言的全部典型元素,例如算

子、表达式、控制语句

• 集成PLC功能, 例如访问

I/O、定时器、计数器...)

优势:

• 结构清晰,易于阅读程序

• 支持复杂算法和大数据量

FUNCTION_BLOCK IntegratorVAR_IN

Init : BOOL; // 输出值复位

x : REAL; // 输入值

Ta : TIME; // 采样时间,ms Ti : TIME; // 集成时间,msulim : REAL; // 输出值上限llim : REAL; // 输出值下限

END_VAR

VAR_OUTPUTy : REAL:= 0.0; // 初始化输出值为0

END_VAR

BEGIN IF TIME_TO_DINT(Ti)= 0 THEN // 被?除

OK := FALSE; y := 0.0; RETURN;

END_IF;IF Init THEN

y:= 0.0;ELSE

y := y+TIME_TO_DINT(Ta)*x/TIME_TO_DINT(Ti); IF y > ulim THEN y := ulim; END_IF; IF y < llim THEN y := llim; END_IF;

END_IF; END_FUNCTION_BLOCK

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.38

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

SCL源文件结构

.

.

FUNCTION_BLOCK FB10

END_FUNCTION_BLOCK

声明部分

表达式部分

属性

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.39

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

块的声明部分

声明部分

Begin

(* 语句部分 *)

FUNCTION_BLOCK fb_name

END_FUNCTION_BLOCK

属性CONSTCONSTANT:=5;P_Part:=0.8;

END_CONST

VARVal1,Val2,Val3 :INT;

END_VAR

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.40

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

块的语句部分

声明部分

Begin

(* 语句部分 *)

FUNCTION_BLOCK fb_name

END_FUNCTION_BLOCK

属性

Begin

//赋值实例Measured value:=0 ;

//控制表达式//的实例

IF I1.1 THENN:=0;SUM:=0.0;

ELSIF START = TRUE THENN:=N+1;SUM:=SUM + IN;

ELSEOK:=FALSE;

END_IF;

// 子程序调用实例FB11.DB22(Pass:=10);

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.41

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

S7-SCL中的表达式、算子和操作数

表达式• 数学表达式

((3+CONST_INT)*(VAR_INT ** 37)/ 3.14)• 比较表达式

A >=9• 逻辑表达式

(n >5)AND(n < 20)

算子• 赋值算子

:=• 数学运算符

*、/、MOD、DIV、+、-、**• 比较运算符

<、>、<=、>=、= <>• 逻辑算子

NOT、AND或&、XOR、OR

操作数• 常量

30. 0、FACTOR、'SIEMENS'• 扩展变量

Status、IB5、DB10.DW5、Motor.Current、

FC12(A:=On)• 括号中的表达式

((3+CONST_INT)*(VAR_INT ** 37))

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.42

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

S7-SCL中的语句

赋值• 实例:

A := B + C;

控制语句• IF语句

IF I 1.1 THEN ... ELSIF ... ELSE ... END_IF• CASE语句

CASE SELECTOR OF 1: ...; 2: ... ELSE: ... END_CASE

• FOR语句

FOR INDEX := 1 TO 49 BY 2 DO ... END_FOR• WHILE语句

WHILE INDEX <= 50 DO ... END_WHILE• REPEAT语句

REPEAT ... UNTIL INDEX:= 51 ... END_REPEAT• CONTINUE语句

WHILE BOOL_1 DO ... CONTINUE ... END_WHILE• EXIT语句

WHILE BOOL_1 DO ... EXIT ... END_WHILE• GOTO语句

IF INDEX <23 THEN GOTO MARK; ...• RETURN语句

IF ENABLED THEN RETURN; ...

功能块和功能调用• FB或SFB调用

FB11.DB20(IN:=VAL1, BY:=VAL2);• FC或SFC调用

RETURN := FC32(IN:=VAL1,OUT:=VAL2);

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.43

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

S7-SCL中的赋值

局部变量• 基本数据类型

COUNTER :=(5 + RUNVAR)* 2;• 结构

- 整个结构

STRUCT_1 := STRUCT_2;- 分量

STRUCT_1.COMP3 := STRUCT_2.COMP1;• 数组

- 整个数组

ARRAY_1 := ARRAY_2;- 分量

ARRAY_1[I] := ARRAY_2 [J];

全局变量

• CPU存储区- 绝对地址

VALUE := IW10;- 符号地址

VALUE := INPUT ; // 符号表中的“INPUT”- 变址

VALUE := IW[INDEX];• 数据块

- 绝对地址

VALUE := DB11.DW5;- 符号地址

VALUE := MOTOR.CURRENT; // MOTOR和CURRENT必须

- 变址

VALUE := MOTOR.DW[Index]; // 在符号表中存在

- 通过输入参数

VALUE := I_PAR.DW[Index]; // I_PAR 被声明为VAR_IN

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.44

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

S7-SCL中的IF语句

语法IF <表达式> THEN < 语句 >[ELSIF <表达式> THEN < 语句>] //可选..[ELSE < 语句>] //可选END_IF

实例IF INPUT_OK THEN

N := 0; SUM := 0.0; OK := FALSE; // 设置OK标志为FALSE

ELSIF START_OK THENN := N + 1; SUM := SUM + IN;

ELSEOK := FALSE;

END_IF;

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.45

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

S7-SCL中的WHILE语句

语法WHILE <表达式> DO <语句>END_WHILE

实例FUNCTION_BLOCK SEARCH // SEARCH在符号表中声明

VAR INDEX : INT; KEYWORD : ARRAY[1..50] OF STRING;

END_VAR

BEGININDEX := 1;WHILE INDEX <= 50 AND KEYWORD[INDEX] <> 'KEY'

DO INDEX := INDEX + 2;

END_WHILE;END_FUNCTION_BLOCK

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.46

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

调用功能块

作为全局实例调用

• 绝对调用

FB10.DB20(X1 := 5, X2 := IW12,...); (* 调用FB10,带背景数据

块DB20 *)• 符号调用

DRIVE.ON(X1 :=5, X2 := IW12,...); (* DRIVE和ON 在符号表中声明*)

作为局部实例调用• 使用标识符调用

VAR MOTOR : FB10;

END_VAR

BEGIN . . . (* 可能在其它功能块中MOTOR(X1 := 5, X2 := IW12,...); 作为局部实例调用*)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.47

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

用于辨识出错的“OK”标志

用于错误检测的全局位 (在块末尾复制到BR位)

实例:// 设置OK变量为TRUE,激活

// 一个检测,以查看

// 以下动作是否被正确

// 执行

OK := TRUE; SUM := SUM + IN; IF OK THEN // 加法执行正确

... ELSE // 加法溢出

... END_IF;

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.48

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

编译SCL源文件

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.49

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

连续监视

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.50

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

设置和编辑断点

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.51

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

用于SIMATIC S7和SIMATIC M7的CFC

CFC(连续功能图):

用于写PLC 程序的图形化工具• 将功能块放置到一个绘图片上,然后将各个块互连

• 可以在下列单元之间互连:

- 在 I/O 域之间

- 连接到其他图表的块

• 在页边栏中管理互连的源

块和目的块

优点• 面向工艺工程师的编程方式

• 加速程序编写、调试和启动

过程

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.52

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

1. 插入块

2. 为块设置参数,并

相互连接 3. 匹配参数属性

4. 编译/下载5. 调试6. 完成

不用编程即可组态CFC应用程序

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.53

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

STEP 7项目中的图表

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.54

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

CFC编辑器

图表总览图表总览

表单视图表单视图

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.55

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

块概念-插入块

通过拖放插入

通过拖放插入

COMPARE块家族

COMPARE块家族

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.56

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

运行时间属性

运行时间属性

块类型

块类型

已连接

的输入

已连接

的输入

输出

输出

块体

块体

块头

块头块名称

块名称

注释

注释

已赋值的参数输入

已赋值的参数输入

数据类型

数据类型

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.57

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

互连输入/输出

信号取反

信号取反

多连接

多连接

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.58

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

连接到全局地址

使用符号表进行选择

使用符号表进行选择

地址输入

地址输入

页边条目

页边条目

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.59

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

块属性

块文件夹中FB的序号

块文件夹中FB的序号

FB的背景数据块

FB的背景数据块

块属性

块属性

在更多OB 中安装

在更多OB 中安装

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.60

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

运行时间属性

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.61

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

块输入/输出

数据类型

数据类型

缺省值

缺省值 参数不显示在CFC中

参数不显示在CFC中

参数名称

参数名称

参数类型

参数类型

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.62

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

编译和下载程序

CFC不能使用

的FC序号

CFC不能使用

的FC序号

CFC不能使用

的DB序号

CFC不能使用

的DB序号

下载

下载

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.63

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

测试和调试

测试模式

打开/关闭

测试模式

打开/关闭 监视启动

监视启动添加I/O添加I/O

移除I/O移除I/O

监视登记的I/O监视登记的I/O

未添加的I/O未添加的I/O

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.64

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

通过S7- SFC组态顺序控制系统

S7-SFC:顺控序列

编程工具• 根据过程自动化

的要求而设计

• 与 IEC 61131-3兼容

• 步分配数值给

CFC中的块

• 转移检查

步激活条件

• 创建时检查语法

直接连接到CFC• 用“拖放”传递数值

• 交叉索引选择

WinCC中的可视化

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_12E.65

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

CFC/SFC与SCL的协作

CFC

使用SCL进行动作组态

SFC

CFC/SFC的协作

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.1

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.2

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.3

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

通过S7-300建立培训设备

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.4

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

S7-300培训设备的组态

PS1

CPU2

DI 1640

DI 1654

DO 1668

DO 167

12

DI 168

16

DO 169

20

AI/AO410

352

模块

-->插槽号

-->I/O地址

-->

版本A(16通道I/O模块)

PS1

CPU2

DI 3240

DO 3254

DI8/DO868

AI 27

304

模块

-->插槽号

-->I/O地址

-->

版本B(32通道I/O模块)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.5

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

S7-400培训设备的组态

PS

缺省地址:

CPU DI32

28

181716151413121110987654321插槽号

DI32

32

DO32

36

DO32

40

AI8

1216

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.6

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

仿真器

V

0 8 1 5 AI1 AI2 AO1 AO2

AI2AI1

-15V...+15V -15V...+15VAI1

AI2 AO1AO2

V

DI DO

.0

.1

.2

.3

.4

.5

.6

.7

.0

.1

.2

.3

.4

.5

.6

.7

.0

.1

.2

.3

.4

.5

.6

.7

.0

.1

.2

.3

.4

.5

.6

.7

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

..........

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.7

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

传送带模型

INI 1到INI 3 (接近开关)

M 1 (电机)

H 1、H 2、H 3 (LED)

S 1、S 2、S 3、S 4 (确认按钮)

LB1 光电开关

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.8

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 1.1:减法后跳转

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.9

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 1.2:乘法后跳转

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.10

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 1.3:跳转到标签

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.11

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 2.1:指数计算

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.12

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 2.2:ACCU1中的数据交换

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.13

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 2.3:计算余数

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.14

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 3.1:计算距离

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.15

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 4.1:使用间接寻址的循环程序

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.16

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 4.1:使用间接寻址的循环程序

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.17

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 4.2:使用寄存器间接寻址的循环程序

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.18

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 4.3:计算和与平均值

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.19

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 5.2:访问复杂数据类型

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.20

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 5.3:读取系统时钟

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.21

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 6.1a:灌装工厂-运行模式

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.22

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 6.1b:灌装工厂-传送控制(第1部分)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.23

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 6.1b:灌装工厂-传送控制(第2部分)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.24

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 6.1b:灌装工厂-传送控制(第3部分)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.25

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 6.2a:用于工作站的FB1(第1部分)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.26

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 6.2a:用于工作站的FB1(第2部分)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.27

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 6.2a:用于传送的FB2(第1部分)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.28

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 6.2a:用于传送的FB2(第2部分)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.29

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 6.2a:OB1

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.30

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 6.2b:扩展到3个工作站(FB10,第1部分)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.31

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 6.2b:扩展到3个工作站(FB10,第2部分)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.32

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 7.2:测试数据模块

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.33

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 7.3:创建DB

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.34

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 7.4:复制DB

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.35

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 7.5:初始化DB

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.36

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 7.6:具有“防触点抖动”功能的计数器模块

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.37

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 8.1:FC43中的错误处理(第1部分)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.38

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 8.1:FC43中的错误处理(第2部分)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.39

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 9.2:使用SFB PUT/GET通信(OB1,第1部分)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.40

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 9.2:使用SFB PUT/GET通信(OB1,第2部分)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.41

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 9.3:使用SFB START/STOP通信(第1部分)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期:2011/9/7文件:PRO2_13E.42

SIMATIC S7Siemens AG 2001。保留所有权利

SITRAIN自动化与驱动培训教材

习题解答 9.3:使用SFB START/STOP通信(第2部分)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_14E.1

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

附录1: 使用文本编辑器创建程序

“保护属性”

ASCII AWL

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_14E.2

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

项目结构中的S7程序

项目

S7S7块

源文件

图表文件夹

符号表

S7块: 编辑器:- OB LAD, STL, FBD- FB LAD, STL, FBD, S7-Graph- FC LAD, STL, FBD- DB DB编辑器

- CFC图

S7程序

S7 源文件:- STL源文件- S7-SCL源文件- S7-HiGraph源文件- S7-Graph源文件

连接表

块(S7-CPU)

工作站(S7-300)

S7 程序

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_14E.3

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

输出和编译概念

用户程序ASCII 源文件

FUNCTION_BLOCK FB21

AUTHOR: Andy FAMILY: plant1 NAME: fb_mot21 VERSION: 01.01

VAR_INPUT IN1: INT:=123;

END_VAR

VAR_OUTPUT OUT1: INT:=123;

END_VAR

VAR_IN_OUT IN_OUT1: INT:=123;

END_VAR

VAR VAR1: INT:=123;

END_VAR..

编译

生成

符号表

编译和生成过程

中的读访问

递增式编辑

打开

保存

编辑过程中

的读访问

面向源文件的编辑

符号编辑器

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_14E.4

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

启动文本编辑器

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_14E.5

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

使用文本编辑器创建程序

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_14E.6

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

插入块模板、块和源文件

正在编辑的源文件

块模板

文件

文件

插入块模板

插入块

插入文件

插入文件

生成

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_14E.7

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

通用输入规则和结构

UDT

全局DB

来自UDT的DB

FB3

FB3的背景DB

FC5

OB1

分配

调用

调用

调用

调用

分配

源文

件中

的顺

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_14E.8

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

逻辑块语法组态

块开头是块说明(绝对或符号)

块标题 (可选)

关键字示例ORGANIZATION_BLOCK OB1FUNCTION_BLOCK FB1FUNCTION FC 1 : int

TITLE = Block title

块注释 (可选)

块属性(可选)

// 块注释

KNOW_HOW_PROTECTAUTHOR: PT41FAMILY: MotorsNAME: MotoroneVERSION: 0815

变量声明部分(声明类型决定于块类型

每个声明类型的终止

指令部分包括程序段程序段标题程序段注释

VAR_INVAR_OUTVAR_IN_OUTVARVAR_TEMP..END_VARBEGINNETWORKTITLE=first network//

块结束 END_ORGANIZATION_BLOCKEND_FUNCTION_BLOCKEND_FUNCTION

块的系统属性(可选){Attr1 := ‘block_val1’; // 块属性1Attr2 := ‘block_val2’; //块属性2Attr3 := ‘block_val3’ //块属性3}

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_14E.9

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

数据块语法组态

块开头是块说明(绝对或符号)

块标题 (可选)

关键字示例

DATA_BLOCK DB 26

TITLE = Block title

块注释 (可选)

块属性(可选)

// 块注释

KNOW_HOW_PROTECTAUTHOR: MüllerFAMILY: MotorsNAME: MotoroneVERSION: 0815

声明部分-决定于DB

全局数据块:变量声明(初始值可选)

STRUCT....END_STRUCT

UDT的DB:UDT规定(绝对或符号)

UDT 16

背景DB:FB规定(绝对或符号)

FB 20

使用当前值赋值部分BEGIN..

块结束 END_DATA_BLOCK

块的系统属性(可选) {Attr1 := ‘block_val1’; // 块属性1Attr2 := ‘block_val2’; //块属性2}

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_14E.10

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

变量声明规则

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_14E.11

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

设置块属性

属性

KNOW_HOW_PROTECT

逻辑块(OB、FB、FC) 数据块 UDT

是是

AUTHOR 是 是 否

FAMILY 是 是 否

NAME 是 是 否

VERSION 是 是 否

UNLINKED 否 是 否

READ_ONLY 否 是 否

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_14E.12

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

习题A1.1: 创建源文件

传送

Station_1 Station_2 Station_3

FB10

Data for Transport

FB10的背景DB

CALL Station_1CALL Station_2CALL Station_3. .CALL Transport

DB10

...stat Station_1 FB1stat Station_2 FB1stat Station_3 FB1stat Transport FB2...

Datafor Station_1

Datafor Station_2

FB1

FB2

Datafor Station_3

OB1

FUNCTION_BLOCK "Station"TITLE =VERSION : 0.1

VAR_INPUTInitial : BOOL ;Proximity_switch : BOOL ;Acknowledge : BOOL ;Clock_bit : BOOL ;

END_VARVAR_OUTPUTLED : BOOL ;Transp_req : BOOL ;

END_VARVAR_IN_OUTConv_busy : BOOL ;

END_VARVARState : STRUCT Busy : BOOL ;Completed : BOOL ;Waiting : BOOL ;END_STRUCT ;Aux_1 : BOOL ;Aux_2 : BOOL ;

END_VARBEGINNETWORKTITLE =Initialization//初始化进行“Busy”设置A #Initial; ...

源文件: "Assembly Line"

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_14E.13

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

习题A1.2:计数已完成的工件

传送

Station_1 Station_2 Station_3

总装配

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_14E.14

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

习题解答A1.1:计数已完成的零件

(FB1, 第1部分)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_14E.15

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

习题解答A1.2:计数已完成的零件

(FB1, 第2部分)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_14E.16

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

习题解答A1.2:计数已完成的零件

(FB2, 第3部分)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_14E.17

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

习题解答A1.2:计数已完成的零件

(FB2, 第4部分)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_14E.18

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

习题解答A1.2:计数已完成的零件

(FB10, 第5部分)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_14E.19

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

习题解答A1.2: 完成零件计数

(FB10, 第6部分)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_15E.1

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

附录2:间接访问FC和FB参数

Closed-loop controller

Closed-loop controller

OB 1

Motor 1Motor 1

FB1

Motor 2Motor 2

FB1

Valve islandValve island

FB2

FB5

Meas_Value ARRAY[1..20]REAL

Sum REALMean_value REAL

L P##Meas_ValueLAR1L W [AR1,P#0.0]T #DB_NumOPN DB[DB_Num]L D [AR1,P#2.0]LAR1

.

.

.

.

FC10

. . .

. . .

. . .

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_15E.2

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

DB5 "Temperature"

FC21

参数的赋值只能通过符号地址

程序段 1:在 FC21中,声明Meas_Val 为一个数组。

CALL FC 21Meas_Val:="Temperature".sequence

使用复杂数据类型的功能调用

实例:向功能传递数组

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_15E.3

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

复杂数据类型的参数传递

OB1 功能FC10

执行程序

CALL FC10On := "Value".Field Off := Q8.0

in On ARRAY[1..10] INT

out Off BOOL...

...L #On[8]...= #Off ...

OB1

BLD 1 = L 20.0L 5T LW 21L P#DBX0.0T LD23UC FC 10

P#L 21.0P#Q 8.0

BLD 2

L 堆栈 (OB1)

Field ARRAY[1..10] INT

LW 21

...

1

2

复杂的实参:

L堆栈

数据块DB-No: 5 区域交叉

指针

DB5: "Value"

在L堆栈中建立指针

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_15E.4

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

间接访问复杂数据类型

地址声明

名称

类型

起始值

注释0.0 in Meas_Val ARRAY[1..8]

*4.0 REAL32.0 out Sum REAL36.0 out Mean_Val REAL

in_out0.0 temp DB_Num WORD

网络1: 确定DB-No.和起始地址

L P## Meas_Val // ACCU1读入指针地址LAR1 // 再加载到AR1;L W [AR1,P#0.0] // 决定DB号T #DB_Num // 并加载到温度变量;OPN DB[DB_Num] // 打开DBL D [AR1,P#2.0] // 决定区域指针LAR1 // 并加载到AR1;

网络2: 计算和

L 0.000000e+000 // ACCU1清零(sum=0.0)L 8 // ACCU1读入计数值; ACCU2读入sum=0

BEGN: TAK // ACCU1读入sum,ACCU2读入计数值ENT // ACCU3读入计数值L D[AR1,P#0.0] // ACCU1读入场分量+R // ACCU1读入sum,ACCU2读入计数值+AR1 P#4.0; // AR1增加4字节TAK // ACCU1读入循环计数,ACCU2读入sumLOOP BEGN; // 循环计数减少,必要时跳转T #Sum // 将sum传到#Sum

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_15E.5

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

指针的参数传递

OB1 功能FC10

执行程序

CALL FC10On := P#I 0.0 INT 10 Off := Q8.0

in On ANY out Off BOOL...

...L P##On...= #Off ...

OB1

BLD 1 = L 20.0L W#16#1005T LW 21L 10T LW 23L 0T LW25L P#I 0.0T LD27AC FC 10

P#L 21P#Q 8.0

BLD 2

L 堆栈 (OB1)

LW 21

...

1

2

POINTER和

ANY参数10H 数据类型:05

重复:10DB号:0 区域交叉

指针: P#I0.0

...

在L堆栈中

建立ANY指针

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_15E.6

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

参数类型的参数传递

OB1

功能FC10

程序执行

CALL FC10On := DB35 Off := Q8.0

in On BLOCK_DB out Off BOOL...

...OPN #ON...= #Off ...

BLD 1 = L 20.0AC FC 10

P#4.3P#Q 8.0

BLD 2

块参数:

定时器,计数器

BLOCK_xx

OB1

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_15E.7

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

DB中的基本实参和常量的特点

OB1 功能FC10

程序执行

CALL FC10On_1 := I 0.1 On_2 := DB5.DBX2.2 Off := DB5.DBX2.4

in On_1 BOOL in On_2 BOOL out Off BOOl...

...A #On_1A #On_2= #Off ...

OB1

BLD 1 = L 20.0OPN DB 5A DBX 2.2= L 20.1AC FC 10

P#I 0.1P#L 20.1P#L 20.2

A L 20.2OPN DB 5= DBX 2.4BLD 2

L 堆栈 (OB1)

DB5

LB 20.. .. .. .. .. 0 1 ..0 0 0 1 0 1 0 0

...

...

1

2

3DBB2

基本实参:

常量

在数据块中 0

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_15E.8

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

A2.1练习:在FC中计算Date-and-Time参数

FC51EN ENO

IN_DT Sec QB13

Min QB12

OB1_DATE_TIME

Hour QB8

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_15E.9

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

使用复杂数据类型的FB调用

实例:传递数组到功能块

FB17

复杂参数的赋值仅通过符号地址

程序段

1:

CALL FB 17, DB 30Meas_1 :="Temperature".Cylinder Sum_1 :=MD20Sum_2 :=MD30Meas_2 :="Temperature".Shaft

DB2 "Temperature"

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_15E.10

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

间接访问输入/输出参数

Address Declaration Name Type Start value Comment0.0 in Meas_1 ARRAY[1..10]*4.0 REAL40.0 out Sum_1 REAL 0.000000e+00044.0 out Sum_2 REAL 0.000000e+00048.0 in_out Meas_2 ARRAY[1..15]*4.0 in_out REAL54.0 stat DB_Num INT 0

程序段 1:决定Meas_1的起始地址

LAR1 P##Meas_1 // 区域交叉指针加载到参数,

// 在AR1中无地址偏移(多重执行个体)

TAR2 // 载入ACCU1中的地址偏移量+AR1 // 把地址偏移量加到AR1;

// AR1现在指向背景DB中的参数// 背景DB已经打开

程序段

2:访问Meas_1L 0.000000e+000 // ACCU1清零(Summe =0.0)L 10 // ACCU1读入计数值;ACCU2读入Sum=0

BEGN: TAK // Sum在ACCU1,计数值在ACCU2ENT // ACCU3读入计数值L D[AR1,P#0.0] // ACCU1中的域分量+R // Sum在ACCU1,ACCU2读入计数值+AR1 P#4.0; // AR1增加4字节TAK //在ACCU1中循环计数, sum在ACCU2LOOP BEGN; //减循环计数,必要时跳转T #Sum_1 // 将sum传递到#Sum_1

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_15E.11

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

间接访问输入/输出参数

Address Declaration Name Type Start value Comment0.0 in Meas_1 ARRAY[1..10]*4.0 REAL40.0 out Sum_1 REAL 0.000000e+00044.0 out Sum_2 REAL 0.000000e+00048.0 in_out Meas_2 ARRAY[1..15]*4.0 in_out REAL54.0 stat DB_Num INT 0

网络3:决定Meas_2的起始地址

LAR1 P##Messung_2 // POINTER读入区域交叉指针,不TAR2 // 读入ACCU1中地址偏移量, 加到AR1;+AR1 // AR1现在指向背景DB中的POINTERL W [AR1,P#0.0] // ACCU1从POINTER读取DB号T #DB_Num // 把DB号(或者0)设为静态变量OPN DB [#DB_Num] // 打开DBL D [AR1,P#2.0] // 区域交叉指针加载到参数LAR1 // AR1读入指针,AR1指向参数

网络4:访问Meas_2

L 0.000000e+000 // ACCU1请零(Sum =0.0)L 15 // ACCU1读入计数值;ACCU2读入Sum=0

BEGN: TAK // Sum在ACCU1中,计数值在ACCU2中ENT // ACCU3读入计数值L D[AR1,P#0.0] // 域分量在ACCU1+R // Sum在ACCU1中,ACCU2读入计数值... // ...

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_15E.12

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

“嵌套传递”参数

嵌套深度:

S7-300: 最多8 S7-400: 最多16

. . .

嵌套传递决定于块、数据和参数类型:

调用

FC调用FC FB调用FC FC调用FB FB调用FB数据类型

E C P E C P E C P E C P输入 ->输入

x - - x x - x - x x x x输出->输出

x - - x x - x - - x x -输入/输出 ->输入

x - - x - - x - - x - -输入/输出 -> 输出

x - - x - - x - - x - -输入/输出 ->输入/输出

x - - x - - x - - x - -

E:基本数据类型C: 复杂数据类型P: 参数类型(定时器,计数器,块_x)

FBs FBs FCsOB

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_15E.13

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

A2.2练习:在FB中计算Date-and-Time参数

FB63

EN ENO

IN_DT Sec QB13

Min QB12

OB1_DATE_TIME

Hour QB8

FB83

IN_DT

0.0 in IN_DT DATE_AND_TIME DT#90-1-1-0:0:0.0 outin_out

8.0 stat DUMMY ARRAY[1..100]*2.0 stat INT

208.0 stat FB63_DT FB63

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_15E.14

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

A2.3练习:在FB中计算In/Out参数

FB64

EN ENO

IO_DT Sec QB13

Min QB12

OB1_DATE_TIME

Hour QB8

FB84

IN_DT

0.0 in IN_DT DATE_AND_TIME DT#90-1-1-0:0:0.0 outin_out

8.0 stat DUMMY ARRAY[1..100]*2.0 stat INT

208.0 stat FB64_DT FB64...

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_15E.15

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

A2.1习题解答:在FC中访问DT参数

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_15E.16

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

A2.2习题解答:在FB中访问DT参数

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_15E.17

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

A2.3习题解答:在FB中访问I/O参数(第1部分)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

日期: 2011/9/7文件: PRO2_15E.18

SIMATIC S7Siemens AG 2001。保留所有权利。

SITRAIN自动化与驱动培训教材

A2.3习题解答:在FB中访问I/O参数(第2部分)

www.plcworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com


Recommended