S7-300 可以实现空间节省和模块式组态。除了模块,只需要一条 DIN 安装轨用于固定模块并把它们旋转到位。
这样就实现了坚固而且具有 EMC 兼容性的设计。
随用随建式的背板总线可以通过简单的插入附加的模块和总线连接器进行扩展。S7-300 系列丰富的产品既可以用于集中扩展,也可用于构建带有 ET 200M 的分布式结构;因此实现了经济高效的备件控制。
扩展选件
如果自动化任务需要超过 8 个模块,S7-300 的中央控制器 (CC) 可以使用扩展装置 (EU) 扩展。中心架上最多可以有 32 个模块,每个扩展装置上最多 8 个。接口模块 (IM) 可以同时处理各个机架之间的通讯。如果工厂覆盖范围很宽,CC/EU 还可以相互间隔较长距离安装(最长 10m)。
在单层结构中,这可以实现 256 个 I/O 的最大组态,在多层结构中最多可以达到 1024 个 I/O。在带有 PROFIBUS DP 的分布式组态中,可以有 65536 个 I/O 连接(最多 125 个站点,如通过 IM153 连接的 ET200M)。插槽可自由编址,因此无需插槽规则。
S7-300 模块种类丰富,还可以用在分布式自动化解决方案中。
与 S7-300 具有相同结构的 ET 200M I/O 系统通过接口模块不仅可以连接到 PROFIBUS 上还可以连接到 PROFINET 上。
1. 如何避免S7-300/400系统扫描时间过长而导致CPU停机?
如果用户程序的执行时间超出硬件组态中所设定CPU的扫描周期监控时间,则CPU会因看门狗超时而停机,同时触发定时错误OB80,诊断信息如图1所示:

图1 诊断信息
S7-300/400 CPU的循环扫描时间(看门狗时间)默认为150ms(最大可修改为6000ms),用户程序的执行时间必须在设定的扫描周期监控时间范围内。最大扫描周期设置如图2所示:

图2 设置最大扫描周期时间
2. 如何查看S7-300/400系统扫描循环时间?
如果工程师需要了解程序的扫描周期,可通过如下两种方法查询。
方法一、将程序下载到PLC后,进行在线连接,查看CPU信息,如图3所示:

图3 查看CPU“扫描循环时间”
方法二、通过将OB1相应的临时变量传送到M区,即可读取CPU扫描循环时间,如图4、图5所示:

图4 临时变量传送到M区

图5 变量监控
3. 如何查看S7-300/400中一个子程序的大约执行时间?
使用S7-300/400 CPU时,如果工程师需要了解某个子程序的大约执行时间,可在该子程序前、后分别读取CPU系统时钟,然后使用时钟相减指令FC34进行编程计算,步骤如下:
1、设置PLC系统时钟,按图6所示的设置:

图6 置PLC系统时钟
2、创建一个块符号名为“time”的数据块(DB1),并创建如下变量,如图7所示:

图7 创建数据块
3、在需要测试的子程序的第一个网络和最后一个网络读取系统时钟,然后运用时钟相减指令FC34进行计算。
如下例程中测试了“FC1”子程序的执行时间,如图8所示:

图8 “子程序执行时间”例程
4、通过变量监控表查看该子程序的大约执行时间,如图9所示:

图9 子程序大约执行时间
1、MM440的DP通讯功能简介
MM440变频器既支持和主站的周期性数据通讯,也支持和主站的非周期性数据通讯,即S7-300可以使用功能块SFC14/SFC15读取和修改MM440参数值,调用一次可以读取或者修改一个参数。同时也可以使用功能块SFC58/SFC59或者SFB52/SFB53读取和修改MM440参数值,一次最多可以读取或者修改39个参数。
2、MM440周期性数据通讯的报文说明
MM440周期性数据通讯报文有效 数据区域由两部分构成,即PKW区(参数识别ID-数值区)和PZD区(过程数据),见表1。PKW区最多占用4个字,即PKE(参数标识符值:占用一个字)、IND(参数的下标:占用一个字)、PWE1和PWE2(参数数值:共占用两个字)。S7-300使用功能块SFC14/SFC15读取和修改参数需要占用4个PKW,即调用一次功能块可以修改一个参数。PKW区的说明见表2。下面分别介绍一下PKW区的四个字。

