西门子PLCCR40

6ES7288-1CR40-0AA1SIMATIC S7-200 SMART CPU CR40s, 紧凑型 CPU,AC/DC/继电器, 机载 I/O: 24 个数字输入端 24V DC;16 个 2A 继电器数字输出; 电源:AC, 47 - 63Hz 时,85 - 264V AC, 程序存储器/数据存储器 20 KB

1. S7通信简介
S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET网络的一种优化的通信协议,主要用于S7300/400PLC之间的通信。SIMATIC S7- PN CPU包含一个集成的 PROFINET 接口,该接口除了具有 PROFINET I/O功能,还可以进行基于以太网的S7通信。SIMATIC S7- PN CPU支持无确认数据交换、确认数据交换和单边访问功能。功能块的调用如图1、图2所示。


S7-400

S7-300
描述简要描述
SFB 8FB 8用于发送无确认的快速数据交换,发送数据后无对方接收确认。
SFB 9FB 9用于接收
SFB 12FB 12用于发送确认数据交换,发送数据后有对方接收确认。
SFB 13FB 13用于接收
SFB 14FB 14读数据单边编程读访问。
SFB 15FB 15写数据单边编程写访问。

表1

 


图1

 



图2

要通过 S7-PN CPU 的 集成PROFINET 接口实现S7 通信,需要在硬件组态中建立连接。


2. 硬件及网络组态
CPU采用两个315-2PN/DP,使用以太网进行通信。
在STEP7中创建一个新项目,项目名称为PN S7。插入两个S7-300站,在硬件组态中,分别插入CPU 315-2 PN/DP。如图3所示。



图3

新建以太网,打开“NetPro”设置网络参数,选中CPU,在连接列表中建立新的连接。如图4所示。


图4

然后双击该连接,设置连接属性。在“General”属性中块参数ID = 1,这个参数即是下面程序中的参数“ID”。在SIMATIC 315PN-1中激活“Establish an active connection”,作为Client端,SIMATIC 315PN-2作为Server 端。


3. 软件编程

3.1. 无确认数据交换
SFB/FB 8 "USEND" 向类型为“URCV”的远程伙伴SFB/FB发送数据。执行发送过程而不需要和SFB/FB伙伴进行协调。也就是说,在进行数据传送时不需要伙伴SFB/FB进行确认。
S7-300:在REQ的上升沿处发送数据。在REQ的每个上升沿处传送参数R_ID、
ID和SD_1。在每个作业结束之后,可以给R_ID、ID和SD_1参数分配新数值。
S7-400:在控制输入REQ的上升沿处发送数据。通过参数SD_1到SD_4来指向要
发送的数据,但并非都需要用到所有四个发送参数。
然而,必须确保参数SD_1到SD_4/SD_1和RD_1到RD_4/RD_1 (在相应通讯伙
伴SFB/FB "URCV" 上)所定义的区域在以下几个方面保持一致:
? ?编号
? ?长度
? ?数据类型
参数R_ID必须在两个SFB中完全相同。如果传送成功完成,则通过状态参数DONE来表示,此时其逻辑数值为1。
SFB/FB 9 "URCV" 从类型为“USEND”的远程伙伴SFB/FB中异步接收数据,并
把接收到的数据复制到组态的接收区域内。
当程序块准备好接收数据时,EN_R输入处的逻辑值为1。可以通过EN_R=0来取
消一个已激活的作业。
S7-300:在EN_R的每个上升沿处应用参数R_ID、ID和RD_1。在每个作业结束
之后,可以给R_ID、ID和RD_1参数分配新数值。
S7-400:通过参数RD_1到RD_4来指向接收数据区。
必须确保参数RD_i/RD_1和SD_i/SD_1 (在相应通讯伙伴SFB/FB "USEND"
上)所定义的区域在以下几个方面保持一致:
?? 编号
? ?长度
? ?数据类型。
通过NDR状态参数逻辑数值为1来指示已经成功完成复制处理过程。参数R_ID必须在两个SFB/FB上完全相同。
打开SIMATIC 315PN-1的OB1,在OB1中依次调用FB8,FB9如图5、图6所示:



图5

 

程序中的参数说明见表2

参数描述数据类型存储区描述
REQINPUTBOOL I、Q、M、D、L上升沿触发工作
IDINPUTWORDM、D、常数连接ID
R_IDINPUT DWORDI、Q、M、D、L、常数连接号,相同连接号的功能块互相对应发送/接收数据
DONEOUTPUTBOOL I、Q、M、D、L为1时,发送完成
ERROROUTPUTBOOLI、Q、M、D、L为1时,有故障发生
STATUSOUTPUTWORDI、Q、M、D、L状态代码
S7-300:
SD_1
S7-400:
SD_i
(1 ≤ i ≤ 4)
 IN_OUTANYM、D、T、Z I、Q、M、D、T、C发送数据区

 表2 FB8参数说明

 



图6

 

程序中的参数说明见表3

参数参数数据类型存储区描述
EN_RINPUTBOOLI、Q、M、D、L、常数为1时,准备接收
IDINPUTWORDM、D、常数连接ID
R_IDINPUTDWORD I、Q、M、D、L、常数连接号,相同连接号的功能块互相对应发送/接收数据
NDROUTPUTBOOL I、Q、M、D、L为1时,接收完成
ERROROUTPUTBOOLI、Q、M、D、L为1时,有故障发生
STATUSOUTPUTWORDI、Q、M、D、L状态代码
S7-300:
RD_1
S7-400:
RD_i
(1 ≤ i ≤ 4)
IN_OUTANYM、D、T、Z I、Q、M、D、T、Z接收数据区

 表3 FB9参数说明


同样,在SIMATIC 315PN-2的OB1中,调用FB8/FB9。通信双方的“R_ID”均设为0。将SIMATIC 315PN-1的MB100-MB109赋值B#16#02,在SIMATIC 315PN-2中,将FB9的“EN_R”置1,然后在SIMATIC 315PN-1中,将FB8中“REQ”设置上升沿信号,此时SIMATIC 315PN-2的MB110-MB119接收到B#16#02。如图7所示。



图7

同理,将SIMATIC 315PN-2 的MB100-MB109赋值为B#16#03,SIMATIC 315PN-1的MB110-MB119接收到B#16#03。如图8所示。

西门子PLCCR40
图8

3.2. 确认数据交换
SFB/FB 12 "BSEND" 向类型为“BRCV”的远程伙伴SFB/FB发送数据。通过这种
类型的数据传送,更多的数据可以在通讯伙伴之间传输,超过任何其它用于组态的
S7连接的通讯SFB/FB所能传输的数据量,通过集成PN口的S7-400和S7-300是65534字节。
要发送的数据区是分段的。各个分段单独发送给通讯伙伴。通讯伙伴在接收到
一个分段时对此分段进行确认,该过程与相应SFB/FB "BRCV" 的调用无关。在调用块之后,当在控制输入REQ上有上升沿时,发送作业被激活。发送用户存储区中的数据与处理用户程序是异步执行的。
由SD_1指定起始地址和要发送数据的长度。可以通过LEN来确定数据域的作业指定长度。在这种情况下,LEN替换SD_1的长度区域。参数R_ID必须在相应的两个SFB/FB上完全相同。如果在控制输入R处有上升沿,则当前数据传送将被取消。如果传送成功完成,则通过将状态参数DONE的数值设置为1来进行指示。如果状态参数DONE或ERROR的数值为1,则在前一个发送处理结束之前,不能处理新的发送作业。
SFB/FB 13 "BRCV" 接收来自类型为“BSEND”的远程伙伴SFB/FB的数据。在收
到每个数据段后,向伙伴SFB/FB发送一个确认帧,同时更新LEN参数。在块调用完毕,并且在控制输入EN_R数值为1之后,块准备接收数据。可以通过EN_R=0来取消一个已激活的作业。
由RD_1指定起始地址和接收区的长度。由LEN指示已接收数据域的长度。
从用户存储区中接收数据与处理用户程序是异步执行的。参数R_ID必须在相应的两个SFB/FB上完全相同。通过状态参数NDR的数值为1来指示所有数据段的无错接收。接收到的数据保持不变,直到通过EN_R=1来重新调用SFB/FB 13为止。如果在数据的异步接收期间调用块,则将引发一个警告,该警告通过STATUS参数输出;如果当控制输入EN_R数值为0时进行调用,则接收将被终止,并且SFB/FB将返回到它的初始状态。
打开SIMATIC 315PN-1的OB1,在OB1中依次调用FB12,FB13如图9、图10所示:



图9

 

程序中的参数说明见表4

