基于ProfiBus的电动执行器控制系统研究

2013-06-29 孙宇 北京航空航天大学

  介绍了具有ProfiBus现场总线接口的电动执行器控制系统的开发过程。在保留原执行器功能的基础上,增加了ProfiBus通信模块,给出了软硬件实现方案以及程序流程图。该电动执行器控制系统支持组态软件的接入并实现与其他现场总线产品的互连、互操作。

  现场总线是一种开放式、数字化、多点通信的底层控制网络,是一项集嵌入式、计算机、数字通信、网络技术为一体的综合技术。目前,世界上存在着几十种总线技术,其中,ProfiBus作为主流总线技术的代表占据了相当一部分市场。

  随着现代化工业水平的提高,现有的电动执行器控制系统在功能和使用上的缺点暴露得越来越明显,如模拟量控制信号精度低且易受干扰,缺少及时的远程报警机制和故障处理方式,数字化程度不高,模拟量、开关量控制功能受约于连接线的数量等问题,不仅增加了产品成本,也增加了系统操作的复杂性。为了弥补现有电动执行器控制系统的不足之处,强化其控制功能,本文把ProfiBus现场总线技术应用于电动执行器控制系统。

1、控制系统硬件设计

  本套控制系统主要完成以下功能:本地电动执行器控制,以及总线通信。控制系统结构如图1所示。

基于ProfiBus的电动执行器控制系统研究

图1 控制系统结构图

1.1、执行器控制单元结构设计

  本文采用C8051F040作为控制系统的MCU。它内含CIP-51的CPU内核,兼容MCS-51指令集,具有64kB片内Flash程序存储器,4kRAM,128B的非易失性存储器。C8051F040的片上资源丰富,外围硬件电路连接简单,便于硬件调试,更缩短了设计开发周期,提高系统的可靠性和稳定性。

  执行器控制单元结构分以下几个大的模块:位置采集电路,模拟量输入电路、模拟量输出电路、远程开关量输入电路,按键输入电路,电机驱动电路,LCD、LED显示电路。其中:位置采集电路实现执行器当前位置的采集;模拟量输入电路实现远程控制用4~20mA信号的采集、转换;模拟量输出电路实现当前电动执行器位置值向4~20mA模拟量的转换;远程开关量输入电路实现远程控制状态的采集;按键输入电路负责采集本地按键控制;电机驱动电路用于驱动电动执行器;LCD、LED显示电路用于当前位置、控制类型等信息的显示。

1.2、ProfiBus通信电路设计

  ProfiBus-DP是一个开放的、与制造商无关的标准,任何人都可以获得这个标准并设计各自的ProfiBus-DP设备。不过通过这种方法构成DP接口,除了物理层以外的协议都要通过软件来完成,软件编程工作量大,可靠性不易受到保障,通信速度也受到限制。本文采用SIEMENS公司提供的SPC3(SIEMENS ProfiBus Controller,3rd generation)ASIC接口芯片来开发ProfiBus-DP接口。SPC3中集成了(RS-485),数据链路层、DP从站用户接口以及部分现场总线管理(FMA),与其相连的MCU只需要少量的软件工作就可以实现ProfiBus-DP智能从站的通信功能,大大缩短了系统的开发周期。SPC3与MCU通过数据地址总线进行数据交换,本文采用数据地址线复用方式,SPC3的AB8~AB10接地,AB0~AB7接收高八位地址,DB0~DB7为低八位地址与数据复用的总线,ALE、XWR、XRD,连接MCU的ALE,WR、RD,控制SPC3的读写。SPC3中断源共用一个外部中断XINT,触发MCU的外部中断INT0。ProfiBus-DP物理层介质选用屏蔽双绞线,驱动芯片采用SN75LS176。SN75LS176与SPC3的接口包括Rxd、Txd和发送使能DE,并通过6N137隔离。SN75LS176的接收使能端RE直接接地以保证全部接收。此外,采用单色LED与SPC3的XDATAEXCH相连,用来指示SPC3工作状态,拨码开关用于设置从站地址。ProfiBus通信电路结构如图2所示。

基于ProfiBus的电动执行器控制系统研究

图2 ProfiBus通信电路结构

2、控制系统软件设计

