Step7中ProfiNet接口学习笔记

更新时间:2024-04-12 10:50:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Step7中ProfiNet接口学习记录

1、ProfiNet总线概述:

2002年PROFIBUS国际组织(PI)推出了一种基于以太网的、开放的、用于自动化的工业以太网标准—PROFINET。它使用开放的IT标准,与以太网TCP/IP标准兼容,并提供实时功能,还能与现有的现场总线系统有机的集成,从而较好地保护原有投资。PROFINET规范将现有的PROFINET协议与微软的自动化对象模型COM/DCOM标准、TCP/IP通信协议以及工控软件互操作规范OPC技术等有机地结合成一体。PROFINET试图实现所有的自动化装置都是透明的、面向对象的和全新的结构体系。

基于标准以太网的任何开发可直接应用在ProfiNet网络中,数据传输方式为全双工,传输带宽为100Mbps,一致性数据最大为254bytes,用户数据最大为1400bytes,设备之间的的总线长度为100m。(一致性数据是指在过程映像的更新过程中,操作系统一致性地传输的,可使用加载和传送指令访问的过程映像中的数据。)

ProfiNet相对于Profibus而言,引导轴可以运行在任意的SIMOTION中,任意数量的控制器可以在网络中运行,多个控制器不会影响IO的响应时间。对于Profibus一个接口只能做主站或从站,而对于ProfiNet,所有的数据类型可以并行使用,一个接口可以既做控制器又做IO设备。

2、西门子伺服驱动器:

SINAMICS系列是西门子新一代驱动器的统一名称,用以替代以前的SIMODRIVE (数控领域)和MasterDrive(高性能) 、MicroMaster(通用变频器)等系列的变频器。

SINAMICS系列包括G系列(普通应用:G120,G130等),S系列(高性能:S120等)。本次暂选S120系列作为学习对象。 3、在Step7中配置ProfiNet接口的方法:

1)在Step7中添加一个S7-300的工作站,选择带有以太网接口的CPU型号(CPU315F-2PN/DP),在Hardware中进行硬件配置,对Ethernet的属性设置如下图所示,包括对IP地址和子网掩码(默认)等的设置;

2)伺服驱动器的配置:

a. 在确认好选择的驱动器型号(S120)后,找到(下载)相应的用于ProfiNet组网的GSD文件,并在Step7的Hardware窗口下的Options >> Install GSD files 中添加相应的GSD文件;

b. 添加完成之后,Hardware的配置目录PROFINET IO >> Drives >>SINAMICS 就可以看到Sinamics系列的驱动控制器版本了;

c. 选择一个驱动器(SINAMICS S120 CU310 PN V2.6) 拖到Ethernet总线上,为其分配的IO地址为192.168.0.2;

d. 在Step7的Network中就形成了如下连接:

3)伺服控制器接口配置 根据控制的需求,可以自由配置与伺服控制器通信的字长,也可以使用西门子标准的通信长度,如下图中所示,添加完模块之后,就有了对应的I地址和Q地址,在程序中进行通信模块的编写时要和此地址对应。

由于没有实际的设备,尚未找到仿真的方法,没有确定通信字节长度,无法直观的看到配置后的效果,但配置的方法和步骤应该是一样的。至此,就完成了ProfiNet设备在Step7中硬件接口的配置。

4、在Step7中与ProfiNet设备的通信方法

CPU315F-2PN/DP与SINAMICS S120之间通过ProfiNet可以进行周期性及非周期性数据通讯。使用标准S7功能块SFC14/SFC15,S7-300/400PLC通过ProfiNet周期性通讯方式可将控制字和主设定值(PZD)发送至驱动器,并读取相应的状态字和反馈值。

在Step7中要新建两个数据块DB4和DB5,以本次配置地址为例,I/O起始地址为256,PZD长度为20 BYTE,调用功能块SFC14/SFC15进行读写的方法如下: CALL \调用SFC14 读功能块

LADDR :=W#16#100 // I 的起始地址,十六进制的100对应十进制的256,与硬

件配置中一致

RET_VAL:=DB4.DBW32 // 返回值:读通讯状态字(0=正常)

RECORD :=P#DB4.DBX20.0 BYTE 20 // 指向CPU存放输入数据的输入映像区的指针

CALL \调用SFC15 写功能块

LADDR :=W#16#100 //Q 的起始地址,十六进制的100对应十进制的256,与硬

件配置中一致

RECORD :=P#DB5.DBX20.0 BYTE 20 //指向CPU存放输出数据的输出映像区的指针 RET_VAL:=DB5.DBW32 //返回值:写通讯状态字,(0=正常)

5、阶段小结及展望

近期主要围绕ProfiNet学习了在Step7中配置接口的方法,以上的通信口配置方法是最常用的一种,S7-300/400PLC通过ProfiNet可以与驱动器之间实现周期性及非周期性的通讯,周期性通讯就是用上述的方法,通过调用功能块SFC14/SFC15来实现对驱动器的过程量的读写。有些场合也会使用功能块SFC58/SFC59或者SFB52/SFB53读取和修改驱动器的参数值,具体的实现方法有待进一步的摸索。

个人理解:周期性的通讯就是指用在控制程序的主循环中的,对驱动器运行中的过程量的读写,包括写入控制字和给定量,读取状态字和反馈量;非周期的通讯就是指通过调用一次或多次上述功能块实现对驱动器的参数的读写。至于具体的读写长度可根据控制需求来定义用户数据(PPO)。

西门子的用户数据(PPO)PROFIdriveProfile2.0定义了周期通信的用户数据为PPO。主站使用PPO周期地读取从站参数,PPO分为两部分:PKW区和PZD区。分成两个区的结果是在处理时间上有所区分,通常对PKW处理要比PZD慢。

PZD区:PZD区传输的是主站发送控制字、频率设定值到从站和从站返回状态字、实际值到主站。PZD区传输的参数不同于PKW区,即PKW区传输的参数要在报文中定义,而PZD区传输的过程变量在PPO类型或者驱动器中已经定义。PZD区传输的过程数据的数量由PPO类型或者驱动器决定。PZD的过程数据包括速度、频率、电流、电压、转矩、功率等数据值。凡是有连接器量参数直接相关的那些数据值,我们都可以用PZD过程数据来读到。

PKW区:通过PKW可以任意地监控/修改变频器的参数。例如,可以读出故障值或者是最小、最大限幅值。PKW区至少由三部分构成,分别是参数号码PKE、参数下标IND、参数值PWE,参数值PWE占用两个字。有的PPO类型没有PKW区。PKW主要用来读非连接器量参数。比如说速度环的PI调节器参数、滤波时间常数、给定值斜坡上升/下降等参数,这些都不能通过PZD方式来读到,只能用PKW方式才能访问读到。

接下来将学习使用功能块SFC58/SFC59或者SFB52/SFB53读取和修改驱动器的参数值,也就是操作用户数据的PKW区的实现方法。

本文来源:https://www.bwwdw.com/article/jlzp.html

Top