CN102270127A - 分析仪器流程编程和控制的方法 - Google Patents

分析仪器流程编程和控制的方法 Download PDF

Info

Publication number
CN102270127A
CN102270127A CN2011101410955A CN201110141095A CN102270127A CN 102270127 A CN102270127 A CN 102270127A CN 2011101410955 A CN2011101410955 A CN 2011101410955A CN 201110141095 A CN201110141095 A CN 201110141095A CN 102270127 A CN102270127 A CN 102270127A
Authority
CN
China
Prior art keywords
sub
attribute
flow
instruction
parameter
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
CN2011101410955A
Other languages
English (en)
Other versions
CN102270127B (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.)
Hebei Hua Tian Tiancheng Environmental Protection Technology Co., Ltd.
Original Assignee
GUILIN OUBO INSTRUMENT 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 GUILIN OUBO INSTRUMENT TECHNOLOGY Co Ltd filed Critical GUILIN OUBO INSTRUMENT TECHNOLOGY Co Ltd
Priority to CN201110141095.5A priority Critical patent/CN102270127B/zh
Publication of CN102270127A publication Critical patent/CN102270127A/zh
Application granted granted Critical
Publication of CN102270127B publication Critical patent/CN102270127B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Automatic Analysis And Handling Materials Therefor (AREA)

Abstract

一种对分析仪器的流程进行编程和控制的方法,该方法将仪器按功能抽象划分成一个主流程控制单元和多个子功能单元,每一个任务流程均由各子功能单元的某些子流程按顺序排列而成,同时遵循流程条件跳转规则,仪器所有的任务流程和子流程的信息被记录在流程配置文件中并可被编辑。本发明扩展了仪器的功能,增强了仪器的灵活性和可扩展性,为仪器生产商快捷、低成本地为用户提供流程定制服务提供了技术基础。

Description

