北岛夜话
原创工业智能控制领域(PLC、单片机/嵌入式、机器人、通信、机器视觉)的技术及经验分享。
文章528 浏览8051709

深入学习PROFIdrive驱动控制协议(1)

前面介绍S7-1200运动控制的文章曾讲过:根据连接驱动方式的不同,S7-1200有三种运动控制的方式,即:PTO、模拟量和PROFIdrive协议。PROFIdrive协议在西门子运动控制中使用非常广泛,它其实是一种连接驱动器/变频器/编码器的标准协议,今天这篇文章,我们就来认识下这个协议。本文包括如下几个主题:

  1. PROFIdrive简介;

  2. 控制器与驱动器之间的数据交换;

  3. PROFIdrive常用报文介绍;

cover.png

1、PROFIdrive简介

PROFIdrive是PI国际组织(PROFIBUS and PROFINET International)推出的一种标准驱动控制协议,用于控制器与驱动器之间的数据交换,其底层可以使用PROFIBUS总线或者PROFINET网络。
PI国际组织将驱动控制的场合的分为几个不同的应用等级(Application Class,AC),包括:AC1~AC5。其中:
AC1和AC2用于速度控制,比如风机、水泵、传送带的控制等场合;
AC3是普通的位置控制、转矩控制的场合;
AC4和AC5是高级运动控制、等时同步通信控制,比如伺服、数控系统等场合;

2、控制器与驱动器之间的数据交换

控制器与驱动器之间可以通过PROFIdrive协议进行周期性的数据交换,控制器发送控制命令,驱动器返回命令执行的状态及自身的状态,其示意图如下:

data_exchagne.png

通过周期性的交换PROFIdrive报文,控制器可以实现驱动器的启动、停止、以设定的速度运行、获取编码器位置、读写变频器参数等功能。PROFIdrive报文由三部分组成:头部,尾部和中间的数据区,如下图所示:

PROFIdrive_diagram.png

数据区由两部分组成:PKW和PZD。其中:

  • PKW是参数数据,用于变频器参数的读写(不是所有的报文都有PKW区);

  • PZD是过程数据,包括控制器发送的命令、变频器的状态值、编码器的数据等;

PROFIdrive协议为典型应用定义了特定的报文并分配了固定的报文编号,下面我们来介绍下常用的报文。

3、PROFIdrive常用报文介绍

PROFIdrive常用报文包括:标准报文1、2、3、4、20等,我们先来认识下前三个:

3.1、标准报文1

标准报文1用于速度控制,包括两部分:

  • 控制器发出的控制字STW1和速度设定值(NSOLL_A);

  • 驱动器反馈的状态字(ZSW1)和实际速度(NACT_A);

如下面的表格所示:

标准报文1
来源
PZD01
PZD02
控制器

STW1

NSOLL_A

驱动器

ZSW1

NACT_A

 注:STW和ZSW均为16位无符号整数,NSOLL_A和NACT_A为16位整数;

 3.2、标准报文2

标准报文2也用于速度控制。与标准报文1不同的地方在于,它的速度设定值(NSOLL_B)和实际速度值(NACT_B)是32位整数;另外它还增加了控制字STW3和状态字ZSW3,如下面的表格所示:

标准报文2
来源
PZD01
PZD02
PZD03
PZD04
控制器

STW1

NSOLL_B

STW3

驱动器

ZSW1

NACT_B

ZSW3

3.3、标准报文3

标准报文3用于速度控制并带有1个编码器位置反馈,它是在标准报文2的基础上,增加了编码器1的控制字(G1_STW)、状态字(G1_ZSW)、实际位置1(G1_XIST1)和实际位置2(G1_XIST2),它的报文长度为9个PZD,如下面的表格所示:

标准报文3
来源
PZD01
PZD02
PZD03
PZD04
PZD05
控制器

STW1

NSOLL_B

STW3

G1_STW

驱动器

ZSW1

NACT_B

ZSW3

G1_ZSW

标准报文3(续)
来源
PZD06
PZD07
PZD08
PZD09
控制器




驱动器
G1_XIST1
G1_XIST2

由于PROFIdrive的常用报文比较多,本文就先介绍到这里。将在后续的文章中继续介绍PROFdrive报文及西门子PLC与驱动器之间的PROFIdrive通信。

我的微信视频号已经开通,以视频的方式分享工控小知识,欢迎扫描次下方的二维码查看:

取消

感谢您的支持,欢迎常来看看!

扫码支持
一点动力,多少随意

打开支付宝扫一扫,即可进行扫码打赏哦

发表评论