西门子PLC与变频器Profibus通讯的实现刘立坤

(整期优先)网络出版时间:2018-12-22
/ 2

西门子PLC与变频器Profibus通讯的实现刘立坤

刘立坤

秦皇岛港股份有限公司河北秦皇岛066000

摘要:随着工业自动化和过程自动化的发展,现场总线技术的应用日益广泛。现场总线主要解决工业现场的现场控制设备和高级控制系统之间的信息传递问题,使整个系统的工程费用、硬件成本等都得到极大的压缩,并且提高了控制系统的可靠性和稳定性。目前,在工业生产中,利用PLC通过Profibus现场总线对变频装置进行控制,实现电机的启停控制和调速已经十分普遍。本文以西门子S7-400PLC与西门子6SE7系列变频器为例进行Profibus通讯控制介绍。

关键字:S7-400;变频器;PLC;6SE7;Profibus总线

1通讯方式的设定

通过西门子6SE7系列变频器自带的CBP通讯板实现S7-400与变频器的Profibus-DP通讯,通讯方式选择PPO4。PPO4,这种方式为0PKW/6PZD,输入输出都为6个PZD;

通讯频率:PROFIBUS的通讯频率在变频器里也不需要设置,PLC方面默认为1.5MB。

通讯方式选择:在P60=7设置下,设置P53=3,允许CBP(PROFIBUS)操作。

通讯地址:P918.1设置变频器的PROFIBUS地址。

2通讯内容

设置第一个输入的PZD为PLC给变频器的控制字;设置第二个输入的PZD为PLC给变频器的频率设定值;其余四个输入的PZD这里没有用到,不做设置;设置第一与第二个输出的PZD为变频器给PLC的状态字(ZSW1和ZSW2);设置第三个输出的PZD为变频器反馈给PLC的实际输出频率的百分比值;设置第四个输出的PZD为变频器反馈给PLC的实际输出电流的百分比值;设置第五个输出的PZD为变频器反馈给PLC的报警、故障信息;剩余一个输出的PZD这里没有用到,不做设置。

3变频器的过程数据PZD设置

3.1PLC给变频器控制字设置

输入的过程数据PZD可根据图1进行设置:

图1主站至变频器的PZD图2变频器至主站的PZD

PLC给变频器的第一个PZD存储在变频器里的K3001字里。

变频器的参数P554为1时变频器启动为0时停止,P571控制正转,P572控制反转。如果把P554设置等于3100,那么K3001的位3100就控制变频器的启动与停止,P571设置等于3101则3101就控制正转,P572设置等于3102则3102就控制反转。

此时K3001的3100到3115共16位除了位3110控制用途都不是固定的,可进行自由设定。K3001的位3110固定为“控制请求”,这位必须为1变频器才能接受PLC的控制讯号。

设置P554=3100,P571=3101,P572=3102时,当PLC发送W#16#0403时变频器正转,以此类推。

3.2PLC给变频器频率设定值

PLC给变频器的第二个PZD存储在变频器里的K3002字里,而变频器的参数P443存放给定值。如果把参数P443设置等于K3002,那么整个字K3002就是PLC给变频器的主给定控制字。PLC发送过来的第二个字的大小为0到16384(十进制),(对应变频器输出的0到100%),因此当为8192时,变频器输出频率为25Hz。

3.3变频器返回给PLC的状态字设置

变频器输出给PLC的第一个PZD字是P734.1,第二个PZD字是P734.2,等等。

要想把PLC接收的第一个PZD用作第一个状态字,需要在变频器里把P734.1=0032,要想把PLC接收的第二个PZD用作第二个状态字,需要在变频器里把P734.2=0033。

每一位状态字所表示的含义可参见变频器矢量大全。

3.4变频器返回给PLC的实际运行值及报警、故障号

实际应用中,若我们需要变频器将实际的输出频率和输出电流返回给PLC则需要以下设置:在变频器里把P734.3=KK0148,把P734.4=K0022,则第三个和第四个变频器返回的PZD分别包含实际输出频率的百分比值和实际输出电流的百分比值。

如若我们希望变频器返回其他数据,则可参见变频器矢量控制使用大全中的《矢量控制连接量一览表》,将相应连接量连接到P734.X。

通过查找《矢量控制连接量一览表》得到K0250为当前报警号和故障号的连接量。因此,令P734.5=K0250,这样当前的报警号和故障号信息就传递给了PLC。

4PLC硬件组态

在STEP7软件中创建一个项目,再硬件组态该项目,并建一个PROFIBUS-DP网络,6se70系列变频器在PROIBUSDP->SIMOVERT文件夹里找到预使用的通讯板型号。这里,我们选用的是CBP2通讯板,通讯方式为PPO4。

将CBP2板组态到DP网络后,硬件组态自动为其分配通讯地址,如本项目中的读通讯地址为I576...587,写通讯地址为Q576...587。

5PLC程序

PLC硬件组态后,编制相应的读写程序即可完成与变频器的双向通讯。

5.1编制通讯主程序

建立DB50,调用SFC14,SFC15,组态后6SE7的地址为576即W#16#240

A.读出数据B.发送数据

CALL"DPRD_DAT"CALL"DPWR_DAT"

LADDR:=W#16#240LADDR:=W#16#240

RECORD:=P#DB50.DBX0.0BYTE12RECORD:=P#DB50.DBX12.0BYTE12

RET_VAL:=DB50.DBW24RET_VAL:=DB50.DBW26

5.2数据块DB50数据位的定义

定义DB50的各数据位,如下所示:

5.3变频器控制程序

从以上的分析可以看出,DB50.DBX12.2用于发送变频器的控制请求;DB50.DBX13.0用于发送变频器的启动/停止;DB50.DBX13.1用于发送变频器的正转指令;DB50.DBX13.2用于发送变频器的反转指令;DB50.DBW14用于发送变频器的设置频率。

6结束语

本文以西门子S7-400PLC与西门子6SE7系列变频器的Profibus通讯为例详细介绍了PLC与变频器进行总线通讯的基本实现方法。在实际生产活动中,通过PLC的编程可实现灵活多样的系统控制方式,以进行广泛的扩展应用。

参考文献:

[1]高飞,汤志祥,堵莹莹.基于PLC与变频器通信的实现[J].电气自动化,2005,27(6):55-56.

[2]王樱.分析基于PLC与变频器通信的实现[J].科技传播,2012(24):173+177.

[3]王安翔.基于PLC与变频器通信的实现技术探究[J].纳税,2017(27).