当前位置:首页 > 通信技术 > 通信技术
[导读]总线I/O是"现场总线远程I/O"的简称,是基于现场总线控制系统FCS中的主要设备,PROFIBUS-DP是总线I/O的主流通信协议。一个总线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[]中。例如:

  放到sys数组中的数据顺序与GSD文件描述的设备信息顺序是一致的。在本例中,8位开关输入量在sys.In_data[0]中,而16位(2 B)计数器占用sys.In_data[1…2];8位开关输出在sys.Out_data[0]中。来自主站的用户参数数据放在sys.User_para[]数组中,用户可以根据这些数据的意义设置设备相关功能。

  XGate-DPS10支持用户诊断,用户可以调用SetDiag_Channel()、SetDiag_Identifier()、SetDiag_Device()等函数来完成用户诊断的发送,在发送这些诊断前,需要将诊断信息赋值到定义好的结构体中,例如:

  当XGate-DPS收到DP-V1读写请求,也将产生一个中断,软件库将调用相应的回调函数。在这些回调函数中应首先判断访问的slot_num、index的合法性,基本格式如下:

  PROFIBUS-DP从站应用广泛,使用通信接口模块来开发总线I/O设备可以有效地缩短开发周期、节省成本投入,并在可靠性上得到保障。XGate-DPS10符合大多数应用场合,其高可靠性、方便性、低成本性使其成为开发DP从站设备的首选。
 

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

在这篇文章中,小编将对USB接口的相关内容和情况加以介绍以帮助大家增进对USB接口的了解程度,和小编一起来阅读以下内容吧。

关键字: USB 通用串行总线 总线

西门子通信协议主要有以下几种:S7协议,西门子自家的通信协议,主要用于S7系列PLC之间或PLC与计算机之间通信。S7协议分为多种类型,包括S7-200系列支持的PPI、MPI、PROFIBUS等协议,以及S7-300/...

关键字: 西门子 PROFIBUS

今天,小编将在这篇文章中为大家带来嵌入式总线技术的有关报道,通过阅读这篇文章,大家可以对嵌入式总线技术具备清晰的认识,主要内容如下。

关键字: 嵌入式 总线

汽车CAN/LIN总线系统测试的关键是测试流程、测试标准和测试工具,掌握专业的总线分析和测试工具的使用技术,开发测试软件并将它们应用到测试过程是对中国汽车厂家和汽车工程师的重大挑战汽车总线测试流程。概括的讲,汽车总线的测...

关键字: CAN 总线 汽车

现代电子技术的正处于一个飞速发展的时代,随着现代汽车整体性能的逐渐完善,单片机和集成电路不再是家电等电器产品的专属,也正愈来愈广泛的被在应用现代汽车上,电子控制单元部件及各种传感器数量在现代汽车的装配也越来越多。为方便这...

关键字: 汽车 总线 监控

现在CAN的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面,现场总线是当今自动化领域技术发展的热点之一、被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠...

关键字: CAN 总线 硬件

CAN(Controller Area Network)是一种多主方式的串行通讯总线。基本设计规范要求有高的位速率、高抗电磁干扰性,而且能够检测出产生的任何错误,当信号传输距离达到 10Km 时 CAN-bus 仍可提供...

关键字: CAN 串行通讯 总线

CAN(Controller Area Network)即控制器局域网络。是应用在现场、在微机化测量设备之间实现双向串行多节点数字通讯系统,是一种开放式、数字化、多点通信的底层控制网络。 CAN协议建立在ISO/OSI模...

关键字: CAN 数字通讯 总线

当前市场行业发展CAN总线虽然有强大的抗干扰和纠错重发机制,但目前CAN大量地运用于电动汽车、充电桩、电力电子、轨道交通等电磁环境比较恶劣的场合,因此对CAN总线的抗干扰能力也会存在挑战,所以对CAN总线的抗干扰能力需要...

关键字: CAN 通信 总线

CAN总线控制器实现网络协议ISO 11898–1的所有低级功能,同时收发器与物理层通信。不同的物理层需要不同的收发器,如高速can、低速容错can、高速可变数据速率can。在一个典型的实现中,CAN总线控制器和微处理器...

关键字: CAN 总线 控制器
关闭
关闭