微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 移动机车位置检测器的PROFIBUS-DP接口设计

移动机车位置检测器的PROFIBUS-DP接口设计

时间:02-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外,都用伪指令的定义字节命令写在程序存储器中,只需逐一取出发送即可。发送完毕后,等待接收接口板的回应。
对PB-OEM2-SE接口板进行初始化的报文中,I/O配置数据采用代码的方式。PB-OEM2-SE接口板接收到初始化报文之后,回答初始化成功/失败报文给用户模板,其格式如表4所示。程序中,将接收的回应报文存放在AT89S51片内RAM,尽管占了众多的RAM单元,但初始化结束后,即可释放这些单元。


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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top