PLC与变频器的通信是PLC编程中最常用的功能,常规采用的profibus_DP通讯方式来实现,当然会根据现场实际来采用USS通信、以太网通信等。本节重点介绍PLC如何与西门子变频器进行通信组态及编程。
一、与西门子变频的通信组态
1、组态主站及profibus网络
打开项目,插入一个300的站,并插入一个315-2DP的CPU,然后新建一个DP网,本站地址为2,如下图所示:
2、生成变频器从站(这里以MASTERDRIVE为例)
在右侧的profibus_DP项目下找到SIMOVERT文件夹打开
CBP(communication board profibus)接口板是MASTERDRIVE的DP通信扩展板,在SIMOVERT文件夹下找到CBPX或CBP2 DPV1拖放到DP网络上,这两种板的区别在于CBPX只能选择PPO类型的报文,CBP2 DPV1还能选择更多的报文,这里我们选择CBPX
3、变频器通信区的选择
这里变频器就是主站PLC的智能从站,需要组态通信区,从上图就可以看到CBPX文件夹下就是CBP板的通信区选择,选择变频器从站,并在CBPX文件夹选择需要的通信区:
注:过程数据PZD用于PLC控制和监视变频器,参数数据PKW用于读写变频器的参数,PKW和PZD总称为参数过程数据对象(PPO),(关于PKW和PZD在我前面的文章中有专门的介绍,可以参照链接:关于西门子变频器报文的个人解读)
双击通信区的某一行,可以看到该行的参数属性,这里的一致性被设置为总长度,在PLC侧需要调用SFC14和SFC15将数据打包发送,将接收的数据解包。
关于状态字和控制的定义需要在变频器中去设置,这里就做个简单举例,
利用PLC发送给变频器的PZD1来控制变频器的启停,PZD2来作为速度设定,
利用变频器发送给PLC的PZD1来反馈控制状态,PZD2来作为速度反馈。我们来4、编写PLC的程序:
首先当M0.1为1时,利用SFC15打包发送4个字节的数据,也就是发送给变频器的PZD1和PZD2(分别占两个字节)
当M0.1为0时,利用SFC14将数据解包,程序如下图所示:
这样数据传送的程序就编写好了,也就是MW100就是PLC发送给变频器的PZD1控制变频器启停,MW102就是PLC发送给变频器的PZD2速度给定。MW104为接收变频器的状态字PZD1,MW106就是接收到的变频器的速度反馈PZD2。
二、西门子PLC与其他厂家的变频器如何安装GSD文件
因为是其他厂家的变频器,在profibus硬件目录中是找不到的,这里就需要安装对应的GSD文件,GSD文件可以从西门子官网上去找,下载到本地电脑中,然后安装,或者从别的项目中导入GSD文件
在PLC的硬件组态界面中,选项中选择安装GSD
本例采用从别的项目导入GSD文件,
红框中是那个项目中的gsd文件,(本例是SEW的变频器)