表1

表2
(1)第一个字PKE:参数识别标识ID,见表3。

表3
参数识别标记ID(PKE)总是一个16位的值,位0~10(PNU)包括所请求的参数号码,位11(SPM)用于参数变更报告的触发位,位12~15(AK)包括任务识别标记ID(见表4)和应答识别标记ID(见表5)。

表4

表5
(2)第二个字IND:参数的下标
完整的参数号码是由基本参数号码和下标(PNU页号)中的位12-15产生,见表6。因为MM440参数号码没有超过4000,所以在读取和修改参数号为2000到3999时位15-12中必须为1。

表6
(3)第三个字PWE1和第四个字PWE2:参数数值,见表7。
总是以双字(32位)来传送参数值(PWE)。在PPO报文中,仅一个参数值能被传送。由PWE1(高位有效字:第三个字)和PWE2(低位有效字:第四个字)组成一个32位参数值。用PWE2(低位有效字:第四个字)传送一个16位参数值,这种情况下,必须在PROFIBUS-DP主站中,设定PWE1(高位有效字:第三个字)为零。

表7
-
位0到15(PWE2):用于16位参数的参数值或用于32位参数的低位部分。
-
位16到31(PWE1):用于等于零的1位参数或用于32位参数的高位部分。
3、MM440非周期性数据通讯的报文说明
MM440支持非周期通讯方式,即扩展的PROFIBUS DP(DPV1)功能,一次最多可以传送240个字节,传输数据块的内容应遵照 PROFIdrive Profile, version 4.0(with data block 47 (DS47))非周期参数通道结构。它包括参数请求和参数应答两部分。
(1)参数请求包括请求标题、参数地址和参数值,见表8。
项目
|
数据类型
|
数值
|
注释
|
请求参考
|
无符号8 位数
|
0x01 … 0xFF
|
每一次新的请求主站改变“请求参考“,从站在其应答时镜像“请求参考“
|
请求ID
|
无符号8位数
|
0x01
|
读请求
|
|
|
0x02
|
写请求
|
设备ID
|
无符号8位数
|
0x00 … 0xFF
|
对于多个驱动单元设定相应设备ID
|
参数数量
|
无符号8位数
|
0x01 … 0x27
|
No.1…39,对于请求多个参数时的参数数量,=1为请求一个参数
|
属性
|
无符号8位数
|
0x10
|
数值型
|
|
|
0x20
|
描述型
|
|
|
0x30
|
文本型(不可能)
|
元素数量
|
无符号8位数
|
0x00
|
特定功能
|
|
|
0x01 … 0x75
|
No. 1 … 117,数组数量
|
参数值
|
无符号16位数
|
0x0001 … 0xFFFF
|
No. 1 … 65535
|
下标
|
无符号16位数
|
0x0001 … 0xFFFF
|
No. 1 … 65535
|
格式
|
无符号8位数
|
0x02
|
8位整形数
|
|
|
0x03
|
16位整形数
|
|
|
0x04
|
32位整形数
|
|
|
0x05
|
无符号8位数
|
|
|
0x06
|
无符号16位数
|
|
|
0x07
|
无符号32位数
|
|
|
0x08
|
浮点数
|
|
|
Other values
|
见 PROFIdrive Profile
|
|
|
0x40
|
0
|
|
|
0x41
|
字节
|
|
|
0x42
|
字
|
|
|
0x43
|
双字
|
|
|
0x44
|
错误
|
数值号
|
无符号8位数
|
0x00 … 0xEA
|
0..234
|
数值
|
无符号16位数
|
0x0000 … 0x00FF
|
读或写的参数值
|
表8
(2)参数应答描述见表9:
错误值
|
含义
|
注释
|
0X00
|
无效的参数号
|
获取不存在的参数
|
0X01
|
参数值不能被改变
|
修改了一个不允许修改的参数
|
0X02
|
超出上下限
|
修改的数值超限
|
0X03
|
无效的下标
|
获取不存在的下标
|
0X04
|
没有数组
|
用下标获取不存在下标的参数
|
0X05
|
数据类型不正确
|
|
0X06
|
无效的设定操作(参数只能设定为0)
|
|
0X07
|
描述的元素不能被修改
|
修改了不能被修改的元素
|
0X09
|
没有描述的数据
|
获取不存在的参数
|
0X0B
|
没有操作权限
|
|
0X0F
|
下一个数组不存在
|
获取下一个不存在的数组
|
0X11
|
变频器运行时不能执行请求任务
|
|
0X14
|
无效数值
|
|
0X15
|
应答长度太长
|
当前的应答长度超出最大传输长度
|
0X16
|
无效的参数地址
|
|
0X17
|
无效的数据格式
|
|
0X18
|
数据数量不一致
|
|
0X19
|
驱动装置不存在
|
|
0X20
|
文字类型的参数不能被改变
|
|
表9西门子6ES7317-2AJ10-0AB0
4、硬件组态和站地址设置
本例中主站选用的是CPU319F-3 PN/DP,版本为V2.6,从站MM440的DP地址为5,MM440的版本为V2.09,选择的报文结构是PPO1,即含有4个PKW和2个PZD,见图1。也可以选择其他报文类型,只要含有4个PKW就可以,见图2。本例中PKW的地址范围是256~263,PZD的地址范围是264~267。

