一种仪控设备数据交互握手方法
阅读说明:本技术 一种仪控设备数据交互握手方法 (Instrument control equipment data interaction handshake method ) 是由 何小鹏 陈杰 张洧川 刘立新 何正熙 赵阳 肖鹏 周玲 熊彦 李伟 唐涛 简一 于 2021-08-26 设计创作,主要内容包括:本发明公开了一种仪控设备数据交互握手方法,包括以下步骤:握手发起装置发送握手请求消息,所述握手请求消息包括握手请求标识;所述握手发起装置接收握手应答消息;所述握手应答消息由握手响应装置发送,所述握手应答消息包括握手应答标识,且所述握手应答标识根据所述握手请求标识获取;所述握手发起装置对所述握手应答标识进行判断,当所述握手应答标识与预设握手应答标识一致时,所述握手发起装置与所述握手响应装置建立通信连接。本发明的目的在于提供一种仪控设备数据交互握手方法,实现设备中CPU板卡和功能板卡间的类型识别和通信同步,以保证CPU板卡和功能板卡间数据交互的准确性。(The invention discloses an instrument control equipment data interaction handshake method, which comprises the following steps: the handshake initiating device sends a handshake request message, wherein the handshake request message comprises a handshake request identifier; the handshake initiating device receives a handshake response message; the handshake response message is sent by a handshake response device, the handshake response message comprises a handshake response identifier, and the handshake response identifier is obtained according to the handshake request identifier; the handshake initiating device judges the handshake response identification, and when the handshake response identification is consistent with a preset handshake response identification, the handshake initiating device establishes communication connection with the handshake responding device. The invention aims to provide a data interaction handshake method for instrument control equipment, which realizes type identification and communication synchronization between a CPU board card and a function board card in the equipment so as to ensure the accuracy of data interaction between the CPU board card and the function board card.)
技术领域
本发明涉及核能系统仪表与控制技术领域,尤其涉及一种仪控设备数据交互握手方法。
背景技术
数字化仪控设备由主控制器(CPU板卡)、功能板卡、电源、背板和机箱等组成。设备中,CPU板卡与功能板卡安装在同一机箱背板的不同插槽上,并通过插槽间互连的背板总线进行数据交互;CPU板卡中运行设备应用程序,实现设备计算、处理、控制等功能;功能板卡包含多种类型,如开关量输入/出、模拟量输入/出、转速测量、温度采集、CAN通信、以太网通信等,用于实现各种专用功能,以满足仪控现场多种应用需求。
该数字化仪控设备架构中,设计了典型的共享内存机制实现CPU板卡和功能板卡间的异步数据交互,即采用功能板卡上微处理器(MCU)外挂的双端口SRAM(以下简称双口RAM)作为共享内存,CPU板卡通过背板总线访问各功能板卡上的双口RAM,以实现与各功能板卡上MCU的数据交互。
在实际工程应用中,由于CPU板卡和功能板卡启动时长不一致,且各板卡上电后独立异步运行,以及存在板卡热插拔、自检复位等情况,会导致在设备上电或板卡复位后的一定时间内,出现CPU板卡和功能板卡中的数据获取一方从双口RAM中读取到无效数据的情况,从而导致设备不受控状态。
为了确保异步系统中通信的有效性和可靠性,通常采用握手机制实现通信双方的同步。传统的“请求/应答”式握手机制一般为:功能板卡启动后,主动向板载双口RAM中写入握手请求,标识已准备就绪;CPU板卡识别到请求后,向对应功能板卡双口RAM中写入握手应答,以此建立通信连接。通过这种方式,可以在CPU板卡和功能板卡间建立通信同步。但是这种“请求/应答”机制无法识别板卡类型,无法实现精准握手和交互。
发明内容
本发明的目的在于提供一种仪控设备数据交互握手方法,实现设备中CPU板卡和功能板卡间的类型识别和通信同步,以保证CPU板卡和功能板卡间数据交互的准确性。
本发明通过下述技术方案实现:
一种仪控设备数据交互握手方法,包括以下步骤:
握手发起装置发送握手请求消息,所述握手请求消息包括握手请求标识;
所述握手发起装置接收握手应答消息;所述握手应答消息由握手响应装置发送,所述握手应答消息包括握手应答标识,且所述握手应答标识根据所述握手请求标识获取;
所述握手发起装置对所述握手应答标识进行判断,当所述握手应答标识与预设握手应答标识一致时,所述握手发起装置与所述握手响应装置建立通信连接。
传统的“请求/应答”式握手机制一般为:功能板卡启动后,主动向板载双口RAM中写入握手请求,标识已准备就绪;CPU板卡识别到请求后,向对应功能板卡双口RAM中写入握手应答,以此建立通信连接。通过这种方式,可以在CPU板卡和功能板卡间建立通信同步。但是这种“请求/应答”机制无法识别功能板卡的类型,无法实现精准握手和交互,容易存在握手错误的现象,这在核工业领域中是绝对不允许的。基于此,针对上述问题,发明人经长时间研究后,提出了一种仪控设备数据交互握手方法,虽然在该握手方法中,CPU板卡与功能板卡间仍采用“请求/应答”方式进行通信握手,但不同的是,在本方法中,针对每一型功能板卡设置独立且唯一的类型编号,并据此设计各型功能板卡唯一对应的握手请求标识和握手应答标识,以实现各个功能板卡的身份识别和精准交互,确保仪控设备的安全可靠运行。
优选地,所述握手请求标识由下式获取:
Y=0x30|boardNum;
其中,Y表示握手请求标识,0x30表示握手请求,|表示或,boardNum表示握手发起装置的编号。
优选地,所述握手应答标识由下式获取:
N=0x50|boardNum;
其中,N表示握手应答标识,0x50表示应答请求,|表示或,boardNum表示握手发起装置的编号。
优选地,当所述握手发起装置与所述握手响应装置建立通信连接后,数据提供方向共享内存中写入交互数据,所述交互数据包括标识所述交互数据是否有效的数据状态位;
所述数据提供方为所述握手发起装置或所述握手响应装置。
优选地,当所述握手发起装置与所述握手响应装置建立通信连接后,数据获取方通过所述数据状态位判断所述交互数据是否有效,在所述交互数据有效时读取所述交互数据;
所述数据获取方为所述握手发起装置或所述握手响应装置。
优选地,所述握手响应装置为CPU板卡。
优选地,所述握手发起装置为功能板卡。
优选地,所述功能板卡包括输入类板卡和输出类板卡。
优选地,当所述功能板卡为所述输入类板卡时,在所述输入类板卡发送握手请求消息前,所述输入类板卡向共享内存中写入至少一次有效交互数据。
优选地,当所述功能板卡为所述输出类板卡时,在所述握手响应装置作出握手应答前,所述握手响应装置向共享内存中写入至少一次有效交互数据。
本发明与现有技术相比,具有如下的优点和有益效果:
1、针对每一型功能板卡设置独立且唯一的类型编号,并据此设计各型功能板卡唯一对应的握手请求和应答标识,以实现身份识别和精准交互;
2、针对各型功能板卡的功能特点,设计不同的握手流程:在握手请求或应答前,由数据提供一方先写入至少一次有效数据,确保CPU板卡与各功能板卡握手成功后,数据获取方可在第一时间从共享内存中读取到有效的交互数据;
3、在CPU板卡与功能板卡数据交互过程中加入数据状态位,标识交互数据是否有效,数据获取方确认数据有效后再读取数据并执行后续操作,进一步提高CPU板卡和功能板卡之间数据交互的可靠性。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1为本发明CPU板卡数据交互握手流程示意图;
图2为本发明输入类板卡数据交互握手流程示意图;
图3为本发明输出类板卡数据交互握手流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例
一种仪控设备数据交互握手方法,包括以下步骤:
握手发起装置发送握手请求消息,握手请求消息中包括握手请求标识;
本实施例中所说的握手请求标识由下式获取:
Y=0x30|boardNum; (1)
其中,Y表示握手请求标识,0x30表示握手请求,|表示或,boardNum表示握手发起装置的编号。
值得说明的是,本实施例中的握手发起装置的编号为人为预先设置。例如在本实施例中,握手发起装置设置为功能板卡,各功能板卡的板卡编号如表1所示;
表1功能板卡类型编号
序号
板卡类型
板卡编号(boardNum)
1
开关量输入
0
2
开关量输出
1
3
开关量输入/出
2
4
模拟量输入
3
5
模拟量输出
4
6
转速测量
5
7
温度采集
6
8
RS485通信
7
9
以太网通信
8
10
CAN通信
9
假设模拟量输入板卡需要发送握手请求消息时,模拟量输入板卡首先根据公式(1)计算其握手请求标识Y,根据表1可知,模拟量输入板卡的板卡编号为3,因此模拟量输入板卡的握手请求标识为:Y=0x30|3,模拟量输入板卡获取该握手请求标识后,将该握手请求标识发送至握手响应装置,握手响应装置识别该握手请求标识,并根据该握手请求标识匹配对应的握手应答标识发送至握手发起装置。
本实施例所说的握手应答标识根据表1所示功能板卡的板卡编号和公式(2)获取:
N=0x50|boardNum; (2)
其中,N表示握手应答标识,0x50表示应答请求,|表示或,boardNum表示握手发起装置的编号。例如需要进行“请求/应答”的功能板卡为模拟量输入板卡,根据表1可知,模拟量输入板卡的板卡编号为3,因此模拟量输入板卡的握手应答标识为:N=0x50|3。
具体地,在本实施例中,握手响应装置设置为CPU板卡,CPU板卡预先存储有与握手请求标识匹配的握手应答标识,即:一个握手请求标识对应一个握手应答标识。在实际运行过程中,CPU板卡对各个功能板卡进行轮询以查找有无功能板卡向CPU板卡发出握手请求,当CPU板卡识别到有功能板卡向其发出握手请求时,CPU板卡获取该握手请求中的握手请求标识,并根据该握手请求标识匹配对应的握手应答标识发送给该功能板卡。具体匹配过程可以为:当CPU功能板卡识别到握手请求标识时,提取握手请求标识中的握手发起装置的编号(板卡编号);根据该握手发起装置的编号在存储的握手应答标识中查找具有该握手发起装置的编号的握手应答标识。
握手发起装置接收握手应答消息,并对握手应答标识进行判断,当握手应答标识与预设握手应答标识一致时,握手发起装置与握手响应装置建立通信连接。
传统的“请求/应答”式握手机制一般为:功能板卡启动后,主动向板载双口RAM中写入握手请求,标识已准备就绪;CPU板卡识别到请求后,向对应功能板卡双口RAM中写入握手应答,以此建立通信连接。通过这种方式,可以在CPU板卡和功能板卡间建立通信同步。但是这种“请求/应答”机制无法识别功能板卡的类型,无法实现精准握手和交互,容易存在握手错误的现象,这在核工业领域中是绝对不允许的。基于此,针对上述问题,发明人经长时间研究后,提出了一种仪控设备数据交互握手方法,虽然在该握手方法中,CPU板卡与功能板卡间仍采用“请求/应答”方式进行通信握手,但不同的是,在本方法中,针对每一型功能板卡设置独立且唯一的类型编号(如表1所示),并据此设计各型功能板卡唯一对应的握手请求标识和握手应答标识(如公式1和公式2所示),以实现各个功能板卡的身份识别和精准交互,确保仪控设备的安全可靠运行。
此外,在本方案中,为了进一步提高CPU板卡和功能板卡之间数据交互的可靠性,在本实施例中,在CPU板卡与功能板卡数据交互过程中加入数据状态位,用于标识交互数据的状态(有效或无效),数据获取方确认数据有效后再读取数据并执行后续操作,具体地,包括:
当握手发起装置与握手响应装置建立通信连接后,数据提供方向共享内存中写入交互数据,本实施例中写入的交互数据除了源数据外,还包括数据状态位,数据状态位用于表示源数据是否有效;当数据获取方从共享内存中读取交互数据时,通过识别交互数据中的数据状态位来判断该交互数据中的源数据是否有效,并在交互数据有效时读取交互数据中的源数据。
其中,本实施例中所说的数据提供方和数据获取方为功能板卡或CPU板卡。
进一步地,在本方案中,针对核工业运用领域各功能板卡的功能特点,设计了不同的握手流程:在握手请求或应答前,由数据提供方先写入至少一次有效数据,确保CPU板卡与各功能板卡握手成功后,数据获取方可在第一时间从共享内存中读取到有效的数据,避免数据真空期,确保系统执行有效操作。即:对于输入类功能板卡,包括开关量输入、模拟量输入、转速测量以及温度采集等,在输入类功能板卡向CPU板卡发起握手请求前,输入类功能板卡应先向共享内存中写入至少一次有效数据;对于输出类功能板卡,包括开关量输出和模拟量输出等,在CPU板卡作出握手应答前,CPU板卡应先向共向内存中写入至少一次有效数据,具体地,参见图1-图3所示:
图1为CPU板卡数据交互握手流程示意图,由于针对不同功能板卡的功能特点设计了不同的握手流程,因此CPU板卡在与功能板卡建立握手时,CPU板卡首先对功能板卡的类型进行判断:当判断功能板卡为输入类板卡并与输入类板卡建立通信连接后,不是直接从共享内存中读取交互数据,而是先对交互数据的有效性进行判断,当判断为交互数据有效后再进行交互数据的读取,并清除交互数据的有效标识;当判断功能板卡为输出类板卡并与输出类板卡已建立通信连接时,CPU板卡向共享内存中写入源数据和数据有效信号(数据状态位),其中,数据有效信号插入在源数据中;当判断功能板卡为输出类板卡并还未与输出类板卡建立通信连接时,CPU板卡先向共享内存中写入至少一次有效交互数据后,再与输出类板卡建立通信连接。
图2为输入类板卡数据交互握手流程示意图,输入类板卡在向CPU板卡发起握手前,输入类板卡先向共享内存中写入至少一次有效交互数据后,再向CPU板卡发起握手请求,待握手连接成功后,输入类板卡再依次向共享内存中写入有效交互数据和数据有效信号(数据状态位)。
图3为输出类板卡数据交互握手流程示意图,当输出类板卡与CPU板卡建立通信连接后,不是直接从共享内存中读取交互数据,而是先对数据的有效性进行判断,当判断为交互数据有效后再进行交互数据的读取,并清除交互数据的有效标识。
综上,本申请提供了一种改进的、可用于数字化仪控设备CPU板卡和功能板卡间的数据交互握手方法,针对仪控设备中不同类型板卡提出不同的握手流程,并综合采用类型编码、“请求/应答”标识和数据状态位,来实现CPU板卡与功能板卡间的板卡识别、通信同步和数据有效交互,从而确保仪控设备的安全、可靠运行。克服了传统的“请求/应答”式握手机制不能完全满足核能系统数字化仪控设备安全、可靠性运行的问题。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 上一篇:一种医用注射器针头装配设备
- 下一篇:一种模块化高密度分布式服务器