CN112555053A - 火箭发动机试验时序控制方法及控制系统 - Google Patents

火箭发动机试验时序控制方法及控制系统 Download PDF

Info

Publication number
CN112555053A
CN112555053A CN202011257201.1A CN202011257201A CN112555053A CN 112555053 A CN112555053 A CN 112555053A CN 202011257201 A CN202011257201 A CN 202011257201A CN 112555053 A CN112555053 A CN 112555053A
Authority
CN
China
Prior art keywords
time sequence
emergency stop
valve
ignition
upper computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011257201.1A
Other languages
English (en)
Other versions
CN112555053B (zh
Inventor
孙子繁
陈世哲
樊狄锋
沈佳城
胡明德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Landspace Technology Co Ltd
Original Assignee
Landspace Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Landspace Technology Co Ltd filed Critical Landspace Technology Co Ltd
Priority to CN202011257201.1A priority Critical patent/CN112555053B/zh
Publication of CN112555053A publication Critical patent/CN112555053A/zh
Application granted granted Critical
Publication of CN112555053B publication Critical patent/CN112555053B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02KJET-PROPULSION PLANTS
    • F02K9/00Rocket-engine plants, i.e. plants carrying both fuel and oxidant therefor; Control thereof
    • F02K9/96Rocket-engine plants, i.e. plants carrying both fuel and oxidant therefor; Control thereof characterised by specially adapted arrangements for testing or measuring
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02KJET-PROPULSION PLANTS
    • F02K9/00Rocket-engine plants, i.e. plants carrying both fuel and oxidant therefor; Control thereof
    • F02K9/94Re-ignitable or restartable rocket- engine plants; Intermittently operated rocket-engine plants
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02KJET-PROPULSION PLANTS
    • F02K9/00Rocket-engine plants, i.e. plants carrying both fuel and oxidant therefor; Control thereof
    • F02K9/95Rocket-engine plants, i.e. plants carrying both fuel and oxidant therefor; Control thereof characterised by starting or ignition means or arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Programmable Controllers (AREA)

Abstract

本申请提供了一种火箭发动机试验时序控制方法及控制系统,试验时序控制方法包括:在上位机中设计图形化编程界面;所述图形化编程界面中包括点火时序选项卡和紧停配置选项卡;在上位机中编写数据处理程序,所述数据处理程序采用表格编程机制,用于在点火时序选项卡中编写点火时序以及在紧停配置选项卡中编写紧停时序;在下位机中编写控制程序,所述控制程序用于解析上位机发送的点火时序或紧停时序;上位机将点火时序或紧停时序更新至下位机中,下位机根据点火时序或紧停时序对火箭发动机的试验时序进行控制。本申请操作简单、直观,控制过程安全可靠,能够大大提高火箭发动机试验时序控制的效率。

Description

火箭发动机试验时序控制方法及控制系统
技术领域
本申请属于火箭发发动机技术领域,具体涉及一种火箭发动机试验时序控制方法及控制系统。
背景技术
目前,火箭发动机地面热试车控制时序是由专业的编程人员在特定的开发环境中通过编写点火时序、紧停分支时序等相关时序程序实现的,且程序编写使用特定的编程语言,对面向底层的编程人员要求较高,编程环节复杂;另外,编程完成后需要在编译器中编译并下载到控制器中,操作过程复杂。
在一些发动机组件热试车中更是需要频繁地修改试车时序,相应地需要进行时序程序的多次修改,操作频繁、编程语言复杂且校对不直观,导致程序的可靠性和易用性较差。另外,在高频次的热试车工作条件下,也容易增加出错的风险,而对于发动机热试车来说,控制程序出错导致的后果将是非常严重的。
发明内容
为至少在一定程度上克服相关技术中存在的问题,本申请提供了一种火箭发动机试验时序控制方法及控制系统。
根据本申请实施例的第一方面,本申请提供了一种火箭发动机试验时序控制方法,其包括以下步骤:
在上位机中设计图形化编程界面;所述图形化编程界面中包括点火时序选项卡和紧停配置选项卡;
在上位机中编写数据处理程序,所述数据处理程序采用表格编程机制,用于在点火时序选项卡中编写点火时序以及在紧停配置选项卡中编写紧停时序;
在下位机中编写控制程序,所述控制程序用于解析上位机发送的点火时序或紧停时序;
上位机将点火时序或紧停时序更新至下位机中,下位机根据点火时序或紧停时序对火箭发动机的试验时序进行控制。
上述火箭发动机试验时序控制方法中,还包括以下步骤:
在上位机中搭建OPC服务器;
将上位机配置为OPC服务器的客户端;
上位机通过OPC服务器与下位机进行通信。
上述火箭发动机试验时序控制方法中,所述在上位机中设计图形化编程界面包括以下步骤:
创建映射阀门名称选项卡,并在所述映射阀门名称选项卡中创建阀门映射表;
创建点火时序选项卡,并在所述点火时序选项卡中创建点火时序表;
创建紧停配置选项卡,并在所述紧停配置选项卡中创建紧停时序表;
在点火时序选项卡和紧停配置选项卡中选择插入系统下拉列表,所述系统下拉列表中包括预设的阀门名称。
进一步地,所述在上位机中设计图形化编程界面还包括以下步骤:
根据需要添加按钮、文本显示框和修饰控件;
创建事件响应列表;所述事件列表包括鼠标按下、键按下和值改变;
在需要键入数字的点火时序表或紧停时序表中,利用键按下事件对键盘输入进行ASSII码值过滤。
上述火箭发动机试验时序控制方法中,所述在上位机中编写数据处理程序包括以下步骤:
利用索引数组提取阀门映射表中阀门名称和阀门通道列的数据,并将阀门名称列的有效数据按顺序复制至阀门选择下拉列表,通过移位寄存器的方式将阀门通道列的有效数据按顺序复制至新建的空白数组中;
当阀门选择下拉列表的值事件发生时,则按照阀门映射表中阀门通道与阀门名称的对应关系,利用新建的空白数组中保存的阀门通道列的有效数据键入对应阀门名称的阀门通道号;
将点火时序表中阀门通道列、动作时间列和执行动作列的字符串数组拼接为一个字符串数组,并转换为数值型数组,生成点火时序输出数组;
将紧停时序表中阀门通道列、动作时间列和执行动作列的字符串数组拼接为一个字符串数组,并转换为数值型数组,生成紧停时序输出数组;
所述点火时序输出数组和紧停时序输出数组用于下载至下位机的数据接收区。
上述火箭发动机试验时序控制方法中,所述在下位机中编写控制程序包括以下步骤:
编写阀门选择模块,所述阀门选择模块基于DECO功能块实现;
编写自动点火时序模块,所述自动点火时序模块采用循环中断的方式进行计时,通过比较指令结合阀门选择模块确定执行点火时序表中的哪条指令;
编写紧停时序模块,所述紧停时序模块与自动点火时序模块采用同一个循环中断和计数寄存器;当接收到外部紧停信号时,紧停时序模块终止自动点火时序模块,同时对计数寄存器执行清零,根据紧停时序表中的内容,结合比较指令和阀门选择模块,执行紧停时序表的内容。
进一步地,所述阀门选择模块基于DECO功能块实现的具体过程为:
定义输入为WORD字类型变量,对应上位机的阀门通道号设置为0-255,定义输出为8个DWORD双字,每个DWORD按大小顺序对应32个数据位;
当输入有效阀门通道号时,比较指令对阀门通道号进行分段比较,每一段长度为32,以定位输入接口的阀门通道号位于哪个DWORD范围,定位后将其它DWORD清零;
双字指令输入DECO功能块,由DECO功能块进行解析,以实现输入任意有效通道号,有且仅有唯一一个PLC通道被选中。
更进一步地,所述自动点火时序模块的具体实现过程为:
采用循环中断的方式进行计时,下位机PLC接收到启动信号后就使能循环中断,循环中断每10ms触发一次,每次触发计数寄存器MD100自动加1;
比较指令对10ms时基与点火时序表中待执行指令的动作时间进行比较,如果计时到点火时序表中待执行指令的动作时间,则利用阀门选择模块选通PLC的相应通道。
进一步地,所述在上位机中搭建OPC服务器的具体实现过程为:
创建通信通道,其具体过程为:
打开NI软件中的“OPC Server Configuration”,新建channel,在“devicedriver”中选择“siemens TCP/IP ethernet”,根据提示点击下一步完成通道创建;
创建PLC设备,其具体过程为:
在创建完成的通道下创建PLC设备,选择对应的PLC设备模型,其中,PLC设备ID中的IP地址应与上位机PC处于同一网段。
建立上位机与PLC设备的连接,其具体过程为:
在NI软件的右侧窗口中添加上位机和下位机需要同时访问的PLC数据和变量;
所有变量添加完成后,点击菜单中的“Runtime”下的“connect”,上位机与PLC设备进行通信连接。
根据本申请实施例的第二方面,本申请还提供了一种火箭发动机试验时序控制系统,其包括上位机和洗下位机,所述上位机被配置为:
设计图形化编程界面;所述图形化编程界面中包括点火时序选项卡和紧停配置选项卡;
编写数据处理程序,所述数据处理程序采用表格编程机制,用于在点火时序选项卡中编写点火时序以及在紧停配置选项卡中编写紧停时序;
所述下位机被配置为:
编写控制程序,所述控制程序用于解析上位机发送的点火时序或紧停时序;
所述上位机将点火时序或紧停时序更新至所述下位机中,所述下位机根据点火时序或紧停时序对火箭发动机的试验时序进行控制。
根据本申请的上述具体实施方式可知,至少具有以下有益效果:本申请采用带有图形化用户界面的上位机与下位机相结合的方式进行表格化时序程序的编写,上位机与下位机之间可以通过OPC协议进行通信,下位机利用表格化时序程序实现对火箭发动机时序的控制,具有操作简单、直观,控制过程安全可靠等特点。
采用本申请,火箭发动机时序程序的编写不再面向复杂代码,仅需要在表格中进行阀门通道的映射,然后从下拉列表中选择相应的对象,程序即可自动填入通道号。在表格中继续填写完动作时间和执行动作,整个时序控制程序即编写完成。
表格化的编程,使得时序控制程序非常直观,时序控制程序的校对将更加方便快捷。表格化的编程,不需要依赖专业的编程工具;同时,即便未经专业编程方面学习的人员仍能够在短时间内掌握编程方法,从而降低对操作人员的要求。简洁的编程方式,简单的校对过程,使编程效率大大提高,从而大大提高火箭发动机试验时序控制的效率。
应了解的是,上述一般描述及以下具体实施方式仅为示例性及阐释性的,其并不能限制本申请所欲主张的范围。
附图说明
下面的所附附图是本申请的说明书的一部分,其示出了本申请的实施例,所附附图与说明书的描述一起用来说明本申请的原理。
图1为本申请实施例提供的一种火箭发动机试验时序控制方法的流程图。
图2为本申请实施例提供的一种火箭发动机试验时序控制方法中阀门映射的界面。
图3为本申请实施例提供的一种火箭发动机试验时序控制方法中时序程序的编写界面。
图4为本申请实施例提供的一种火箭发动机试验时序控制方法中点火时序的程序片段。
图5为本申请实施例提供的一种火箭发动机试验时序控制方法中阀门选择模块的程序片段之一。
图6为本申请实施例提供的一种火箭发动机试验时序控制方法中阀门选择模块的程序片段之二。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚明白,下面将以附图及详细叙述清楚说明本申请所揭示内容的精神,任何所属技术领域技术人员在了解本申请内容的实施例后,当可由本申请内容所教示的技术,加以改变及修饰,其并不脱离本申请内容的精神与范围。
本申请的示意性实施例及其说明用于解释本申请,但并不作为对本申请的限定。另外,在附图及实施方式中所使用相同或类似标号的元件/构件是用来代表相同或类似部分。
关于本文中所使用的“第一”、“第二”、…等,并非特别指称次序或顺位的意思,也非用以限定本申请,其仅为了区别以相同技术用语描述的元件或操作。
关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。
关于本文中所使用的“及/或”,包括所述事物的任一或全部组合。
关于本文中的“多个”包括“两个”及“两个以上”;关于本文中的“多组”包括“两组”及“两组以上”。
某些用以描述本申请的用词将于下或在此说明书的别处讨论,以提供本领域技术人员在有关本申请的描述上额外的引导。
本申请火箭发动机试验时序控制方法采用带有图形化用户界面的上位机与下位机相结合的方式进行表格化时序程序的编写,上位机与下位机之间可以通过OPC(ObjectLinking and Embedding for Process Control用于过程控制的对象连接与嵌入技术)协议进行通信,利用表格化时序程序实现对火箭发动机时序的控制,具有操作简单、直观,控制过程安全可靠等特点。
图1为本申请实施例提供的一种火箭发动机试验时序控制方法的流程图。
如图1所示,本申请实施例提供的火箭发动机试验时序控制方法包括以下步骤:
S1、在上位机中设计图形化编程界面,其中,具体可以利用LabVIEW软件进行设计,其具体过程为:
S11、如图2所示,创建阀门映射表,其包括以下步骤:
响应LabVIEW软件前面板空白处的右击事件,弹出第一控件列表。
响应在第一控件列表中选择插入“容器”类中的“选项卡”控件的事件。其中,将该“选项卡”控件的名称设置为“映射阀门名称”。
响应“选项卡”控件空白处的右击事件,弹出第二控件列表。
响应在第二控件列表中选择插入“列表、表格和树”类中的“表格”的事件。
为“表格”命名,并创建表格类型。
例如,可以将该“表格”命名为“阀门映射”,并将其设置为单页3列、20行的表格。该类型表格中各列的内容分别为:序号、阀门通道和阀门名称,该类型表格中各行根据实际需要进行阀门通道与阀门名称的映射,映射关系如图2所示。其中,阀门通道的编号可以为0-255。
S12、创建点火时序表,其包括以下步骤:
响应LabVIEW软件前面板空白处的右击事件,弹出第三控件列表。
响应在第三控件列表中选择插入“容器”类中的“选项卡”控件的事件。其中,可以将该“选项卡”控件的名称设置为“点火时序”。
响应“选项卡”控件空白处的右击事件,弹出第四控件列表。
响应在第四控件列表中选择插入“列表、表格和树”类中的“表格”选项卡的事件。
为“表格”命名,并创建表格类型。
例如,可以将该“表格”命名为“点火时序”,并将其设置为单页5列、20行的表格。该类型表格中各列的内容分别为:序号、阀门通道、阀门名称、动作时间(ms)和执行动作(其中,1表示开,0表示关),该类型表格中各行根据实际需要进行阀门通道与阀门名称的映射。
S13、创建紧停时序表;
响应LabVIEW软件前面板空白处的右击事件,弹出第五控件列表。
响应在第五控件列表中选择插入“容器”类中的“选项卡”控件的事件。其中,将该“选项卡”控件的名称设置为“紧停配置”。
响应“选项卡”控件空白处的右击事件,弹出第六控件列表。
响应在第六控件列表中选择插入“列表、表格和树”类中的“表格”选项卡的事件。
为“表格”命名,并创建表格类型。
例如,可以将该表格命名为“紧停时序”,并将其设置为单页5列、20行的表格。该类型表格中各列的内容分别为:序号、阀门通道、阀门名称、动作时间(ms)和执行动作(其中,1表示开,0表示关),该类型表格中各行根据实际需要进行阀门通道与阀门名称的映射。
实际应用过程中,可以根据点火时序和紧停时序,向点火时序表和紧停时序表中的各行输入相应的数值。
S14、添加并配置下拉列表;
在“点火时序”和“紧停配置”选项卡中分别执行空白处右击,在弹出的控件列表中选择插入“下拉列表与枚举”类中的“系统下拉列表”,均设置为隐藏属性。其中,“系统下拉列表”中会显示预设的各具体的阀门名称。
根据步骤S11完成完阀门映射表的创建,单击“保存至文件”按钮进行保存。
上述步骤S1利用LabVIEW软件绘制图形化编程界面中还包括以下步骤:
S15、添加所需的控件,并创建事件响应列表。
根据需要添加按钮、文本显示框、修饰等控件。其中,修饰包括软件的优化、标题字体的更换、功能区与功能区之间是否设置分割线等。
创建的事件响应列表包括:“鼠标按下”、“键按下”、按钮“值改变”、选项卡“值改变”和下拉列表“值改变”等。
S16、在必须键入数字的表格位置,例如,点火时序表中的动作时间列的各表格中需要键入数字,利用“键按下”事件对键盘输入进行ASSII码值过滤,过滤掉除数字外的键入信息,以防止输入错误。
S2、在上位机中编写数据处理程序,其具体过程为:
S21、在阀门映射表中定义完阀门通道号和阀门名称后,点击保存按钮,数据处理程序一方面将列表内容存储为.csv文件,方便后期导入;另一方面通过索引数组提取阀门映射表中“阀门名称”列和“阀门通道”列的数据,将“阀门名称”列的有效数据按顺序复制至“阀门选择下拉列表”,通过移位寄存器的方式将“阀门通道”列的有效数据按顺序复制至新建的空白数组中。
S22、如图3所示,下拉列表通常为隐藏状态,当在点火时序表或紧停时序表的“阀门名称”列发生鼠标单击事件时,下拉列表将显示,并且尺寸自动对齐当前选择的单元格;如果下拉列表的“值改变”事件发生,即表格化编程中在下拉列表中进行了阀门选择,则按照阀门映射表中阀门通道与阀门名称的对应关系利用步骤S21新建的空白数组中保存的“阀门通道”号,自动键入对应的阀门通道号。
程序运行时,当鼠标在点火时序表和紧停时序表2个时序表格中发生单击时,将触发事件响应。判断当前鼠标单击所在列是否为“阀门名称”,如果不是,事件不进行任何操作;如果是,将触发事件响应,通过“点到行列”方法得到鼠标点击位置对应的行列坐标,并通过表格的“活动单元格”属性节点将当前单击位置单元格设置为激活的单元格,同时将隐藏的下拉列表进行显示,并且定位到鼠标单击位置。这样即实现了鼠标无论单击在“阀门名称”列的哪一行,下拉列表将一直跟随显示。
S23、将填写完的点火时序表和紧停时序表中“阀门通道”列、“动作时间”列和“执行动作”列中未填写数据的空白部分删除,并分别以缺省值补齐至100个值。基于表格的属性,如果填写完一组数据,但是这组数据在处理过程中又被删除了,那么系统会把这个数据存储为一个“空值”,而这个空值是无意义的,因此需要用缺省值进行补齐。也即最多支持100条动作指令,长远来看,这个数量亦是足够的。最后,再将处理完的3列字符串数组拼接为1个字符串数组,并转换为数值型数组,对应生成“点火时序输出数组”和“紧停时序输出数组”。
S24、将上位机生成的“点火时序输出数组”和“紧停时序输出数组”通过OPC(OLEfor Process Control,用于过程控制的OLE)通讯下载至下位机PLC的数据接收区。当下位机PLC接收到启动信号输入,即自动调用数据接收区的数据内容,执行点火程序。
S3、在下位机中编写控制程序,其具体过程为:
S31、设计阀门选择模块;
由于西门子的DECO(解码)功能块最多只能解析32个数据位,无法满足上位机阀门的数量要求,因此本申请基于西门子的DECO功能块,搭建完成256位数据的解码,也即系统最多支持上位机映射的阀门数量为256个。
具体实现过程为:
创建自定义功能块,定义输入为WORD(字)类型变量,对应上位机的阀门通道号为0-255。定义输出为8个DWORD(双字),每个DWORD按大小顺序对应32个数据位。
当输入有效阀门通道号时,比较指令对阀门通道号进行分段比较,每一段长度为32,以定位输入接口的阀门通道号位于哪个DWORD范围,定位后将其它DWORD清零。
双字指令输入DECO功能块,由DECO功能块进行解析,以实现输入任意有效通道号,有且仅有唯一一个PLC通道被选中。
例如,输入的阀门通道号为35,则通过比较后位于第2个DWORD范围的第4位(0-31为第一段,32-63为第二段,依此类推)。
假设第2个DWORD寄存器被定义为MD4,由于一个双字包含两个字节,一个字节包含八个位(例如,字节MB7包含M7.0、M7.1、M7.2、M7.3、M7.4、M7.5、M7.6、M7.7这8个位),解码顺序按照低字节到高字节为MB7-MB6-MB5-MB4,因此输入通道35时,将唯一选通位M7.3,而每个位均作为阀门控制的输出条件,这样便实现通过输入阀门通道号指定唯一的PLC硬件通道来进行动作。
S32、设计自动点火时序模块;
采用循环中断的方式进行计时,下位机PLC接收到启动信号后就使能循环中断,循环中断每10ms(根据PLC硬件的精度确定)触发一次,每次触发计数寄存器MD100自动加1。
需要说明的是,以上10ms根据PLC硬件的精度进行确定,当然也可以选择其他数值。
通过比较指令结合步骤S31设计的阀门选择模块就可以判断应当执行点火时序表中的哪一条指令。
下面进行举例说明。
如图4-6所示,CMP表示比较指令,D表示双字,FC1表示阀门选择模块;“rcvData”.TimeData[0]为上位机点火时序表中第一条指令的动作时间,“rcvData”.Valve[0]为上位机中指定的阀门通道号,“rcvData”.Act[0]为上位机指定的阀门的执行动作,该执行动作为开。
在阀门配置时将测量时统映射为阀门0通道,假设点火时序表中第一条指令是在5000ms时执行,向阀门0通道发送测量时统启动信号,其中,循环中断每10ms触发一次,则"rcvData".TimeData[0]的值为500,"rcvData".Valve[0]值为0,"rcvData".Act[0]的值为1。
程序启动后,“启动中继”闭合,循环中断开始计时,当"10ms时基"≥500,即计时至5000ms时,将执行阀门选择模块FC1。
图6为阀门选择模块FC1的程序片段,假设根据程序阀门0通道解码后对应M203.0导通,又因为"rcvData".Act[0]的值为1,通过图6中两个#Open_Close的互锁机制,置位DO0,同时DO0硬件输出连接至PLC的相应端口,即实现这一时序动作。
当点火时序运行结束时,程序将自动失能循环中断,并且对计数寄存器MD100执行清零操作,以保证可以正常运行下一次点火时序。
S33、设计紧停时序模块;
紧停时序计时与点火时序计时采用同一个循环中断和计数寄存器,以统一时标。不同的是,当接收到外部紧停信号时,紧停时序模块将终止点火时序模块,同时对计数寄存器执行清零,根据紧停时序表中的内容,结合比较指令和阀门选择模块,执行紧停时序段的内容。紧停程序执行完毕,同样程序会失能循环中断,再次清零计数寄存器。
需要说明的是,紧停时序模块中采用的比较指令的原理与自动点火时序模块中采用的比较指令的原理相同,在此不再赘述。
S4、搭建OPC服务器,其具体过程为:
S41、创建通信通道,其具体过程为:
打开NI(National Instruments,美国NI仪器公司)软件中的“OPC ServerConfiguration”,新建channel,在“device driver”中选择“siemens TCP/IP ethernet”,根据提示点击下一步完成通道创建。
S42、创建PLC设备,其具体过程为:
在创建完成的通道下创建PLC设备,选择对应的PLC设备模型。其中,PLC设备ID中的IP地址应与上位机PC处于同一网段。
根据提示点击下一步完成PLC设备的创建。具体地,在本申请中,PLC设备的模型为S7-300。
S43、建立上位机与PLC设备的连接,其具体过程为:
在NI软件的右侧窗口中添加上位机和下位机需要同时访问的PLC数据和变量等,例如,存储时序表格数据的DB块(DataBlock,数据块)。
所有变量添加完成后,点击菜单中的“Runtime”下的“connect”,上位机与PLC设备进行通信连接。
打开NI软件中的“Launch Opc quick client”,选择创建的PLC设备名称,即可观察到新建所有变量的实时值。
S5、将上位机配置为OPC服务器的客户端,其具体过程为:
打开上位机项目文件,在项目中右击依次选择“创建”->“I/O服务器”->“OPCClient”,填写更新速率等相关内容,根据提示点击下一步完成I/O服务器创建。
在项目树中找到创建完毕的I/O服务器,右击绑定变量,在上位机左侧界面I/O服务器下即可看到OPC服务器中创建的设备和变量名称。
将所需变量添加至右侧列表即完成上位机的配置。至此,上位机软件即可实时调用底层PLC中的变量。
S6、上位机通过OPC服务器将点火时序或紧停时序更新至下位机PLC中,PLC根据时序表对火箭发动机的试验时序进行控制,其具体过程为:
上位机中编写完成的点火时序和紧停时序经OPC服务器更新至PLC中,PLC在收到外部起动信号时将按照上位机中的点火时序执行。
点火过程中收到外部紧停信号,即可在上位机的紧停时序控制下跳转执行紧停时序表格中定义的时序。
在本申请中,只需要根据实际情况对上位机和下位机的程序进行必要修改,即可实现如串口、总线、以太网等其它通讯方式。
需要说明的是,本申请的上位机中采用表格化编程方法,上位机不限于基于LabView的界面,亦可是基于其它如QT、C#、Python等完成的图形用户界面。本申请中的下位机包括但不限于PLC。
本申请实施例提供的火箭发动机试验时序控制方法中时序程序的编写不再面向复杂代码,仅需要按照图2进行阀门通道的映射,然后按照图3所示从下拉列表中选择相应的对象,程序即可自动填入通道号。在表格中继续填写完动作时间和执行动作,整个时序控制程序即编写完成。
表格化的编程,使得时序控制程序非常直观,时序控制程序的校对将更加方便快捷。表格化的编程,不需要依赖专业的编程工具;同时,即便未经专业编程方面学习的人员仍能够在短时间内掌握编程方法,从而降低对操作人员的要求。简洁的编程方式,简单的校对过程,使编程效率大大提高,从而大大提高火箭发动机试验时序控制的效率。
基于以上火箭发动机试验时序控制方法,本申请还提供了一种火箭发动机试验时序控制系统,其包括上位机和下位机。
其中,上位机被配置为:
设计图形化编程界面;所述图形化编程界面中包括点火时序选项卡和紧停配置选项卡;
编写数据处理程序,所述数据处理程序采用表格编程机制,用于在点火时序选项卡中编写点火时序以及在紧停配置选项卡中编写紧停时序;
下位机被配置为:
编写控制程序,所述控制程序用于解析上位机发送的点火时序或紧停时序。
上位机将点火时序或紧停时序更新至下位机中,下位机根据点火时序或紧停时序对火箭发动机的试验时序进行控制。
由于火箭发动机试验时序控制系统与火箭发动机试验时序控制方法基于相同的发明构思,因此上位机中设计图形化编程界面和编写数据处理程序的具体过程以及下位机中编写控制程序的具体过程在此不再赘述。
以上所述仅为本申请示意性的具体实施方式,在不脱离本申请的构思和原则的前提下,任何本领域的技术人员所做出的等同变化与修改,均应属于本申请保护的范围。

Claims (10)

1.一种火箭发动机试验时序控制方法,其特征在于,包括以下步骤:
在上位机中设计图形化编程界面;所述图形化编程界面中包括点火时序选项卡和紧停配置选项卡;
在上位机中编写数据处理程序,所述数据处理程序采用表格编程机制,用于在点火时序选项卡中编写点火时序以及在紧停配置选项卡中编写紧停时序;
在下位机中编写控制程序,所述控制程序用于解析上位机发送的点火时序或紧停时序;
上位机将点火时序或紧停时序更新至下位机中,下位机根据点火时序或紧停时序对火箭发动机的试验时序进行控制。
2.根据权利要求1所述的火箭发动机试验时序控制方法,其特征在于,还包括以下步骤:
在上位机中搭建OPC服务器;
将上位机配置为OPC服务器的客户端;
上位机通过OPC服务器与下位机进行通信。
3.根据权利要求1或2所述的火箭发动机试验时序控制方法,其特征在于,所述在上位机中设计图形化编程界面包括以下步骤:
创建映射阀门名称选项卡,并在所述映射阀门名称选项卡中创建阀门映射表;
创建点火时序选项卡,并在所述点火时序选项卡中创建点火时序表;
创建紧停配置选项卡,并在所述紧停配置选项卡中创建紧停时序表;
在点火时序选项卡和紧停配置选项卡中选择插入系统下拉列表,所述系统下拉列表中包括预设的阀门名称。
4.根据权利要求3所述的火箭发动机试验时序控制方法,其特征在于,所述在上位机中设计图形化编程界面还包括以下步骤:
根据需要添加按钮、文本显示框和修饰控件;
创建事件响应列表;所述事件列表包括鼠标按下、键按下和值改变;
在需要键入数字的点火时序表或紧停时序表中,利用键按下事件对键盘输入进行ASSII码值过滤。
5.根据权利要求1或2所述的火箭发动机试验时序控制方法,其特征在于,所述在上位机中编写数据处理程序包括以下步骤:
利用索引数组提取阀门映射表中阀门名称和阀门通道列的数据,并将阀门名称列的有效数据按顺序复制至阀门选择下拉列表,通过移位寄存器的方式将阀门通道列的有效数据按顺序复制至新建的空白数组中;
当阀门选择下拉列表的值事件发生时,则按照阀门映射表中阀门通道与阀门名称的对应关系,利用新建的空白数组中保存的阀门通道列的有效数据键入对应阀门名称的阀门通道号;
将点火时序表中阀门通道列、动作时间列和执行动作列的字符串数组拼接为一个字符串数组,并转换为数值型数组,生成点火时序输出数组;
将紧停时序表中阀门通道列、动作时间列和执行动作列的字符串数组拼接为一个字符串数组,并转换为数值型数组,生成紧停时序输出数组;
所述点火时序输出数组和紧停时序输出数组用于下载至下位机的数据接收区。
6.根据权利要求1或2所述的火箭发动机试验时序控制方法,其特征在于,所述在下位机中编写控制程序包括以下步骤:
编写阀门选择模块,所述阀门选择模块基于DECO功能块实现;
编写自动点火时序模块,所述自动点火时序模块采用循环中断的方式进行计时,通过比较指令结合阀门选择模块确定执行点火时序表中的哪条指令;
编写紧停时序模块,所述紧停时序模块与自动点火时序模块采用同一个循环中断和计数寄存器;当接收到外部紧停信号时,紧停时序模块终止自动点火时序模块,同时对计数寄存器执行清零,根据紧停时序表中的内容,结合比较指令和阀门选择模块,执行紧停时序表的内容。
7.根据权利要求6所述的火箭发动机试验时序控制方法,其特征在于,所述阀门选择模块基于DECO功能块实现的具体过程为:
定义输入为WORD字类型变量,对应上位机的阀门通道号设置为0-255,定义输出为8个DWORD双字,每个DWORD按大小顺序对应32个数据位;
当输入有效阀门通道号时,比较指令对阀门通道号进行分段比较,每一段长度为32,以定位输入接口的阀门通道号位于哪个DWORD范围,定位后将其它DWORD清零;
双字指令输入DECO功能块,由DECO功能块进行解析,以实现输入任意有效通道号,有且仅有唯一一个PLC通道被选中。
8.根据权利要求7所述的火箭发动机试验时序控制方法,其特征在于,所述自动点火时序模块的具体实现过程为:
采用循环中断的方式进行计时,下位机PLC接收到启动信号后就使能循环中断,循环中断每10ms触发一次,每次触发计数寄存器MD100自动加1;
比较指令对10ms时基与点火时序表中待执行指令的动作时间进行比较,如果计时到点火时序表中待执行指令的动作时间,则利用阀门选择模块选通PLC的相应通道。
9.根据权利要求2所述的火箭发动机试验时序控制方法,其特征在于,所述在上位机中搭建OPC服务器的具体实现过程为:
创建通信通道,其具体过程为:
打开NI软件中的“OPC Server Configuration”,新建channel,在“device driver”中选择“siemens TCP/IP ethernet”,根据提示点击下一步完成通道创建;
创建PLC设备,其具体过程为:
在创建完成的通道下创建PLC设备,选择对应的PLC设备模型,其中,PLC设备ID中的IP地址应与上位机PC处于同一网段;
建立上位机与PLC设备的连接,其具体过程为:
在NI软件的右侧窗口中添加上位机和下位机需要同时访问的PLC数据和变量;
所有变量添加完成后,点击菜单中的“Runtime”下的“connect”,上位机与PLC设备进行通信连接。
10.一种火箭发动机试验时序控制系统,其特征在于,包括上位机和洗下位机,所述上位机被配置为:
设计图形化编程界面;所述图形化编程界面中包括点火时序选项卡和紧停配置选项卡;
编写数据处理程序,所述数据处理程序采用表格编程机制,用于在点火时序选项卡中编写点火时序以及在紧停配置选项卡中编写紧停时序;
所述下位机被配置为:
编写控制程序,所述控制程序用于解析上位机发送的点火时序或紧停时序;
所述上位机将点火时序或紧停时序更新至所述下位机中,所述下位机根据点火时序或紧停时序对火箭发动机的试验时序进行控制。
CN202011257201.1A 2020-11-12 2020-11-12 火箭发动机试验时序控制方法及控制系统 Active CN112555053B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011257201.1A CN112555053B (zh) 2020-11-12 2020-11-12 火箭发动机试验时序控制方法及控制系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011257201.1A CN112555053B (zh) 2020-11-12 2020-11-12 火箭发动机试验时序控制方法及控制系统

Publications (2)

Publication Number Publication Date
CN112555053A true CN112555053A (zh) 2021-03-26
CN112555053B CN112555053B (zh) 2022-02-08

Family

ID=75041871

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011257201.1A Active CN112555053B (zh) 2020-11-12 2020-11-12 火箭发动机试验时序控制方法及控制系统

Country Status (1)

Country Link
CN (1) CN112555053B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113719379A (zh) * 2021-09-17 2021-11-30 江苏深蓝航天有限公司 火箭发动机火炬点火控制端控制方法及电子设备
CN114718766A (zh) * 2022-03-29 2022-07-08 西安航天动力试验技术研究所 一种火箭发动机试验时序自动比对装置及比对方法

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1047162A (ja) * 1996-08-02 1998-02-17 Ishikawajima Harima Heavy Ind Co Ltd エンジン超高真空着火試験方法及び装置
CN101216371A (zh) * 2007-12-30 2008-07-09 重庆大学 发动机控制模块环境耐久性测试通用平台及测试方法
EP2581594A2 (de) * 2011-10-13 2013-04-17 Bayern-Chemie Gesellschaft für flugchemische Antriebe mbH System zur Lebensdauerüberwachung von Raketen
CN103869791A (zh) * 2014-03-27 2014-06-18 西安航天动力试验技术研究所 一种发动机试验集散式控制系统及方法
US20150323448A1 (en) * 2014-05-06 2015-11-12 Raytheon Company Classification and identification of solid propellant rocket motors
US20160313203A1 (en) * 2015-04-21 2016-10-27 Siemens Energy, Inc. Dynamic pressure method of detecting flame on/off in gas turbine combusion cans for engine protection
CN106837579A (zh) * 2015-12-03 2017-06-13 通用汽车环球科技运作有限责任公司 用于控制发动机以从发动机的燃料喷射器中去除碳烟沉积物的系统和方法
US20180118634A1 (en) * 2016-09-09 2018-05-03 Terves Inc. High Density Hybrid Rocket Motor
RU2674112C1 (ru) * 2017-12-25 2018-12-04 Акционерное общество "Корпорация "Московский институт теплотехники" (АО "Корпорация "МИТ") Способ экспериментального определения параметров запуска двигателя при стендовых испытаниях
CN109681347A (zh) * 2018-12-13 2019-04-26 西安航天动力研究所 一种液体火箭发动机推力调节伺服系统故障保护方法
CN109854414A (zh) * 2018-12-11 2019-06-07 西安航天动力测控技术研究所 一种安全点火机构单元测试仪
CN110375581A (zh) * 2019-06-13 2019-10-25 蓝箭航天空间科技股份有限公司 火箭发射方法
CN110529292A (zh) * 2019-08-22 2019-12-03 重庆零壹空间科技集团有限公司 火箭发动机地面点火试验系统、方法、终端设备及介质
CN111075607A (zh) * 2019-12-13 2020-04-28 上海空间推进研究所 空间推进剂自主补加流程的测试系统和方法
CN111610744A (zh) * 2020-04-23 2020-09-01 广州明珞汽车装备有限公司 基于工艺时序的逻辑控制程序生成方法、系统和存储介质

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1047162A (ja) * 1996-08-02 1998-02-17 Ishikawajima Harima Heavy Ind Co Ltd エンジン超高真空着火試験方法及び装置
CN101216371A (zh) * 2007-12-30 2008-07-09 重庆大学 发动机控制模块环境耐久性测试通用平台及测试方法
EP2581594A2 (de) * 2011-10-13 2013-04-17 Bayern-Chemie Gesellschaft für flugchemische Antriebe mbH System zur Lebensdauerüberwachung von Raketen
CN103869791A (zh) * 2014-03-27 2014-06-18 西安航天动力试验技术研究所 一种发动机试验集散式控制系统及方法
US20150323448A1 (en) * 2014-05-06 2015-11-12 Raytheon Company Classification and identification of solid propellant rocket motors
US20160313203A1 (en) * 2015-04-21 2016-10-27 Siemens Energy, Inc. Dynamic pressure method of detecting flame on/off in gas turbine combusion cans for engine protection
CN106837579A (zh) * 2015-12-03 2017-06-13 通用汽车环球科技运作有限责任公司 用于控制发动机以从发动机的燃料喷射器中去除碳烟沉积物的系统和方法
US20180118634A1 (en) * 2016-09-09 2018-05-03 Terves Inc. High Density Hybrid Rocket Motor
RU2674112C1 (ru) * 2017-12-25 2018-12-04 Акционерное общество "Корпорация "Московский институт теплотехники" (АО "Корпорация "МИТ") Способ экспериментального определения параметров запуска двигателя при стендовых испытаниях
CN109854414A (zh) * 2018-12-11 2019-06-07 西安航天动力测控技术研究所 一种安全点火机构单元测试仪
CN109681347A (zh) * 2018-12-13 2019-04-26 西安航天动力研究所 一种液体火箭发动机推力调节伺服系统故障保护方法
CN110375581A (zh) * 2019-06-13 2019-10-25 蓝箭航天空间科技股份有限公司 火箭发射方法
CN110529292A (zh) * 2019-08-22 2019-12-03 重庆零壹空间科技集团有限公司 火箭发动机地面点火试验系统、方法、终端设备及介质
CN111075607A (zh) * 2019-12-13 2020-04-28 上海空间推进研究所 空间推进剂自主补加流程的测试系统和方法
CN111610744A (zh) * 2020-04-23 2020-09-01 广州明珞汽车装备有限公司 基于工艺时序的逻辑控制程序生成方法、系统和存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
夏伟等: "氢氧发动机地面摇摆试验技术研究", 《火箭推进》 *
桑伟森等: "航空发动机三冗余数字控制器软件设计", 《航空发动机》 *
郭宇欣: "基于LabVIEW 的固体火箭发动机点火控制装置设计", 《航空兵器》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113719379A (zh) * 2021-09-17 2021-11-30 江苏深蓝航天有限公司 火箭发动机火炬点火控制端控制方法及电子设备
CN113719379B (zh) * 2021-09-17 2023-02-17 江苏深蓝航天有限公司 火箭发动机火炬点火控制端控制方法及电子设备
CN114718766A (zh) * 2022-03-29 2022-07-08 西安航天动力试验技术研究所 一种火箭发动机试验时序自动比对装置及比对方法
CN114718766B (zh) * 2022-03-29 2023-12-22 西安航天动力试验技术研究所 一种火箭发动机试验时序自动比对装置及比对方法

