引言
目前国内对自动化产品(电器、仪表、驱动装置等)提出PROFIBUS通信功能要求,主要来源于:(1)国外生产设备及技术的引进,特别是从欧洲引进的成套设备通常采用PROFIBUS现场总线,因此对国内配套产品提出了现场总线PROFIBUS通信功能的技术要求;(2)国内自动化系统厂家比较成功的、面向行业的控制系统,要求系统技术向现场总线技术发展,同时也要求现场设备向智能化、网络化方向发展。基于上述需求,嵌入式PROFIBUS-DP从站通信接口的设计为自主开发具有PROFIBUS-DP通信功能产品的用户提供了一种快速、高效的解决方案。
实现方法
(1)电路设计制作:使用PROFIBUS通信专用ASIC芯片SPC3实现协议相关内容,选用合适的CPU,外围加带光电隔离的RS-485驱动;
(2)单片机+Firmware软件:需要在单片机中编程(Firmware软件),实现单片机与ASIC的结合;
(3)用户产品的CPU通过串行接口向PROFIBUS-DP从站通信接口板读/写输入/输出数据;PROFIBUS-DP从站通信接口板自动转换成PROFIBUS-DP协议与PROFIBUS主站通信;
(4)编写GSD文件,搭建一个调试与测试平台进行PROFIBUS系统配置。
硬件设计
嵌入式PROFIBUS-DP从站通信接口板(以下简称接口板)由CPU芯片、PROFIBUS协议芯片SPC3及光隔RS-485驱动等电路组成,如图1所示。
接口板与用户模板采用串口连接,使用波特率选择开关可选择指定的7种波特率(9600、19.2K、38.4K、57.4K、115.2K、230.4K、460、8K)中的一种;接口板需要用户模板提供2组5V电源(VCC/GND-150mA和5V/0V-100mA),分别作为接口板的电源及光隔外电源,由16针插座J1引入。信号A、B、RTS及5V、0V可直接引到用户模板PROFIBUS的D型插头上(使用PCB布线或软接线均可)。根据PROFIBUS产品测试技术规范,此接法引线或软接线不宜过长,通常PCB引线不超过20cm、软接线不超过10cm。
如果PROFIBUS的D型插头与接口板之间需要更长的引线,可以从接口板上的10针插头J2引出,此时需要采用外接口转接板。
用户模板PROFIBUS插头为孔型(famel)D型插头,与接口板16针插座连接如图2所示。接口板CPU芯片采用普通的51单片机即可,考虑到PROFIBUS对速率的要求,推荐使用高速率、低功耗的8位AVR单片机作为接口板CPU。
软件设计
接口板与用户模板的串口
通信设置
接口板与用户模板通过串口连接,Txd、Rxd为TTL电平,半双工通信。通信方式采用应答方式:用户模板主动询问,接口板被动回答。设定每个字节用11bits传送:1个启始位、8个数据位、1个偶校验位、1个停止位,即51内核单片机的通信方式3。
报文长度
接口模板的初始化报文(发送、接收)固定长度49字节;接口板与用户模板之间数据交换报文(发送、接收),长度由用户在初始化报文中设定,最大为113字节;PROFIBUS输入/输出数据量可自由设定,最大112字节输入+112字节输出。
实现功能
(1)可实现PROFIBUS用户参数化功能:用户模板可将一次性设置的参数在主站配置中设定,主站在与从站连接时一次将这些用户参数传送到从站,用户模板可利用这些参数实现参数化;
(2)接口板与用户模板通信有字符偶校验和纵向报文校验和,保证数据安全性;
(3)接口板内设有备份I/O通信缓冲区,可保证实现PROFIBUS与串口通信数据的完整性(一致性)和同步要求。
用户模板的通信基本过程
初始化
用户模板按接口板上波特率选择开关设置的波特率向接口板发初始化报文,然后等待接收接口板的回答,如图3所示。接口板回答初始化成功后,进入数据交换状态。
数据交换状态
初始化成功后接口板进入数据交换状态,反复进行数据交换。此时,用户模板主动向接口板发送“输入数据报文”,其中包含PROFIBUS输入数据;接口板回答“输出数据报文”,其中包含PROFIBUS输出数据,如图4所示。
数据交换状态下接口板的程序流程见图5。
系统配置
关于GSD文件
(1)每一个PROFIBUS从站或一类主站有一个“设备描述文件”称为GSD文件,用来描述该PROFIBUS-DP设备的特性;
(2)GSD文件包含了设备所有定义参数,包括:支持的波特率、支持的信息长度、输入/输出数据数量、诊断数据的含义、可选模块种类等;
(3)无论使用什么样的系统配置软件,都要根据GSD文件来对设备配置。
(4)国际PROFIBUS组织PI提供了GSD文件编辑软件gsdedit.exe,该软件依照PROFIBUS技术标准格式规定,对用户编辑的GSD文件进行格式检查。
如何使用“用户参数user-prm”
“用户参数user-prm”的选择对于工业现场设备,常需要用户根据现场应用设定一些参数,其中有些参数不需要在设备运行中实时改变,如变频器的电流上限保护与报警值、温度传感器的测量温度范围、热电偶选型、输出4~20mA/1~5V选择等。如果这些参数作为PROFIBUS主站的I/O输出,将占用PROFIBUS主站I/O资源和周期性轮循PROFIBUS从站的时间资源。
将这些参数处理成“用户参数”,将会缩短PROFIBUS主站通信时间、减小通信报文长度、提高总线通信效率。使用“用户参数”技术,只需要在主站配置中做出参数选择,主站在与从站连接时,一次性将这些参数传送到从站,从站就可以使用这些用户选择的参数对从站进行参数化(初始化、参数设定)。
确定“用户参数”类型、个数、字节长度
在主站配置中选择用户参数用户在系统中配置从站参数,完全靠GSD文件描述。在STEP7的HARDWARE中配置从站,可设定总线波特率及站地址,其中设定的站地址必须与用户模板上地址设置一致。
带有“用户参数”选择菜单的GSD文件,可在STEP7中生成更加友好的用户参数配置界面。
结束语
应用嵌入式PROFIBUS-DP从站通信接口的设计方案,用户不必了解PROFIBUS技术规范细节。具有开发周期短、技术指标高、技术升级快、拥有产品自主知识产权等优点,但用户须有单片机产品开发经验及PROFIBUS产品应用经验。目前国内多家仪表厂商已在此方案的基础上开发出了自己的PROFIBUS-DP从站产品。