图1 图2
5、周期性DP通讯读取和修改参数例程
首先在主程序OB块中调用SFC14(读取参数)和SFC15(修改参数),功能块中LADDR为W#16#100,实际就是PKW的起始地址,DB1.DBB 0开始的8个字节是读到的值,DB1.DBB 24开始的8个字节是需要修改的参数值,见图3。M20.0为使能位,同时需要建一个DB1块。因为参数2000以下和2000以上的报文中IND不同,本文则以实例分别介绍如何读取和修改MM440的单字、双字和浮点数的三种参数类型。

图3
修改和读取2000以上参数方法:在下面的图中上部红色框中为实际修改后的值,由功能块SFC14读回来,下部红色框中为希望修改参数值的报文。
(1) 单字:修改参数P2010[1]为6,见图4。
修改参数请求报文
PKE=DB1.DBW 24=200A
IND=DB1.DBW 26=0180
PWE1=DB1.DBW 28=0000
PWE2=DB1.DBW 30=0006
实际应答报文
PKE=DB1.DBW 0=100A
IND=DB1.DBW 2=0180
PWE1=DB1.DBW 4=0
PWE2=DB1.DBW 6=6

图4
(2) 双字:修改参数P2200[1]为1,见图5。
修改参数请求报文
PKE=DB1.DBW 24=80C8
IND=DB1.DBW 26=0180
PWE1=DB1.DBW 28=0001
PWE2=DB1.DBW 30=0000
实际应答报文
PKE=DB1.DBW 0=50C8
IND=DB1.DBW 2=0180
PWE1=DB1.DBW 4=0001
PWE2=DB1.DBW 6=0000

图5
(3) 浮点数:修改参数P2240[1]为40.0,见图6。
修改参数请求报文
PKE=DB1.DBW 24=80F0
IND=DB1.DBW 26=0180
PWE1+PWE2=DB1.DBD 28=40.0
实际应答报文
PKE=DB1.DBW 0=50F0
IND=DB1.DBW 2=0180
PWE1+PWE2=DB1.DBD 4=40.0

图6
修改和读取2000以下参数方法:下面的图中上部红色框中为实际修改后的值,由功能块SFC14读回来,下部红色框中为希望修改参数值的报文。
(1) 单字:修改参数P0701[0]为2,见图7。
修改参数请求报文
PKE=DB1.DBW 24=72BD
IND=DB1.DBW 26=0000
PWE1=DB1.DBW 28=0000
PWE2=DB1.DBW 30=0002
实际应答报文
PKE=DB1.DBW 0=42BD
IND=DB1.DBW 2=0000
PWE1=DB1.DBW 4=0000
PWE2=DB1.DBW 6=0002

图7
(2) 双字:修改参数P1020[0]为1,见图8。
修改参数请求报文
PKE=DB1.DBW 24=83FC
IND=DB1.DBW 26=0000
PWE1=DB1.DBW 28=0001
PWE2=DB1.DBW 30=0000
实际应答报文
PKE=DB1.DBW 0=53FC
IND=DB1.DBW 2=0000
PWE1=DB1.DBW 4=0001
PWE2=DB1.DBW 6=0000