Also Published As

Publication number Publication date
CN112555053B (zh) 2022-02-08

Similar Documents

Publication Publication Date Title
US6966039B1 (en) Method for facilitating microcontroller programming
US7086014B1 (en) Automatic generation of application program interfaces, source code, interrupts, and datasheets for microcontroller programming
CN112555053B (zh) 火箭发动机试验时序控制方法及控制系统
US7954082B2 (en) Automatically analyzing and modifying a graphical program
US5142469A (en) Method for converting a programmable logic controller hardware configuration and corresponding control program for use on a first programmable logic controller to use on a second programmable logic controller
US7913170B2 (en) System and method for performing type checking for hardware device nodes in a graphical program
US5297250A (en) Method of generating interfaces for use applications that are displayable on the screen of a data processing system, and apparatus for performing the method
US6880130B2 (en) Specifying timing and triggering functionality in a graphical program using graphical program nodes
US8935623B1 (en) Automatic API generation to functional PSoC blocks
US8429605B2 (en) Finite state machine architecture for software development
Moore FORTH: a new way to program a mini computer
CN102541521B (zh) 基于结构化查询语言的操作指令自动生成装置及方法
US8037450B2 (en) System and methods for tracing code generation in template engines
US10552122B2 (en) Systems and methods for customizable regular expression generation
US7213207B2 (en) System and method for accessing registers of a hardware device in a graphical program
US20060015856A1 (en) Modification method for modifying a source code
US20140222181A1 (en) Automatically updating graphical symbols in a control loop strategy diagram
JP2002502516A (ja) 変換後命令を使用する選択的エミュレーションインタープリテーション
US6874148B1 (en) System and method for exporting a graphical program to a shared library
US20040177345A1 (en) Method for generating computer software for embedded systems
CN105260223A (zh) 一种scpi命令定义、解析、执行和测试的方法
US20080189311A1 (en) Visual controls for stored procedure and object relational class development
US20080216007A1 (en) Apparatus and method for monitoring and controlling a device under test
EP3767411A1 (en) Control system, development assistance device, and development assistance program
JP5492573B2 (ja) トレース機能を備える接続機器シミュレータ装置、方法、及びプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant