当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]移动机车位置检测器的PROFIBUS-DP接口设计

摘要:PB-OEM2-SE是一种用于PROFIBUS-DP开放式工业现场总线的智能化嵌入式总线侨。文中简要介绍了PROFIBUS-DP总线的特点,阐述了如何利用PB-OEM2-SE嵌入式总线桥设计移动机车位置检测器的PROFIBUS-DP总线接口,给出一种基于PB-OEM2-SE将第三方设备接入到Profibus总线中的设计方案,这种方案具有开发周期短、开发成本低等优点。
关键词:现场总线;PB-OEM2-SE;PROFIBUS总线;数据通信

0 引言
    工业有轨作业机车的自动行走,自动定位,要求机车控制系统能够检测作业机车的行走位置。所设计的移动机车位置检测器能够精确地、快速地检测机车的行走位置,并通过PROFIBUS-DP接口将位置检测器变成机车上PROFIBUS网络的站点,机车主控PLC能够随时获取机车行走位置。
    PROFIBUS是以德国西门子公司为主研究推出的一种国际化的开放式现场总线标准,是一种用于工厂自动化车间级监控和现场设备层数据通信与控制的现场总线技术,这是目前我国唯一批准的现场总线国家标准,在国内应用广泛。其中PROFIBUS-DP主要用于现场设备,有较高的实时性,数据传送速率可在9.6kb/s~12Mb/s范围内选择,响应时间为几百μs到几百ms,传输技术主要用RS485,传输介质是双绞线和光纤,广泛应用于电气自动化、工业控制和数控加工等领域。可实现现场设备层到车间级监控的分散式数字控制和现场通信网络,从而为实现工厂综合自动化和现场设备智能化提供了可行的解决方案。
    为位置检测器设计PROFIBUS-DP接口,如果采用西门子公司的PROFIBUS-DP接口芯片SPC3进行设计,则需要深入了解PROFIBUS总线协议,熟悉SPC3芯片,这种做法开发周期长,开发技术要求较高,需要投入大量的人力物力。位置检测器采用第三方接口板PB-OEM2-SE设计PROFIBU S-DP接口,这种做法不需要深入了解PROFIBUS开发技术,不需要购买PROFIBuS开发系统,大大缩短了开发周期,并且具有自主知识产权。

1 PB-OEM2-SE嵌入式总线桥
1.1 PB-OEM2-SE介绍
    PB-OEM2-SE是专为PROFIBUS-DP通信功能产品所提供的嵌入式总线桥,它以OEM的方式提供PROFIBUS-DP从站通信接口。
    PB-OEM2-SE内部集成了PROFIBUS-DP协议,符合GB/T20540-2006:测量和控制数字数据通信工业控制系统用现场总线第3部分:PROFIBUS规范;标准PROFIBUS-DP驱动接口,波特率自适应,最大波特率12M;PROFIBUS输入/输出数量可自由设定,最大200字节输入+200字节输出;PB-OEM2-SE接口板与用户模板之间数据交换报文长度可由用户设定,最大为202字节;可实现PROFIBUS用户参数化功能;接口板与用户板接口为TTL异步串口,可以自动适应用户模板的5种波特率。


    用户模板的CPU通过串行接口向PB-OEM2-SE读/写输入/输出数据,PB-OEM2-SE自动将其转换成PROFIBUS-DP协议报文与PROFIBUS-DP主站进行通信。用户可以自由设定PROFIBUS-DP输入/输出的数量以及PB-OEM2-SE与用户模板之间数据交换报文的长度。此外,PB-OEM2-SE实现PROFIB US-DP用户参数化功能:用户模板可将一次性设置的参数,如温度上限报警值等在主站配置中设定;主站在与从站连接时一次将这些用户参数传送到从站,用户模板可使用这些参数实现参数化,避免将一次性设置参数作为PROFIBUS的I/O数据,占用周期性数据通信时间和空间资源。

2.PB-OEM2-SE的硬件原理框图与对外连接
2. 1 PB-OEM2-SE的硬件原理框图
    PB-OEM2-SE接口板硬件原理框图如图2所示。


    CPU通过Txd端口和Rxd端口与用户模块进行通信,然后CPU与芯片SPC3进行数据交换。这样,SPC3将通信得到的数据转化为PROFIBUS-DP协议,通过与PROFIBUS-DP网络连接使用户模块变成PROFIBUS网络上的一个站点。
    PB-OEM2-SE接口板与外界的接口集成为一个16针的插件J1,其排列见图3,其意义见表1。[!--empirenews.page--]
2.2 PB-OEM2-SE的对外连接
    PB-OEM2-SE接口板对外连接具有3种方式:
    (1)方式0。此种方式,PROFIBUS的D型插座安装在用户模块,PROFIBUS信号来自J1-16,J1-16上的B、A、RTS信号线应在用户PCB模板上走线,避免跨越接插件;避免受到临近信号线的干扰。用户模板上的VCC/GND和5V/0V在进入J1-16之前要加退耦电容。这种方式比较简单。
    (2)方式1与方式2。如果用户PROFIBUS的D型插座与PB-OEM2-SE块连接需要较长的软线,则需要采用方式1或方式2,这时需要用户设计外接口转接板,PROFIBUS的D型插座安装在外接口转接板上。方式1,PROFIBUS信号线从PB-OEM2-SE板上J2-10上引出使用较长的软线连接到外接口转接板。方式2,用户将J1-16中的PROFIBUS信号引至用户模板自定义插座,从此插座上引出使用较长的软线连接到外接口转接板。

3 位置检测器与PB-OEM2-SE硬件连接
    位置检测器采用AT89S51单片机为核心,采用方式0与PB-OEM2-SE接口板连接,如图4所示。尽管J1-16上有众多的信号,但在实际应用时,并不需要都用上。


    PB-OEM2-SE上有一个功能选择开关SW1,要按照说明书定义和用户要求进行设置,位置检测器使用接口板时SW1设置如表2,其意义为:波特率为9.6k,使用连接方式0,用户模板可通过管脚对SE模块硬件复位。



4 位置检测器相关软件设计
    位置检测器的软件包括:PB-OEM2-SE接口板初始化模块、检测信号PGA控制模块、位置检测运算模块、输出模块、显示模块等。软件流程如图5所示。


4.1 对接口板初始化的程序设计
    位置检测器的AT89S51单片机程序在设置堆栈后,立即通过P1.3输出低电平对PB-OEM2-SE接口板复位,再系统初始化设置,设定通信波特率9.6kb/s。然后,位置检测器的AT89S51输出49个字节,格式如表3所示,对PB-OEM2-SE接口板进行初始化。输出的49个字节除byte0外,都用伪指令的定义字节命令写在程序存储器中,只需逐一取出发送即可。发送完毕后,等待接收接口板的回应。[!--empirenews.page--]
    对PB-OEM2-SE接口板进行初始化的报文中,I/O配置数据采用代码的方式。PB-OEM2-SE接口板接收到初始化报文之后,回答初始化成功/失败报文给用户模板,其格式如表4所示。程序中,将接收的回应报文存放在AT89S51片内RAM,尽管占了众多的RAM单元,但初始化结束后,即可释放这些单元。

