Transcript
Page 1: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—1

四、四、 SIMATIC S7-300 PLCSIMATIC S7-300 PLC 及指令系及指令系统 统

4.14.1       系统组成 系统组成

4.24.2     系统配置系统配置

4.34.3       指令系统简介指令系统简介

4.44.4       程序结构程序结构

4.54.5       S7 PLC S7 PLC 的网络通信 的网络通信

Page 2: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—2

4.1 S7-300 PLC4.1 S7-300 PLC 的系统组成的系统组成

S7-300 PLC 的硬件构成 :CPUCPU 模块 模块 接口模块(接口模块( IMIM )) I/OI/O 模块(模块( SMSM )) 功能模块(功能模块( FMFM )) 电源模块(电源模块( PSPS )) 导轨(导轨( RACKRACK )等 )等

总线连接器

电源模块

CP

U

模块

通信模块

I/O

模块

DIN

导轨

模块

DIN

导轨

Page 3: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—3

4.1.1 CPU4.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 序号的递增而增加。

Page 4: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—4

CPUCPU 单元单元—— 1 1

CPU CPU312IFM CPU313 CPU314 CPU315-2DP

工作存储器 6KB 12KB 24KB 64KB

内部装载存储器 20KB RAM20KBEEPROM

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 接口 √ √ √ √

Page 5: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—5

4.1.2 4.1.2 模拟量输入模块模拟量输入模块(SM331)(SM331)

模拟量值的表示方法模拟量值的表示方法

SM331的输入测量范围很宽,可直接输入电压、电流、电阻、 mV等信号

单极性电压、电流输入的数字化表示:

量 程

1~ 5V 4~ 20mA 150Ω 十进制结果 范围 5

……1

20

……4

150

……0

27648

……0

标称范围

双极性是什么意思?

Page 6: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—6

L PIW 400 // 从端口地址(例如: 400 )读入十进制转换结果T # Dec_in // 存入临时变量 Dec_in ,#表示临时变量CALL "SCALE" // 直接调用系统提供的转换函数,以下是输入输出参数 IN : =# Dec_in // 入口参数:十进制转换结果 HI_LIM : =2.000000e+002 // 入口参数:工程量上限 200, kPa( PLC 本身没有单位概念) LO_LIM : =0.000000e+000 // 入口参数:工程量下限 0 BIPOLAR : =FALSE // 入口参数: TRUE 为双极性, FALSE 为单极性 RET_VAL : =#ret // 出口参数:返回值(准确-- 0 ,错误--其它值) OUT : =#In_result // 出口参数:工程量转换结果

4 ~20mA

1 ~5VDC0 ~

10mA0 ~

20mA……

数字量0 ~

27648

-27648~27648

AIAI 模模块块

转换程序转换程序 工程量,如:

0 ~ 200kPa

……

变送器:把( 0- 200kPa )转换为( 4- 20mA )模 块:把( 4- 20mA )转换为( 0, 27648 )程 序:把( 0, 27648 )转换为( 0- 200kPa )的值( In_result ),共程序调用

Page 7: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—7

SM331SM331 模块的硬件设置模块的硬件设置

2 种规格型号: 8 通道、 2 通道

※ 模拟量模块装有量程块,调整量程块的方位可改变模块内部的硬件结构※ 每两个相邻输入通道 共用一个量程块,构成一个通道组。※ 量程块是一个正方体的短接块,在上方有“ A” ,“ B” ,“ C” ,“ D” 四个标记※ 不同的量程块位置,适用于不同的测量方法和测量范围。

ch 0、 1 ch 2、 3

量程块上的标记 模块上的标记

Page 8: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—8

SM331 量程块设置对应关系 :

设置标记 对应的测量方式及范围 缺省设置

A

电 压: 1000mV

电 阻: 150Ω、 300Ω、 600Ω、 Pt100、 Ni100

热电偶: N、 E、 J、 K 等各型热电偶 电压: 1000mV

B 电 压: 10V 电压: 10V

C 电 流: 20mA( 4 线制变送器输出) 电流: 4~ 20mA( 4 线制)

D 电 流: 4~ 20mA( 2 线制变送器输出) 电流: 4~ 20mA( 2 线制)

Page 9: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—9

SM331SM331 模块的软件设置模块的软件设置

通道组诊断

断线检查

信号类型

信号范围

积分时间设置

上下限设置

诊断中断允许 限幅中断允许 通道组

Page 10: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—10

SM331SM331 模块的信号连接模块的信号连接

电压信号电压信号

电流信号电流信号二线制电流二线制电流四线制电流四线制电流

毫伏信号毫伏信号

电阻信号电阻信号

输入信号类型:输入信号类型:

Page 11: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—11

电压信号连接电压信号连接

模块配置成电压输入 (B)

L +M

M-

M+

M+

M-

光隔

MANA

ADC

总线U

U

Page 12: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—12

电流信号连接电流信号连接

两线制仪表与四线制仪表?

L +M

M-

M+

M+

M-

光隔

MANA

ADC

总线

模块配置成四线制电流输入 (C) ,只接收 4~ 20mA 电流

I

4~20mA

24VDC/220VAC

I

4~20mA

24VDC/220VAC

四线制仪表 四线制输入

Page 13: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—13

电流信号连接电流信号连接

L +M

M-

M+

M+

M-

光隔

MANA

ADC

总线

模块配置成四线制电流输入 (C) ,只接收 4~ 20mA 电流

I4~20mA

24V 电源

+ -

二线制仪表 四线制输入

Page 14: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—14

电流信号连接电流信号连接

L +M

M-

M+

M+

M-

光隔

MANA

ADC

总线

模块配置成二线制电流输入 (D) ,带配电接收 4~ 20mA 电流

I4~20mA

二线制仪表 二线制输入

MANA

ADC

24V

I4~20mA

内部原理示意

Page 15: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—15

毫伏信号连接毫伏信号连接

一般什么仪表输出 mV信号?

该仪表在使用时需要注意什么?

L +M

M-

M+

M+

M-

COMP +COMP -

ADC

补偿盒

参考点

补偿导线

外部补偿

L +M

M-

M+

M+

M-

COMP +COMP -

ADC

内部补偿

Page 16: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—16

电阻信号连接电阻信号连接

一般什么仪表输出Ω信号?

该仪表在使用时需要注意什么?

四线制连接方式

L +M

M-

M+

Ic+

Ic -

MANA

ADC

+ -

L +M

M-

M+

Ic+

Ic -

MANA

ADC

+ -

L +M

M-

M+

Ic+

Ic -

MANA

ADC

+ -

三线制连接方式 二线制连接方式

Page 17: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—17

4.1.3 4.1.3 模拟量输出模块模拟量输出模块 (SM332)(SM332)

模拟量值的表示方法模拟量值的表示方法

单极性输出 双极性输出

输出信号标称范围 十进制结果

输出信号标称范围 十进制结果 0 ~ 20mA 4 ~ 20mA 0 ~ 10V 1 ~ 5V ±10V ±20mA

20.000……

0

20.000……

4.000

10.000……

0

5.0000……

1.0000

27648……

0

10.0000……

-10.0000

20.000……

-20.000

27648……

-27648

SM332SM332 模块可以输出电压和电流两种类型的信号模块可以输出电压和电流两种类型的信号

Page 18: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—18

