微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 一种基于变频器的Profibus-DP通信接口设计

一种基于变频器的Profibus-DP通信接口设计

时间:09-18 来源:互联网 点击:

用10 M波特率的光耦HCPL0601隔离;此外,为防止设备启用时,RTS信号高电平占用总线而引起总线系统错误,HCPL7101输出端先经过反相器74HC132在接入总线;另外,对于光耦隔离电源本接口设计采用芯片ADUM5000,ADUM5000为2.5 kV隔离DC/DC转换芯片,其电源输入为5 V或3.3 V,输出5 V或3.3 V;本设计中所选ADUM50 00的输入输出所选均为5 V,其中输入端电源是由变频器通过用户接口提供,其隔离出的5 V电源为RS-485驱动电路以及光耦的后级供电。

  2 协议转换通信接口软件设计

  2.1 主程序流程

  如图3所示,主程序流程:首先初始化SPC3,由DP主站配置相应的组态报文以及参数报文,同时初始化P89C51RD2HBBD单片机的异步串行通信接口;在SPC3完成初始化后,即可与DP主站进入数据交换状态,等待主站发送命令;若主站有数据输出,单片机取得数据存入输出数据缓冲区(相对于主站),如果缓冲区无溢出,调用Modbus协议程序,把数据封装为Modbus帧格式,通过串口传送给变频器端。如果输出缓冲区有溢出,产生外部诊断,在DP主站下一次轮询从站获取诊断报文时,发送给主站,由主站给予处理。变频器端在接收到DP主站发送的命令后,返回响应数据,单片机通过串口获取该数据,并存入输入数据缓冲区(相对于主站),若输入缓冲区无溢出,存入SPC3数据缓冲区,等待轮询,与主站交换数据。若有溢出,产生外部诊断,在DP主站下一次轮询从站获取诊断报文时,发送给主站,由主站给予处理。

  2.2 关键技术研究——可靠性与实时性

  在协议转换过程中,由于变频器端有4种不同的波特率,分别为19 200 bps,9 600 bps,4 800 bps,2 400 bps,而对于Profibus—DP其传输速率最高可达到12 Mbps,两者的通信速率并不完全匹配,为防止由于DP主站通信速率相对变频器较高而致使发送的控制命令信息被覆盖掉,在P89C51RD2HBBD单片机中开辟输出双缓冲区,即协议转换单元接收DP主站发送数据时,先将其存储在第一个缓冲区,待数据转送给变频器后,立即清空该缓冲区,并置位第一个缓冲区的空标志位,等待下一次数据存储,在下次数据到来时,首先查看两个缓冲区的空标志位,把数据存储到已经清空的缓冲区中,再通过协议转换程序处理后及时发送至变频器,通过该双缓冲区从而避免数据信息被覆盖掉的可能性,同时,为防止在一些特殊情况下,比如DP通信速率达到最高,而变频器数据传输速率设置为最低,可能导致双缓冲区溢出而丧失避免数据信息被覆盖的功能,可利用SPC3通信单元产生数据溢出用户诊断报文,发送至DP主站,主站通过读取诊断信息获知产生错误原因,并作出相应处理。对于变频器侧数据传输速率远远大于DP通信的波特率时,在单片机中开辟输入双缓冲区,采用同样的方式达到通信接口数据传输的可靠性与实时性。

  3 测试实验与结果分析

  为了验证本文所设计的Profibus-DP与Modbus协议转换接口软硬件的正确性与合理性,结合实验室现有的实验条件,采用PLC 300作为DP主站,搭建实验测试平台。测试流程如图4所示:首先,对DP主站进行初始化,在进入DP主站进入数据交换状态时,根据变频器实际的控制命令,由DP主站向变频器端发送控制命令帧,协议转换接口在接收到DP主站发送的数据后,解析出实际的变频器控制命令,将其封装为Modbus数据,送至变频器端,变频器根据所接收到的Modbus数据,做出相应的回复,其返回数据再通过DP与Modbus协议通信接口转换为DP帧格式的数据送至DP主站。同时为了更加直观的观察协议转换接口转换的DP数据与Modbus数据,分别采用ProfiTrace对DP主站发送和接收的数据进行监控,同时,协议转换接口将所得到Modbus数据送至串口调试助手,通过串口调试助手监控所转换的Modbus数据的与DP主站所交换的数据是否相同,从而提高了测试试验的可信度,也更进一步验证了协议转换接口的功能的可靠性。其中ProfiTrace为DP数据监测装置,通过相应的操作软件Proficore可以实时的获取DP总线上传输的数据。

对于DP主站的初始化,如图5所示,当DP主站完成参数报文配置和组态报文配置,在得到诊断信息00 0C 00 0100 08之后便进入数据交换阶段,如图6所示,实线方框圈起的部分为DP主站发送的变频器命令,虚线方框圈起的部分为变频器返经过DP与Modbus协议转换接口返回的响应数据,通过Proficore监测界面可以看到,DP主站输出的数据与所接收到的数据都为06 C8 00 00 25,其中,06 C8 00 00 25为DP主站向变频器发送的控制启动命令,变频器在正确接收到该控制命令之后,将所接收

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top