基于Profibus-DP总线的的协议接口模块的设计

描述

在众多的工业现场总线中,Profibus总线由于有众多厂商的支持,且产品比较丰富,在制造业自动化、流程工业自动化和楼宇、交通、电力自动化等领域有着广泛的应用。而对于很多不具备Profibus接口的传统设备,要使其接入总线网络、达到自动控制的目的,就必须在该设备和Profibus总线之间做一个协议接口模块。PROFIBUS,是一种国际化。开放式。不依赖于设备生产商的现场总线标准。

PROFIBUS传送速度可在 9.6kbaud~12Mbaud范围内选择且当总线系统启动时,所有连接到总线上的装置应该被设成相同的速度。广泛适用于制造业自动化、流程工业自动化和楼宇、交通电力等其他领域自动化。PROFIBUS是一种用于工厂自动化车间级监控和现场设备层数据通信与控制的现场总线技术。可实现现场设备层到车间级监控的分散式数字控制和现场通信网络,从而为实现工厂综合自动化和现场设备智能化提供了可行的解决方案。本文结合对传统电动执行器升级改造的工程实践,介绍了一种基于Profibus-DP的接口模块的具体设计。

1 硬件设计

系统主要包括指令处理部分和接口部分,如图1所示。PROFIBUS是一种用于工厂自动化车间级监控和现场设备层数据通信与控制的现场总线技术。可实现现场设备层到车间级监控的分散式数字控制和现场通信网络,从而为实现工厂综合自动化和现场设备智能化提供了可行的解决方案。PROFIBUS–DP:是一种高速低成本通信,用于设备级控制系统与分散式I/O的通信。使用PROFIBUS-DP可取代办24VDC或4-20mA信号传输。下面简单介绍主要模块的功能。

总线

调试(JTAG):M16C/62P通用通信模块的设计提供一个JATG仿真器,它可以用来进行配置或者是编程。

SRAM模块:当编写比较大的程序(如操作系统)时,M16C的内部RAM可能不够用,此时就可以用外接的SRAM(128K×16位)。

拨码开关:拨码开关用于通信地址方案的实施。PORFIBUS-PA:专为过程自动化设计,适合于本质安全的场合,可使传感器和执行机构联在一根总线上,并有本征安全规范。PR-OFIBUS-DP从站通信地址的设计方案有两种:一种是由远程的PROFIBUS-DP主站通过特定的数据通信设定或修改从站地址;另一种是禁止PROF-IBUS-DP主站设定和修改从站地址,从站的地址由从站本地设定。本设计采用的是后一种设计方案,通过一个8位的拨码开关手动设定阀门控制器的地址,然后由中央处理器读入并写入VPC3特定的存储位置。PROFIBUS-FMS:用于车间级监控网络,是一个令牌结构。实时多主网络。为车间级通信任务提供了大量的通信服务。

A/D、D/A等模块:由于PROFIUBS-DP通信卡在工作过程中共有两个数据需要在DP总线上传输,因此需要两个数据通道,一个用于16位模拟量输入(A/D),另一个用于16位模拟量输出(D/A)。其中模拟与数字电路之间采用PC417进行光耦隔离。

本设计一共有两个时钟:一个是M16的时钟,M16本身有两个时钟(分别为主时钟和副时钟),但是由于VPC3的特殊性使得M16的时钟必须由VPC3提供;另一个是VPC3的时钟,直接由48 MHz的有源晶振提供。其中,M16的时钟是由VPC3对48 MHz的时钟进行1/4分频得到的12 MHz。在电子学上,通常将含有晶体管元件的电路称作“有源电路”(如有源音箱、有源滤波器等),而仅由阻容元件组成的电路称作“无源电路”。电脑中的晶体振荡器也分为无源晶振和有源晶振两种类型。无源晶振与有源晶振的英文名称不同,无源晶振为crystal(晶体),而有源晶振则叫做oscillator(振荡器)。无源晶振是有2个引脚的无极性元件,需要借助于时钟电路才能产生振荡信号,自身无法振荡起来,所以“无源晶振”这个说法并不准确;有源晶振有4只引脚,是一个完整的振荡器,其中除了石英晶体外,还有晶体管和阻容元件,因此体积较大。

VPC3通过表1中的信号与光耦隔离驱动相连接。总线接口引脚如表1所列,VPC3的数据传输是在RS485模式下进行的。

总线

按键复位:其作用是对M16和VPC3进行复位。该电路用于监视M16的核电压,当核电压低于3.3 V时,该电路产生一个低脉冲信号传送到M16的RESE(10)引脚。除了监视的功能以外,还可以通过按键的闭合来产生一个低脉冲的复位信号。

2 软件设计

对VPC3的软件操作主要包括两个部分:VPC3的初始化、主程序和VPC3的中断处理。主程序和中断处理流程分别如图2和图3所示。

总线

VPC3的初始化程序应放在主程序的前面,而中断处理程序完成CPU(中央处理器(英文Central Processing Unit,CPU)是一台计算机的运算核心和控制核心。CPU、内部存储器和输入/输出设备是电子计算机三大核心部件。电脑中所有操作都由CPU负责读取指令,对指令译码并执行指令的核心部件)对VPC3中断输出的响应。VPC3上电复位之后,在正常工作之前必须进行初始化,以配置各个寄存器。中断处理程序用于处理VPC3发生的各种事件。

数据输入和输出处理(输入、输出相对于主站而言)及用户诊断数据输入可以放在应用程序主循环中。在一个应用循环申,由应用来刷新输入BUF中的数据,保障所有输入数据是最新的更新数据。而VPC3在接收到由PROFI-BUS-DP主站传送的不同输出数据时,会产生输出标志位(同样位于中断请求字单元中),CPU通过在应用循环中轮询该标志位来进行接收主站数据。对于特定应用的诊断信息,需要实时地传递到主站。主应用程序在应用循环中判断是否有可用的诊断BUF存在,当有空闲BUF(BUF,是英文buffer的缩写,意思是缓冲区,指在工厂中生产出来产品的临时存放位置,在达到一定数量后会搬运到其它的地方)时应用程序输入诊断信息,并请求更新。对于实时性要求严格的系统,应采用中断方式进行输出数据和诊断数据处理。

结语

VPC3芯片的使用方法简单(与SPC3相似),功能比较完善,可以满足本通信接口设计的要求。SPC3(SIMENS PROFIBUS CONTROLER)是一种用于PROFIUBS-DP开放式工业现场总线智能化接口芯片,可广泛用于工业自支化和楼宇管理自动化中的单片机接口。SPC3集成了完整的DP协议,其中包括方式寄存器、状态寄存器、中断寄存器、各种缓冲器指针和缓冲区等。有效地减轻了处理器的压力,因此可用于12Mbaud总线。使用VPC3进行PROFIBUS-DP从站接口的开发,能够降低开发难度和开发成本;使用现场设备/仪表上配置PROFIBUS-DP接口,可以满足相关行业的需要。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分