分析仪器流程编程和控制的方法
技术领域
本发明涉及仪器的流程控制方法,特别涉及一种对分析仪器的流程进行编程和控制的方法。
背景技术
分析仪器的工作流程一般可分为采样、预处理、进样计量、混合、消解反应、测定、消洗、数据处理、显示和通讯这十大功能(或者称为子流程)。现有的分析仪器均采用一个或多个控制器加若干执行器和传感器的系统构架来实施对上述各功能的控制,其分析流程都固化在控制软件中,或者只提供少量的几个参数入口以允许设计人员或用户对流程进行裁剪或更改运行参数。
上述已知的设计具有下列不足:
由于分析流程都固化在控制软件中,仪器出厂后,系统只能提供少量的几个参数入口以允许用户对流程进行选择、裁剪或更改运行参数,当用户需要根据现场情况对分析流程的顺序进行前后调整、更改逻辑跳转条件、甚至重新设计时,往往需要设计人员将控制软件重新进行代码更改并编译,无法实现对流程的灵活编程。
发明内容
为了解决现有技术缺乏灵活编程能力的不足,本发明提供了一种实现分析仪器的检测流程编程和控制的方法。
实现本发明的技术方案是:一种用于分析仪器实现流程编程和控制方法,其特征在于:将仪器按功能抽象划分成一个主流程控制单元和多个在控制技术或运算处理上可独立触发执行的子功能单元,所述子功能单元分别具有一个预先设定的子流程集,所述每个子流程集中至少有一个子流程可以被参数化。
仪器的每一个任务流程均由所述各子功能单元的某些子流程按顺序排列而成,同时遵循流程条件跳转规则,仪器所有的任务流程和子流程的信息被记录在流程配置文件中并可被编辑。
在仪器的初始化阶段,主流程控制单元将流程配置文件中的流程信息读出并解析后存入内存,当需要运行某个任务流程时,再将该任务流程的子流程序列调出运行,用户可通过编辑流程配置文件来实现对仪器流程的编程和修改。
当某个任务流程需要被运行时,主流程控制单元将遵循流程控制算法,按该任务流程中预先编制好的子流程序列依次向各子功能单元发出子流程触发指令。
所述的子流程触发指令分属下列五类操作指令:发送指令、接收指令、运算指令、界面交互指令和错误处理指令。子功能单元收到指令或处理完毕后将处理结果或状态存入指定的寄存器中或直接发送给主流程控制单元,主流程控制单元将根据各子流程所属的操作指令的类别和返回信息按流程控制算法执行相应的控制处理。
所述子流程的五类操作指令均包含各自的操作属性参数,此外,各操作指令还包含下列五种流程控制属性中的一种或多种:显示属性、延时属性、赋值属性、比较属性和跳转属性。
所述流程配置文件记录了各子流程的下列信息:子流程索引、该子流程的操作指令及操作属性参数、显示属性及显示属性参数、延时属性及延时属性参数、赋值属性及赋值属性参数、比较属性及比较属性参数、跳转属性及跳转属性参数;所述流程配置文件还记录了各任务流程的下列信息:任务流程索引、该任务流程的名称、该任务流程的子流程索引序列。
所述发送指令和接收指令的操作属性包含下列两个参数:执行该指令的子功能单元在仪器系统总线上的地址、该指令所激活的子流程能被子功能单元识别的索引;另一种情况是:所述发送指令和接收指令的操作属性包含下列两个参数:执行该指令的子功能单元在仪器系统软件内的寻址地址、该指令所激活的子流程能被子功能单元识别的索引。
所述发送指令的操作属性的参数包含按约定规则排列的能被子功能单元识别的子流程运行数据。
所述发送指令的操作属性的参数包含子流程结束前子功能单元应当向主流程控制单元回报状态或结果的应答次数。
所述发送指令的操作属性的参数包含下列信息:子流程执行完毕的预计耗时,或者与所述预计耗时成比例关系的时间值。
所述计算指令的操作属性的参数包含该计算指令所需运算的计算公式的表达式。
所述界面交互指令的操作属性包含下列三个参数:需要显示给用户的提示内容、是否允许用户输入反馈的提示模式参数、以及等待用户回应的时间。
所述错误处理指令的操作属性包含下列参数:该错误的索引。
所述五类操作指令的显示属性定义了主流程控制单元在执行操作指令之前和之后所做的显示操作,显示属性包含下列参数:前显示模式、前显示内容、后显示模式、后显示内容。其中,前显示模式参数可输入两种选项:不显示任何信息、显示前显示内容参数中定义的信息;后显示模式参数可输入三种选项:不显示任何信息、显示后显示内容参数中定义的信息、显示子功能模块执行完该操作指令后的返回值。
所述前显示内容是数种针对该操作指令的不同版本前显示内容的集合,所述后显示内容是数种针对该操作指令的不同版本后显示内容的集合,主流程控制单元可根据其他外部参数确定在仪器子流程运行之前和之后实际显示第几种版本的内容。
所述五类操作指令的延时属性定义了主流程控制单元在执行操作指令之前和之后需要延时的时间,延时属性包含下列参数:前延时模式、前延时时间、后延时模式、后延时时间。其中,前延时时间和后延时时间可输入一固定的时间数值或者一个包含延时时间数值的变量地址。前延时模式可输入两种选项:按前延时时间参数定义的固定时间数值延时、按前延时时间参数定义的变量值延时;后延时模式可输入两种选项:按后延时时间参数定义的固定时间数值延时、按后延时时间参数定义的变量值延时。
所述五类操作指令的赋值属性定义了主流程控制单元在执行操作指令之后需要执行的赋值操作,赋值属性包含下列参数:赋值模式、被赋值变量的地址。赋值模式有两种选项:不赋值、或者赋值。如赋值模式参数选择不赋值,主流程控制单元将不执行赋值操作;如赋值模式参数选择赋值,主流程控制单元将该子流程的返回值赋给被赋值变量。
所述五类操作指令的比较属性定义了主流程控制单元在执行操作指令的赋值操作之后需要执行的比较操作,比较的结果将作为流程跳转操作的依据。其中,所述比较属性包含下列参数:比较模式、上限值和下限值。所述比较模式有五种选项:不比较、子流程返回值≤下限值、下限值≤子流程返回值≤上限值、上限值≤子流程返回值、子流程返回值≤下限值或者上限值≤子流程返回值。
所述五类操作指令的跳转属性定义了主流程控制单元在执行操作指令的比较操作之后根据比较结果将执行的流程跳转操作,所述跳转属性包含下列参数:需要跳转到的子流程在流程配置文件中定义的子流程索引号
所述流程控制算法按下列步骤执行:
1)定义子流程属性结构体,该结构体用于存储子流程操作属性参数和流程控制属性参数;
2)当某个任务流程需要被执行时,由主流程控制单元读入该任务流程的子流程序列信息,并根据子流程步骤数生成一个子流程属性结构体数组Step[i],然后依次将子流程序列中各子流程的操作属性参数和流程控制属性参数写入Step[i]中;
3)i=0,从子流程序列的第1步开始执行;
4)开始执行第i步子流程,按Step[i]中存储的该子流程延时属性参数执行前延时操作;
5)按Step[i]中存储的该子流程显示属性参数执行前显示操作;
6)按Step[i]中存储的该子流程操作属性向子功能单元发送操作指令,与子功能单元进行通讯并实施控制,最后获得子功能单元执行完该子流程后返回的返回值,如果执行该子流程时出现错误,则返回故障错误码;
7)判断返回值是否是故障错误码,如果是故障错误码,则进行相应的错误处理流程并跳转到第12步结束;如果不是故障错误码,则按Step[i]中存储的该子流程赋值属性参数将子流程返回值赋给指定变量,流程继续往下执行;
8)按Step[i]中存储的该子流程显示属性参数执行后显示操作;
9)按Step[i]中存储的该子流程延时属性参数执行后延时操作;
10)判断是否满足Step[i]中存储的比较和跳转属性参数定义的流程跳转条件,如果满足,则执行子流程跳转操作,此时i值将被重新赋值为需跳转到的子流程在子流程序列中的索引号;如果不满足跳转条件,则i=i+1,继续执行下一步操作;
11)判断Step[i]是否是任务流程最后的结束子流程,如果不是,则跳转到第4步继续执行下一步子流程;如果已经到达最后的结束子流程,则执行第12步;
12)任务流程结束。
本发明与现有技术相比,具有以下有益效果:
1.本发明的应用使得仪器在出厂后,用户可通过更改仪器的流程配置文件米更改仪器的分析流程,不需要软件人员重新对系统控制软件进行代码变更和编译。允许更改的操作包括:调整分析流程的先后顺序、增加或删除子流程步骤、更改逻辑跳转条件、更改各子流程的前后延时时间和显示内容、重新设计分析流程等。本发明扩展了仪器的功能,增强了仪器的灵活性和可扩展性,为仪器生产商快捷、低成本地为用户提供流程定制服务提供了技术基础。
2.基于本发明的方法,设计人员在仪器的研发阶段可对仪器流程进行高级编程,大大缩短开发测试周期,提高研发效率。
具体实施方式
一种水质分析仪器,用于检测水样中重金属离子六价铬的浓度,其基本的分析原理是比色法,检测方法是标准曲线法。具体的检测过程分为曲线标定和待测水样测量两步:首先测得一空白标液的显色前后吸光度的差为ΔA0,然后再测得含有一定六价铬离子浓度C1的标液在显色前后吸光度的差为ΔA1,利用空白标液的浓度、C1、ΔA0和ΔA1可做出一标准曲线,这一工作通常被称为曲线标定;基于比色分析的郎伯-比尔定律,如果待测溶液在显色前后吸光度差值测得为ΔA,则待测溶液的六价铬离子浓度C为:
C=C1*ΔA/(ΔA1-ΔA0)
通过测量待测溶液显色前后的吸光度差值ΔA,则计算得到待测溶液的六价铬离子浓度C。
在仪器的曲线标定工作已经完成后,通常最简单的测量任务流程如下:
1.水样测量流程开始
2.仪器进50毫升水样入比色皿;
3.测量该水样未加入显色剂前的吸光度A0
4.仪器进1毫升显色剂二苯碳酰二肼溶液;
5.等待显色反应3分钟,然后测量显色后的吸光度A;
6.计算得到待测溶液显色前后的吸光度差值为ΔA=A-A0
7.计算得到待测溶液的六价铬离子浓度为C=C1*ΔA/(ΔA1-ΔA0);
8.仪器用50毫升蒸馏水清洗比色皿;
9.水样测量流程结束。
为实现对上述流程的编程和控制,首先在主流程控制单元的软件中定义一个公共变量数组V[i]、一个任务流程结构体数组Task[j]和一个子流程属性结构体数组Step[k]。
在仪器的流程配置文件中,与上述测量任务相关的语句如下。其中约定:V[1]为任务流程运行标志符;V[2]为空白标液显示前后的吸光度差值;V[3]为含有一定六价铬离子浓度C1的标液在显示前后的吸光度差值;V[4]为待测水样在显色前后吸光度的差值;V[5]为待测水样在显色前吸光度的值;V[6]为待测水样在显色后吸光度的值;V[7]为标液六价铬离子浓度值C1;V[8]计算得到的待测水样的六价铬含量浓度值。
本实例中代码来源于实际产品中的类真实代码,其中“【】”内的内容为注释:
**【流程配置文件版本1.0】*********************************************
[Step]【子流程信息行起始标示段】
1=CALCULATE(V1=1);DELAY(0,0,0,0);DISPLAY(1,1#流程开始2#流程开始,0,1#2#);VALUE(1,V1);COMPARE(0,0.00,0.00);JUMP(0,0,0);
【子流程索引号=1;
操作指令:计算指令-流程开始,将任务流程运行标志位置“1”;
延时属性:无前后延时;
显示属性:前显示分2级显示,无后显示;
赋值属性:将计算值赋给变量V[1];
比较属性:不比较;
跳转属性:不跳转】
2=CALCULATE(V1=0);DELAY(0,0,0,0);DISPLAY(1,1#流程结束2#流程结束,0,1#2#);VALUE(1,V1);COMPARE(0,0.00,0.00);JUMP(0,0,0);
【子流程索引号=2;
操作指令:计算指令-流程结束,将任务流程运行标志位置“0”;
延时属性:无前后延时;
显示属性:前显示分2级显示,无后显示;
赋值属性:将计算值赋给变量V[1];
比较属性:不比较;
跳转属性:不跳转】
3=SEND(0030,3001,01000000,2,20);DELAY(1,30,0,0);DISPLAY(1,1#测最显色前吸光度2#显色前吸光度=,2,1#2#0);VALUE(1,V5);COMPARE(0,0.00,0.00);JUMP(0,0,0);
【子流程索引号=3;
操作指令:发送指令-测定单元测量显色前吸光度;
操作属性:测定子功能单元地址为0030,测量吸光度的子流程在子功能单元中的索引为3001,子功能单元收到指令后有2次应答,该子流程的运行时间预计为20秒,“01000000”是子流程运行数据,表示测量第一通道的吸光度值;
延时属性:前延时30秒,无后延时;
显示属性:前显示分2级显示,后显示第一级不显示,第二级显示返回的吸光度值;
赋值属性:将计算值赋给变量V[5];
比较属性:不比较;
跳转属性:不跳转】
4=SEND(0030,3001,01000000,2,20);DELAY(1,180,0,0);DISPLAY(1,1#测量比色后吸光度2#比色后吸光度=,2,1#2#0);VALUE(1,V6);COMPARE(0,0.00,0.00);JUMP(0,0,0);
【子流程索引号=4;
操作指令:发送指令-测定单元测量显色后吸光度;
操作属性:测定子功能单元地址为0030,测量吸光度的子流程在子功能单元中的索引为3001,子功能单元收到指令后有2次应答,该子流程的运行时间预计为20秒,“01000000”是子流程运行数据,表示测量第一通道的吸光度值;
延时属性:前延时180秒,无后延时;
显示属性:前显示分2级显示,后显示第一级不显示,第二级显示返回的吸光度值;
赋值属性:将计算值赋给变量V[6];
比较属性:不比较;
跳转属性:不跳转】
5=SEND(0010,1001,05015090,2,120);DELAY(0,0,0,0);DISPLAY(1,1#进水样2#进50毫升水样,1,1#2#进液完毕);VALUE(0,0);COMPARE(0,0.00,0.00);JUMP(0,0,0);
【子流程索引号=5;
操作指令:发送指令-进液计量单元向比色皿中进液50毫升待测水样;
操作属性:进液子功能单元地址为0010,50毫升精确进液计量子流程在子功能单元中的索引为1001,子功能单元收到指令后有2次应答,该子流程的运行时间预计为120秒,“05015090”是子流程运行数据,表示从第5口进液入第1口,进液量为50毫升,进液速度为90转/分钟;
延时属性:无前后延时;
显示属性:前显示分2级显示,后显示第一级不显示,第二级显示“进液完毕”;
赋值属性:不赋值;
比较属性:不比较;
跳转属性:不跳转】
6=SEND(0010,1002,06010105,2,100);DELAY(0,0,0,0);DISPLAY(1,1#进显色剂2#进1毫升显色剂,1,1#2#进液完毕);VALUE(0,0);COMPARE(0,0.00,0.00);JUMP(0,0,0);
【子流程索引号=6;
操作指令:发送指令-进液计量单元向比色皿中进液1毫升显色剂;
操作属性:进液子功能单元地址为0010,1毫升进液计量子流程在子功能单元中的索引为1002,子功能单元收到指令后有2次应答,该子流程的运行时间预计为100秒,“06010105”是子流程运行数据,表示从第6口进液入第1口,进液量为1毫升,进液速度为5转/分钟;
延时属性:无前后延时;
显示属性:前显示分2级显示,后显示第一级不显示,第二级显示“进液完毕”;
赋值属性:不赋值;
比较属性:不比较;
跳转属性:不跳转】
7=SEND(0010,1003,04015090,2,150);DELAY(0,0,0,0);DISPLAY(1,1#清洗比色皿2#进50毫升蒸馏水清洗比色皿,1,1#2#清洗完毕);VALUE(0,0);COMPARE(0,0.00,0.00);JUMP(0,0,0);
【子流程索引号=7;
操作指令:发送指令-进液计量单元向比色皿中进液50毫升蒸馏水清洗比色皿并排空;
操作属性:进液子功能单元地址为0010,10毫升快速进液计量子流程在子功能单元中的索引为1003,子功能单元收到指令后有2次应答,该子流程的运行时间预计为150秒,“04015090”是子流程运行数据,表示从第4口进液入第1口,进液量为50毫升,然后再排空,进液和排液速度均为90转/分钟;
延时属性:无前后延时;
显示属性:前显示分2级显示,后显示第一级不显示,第二级显示“清洗完毕”;
赋值属性:不赋值;
比较属性:不比较;
跳转属性:不跳转】
8=CALCULATE(V4=V6-V5);DELAY(0,0,0,0);DISPLAY(0,1#2#,0,1#2#);VALUE(1,V4);COMPARE(0,0.00,0.00);JUMP(0,0,0);
【子流程索引号=8;
操作指令:计算指令-计算得到待测溶液显色前后的吸光度差值为ΔA=A0-A;
延时属性:无前后延时;
显示属性:无前后显示;
赋值属性:将计算值赋给变量V[4];
比较属性:不比较;
跳转属性:不跳转】
9=CALCULATE(V8=V7*V4/(V3-V2));DELAY(0,0,0,0);DISPLAY(1,1#待测水样六价铬离子浓度=2#待测水样六价铬离子浓度=,2,1#02#0);VALUE(1,V8);COMPARE(0,0.00,0.00);JUMP(0,0,0);
【子流程索引号=8;
操作指令:计算指令-计算得到待测溶液六价铬离子浓度C=C1*ΔA/(ΔA1-ΔA0);
延时属性:无前后延时;
显示属性:无前后显示;
赋值属性:将计算值赋给变量V[8];
比较属性:不比较;
跳转属性:不跳转】
[Task]【任务流程信息行起始标示段】
1=测量水样浓度,(1,5,3,6,4,7,8,9,2);
【任务流程索引号=1;
任务流程的名称=测量水样浓度;
任务流程的子流程索引序列=(1,5,3,6,4,7,8,9,2)】
2=其他任务流程信息......
......
**【流程配置文件版本1.0结束】*********************************************
以上为仪器最简单的测量任务流程的配置文件信息。如果用户需要在显色前加入1毫升的屏蔽剂,则只需在流程配置文件1.0的基础上添加一行子流程并更改测量任务流程序列即可,改动如下:
**【流程配置文件版本2.0】*********************************************
[Step]【子流程信息行起始标示段】
......
10=SEND(0010,1002,07010105,2,100);DELAY(0,0,0,0);DISPLAY(1,1#进屏蔽剂2#进1毫升屏蔽剂,1,1#2#进液完毕);VALUE(0,0);COMPARE(0,0.00,0.00);JUMP(0,0,0);
【子流程索引号=10;
操作指令:发送指令-进液计量单元向比色皿中进液1毫升屏蔽剂;
操作属性:进液子功能单元地址为0010,1毫升进液计量子流程在子功能单元中的索引为1002,子功能单元收到指令后有2次应答,该子流程的运行时间预计为100秒,“07010105”是子流程运行数据,表示从第7口进液入第1口,进液量为1毫升,进液速度为5转/分钟;
延时属性:无前后延时;
显示属性:前显示分2级显示,后显示第一级不显示,第二级显示“进液完毕”;
赋值属性:不赋值;
比较属性:不比较;
跳转属性:不跳转】
[Task]【任务流程信息行起始标示段】
1=测量水样浓度,(1,5,10,3,6,4,7,8,9,2);
【在子流程5,3间添加了新的子流程10】
......
**【流程配置文件版本2.0结束】*********************************************
如果用户需要在显色时实时观察吸光度的变化曲线,则可在流程配置文件版本2.0的基础上添加一行子流程,并在流程配置文件中做如下更改:
**【流程配置文件版本3.0】*********************************************
[Step]【子流程信息行起始标示段】
......
11=RECEIVE(0030,3002,180);DELAY(0,0,0,0);DISPLAY(1,1#实时监测吸光度2#实时监测吸光度180秒,0,1#2#);VALUE(0,0);COMPARE(0,0.00,0.00);JUMP(0,0,0);
【子流程索引号=11;
操作指令:接收指令-要求测定子功能单元在180秒内不间断地返回吸光度的实时监测值;
操作属性:测定子功能单元地址为0030,实时回报吸光度子流程在子功能单元中的索引为3002,子功能单元收到指令后在180秒内不间断地返回吸光度的实时监测值;
延时属性:无前后延时;
显示属性:前显示分2级显示,后显示不显示;
赋值属性:不赋值;
比较属性:不比较;
跳转属性:不跳转】
[Task]【任务流程信息行起始标示段】
1=测量水样浓度,(1,5,10,3,6,11,4,7,8,9,2);
【在子流程6,4间添加了新的子流程11】
......
**【流程配置文件版本3.0结束】*********************************************
如果用户需要在流程中加入错误判断处理,例如:当显色前电压不正常时,仪器将询问用户是否需要停止流程并报错,则可在流程配置文件版本3.0的基础上做如下更改:
**【流程配置文件版本4.0】*********************************************
[Step]【子流程信息行起始标示段】
......
3=SEND(0030,3001,01000000,2,20);DELAY(0,30,0,0);DISPLAY(1,1#测量显色前吸光度2#显色前吸光度=,2,1#2#0);VALUE(1,V5);COMPARE(4,3.00,5.00);JUMP(1,2,9);
【子流程索引号=3;
操作指令:发送指令-测定单元测量显色前吸光度;
比较属性:执行比较操作,参数“4”表示主流程控制单元将判断该指令的返回值V[5]是否小于下限值3.00或者大于上限值5.00,如果满是判断条件,则执行跳转属性中定义的操作;
跳转属性:“1”表示将执行跳转操作,“2”表示向后跳转,“12”表示跳转到索引为“12”的子流程】
......
12=PROMPT(“显示前吸光度异常,是否继续?选择[是]继续,选择[否]则报错并停止流程”,1,10);DELAY(0,0,0,0);DISPLAY(0,1#2#,0,1#2#);VALUE(0,0);COMPARE(2,0.00,2.00);JUMP(1,1,9);
【子流程索引号=12;
操作指令:界面交互指令-当显色前电压不正常时,仪器将弹出一提示框,询问用户是否需要继续,或者停止流程并报错;
操作属性:引号内文字为提示框内的提示信息,“1”表示提示模式为允许用户选择“是”或“否”,选择“是”则返回1,选择“否”则返回-1,“10”表示仪器等待10秒,如用户不输入,则10秒后提示框自动关闭并返回“1”;
延时属性:无前后延时;
显示属性:无前后显示;
赋值属性:不赋值;
比较属性:“2,0.00,2.00”表示提示框返回“1”后则满足判断条件(0.00≤1≤2.00),可执行跳转;
跳转属性:“1”表示将执行跳转操作,“1”表示向前跳转,“9”表示跳转到索引为“9”的子流程】
13=ERROR(301);DELAY(0,0,0,0);DISPLAY(1,1#显色前吸光度错误2#显色前吸光度错误,0,1#2#);VALUE(0,0);COMPARE(5,0.00,0.00);JUMP(1,1,9);
【子流程索引号=13;
操作指令:错误处理指令-显色前吸光度错误,要求进行错误处理;
操作属性:“301”是错误代码;
延时属性:无前后延时;
显示属性:前显示分2级显示,无后显示;
赋值属性:不赋值;
比较属性:“5”表示强行执行跳转;
跳转属性:“1”表示将执行跳转操作,“1”表示向后跳转,“9”表示跳转到索引为“9”的子流程】
[Task]【任务流程信息行起始标示段】
1=测量水样浓度,(1,5,10,3,6,11,4,7,8,9,2,12,13);
【在子流程2后面添加了新的界面交互子流程12和错误处理子流程13】
......
**【流程配置文件版本4.0结束】*********************************************
在仪器的初始化阶段,主流程控制单元将上述流程配置文件中的流程信息读出并解析后存入内存,当需要运行某个任务流程时,再将该任务流程的子流程序列调出运行,如上所示,用户可通过编辑流程配置文件来实现对仪器流程的编程和修改,而不需要对控制软件重新进行代码更改和编译调试;
当某个任务流程需要被运行时,主流程控制单元将遵循流程控制算法,按该任务流程中预先编制好的子流程序列依次向各子功能单元发出子流程触发指令。所述流程控制算法按下列步骤执行:
1)定义子流程属性结构体,该结构体用于存储子流程操作属性参数和流程控制属性参数;
2)当某个任务流程需要被执行时,由主流程控制单元读入该任务流程的子流程序列信息,并根据子流程步骤数生成一个子流程属性结构体数组Step[i],然后依次将子流程序列中各子流程的操作属性参数和流程控制属性参数写入Step[i]中;
3)i=0,从子流程序列的第1步开始执行;
4)开始执行第i步子流程,按Step[i]中存储的该子流程延时属性参数执行前延时操作;
5)按Step[i]中存储的该子流程显示属性参数执行前显示操作;
6)按Step[i]中存储的该子流程操作属性向子功能单元发送操作指令,与子功能单元进行通讯并实施控制,最后获得子功能单元执行完该子流程后返回的返回值,如果执行该子流程时出现错误,则返回故障错误码;
7)判断返回值是否是故障错误码,如果是故障错误码,则进行相应的错误处理流程并跳转到第12步结束;如果不是故障错误码,则按Step[i]中存储的该子流程赋值属性参数将子流程返回值赋给指定变量,流程继续往下执行;
8)按Step[i]中存储的该子流程显示属性参数执行后显示操作;
9)按Step[i]中存储的该子流程延时属性参数执行后延时操作;
10)判断是否满足Step[i]中存储的比较和跳转属性参数定义的流程跳转条件,如果满足,则执行子流程跳转操作,此时i值将被重新赋值为需跳转到的子流程在子流程序列中的索引号;如果不满足跳转条件,则i=i+1,继续执行下一步操作;
11)判断Step[i]是否是任务流程最后的结束子流程,如果不是,则跳转到第4步继续执行下一步子流程;如果已经到达最后的结束子流程,则执行第12步;
12)任务流程结束。
这里公开的实施例是示例性的,其仅是为了对本发明进行解释说明,而并不是对本发明的限制,本领域或技术人员可以预见的改良和扩展(例如:流程配置文件中各操作指令和属性名称的改变、流程配置文件的语法调整、各属性具体参数值所映射的物理意义的定义等)都包含在本发明的保护范围之内。

Claims (19)

1.一种用于分析仪器实现流程编程和控制的方法,其特征在于:将仪器按功能抽象划分成一个主流程控制单元和多个在控制技术或运算处理上可独立触发执行的子功能单元,所述子功能单元分别具有一个预先设定的子流程集,所述每个子流程集中至少有一个子流程可以被参数化;
仪器的每一个任务流程均由所述各子功能单元的某些子流程按顺序排列而成,同时遵循流程条件跳转规则,仪器所有的任务流程和子流程的信息被记录在流程配置文件中并可被编辑;
在仪器的初始化阶段,主流程控制单元将流程配置文件中的流程信息读出解析后存入内存,当需要运行某个任务流程时,再将该任务流程的子流程序列调出运行,用户可通过编辑流程配置文件来实现对仪器流程的编程利修改;
当某个任务流程需要被运行时,主流程控制单元将遵循流程控制算法,按该任务流程中预先编制好的子流程序列依次向各子功能单元发出子流程触发指令,所述的子流程触发指令分属下列五类操作指令:发送指令、接收指令、运算指令、界面交互指令和错误处理指令,子功能单元收到指令或处理完毕后将处理结果或状态存入指定的寄存器中或直接发送给主流程控制单元,主流程控制单元将根据各子流程所属的操作指令的类别和返回信息按流程控制算法执行相应的控制处理。
2.根据权利要求1所述的实现分析仪器流程编程和控制的方法,其特征在于:所述子流程的五类操作指令均包含各自的操作属性参数,此外,各操作指令还包含下列五种流程控制属性中的一种或多种:显示属性、延时属性、赋值属性、比较属性和跳转属性。
3.根据权利要求1所述的实现分析仪器流程编程和控制的方法,其特征在于:所述流程配置文件记录了各子流程的下列信息:子流程索引、该子流程的操作指令及操作属性参数、显示属性及显示属性参数、延时属性及延时属性参数、赋值属性及赋值属性参数、比较属性及比较属性参数、跳转属性及跳转属性参数。
4.根据权利要求1所述的实现分析仪器流程编程和控制的方法,其特征在于:所述流程配置文件记录了各任务流程的下列信息:任务流程索引、该任务流程的名称、该任务流程的子流程索引序列。
5.根据权利要求2所述的实现分析仪器流程编程和控制的方法,其特征在于:所述发送指令和接收指令的操作属性包含下列两个参数:执行该指令的子功能单元在仪器系统总线上的地址、该指令所激活的子流程能被子功能单元识别的索引。
6.根据权利要求2所述的实现分析仪器流程编程和控制的方法,其特征在于:所述发送指令和接收指令的操作属性包含下列两个参数:执行该指令的子功能单元在仪器系统软件内的寻址地址、该指令所激活的子流程能被子功能单元识别的索引。
7.根据权利要求2所述的实现分析仪器流程编程和控制的方法,其特征在于:所述发送指令的操作属性的参数包含按约定规则排列的能被子功能单元识别的子流程运行数据。
8.根据权利要求2所述的实现分析仪器流程编程和控制的方法,其特征在于:所述发送指令的操作属性的参数包含子流程结束前子功能单元应当向主流程控制单元回报状态或结果的应答次数。
9.根据权利要求2所述的实现分析仪器流程编程和控制的方法,其特征在于:所述发送指令的操作属性的参数包含下列信息:子流程执行完毕的预计耗时,或者与所述预计耗时成比例关系的时间值。
10.根据权利要求2所述的实现分析仪器流程编程和控制的方法,其特征在于:所述计算指令的操作属性的参数包含该计算指令所需运算的计算公式的表达式。
11.根据权利要求2所述的实现分析仪器流程编程利控制的方法,其特征在于:所述界面交互指令的操作属性包含下列两个参数:需要显示给用户的提示内容、是否允许用户输入反馈的提示模式参数。
12.根据权利要求2所述的实现分析仪器流程编程和控制的方法,其特征在于:所述错误处理指令的操作属性包含下列参数:该错误的索引。
13.根据权利要求2所述的实现分析仪器流程编程和控制的方法,其特征在于:所述五类操作指令的显示属性定义了主流程控制单元在执行操作指令之前和之后所做的显示操作,显示属性包含下列参数:前显示模式、前显示内容、后显示模式、后显示内容;
其中,前显示模式参数可输入两种选项:不显示任何信息、显示前显示内容参数中定义的信息;
后显示模式参数可输入三种选项:不显示任何信息、显示后显示内容参数中定义的信息、显示子功能模块执行完该操作指令后的返回值。
14.根据权利要求13所述的实现分析仪器流程编程和控制的方法,其特征在于:所述前显示内容是数种针对该操作指令的不同版本前显示内容的集合,所述后显示内容是数种针对该操作指令的不同版本后显示内容的集合,主流程控制单元可根据其他外部参数确定在仪器子流程运行之前和之后实际显示第几种版本的内容。
15.根据权利要求2所述的实现分析仪器流程编程和控制的方法,其特征在于:所述五类操作指令的延时属性定义了主流程控制单元在执行操作指令之前和之后需要延时的时间,延时属性包含下列参数:前延时模式、前延时时间、后延时模式、后延时时间;
其中,前延时时间和后延时时间可输入一固定的时间数值或者一个包含延时时间数值的变量地址。
16.根据权利要求2所述的实现分析仪器流程编程和控制的方法,其特征在于:所述五类操作指令的赋值属性定义了主流程控制单元在执行操作指令之后需要执行的赋值操作,赋值属性包含下列参数:赋值模式、被赋值变量的地址;
赋值模式有两种选项:不赋值、或者赋值;
如赋值模式参数选择不赋值,主流程控制单元将不执行赋值操作;
如赋值模式参数选择赋值,主流程控制单元将该子流程的返回值赋给被赋值变量。
17.根据权利要求2所述的实现分析仪器流程编程利控制的方法,其特征在于:所述五类操作指令的比较属性定义了主流程控制单元在执行操作指令之后需要执行的比较操作,比较的结果将作为流程跳转操作的依据;
其中,所述比较属性包含下列参数:比较模式、上限值利下限值;
所述比较模式有五种选项:不比较、子流程返回值≤下限值、下限值≤子流程返回值≤上限值、上限值≤子流程返回值、子流程返回值≤下限值或者上限值≤子流程返回值。
18.根据权利要求2所述的实现分析仪器流程编程和控制的方法,其特征在于:所述五类操作指令的跳转属性定义了主流程控制单元在执行操作指令的比较操作之后根据比较结果将执行的流程跳转操作,所述跳转属性包含下列参数:需要跳转到的子流程在流程配置文件中定义的子流程索引号。
19.根据权利要求1所述的实现分析仪器流程编程和控制的方法,其特征在于:所述流程控制算法按下列步骤执行:
1)定义子流程属性结构体,该结构体用于存储子流程操作属性参数和流程控制属性参数;
2)当某个任务流程需要被执行时,由主流程控制单元读入该任务流程的子流程序列信息,并根据子流程步骤数生成一个子流程属性结构体数组Step[i],然后依次将子流程序列中各子流程的操作属性参数和流程控制属性参数写入Step[i]中;
3)i=0,从子流程序列的第1步开始执行;
4)开始执行第i步子流程,按Step[i]中存储的该子流程延时属性参数执行前延时操作;
5)按Step[i]中存储的该子流程显示属性参数执行前显示操作;
6)按Step[i]中存储的该子流程操作属性向子功能单元发送操作指令,与子功能单元进行通讯并实施控制,最后获得子功能单元执行完该子流程后返回的返回值,如果执行该子流程时出现错误,则返回故障错误码;
7)判断返回值是否是故障错误码,如果是故障错误码,则进行相应的错误处理流程并跳转到第12步结束;如果不是故障错误码,则按Step[i]中存储的该子流程赋值属性参数将子流程返回值赋给指定变量,流程继续往下执行;
8)按Step[i]中存储的该子流程显示属性参数执行后显示操作;
9)按Step[i]中存储的该子流程延时属性参数执行后延时操作;
10)判断是否满足Step[i]中存储的比较和跳转属性参数定义的流程跳转条件,如果满足,则执行子流程跳转操作,此时i值将被重新赋值为需跳转到的子流程在子流程序列中的索引号;如果不满足跳转条件,则i=i+1,继续执行下一步操作;
11)判断Step[i]是否是任务流程最后的结束子流程,如果不是,则跳转到第4步继续执行下一步子流程;如果已经到达最后的结束子流程,则执行第12步;
12)任务流程结束。
CN201110141095.5A 2011-05-30 2011-05-30 分析仪器流程编程和控制的方法 Active CN102270127B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110141095.5A CN102270127B (zh) 2011-05-30 2011-05-30 分析仪器流程编程和控制的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110141095.5A CN102270127B (zh) 2011-05-30 2011-05-30 分析仪器流程编程和控制的方法

