西门子6ES7 952-1KK00-0AA0原装
价格:电议
地区:上海市
电 话:021-61524973
手 机:13817011145

上海戈辰长期低价销售西门子PLC200.300.400.S1200.S1500.ET200.Smart2006SE70变频器.70备件.6SY7000/7010.C98面板,6RA70/28/24直流调速器,6XV电缆,6EP电源3RW30/40/44软启动器,6AV人机触摸屏,LOGO!6SL系列G110.G120.S120.V10.V20MM440/430/420变频,6DR阀门定位器7ML.7ME.7MF.7MH仪表仪器,6FC.6SN伺服数控,电机等西门子系列产 司优势产品; PLC 、触摸屏、变频器、电缆及通讯卡、数控系统、 网络接头、伺服驱动、  凡在公司采购西门子产品,均可质保一年假一罚十

 

个字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 …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

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。

西门子6ES7952-1AY00-0AA0
图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

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所示。



图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

 


原产地

德国