[发明专利]一种基于socket和协程的程控设备通信方法在审
申请号: | 202211590769.4 | 申请日: | 2022-12-12 |
公开(公告)号: | CN115866096A | 公开(公告)日: | 2023-03-28 |
发明(设计)人: | 文晶;冯尧;吴东亮;柳晓宁;朱熙;廖韬;朱琳;刘波;申彬 | 申请(专利权)人: | 北京卫星环境工程研究所 |
主分类号: | H04L69/16 | 分类号: | H04L69/16;H04L67/02 |
代理公司: | 北京志霖恒远知识产权代理有限公司 11435 | 代理人: | 郭栋梁 |
地址: | 100094 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 socket 和协 程控 设备 通信 方法 | ||
本发明公开了一种基于socket和协程的程控设备通信方法,该方法主要用于与数采仪器、程控电源等程控设备进行通信,该方法的通信指令基于SCPI指令、通信协议基于socket通信协议,采用协程进行单台设备间通信的切换,将对外接口封装为WebApi形式,供各类上层应用的数据调用,最后,整体封装为容器供上层分布式系统调用。通信过程中,每台设备开启一个通信协程,指令的收发与数据处理均在该协程中完成,不同协程间并行进行设备通信,在等待所有并行协程结束后,统一进行数据的组合与处理。该方法能够大幅提高程控设备通信效率,适用于所有具有网络通信接口的程控设备。
技术领域
本发明属于航天器地面测试及试验技术领域,并可在其它相关领域程控设备通信工作中进行推广应用,具体涉及基于socket和协程的程控设备通信方法。
背景技术
在航天器地面测试及试验中,涉及到大量程控设备,通过程控采集设备完成传感器实时数据的采集、处理;通过程控电源设备完成功率输出并回读实时电流、电压、功率等相关信息。这些程控设备一般基于以太网进行设备通信,并遵循SCPI通信标准。在少量设备的情况下,可以采用Keysight公司或者NI公司的visa驱动串行完成设备通信,达到远程程控设备的目的。
但是由于visa驱动的闭源属性和单机属性,在编码实现通信功能时,受制于visa提供的具体函数实现,在大规模分布式试验系统中,无法通过visa实现分布式程控设备通信。
传统程控设备进行通信时存在以下缺点:
1.串行进行指令收发,即完成一台程控设备的指令收发后,进行下一台设备的控制。在设备数量增长后,通信时长累加,完成全部设备的通信时长过长。
2.基于visa驱动进行设备通信,闭源驱动无法得知内部运行逻辑,在网络抖动或者其他情况下,易造成设备无法通信的情况。
3.单机通信,无热备。通过单一的计算机或者服务器完成通信,当该计算机或服务器宕机后,容易导致设备无法通信,进而导致整个系统对程控设备的失控。
综上所述,现有的程控设备通信方法通信效率较低,在面对大量程控设备时,通信时间较长,通信可靠性不高。
发明内容
本发明的目的是解决上述问题,提供一种能够实现大量程控设备快速、稳定通信,提高设备通信效率的通信方法。
为解决上述问题,本发明采用的技术方案如下:
一种基于socket和协程的程控设备通信方法:该方法的通信指令采用SCPI指令;通信协议采用socket通信协议;单台设备间通信的切换采用协程切换方式;对外接口封装形式被设置为可供各类上层应用的数据调用。
进一步地,所述对外接口封装形式为Webapi形式。
进一步地,通信过程中,每台设备开启一个通信协程,指令的收发与数据处理均在该协程中完成,不同协程间并行进行设备通信,在等待所有并行协程结束后,统一进行数据的组合与处理。
进一步地,所述通信指令的指令中包括控制仪器的语法,命令结构以及数据格式,同一型号设备采用一套SCPI指令。
进一步地,所述在按设备型号开启协程后,每个协程中执行对应的socket会话,socket会话超时未响应时,认为该设备通信异常,在协程内关闭此会话。
进一步地,所述通信协议采用socket通信协议,完成单台程控设备的通信。
进一步地,所述协程主要用于程控设备的并发通信。
进一步地,在单个所述协程中,首先建立通信会话,与程控设备完成握手,发送对应指令并等待指令完成后,关闭通信会话,最后关闭该协程完成单台设备的通信周期。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京卫星环境工程研究所,未经北京卫星环境工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211590769.4/2.html,转载请声明来源钻瓜专利网。