Publications (2)

Publication Number Publication Date
CN102270127A true CN102270127A (zh) 2011-12-07
CN102270127B CN102270127B (zh) 2014-04-16

Family

ID=45052438

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110141095.5A Active CN102270127B (zh) 2011-05-30 2011-05-30 分析仪器流程编程和控制的方法

Country Status (1)

Country Link
CN (1) CN102270127B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102542047A (zh) * 2011-12-28 2012-07-04 奇智软件(北京)有限公司 一种任务逻辑库生成方法和系统、数据处理方法和系统
CN102816686A (zh) * 2012-08-29 2012-12-12 李永利 一种pcr扩增仪及pcr扩增仪的使用方法
CN103226148A (zh) * 2012-01-29 2013-07-31 桂林欧博仪器技术有限公司 一种环境分析仪器
CN105474111A (zh) * 2013-08-22 2016-04-06 恩德斯+豪斯流量技术股份有限公司 防篡改的电子设备
CN109582577A (zh) * 2018-11-30 2019-04-05 成都德辰博睿信息技术有限公司 无线电设备检测方法、装置、计算机设备及存储介质
CN110632878A (zh) * 2019-10-08 2019-12-31 上海宝阶智能科技有限公司 一种异构嵌入式表格化处理及执行动作流程的方法和装置
CN110824968A (zh) * 2018-08-10 2020-02-21 北京北方华创微电子装备有限公司 机台控制系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1153948A (zh) * 1995-09-07 1997-07-09 东芝株式会社 序列控制用编程系统和执行序列控制程序的控制单元
CN1920779A (zh) * 2005-08-25 2007-02-28 中兴通讯股份有限公司 一种基于配置文件的程序流程控制方法
CN1963749A (zh) * 2006-11-24 2007-05-16 重庆大学 构建工业自动化仪器仪表嵌入式软件系统的方法
US20090260017A1 (en) * 2008-04-15 2009-10-15 Canon Kabushiki Kaisha Workflow execution device and workflow execution method
CN101882255A (zh) * 2009-05-07 2010-11-10 中兴通讯股份有限公司 一种基于面向服务体系结构的工作流装置、系统及配置方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1153948A (zh) * 1995-09-07 1997-07-09 东芝株式会社 序列控制用编程系统和执行序列控制程序的控制单元
CN1920779A (zh) * 2005-08-25 2007-02-28 中兴通讯股份有限公司 一种基于配置文件的程序流程控制方法
CN1963749A (zh) * 2006-11-24 2007-05-16 重庆大学 构建工业自动化仪器仪表嵌入式软件系统的方法
US20090260017A1 (en) * 2008-04-15 2009-10-15 Canon Kabushiki Kaisha Workflow execution device and workflow execution method
CN101882255A (zh) * 2009-05-07 2010-11-10 中兴通讯股份有限公司 一种基于面向服务体系结构的工作流装置、系统及配置方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102542047A (zh) * 2011-12-28 2012-07-04 奇智软件(北京)有限公司 一种任务逻辑库生成方法和系统、数据处理方法和系统
CN102542047B (zh) * 2011-12-28 2016-08-03 北京奇虎科技有限公司 一种任务逻辑库生成方法和系统、数据处理方法和系统
CN103226148A (zh) * 2012-01-29 2013-07-31 桂林欧博仪器技术有限公司 一种环境分析仪器
CN103226148B (zh) * 2012-01-29 2015-07-01 桂林欧博仪器技术有限公司 一种环境分析仪器
CN102816686A (zh) * 2012-08-29 2012-12-12 李永利 一种pcr扩增仪及pcr扩增仪的使用方法
CN105474111A (zh) * 2013-08-22 2016-04-06 恩德斯+豪斯流量技术股份有限公司 防篡改的电子设备
CN110824968A (zh) * 2018-08-10 2020-02-21 北京北方华创微电子装备有限公司 机台控制系统及方法
US11776830B2 (en) 2018-08-10 2023-10-03 Beijing Naura Microelectronics Equipment Co., Ltd. Control system and method of machine and host computer
CN109582577A (zh) * 2018-11-30 2019-04-05 成都德辰博睿信息技术有限公司 无线电设备检测方法、装置、计算机设备及存储介质
CN110632878A (zh) * 2019-10-08 2019-12-31 上海宝阶智能科技有限公司 一种异构嵌入式表格化处理及执行动作流程的方法和装置