参数描述数据类型存储区描述
REQINPUTBOOL I、Q、M、D、L上升沿触发工作
RINPUTBOOLI、Q、M、D、L、常数复位,终止数据交换
IDINPUTWORDM、D、常数连接ID
R_IDINPUTDWORDI、Q、M、D、L、常数连接号,相同连接号的功能块互相对应发送/接收数据
DONEOUTPUTBOOLI、Q、M、D、L为1时,发送完成
ERROROUTPUTBOOLI、Q、M、D、L为1时,有故障发生
STATUSOUTPUTWORDI、Q、M、D、L状态代码
SD_1IN_OUTANYS7-300:M、DS7-400:I、Q、M、D、T、Z发送数据区
LEN IN_OUTWORDI、Q、M、D、L发送数据的长度

表4 FB12参数说明

 



图10

 

程序中的参数说明见表5

参数描述数据类型存储区描述
EN_R INPUTBOOLI、Q、M、D、L、常数为1时,准备接收
IDINPUT WORDM、D、常数连接ID
R_IDINPUTDWORDI、Q、M、D、L、常数 连接号,相同连接号的功能块互相对应发送/接收数据
NDROUTPUT BOOLI、Q、M、D、L为1时,接收完成
ERROROUTPUTBOOLI、Q、M、D、L为1时,有故障发生
STATUSOUTPUTWORD I、Q、M、D、L状态代码
RD_1IN_OUTANYS7-300:M、DS7-400:I、 Q、M、D、T、C接收数据区
LEN IN_OUTWORD I、Q、M、D、L接收到的数据长度

表5 FB13参数说明

同样,在SIMATIC 315PN-2的OB1中,调用FB12/FB13。通信双方的R_ID设为0,LEN设为10,将SIMATIC 315PN-1的MB120-MB129赋值B#16#04,在SIMATIC 315PN-2中,将FB13的“EN_R”置1,然后在SIMATIC 315PN-1中,将FB12中“REQ”设置上升沿信号,此时SIMATIC 315PN-2的MB130-MB139接收到B#16#04。如图11所示。



图11

同理,将SIMATIC 315PN-2 的MB120-MB129赋值为B#16#05,SIMATIC 315PN-1的MB130-MB139接收到B#16#05。如图12所示。


图12


3.3. 单边访问
可以通过SFB/FB 14 "GET",从远程CPU中读取数据。
S7-300:在REQ的上升沿处读取数据。在REQ的每个上升沿处传送参数ID、ADDR_1和RD_1。在每个作业结束之后,可以分配新数值给ID、ADDR_1和RD_1参数。
S7-400:在控制输入REQ的上升沿处启动SFB。在此过程中,将要读取的区域的相关指针(ADDR_i)发送到伙伴CPU。远程伙伴返回此数据。在下一个SFB/FB调用处,已接收的数据被复制到组态的接收区(RD_i)中。必须要确保通过参数ADDR_i和RD_i定义的区域在长度和数据类型方面要相互匹配。
通过状态参数NDR数值为1来指示此作业已完成。只有在前一个作业已经完成之后,才能重新激活读作业。远程CPU可以处于RUN或STOP工作状态。如果正在读取数据时发生访问故障,或如果数据类型检查过程中出错,则出错和警告信息将通过ERROR和STATUS输出表示。
通过使用SFB/FB 15 "PUT",可以将数据写入到远程CPU。
S7-300:在REQ的上升沿处发送数据。在REQ的每个上升沿处传送参数ID、ADDR_1和SD_1。在每个作业结束之后,可以给ID、ADDR_1和SD_1参数分配新数值。
S7-400:在控制输入REQ的上升沿处启动SFB。在此过程中,将指向要写入数据的区域(ADDR_i)的指针和数据(SD_i)发送到伙伴CPU。 远程伙伴将所需要的数据保存在随数据一起提供的地址下面,并返回一个执行确认。必须要确保通过参数ADDR_i和SD_i定义的区域在编号、长度和数据类型方面相互匹配。
如果没有产生任何错误,则在下一个SFB/FB调用时,通过状态参数DONE来指示,其数值为1。只有在一个作业完成之后,才能再次激活写作业。远程CPU可以处于RUN或STOP模式。如果正在写入数据时发生访问故障,或如果执行检查过程中出错,则出错和警告信息将通过ERROR和STATUS输出表示。
打开SIMATIC 315PN-1的OB1,在OB1中依次调用FB14,FB15如图13、图14所示:



图13

 

参数描述数据类型存储区描述
REQ INPUTBOOLI、Q、M、D、L上升沿触发调用功能块
ID INPUT WORDM、D、常数地址参数ID
ERROROUTPUTBOOL I、Q、M、D、L接收到新数据
STATUSOUTPUTWORDI、Q、M、D、L故障代码
S7-300:
ADDR_1
S7-400:
ADDR_i
(1 ≤ i ≤ 4)
IN_OUTANYM、D 
I、Q、M、D、
T、C
从通信对方的数据地址中读取数据
S7-300:
RD_1
S7-400:
RD_i
(1 ≤ i ≤ 4)
IN_OUTANYS7-300:M、D
S7-400 I、Q、
M、D、T、C
本站接收数据地址

表6 FB14参数说明

 



图14

 

参数描述数据类型存储区描述
REQ INPUTBOOL I、Q、M、D、L上升沿触发调用功能块
IDINPUTWORDM、D、常数地址参数
DONEOUTPUTBOOL I、Q、M、D、L为1时,发送完成
ERROROUTPUTBOOLI、Q、M、D、L为1时,有故障发生
STATUSOUTPUTWORDI、Q、M、D、L故障代码
S7-300:
ADDR_1
S7-400:
ADDR_i
(1 ≤ i ≤ 4)
IN_OUTANYM、D
I、Q、M、D、
T、C
通信对方的数据接收地址
S7-300:
SD_1
S7-400:
SD_i
(1 ≤ i ≤ 4)
IN_OUTANYS7-300:M、D
S7-400 I、Q、
M、D、T、C
本站发送数据地址

表7 FB15参数说明

 

同样,在SIMATIC 315PN-2的OB1中,调用FB14/FB15。将SIMATIC 315PN-2的MB140-MB149赋值B#16#06,在SIMATIC 315PN-1中,将FB14的“REQ”置上升沿信号,此时SIMATIC 315PN-1的MB150-MB159接收到B#16#06。如图15所示。


图15

将SIMATIC 315PN-1的MB140-MB149赋值B#16#08,在SIMATIC 315PN-2中,将FB14的“REQ”置上升沿信号,此时SIMATIC 315PN-2的MB150-MB159接收到B#16#08。如图16所示。


图16

将SIMATIC 315PN-1的MB170-MB179赋值B#16#07,将FB15的“REQ”置上升沿信号,此时SIMATIC 315PN-2的MB160-MB169接收到B#16#07。如图17所示。


图17

将SIMATIC 315PN-2的MB170-MB179赋值B#16#11,将FB15的“REQ”置上升沿信号,此时SIMATIC 315PN-1的MB160-MB169接收到B#16#11。如图18所示。


图18


4. 常见问题
? ?两个S7-300PN CPU之间建立S7连接可有哪些通信方式?
答:可以有确认连接、非确认连接、单边通信
? ?使用FB8/9时,数据已发送,程序块没有错误显示,但是没收到任何数据?
答:发送区与接收缓冲区长度不一致。
? ?使用FB12/13时,发送区与接收缓冲区长度是否必须一致?
答:发送区的大小只要不超过接收缓冲区就可以。
? ?FB12发送数据时,发送数据的长度由哪个参数决定?
答:发送长度由LEN决定。但发送数据的起始地址和长度由SD_1决定。

型号

CPU CR40 AC/DC/RLY

订货号(MLFB)

6ES7 288-1CR40-0AA0

常规


尺寸 W x H x D(mm)

125 x 100 x 81

重量

440 g

功耗

18 W

可用电流(EM 总线)

740 mA (5 V DC)

可用电流(24 V DC)

300 mA(传感器电源)

数字输入电流消耗(24 V DC)

所用的每点输入 4 mA

CPU 特征


用户储存器

12 KB 程序存储器/8 KB 数据存储器 / 10 KB 保持性存储器

板载数字 I/O

24 点输入/16 点数出

过程映像大小

256 位输入 (I)/256 位输出 (Q)

位存储器(M)

256 位

临时(局部)存储

主程序中 64 字节,每个子程序和中断程序中 64 字节

高速计数器

共 4 个
? 单相 4 个,30 kHz
? 正交相位 2 个,20 kHz

脉冲捕捉输入

14 个

循环中断

共 2 个,分辨率为 1 ms

沿中断

4 个上升沿和 4 个下降沿

存储卡

Micro SD 卡(选件)

性能


布尔运算

0.15 μs/指令

移动字

1.2 μs/指令

实数数学运算

3.6 μs/指令

S7-200 SMART 支持的用户程序元素


POUs

类型/数量
? 主程序:1 个
? 子程序:128 个(0 到 127)
? 中断程序:128 个(0 到 127)
嵌套深度
? 来自主程序:8 个子程序级别
? 来自中断程序:4 个子程序级别

累加器

4 个

定时器

类型/数量
? 非保持性(TON,TOF):192 个
? 保持性:64 个

计数器

256 个

通信


端口数

1 个以太网口/1 个串口(RS485)/1 个附加串口(可选 RS232/485 信号板,仅限于 SR40 和 ST40)

HMI

设备每个端口 4 个

编程设备(PG)

以太网:1 个

连接数

以太网:1 个用于编程设备,4 个用于 HMI
RS485:4 个用于 HMI

数据传输率

以太网: 10/100 Mb/s
RS485 系统协议:9600,19200 和 187500 b/s
RS485 自由端口:1200 到 115200 b/s

隔离(外部信号与 PLC 逻辑侧)

以太网:变压器隔离,1500 V DC
RS485:无

电缆类型

以太网:CAT5e 屏蔽电缆
RS485:PROFIBUS 网络电缆

电源


电压范围

85 ~ 264 V AC

电源频率

47 ~ 63 Hz

输入电流 (仅包括 CPU)

120 V AC 时 130 mA (无 300 mA 的传感器电源输出)
120 V AC 时 250 mA (带300mA的传感器电源输出)
240 V AC 时 80 mA (无 300 mA 的传感器电源输出)
240 V AC 时 150 mA (带300mA的传感器电源输出)

浪涌电流()

264 V AC 时 7.3 A

隔离(输入电源与逻辑侧)

1500 V AC

漏地电流,AC 线路对功能地

0.5 mA

保持时间(掉电)

120 V AC 时 50 ms
240 V AC 时 400 ms

内部保险丝(用户不可更换)

3 A,250 V,慢速熔断

传感器电源


电压范围

20.4 ~ 28.8 V DC

额定输出电流()

300 mA

波纹噪声(<10MHz)

<1 V 峰峰值

隔离(CPU 逻辑侧与传感器电源)

未隔离

数字输入


输入点数

24

类型

漏型/源型(IEC 1类漏型)

额定电压

4 mA 时 24 V DC,额定值

允许的连续电压

30 V DC

浪涌电压

35 V DC,持续 0.5 s

逻辑 1 信号()

2.5 mA 时 15 V DC

逻辑 0 信号()

1 mA 时 5 V DC

隔离(现场侧与逻辑侧)

500 V AC 持续 1 min

隔离组

1

滤波时间

每个通道可单独选择(仅前 14 个板载输入,包括信号板的数字输入):
0.2、0.4、0.8、1.6、3.2、6.4 和 12.8 μs

0.2、0.4、0.8、1.6、3.2、6.4 和 12.8 ms

HSC 时钟输入频率()
(逻辑 1 电平 = 15 ~ 26 V DC)

单相:4 个,30 kHz
正交相位:2 个,20 kHz

同时接通的输入数

24

电缆长度

屏蔽:500m(正常输入),50m(HSC 输入);非屏蔽:300m(正常输入)

数字输出


输出点数

16

类型

继电器,干触点

电压范围

5 ~ 30 V DC 或 5 ~ 250 V AC

每点的额定电流()

2.0 A

灯负载

30 W DC/200 W AC

通态电阻

新设备为 0.2 Ω

浪涌电流

触电闭合时为 7A

过载保护

隔离(现场侧与逻辑侧)

1500 V AC 持续 1 min(线圈与触电)
无(线圈与逻辑侧)

隔离电阻

新设备为 100 MΩ

断开触点间的绝缘

750 V AC 持续 1 min

隔离组

4

开关延迟(Qa.0-Qa.3)

长 10 ms

开关延迟(Qa.4-Qb.7)

长 10 ms

机械寿命(无负载)

10,000,000 断开/闭合周期

额定负载下的触点寿命

100,000 断开/闭合周期

STOP 模式下的输出状态

上一个值或替换值(默认值为 0)

同时接通的输出数

16

电缆长度

500m(屏蔽),150m(非屏蔽)


西门子PLCCR40