图8
(3) 浮点数:修改参数P1120[1]为40.0,见图9。
修改参数请求报文
PKE=DB1.DBW 24=8460
IND=DB1.DBW 26=0100
PWE1+PWE2=DB1.DBD 28=40.0
实际应答报文
PKE=DB1.DBW 0=5460
IND=DB1.DBW 2=0100
PWE1+PWE2=DB1.DBD 4=40.0

图9
6、非周期DP通讯读取和修改参数例程
方法一:使用SFB52/SFB53对MM440进行非周期DP通讯读取参数时必须要成对出现,即先发送读请求块SFB53,然后发送SFB52块读取参数;而修改参数只需要发送功能块SFB53就可以。功能块中ID的地址可以设置为PZD或者PKW的地址,也可以设置为诊断地址,本例中设为诊断地址W#16#1FFA;功能块中INDEX必须为47;建议功能块中LEN和RECORD的长度一致,或者RECORD的长度大于LEN的长度,只要小于240字节即可,见图10。程序中先置M0.0为1发出读请求,然后程序自动把M0.0复位为0;再置M0.1为1进行读取参数,M0.1也自动复位为0。

读请求 读参数
图10
方法二:使用SFC58/SFC59对MM440进行非周期DP通讯读取参数必须要成对出现,即先发送读请求块SFC59,然后发送SFC58块读取参数;而修改参数只需要发送功能块SFC59就可以。功能块中LADDER的地址可以设置为PZD或者PKW的地址,也可以设置为诊断地址,本例中设为诊断地址W#16#1FFA;功能块中IOID必须设置为B#16#54;功能块中RECNUM必须为B#16#2F,即十进制必须为47;程序中先置M2.0为1发出读请求,然后程序自动把M2.0复位为0;再置M2.1为1进行读取参数,M2.1也自动复位为0,见图11和图12。

读请求 读参数
图11

图12
(1)一次读取参数P1120的三个下标值和P1121的三个下标值,报文结构说明见图13,其中DB1.DBB 2(驱动单元ID号码):可以取值为0或1或2。实际设置见图14。

图13

读请求 读参数
图14
(2)单字:修改参数P0701的三个下标值均为9,主程序调用功能块SFC59,见图15,M3.1置后则自动复位为0。实际修改参数见图16。STARTER软件中参数P0701的三个下标值均被修改为9,见图17。

图15

图16

图17
(3)双字:把参数P2200的三个下标值都修改为1,实际修改参数见图18,STARTER软件中参数被修改为1,见图19。

图18

图19
(4)浮点数:把参数P1120的三个下标修改为11.0/7.0/30.0,实际修改参数见图20,STARTER软件中参数被修改为11.0/7.0/30.0,见图21。

图20

