当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]移动机车位置检测器的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接口的移动机车位置检测器已经在自动化系统中实际应用,稳定可靠。这种方案,系统具有很好的灵活性、通用性,以及开发周期短、开发成本低等优点,值得推广应用。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