Date post: | 29-Jan-2023 |
Category: |
Documents |
Upload: | khangminh22 |
View: | 0 times |
Download: | 0 times |
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