CALL "UNSCALE" // 直接调用系统提供的转换函数,以下是输入输出参数 IN :=#Out // 入口参数:阀位值 0 ~ 100 %浮点数 HI_LIM :=1.000000e+002 // 入口参数:阀位上限 100 LO_LIM :=0.000000e+000 // 入口参数:阀位下限 0 BIPOLAR :=FALSE // 入口参数: TRUE 为双极性输出, FALSE 单极性输出 RET_VAL :=#Err // 出口参数:返回值 OUT :=#Out_result // 出口参数:十进制转换结果存入临时变量 L #Out_result T PQW 416 // 十进制转换结果输出到过程输出缓冲区,如 416

AOAO 模模块块

4 ~20mA

0 ~10VDC

0 ~20mA

……

单: 0 ~ 27648

双:- 27648~27648

转换程序转换程序阀位如: 0 ~ 100 %

程 序:把( 0- 100 %)转换为( 0- 27648 )模 块:把( 0- 27648 )转换为( 4- 20mA )执行器:把( 4- 20mA )转换为相应的阀位

Page 19: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—19

SM332SM332 模块的软件设置(不需要硬件设置)模块的软件设置(不需要硬件设置)

SM332有 2×12、 4×12、 8×12 位等 AO 模块,其特性、参数、工作原理完全相同。

通道诊断

信 号 类 型I、 V

信号范围0~20mA4 ~20mA

CPU 停 止 时 输 出 保持

诊断中断允许

CPU 停止时输出为0

电压输出范围

Page 20: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—20

SM332SM332 模块的信号连接模块的信号连接

电压信号电压信号 电流信号电流信号输出信号类型:输出信号类型:每通道有 4 个端子

电压输出电压输出

L +M

S +QV

S-MANA

DACRL

L +M

S +QV

S-MANA

DACRL

电压输出( 4 线) 电压输出( 2 线)

Page 21: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—21

电流输出电流输出

L +M

S +QI

S-MANA

DACRL

Io

Page 22: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—22

4.1.4 4.1.4 开关量输入模块 开关量输入模块 (SM321)(SM321)

开关量输入模块开关量输入模块 SM321SM321 主要有直流信号输入和交流信号输入二主要有直流信号输入和交流信号输入二大类 大类

SM321开关量输入模块 16×24VDC 32×24VDC 16×120VAC8×120/230VA

C

输入点数 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

Page 23: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—23

4.1.5 4.1.5 开关量输出模块开关量输出模块 (SM322)(SM322)

SM322SM322 模块有晶体管、可控硅和继电器模块有晶体管、可控硅和继电器 33 种输出类种输出类型 型 SM322开关量输出模块 晶体管输出 可控硅输出 继电器输出 输出点数 8 16 32 8 16 8 16

额定电压 24VDC 120/230VAC

120VAC 230VAC/24VDC

“1” 信号最大输出电流 2A 0.5A 0.5A 1A 0.5A ——

“0” 信号最大输出电流 0.5mA 2mA 1mA ——

与背板总线的隔离 光耦 光耦 光耦 触点容量 —— —— 2A

阻性负载 100Hz 10Hz 2Hz

触点开关频率

感性负载 0.5Hz 0.5Hz 0.5Hz

灯负载 100Hz 1Hz 2Hz

诊断 —— LED指示 ——

绝缘耐压测试 500VDC 1500VAC 1500VAC

Page 24: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—24

4.2 系统配置

根据自动化系统的实际规模和要求,配置 PLC 硬件系统。

※S7 系列 PLC 采用的是模块化的结构形式,根据系统规模用户可选择不同型号和不同数量的模块,并把这些模块安装在一个或多个机架上。

※ 除了 CPU 模块、电源模块、通信接口模块之外,它规定每一个机架最多可以安装 88个个 I/OI/O 信号模块信号模块。

※ 一个 PLC 系统的最大配置能力(包括 I/O 点数、机架数等)与 CPU 的型号相关

Page 25: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—25

常用的模块: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 通道)

Page 26: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—26

某系统需要输入: 46 路 4 ~ 20mA 信号输入: 4 路 PT100 信号输出: 32 路 4 ~ 20mA 信号

要求配置 S7 PLC 的 I/O 模块并选择合适的 CPU 单元

每路 4~20mA占 1个 A/D 通道 → 需 46个 A/D 通道 需 7 块 8 通道SM331

每路 4~20mA占 1个 D/A 通道 → 需 32个 D/A 通道 需 4 块 8 通道 SM332

示例:示例:

电阻信号可以配置 RTD 模块 → 需 4个 RTD 通道 需 1 块 8 通道 SM331 RTD

(1) IO 模块配置一

冗余 10个通道冗余 4个

RTD 通道

过多的冗余是浪费,但适当的冗余还是必要的

总计 12块 SM 模块,需要 2 个机架

Page 27: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—27

每路 4~20mA占 1个 A/D 通道 → 需 46个 A/D 通道

每路 4~20mA占 1个 D/A 通道 → 需 32个 D/A 通道 需 4 块 8 通道 SM332

示例:示例:

每路电阻信号占 2个 A/D 通道 → 需 8个 A/D 通道需 7块 8 通道 SM331

(2) IO 模块配置二 冗余 2个A/D 通道

总计 11块 SM 模块,需要 2 个机架

(3) CPU 配置

该系统需要 12 个 SM模块,必须安装到 2 的机架,如果单纯从 I/O配置的角度分析(暂不考虑内存、速度需求),根据表 7.1中的性能参数,该系统可以选用 CPU314 或 CPU314以上的型号均可。

Page 28: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—28

有三种选择:

示例:示例:

(3) 接口模块

(4) 电源模块

模块供电,外部仪表供电(确定合适的电源模块的功率)

尽管理论上可以集中供电,即两个机架用同一个电源,但实际系统建议每个机架分别配置电源模块

2 块

第一种: IM365/IM365 ,最经济

第二种: IM360/IM361 ,有一定扩展 能力,可以扩到 4 个机架

第三章: IM153, CPU 上需要有 DP 口(或者通过模块扩展 DP 口),有很大的扩展能力,可方便地和其他系统组网

Page 29: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—29

示例:示例:

(5) 其它附设导轨:安装各种模块(几个机架至少几块)

与上位机通信的接口卡:板卡式 MPI 网卡 CP5611

编程电缆(外置, USB 或者串口连接)

内存卡:新 CPU 必须,有不同容量,如64KB、 128KB、 512KB、 2MB、 4MB

总线连接器: DP 总线连接、上下位机采用网卡连接时需要,每点 1 个

通信电缆(屏蔽双绞线): DP 总线连接、上下位机采用网卡连接时需要

下位机开发软件: STEP7 5.x (很贵的啊)

上位机组态软件: WINCC (和系统点数有关系,可以自主开发)

……

Page 30: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—30

4.2.1 4.2.1 硬件结构配置 硬件结构配置

※※PLCPLC 模块的安装是有顺序要求的,每个机架从左到右分为模块的安装是有顺序要求的,每个机架从左到右分为 1111 个个逻辑逻辑槽号槽号

※※ 电源模块安装在最左边的电源模块安装在最左边的 11## 槽,槽, 22## 槽安装槽安装 CPUCPU 模块,模块, 33## 槽安装通信接口模槽安装通信接口模块,块, 44~~ 1111## 槽可自由分配槽可自由分配 I/OI/O 信号模块、功能模块或扩展通信模块。信号模块、功能模块或扩展通信模块。

※※ 需要注意的是,槽号是相对的,机架上并不存在物理上的槽位限制。 需要注意的是,槽号是相对的,机架上并不存在物理上的槽位限制。

电源模块

CP

U

模块

通信模块

I/O 模块

1 2 3 4 5 6 7 8 9 10 11 逻辑槽号

Page 31: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—31

电源1

CP

U2

IO4

IO5

IO6

IO7

IO8

