基于VPC3的PROFIBUS-DP智能从站设计
0通过一个接地电阻接地,使得AB8..10=000,AB3接P6.3始终给出低电平信号即AB3=0,AB4的输入端通过非门MM74HC接P6. 4,只要P*始终为1,从而保证VPC3的数据存储器的地址范围为1000H~15FFH。
现场总线接口电路是VPC3与现场总线侧连接的电路,因为Profibus-DP可以达到12Mbit/s的速率,因此对已接口电路的要求是非常高的。在此我们选用Profibus接口专用芯片AMD2486,ADM2486是ADI 公司生产的半双工、隔离RS-485收发器。其内部含有倮护隔离电路,减少了硬件电路的布线,提高了通信的稳定性。
软件设计
程序设计包括主程序和中断程序,还有GSD文件的编制。
1.主程序设计
C8051和VPC3初始化程序放在主程序中,而且一定要放在I/O程序前。主程序流程图如图1所示。上电后,C8051首先进行初始化,设置RS232端定时器/计数器工作方式、设置波特率、中断方式等,随后VPC3进行初始化,以设置允许中断、写入从站识别号和地址、片内方式寄存器、诊断缓冲区、参数缓冲区、配置缓冲区、地址缓冲区、初始长度。
图1主程序流程图
此时,VPC3下-个十分重要的步骤就是根据以上初始值求出各个缓冲区的指针及辅助缓冲区的指针,根据传输的数据长度,确定输入缓冲区、输出缓冲区及指针。主站检查以上参数是否与配置的参数一致,只有双方完全一致,从站才能进行配置,设置从站的输入输出字节数、诊断字节数和各类数据指针。然后,从站才能将配置好的数据同主站比较,只有双方完全一致,从站才能通过DP状态机与主站进行数交换。用户设备通过I/O程序实现报文数据处理。
2.中断程序设计
VPC3有14个中断源,各中断源无优先级,主要是通过中断屏蔽寄存器和中断响应寄存器来实现中断且共用一个中断输出。诊断分为外部诊断和状态诊断,外部诊断必须在从第7个字节开始的单元写入用户数据,状态诊断则只要在第-字节写入OOH即可。VPC3定义从站地址较灵活,既可在组态时由主站设置又可通过自身软件或是增设的硬件地址设置电路实现。根据OSI参考模型,FDL层规定了总线存取控制、数据安全性以及传输协议和报文的处理。DP标准规定了以下四类传输服务。SRD∶发送和请求有应答的数(对DP和PMS),在一个报文循环中发送和接收数据。SDN∶发送没有应答的数据(对DP和PMS),广播和有选择广播报文,即报文送达有选择的一组节点。DP仅限于SRD和SDN服务。在SRD服务时,主站发送输出数据到从站和接收输入数据(若输入数据存在于从站中),在规定的时间周期内应答。若从站是输出设备,则用"E5H"的短应笞。SDN服务是发送数据到规定的一组从站,可按照要求触发SDN服务,对SDN报文没有应答。
本程序设计采用中断方式处理从站地址设定,检查组态和参数报文是否正确。采用外部中断INTO输入,其入口地址为0003H。C51编译器支持在C源程序中直接开发中断程序,减轻了用汇编语言拜发中断程序的繁琐过程。便用扩展属性的函数语法定义void dps2_ind(void)interrupt ouslng 1调用外部中断INTO,当外部中断0被触发时,将会执行此中断模块中的函数,在函数中有DPS2 GETINDICATION()宏可以读出响应的事件信息,并进行各个中断事件的处理。中断程序流程如图2。
图2中断程序流程图
3.GSD文件编制
PROFIBUS设备具有不同的性能特征,特性的不同在于现有功能(即I/O信号的数量和诊断信息)的不同或可能的总线参数,例如波特率和时间的监控不同。这些参数对每种设备类型和每家生产厂来说均各有差别, 为达至刂PROFIBUS简单的即插即用配置,这些特性均在电子数据单中具体说明,有时称为设备数据库文件或GSD文件。GSD文件是一种准确定义的格式描述,生产厂商对每种设备都有一个GSD文件。有了GSD文件后,将来用配置软件组网时只要把设备的GSD文件拷贝到相应的目录下,就可以方便地把此设备加到现场总线网络中。GSD文件的编制可用GSD文件编辑软件,参考编辑软件提供的模板进行修改即可。
图3 实物图
结语
本文的研究内容作为山东省自然科学基金"工业网络控制系统同步控制性能及控制策略研究"的重要组成部分,采用了价格较低的VPC3取代了西门子的SPC3,其3.3V的工作电压具有更低的功耗。通过接口转换电路和软件设计实现自适应功能,即自动识别非总线设备的通讯参数,同时利用高性能的8位单片机C8051实现了PROFIBUS DP智能从站接口的开发,使产品的设计具有更高的性价比,为该产品的国产化提供了一种方法。提供的软硬件设计方法经实践可行,该产品已成功应用于与多家PLC和仪表的通讯网络中。