一种嵌入式主从设备的数据映射方法
技术领域
本发明涉及工业控制领域嵌入式设备中的信息处理技术,具体涉及一种嵌入式主从设备的数据映射方法。
背景技术
嵌入式设备是集软硬件于一体的、可独立工作的计算机系统,具有专用型强、体积小、实时性好、可靠性高、功耗低等特点,广泛应用于工业控制领域。随着现代工业生产自动化水平的不断提高、过程控制要求的日益复杂,分布式组织的嵌入式设备系统已成为工业控制领域一种常见的架构方式,可以针对复杂工业生产对象实现集中管理和分散采集控制的设计目标。
分布式系统的嵌入式设备按照控制层级可分为主设备和从设备两类,主设备负责集中管理,从设备负责终端采集和控制。在实际运行过程中,主设备需要动态读取从设备的状态信息,并支持更新从设备的参数设定或对其执行控制操作。主设备和从设备作为相互独立的嵌入式设备,二者的数据交互是通过设备的通讯接口连接实现的。显而易见,主设备应事先掌握从设备基于通讯接口的数据模型定义才能实现对从设备具体数据的有效访问。传统方式下主设备获取从设备的数据模型定义有两种实现方法,一种是将其固化在主设备的软件实现中,另一种是采取主设备导入配置的方式。这些方法一般仅适用于从设备的数据模型定义保持不变的应用场景。当从设备因运行模式变化或其他原因导致其通讯数据模型经常变动时,就需要主设备相应频繁修改软件或更新导入新配置,对整个系统长期稳定运行造成不利影响。
发明内容
发明目的:本发明的目的在于提供一种主设备无需修改软件或更新配置就能实现对从设备的共享数据定义进行动态适配的嵌入式主从设备的数据映射方法。
技术方案:本发明的嵌入式主从设备的数据映射方法,包括以下步骤:
(1)主设备与从设备的通讯模块经数据网络建立通讯连接;
(2)主设备通讯模块获取从设备共享数据的配置信息;
(3)主设备通讯模块创建匹配的映射数据区及数据转发表;
(4)主设备通讯模块周期性获取从设备的共享数据并更新映射数据区;
(5)主设备通讯模块基于数据转发表动态推送共享数据至应用模块;
(6)主设备通讯模块处理应用模块请求,针对从设备读取共享数据、更新设定参数或执行控制操作。
步骤(1)中,所述数据网络支持1~N个从设备接入主设备。
步骤(2)中,所述从设备的配置信息包括共享数据的数量、唯一标识符、分组、描述、数据类型、量纲、值域、更新周期属性。
步骤(3)中,所述主设备通讯模块所创建的映射数据区数量与接入的从设备数量一致,且映射数据区的大小取决于对应的从设备的共享数据数量。
步骤(3)中,所述主设备的数据转发表数量与接入的从设备的数量一致,数据转发表记录主设备应用模块信号与从设备共享数据的关联关系,用于从设备共享数据的动态推送服务。
步骤(4)中,当从设备的共享数据及配置发生变化时,采用复位通讯连接或发送信号的方式通知主设备重新初始化并更新数据映射区。
步骤(4)中,所述从设备的共享数据支持分组,并可按不同周期更新各分组共享数据的实际值。
所述从设备的共享数据包括变量、参数和事件记录。
步骤(4)中,所述从设备通讯模块周期性推送从设备的共享数据至主设备通讯模块并更新映射数据区。
步骤(6)中,所述主设备通讯模块为应用模块提供从设备共享数据属性及实际值的召唤应答服务。
本发明中,主设备通过高速数据网络连接1~N个从设备,并可动态读取各从设备的状态信息,并支持更新各从设备的参数设定或对其执行控制操作。每当主设备通过网络接入一个新的从设备时,主设备首先获取从设备提供的共享数据的配置信息,并根据从设备的配置信息创建匹配的映射数据区及数据转发表。进入正常通讯阶段后,主设备按照数据分组以不同周期读取从设备的共享数据实际值并更新映射数据区,并基于数据转发表为本设备的应用模块提供动态推送、召唤应答两种获取从设备共享数据的方式。当从设备因运行模式变化或其他原因造成其共享数据及配置发生变化时,从设备采用复位通讯连接或发送信号的方式通知主设备,主设备随后恢复与从设备的通讯过程并获取最新共享数据的配置信息,继而重建匹配的映射数据区及数据转发表,最终达到动态适配的效果。正常通讯过程中,也可采用从设备按照数据分组以不同周期主动推送从设备的共享数据实际值并更新主设备映射数据区的工作方式。此外从设备也可采用相同方法反向实现对主设备共享数据的映射访问。
有益效果:本发明与现有技术相比,其有益效果在于:(1)当从设备因运行模式变化或其他原因导致其通讯数据模型经常变动时,主设备无需修改软件或更新配置就能实现对从设备的共享数据定义进行动态适配,利于整个系统长期稳定运行;(2)实现了主设备对单个或多个从设备的共享数据汇总及设定控制操作,能够灵活满足主从分布式系统分散采集、集中管理的运维要求。
附图说明
图1为本发明的流程示意图;
图2为本发明中一台主设备接入n台从设备时的应用场景图;
图3为本发明中从设备数据转发表的结构示意图。
具体实施方式
下面结合具体实施方式和说明书附图对本发明的技术方案做进一步详细描述。
如图1和图2所示,嵌入式主从设备均由通讯模块和应用模块构成,本发明的嵌入式主从设备的数据映射方法,包括以下步骤:
(1)嵌入式主设备与从设备经数据网络建立通讯连接,为从设备的配置信息及共享数据传输建立信道;数据网络支持1~N个从设备接入主设备;
(2)主设备通信模块获取从设备共享数据的配置信息,这些信息包括共享数据的数量、唯一标识符、分组、描述、数据类型、量纲、值域、更新周期属性;配置信息既可以采用结构化数据块定义,也可以采用模式化文件方式定义。实际配置文件采用描述规则协商一致的XML(可扩展标记语言)文件。从设备的配置文件定了状态量、参数和控制三类若干组数据,其中状态量类信息可用于从设备映射数据区的创建,参数和控制类信息可用于对从设备进行参数设定及控制操作。
(3)主设备通讯模块根据从设备配置信息创建匹配的映射数据区用于从设备共享数据的更新存储,并建立数据转发表描述共享数据与本地应用模块接口的连接关系;其中,主设备通讯模块所创建的映射数据区数量与接入的从设备数量一致,且映射数据区的大小取决于对应的从设备的共享数据数量;主设备的数据转发表数量与接入的从设备的数量一致,数据转发表记录主设备本地信号与从设备共享数据的关联关系,用于从设备共享数据的动态推送服务;
(4)主设备通讯模块通过网络周期性读取从设备的共享数据并更新映射数据区的存储内容;也可由从设备通讯模块通过网络周期性推送从设备的共享数据并更新映射数据区的存储内容;当从设备的共享数据个数较多时,可根据需要先对从设备数据进行分组,并能按不同周期更新各分组共享数据的实际值;从设备的共享数据包括变量、参数和事件记录。
(5)主设备通讯模块基于数据转发表将映射数据区的存储内容主动推送至本地应用模块的接口,也能响应本地应用模块针对映射数据区的主动读取请求;
(6)主设备通讯模块处理应用模块请求,针对从设备读取共享数据、更新设定参数或执行控制操作;主设备通讯模块为应用模块提供从设备共享数据属性及实际值的召唤应答服务。
如图2所示,主从分布式系统中一台主设备可以通过网络接入多台从设备,主设备针对每台从设备的通讯初始化阶段均需要执行步骤101~103,实际运行过程中循环执行步骤104~106。当从设备因运行模式变化或其他原因造成其共享数据及配置发生变化时,从设备采用复位通讯连接或发送信号的方式通知主设备,主设备随即重新执行步骤101~103以获取从设备最新共享数据的配置信息,继而重建匹配的映射数据区及数据转发表,达到动态适配的效果。
嵌入式主设备与从设备经网络建立通讯连接的启动过程既可以采用主设备主动发起连接的方式,也可以采用从设备主动发起连接的方式。前者需要主设备预先配置所有从设备的网络地址信息,后者需要从设备预先配置主设备的网络地址信息。相对而言,后一种连接方式的灵活性更高,更适合于从设备种类及数量均不能事先确定的分布式系统应用。
主设备通讯模块负责创建与从设备配置信息匹配的映射数据区并按固定周期更新其数据内容。主设备应用模块使用来自映射数据区的从设备共享数据用于人机展示或数据处理等用途。主设备应用模块可以通过两种方式获取从设备的共享数据,一种是通过数据标识符直接定位获取映射数据区的数据信息,另一种是由通讯模块基于数据转发表动态推送应用模块所需的共享数据内容。数据转发表由通讯模块创建映射数据区时同步建立,内容为从设备共享数据项与各应用子模块输入接口的关联关系,如图3所示。主设备应用模块需事先提供数据关联规则给通讯模块,通讯模块创建针对某个从设备的映射数据区后,根据关联规则将从设备共享数据与应用模块的输入接口配对并在数据转发表中记录。实际运行过程中,主设备通讯模块按照周期或变化两种触发条件将共享数据的数值推送至应用模块的数据接口。
特别情况下,从设备可采用相同方法反向实现对主设备共享数据的映射访问,此时主从设备的角色颠倒后应用本方法即可。