IO9

电源1

接口2

IO4

IO5

IO6

IO7

IO8

IO9

Page 32: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—32

机架的连接 (1)

如果:机架数量 =2 and 机架之间的距离≤ 1米方式一:方式一:

信号、功能模块

1 3 4 5 6 7 8 9 10 11

扩展机架( ER )

信号、功能模块

1 3 4 5 6 7 8 9 10 112

中央机架( CR )

CPU槽位号

接口模块:IM365

接口模块:IM365

Page 33: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—33

1 3 4 5 6 7 8 9

扩展机架( ER )

机架的连接 (2)

如果:机架数量≤ 4 and 机架之间的距离≤ 10米方式二:方式二:

接口模块:IM361

接口模块:IM360

1 3 4 5 6 7 8 9 10 112

中央机架( CR )

1 3 4 5 6 7 8 9

扩展机架( ER )

接口模块:IM361

Page 34: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—34

机架的连接 (3)

如果:机架数量> 4 or 机架之间的距离> 10米要求: CPU 上集成 DP 口或在 CR 上扩展 DP 口( Profibus- DP )

方式三:方式三:

1 3 4 5 6 7 8 9

扩展机架( ER )

1 3 4 5 6 7 8 9

扩展机架( ER )

1 3 4 5 6 7 8 9

扩展机架( ER )

1 3 4 5 6 7 8 9

扩展机架( ER )

1 2 4 5 6 7 8 9

CR :安装在控制室

连接到 DP 接口

IM153

Profibus-DP 总线

Page 35: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—35

总结

• 硬件配置部分【一个机架】 ≤ 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]

Page 36: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—36

【 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]

Page 37: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—37

【多个机架,间距“不限”】

[ 电源 ]

[ 电源 ]

[ 电源 ]

[ 电源 ]

[ 电源 ]

[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]

[ 电源 ] [ CPU]

[SM/FM][SM/FM]……[SM/FM]

Profibus DP 总线

Page 38: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—38

PLC 系统开发的基本流程

根据工艺要求,确定 I/O 参数数量 依据工艺流程图

硬件选型: CPU、 IO 、通信接口、电源…… 确定硬件结构

1. 进入 Step 72-1. 硬件配置2-2. 地址配置:网络地址

IO 端口地址3. 软件编程 ( 针对工艺要求 )

控制柜设计 ( 机架分配、布置 ) 和制作

PLC 系统及端子的布置与接线 ( 成套 )

现场仪表的连接 ( 现场实施的开始 )

Offline Offline

模拟测试

Online 联机调试、投运

Page 39: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—39

4.2.2 IO4.2.2 IO地址配置 地址配置

系统的 I/O模块分为: 模拟量和数字量二种类型,每个模块包含若干个通道。模块上任何通道均配置 独立的地址应用程序则根据地址实现对它们的操作。

每个通道的 地址占用一位 (bit)数字量模块最大为 32 通道模块地址最多占 4 字节

§§ 数字量数字量 I/OI/O 模块模块

每个模拟量地址为一个字地址(2byte)模拟量模块最大为 8 通道模拟地址最多占 16 字节

§§ 模拟量模拟量 I/OI/O 模块模块

Page 40: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—40

I/OI/O 地址的生成地址的生成

I/OI/O 地址的生成地址的生成 在硬件配置时,系统提供缺省地址在硬件配置时,系统提供缺省地址 (( 推荐使推荐使用用 ))

手动更改手动更改 (( 部分部分 CPUCPU 提供这种功能提供这种功能 ))

Page 41: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—41

I/OI/O 地址的配置注意事项:地址的配置注意事项:

1.1. 配置配置 IOIO 模块地址时,可以是系统提供缺省地址模块地址时,可以是系统提供缺省地址 (( 初学者推荐使用初学者推荐使用 )) ,,也可以是手工自主配置也可以是手工自主配置 (( 部分部分 CPUCPU 不支持该功能;不支持该功能;

2.2. 不同不同 CPUCPU 的最大的最大 IOIO 寻址能力是不同的,如寻址能力是不同的,如 CPU315CPU315 -- 2DP2DP 可达可达2KB2KB;;

3.3. 输入、输出的地址是不同的,即输入、输出的地址是不同的,即 CPU315CPU315 -- 2DP2DP 最大输入地址最大输入地址 2KB2KB ,,最大输出地址也是最大输出地址也是 2KB2KB ,实际可寻址,实际可寻址 4KB4KB

4.4. 00 -- 127127 字节留给开关量模块使用字节留给开关量模块使用

Page 42: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—42

例子:例子:

某某 88 通道通道 SM331SM331 模块,配置地址为模块,配置地址为 256256 -- 271271

第第 0~70~7 通道的 地址分别为:通道的 地址分别为:256256 、、 258258 、、 260260 、、 262262 、、 264264 、、 266266 、、 268268 、、 270270

读取第读取第 00 个通道的模拟量转换结果:个通道的模拟量转换结果: L PIW256L PIW256

读取第读取第 77 个通道的模拟量转换结果:个通道的模拟量转换结果: L PIW270L PIW270

L PIW256L PIW256 --就是把十进制转换结果,读入到累加器。--就是把十进制转换结果,读入到累加器。

如如 44 ~~ 20mA20mA 输入信号的转换结果式输入信号的转换结果式 00 -- 2764827648

用用 scalescale 函数可以在函数可以在 PLCPLC 内部把内部把 00 ~~ 2764827648 还原到与变送器量程 对于的工还原到与变送器量程 对于的工程量程量

Page 43: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—43

某某 88 通道通道 SM332SM332 模块,配置地址为模块,配置地址为 272272 -- 287287

把一个输出送到第把一个输出送到第 00 个输出通道:个输出通道: T PQW272T PQW272

把一个输出送到第把一个输出送到第 77 个输出通道: 个输出通道: T PQW286T PQW286

输出过程:输出过程:

(( 11 )控制策略运算结果,一般为)控制策略运算结果,一般为 00 ~~ 100100 %的阀位%的阀位

(( 22 )调用)调用 unscaleunscale 函数把函数把 00 ~~ 100100 转换为转换为 00 ~~ 2764827648 (十进制数)(十进制数)

(( 33 )) TT PQW272 / 274…… PQW272 / 274……

例子:例子:

Page 44: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—44

例子:例子:

某某 3232 通道通道 SM321SM321 模块,配置地址为模块,配置地址为 00 -- 33

读入第读入第 00 个通道的二进制值:个通道的二进制值: A I 0.0A I 0.0

读入第读入第 77 个通道的二进制值: 个通道的二进制值: A I 0.7A I 0.7

读入第读入第 88 个通道的二进制值: 个通道的二进制值: A I 1.0A I 1.0

读入第读入第 2222 个通道的二进制值:个通道的二进制值:…………

A I 2.6A I 2.6

某某 1616 通道通道 SM322SM322 模块,配置地址为模块,配置地址为 44 -- 55

输出一个二进制值到第输出一个二进制值到第 00 通道:通道: = = Q 4.0Q 4.0

输出一个二进制值到第输出一个二进制值到第 77 通道: 通道: == Q 4.7Q 4.7

输出一个二进制值到第输出一个二进制值到第 1212 通道:通道:…………

= = Q 5.4Q 5.4

Page 45: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—45

4.2.3 4.2.3 内部寄存器 内部寄存器

S7 CPU 的寄存器有( 7 个):

累加器 32 位累加器 1 ( A1 ) 主累加器 2 ( A2 ) 辅

2个 32 位累加器 ***

地址寄存器 32 位地址寄存器 1 ( AR1 )地址寄存器 2 ( AR2 )

2个 32 位地址寄存器 **

数据块地址寄存器 32 位共享数据块 背景数据块 2个 32 位数据块地址寄存

器状态字寄存器 16 位状态位 1个 16 位状态字寄存器

*

Page 46: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—46

4.2.4 4.2.4 存储区 存储区 CPU 能访问的存储区: P、 Q、 I、M、 T、 C、 DB 块、 L堆栈

名 称 存储区 存 储 区 功 能

输入( I ) 输出( Q )

过程输入映像表过程输出映像表

每个扫描周期更新一次(对应开关量输入输出)过程输入 / 输出映像表分别对应外设输入 / 输出存储区的前 128 字节映像访问方式:位、字节、字、双字

外设输入( PI )

外设输出( PQ )

外设输入存储器外设输出存储器

外设存储区与所有 IO 对应,允许直接访问现场设备访问方式:字节、字、双字(不能访问位)

位存储区(M )

存放程序运行的标志或其他中间结果,其大小与 CPU 型号有关访问方式:位、字节、字、双字

数据块( DB ) 数据块 数据类型、数据块大小自由定义,访问方式:位、字节、字、双字 分共享数据块、背景数据块

定时器( T ) 定时器 定时器数量与 CPU 型号有关计数器( C ) 计数器 计数器数量与 CPU 型号有关

临时本地数据存储区( L ) L堆栈 在 FB、 FC、 OB 块运行时,在块变量声明表中暂时变量存放在该存

储区。(建议编程时不要直接使用该存储区) 主要关心哪些存储区能够按“位”方位,哪些不能。

Page 47: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—47

外设 I/O 与存储区的映像

外设 IO 模块与存储区有二种映射关系:① ① 外设输入输出存储区(外设输入输出存储区( PIPI 、、 PQPQ ))② ② 输入输出映像区(输入输出映像区( II 、、 QQ ))

外设输入输出存储区外设输入输出存储区:包括外设输入( PI)和外设输出( PQ) 不能逐位访问,其它都可以

输入输出映像表输入输出映像表:包括输入过程映像表( I )和输出过程映像表( Q ) ◎输入映像表为 128Byte ,是对 PI 首

128Byte 的映像, ◎输出映像表为 128Byte ,是对 PQ 的

首 128Byte 的映像

这两段地址一般作为开关量输入、输出模块的 IO地址能够逐位方式访问,其它也可以

Page 48: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—48

输入映像示例输入映像示例

物理模块 配置地址 PI I 用户程序

32 路 DI中央机架槽 4

0I 0I 0 装载输入映像区第 0 字节

IB 0逐位装载

I0. 5

1I 1I 1 2I3I …… 2

8路 AI

中央机架

槽 5

0272I 127I …… 273I ……

1274I 272I 127 275I 273I 装载外设输

入存储区

PIW 272

第 0 AI 通道

2276I 274I277I 275I

3278I 276I279I 277I

4280I 278I281I 279I

装载外设输入存储区

PIW 280

第 4 AI 通道

5282I 280I283I 281I

6284I 282I285I 283I

7286I ……

287I

开关量输入模开关量输入模块缺省地址块缺省地址

模拟量输入模模拟量输入模块地址块地址

Page 49: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—49

物理模块 配置地址 外设输出存 储 区

输出映像 区 用户程序

16 路 DOER1槽 4

32Q …… ……

逐位输出 Q32. 2

33Q 32Q 32

…… 33

4路 AO ER1槽 5

0400Q 127Q ……

401Q …… ……

1402Q 400Q 127

403Q 401Q

2404Q 402Q

405Q 403Q

3406Q 404Q

407Q 405Q

装 载 外 设输 出 存 储区PQW 400

406Q

407Q

……

……

……

……

……

64K

输出映像示例输出映像示例

Page 50: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—50

4.3 指令系统简介

SIMATIC S7 系列 PLC 用户程序的开发软件包: STEP 7

S7 系列 PLC 的编程语言: LAD (梯形图)、 STL (语句表) * 、 SCL (标准控制语言)、 C for S7 ( C语言)等, 用户可以选择一种语言编程,也可混合使用几种

语言编程。

常用的编程语言: LAD (梯形图)、 STL (语句表) *

Page 51: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—51

4.3.1  STL4.3.1  STL 指令及其结构指令及其结构

语句指令: 操作码 操作数

A I 0.1 // 对输入继电器 I 0.1 进行与操作

L MW10 //将字 MW10 装入累加器 1

定义要执行的功能

执行该操作所需要的信息

有些语句指令不带操作数,它们操作的对象是唯一的。

NOT // 对逻辑操作结果( RLO )取反。

Page 52: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—52

操作数: 标识符 标识参数

A I 0.1

L M W 10

表示操作数在该存储区域内的具体位置

主标识符:表示操作数所在的存储区 主要有: I (输入映像区), Q (输出映像区), M (位存储区), PI (外部输入), PQ (外部输出), T (定时器), C(计数器), DB (数据块), L (本地数据)等

辅助标识符进一步说明操作数的位数长度包括有: X (位), B (字节), W (字—— 2 字节), D (双字—— 4 字节)

表示操作数存放区域及操作数位数(位、字节、字等)

Page 53: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—53

7 6 5 4 3 2 1 0

10.7 10.6 10.5 10.4 10.3 10.2 10.1 10.0MB10

MB11

MB12

MB13

MB14

M 10.3

MW10

MD10

位存储区的操作数表示方式位存储区的操作数表示方式

Page 54: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—54

存储区及其操作数表示方法 存储区及其操作数表示方法 存储区域 位 字节 字 双字

输入映像区( 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

Page 55: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—55

4.3.2 4.3.2 寻址方式寻址方式

操 作 数——指令的操作或运算对象寻址方式——指令得到操作数的方式。

寻址方式┳━━立即寻址 ┣━━存储器直接 寻址 ┣━━存储器间接 寻址 ┗━━寄存器间接 寻址

Page 56: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—56

寻址方式一:立即寻址寻址方式一:立即寻址

SET // 把 RLO ( Result of Logic Operation )

置“ 1”

L 27 // 把整数 27 装入累加器 1

L C#0100 // 把 BCD码常数 0100 装入累加器 1

立即寻址:对常数或常量的寻址方式,操作数本身包含在指令中

Page 57: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—57

寻址方式二:直接寻址寻址方式二:直接寻址

A I0 . 0 // 对输入位 I0.0 进行“与”逻辑操作

S L20 . 0 // 把本地数据位 L20.0置 1

= M115 . 4 // 将 RLO 的内容传给位存储区中的位 M115.4

L DB1 . DBD12 // 把数据块 DB1 双字 DBD12 中的内容传送给累加器

1

// 双字表示 32 位,如浮点数为 32 为双字

直接寻址:在指令中直接给出操作数的存储单元地址

Page 58: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—58

寻址方式三:存储器间接 寻址寻址方式三:存储器间接 寻址(用得不是很多)(用得不是很多)

存储器间接寻址 间接寻址 :标识参数由一个存储器给出,存储器的内容对应该标识参数的值 ( 该值又称为地址指针 )

该寻址方式能动态改变操作数存储器的地址,常用于程序循环

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

Page 59: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—59

地址的两种表述方式

—— 标识参数:1.2

—— 标识参数:10

—— 标识参数:12

A I 1.2

L MB10

L MD 12

直接寻址直接寻址

—— DB1.DBD0=P#1.2

—— MD16=P#10.0

—— MW20=12

存 储 器存 储 器间接寻址间接寻址

A I [ DB1.DBD0 ]

L MB [ MD16 ]

L MD [ MW20 ]

字地址指针双字地址指针

Page 60: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—60

字地址指针的描述:字地址指针的描述: MW20MW2015 8 7 015 8 7 0

XXXX XXXX XXXX XXXXXXXX XXXX XXXX XXXX 表示 0 ~ 65535

双字地址指针的描述:双字地址指针的描述: MD16MD16、、 DB1.DBD0DB1.DBD0

31 24 23 16 15 8 7 031 24 23 16 15 8 7 0

XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXXXXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX0000 0000 0000 00000 0000 0000 0bbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb bxxxxxx 字节编号字节编号 位编号 位编号

0000 0000 0000 00000 0000 0000 0000 0000 0000 0000 1000 0000 0000 0000 1010 010 ——1.21.2

0000 0000 0000 00000 0000 0000 0000 0000 0000 0110 0000 0000 0000 0110 0000 000 ——1212

可描述范围: 0.0 ~ 65535.7

用双字格式访问字节、字、双字存储器,必须 保证位编号为用双字格式访问字节、字、双字存储器,必须 保证位编号为 00 。。

地址指针的描述地址指针的描述

Page 61: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—61

实例实例L +5L +5 ////将整数将整数 +5+5 装入累加器装入累加器 11

T MW0T MW0 ////将累加器将累加器 11 的内容传送给存储字的内容传送给存储字 MW0MW0 ,此时,此时 MW0MW0 内容为内容为 55

OPN DB[MW0]OPN DB[MW0] ////打开由打开由MW0MW0 指出的数据块,即打开数据块指出的数据块,即打开数据块 55(( DB5DB5 ))

L L P#P#8.78.7 ////将地址指针将地址指针 2#0000 0000 0000 0000 0000 0000 0100 01112#0000 0000 0000 0000 0000 0000 0100 0111 装入装入 A1A1

T MD2T MD2 ////将累加器将累加器 11 的内容的内容 P#8.7P#8.7 传送给位存储区中的传送给位存储区中的 MD2MD2

L P#4.0L P#4.0 ////将将 2#0000 0000 0000 0000 0000 0000 0010 00002#0000 0000 0000 0000 0000 0000 0010 0000 装入装入 A1A1

累加器累加器 11 原内容原内容 P#8.7P#8.7 被装入累加器被装入累加器 22

+I+I ////将累加器将累加器 11 和累加器和累加器 22 内容整数相加,在累加器内容整数相加,在累加器 11 中得到的“和”为中得到的“和”为

2#0000 0000 0000 0000 0000 0000 0110 01112#0000 0000 0000 0000 0000 0000 0110 0111 (( P#12.7P#12.7 ))

T MD6T MD6 ////将累加器将累加器 11 的当前内容传送的当前内容传送 MD6MD6(( 12.712.7 ))

AA I[MD2]I[MD2] //// 对输入位对输入位 I8.7I8.7 进行“与”逻辑操作,结果存放在进行“与”逻辑操作,结果存放在 RLORLO 中中

= = Q[MD6]Q[MD6] ////将将 RLORLO赋值给输出位赋值给输出位 Q12.7Q12.7

Page 62: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—62

寻址方式四:寄存器间接 寻址寻址方式四:寄存器间接 寻址在 S7 中有两个地址寄存器( AR1 和 AR2 )地址寄存器的内容 + 偏移量 = 地址指针

L P#8.6LAR1L P#10.0LAR2A I[AR1, P#1.0]= Q[AR2, P#4.1]

这是区域内寄存器间接寻址——指令中给出存储区域标识

L P#I8.6LAR1L P#Q10.0LAR2A [AR1, P#1.0]= [AR2, P#4.1]

这是区域间寄存器间接寻址——存储区域的信息包含在地址指针中

//将 P#8.6 装入 A 1//将累加器 1 的内容传送至地址寄存器1//将 P#10.0 装入 A1//将累加器 1 的内容传送至地址寄存器2//AR1+偏移量 (9.6)//AR2+偏移量 (14.1)

//将指向 I8.6 的地址指针装入 A 1//将累加器 1 的内容传送至地址寄存器 1//将指向 Q8.6 的地址指针装入 A 1//将累加器 1 的内容传送至地址寄存器 2//AR1+偏移量 (9.6)//AR2+偏移量 (14.1)

等以后熟等以后熟悉了再用悉了再用

Page 63: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—63

存储器地址指针的描述存储器地址指针的描述

31 24 23 16 15 8 7 031 24 23 16 15 8 7 0

XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXXXXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXXzz000 0000 0rrrrrr 0000 0 0000 0bbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb bxxxxxx 字节编号字节编号 位编号 位编号

00 :区域内间接寻址:区域内间接寻址

11 :区域间间接寻址:区域间间接寻址

存储区域标识符存储区域标识符P.255P.255 31 24 23 16 15 8 7 031 24 23 16 15 8 7 0

XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXXXXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXXzz000 0000 0rrrrrr 0000 0 0000 0bbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb bxxxxxx 字节编号字节编号 位编号 位编号

0000 0000 0000 00000 0000 0000 0000 0000 0000 0100 0000 0000 0000 0100 0110 110 ——P#8.6P#8.6

1000 0001 0000 01000 0001 0000 0000 0000 0000 0100 0000 0000 0000 0100 0110 110 ——P#I8.6P#I8.6

1000 0010 0000 01000 0010 0000 0000 0000 0000 0100 0000 0000 0000 0100 0110 110 ——P#Q8.6P#Q8.6

Page 64: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—64

实例实例11

L L P#0.0P#0.0 LAR1 LAR1 L L P#10.0P#10.0 LAR2 LAR2 L L 6464n1: n1: T #loopcounterT #loopcounter OPN DB1OPN DB1 CLR CLR A I [AR1,P#0.0]A I [AR1,P#0.0] = DBX [AR2,P#0.0]= DBX [AR2,P#0.0] L P#0.1L P#0.1 +AR1 +AR1 L P#0.1L P#0.1

+AR2 +AR2 L #loopcounterL #loopcounter LOOP n1LOOP n1

作用:

把地址为 0.0 开始的 64 个开关量输入信号采用循环方式逐个转存到DB1 ,存放位置由 DB1.DBX10.0开始的 64 个位。

Loopcounter 为整形临时变量

累加器 A1减 1, A1 不为 0 ,则循环到n1

Page 65: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—65

实例实例 22 L L P#256.0P#256.0 LAR1 LAR1 L L P#200.0P#200.0 LAR2 LAR2 L L 3232n1: n1: T #loopcounterT #loopcounter OPN DB2OPN DB2 L PIW [AR1,P#0.0]L PIW [AR1,P#0.0] T # Dec _InT # Dec _In

CALL "SCALE"CALL "SCALE" IN : =# Dec_inIN : =# Dec_in HI_LIM : =2.000000e+002 HI_LIM : =2.000000e+002

LO_LIM : =0.000000e+000 LO_LIM : =0.000000e+000 BIPOLAR : =FALSE BIPOLAR : =FALSE

RET_VAL : =#ret RET_VAL : =#ret OUT : =#In_resultOUT : =#In_result

LL #In_result#In_resultTT DBD[AR2,P#0.0]DBD[AR2,P#0.0]

L L P#2.0P#2.0 +AR1+AR1

LL P#4.0 P#4.0 +AR2 +AR2 L #loopjsqL #loopjsq LOOP n1LOOP n1

作用:

把地址为 256.0 开始的 32 个模拟量输入信号采用循环方式逐个转存到 DB2 ,存放位置由DB2.DBD200 开始的 32 个浮点数。

如果不同量程如何处理?

Page 66: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—66

4.3.3 4.3.3 状态字状态字

15 8 7 6 5 4 3 2 1 0

······ BR CC1 CC0 OS OV OR STA RLO FC

首次检测位首次检测位 **逻辑操作结果逻辑操作结果 ** 状态位状态位 或位或位 溢出位溢出位 溢出状态保持位溢出状态保持位 条件码条件码 00

条件码条件码 11

二进制结果位 二进制结果位

状态字表示 CPU 执行指令时所具有的状态,用户程序可以访问和检测状态字,并可以根据状态字中的某些位决定程序的走向和进程。

Page 67: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—67

首次检测位(首次检测位( FCFC ))

位置:状态字位 “ 0”

作用:首次检测位 FC 决定了对其接点信号的存放位置。

在逻辑串指令执行过程中 : 若 FC = 0 ,表明一个梯形逻辑网络的开始(或为首条逻辑串指

令), CPU对操作数的检测结果(首次检测结果)直接保存在状态字的 RLO位中, FC 位置 1 ;

若 FC = 1 ,检测结果与 RLO相运算,并把运算结果存于 RLO

清除:执行输出指令( S 、 R 、 = )或与逻辑运算有关的转移指令时 FC被清 0 (表示逻辑串结束)

OMRON PLC 没有这个位,因为OMRONOMRON 有 有 LDLD 和 和 LD LD

NOTNOT

Page 68: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—68

逻辑操作结果逻辑操作结果 (RLO)(RLO)

Result of Logic Operation , RLO

位置:状态字位 “ 1”

作用:存储位逻辑指令或算术比较指令的结果。

所有的逻辑运算结果均放在此处!!

Page 69: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—69

语句表 实际状态 检测结果 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

RLO 、 FC 的变化示例

I0.0I0.1

Q1.0

Page 70: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—70

4.3.4 4.3.4 位逻辑运算指令位逻辑运算指令

PLC 中的触点包括常开触点常开触点 ( 动合触点 ) 和常闭触点常闭触点 ( 动断触点 )两种形式。 ※ 常开常开 ( 动合 ) 触点触点: “ 1”↔“ 动作”↔“闭合”

“0”↔“ 不动作”↔“断开” ※ 常闭常闭 ( 动断 ) 触点触点: “ 1”↔“ 动作”↔“断开”

“0”↔“ 不动作”↔“闭合”

位逻辑运算指令主要包括: 与 -- A与非 -- AN 或 -- O或非 -- ON异或 -- XOR赋值 -- =置位 -- S复位 -- R

Page 71: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—71

⑴⑴串联逻辑串联逻辑 AA、、 ANAN

( )I0.0 I1.0 M2.1 Q4.0

“1” “1” “0” “1”

A I 0.0

A I1.0

AN M2.1

= Q4.0

I0.0 为“ 1” 且 I1.0 为“ 1” 且 M2.1 为“ 0” →

Q4.0 为“ 1”语句表 实际状态 检测结果 RLO FC 说明

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

= Q4.0 1 0 RLO Q4.0, FC清 0

Page 72: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—72

⑵⑵并联逻辑 并联逻辑 OO 、、 ONON

( )I0.0 Q4.0

I1.0

M2.1

I0.0 为“ 1” 或 I1.0 为“ 1” 或 M2.1 为“ 0” → Q4.0

“为 1”

O I 0.0

O I1.0

ON M2.1

= Q4.0

语句表 实际状态 检测结果 RLO FC 说明

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

Page 73: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—73

⑶ ⑶ 串并联的复合达式和先串并联的复合达式和先““与与””后后““或或””

当逻辑串是串并联的复合组合时, CPU 的扫描顺序是先“与”后“或”。

A( A I0.0

A I0.1O AN I0.3AN I0.4)

A I0.2 = Q1.2

( )

I0.0 Q1.2

I0.4

I0.1

I0.3

I0.2

A(O I0.0ON I0.3)

A(O I0.1ON I0.4)

A I0.2 = Q1.2

( )

I0.0 Q1.2

I0.4

I0.1

I0.3

I0.2

Page 74: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—74

⑷ ⑷ 输出指令输出指令 (( == ) )

· 该操作把状态字中 RLO 的值赋给指定的操作数(位地址)

· 把首次检测位( FC 位)置 0 ,来结束一个逻辑串

· 一个 RLO 可以驱动多个输出元件

A I 0.0 = Q 1.2 = Q 1.3

( )

I0.0 Q1.2

( )

Q1.3

Page 75: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—75

⑸⑸置位/复位指令 置位/复位指令

· 置位/复位指令根据 RLO 的值,来决定被寻址位的信号状态是否需要改变。

若 RLO 的值为 1 ,被寻址位的信号状态被置 l 或清 0;

若 RLO是 0 ,则被寻址位的信号保持原状态不变,

又被称为静态置位/复位【赋值输出(=)被称为动态赋值输出赋值输出(=)被称为动态赋值输出】

指令格式 指令示例 说明

S < 位地址 > S Q0.2

RLO为 1 ,则被寻址信号状态置 1 ,即使 RLO又变为 0 ,输出仍保持为 1;FC 清 0 。

R< 位地址 > R M1.2

RLO 为 1 ,则被寻址信号状态置 0 ,即使 RLO又变为 0 ,输出仍保持为 0;FC 清 0 。

Page 76: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—76

4.4 程序结构

STEP7 有二种编程方法: 线性编程、结构化编程

A I0.0

A M1.0

……

BEU

主程序函数 ( 过程 )1

函数 ( 过程 ) n

……

Page 77: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—77

结构化编程的“块”结构化编程的“块”

STEP 7 C 语言main()

中断函数OB1 块其它 OB

组织块组织块OBOB

功能块功能块

DB 块 全局变量数据块数据块

SFB、 SFC 库函数

FC块

用户定义函数FB 块类似于子程序 / 过程

Page 78: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—78

4.4.1 4.4.1 数据块 数据块

PLCPLC 可定义的数据类型可定义的数据类型:bool、 byte、 int、 dint、 real、 date、 time

等基本数据类型,以及数组、结构等复式数据类型数据块定义的原则数据块定义的原则:

·· 先定义后访问先定义后访问

·· S7 CPU S7 CPU 允许建立不同大小的数据块,以序号区分 允许建立不同大小的数据块,以序号区分

·· 不同的不同的 CPUCPU 对允许定义的数据块数量及数据总量有限制 对允许定义的数据块数量及数据总量有限制

例如:例如: CPU 314CPU 314 允许定义用作数据块的存储器最多允许定义用作数据块的存储器最多 8KByte8KByte ,,

用户定义的数据总量不能 超过用户定义的数据总量不能 超过 8K8K ,否则将造成系统错误。,否则将造成系统错误。

Page 79: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—79

⑴ ⑴ 数据块定义 数据块定义

①①用用 STEP 7STEP 7 开发软件包定义,使用前作为用户程序的一部分下载到开发软件包定义,使用前作为用户程序的一部分下载到CPU CPU

②②程序运行过程中通过系统函数动态定义数据块程序运行过程中通过系统函数动态定义数据块

(( 慎用,定义不当易崩溃慎用,定义不当易崩溃 ))

有有 22 种定义方种定义方式式 ::

Page 80: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—80

⑵ ⑵ 数据块访问 数据块访问

·· 直接访问,指令中写明数据块号、类型、位置直接访问,指令中写明数据块号、类型、位置 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

注:数据块没有专门的关闭指令,在打开一个新块时,先前打开的块自动关闭注:数据块没有专门的关闭指令,在打开一个新块时,先前打开的块自动关闭 因因 CPUCPU 只有只有 DBDB 和和 DIDI 两个数据块地址寄存器,所以最多可同时打开两两个数据块地址寄存器,所以最多可同时打开两个块 个块

Page 81: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—81

⑶ ⑶ 背景数据块和共享数据块 背景数据块和共享数据块

• 背景数据块:背景数据块:附属于某个附属于某个 FBFB 块,数据块与某块,数据块与某 FBFB 所要求的输入输出数据所要求的输入输出数据格式完全相符。背景数据库可以理解为某格式完全相符。背景数据库可以理解为某 FBFB 的输入实参体。的输入实参体。

• 共享数据块:共享数据块:定义的数据可以被任何块读写访问 定义的数据可以被任何块读写访问

• 数据块在数据块在 CPUCPU 的存储器中是 没有区别的,只是由于打开方式不同,才在打的存储器中是 没有区别的,只是由于打开方式不同,才在打开时有背景数据块和共享数据块之分。开时有背景数据块和共享数据块之分。原则上,数据块都可以当作共享数原则上,数据块都可以当作共享数据块使用。 据块使用。

• 数据块可以定义多个,以序号加以区分数据块可以定义多个,以序号加以区分

Page 82: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—82

4.4.2 4.4.2 逻辑功能块 逻辑功能块

S7 PLC 程序可以放在任何 OB、 FB、 FC 中

FB、 FC 可以被 OB 调用,也可以被其它 FB、 FC 调用。

OB

FB FC SFB SFC

OB 块不可以被调用

应用程序应用程序

应用程序应用程序

callcall 其它FB/FC/

SFB/SFC

······

不超过 8 级

Page 83: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—83

(1)FC(1)FC 块块

FC功能块由两个主要部分组成:一是变量声明表;二是应用程序

变量申明表变量申明表

应用程序应用程序

包括: in、 out、 in_out、 temp

Page 84: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—84

FB功能块由两个主要部分组成:一是变量声明表;二是应用程序

变量申明表变量申明表

应用程序应用程序

((2)FB2)FB 块块

包 括 :in、 out、 in_out、 temp、 statstat

Page 85: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—85

(3)(3) 变量说明变量说明

临时变量仅在逻辑块运行时有效,逻辑块结束时存储临时变量的内存被操作系统另行分配。

in

out

in_out

实现调用块和被调用块间的数据传递。

在调用功能块时给出,实参的数据类型必须与形参一致。

stat 静态变量定义在背景数据块中当被调用块运行时,能读出或修改背景数据块中的静态变量;被调用块运行结束后,静态变量保留在背景数据块中。

temp

Page 86: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—86

(4)FC(4)FC、、 FBFB 的调用的调用

CALL FB4 , DB33 a1:= a2:= b1:= c1:=

FB 块的调用:

DB33 中的数据结构应与 FB4中的变量申明表结构(除temp 变量)完全相同

FC功能块没有背景数据块,调用时赋实参 ( 数据类型相同 ) :

CALL FC1 a1:= DB1.DBD0.0 a2:= DB2.DBW6.0 b1:= DB10.DBX5.6 c1:= MW12

Page 87: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—87

(5)(5) 其它其它

★ FB、 FC 可以定义多个,以序号区分。

★ S7CPU 中可使用的 B 堆栈大小是有限制的,对于S7300 CPU 可在 B 堆栈中存储 8 个块的信息,因此在控制程序中最多可同时激活 8 个块。

Page 88: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—88

4.4.3 4.4.3 组织块及中断优先级 组织块及中断优先级

DB/FB/FC 可以根据需要定义,以序号区分同一类的块没有“贵贱”之别

OB 块也可以根据需要定义,以序号区分但不同的块功能不同,且有“优先级”之别

1. 每一个 OB 可以对应为一种中断,不同的 OB 对应有不同的优先级2. OB1 是主循环块,任何 S7PLC 系统都需要 OB1 ,所以优先级最低

问题:从过程控制的角度看,除了 OB1 之外,通常还需要哪些中断?

Page 89: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—89

——

OB 块 说明 优先级 OB1 主循环 r★★ 基本组织块,循环扫描 1 (最低)

OB10 时间中断 根据设置的日期、时间定时启动 2

OB20 延时中断 受 SFC22 控制启动后延时特定时间允许 3

OB35 循环中断★★ 根据特定的时间间隔允许 12

OB40 硬件中断 检测到外部模块的中断请求时允许 16

OB80~ 0B87 异步错误中断★

检测到模块诊断错误或超时错误时启动 26

OB100 启动★ 当 CPU从 STOP 状态到 RUN 状态时启动 27

部分部分 OBOB 块的优先级:块的优先级:

Page 90: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—90

注意事项注意事项

• 一个 OB 块可以形成一个程序链 (OB 调用 FB/FC , FB/FC 调其它FB/FC)

• 所有程序的临时变量存放在 L堆栈中, L堆栈是有限的,如: CPU

314 的 L堆栈为 1536Byte ,供程序中的所有优先级划分使用。

• 对于 CPU 314 ,允许每个优先级及所有嵌套调用中激活块的自定义临时变量总数不能 超过 236Byte (有 20B 被 OB 自己占用了),否则 L

堆栈会溢出,导致 CPU 有 RUN 模式变为 STOP 模式。 问题:如果临时变量不够用怎么办?

Page 91: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—91

OB35使用 20 字节

L堆栈

功能块或系统功能块

L堆栈≤ 256 字节

L堆栈≤ 256 字节

总共 1536 字节

OB1使用 20 字节

L堆栈

背景数据块

优先级 12

功能块或系统功能块

功能块或系统功能块

背景数据块

Page 92: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—92

33 个常用组织块 个常用组织块

(1) (1) 初始化块(初始化块( OB10OB10

00 ) ) 当 PLC 从 STOP状态切换到 RUN状态后, CPU首先调用 OB100一次, OB100 调用结束后,操作系统开始进入程序运行;

如没有 OB100 ,则系统不对任何参数进行初始化。

OB100

OB1 OB80

STOP

Page 93: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—93

(2) (2) 主循环块(主循环块( OB1OB1 ) )

OB1 是最基本的组织块,当 OB100 调用结束后,操作系统开始周而复始地调用 OB1 ,这称为扫描循环。

调用 OB1 的时间间隔称为扫描周期,扫描周期的长短,主要由 OBI 中的程序执行所需时间决定。

OB1 必须存在,但 OB1 中不一定需要放置代码。为防止程序陷入死循环,可以设置确定主循环的最长时间。正常情况下,扫描周期小于该时间,如果扫描周期大于设定主程序最大允许循环行时间,操作系统调用 OB80 (循环时间超时),若 OB 80中未编写程序, CPU将转入停止( STOP )状态。

Page 94: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—94

S7 - 300 PLC 允许设计一个以固定间隔运行的定时中断组织块OB35 ,定时时间间隔可以在 lms ~ lmin 的范围内设置,当允许循环中断时, OB35以固定的间隔循环运行,但要求确保设置的定时时间间隔大于 OB35的执行时间,否则将造成系统异常,操作系统将调用异步错误 OB 80。

(3)(3)循环中断(循环中断( OB 35OB 35 ) )

Page 95: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—95

4.4.4 4.4.4 逻辑块的调用关系逻辑块的调用关系

操 作 系 统

OB1

FB、 SFB

共享 DB

背景 DB

FC、 SFC

共享 DB

共享 DBFC、 SFC

OB35、 OB10、 OB20……

Page 96: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—96

4.5 S7 PLC4.5 S7 PLC 的网络通信 的网络通信

现代计算机控制系统已不再是自动化的现代计算机控制系统已不再是自动化的““孤岛孤岛””,而是集过程控制、生,而是集过程控制、生产管理、网络通信、产管理、网络通信、 ITIT 技术等为一体的综合自动化系统,系统最主要的技术等为一体的综合自动化系统,系统最主要的结构特征表现为一个多层次的网络体系。结构特征表现为一个多层次的网络体系。

S7 PLC 的网络功能很强,它可以适应不同控制需要的网络体系,也为各个网络层次提供互联模块或接口装置,通过通信子网把PLC、 PG、 PC、 OP 及其它控制设备互联起来。

S7 PLC 可以提供: MPI——Multipoint Interface

PROFIBUS- DP

Industrial Ethernet

这 3 种通信方式都有各自的技术特点和不同的适应面。

Page 97: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—97

通信子网通信子网特征特征

MPI MPI PROFIBUS-DP PROFIBUS-DP Industrial EthernetIndustrial Ethernet工业以太网工业以太网

标准标准 SIEMENS SIEMENS EN50170 Vol.2 EN50170 Vol.2 IEEE802.3 IEEE802.3

介质访问技术介质访问技术 令牌环令令牌环令 令牌环+主从式令牌环+主从式 CSMA/CD CSMA/CD

传输速率传输速率 187.5Kbps 187.5Kbps 9.6Kbps9.6Kbps~~ 12Mbps 12Mbps 10Mbps / 100Mbps 10Mbps / 100Mbps

常用传输介质常用传输介质 屏蔽屏蔽 22芯电缆芯电缆塑料光纤塑料光纤玻璃光纤玻璃光纤

屏蔽屏蔽 22芯电缆芯电缆塑料光纤塑料光纤玻璃光纤玻璃光纤

屏蔽双绞线屏蔽双绞线屏蔽同轴电缆屏蔽同轴电缆玻璃光纤 玻璃光纤

最大站点数最大站点数 32 32 127 127 >> 1000 1000

拓扑结构拓扑结构 总线型、树型、星型、环型总线型、树型、星型、环型

通信服务通信服务 S7S7 函数、函数、 GD GD S7S7 函数、函数、 DPDP、、 FDLFDL等等

S7S7 函数、函数、 TCP/IPTCP/IP 等等

适用范围适用范围 现场设备层、控制单元层现场设备层、控制单元层 控制层、管理层控制层、管理层

Page 98: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—98

(( 11)) PLCPLC 机架的三种通信(集成)方式机架的三种通信(集成)方式

IM365/IM365—— 本地集成一IM360/IM361—— 本地集成二IM153—— 分布式 IO

对象 1

RIO

UR

IOU

RIO

UR

IOU

对象 n

RIO

UR

IOU

RIO

UR

IOU

PLC CR

Profibus-DP 总线

控制室

现场

优先考虑

Page 99: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—99

(( 22)) PLCPLC 与上位机的三种通信方式与上位机的三种通信方式

MPIMPI 通信通信• 物理层符合 RS485标准,是一种低成本的网络系统,用于连接多个不同的 CPU或设备。

• 多数 SIMATIC产品都集成有 MPI接口

OS*

S7 300

S7 400

PG

OP

MPI

Page 100: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—100

一个 MPI 网最多允许连接 32 个网络站点,它的传输速率是 187.5Kbps ,因此, MPI子网主要适用于站点数不多、数据传输量不大的应用场合。 MPI 连接 距离有限,从第一个节点到最后一个节点最长距离仅为 50m 。对于一个要求较大区域的信号 传输,采用两个中继器可以 将MPI 通信电缆最大长度延伸到 1100m 。

图 7.46 MPI 子网的扩展

≤50 米 ≤50 米≤1000 米

RS485 转 发器

(中继器)

适用于多数中小系统

MPIMPI 通信通信

Page 101: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—101

ProfibusProfibus-- DPDP 通信通信

OS*

S7 300

S7 400

Profibus-DP

说明:1.CPU 上需要有 DP 接口,可以是集成的,也可以式扩展的(如 CP342-

5 )2. 最大站点数 127

3. 最大通信距离(不加中继器) 1200米,与通信波特率有关4.OS 需要配置接口卡(如 CP5611等 )

5.OS 需要软件支持

Page 102: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—102

EthernetEthernet 通信通信

OS*

S7 300

S7 400

EtherNet

说明:

1.PLC 上需要配置以太网扩展接口模块(如 CP343- 1等, P.271)

2.OS 上可以用普通网卡

3.OS 需要软件支持(如基于 OPC 的通信支持软件包)

Page 103: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—103

(( 33)) PLCPLC与与 PLCPLC 的三种通信方式的三种通信方式

MPIMPI 通信通信• 物理层符合 RS485标准,是一种低成本的网络系统,用于连接多个不同的 CPU或设备。

• 多数 SIMATIC产品都集成有 MPI接口

OS*

S7 300

S7 400

PG

OP

MPI

Page 104: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—104

MPIMPI 通信通信

GD 通信,参见 P268

S7 300

S7 400

MPI

Page 105: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—105

ProfibusProfibus-- DPDP 通信通信

S7 函数通信 CALL "AG_RECV“ CALL "AG_SEND"

左边发送的数据即是右边接收的数据,发送方和接收方的数据长度要统一

S7 300

S7 400

- DP

Page 106: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—106

DP couplerDP coupler 通信通信

定义通信,需要通信的数据只需要在 DP coupler 上配置,即可实现自动通信

发送方和接收方的数据长度要统一

S7 400

- DP1

RIOU RIOU

S7 300

- DP2

RIOU RIOU

DP/DP coupler

Page 107: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—107

(( 44)) PLCPLC 与其它协议的通信与其它协议的通信

与与 RS232RS232 之间的通信之间的通信

RS232

仪表 节点

S7 300

- DP2

RIOU RIOU

CP340(6ES7 340-1AH02-0AE0) 或CP341(6ES7 341-1AH01-0AE0)

Page 108: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—108

与与 RS422/RS485RS422/RS485 之间之间的通信的通信

RS485

仪表 节点

S7 300

- DP2

RIOU RIOU

CP340(6ES7 340-1CH02-0AE0)或CP341(6ES7 341-1CH01-0AE0)

Page 109: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—109

作业:阅读以下程序,写出程序功能(文字描述或框图均可)

CLR // 清除 RLO ,使 RLO = 0 A #Po_Ne JCN z1 //RLO=“0” ,跳转至 z1 L #in_sp L #in_Vn -R T #en0 JU f1 // 无条件跳转至 f1z1: L #in_Vn L #in_sp -R T #en0f1: L #en1 -R L #A1 *R T #zc1

L 5.000000e-001 L #A2 /R L #en0 *R L #A1 *R T #zc2

L #A3 L 5.000000e-001 /R

L #A1*R

T #zc3

L 2.000000e+000 L #en1 *R T #zc4 L #en0 L #zc4 -R L #en2 +R L #zc3 *R L #zc2 +R L #zc1 +R T #d_Vout L #Vout +R T #Vout L #Vout L 0.000000e+000 <R JCN n2 L 0.000000e+000 T #Voutn2: L #Vout L 1.000000e+002 >R JCN n3 L 1.000000e+002 T #Voutn3: L #en1 T #en2 L #en0 T #en1 BEU // 本段程序结束

Page 110: 四、 SIMATIC S7-300 PLC 及指令系统

—计算机控制装置—110

6月 7 日作业• 教材 P281、 P282中 7-11、 7-12 两题


Top Related