PROFIBUS DP总线I/O设备的开发研究
总线I/O是"现场总线远程I/O"的简称,是基于现场总线控制系统FCS中的主要设备,PROFIBUS-DP是总线I/O的主流通信协议。一个总线I/O设备可能需要多种总线接口,对于设备的开发人员来讲,他们专注于设备功能单元的核心技术,如果让他们从头开发各种通信接口,势必会分散设备开发人员的精力,增加开发成本和开发周期。
总线I/O的主要功能分为输入、输出两部分。输入是采集现场模拟信号(如4~20 mA)和开关量信号(如24 V DC)转换成为数字量并按照通信协议传送到现场总线。输出是将现场总线通信数据转换成模拟输出和开关量输出。PROFIBUS-DP总线I/O设备以从站的形式存在。
本文介绍如何使用XGate-DPS软件库设计设备软件。通过下面的介绍,您可以快速地让您的设备具有思想,最终成为一个功能完整的设备。
1 XGate-DPS软件库结构
XGate-DPS系列模块都提供了软件库,用户使用该软件库可以快速开发出设备软件。图1是该软件库的结构图,整个软件架构将XGate-DPS的资源展示给用户,这些资源包括输入数据、输出数据、用户参数数据、配置数据、诊断数据等等。图中,灰色背景部分表示需要用户编程。软件库针对8051、ARM平台做了硬件相关的接口驱动,一般不需要做任何更改,如果使用新的硬件平台, 用户需要修改UART驱动。
电感器生产软件库自行完成UART数据传输控制、命令发送和接收及相关分析处理,即图中的"XGate数据处理"部分;在"XGate大电流电感数据处理"的上层,提供了用户接口函数API,用户使用这些函数完成对XGate-DPS的操作;一些基于事件的操作,如DP大功率电感-V1的读写和数据传输请求,"XGate数据处理"将通过回调方式获取应答和处理;用户应用程序APP可以直接访问XGate资源,但是,必须使用API来更新这些资源。
2 XGate-DPS软件设计步骤
用户使用该软件库对XGate-DPS10的操作其实就是完成回调函数、使用API更新资源、访问资源数据。整个设计遵循图2所示的5个步骤,每个步骤需要完成的工作在图中作了注释,其中,大多数场合不需要步骤3;在不使用DP-V1的情况下步骤4几乎也是可以忽略的。
3 总线I/O设备的GSD文件
GSD文件是设备描述文件,当一个设备确定了其功能和参数后,GSD文件也就确定了。设备的GSD文件一般是通扁平型电感过修改示例GSD文件生成,示例GSD文件中的大部分关键字和参数已经确定而不需要修改。本例中修改示例如下:
修改的内容一部分是设备的名称、序列号等信息,另一部分是设备组态数据和用户参数数据部分。设备组态数据指示了设备的输入输出大小,决定了通信数据结构,组态数据的设置可以查看XGate-DPS10数据手册的附录;用户参数数据是为了限定或小型电感器指示设备数据的范围或意义的,更详细的信息请参考《XGate-DPS10数据手册》。
4 APP设计及回调函数
软件库提供了demo示例代码,一个软件库基础操作单元如图3所示。
在使用软件包前,首先要配置cfg.h头文件的宏定义,这包括与硬件相关的寄存器、缓冲区大小、设备属性等的定义。
使用软件包,用户没有必要去考虑如何与模块通信,也不必了解PROFIBUS技术细节,只需要关心设备功能的实现及如何组织数据。一个典型的前后台用户程序框图如图4所示。
软件包中有两个非常重要的函数DataUpdate()和RecvProcess(),调用这两个函数实现数据的交换。接收到的交换数据在sys.Out_data[]数组中,要发送的数据需要放到sys.In_data[]中。例如:平面变压器厂家 | 平面电感厂家
滤波电感在电源抗干扰中的应用摘要:从磁性材料的角度指出了共模与差模抗干扰滤波器中电感材料的选择原则。指出必须根据干扰信号的类型(共模或差模)选取对应的磁性材料,并按照所需抑制频段研制该材料的磁性能,使之适合该抑制频段需要,只有这
关于3842的第3脚电容问题 本帖最后由 yytda 于 2014-7-31 15:21 编辑 3842的3脚通过一个1K的电阻连接MOS的S极,同时3脚又有一个电容接地,我想问一下,这个电容一般用多大?可能有些人喜欢用102的电容,那这个电容用的比较小的话,会有什么影响?比如我习惯上用1K的电阻和331的电容,这样会不会留下什么隐患?满意回复+10不亦心 查看完整内容前沿消隐,消隐时间一般在20
单片机在智能水位监控仪中的应用方案1 引言水位监控仪广泛应用于水利、石油、化工、冶金、电力等领域的自动检测和控制系统中。目前有些水位监控仪在运行过程中存在着一些问题,如:系统不稳定、抗干扰能力差、精度低、输出控制或显示信号不满足要求、