图21
HMI
6AV6 640-0BA11-0AX0 OP 73 micro s7-200系列用
6AV6 640-0CA11-0AX1 TP177 micro 触摸式 s7-200系列用
6AV6 640-0DA11-0AX0 K-TP 178 micro s7-200系列用
6AV6 641-0AA11-0AX0 OP 73 单色 3英寸
6AV6641-0BA11-0AX0 OP 77A 单色 4.5英寸
6AV6641-0CA01-0AX0 OP 77B 单色 4.5英寸
6AV6642-0AA11-0AX1 TP 177A 单色 5.7英寸
6AV6642-0BC01-1AX1 TP 177B DP 单色 5.7英寸
6AV6642-0BA01-1AX1 TP 177B PN/DP 彩色 5.7英寸
6AV6642-0DC01-1AX1 OP 177B DP 单色 5.7英寸
6AV6642-0DA01-1AX1 OP 177B PN/DP 彩色 5.7英寸
6AV6643-0BA01-1AX0 OP 277-6操作员面板,5.7寸彩色中文显示
6AV6643-0AA01-1AX0 TP277-6 触摸式面板,5.7寸彩色中文显示
6AV6643-0CB01-1AX1 MP277-8 触摸式面板,8寸64K色中文
6AV6643-0DB01-1AX1 MP277-8 按键式面板,8寸64K色中文显示
6AV6643-0CD01-1AX1 MP277-10 触摸式面板,10寸64K色中文
6AV6643-0DD01-1AX1 MP277-10 按键式面板,10寸64K色中文显示
6AV6671-1CB00-0AX2 MMC 存储卡 128 MB 用于 OP77B, OP/TP 177B, MOBILE PANEL 177
6AV6671-1CB00-0AX1 MMC 存储卡 64 MB 用于 OP77B, OP/TP 177B, MOBILE PANEL 177
6AV6644-0AA01-2AX0 SIMATIC MP 377 12" TOUCH
6AV6644-0AB01-2AX0 SIMATIC MP 377 15" TOUCH
6AV6644-0AC01-2AX0 SIMATIC MP 377 19" TOUCH
6AV6644-0BA01-2AX0 SIMATIC MP 377 12" KEY
旧屏
6AV6 545-0BA15-2AX0 TP170A触摸式面板
6AV6 545-0BB15-2AX0 TP170B触摸式面板,5.7寸单色中文显示
6AV6 545-0BC15-2AX0 TP170B触摸式面板,5.7寸彩色中文显示
6AV6 542-0BB15-2AX0 OP170B操作员面板,5.7寸单色中文显示
6AV6 545-0CA10-0AX0 TP270-6触摸式面板,5.7寸彩色中文显示
6AV6 545-0CC10-0AX0 TP270-10触摸式面板,10.4寸彩色中文显示
6AV6 542-0CA10-0AX0 OP270-6操作员面板,5.7寸彩色中文显示
6AV6 542-0CC10-0AX0 OP270-10操作员面板,10.4寸彩色中文显示
6AV6 542-0AG10-0AX0 MP270B按键式面板,10.4寸彩色中文显示
6AV6 545-0AH10-0AX0 MP270B-6 触摸式面板,5.7寸彩色中文
6AV6 545-0AG10-0AX0 MP270B-10 触摸式面板,10.4寸彩色中文显示
6AV6 542-0DA10-0AX0 MP370按键式面板,12寸256色中文显示
6AV6 545-0DA10-0AX0 MP370触摸式面板,12寸256色中文显示
6AV6 545-0DB10-0AX0 MP370触摸式面板,15寸256色中文显示
6AV6 574-2AC00-2AA1 CF 存储卡 512 MB
西门子人机界面:
KTP400 精智面板 4.3 寸,1600 万色 LED 背光,16:9 宽屏显示,键控 + 触摸,4 MB 用户内存
KP400 精智面板 4.3 寸,1600 万色 LED 背光,16:9 宽屏显示,键控,4 MB 用户内存
TP700 精智面板 7 寸,1600 万色 LED 背光,16:9 宽屏显示,触摸屏,12 MB 用户内存
KP700 精智面板 7 寸,1600 万色 LED 背光,16:9 宽屏显示,键控,12 MB 用户内存
TP900 精智面板 9 寸,1600 万色 LED 背光,16:9 宽屏显示,触摸屏,12 MB 用户内存
KP900 精智面板 9 寸,1600 万色 LED 背光,16:9 宽屏显示,键控,12 MB 用户内存
TP1200 精智面板12 寸,1600 万色 LED 背光,16:9 宽屏显示,触摸屏,12 MB 用户内存
KP1200 精智面板 12 寸,1600 万色 LED 背光,16:9 宽屏显示,键控,12 MB 用户内存
TP1500 精智面板 15.4 寸,1600 万色 LED 背光,16:9 宽屏显示,触摸屏,24 MB 用户内存
KP1500 精智面板 15.4 寸,1600 万色 LED 背光,16:9 宽屏显示,键控,24 MB 用户内存
TP1900 精智面板18.5 寸,1600 万色 LED 背光,16:9 宽屏显示,触摸屏,24 MB 用户内存
TP2200 精智面板 21.5 寸,1600 万色 LED 背光,16:9 宽屏显示,触摸屏,24 MB 用户内存
不锈钢前面板TP700 INOX精智面板 ,7 寸显示屏,前面板防护等级IP66K,1600 万色 LED 背光,宽屏显示,触摸屏,12 MB 用户内存
不锈钢前面板TP1200 INOX精智面板 ,12 寸显示屏,前面板防护等级IP66K,1600 万色 LED 背光,宽屏显示,触摸屏,12 MB 用户内存
|