返回首页 | 收藏本站 | 联系我们
基于 FF 协议的压力变送器通信卡软件的开发
现在位置: 压力变送器 > 新闻中心 > 经验与文献 > 正文

基于 FF 协议的压力变送器通信卡软件的开发

时间:2017-09-21

  摘 要:根据#新开发的#新一代 PDS8 压力变送器对总线的要求,开发基于 FF 协议的通信卡,该通信卡支持双 CPU 通讯,提供 6mA/3.3V ,并支持多种 FF 标准功能块。 本文介绍 FF 通信卡开发流程和开发工具,重点阐述用户应用程序的开发。开发完成后使用 NI-FBUS 在线功能调试,结果表明基于 FF 协议的 PDS8 压力变送器实现了双 CPU 通讯功能。8Nb压力变送器_差压变送器_液位变送器_温度变送器

 
 引言
        基金会现场总线( FF )是一种全数字化、串行的、双向的、多站点式的通讯系统。它以 ISO/OSI 模型为基础,取 OSI 的物理层、数据链路层、应用层为 FF 通信模型的相应层次,并在应用层上增加了用户层。 用户层主要针对自动化测控应用的需求,定义了用户通讯需求, 并采用设备描述语言规定了通用的功能块集。FF 总线包括 H1-FF 和 HSE-FF 总线, 前者为低速总线,波特率为 31.25kbps ,支持过程控制应用;后者为高速总线,可达 100Mbps ,用于高性能控制、子系统集成、高密度数据生成,并支持数据服务器。本文针对#新一代PDS8 压力变送器开发相应的 H1-FF 通信卡软件部分。
 
1 软件设计
        利用中科博微提供的协议栈基于 AT91SAM7 系列 MPU 进行开发, 采用 NUCLEUS plus 操作系统平台。 在已经开发好了的底层接口和协议栈的物理层、链路层、网络层上,开发其应用层。 硬件平台同期正在开发中,预计与软件开发同时完成。 仪表卡采用测控公司#新一代 PDS8 压力变送器, 因此只需完成仪表与通信卡之间的双 CPU 通讯、通讯卡与 FF 通讯的开发即可。 双卡之间采用串行通押么完成信息传递,由通讯卡完成与 FF 总线的通讯,从而使 PDS8 变送器具备总线现场仪表的基本功能。
 
1.1 开发流程
        通讯卡软件开发分为固件开发和设备描述开发。
 
        固件开发主要创建通讯卡各功能块,并定义转换块结构体、视图对象、块参数描述表,编写读写函数、报警函数、模式转换函数等,然后采用某种协议与仪表卡进行数据通讯。
 
        设备描述开发是对设备 DD 文件和 CFF 文件的开发, DD 文件经过编译后生成 .sym 和 .ffo 文件, 然后在固件开发中添加位于 .sym 中的参数 ID 号, #后利用在线调试工具 NI-FBUS 对加载 CFF 文件和 sym 和 .ffo 文件进行调试。
 
        固件开发完成后直接烧写在通信卡上,连接仪表卡即可使用,而设备描述开发多用于可视化在线调试时加载使用,它们之间的关系如图 1 所示。
 固件开发与设备描述开发之间的关系图
        各个阶段使用的开发工具和编译工具不同。 固件开发使用 Source Insight 开发, Green Hills 编译, JLINK下载; CFF 文件使用文本开发、 DD 文件采用 DD Edit开发, DD_IDE 集成环境编译,通过 NI-FBUS 加载。 按图 1 进行调试环境配置并调试。
 
1.2 开发重点
        用户应用程序基于协议栈实现双 CPU 通讯和仪表与通讯卡之间的数据传递。 根据函数功能的不同划分为两部分:用户执行函数、转换块执行函数。
 
1.2.1 用户执行函数
        用户执行程序主要任务是根据指令进行双 CPU通讯,其具体流程(如图 2 所示):
        ( 1 )与仪表卡进行初始化握手。
        ( 2 )当握手成功后,分段读取仪表参数(因为仪表参数地址不连续)。
        ( 3 )当地衣次读取仪表参数完成后,进入等待状态,同时检测相应参数修改标志位是否改变,若改变则对参数下达修改命令进行修改,#后读取循环变量参数,并刷新仪表参数。
 用户执行流程图
1.2.2 转换块执行函数
        转换块执行函数任务是对转换块的模式进行计算、报警条件监测、触发报警后发送报警以及将仪表卡参数传递给转换块等。转换块执行流程(如图 3 所示):
        ( 1 )报警监测以及发送 OS 报警。 判断资源块状态和目标模式,当触发报警后,调用 TB_ENTER_OS 函数进入 OS 模式,设置 BLOCK_ERR 参数为 OS ,清除报警信息并发送功能块 OS 报警。 此时测量主值和次值状况为 OS 状态。
        ( 2 )报警确认。 当 FBShell 接收到报警接收设备的报警确认后, 调用 FB_Alm_Comfirm 函数确认服务并设置报警参数。如将报警计数器减 1 ,设置报警参数的状态为“激活 - 已经发送”、“清除 - 已经发送”或者“更新 - 已经发送”。
        ( 3 )退出 OS 报警。 当目标模式为 AUTO 模式时,功能块退出 OS 模式,检查静态版本号,判断是否需要发送事件更新报警, 并设置 BLOCK_ERR 参数清除OS 模式,将仪表参数传递给转换块参数。
 转换块执行流程
2 下载与调试
        完成通讯卡开发后,使用 Green Hills Multi 集成开环境进行编译,然后运行 make_round_release_bin.bat脚本文件连接 FBShell 库和操作系统库, 生成 bin 文件,将 bin 文件通过 JLink 下载至通讯卡上,#后连接仪表卡后使用在线组态调试工具 NI-FBUS 进行调试。
 
3 结语
        经过 NI-FBUS 组态调试工具调试后,仪表卡与通讯卡之间通讯正常,并且可进行参数读写、参数传递、仪表地址修改、仪表校准等操作,这表明整体设计方案具有可行性。 这款 FF 压力变送器将经过认证进入实际应用中。
版权所有://www.coopthat.com/ 转载请注明出处

看过本文的人还看过的文章

你可能感兴趣的文章

相关产品

Baidu
map