基于单片机设计Profibus-DP从站

2015-01-13 02:06付海洋陈在平
化工自动化及仪表 2015年10期
关键词:主站组态报文

贾 超 付海洋 陈在平

(天津理工大学 a.天津市复杂系统控制理论及应用重点实验室;b.自动化学院,天津 300384)

Profibus-DP作为开放式现场总线标准,其技术和产品已经在我国的制造业、流程工业、冶金、电力、交通、水利、食品、环保、楼宇和铁路自动化系统中都有应用。我国参与Profibus总线技术研究开发应用的企业和科研机构也有二十多家,研究Profibus总线协议和开发技术,开发Profibus产品,有着很重要的现实意义[1]。

Profibus-DP从站的硬件设计日趋成熟,开发Profibus-DP从站有3种方案:单片机+软件解决方案;单片机+Profibus专用通信芯片解决方案;采用专用的开发工具[2]。

基于高速32位微处理芯片STM32F103R8T6和协议芯片VPC3设计Profibus-DP从站的方案选择第二种,即单片机+Profibus专用通信芯片,不但开发周期短而且设计也相对简单。在此主要介绍Profibus-DP从站的硬件、软件和调试过程。

1 硬件

Profibus-DP从站电路采用单片机STM32F103R8T6控制通信芯片VPC3完成Profibus-DP从站与主站的通信。STM32F103R8T6的处理速度达72MHz,且功耗很低。硬件连线采用80C165模式,模拟I/O口总线。单片机有多种集成外设,可为Profibus-DP从站增加多种功能。

通信协议芯片采用VPC3,VPC3芯片兼容了SPC3的全部功能[3],同时具有工作电压低及内存大等优点,具有较高的性价比。由于此Profibus-DP从站具有多个通信接口,用户可以根据实际需求开发相应的Profibus-DP从站模块。

基于单片机的Profibus-DP从站硬件连接如图1所示。Profibus-DP从站采用外部5.0V供电,内部由AMS1117-3.3电源转换芯片将5.0V电压转换为3.3V。单片机外围连接地址拨码开关实现对Profibus-DP从站地址的设置,为方便单片机下载程序采用SWD模式。VPC3采用外部48MHz晶振,内部进行4分频后给单片机提供12MHz晶振。RS485总线驱动电路主要包括总线驱动和光电隔离两部分,RS485总线一侧与9针D型插口相连,另一侧通过光耦隔离与VPC3的串行通信RXD、TXD、RTS引脚相连。本设计选择驱动隔离一体芯片ADM2486,同时采用DC-DC模块B0505S-1W对电源进行隔离。

单片机与通信芯片VPC3的主要硬件连接如图2所示。VPC3的内部寻址空间区域0000H~07FFH,可扩展为DP-V2协议。微处理器的PC0~PC10连接VPC3的AB0~AB10作为11位地址总线,其中单片机的PC11连接VPC3的AB11引脚使VPC3工作在2K模式。微处理器的PA0~PA7连接VPC3的DB0~DB7作为8位数据总线。STM32F103R8T6的每一组I/O口都可以作为外部中断使用,本设计中使用PD2与VPC3的X/INT连接作为VPC3的外部中断。VPC3的读、写和准备信号分别连接STM32F103R8T6的PC12、PC13和PB0引脚。

图1 Profibus-DP从站硬件电路连接

图2 单片机与VPC3的主要硬件连接

2 软件

由于Profibus-DP状态机集成在VPC3中,微处理器无需处理状态机的功能[4],因此用户程序主要包括VPC3的启动和初始化、工作方式和各功能寄存器的设置、数据的发送和接收,同时根据VPC3产生的中断对其参数信息及组态数据等进行确认。

Profibus-DP从站的主程序流程如图3所示。程序开始执行VPC3的初始化(设置设备ID号、看门狗初始值、Profibus-DP从站地址及各缓冲区长度等[5])。进行参数设置并组态校验正确后,程序进行数据交换大循环,一旦进入数据交换,除非出现Profibus-DP从站地址改变等特殊情况,否则不会退出数据交换大循环。其中,STM32F103R8T6主要完成外部信号的采集与处理,然后将外部数据通过Profibus-DP通信接口发送给主站,同时接收由主站发送来的数据再发送到外部设备,实现控制现场设备的目的。

图3 Profibus-DP从站主程序流程

3 系统测试

通信测试采用配备DP接口的S7-300 PLC作为主站,与笔者设计的Profibus-DP从站构成单主从控制系统,同时采用报文检测软件ProfiTrace抓取网络中的报文信息。在Simatic Manager工作站进行硬件组态,将编写好的GSD文件添加到GSD文件库,并对从节点进行硬件安装,然后编译,系统提示编译没有错误后将所有的程序下载到S7-300 PLC[6,7]。将CPU拨到RUN挡,S7-300 PLC的绿色指示灯常亮表明Profibus-DP网络组态成功,并且主从站能够进行正常的数据交换。

测试过程中,利用S7-300 PLC中的MOVE指令向Profibus-DP从站的地址发送数据,当Profibus-DP从站收到相应的数据后,将此数据加4后作为应答数据给S7-300 PLC返回。通过ProfiTrace软件对整个DP网络进行报文监测,当主站(地址2)向Profibus-DP从站(地址3)周期性地发送16Byte长度的数据时,Profibus-DP从站能够将收到的数据自动加4然后再返回给主站,并且主站不断地循环对Profibus-DP从站发送数据时,Profibus-DP从站都能够正确地给主站做出回应。ProfiTrace在DP总线上监测到的报文信息如图4所示,主站发送“00 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00”,Profibus-DP从站回应“04 04 16 04 04 04 04 04 04 04 04 04 04 04 04 04”,主站循环发送数据,Profibus-DP从站都相应的给出回复。经过系统测试,可以验证此Profibus-DP从站能够正确地与主站进行通信并稳定运行。

图4 Profibus-DP总线传输报文

4 结束语

采用32位高速处理芯片STM32F103R8T6作为Profibus-DP从站的微处理器,使得所开发的Profibus-DP从站具备了处理速度快、开发周期短及方便用户使用等优势,同时由于此设计的Profibus-DP从站具有多个通信接口,如SPI、I2C、CAN及USB等,可方便用户接入不同现场设备使用,拓展了其应用范围。

[1] 邢建春,王双庆,王平.SPC3在Profibus DP从站设计中的应用[J].自动化仪表,2001,22(11):12~15.

[2] 曹晶,方康灵,廖焕柱.Profibus-DP从站接口设计[J].计算机与信息技术,2009,16(11):5~8.

[3] 夏琳琳,邱超,富兆龙,等.基于VPC3协议芯片的Profibus-DP接口适配卡的设计研究[J].化工自动化及仪表,2012,39(10):1323~1327.

[4] 姜日新,宋延民,张平,等.基于VPC3+C的Profibus-DP智能从站设计[J].天津工程师范学院学报,2010,20(4):14~17.

[5] 黄伟,蔡玉艳.Profibus-DP智能温度控制器从站设计[J].自动化与仪表,2008,23(10):12~16.

[6] 周侗,魏剑嵬,刘丹,等.基于Profibus DP从设备开发的协议分析与软件设计[J].信息与控制,2005,34(1):25~27.

[7] Siemens A G.SPC3 and DPS2 User Description[J].Version,2000,8(3):78~83.

猜你喜欢
主站组态报文
基于J1939 协议多包报文的时序研究及应用
基于PLC及组态技术的恒温控制系统开发探讨
CTCS-2级报文数据管理需求分析和实现
基于S7-1200 PLC的DP总线通信技术在马里古伊那水电站泄洪冲沙孔门机上的应用
浅析反驳类报文要点
变电站综合自动化系统调试新方法研究
基于PLC和组态的智能电动拧紧系统
EtherCAT主站与主站通信协议的研究与实现*
多表远程集抄主站系统
ATS与列车通信报文分析