[!--empirenews.page--]
    byte0字节是接口板返回的检测到用户模板串口波特率编号:1=9.6k,2=19.2k,3=38.4k,4=57.6k,5=115.2k,6=460.8k,7=1.8432M。
    byte1字节是初始化报文错误号,其意义如表5所示。


    程序中对接口板回应报文进行检测,若对接口板初始化成功,继续程序流程,这时PB-OEM2-SE接口板上的红色指示灯灭。
    若检测到是初始化失败的回应报文,则显示回应报文中初始化报文错误号约2s,然后进入死循环,停止看门狗喂食,让位置检测器的AT89S51自动复位,重新对接口板进行初始化。
    与接口板进行数据交换程序设计若初始化成功,且PB-OEM2-SE接口板与PROFIBUS-DP主站连通,则接口板上绿色指示灯亮,接口板进入数据交换状态。
    用户模板的CPU只与PB-OEM2-SE交换数据,PB-OEM2-SE按照设定的数据交换报文长度自动将其转换成PROFIBUS-DP协议报文与PROFIBUS-DP主站进行通信。所以用户程序只需要考虑与PB-OEM2-SE的数据交换,这种数据交换是采用用户模板主动询问,接口板被动回答的方式。
    在数据交换状态下,PB-OEM2-SE接收用户模板发送数据包括:PROFIBUS输入数据profibus_input、请求数据命令req_com、一个字节校验和。报文长度≤202个字节。
    在数据交换状态下,PB-OEM2-SD向用户模板发送数据报文包括:PROFIBUS输出数据profibus_output、用户参数化标记(user_prm_ok)、用户参数(user_prm)和一个字节的报文校验和。报文长度≤202个字节。
    用户模板发送数据报文如表6所示。若:req_com=00H,表示用户模板请求读取PROFIBUS输出数据,接口板将回答“输出数据报文A”,如表7所示。req_com=01H表示用户模板请求读取更新的用户参数数据,接口板将回答“输出数据报文B”,如表8所示。


    位置检测器每30ms检测到一次机车位置,然后将位置数据发送给PB-OEM2-SE,发送报文共12个字节,由于不需要更新的用户参数数据,所以第1字节是请求数据命令00H,2-11字节是位置数据,第12字节是校验和。
    位置检测器接收的报文见表9,第2行00,表示不更改原来设定的值,为FFH表示按照本报文指定的方式进行位置检测和显示。



5 GSD文件设计
    每一个PROFIBUS站点设备都要有一个GSD文件即“设备描述文件”,用来描述该PROFIBS-DP设备的各种性能参数的文本文件(类似Windw os的设备驱动),当用PROFIBS组态工具实现系统组态时,需根据与设备对应的GSD文件将其设备集成到总线系统中。
    GSD文件包含了设备所有定义参数,包括:支持的波特率、支持的信息长度、输入/输出数据数量、诊断数据的含义、可选模块种类等。GSD文件可以分为3个部分:1)一般规范,这部分包括生产厂商和设备的名称、硬件和软件的版本状况、支持的波特率、可能的监视时间间隔以及总线插头的信号分配;2)与DP主站有关的规范,这部分包括只适用于DP主站的各项参数(如连接从站的最多台数或上装和下装能力),这一部分对从站没有规定;3)与DP从站有关的规范,这部分包括与从站有关的一切规范(如输入/输出通道的数量和类型、中断测试的规范以及输入/输出数据的一致性信息)。
    GSD文件是文本类文件,可用西门子GSD文件编辑器GSDedit或其他文本编辑器编辑。
    PB-OEM2-SE产品已经在国际PROFIBS组织PI备案,取得PI授予ID号:06FA和GSD文件名:DS_06FA.GSD。所以用户产品的GSD文件可以在PB-OEM2-SE的GSD文件基础上,在用户公司名、产品型号、系列号等处置换成用户产品信息,即可成为用户的GSD文件,这并木复杂。
    需要注意的是,设备初始化报文中的定义的ID号必须和GSD文件中的ID号一致。

6 结束语
    PROFIBUS-DP现场总线应用越来越广泛。采用PB-OEM2-SE接口模板设计的具有PROFIBUS-DP接口的移动机车位置检测器已经在自动化系统中实际应用,稳定可靠。这种方案,系统具有很好的灵活性、通用性,以及开发周期短、开发成本低等优点,值得推广应用。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