基于PROFIBUS总线的控制器智能从站设计
2017-09-20,,,,
, , , ,
(北京精密机电控制设备研究所,北京 100076)
基于PROFIBUS总线的控制器智能从站设计
刘海山,宋茜,乔森,樊茜,焦震
(北京精密机电控制设备研究所,北京100076)
针对控制器智能化、网络化的发展趋势,为了使具有RS485/RS232接口的控制器方便地接入PROFIBUS现场总线网络,基于C8051F020单片机,研制了以西门子公司的协议芯片SPC3为基础的PROFIBUS-DP从站。首先介绍了PROFIBUS通信的基本原理,然后详细论述了硬件的几个组成部分的功能,对软件的整体结构及部分模块进行了论述,同时还给出了抗干扰的几种措施,最后给出了实验结果。实验结果表明设备间通信正常,可以应用于设备数据采集、执行和控制等,实现RS485/RS232设备与PROFIBUS现场总线的无缝互联。
PROFIBUS-DP从站;SPC3;C8051F020
0 引言
现场总线是具有实时通信能力的分布式控制网络,是当前最受关注的工业控制网络形式,己经成为当今工业自动化领域技术发展的热点之一。现场总线技术具有丰富的内涵,涉及智能仪表技术、网络通信技术、实时控制技术、集成电路技术和计算机技术等诸多领域。PROFIBUS作为工业界最具代表性的现场总线,应用非常广泛。PROFIBUS-DP是一种经过优化的高速通信连接,是专为自动控制系统和设备分散I/O之间的通信设计的,其传输速率可达12Mbit/s。
PROFIBUS现场总线早在1989年就已经成为德国国家标准DIN19245,随着进一步的推广和完善,在1996年PROFIBUS被批准成为欧洲现场总线标准EN50170。在2000年颁布的现场总线国际标准IEC61158中,PROFIBUS成为该国际标准定义的8种类型现场总线之一。在国际许多高端的工业生产过程控制底层进行数据采集、执行和控制的设备(如控制器,变频器、电机启动保护装置、智能高低压电器、电量测量装置、各种变送器、智能现场测量设备及仪表等)和产品中,现场总线接口已经成为标准配置。Siemen公司在其驱动产品中采用了PROFIBUS现场总线,Rockwell的电机控制产品则使用了Device Net现场总线,Schneider公司的Lexium 05系列的中高端通用型伺服驱动器中提供了PROFIBUS现场总线和CAN总线接口,瑞士Infranor公司的部分伺服驱动器集成了PROFIBUS和CAN总线接口。德国Beckhoff公司也为其伺服驱动器提供了SERCOS、PROFIBUS、Device Net等现场总线接口模块。
而在我国,PROFIBUS则在2006年10月才成为国家标准GB/T20540-2006。因此目前为止,由于技术和成本方面的考虑,国内大部分企业的工业生产过程控制设备大多都只具有RS232或RS485串行口,都不具备现场总线接口的能力。本文正是基于以上国产控制设备现状,设计了以C8051F020单片机为控制芯片,SPC3为通信芯片的PROFIBUS-DP从站,重点阐述了PROFIBUS-DP从站在硬件和软件上的设计思路和实现方法。本文设备具有高速传输工业现场设备的数据功能,能够很方便地与使用RS232或RS485串口的接口设备相连,实现RS232设备和PROFIBUS-DP总线之间协议转换功能,较好地解决了现有国产产品的总线接入问题。
1 硬件电路设计
电路上采用以“RS232/RS485接口电路+从站地址设备电路拨码开关+微控制器C8051F020+PROFIBUS-DP智能从站ASIC协议处理芯片SPC3+带电流隔离485驱动电路”为框架构成,其系统硬件结构框图如图1所示。C8051F020微控制器用来实现用户数据的读入和通信芯片的控制,SPC3用来完成通信协议的转换和数据的收发。
图1 系统硬件结构框图Fig.1 The system hardware structure
1.1 C8051F020与SPC3的接口电路
微控制器选用Cygnal公司的C8051F020单片机,它的内核速度可达25MIPS,具有4352B内部数据RAM,64KB FLASH存储器,已经能满足本设计数据通信对内存的要求,故电路设计中省略了原参考电路中外接的74LS573锁存器和片外RAM。C8051F020存储芯片可以在系统编程,调试方便;8个8位的端口I/O,所有口线都耐5V电压,可以很容易接八位的拨码开关和驱动数码管;可同时使用的2个增强UART串口,分别用作RS232和RS485的接口;专用的看门狗定时器,可省略复位电路等。
智能从站芯片SPC3支持PROFIBUS-DP协议,可以由硬件完成PROFIBUS-DP通信控制功能,内部具有1.5K RAM的片上数据信息存储缓冲器,对RS-485总线的存取完全由硬件控制,最大传输速率可达12Mbit/s。SPC3上固化有固件,可实现对SPC3内部寄存器与外设应用接口之间的通信连接的控制以及对PROFIBUS状态机的控制。使用固件可为用户节省自主开发的时间。
MCU与SPC3的接口电路如图1所示,SPC3接48MHz有源晶振,通过11条地址线和8条数据线和MCU的P6口和P7口相连。由于MCU选用INTEL微处理器,要注意SPC3应工作于同步模式。由于内部有自己的锁存及解码电路,故MCU 8位地址线不经过4LS573锁存芯片而直接与SPC3连接,这样低8位地址线和8位数据线共用,而MCU高8位地址线与SPC3的AB0~AB7数据线相连,且AB8~AB10必须为低。MCU将SPC3内部1.5K RAM作为自己外部RAM,为了便于分配地址空间,需将地址线A12加一非门,从而使SPC3的片外地址从0X1000开始,并通过数据的读写信号WR、RD对SPC3的初始化和数据进行交换,同时接上复位信号RESET来初始化SPC3清空寄存器,还需接一个外部中断信号来响应SPC3的中断程序。SPC3的其他引脚可以参考资料分别接地或电源。
1.2 SPC3的485通信电路
SPC3中的三根信号RTS(请求发送)、TXD(串行发送)、RXD(串行接收)经UART口,把并行数据流变换为串行数据流和将串行数据流变为并行数据流,并经光耦进行电流隔离接入RS485总线驱动芯片中。由于传输速率达12Mbit/s,故高速光耦采用25M的HCPL072l和10M的HCPL060l,同时RS485芯片也采用高速通信芯片SN65ALS176,速度可达25M,XCTS(清除发送)接地不用。为提高硬件的抗干扰能力,在电路的设计上必须考虑对光耦两侧的芯片进行电流隔离双电源供电。我们采用DCPO505进行电源隔离。
1.3 其他电路
从站地址设置单元电路的目的在于,用户可自由通过从站线路板上的八位地址开关选择从站地址,灵活组态。
数码管电路为了检测通信是否正常,可以通过数码管来显示通信数据。
2 软件编程及GSD文件的编写
2.1 软件编程
本程序设计采用结构化设计,整个程序分主程序和调用的子程序。主程序主要包括C8051F020、 SPC3的初始化程序和外部诊断程序等。中断处理程序作为调用子程序, SPC3产生的中断接入MCU,使MCU引发中断处理程序。
程序主要由C8051F020的初始化程序initial.c、用户程序userspc3.c、spc3结构体及宏操作模块spc3dps2.h、中断模块intspc3.c及子函数模块dps2spc3.c五个程序文件组成。
其中主程序流程如图2所示。
图2 主程序流程图Fig.2 The software main program flow chart
上电后,首先对单片机内部的寄存器进行初始化。首先关闭MCU的看门狗,配置交叉开关来分配通信串口UART、外部中断、I/O口等资源,同时对各个资源进行配置;然后对SPC3进行初始化,以配置需要的寄存器,包括设置协议芯片的中断允许,写入从站识别号和地址,设置SPC3 方式寄存器,设置诊断缓冲区、地址缓冲区、初始化长度,并根据以上初始值得出各个缓冲区的指针;最后,主站检查以上参数是否与主站参数表一致,只有一致时,才能进行后续参数的配置。只有当所有参数一致时,才能进行数据交换。中断程序流程图如图3所示,当外部中断INT0被触发时,将执行中断模块中的子程序。主要处理参数校核中断事件、组态检查中断事件、从站地址设定中断事件等。
图3 中断程序流程图Fig.3 The system interrupt program flow chart
2.2 GSD文件的编写
GSD文件为电子设备数据文件,记录了从站的各种属性,并随从设备一起提供给用户。GSD文件一般分为总规范、与DP有关的规范、与DP从站有关的规范,可从网上下载现有的功能相似产品的GSD文件,根据自己的功能在GSDEDIT软件中改写即可。与DP从站有关的属性应与程序中配置的参数一致,如:是否支持Freeze和SYNC状态等要设置一样,同时要保持从站地址与程序中的地址ID号一致。
3 提高系统可靠性措施
工业现场环境恶劣,存在许多干扰因素,其中最主要的有以下几种:电磁干扰、电源干扰和信号线的干扰等,在设计时须采取措施尽量避免。以下为几种抗干扰方法。
3.1 硬件设计方面
1)元器件选择:选用质量可靠的元器件是提高系统可靠性的根本保证,微处理器选用工业极的单片机C8051F020,集成电路的旁路电容应选用质量较好的瓷介电容等。
2)PCB板设计:各功能模块布局尽量合理,电路板采用四层板,中间两层为电源和地,顶层和低层为信号线,提高信号抗干扰能力;电源和地线加粗等。
3.2 软件设计方面
1)为防止系统软件的死锁, 启动C8051F020 微处理器内部的看门狗。
2)在不用的程序存储区内填写0x00, 或设置软件陷阱, 防止程序跑飞。
3)设计软件时, 该项目采用了模块化的设计, 各个模块具有唯一对应的状态。程序运行相当于状态机的运行。
4 实验结果
为了验证所开发的从站是否与主站连上且具有交换数据的功能,进行以下实验,试验实物如图4所示。该系统采用PLC300为主站,选用CPU为315-2dp,首先用step7进行软件组态,添加CPU模块、电源模块和输入输出模块,设置PLC为DP主站;然后,把改写的GSD文件导入,再把该模块挂到DP总线上,设置好从站地址和数据传输率;然后选输入输出字节模块,下载到PLC中,看故障灯是否闪烁。程序中的组态配置的从站数据格式与GSD文件中的也要一致,且从站地址要拨到设定的地址位置。经过调试,故障灯变绿(原来是红灯不断的闪烁),说明从站已经连上。在PLC用MOVE指令编写简单数据传送程序,可把数据传送到单片机缓冲区中,且传输率可达12Mbit/s,可用数码管显示数字,实验结果表明,通信成功。
图4 实验系统实物图Fig.4 The system experimentation
5 结论
本文基于国产控制设备大都不具备现场总线接口能力的现状,设计了一款以C8051F020单片机为控制芯片,SPC3为通信芯片的RS232或RS485串行口转换为PROFIBUS-DP总线的从站设备。该产品采用“RS232/RS485接口电路+从站地址设备电路拨码开关+微控制器C8051F020+ PROFIBUS-DP智能从站ASIC协议处理芯片SPC3+带电流隔离485驱动电路”方案。经测试,设计的从站完全满足PROFIBUS标准,网络传输速率可达12Mbit/s,运行稳定,可满足大多数应用场合的需求,如变频器、I/O口设备、执行器等,提供通信基础,很好地解决了当前国产设备挂到PROFIBUS总线上的技术难题,实现了国产设备控制器RS485/RS232设备与PROFIBUS现场总线的无缝互联。且又是一个低成本、高性能的嵌入式网络接入设备,实测数据表明性能达到当前国际同类产品的先进水平,并且在软件、硬件代价、速度、成本等方面具有较高的竞争力。此款产品的成功开发充分利用现有国产设备资源,减少了投资资金,对积极推动国有控制设备工业网络自动化具有很强的现实意义。
[1] 江豪, 王永华.PROFIBUS总线网络系统稳定运行分析[J].自动化仪表, 2016, 37(12):18-22.
[2] 李明强, 刘小河, 田雨聪.PROFIBUS-DP智能从站的设计[J].电气技术, 2015, 16(4):77-80.
[3] 夏琳琳, 邱超, 富兆龙,等.基于VPC3协议芯片的PROFIBUS-DP接口适配卡的设计研究[J].化工自动化及仪表, 2012, 39(10):75-79.
[4] 房立镇, 程广河, 吕国华.基于ARM的PROFIBUS-DP通信模块的研究与设计[J].信息技术与信息化, 2010(5):39-40.
[5] 段旭良.基于DSP嵌入式以太网通信系统的设计[D].哈尔滨:哈尔滨工程大学, 2009.
[6] 陈开.工业以太网的节点开发及通信协议研究[D].武汉:华中科技大学, 2009:2-3.
[7] 何琼, 陈铁, 程鑫.基于以太网硬协议栈的数据采集节点[J].仪表技术与传感器, 2013(2):21-23.
[8] Shao J P , Wu K J, Sun G T.Design of an ethernet data transmission system based on W5300[C]//International Conference on Computer Science and Technology.Kunming, 2014.
[9] 阳宪惠,魏庆福,徐用懋.现场总线技术及其应用[M].北京:清华大学出版社,1999.
[10] 潘琢金,施国君.C8051FXXX高速SOC单片机原理及应用[M].北京:北京航空航天大学出版社,2002.
[11] 候维岩,费敏锐.PROFIBUS协议分析和系统应用[M].北京:清华大学出版社,2006.
[12] SPC3 Hardware Description.Siemens Version: 1.4 Date: 2005 /12
[13] SPC3 and DPS2 User Description.Siemens Version: 1.0 Date: 2003 /04 /09
[14] 王永华.现代电气控制及PLC应用技术[M].北京:北京航空航天大学出版社, 2003:60-97.
[16] Xia L L, Qiu C, Fu Z L,et al.Adapter card design for profibus-DP interface based on VPC3 protocol chip [J].Control and Instruments in Chemical Industry, 2012,39 (10) :1323-1327.
DesignofControllerIntelligentSlaveStationBasedonPROFIBUS
LIUHai-shan,SONGQian,QIAOSen,FANQian,JIAOZhen
(BeijingInstituteofPrecisionMechatronicsandControls,Beijing100076,China)
With the development of intelligence and network, and to access controller with RS485/RS232interfaces to PROFIBUS field bus networks expediently, a PROFIBUS-DP slave station based on the C8051F020MCU by using the Siemens protocol chip SPC3is developed.The fundamental of PROFIBUS is introduced first, then the functions of the hardware are discussed in details, and the configuration and some modules of the software are also exposited.Several anti-jamming measures are presented as well.Finally, the experiment result given out indicats that the normal communications are achieved between equipments , and the device can be used on equipments for data collection, control and implement, thus the jointless interconnection between RS485/RS232equipment and PROFIBUS is realized.
PROFIBUS-DP slave station; SPC3; C8051F020single chip
2017-03-30;
:2017-05-10
:刘海山(1982-),男,硕士,工程师,主要研究方向为伺服系统控制技术。
10.19306/j.cnki.2095-8110.2017.05.007
U666.12
:A
:2095-8110(2017)05-0043-05