计算机控制装置

Download Report

Transcript 计算机控制装置

四、SIMATIC S7-300 PLC及指令系统
4.1 系统组成
4.2
系统配置
4.3 指令系统简介
4.4 程序结构
4.5
—计算机控制装置—
S7 PLC的网络通信
1
4.1 S7-300 PLC的系统组成
S7-300 PLC的硬件构成 : CPU模块
接口模块(IM)
I/O模块(SM)
功能模块(FM)
电源模块(PS)
导轨(RACK)等
导
轨
模
块
总
线
连
接
器
DIN
—计算机控制装置—
模
块
DIN
通
信
模
块
I/O
CPU
电
源
模 模
块 块
导
轨
2
4.1.1 CPU单元
SIMATIC S7-300有多种性能级别的CPU:
1. 各种CPU均封装在一个紧凑的塑料壳体内
2. CPU上集成有MPI多点接口, MPI接口可以使PLC与其它PLC、OS、
PG、OP等建立通信联系,可建立由多个站点组成的简单网络。
3. CPU31x –2集成Profibus-DP接口,适用于大范围分布式自动化结构。
4. 通过模块扩展,可以实现EtherNet通信
5. 执行速率、存储器容量、可扩展I/O点数等都随着CPU序号的递增而
增加。
—计算机控制装置—
3
CPU单元—1
CPU
CPU312IFM
CPU313
CPU314
CPU315-2DP
工作存储器
6KB
12KB
24KB
64KB
内部装载存储器
20KB RAM
20KBEEPROM
20KB RAM
40KB RAM
96KB RAM
扩展装载存储器
——
4M FEPROM
4M FEPROM
4M FEPROM
DI (最大)
256+10(集成)
256
1024
1024(8192)
DO (最大)
256+6(集成)
256
1024
1024(8192)
AI (最大)
64
64
256
256(512)
AO (最大)
32
32
128
128(512)
最大机架数(模块数)
1(8)
1(8)
4(32)
4(32)
CPU集成DP接口
——
——
——
1
CPU集成MPI接口
√
√
√
√
—计算机控制装置—
4
4.1.2 模拟量输入模块(SM331)
模拟量值的表示方法
SM331的输入测量范围很宽,可直接输入电压、电流、电阻、mV等信号
单极性电压、电流输入的数字化表示:
双极性是什么意思?
量 程
1~5V
4~20mA
150Ω
十进制结果
范围
5
……
1
20
……
4
150
……
0
27648
……
0
标称范围
—计算机控制装置—
5
4~20mA
1~5VDC
0~10mA
0~20mA
……
AI模块
L PIW 400
T # Dec_in
CALL "SCALE"
IN
: =# Dec_in
HI_LIM : =2.000000e+002
LO_LIM : =0.000000e+000
BIPOLAR : =FALSE
RET_VAL : =#ret
OUT
: =#In_result
数字量
0~27648
-27648~
27648
转换程序
工程量,如:
0~200kPa
……
//从端口地址(例如:400)读入十进制转换结果
//存入临时变量Dec_in,#表示临时变量
//直接调用系统提供的转换函数,以下是输入输出参数
//入口参数:十进制转换结果
//入口参数:工程量上限200,kPa(PLC本身没有单位概念)
//入口参数:工程量下限0
//入口参数:TRUE为双极性,FALSE为单极性
//出口参数:返回值(准确--0,错误--其它值)
//出口参数:工程量转换结果
变送器:把(0-200kPa)转换为(4-20mA)
模 块:把(4-20mA)转换为(0,27648)
程 序:把(0,27648)转换为(0-200kPa)的值( In_result ),共程序调用
—计算机控制装置—
6
SM331模块的硬件设置
2种规格型号:8通道、2通道
量程块上的标记
ch 0、1
模块上的标记
ch 2、3
※ 模拟量模块装有量程块,调整量程块的方位可改变模块内部的硬件结构
※ 每两个相邻输入通道共用一个量程块,构成一个通道组。
※ 量程块是一个正方体的短接块,在上方有“A”,“B”,“C”,“D”四个标记
※ 不同的量程块位置,适用于不同的测量方法和测量范围。
—计算机控制装置—
7
SM331量程块设置对应关系 :
设置
标记
对应的测量方式及范围
缺省设置
A
电 压:1000mV
电 阻:150Ω、300Ω、600Ω、Pt100、Ni100
热电偶:N、E、J、K等各型热电偶
B
电 压:10V
C
电 流:20mA(4线制变送器输出)
电流:4~20mA(4线制)
D
电 流:4~20mA(2线制变送器输出)
电流:4~20mA(2线制)
—计算机控制装置—
电压: 1000mV
电压: 10V
8
SM331模块的软件设置
诊断中断允许
限幅中断允许
通道组
通道组诊断
断线检查
信号类型
信号范围
积分时间设置
上下限设置
—计算机控制装置—
9
SM331模块的信号连接
输入信号类型: 电压信号
电流信号
二线制电流
四线制电流
毫伏信号
电阻信号
—计算机控制装置—
10
电压信号连接
模块配置成电压输入(B)
L+
M
光隔
+
U
M+
总线
M-
-
+
U
M+
ADC
M-
-
MANA
—计算机控制装置—
11
电流信号连接
两线制仪表与四线制仪表?
模块配置成四线制电流输入(C),只接收4~20mA电流
L+
M
4~20mA
24VDC/
220VAC
I
M+
总线
M-
4~20mA
24VDC/
220VAC
光隔
I
M+
ADC
M-
MANA
四线制仪表
—计算机控制装置—
四线制输入
12
电流信号连接
模块配置成四线制电流输入(C),只接收4~20mA电流
24V电源
+
I
-
L+
M
光隔
+
M+
-
M-
4~20mA
M+
总线
ADC
M-
MANA
二线制仪表
—计算机控制装置—
四线制输入
13
电流信号连接
模块配置成二线制电流输入(D),带配电接收4~20mA电流
L+
M
24V
光隔
I
+
M+
-
M-
4~20mA
M+
ADC
I
+
总线
-
4~20mA
ADC
M-
MANA
二线制仪表
—计算机控制装置—
二线制输入
MANA
内部原理示意
14
毫伏信号连接
一般什么仪表输出mV信号?
该仪表在使用时需要注意什么?
参考点
L+
M
L+
M
M+
M+
M-
M-
M+
ADC
M+
ADC
M-
M-
COMP +
COMP -
COMP +
COMP -
补偿导线
补偿盒
外部补偿
—计算机控制装置—
内部补偿
15
电阻信号连接
一般什么仪表输出Ω信号?
该仪表在使用时需要注意什么?
L+
M
L+
M
M+
M+
M+
M-
M-
M-
Ic+
ADC
Ic+
Ic-
+
L+
M
MANA
四线制连接方式
—计算机控制装置—
Ic+
Ic-
+
-
ADC
Ic-
+
-
MANA
三线制连接方式
ADC
-
MANA
二线制连接方式
16
4.1.3 模拟量输出模块(SM332)
模拟量值的表示方法
单极性输出
双极性输出
输出信号标称范围
0~20mA 4~20mA 0~10V
20.000
……
0
20.000
……
4.000
10.000
……
0
1~5V
5.0000
……
1.0000
十进制
结果
输出信号标称范围
±10V
±20mA
十进制
结果
27648
……
0
10.0000
……
-10.0000
20.000
……
-20.000
27648
……
-27648
SM332模块可以输出电压和电流两种类型的信号
—计算机控制装置—
17
阀位
转换程序
如:0~100%
CALL "UNSCALE"
IN
:=#Out
HI_LIM :=1.000000e+002
LO_LIM :=0.000000e+000
BIPOLAR :=FALSE
RET_VAL :=#Err
OUT
:=#Out_result
L #Out_result
T PQW 416
单:0~27648
AO模块
双:-27648~27648
4~20mA
0~10VDC
0~20mA
……
//直接调用系统提供的转换函数,以下是输入输出参数
//入口参数:阀位值0~100%浮点数
//入口参数:阀位上限100
//入口参数:阀位下限0
//入口参数:TRUE为双极性输出,FALSE单极性输出
//出口参数:返回值
//出口参数:十进制转换结果存入临时变量
//十进制转换结果输出到过程输出缓冲区,如416
程 序:把(0-100%)转换为(0-27648)
模 块:把(0-27648 )转换为(4-20mA)
执行器:把(4-20mA)转换为相应的阀位
—计算机控制装置—
18
SM332模块的软件设置(不需要硬件设置)
SM332有2×12、4×12、8×12位等AO模块,其特性、参数、工作原理完全相同。
诊断中断允许
通道诊断
信号类型I、V
信号范围
0~20mA
4~20mA
CPU停止时输出保持
CPU停止时输出为0
—计算机控制装置—
电压输出范围
19
SM332模块的信号连接
输出信号类型:
电流信号
电压信号
每通道有4个端子
电压输出
L+
M
L+
M
QV
QV
S+
S+
DAC
S-
MANA
电压输出(4线)
—计算机控制装置—
RL
DAC
S-
RL
MANA
电压输出(2线)
20
电流输出
L+
M
QI
S+
DAC
S-
RL Io
MANA
—计算机控制装置—
21
4.1.4 开关量输入模块 (SM321)
开关量输入模块SM321主要有直流信号输入和交流信号输入二大类
SM321开关量输入模块
16×24VDC
32×24VDC
16×120VAC
8×120/230VAC
输入点数
16
32
16
8
“1”
15~30VDC
15~30VDC
79~132VAC
79~264VAC
“0”
-3~5VDC
-3~5VDC
0~20VAC
0~40VAC
与背板总线的隔离
光耦
光耦
光耦
光耦
“1”信号典型输入电流
7mA
7.5mA
6mA
6.5mA/11mA
典型输入延迟时间
1.2~4.8ms
1.2~4.8ms
25ms
25ms
诊断中断
某些型号具备
——
——
——
绝缘耐压测试
500VDC
500VDC
1500VAC
1500VAC
输入电压
—计算机控制装置—
22
4.1.5 开关量输出模块(SM322)
SM322模块有晶体管、可控硅和继电器3种输出类型
SM322开关量输出模块
输出点数
晶体管输出
8
额定电压
“1”信号最大输出电流
16
可控硅输出
32
24VDC
2A
0.5A
0.5A
继电器输出
8
16
8
16
120/230VAC
120VAC
230VAC/24VDC
1A
0.5A
——
2mA
1mA
——
“0”信号最大输出电流
0.5mA
与背板总线的隔离
光耦
光耦
光耦
触点容量
——
——
2A
阻性负载
100Hz
10Hz
2Hz
感性负载
0.5Hz
0.5Hz
0.5Hz
灯负载
100Hz
1Hz
2Hz
诊断
——
LED指示
——
绝缘耐压测试
500VDC
1500VAC
1500VAC
触点开
关频率
—计算机控制装置—
23
4.2 系统配置
根据自动化系统的实际规模和要求,配置PLC硬件系统。
※S7系列PLC采用的是模块化的结构形式,根据系统规模用户可选择不同型号
和不同数量的模块,并把这些模块安装在一个或多个机架上。
※除了CPU模块、电源模块、通信接口模块之外,它规定每一个机架最多可以
安装8个I/O信号模块。
※一个PLC系统的最大配置能力(包括I/O点数、机架数等)与CPU的型号相关
—计算机控制装置—
24
常用的模块:
CPU:312、313、314、315-2DP、316-2……
电源:PS-307(2A、5A、10A)、SITOP(5A、10A、20A、40A)
接口模块(连接机架):IM365(CR,最多1)/IM365(ER,最多1)
IM360(CR,最多1)/IM361(ER,最多3)
IM153(ER,最多127,DP总线)
AI:SM331(I、V、mV、Ω;2通道、8通道)
SM331 RTD( Ω ;2通道、8通道)
AO:SM332(I、V;2通道、4通道,8通道)
DI:SM321(8/16/32通道)
DO:SM322 (8/16/32通道)
—计算机控制装置—
25
示例:
某系统需要
输入:46路4~20mA信号
输入:4路PT100信号
输出:32路4~20mA信号
要求配置S7 PLC的I/O模块并选择合适的CPU单元
每路4~20mA占1个A/D通道 → 需46个A/D通道
冗余10
个通道
冗余4个
RTD通道
需7块8通道SM331
电阻信号可以配置RTD模块 → 需4个RTD通道
需1块8通道SM331 RTD
每路4~20mA占1个D/A通道 → 需32个D/A通道
需4块8通道SM332
(1) IO模块配置一
过多的冗余是浪费,但适当的冗余还是必要的
总计12块SM模块,需要2个机架
—计算机控制装置—
26
示例:
(2) IO模块配置二
每路4~20mA占1个A/D通道 → 需46个A/D通道
冗余2个
A/D通道
需7块8通道SM331
每路电阻信号占2个A/D通道 → 需8个A/D通道
每路4~20mA占1个D/A通道 → 需32个D/A通道
需4块8通道SM332
总计11块SM模块,需要2个机架
(3) CPU配置
该系统需要12个SM模块,必须安装到2的机架,如果单纯从I/O配置的角度
分析(暂不考虑内存、速度需求),根据表7.1中的性能参数,该系统可
以选用CPU314或CPU314以上的型号均可。
—计算机控制装置—
27
示例:
(3) 接口模块 有三种选择:
第一种:IM365/IM365,最经济
第二种:IM360/IM361,有一定扩展 能力,可以扩到4个机架
第三章:IM153,CPU上需要有DP口(或者通过模块扩展DP口),有很大的
扩展能力,可方便地和其他系统组网
(4) 电源模块
模块供电,外部仪表供电(确定合适的电源模块的功率)
尽管理论上可以集中供电,即两个机架用同一个电源,但实际系统建议每
个机架分别配置电源模块
2块
—计算机控制装置—
28
示例:
(5) 其它附设
导轨:安装各种模块(几个机架至少几块)
与上位机通信的接口卡:板卡式MPI网卡CP5611
编程电缆(外置,USB或者串口连接)
内存卡:新CPU必须,有不同容量,如64KB、128KB、512KB、2MB、4MB
总线连接器:DP总线连接、上下位机采用网卡连接时需要,每点1个
通信电缆(屏蔽双绞线):DP总线连接、上下位机采用网卡连接时需要
下位机开发软件:STEP7 5.x(很贵的啊)
上位机组态软件:WINCC(和系统点数有关系,可以自主开发)
……
—计算机控制装置—
29
4.2.1 硬件结构配置
※PLC模块的安装是有顺序要求的,每个机架从左到右分为11个逻辑槽号
※电源模块安装在最左边的1#槽,2#槽安装CPU模块,3#槽安装通信接口模块,4~
11#槽可自由分配I/O信号模块、功能模块或扩展通信模块。
※需要注意的是,槽号是相对的,机架上并不存在物理上的槽位限制。
1
2
CPU
电
源
模 模
块 块
—计算机控制装置—
3 4
通
信
模
块
5
6 7
8 9 10 11
逻辑槽号
I/O模块
30
—计算机控制装置—
CPU2
电
源
1
IO IO IO IO IO IO
4 5 6 7 8 9
电 接 IO IO IO IO IO IO
源口 4 5 6 7 8 9
1 2
31
机架的连接(1)
方式一:如果:机架数量=2 and 机架之间的距离≤1米
接口模块:
IM365
信号、功能模块
接口模块:
IM365
扩展机架(ER)
1
3 4 5 6 7 8 9 10 11
信号、功能模块
中央机架(CR)
槽位号
—计算机控制装置—
1
2
3 4 5 6 7 8 9 10 11
CPU
32
机架的连接(2)
方式二:如果:机架数量≤4 and 机架之间的距离≤10米
接口模块:
IM361
接口模块:
IM361
扩展机架(ER)
1 3 4 5 6 7 8 9
扩展机架(ER)
接口模块:
IM360
1 3 4 5 6 7 8 9
中央机架(CR)
1
—计算机控制装置—
2
3 4 5 6 7 8 9 10 11
33
机架的连接(3)
方式三:如果:机架数量>4 or 机架之间的距离>10米
要求:CPU上集成DP口或在CR上扩展DP口(Profibus-DP)
扩展机架(ER)
1 3 4 5 6 7 8 9
连接到DP接口
Profibus-DP总线
扩展机架(ER)
1 3 4 5 6 7 8 9
1
2
4
5
6
7
8
扩展机架(ER)
9
CR:安装在控制室
1 3 4 5 6 7 8 9
IM153
扩展机架(ER)
1 3 4 5 6 7 8 9
—计算机控制装置—
34
总结
• 硬件配置部分
【一个机架】
≤8个SM/FM模块
[电源] [ CPU] [SM/FM][SM/FM]……[SM/FM]
【两个机架,间距≤ 10米/1米】
≤8个SM/FM模块
[电源] [ CPU] [IM360/365] [SM/FM][SM/FM]……[SM/FM]
≤8个SM/FM模块
[电源]
[IM361/365] [SM/FM][SM/FM]……[SM/FM]
—计算机控制装置—
35
【3~4个机架,间距≤ 10米】
≤8个SM/FM模块
[电源] [ CPU] [IM360] [SM/FM][SM/FM]……[SM/FM]
[电源]
[IM361] [SM/FM][SM/FM]……[SM/FM]
[电源]
[IM361] [SM/FM][SM/FM]……[SM/FM]
[电源]
[IM361] [SM/FM][SM/FM]……[SM/FM]
—计算机控制装置—
36
【多个机架,间距“不限”】
[电源] [ CPU]
[SM/FM][SM/FM]……[SM/FM]
[电源]
[IM153] [SM/FM][SM/FM]……[SM/FM]
[电源]
[IM153] [SM/FM][SM/FM]……[SM/FM]
[电源]
[IM153] [SM/FM][SM/FM]……[SM/FM]
[电源]
[IM153] [SM/FM][SM/FM]……[SM/FM]
[电源]
[IM153] [SM/FM][SM/FM]……[SM/FM]
Profibus DP总线
—计算机控制装置—
37
PLC系统开发的基本流程
根据工艺要求,确定I/O参数数量
依据工艺流程图
硬件选型:CPU、IO、通信接口、电源……
Offline
1. 进入Step 7
2-1.硬件配置
2-2.地址配置:网络地址
IO端口地址
3. 软件编程(针对工艺要求)
确定硬件结构
Offline
控制柜设计(机架分配、布置)和制作
PLC系统及端子的布置与接线(成套)
现场仪表的连接(现场实施的开始)
Online 联机调试、投运
—计算机控制装置—
38
4.2.2 IO地址配置
系统的I/O模块分为:
模拟量和数字量二种类型,
每个模块包含若干个通道。
模块上任何通道均配置独立的地址
应用程序则根据地址实现对它们的操作。
§数字量I/O模块
每个通道的地址占用一位(bit)
数字量模块最大为 32 通道
模块地址最多占 4 字节
§模拟量I/O模块
每个模拟量地址为一个字地址(2byte)
模拟量模块最大为 8 通道
模拟地址最多占 16 字节
—计算机控制装置—
39
I/O地址的生成
I/O地址的生成
在硬件配置时,系统提供缺省地址(推荐使用)
手动更改(部分CPU提供这种功能)
—计算机控制装置—
40
I/O地址的配置注意事项:
1.
配置IO模块地址时,可以是系统提供缺省地址(初学者推荐使用),也
可以是手工自主配置(部分CPU不支持该功能;
2.
不同CPU的最大IO寻址能力是不同的,如CPU315-2DP可达2KB;
3.
输入、输出的地址是不同的,即CPU315-2DP最大输入地址2KB,最
大输出地址也是2KB,实际可寻址4KB
4.
0-127字节留给开关量模块使用
—计算机控制装置—
41
例子:
某8通道SM331模块,配置地址为256-271
第0~7通道的地址分别为:256、258、260、262、264、266、268、270
L
读取第0个通道的模拟量转换结果: L
PIW256
读取第7个通道的模拟量转换结果: L
PIW270
PIW256--就是把十进制转换结果,读入到累加器。
如4~20mA输入信号的转换结果式
0-27648
用scale函数可以在PLC内部把0~27648还原到与变送器量程对于的工程量
—计算机控制装置—
42
例子:
某8通道SM332模块,配置地址为272-287
把一个输出送到第0个输出通道:
T
PQW272
把一个输出送到第7个输出通道:
T
PQW286
输出过程:
(1)控制策略运算结果,一般为0~100%的阀位
(2)调用unscale函数把0~100转换为0~27648(十进制数)
(3)T
PQW272 / 274……
—计算机控制装置—
43
例子:
某32通道SM321模块,配置地址为0-3
读入第0个通道的二进制值:
A
I 0.0
读入第7个通道的二进制值:
A
I 0.7
读入第8个通道的二进制值:
A
I 1.0
读入第22个通道的二进制值:
A
I 2.6
……
某16通道SM322模块,配置地址为4-5
输出一个二进制值到第0通道:
=
Q 4.0
输出一个二进制值到第7通道:
=
Q 4.7
输出一个二进制值到第12通道:
=
Q 5.4
……
—计算机控制装置—
44
4.2.3 内部寄存器
S7 CPU的寄存器有(7个):
2个32位累加器***
2个32位地址寄存器**
2个32位数据块地址寄存器
1个16位状态字寄存器*
—计算机控制装置—
累加器
累加器1
累加器2
32位
(A1) 主
(A2) 辅
地址寄存器
32位
地址寄存器1 (AR1)
地址寄存器2 (AR2)
数据块地址寄存器 32位
共享数据块
背景数据块
状态字寄存器
状态位
16位
45
4.2.4 存储区
CPU能访问的存储区:P、Q、I、M、T、C、DB块、L堆栈
名 称
存储区
存储区功能
输入(I)
输出(Q)
过程输入映像表
过程输出映像表
每个扫描周期更新一次(对应开关量输入输出)
过程输入/输出映像表分别对应外设输入/输出存储区的前128字节映像
访问方式:位、字节、字、双字
外设输入(PI)
外设输出(PQ)
外设输入存储器
外设输出存储器
外设存储区与所有IO对应,允许直接访问现场设备
访问方式:字节、字、双字(不能访问位)
存放程序运行的标志或其他中间结果,其大小与CPU型号有关
访问方式:位、字节、字、双字
位存储区(M)
数据块(DB)
数据块
数据类型、数据块大小自由定义,访问方式:位、字节、字、双字
分共享数据块、背景数据块
定时器(T)
定时器
定时器数量与CPU型号有关
计数器(C)
计数器
计数器数量与CPU型号有关
临时本地数据存
储区(L)
L堆栈
在FB、FC、OB块运行时,在块变量声明表中暂时变量存放在该存储
区。(建议编程时不要直接使用该存储区)
主要关心哪些存储区能够按“位”方位,哪些不能。
—计算机控制装置—
46
外设I/O与存储区的映像
外设IO模块与存储区有二种映射关系:
① 外设输入输出存储区(PI、PQ)
② 输入输出映像区(I、Q)
外设输入输出存储区:包括外设输入(PI)和外设输出(PQ)
不能逐位访问,其它都可以
输入输出映像表:包括输入过程映像表(I)和输出过程映像表(Q)
◎输入映像表为128Byte,是对PI首128Byte的映像,
◎输出映像表为128Byte,是对PQ的首128Byte的映像
这两段地址一般作为开关量输入、输出模块的IO地址
能够逐位方式访问,其它也可以
—计算机控制装置—
47
输入映像示例
物理模块
配置地址
PI
I
32路 DI
中央机架
槽4
0I
1I
2I
3I
0I
1I
0
1
0
1
2
8路AI
3
中央机架
槽5
4
5
6
7
272I
273I
274I
275I
276I
277I
278I
279I
280I
281I
282I
283I
284I
285I
286I
287I
—计算机控制装置—
开关量输入模
……
块缺省地址
127I
272I
273I
274I
275I
276I
277I
278I
279I
280I
281I
282I
283I
……
模拟量输入模
块地址
2
……
……
127
用户程序
装载输入映
像区
第0字节
IB 0
逐位装载
I0. 5
装载外设输
入存储区
PIW 272
第0 AI 通道
装载外设输
入存储区
PIW 280
第4 AI 通道
48
输出映像示例
物理模块
配置地址
外设输出
存储区
输出映
像 区
16路 DO
ER1
槽4
32Q
33Q
……
32Q
……
32
……
33
400Q
401Q
402Q
403Q
127Q
……
400Q
401Q
……
……
127
404Q
402Q
405Q
403Q
406Q
404Q
407Q
405Q
406Q
407Q
……
……
……
……
0
4路AO
ER1
槽5
1
2
3
用户程序
逐位输出
Q32. 2
装载外设
输出存储
区
PQW 400
……
64K
—计算机控制装置—
49
4.3 指令系统简介
SIMATIC S7系列PLC用户程序的开发软件包:STEP 7
S7系列PLC的编程语言:LAD(梯形图)、STL(语句表)*、
SCL(标准控制语言)、C for S7(C语言)等,
用户可以选择一种语言编程,也可混合使用几种语言编程。
常用的编程语言: LAD(梯形图)、STL(语句表)*
—计算机控制装置—
50
4.3.1 STL指令及其结构
定义要执行的功能
执行该操作所需要的信息
语句指令: 操作码
操作数
A
I 0.1
//对输入继电器 I 0.1 进行与操作
L
MW10
//将字MW10装入累加器1
 有些语句指令不带操作数,它们操作的对象是唯一的。
NOT
—计算机控制装置—
//对逻辑操作结果(RLO)取反。
51
表示操作数存放区域及操作数
位数(位、字节、字等)
表示操作数在该存储区域
内的具体位置
操作数:
A
L
标识符
I
MW
标识参数
0.1
10
辅助标识符进一步说明操作数的位数长度
包括有:X(位),B(字节),
W(字——2字节),
D(双字——4字节)
主标识符:表示操作数所在的存储区
主要有:I(输入映像区),Q(输出映像区),
M(位存储区),PI(外部输入),PQ(外部
输出),T(定时器),C(计数器),DB
(数据块),L(本地数据)等
—计算机控制装置—
52
M 10.3
MB10
7
6
5
4
3
2
1 0
10.7
10.6
10.5
10.4
10.3
10.2
10.1 10.0
MW10
MB11
MB12
MD10
MB13
MB14
位存储区的操作数表示方式
—计算机控制装置—
53
存储区及其操作数表示方法
存储区域
位
字节
字
双字
输入映像区(I)
√
I
√
IB
√
IW
√
ID
输出映像区(Q)
√
Q
√
QB
√
QW
√
QD
位存储区(M)
√
M
√
MB
√
MW
√
MD
外部输入存储区(PI)
√
PIB
√
PIW
√
PID
外部输出存储区(PQ)
√
PQB
√ PQW √
PQD
数据块(用“OPN DB”打开) √
DBX
√
DBB
√ DBW √
DBD
数据块(用“OPN DI”打开)
√
DIX
√
DIB
√
DIW
√
DID
临时堆栈(L)
√
L
√
LB
√
LW
√
LD
—计算机控制装置—
54
4.3.2 寻址方式
操 作 数——指令的操作或运算对象
寻址方式——指令得到操作数的方式。
寻址方式┳━━立即寻址
┣━━存储器直接寻址
┣━━存储器间接寻址
┗━━寄存器间接寻址
—计算机控制装置—
55
寻址方式一:立即寻址
立即寻址:对常数或常量的寻址方式,操作数本身包含在指令中
SET
//把RLO (Result of Logic Operation)置“1”
L
27
//把整数27装入累加器1
L
C#0100
//把 BCD码常数0100装入累加器1
—计算机控制装置—
56
寻址方式二:直接寻址
直接寻址:在指令中直接给出操作数的存储单元地址
A
I0 . 0
//对输入位I0.0进行“与”逻辑操作
S
L20 . 0
//把本地数据位L20.0置1
=
M115 . 4
// 将RLO的内容传给位存储区中的位M115.4
L
DB1 . DBD12
//把数据块DB1双字DBD12中的内容传送给累加器1
//双字表示32位,如浮点数为32为双字
—计算机控制装置—
57
寻址方式三:存储器间接寻址
(用得不是很多)
存储器间接寻址 :标识参数由一个存储器给出,存储器的内容对应该标
识参数的值(该值又称为地址指针)
该寻址方式能动态改变操作数存储器的地址,常用于程序循环
A I[MD 2]
//对由MD 2指出的输入位进行“与”逻辑操作,如: MD 2值为
//2#0000 0000 0000 0000 0000 0000 0101 0110表示I 10. 6
L IB[DBD 4]
//将由双字DBD 4指出的输入字节装入累加器1,如DBD 4值为
//2#0000 0000 0000 0000 0000 0000 0101 0000表示对IB10操作
OPN DB[MW 2] //打开由字MW2指出的数据块,如MW2为3,则打开DB3
—计算机控制装置—
58
直接寻址
存 储 器
间接寻址
A I 1.2
—— 标识参数:1.2
L MB10
—— 标识参数:10
L MD 12
—— 标识参数:12
A I [ DB1.DBD0 ]
—— DB1.DBD0=P#1.2
L MB [ MD16 ]
—— MD16=P#10.0
L MD [ MW20 ]
—— MW20=12
地址的两种表述方式 字地址指针
双字地址指针
—计算机控制装置—
59
地址指针的描述
字地址指针的描述:MW20
15
8
7
0
XXXX XXXX XXXX XXXX
表示0~65535
双字地址指针的描述:MD16、DB1.DBD0
31
24
23
16 15
8
7
0
XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
0000 0000 0000 0bbb bbbb bbbb bbbb bxxx
字节编号
位编号
0000 0000 0000 0000 0000 0000 0000 1010 —1.2
0000 0000 0000 0000 0000 0000 0110 0000 —12
可描述范围:0.0~65535.7
用双字格式访问字节、字、双字存储器,必须保证位编号为0。
—计算机控制装置—
60
实例
L +5
//将整数+5装入累加器1
T MW0
//将累加器1的内容传送给存储字MW0,此时MW0内容为5
OPN
//打开由MW0指出的数据块,即打开数据块5(DB5)
DB[MW0]
L P#8.7
//将地址指针2#0000 0000 0000 0000 0000 0000 0100 0111装入A1
T MD2
//将累加器1的内容P#8.7传送给位存储区中的MD2
L P#4.0
//将2#0000 0000 0000 0000 0000 0000 0010 0000装入A1
累加器1原内容P#8.7被装入累加器2
+I
//将累加器1和累加器2内容整数相加,在累加器1中得到的“和”为
2#0000 0000 0000 0000 0000 0000 0110 0111(P#12.7)
T MD6
//将累加器1的当前内容传送MD6(12.7)
A
I[MD2]
=
Q[MD6] //将RLO赋值给输出位Q12.7
—计算机控制装置—
//对输入位I8.7进行“与”逻辑操作,结果存放在RLO中
61
寻址方式四:寄存器间接寻址
在S7中有两个地址寄存器(AR1和AR2)
地址寄存器的内容 + 偏移量 = 地址指针
L
LAR1
L
LAR2
A
=
P#8.6
P#10.0
I[AR1,P#1.0]
Q[AR2,P#4.1]
//将P#8.6装入A 1
//将累加器1的内容传送至地址寄存器1
//将P#10.0装入A1
//将累加器1的内容传送至地址寄存器2
//AR1+偏移量(9.6)
//AR2+偏移量(14.1)
这是区域内寄存器间接寻址——指令中给出存储区域标识
L
LAR1
L
LAR2
A
=
P#I8.6
P#Q10.0
[AR1,P#1.0]
[AR2,P#4.1]
//将指向I8.6的地址指针装入A 1
等以后熟
//将累加器1的内容传送至地址寄存器1
//将指向Q8.6的地址指针装入A
1
悉了再用
//将累加器1的内容传送至地址寄存器2
//AR1+偏移量(9.6)
//AR2+偏移量(14.1)
这是区域间寄存器间接寻址——存储区域的信息包含在地址指针中
—计算机控制装置—
62
存储器地址指针的描述
31
24
23
16
15
8
7
0
XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
z000 0rrr 0000 0bbb bbbb bbbb bbbb bxxx
字节编号
位编号
存储区域标识符P.255
0:区域内间接寻址
1:区域间间接寻址
31
24
23
16
15
8
7
0
XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
z000 0rrr 0000 0bbb bbbb bbbb bbbb bxxx
字节编号
位编号
0000 0000 0000 0000 0000 0000 0100 0110 —P#8.6
1000 0001 0000 0000 0000 0000 0100 0110 —P#I8.6
1000 0010 0000 0000 0000 0000 0100 0110 —P#Q8.6
—计算机控制装置—
63
实例1
n1:
L
P#0.0
LAR1
L
P#10.0
LAR2
作用:
L
64
T #loopcounter
把地址为0.0开始的64个开关量输
OPN DB1
入信号采用循环方式逐个转存到
CLR
DB1,存放位置由DB1.DBX10.0开
A I [AR1,P#0.0]
始的64个位。
= DBX [AR2,P#0.0]
L P#0.1
Loopcounter为整形临时变量
+AR1
L P#0.1
+AR2
L #loopcounter
LOOP n1
累加器A1减1,A1不为0,则循环到n1
—计算机控制装置—
64
实例2
n1:
L
P#256.0
LAR1
L
P#200.0
LAR2
L
32
T #loopcounter
OPN DB2
L PIW [AR1,P#0.0]
T # Dec _In
CALL "SCALE"
IN
: =# Dec_in
HI_LIM : =2.000000e+002
LO_LIM : =0.000000e+000
BIPOLAR : =FALSE
RET_VAL : =#ret
OUT
: =#In_result
L
#In_result
T
DBD[AR2,P#0.0]
L
P#2.0
+AR1
L
P#4.0
+AR2
L #loopjsq
LOOP n1
—计算机控制装置—
作用:
把地址为256.0开始的32个模拟
量输入信号采用循环方式逐个
转存到DB2,存放位置由
DB2.DBD200开始的32个浮点数
。
如果不同量程如何处理?
65
4.3.3 状态字
状态字表示CPU执行指令时所具有的状态,用户程序可以访问和检
测状态字,并可以根据状态字中的某些位决定程序的走向和进程。
15
8
······
BR
7
6
CC1 CC0
5
4
3
OS
OV
OR
2
1
STA RLO
0
FC
首次检测位 *
逻辑操作结果*
状态位
或位
溢出位
溢出状态保持位
条件码0
条件码1
二进制结果位
—计算机控制装置—
66
首次检测位(FC)
位置:状态字位
“0”
作用:首次检测位FC 决定了对其接点信号的存放位置。
在逻辑串指令执行过程中 :
若 FC =0,表明一个梯形逻辑网络的开始(或为首条逻辑串指
令),CPU对操作数的检测结果(首次检测结果)直接保存在状态
字的RLO位中,FC 位置1;
若FC =1,检测结果与RLO相运算,并把运算结果存于RLO
清除:执行输出指令(S、R、=)或与逻辑运算有关的转移指令时 FC被清
0(表示逻辑串结束)
OMRON PLC没有这个位,因为
—计算机控制装置—
OMRON有 LD 和 LD NOT
67
逻辑操作结果(RLO)
Result of Logic Operation, RLO
位置:状态字位
“1”
作用:存储位逻辑指令或算术比较指令的结果。
所有的逻辑运算结果均放在此处!!
—计算机控制装置—
68
RLO、FC的变化示例
语句表
实际状态
检测结果
RLO
FC
说明
0
FC=0:下一条指令开始新逻辑串
A I 0.0
1
1
1
1
首次检测结果存放RLO,FC置1
AN I 0.1
0
1
1
1
检测结果与RLO运算,结果存RLO
=Q1.0
1
0
RLO赋值给Q1.0,FC清0
I0.0
—计算机控制装置—
Q1.0
I0.1
69
4.3.4 位逻辑运算指令
PLC中的触点包括常开触点(动合触点)和常闭触点(动断触点)两种形式。
※常开(动合)触点:
“1”↔“动作”↔“闭合”
“0”↔“不动作”↔“断开”
※常闭(动断)触点:
“1”↔“动作”↔“断开”
“0”↔“不动作”↔“闭合”
位逻辑运算指令主要包括:
—计算机控制装置—
与
与非
或
或非
异或
赋值
置位
复位
--
--
--
--
--
--
--
--
A
AN
O
ON
XOR
=
S
R
70
⑴串联逻辑
A、AN
I0.0
I1.0
M2.1
Q4.0
( )
“1”
“1”
“0”
“1”
I0.0为“1” 且 I1.0为“1” 且 M2.1为“0”
语句表
实际状态
检测结果
RLO
FC
A
A
AN
=
I 0.0
I1.0
M2.1
Q4.0
→ Q4.0为“1”
说明
0
下一条指令表示一新逻辑串的开始
A
I 0.0
1
1
1
1
首次检测结果  RLO,FC置1
A
I1.0
1
1
1
1
检测结果与RLO “与”运算  RLO
AN M2.1
0
1
1
1
检测结果与RLO “与”运算  RLO
=
1
0
RLO  Q4.0,FC清0
Q4.0
—计算机控制装置—
71
⑵并联逻辑
I0.0
O、ON
Q4.0
( )
O
O
ON
=
I1.0
M2.1
I 0.0
I1.0
M2.1
Q4.0
I0.0为“1” 或 I1.0为“1” 或 M2.1为“0”
语句表
实际状态
检测结果
RLO
FC
→ Q4.0为“1”
说明
0
以下是新逻辑串的开始
O
I 0.0
0
0
0
1
首次检测结果存放RLO,FC置1
O
I1.0
1
1
1
1
检测结果与RLO运算,结果存RLO
ON
M2.1
1
0
1
1
检测结果与RLO运算,结果存RLO
Q4.0
1
0
RLO赋值给Q4.0,FC清0
=
—计算机控制装置—
72
⑶ 串并联的复合达式和先“与”后“或”
当逻辑串是串并联的复合组合时,CPU的扫描顺序是先“与”后“或”。
I0.0
I0.1
I0.3
I0.4
A(
O
I0.0
ON I0.3
)
I0.2
Q1.2
( )
I0.0
I0.1
I0.3
I0.4
—计算机控制装置—
Q1.2
( )
A(
A
A
O
AN
AN
)
A(
O
I0.1
ON I0.4
)
A I0.2
= Q1.2
I0.2
A
=
I0.0
I0.1
I0.3
I0.4
I0.2
Q1.2
73
⑷ 输出指令(=)
· 该操作把状态字中RLO的值赋给指定的操作数(位地址)
· 把首次检测位(FC位)置0,来结束一个逻辑串
· 一个RLO可以驱动多个输出元件
I0.0
Q1.2
(
)
Q1.3
( )
—计算机控制装置—
A
=
=
I
Q
Q
0.0
1.2
1.3
74
⑸置位/复位指令
· 置位/复位指令根据RLO的值,来决定被寻址位的信号状态是否需要改变。
若RLO的值为1,被寻址位的信号状态被置l或清0;
若RLO是0,则被寻址位的信号保持原状态不变,
又被称为静态置位/复位【赋值输出(=)被称为动态赋值输出】
指令格式
S <位地址>
R<位地址>
—计算机控制装置—
指令示例
说明
S Q0.2
RLO为1,则被寻址信号状态置1,
即使RLO又变为 0,输出仍保持为1;
FC 清0。
R M1.2
RLO为 1,则被寻址信号状态置0,
即使RLO又变为 0,输出仍保持为0;
FC 清0。
75
4.4 程序结构
STEP7 有二种编程方法: 线性编程、结构化编程
A I0.0
A M1.0
……
BEU
—计算机控制装置—
主程序
函数(过程)1
……
函数(过程) n
76
结构化编程的“块”
组织块OB
功能块
数据块
STEP 7
C语言
OB1块
main()
其它OB块
FB块
用户定义函数
FC块
类似于子程序/过程
DB块
SFB、SFC
—计算机控制装置—
中断函数
全局变量
库函数
77
4.4.1 数据块
PLC可定义的数据类型:bool、byte、int、dint、real、date、time等基本数
据类型,以及数组、结构等复式数据类型
数据块定义的原则:
· 先定义后访问
· S7 CPU允许建立不同大小的数据块,以序号区分
· 不同的CPU对允许定义的数据块数量及数据总量有限制
例如:CPU 314允许定义用作数据块的存储器最多8KByte,
用户定义的数据总量不能超过8K,否则将造成系统错误。
—计算机控制装置—
78
⑴ 数据块定义
有2种定义方式:
①用STEP 7开发软件包定义,使用前作为用户程序的一部分下载到CPU
②程序运行过程中通过系统函数动态定义数据块
(慎用,定义不当易崩溃)
—计算机控制装置—
79
⑵ 数据块访问
·直接访问,指令中写明数据块号、类型、位置
L DB1.DBD2
//块号——1,双字,数据块中2~5字节
A DB1.DBX2.2 //块号——1,位, 2字节第2位
L “Temp”·T0
//符号地址
· “先打开后访问”
OPN DB 1
L
DBD 2
//访问DB1.DBD2
OPN DI2
T
DBD 4
//访问DI2.DBD4
注:数据块没有专门的关闭指令,在打开一个新块时,先前打开的块自动关闭
因CPU只有DB和DI两个数据块地址寄存器,所以最多可同时打开两个
块
—计算机控制装置—
80
⑶ 背景数据块和共享数据块
• 背景数据块:附属于某个FB块,数据块与某FB所要求的输入输出数据格式
完全相符。背景数据库可以理解为某FB的输入实参体。
• 共享数据块:定义的数据可以被任何块读写访问
• 数据块在CPU的存储器中是没有区别的,只是由于打开方式不同,才在打
开时有背景数据块和共享数据块之分。原则上,数据块都可以当作共享数
据块使用。
• 数据块可以定义多个,以序号加以区分
—计算机控制装置—
81
4.4.2 逻辑功能块
S7 PLC程序可以放在任何OB、FB、FC中
FB、FC可以被OB调用,也可以被其它FB、FC调用。
OB
应用程序
call
FB
FC
SFB
SFC
其它
FB/FC/
SFB/SFC
······
不超过8级
应用程序
OB块不可以被调
用
—计算机控制装置—
82
(1)FC块
FC功能块由两个主要部分组成:一是变量声明表;二是应用程序
包括:in、out、in_out、temp
变量申明表
应用程序
—计算机控制装置—
83
(2)FB块
FB功能块由两个主要部分组成:一是变量声明表;二是应用程序
包括:in、out、in_out、temp、stat
变量申明表
应用程序
—计算机控制装置—
84
(3)变量说明
in
out
in_out
stat
temp
实现调用块和被调用块间的数据传递。
在调用功能块时给出,实参的数据类型必须与形参一致。
静态变量定义在背景数据块中
当被调用块运行时,能读出或修改背景数据块中的静态变量;
被调用块运行结束后,静态变量保留在背景数据块中。
临时变量仅在逻辑块运行时有效,逻辑块结束时存储临时变
量的内存被操作系统另行分配。
—计算机控制装置—
85
(4)FC、FB的调用
FB块的调用:
CALL FB4 , DB33
a1:=
a2:=
b1:=
c1:=
DB33中的数据结构应与FB4
中的变量申明表结构(除
temp变量)完全相同
FC功能块没有背景数据块,调用时赋实参(数据类型相同):
CALL FC1
a1:= DB1.DBD0.0
a2:= DB2.DBW6.0
b1:= DB10.DBX5.6
c1:= MW12
—计算机控制装置—
86
(5)其它
★ FB、FC可以定义多个,以序号区分。
★ S7CPU中可使用的B堆栈大小是有限制的,对于S7300
CPU可在B堆栈中存储8个块的信息,因此在控制程序中
最多可同时激活8个块。
—计算机控制装置—
87
4.4.3 组织块及中断优先级
DB/FB/FC可以根据需要定义,以序号区分
同一类的块没有“贵贱”之别
OB块也可以根据需要定义,以序号区分
但不同的块功能不同,且有“优先级”之别
1.每一个OB可以对应为一种中断,不同的OB对应有不同的优先级
2. OB1是主循环块,任何S7PLC系统都需要OB1,所以优先级最低
问题:从过程控制的角度看,除了OB1之外,通常还需要哪些中断?
—计算机控制装置—
88
—
部分OB块的优先级:
OB块
说明
优先级
OB1主循环r★★
基本组织块,循环扫描
1(最低)
OB10时间中断
根据设置的日期、时间定时启动
2
OB20延时中断
受SFC22控制启动后延时特定时间允许
3
OB35循环中断★★
根据特定的时间间隔允许
12
OB40硬件中断
检测到外部模块的中断请求时允许
16
OB80~0B87异步错误中断★
检测到模块诊断错误或超时错误时启动
26
OB100启动★
当CPU从STOP状态到RUN状态时启动
27
—计算机控制装置—
89
注意事项
•
一个OB块可以形成一个程序链(OB调用FB/FC,FB/FC调其它FB/FC)
•
所有程序的临时变量存放在L堆栈中,L堆栈是有限的,如:CPU 314
的L堆栈为1536Byte,供程序中的所有优先级划分使用。
•
对于CPU 314,允许每个优先级及所有嵌套调用中激活块的自定义临时
变量总数不能超过236Byte(有20B被OB自己占用了),否则L堆栈会
溢出,导致CPU有RUN模式变为STOP模式。
问题:如果临时变量不够用怎么办?
—计算机控制装置—
90
OB35
使用20字节L
堆栈
OB1
使用20字节L
堆栈
功能块或
系统功能块
优先级12
功能块或
系统功能块
功能块或
系统功能块
背景数据块
背景数据块
L堆栈
≤256字节
L堆栈
≤256字节
总共1536字节
—计算机控制装置—
91
3个常用组织块
OB100
OB1
OB80
STOP
(1) 初始化块(OB100)
 当PLC从STOP状态切换到RUN状态后,CPU首先调用OB100一次,
OB100调用结束后,操作系统开始进入程序运行;
 如没有OB100,则系统不对任何参数进行初始化。
—计算机控制装置—
92
(2) 主循环块(OB1)
 OB1是最基本的组织块,当OB100调用结束后,操作系统开始周而
复始地调用OB1,这称为扫描循环。
 调用OB1的时间间隔称为扫描周期,扫描周期的长短,主要由 OBI
中的程序执行所需时间决定。
 OB1必须存在,但OB1中不一定需要放置代码。
 为防止程序陷入死循环,可以设置确定主循环的最长时间。正常情
况下,扫描周期小于该时间,如果扫描周期大于设定主程序最大允
许循环行时间,操作系统调用OB80(循环时间超时),若OB 80中
未编写程序,CPU将转入停止(STOP)状态。
—计算机控制装置—
93
(3)循环中断(OB 35)
S7-300 PLC允许设计一个以固定间隔运行的定时中断组织块OB35,
定时时间间隔可以在lms~lmin的范围内设置,当允许循环中断时,OB35
以固定的间隔循环运行,但要求确保设置的定时时间间隔大于OB35的执
行时间,否则将造成系统异常,操作系统将调用异步错误OB 80。
—计算机控制装置—
94
4.4.4 逻辑块的调用关系
操
作
系
统
OB1
共享DB
共享DB
FB、SFB
FC、SFC
背景DB
FC、SFC
共享DB
OB35、OB10、OB20……
—计算机控制装置—
95
4.5 S7 PLC的网络通信
现代计算机控制系统已不再是自动化的“孤岛”,而是集过程控制、生
产管理、网络通信、IT技术等为一体的综合自动化系统,系统最主要的
结构特征表现为一个多层次的网络体系。
S7 PLC的网络功能很强,它可以适应不同控制需要的网络体系,也为各
个网络层次提供互联模块或接口装置,通过通信子网把PLC、PG、PC、
OP及其它控制设备互联起来。
S7 PLC可以提供:MPI——Multipoint Interface
PROFIBUS-DP
Industrial Ethernet
这3种通信方式都有各自的技术特点和不同的适应面。
—计算机控制装置—
96
通信子网
MPI
PROFIBUS-DP
Industrial Ethernet
工业以太网
标准
SIEMENS
EN50170 Vol.2
IEEE802.3
介质访问技术
令牌环令
令牌环+主从式
CSMA/CD
传输速率
187.5Kbps
9.6Kbps~12Mbps
10Mbps / 100Mbps
常用传输介质
屏蔽2芯电缆
塑料光纤
玻璃光纤
屏蔽2芯电缆
塑料光纤
玻璃光纤
屏蔽双绞线
屏蔽同轴电缆
玻璃光纤
最大站点数
32
127
>1000
特征
拓扑结构
通信服务
适用范围
—计算机控制装置—
总线型、树型、星型、环型
S7函数、GD
S7函数、DP、FDL等
现场设备层、控制单元层
S7函数、TCP/IP等
控制层、管理层
97
(1)PLC机架的三种通信(集成)方式
IM365/IM365——本地集成一
IM360/IM361——本地集成二
IM153——分布式IO
优先考虑
控制室
PLC CR
现场
Profibus-DP总线
RIOU
—计算机控制装置—
RIOU
RIOU
RIOU
对象1
对象n
98
(2)PLC与上位机的三种通信方式
MPI通信 • 物理层符合RS485标准,是一种低成本的网络系统,用于
连接多个不同的CPU或设备。
•
多数SIMATIC产品都集成有MPI接口
OS*
S7 300
MPI
S7 400
OP
PG
—计算机控制装置—
99
MPI通信
一个MPI网最多允许连接32个网络站点,它的传输速率是187.5Kbps,
因此,MPI子网主要适用于站点数不多、数据传输量不大的应用场合。
MPI连接距离有限,从第一个节点到最后一个节点最长距离仅为50m。
对于一个要求较大区域的信号传输,采用两个中继器可以将MPI通信
电缆最大长度延伸到1100m。
RS485转发器
(中继器)
≤50米
≤1000米
≤50米
图7.46 MPI子网的扩展
适用于多数中小系统
—计算机控制装置—
100
Profibus-DP通信
OS*
S7 300
Profibus-DP
S7 400
说明:
1.CPU上需要有DP接口,可以是集成的,也可以式扩展的(如CP342-5)
2.最大站点数127
3.最大通信距离(不加中继器)1200米,与通信波特率有关
4.OS需要配置接口卡(如CP5611等)
5.OS需要软件支持
—计算机控制装置—
101
Ethernet通信
OS*
S7 300
EtherNet
S7 400
说明:
1.PLC上需要配置以太网扩展接口模块(如CP343-1等,P.271)
2.OS上可以用普通网卡
3.OS需要软件支持(如基于OPC的通信支持软件包)
—计算机控制装置—
102
(3)PLC与PLC的三种通信方式
MPI通信 • 物理层符合RS485标准,是一种低成本的网络系统,用于
连接多个不同的CPU或设备。
•
多数SIMATIC产品都集成有MPI接口
OS*
S7 300
MPI
S7 400
OP
PG
—计算机控制装置—
103
MPI通信
S7 400
S7 300
MPI
GD通信,参见P268
—计算机控制装置—
104
Profibus-DP通信
S7 400
S7 300
-DP
S7函数通信 CALL "AG_RECV“
CALL "AG_SEND"
左边发送的数据即是右边接收的数据,发送方和接收方的数据长度要统一
—计算机控制装置—
105
DP coupler通信
S7 400
S7 300
-DP1
RIOU
-DP2
DP/DP coupler
RIOU
RIOU
RIOU
定义通信,需要通信的数据只需要在DP coupler上配置,即可实现自动通信
发送方和接收方的数据长度要统一
—计算机控制装置—
106
(4)PLC与其它协议的通信
与RS232之间的通信
CP340(6ES7 340-1AH02-0AE0)或
CP341(6ES7 341-1AH01-0AE0)
S7 300
-DP2
RIOU
RIOU
RS232
仪表
—计算机控制装置—
节点
107
与RS422/RS485之间的通信
CP340(6ES7 340-1CH02-0AE0)
或
CP341(6ES7 341-1CH01-0AE0)
S7 300
-DP2
RIOU
RIOU
RS485
仪表
—计算机控制装置—
节点
108
作业:阅读以下程序,写出程序功能(文字描述或框图均可)
z1:
f1:
CLR
A
JCN
L
L
-R
T
JU
L
L
-R
T
L
-R
L
*R
T
//清除RLO,使RLO=0
#Po_Ne
z1
#in_sp
#in_Vn
#en0
f1
#in_Vn
#in_sp
//RLO=“0”,跳转至z1
//无条件跳转至f1
#en0
#en1
#A1
#zc1
L
L
/R
L
*R
L
*R
T
5.000000e-001
#A2
L
L
/R
L
*R
T
#A3
5.000000e-001
#en0
#A1
#zc2
#A1
#zc3
—计算机控制装置—
n2:
n3:
L
L
*R
T
L
L
-R
L
+R
L
*R
L
+R
L
+R
T
L
+R
T
L
L
<R
JCN
L
T
L
L
>R
JCN
L
T
L
T
L
T
BEU
2.000000e+000
#en1
#zc4
#en0
#zc4
#en2
#zc3
#zc2
#zc1
#d_Vout
#Vout
#Vout
#Vout
0.000000e+000
n2
0.000000e+000
#Vout
#Vout
1.000000e+002
n3
1.000000e+002
#Vout
#en1
#en2
#en0
#en1
//本段程序结束
109
6月7日作业
• 教材P281、P282中7-11、7-12两题
—计算机控制装置—
110