Also Published As

Publication number Publication date
CN102270127B (zh) 2014-04-16

Similar Documents

Publication Publication Date Title
CN102270127A (zh) 分析仪器流程编程和控制的方法
US10732614B1 (en) Process design and management system
US20190286768A1 (en) Simulating processes
Rieger et al. Guidelines for using activated sludge models
US8830052B2 (en) Alarm display apparatus and alarm display method
JP2016201130A (ja) ダウンロードスクリプトを作成する方法、データを格納する製造品、機械アクセス可能指示を格納する製造品及びダウンロードスクリプトを処理する方法
US9471044B2 (en) Method for debugging of process or manufacturing plant solutions comprising multiple sub-systems
US20080082957A1 (en) Method for improving the control of a project as well as device suitable for this purpose
CN105302719B (zh) 一种变异测试方法及装置
CN102246106B (zh) 自动化系统中plc的输出信号特性
Varisco et al. KPIs for Manufacturing Operations Management: driving the ISO22400 standard towards practical applicability
JP5002356B2 (ja) 分析装置
Reiner Supply chain management research methodology using quantitative models based on empirical data
Van der Blom et al. Sparkle: Toward Accessible Meta-Algorithmics for Improving the State of the Art in Solving Challenging Problems
Quareshy et al. Assaying auxin receptor activity using SPR assays with F-box proteins and Aux/IAA degrons
Bruch et al. On evaluating recommender systems for API usages
Zimmermann et al. TimeNET/sub MS/-an integrated modeling and performance evaluation tool for manufacturing systems
Zaeh et al. DSM-based evaluation of assembly manufacturing ressources
JP2000321281A (ja) 自動分析装置
Beisheim et al. Real‐Time Performance Indicators for Energy and Resource Efficiency in Continuous and Batch Processing
Boppana Application of Single Board Computers and Sensors to Automate Analytical Methods and Miniaturize the Analytical Devices
ALBALAKI The effect of contingency factors and ABC implementation success on organizational performance in Iraqi manufacturing sector
Hopkinson A new approach to the development and maintenance of industrial sequence logic
Blom an der, Hoos, HH, Luo, C., & Rook
Obradovic et al. USING BPMN AND INTOUCH HMI SOFTWARE FOR MODELING OF SAMPLING SYSTEM IN REFINERIES

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: HEBEI HUAHOU TIANCHENG ENVIRONMENTAL PROTECTION SE

Free format text: FORMER OWNER: GUILIN OUBO INSTRUMENT TECHNOLOGY CO., LTD.

Effective date: 20150430

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 541004 GUILIN, GUANGXI ZHUANG AUTONOMOUS REGION TO: 056000 HANDAN, HEBEI PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20150430

Address after: 102, C, building 056000, building 1, small and medium-sized enterprise accelerator zone, 19 harmony street, Handan Development Zone, Hebei, China

Patentee after: Hebei Hua Tian Tiancheng Environmental Protection Technology Co., Ltd.

Address before: 541004 the Guangxi Zhuang Autonomous Region mountain Guilin Qixing District Road No. 29 Building 2 unit 3 Donghui international room 3-1

Patentee before: Guilin Oubo Instrument Technology Co., Ltd.