2.1、ProfiBus协议栈的实现

  SPC3中集成了完整的ProfiBus-DP状态机,在很大程度上减化了ProfiBus协议栈的软件开发周期。SPC3具有如下特点:

  (1)可以独立处理ProfiBus-DP通信协议;

  (2)微序列器控制着整个SPC3的工作过程。在芯片进入通信之前,要用外接的MCU对其参数寄存器、方式寄存器进行必要的设置;

  (3)可自动建立ProfiBus-DP通信的服务存取点,不同的报文对应不同的缓冲区:

  (4)支持多个中断,具有中断屏蔽和中断指示功能,多个中断共享一个外部中断;

  (5)能够自动识别9。6kb/s~12Mb/s总线比特率。SPC3的内部集成了1。5k的双端口RAM,地址为000H~5FFH。内部RAM以8字节为一个单元,共分为192个段。本控制系统中,将SPC3当作一个MCU的外部RAM,通过数据地址总线来进行寄存器的读写,达到MCU对SPC3的控制目的。

  RAM空间按功能分为处理器参数区、组织参数区、DP缓冲区三个区域。其中:

  (1)处理器参数区寄存器包括:从站最小延迟时间寄存器、内部集成看门狗寄存器、中断寄存器以及状态寄存器等。

  (2)组织参数区用于设置DP缓冲区中各个缓冲块的长度、指针(首地址)。这些长度、指针的设置必须在SPC3离线情况下完成。在运行状态下,除了Dout_Buf和Din_Buf的长度可变以外,其他的指针和长度都不可变。

  (3)DP缓冲区是DP数据的缓冲区,包括3个DP输出缓冲块3个DP输入缓冲块、2个诊断缓冲块、2个辅助缓冲块、设置参数缓冲块、通信接口配置缓冲块等。

  SPC3能够完成DP从站的通信功能,从站的MCU只需要完成SPC3的初始化以及处理相应的应答报文。在DP模式下,SPC3提供如下的服务存取点:

  DefaultSAP-数据交换服务;

  SAP55-设置从站地址(Set_Slave_Add);

  SAP56-读DP输入(Read_Input);

  SAP57-读DP输出(Read_Output);

  SAP58-全局控制命令(Global_Control);

  SAP59-读接口配置(Get_Config);

  SAP60-读从站诊断(Slave_Diag);

  SAP61-设置参数(Set_Param);

  SAP62-通信接口配置检查(Check_Config)。

  ProfiBus-DP系统从站通信状态机如图3所示。

基于ProfiBus的电动执行器控制系统研究

图3 ProfiBus-DP系统从站通信状态机

  SPC3中集成了ProfiBus-DP的完整协议以及DP状态机,并支持波特率自搜索,与其相连的MCU只需要少量的软件工作就可以实现ProfiBus-DP智能从站的通信功能,而不需要参与其状态机。MCU的具体工作包括:

  SPC3的初始化,spc3init();

  对SPC3接收的数据进行处理,outdataincept();

  将要发送的数据写入SPC3,indatasend();

  处理故障诊断,diagmodule();

  响应SPC3中断,dpint()interrupt0。

2.2、主程序流程

基于ProfiBus的电动执行器控制系统研究

图4 程序流程图

  控制系统程序流程如图4所示。上电之后,系统首先进行MCU的初始化,包括系统时钟、ADC、DAC,定时器等资源的配置。然后,MCU开始初始化SPC3,并等待SPC3进入数据交换。如果等待超时或者SPC3已经进入数据交换状态,则开始循环程序。若系统未发生不可恢复的通信错误,将依次进行:SPC3诊断、处理总线数据、模拟量采集、菜单处理、错误检测、执行机构命令、开关量输出,否则,不进行总线数据的处理,总线功能不可用。

3、组网与测试

  当今对现场总线的研究多以从站开发为主,而采用功能强大的PLC作为主站设备,结合配套软件或第三方组态软件,将自行研发的从站设备于主站相连,组成现场总线网络。图5为本文控制系统组网环境。

基于ProfiBus的电动执行器控制系统研究

图5 系统组网环境

3.1、ProfiBus组网

  ProfiBus现场总线组网环境所有传输介质和设备接插头均符合协议标准,主站设备采用SIEMENS的S7-300系列PLC上的ProfiBus-DP模块,从站设备为本控制系统所驱动的电动阀门。另外,为了能够搭建一个更接近实际工作情况的测试系统,本文把第三方组态软件“组态王6。53”与PLC连接,开发建立了一个从监控软件到现场总线的典型工业控制应用环境。在ProfiBus网络中,PLC的CPU存储器中变量的变化直接映射了设备间的I/O通信状态。通过“组态王”与PLC的通信,结合上位机监控界面,可以实时反映网络通信是否流畅,以及直观方便地设置控制命令,观察阀门控制器的功能实现情况。系统监控系统运行界面如图6所示。

基于ProfiBus的电动执行器控制系统研究

图6 ProfiBus总线系统监控界面

3.2、系统运行测试

  通过长时间的运行测试,本系统运行情况良好,实时性、可靠性能够满足工业现场需求,测试结果如表1所示。

表1 ProfiBus组网运行测试结果

基于ProfiBus的电动执行器控制系统研究

  由以上测试结果可以看出,本文设计的电动执行器控制系统能够正确识别ProfiBus总线波特率,并完成总线数据交换功能,实现控制系统的网络化。本系统最高能在6Mbps波特率的网络中正常运行,对于数据量较小的电动执行器,6Mbps可以满足绝大多数的使用需求。

4、结论

  本文所研究的电动执行器控制系统,能够自适应总线波特率,正确接入ProfiBus总线系统,并长时间运行无误,在模拟的工业监控环境下显示了良好的使用性能。ProfiBus总线技术的引入,大大增强了电动执行器的市场竞争力和发展前景。