一种分段计算流量累计程序的方法与流程

文档序号:22142888发布日期:2020-09-08 13:44阅读:717来源:国知局
一种分段计算流量累计程序的方法与流程

本发明涉及一种分段计算流量累计程序的方法,属于自动控制技术领域。



背景技术:

plc控制器已经广泛应用于钢铁、石油、化工、电力、建材、机械制造、汽车、轻纺、交通运输、环保及文化娱乐等各个行业,它具有高可靠性、抗干扰能力强、功能强大、灵活,易学易用、体积小,重量轻,价格便宜的特点。

风、水、电、气等各种介质在各行各业无处不在,介质流量的计量是生产、生活中核算各种成本的重要依据。它的准确性与否直接关系到介质提供方与用户之间的经济效益。plc系统通过流量信号输入、数据转换,可以方便的实现各种介质的瞬时流量转换、流量累计计量的功能,为介质计量的准确性提供技术保证。在实际应用中流量计量累计程序经常会出现流量累计值不累计的现象。这种现象的出现是由于在plc系统中流量累计值是浮点数的数据类型,浮点数的有效位只有7位有效数字,如果当一个瞬时流量很小,它和流量累计值之间的有效位大于7位,它们之间再相加时就会不累加。



技术实现要素:

本发明目的是提供一种分段计算流量累计程序的方法,通过在plc控制器中利用分段计算流量累计程序的方法编制程序,可以解决流量累计值过大导致累计值不累计的现象发生,为介质计量的准确性提供了技术保证,有效地解决了背景技术中存在的上述问题。

本发明的技术方案是:一种分段计算流量累计程序的方法,包含以下步骤:步骤1:流量瞬时值转换,在程序中将现场测量元件通过模拟量输入模板接入的流量测量信号转换成流量瞬时值,对于气体流量需要温度和压力补偿的进行温压补偿计算;

步骤2:调用流量累计功能模块,编制流量累计功能块,并将该功能模块设置为定时中断模块;

步骤3:在流量累计功能块中按照一定的方法计算流量累计值的低字段数值和流量累计值的高字段数值,再根据二者计算出流量累计值的实际值;

步骤4:执行其它的逻辑程序,定时中断流量累计功能块逻辑执行完毕后继续执行其它的逻辑程序。

所述步骤2中,定时中断模块的定时中断周期为1秒,每隔1秒定时调用流量累计功能模块进行流量累计计算1次。

所述步骤3中计算实际流量累计值包含以下步骤:

(1)流量累计程序的标签设置,在流量累计功能块程序中设置四个标签:标签1表示1秒钟的流量增量值;标签2表示流量累计值的低字段数值;标签3表示流量累计值的高字段数值;标签4表示流量累计值的实际值;

(2)计算1秒钟的流量增量值,在流量累计功能块程序中如果流量瞬时值是以小时为单位的,1秒钟的流量增量值,标签1=流量瞬时值÷3600;如果流量瞬时值是以分钟为单位的,1秒钟的流量增量值,标签1=流量瞬时值÷60;

(3)计算流量累计值的低字段数值,标签2=标签1+标签2;

(4)计算流量累计值的高字段数值,在流量累计功能块程序中流量累计值的低字段数值标签2如果大于10000,则流量累计值的高字段数值,标签3=标签3+1,流量累计值的低字段数值,标签2=标签2-10000;

(5)计算流量累计值的实际值,在流量累计功能块程序中流量累计值的实际值,标签4=流量累计值的高字段数值标签3×10000+流量累计值的低字段数值标签2。

(6)流量累计值的清零,在实际应用中,根据工艺的要求,流量累计值的清零触发条件可以是按时间(年、月、日),还可以是按照流量累计值达到一定值,进行清零时要对流量累计值的低字段数值标签2和流量累计值的高字段数值标签3同时清零。

本发明的有益效果是:通过在plc控制器中利用分段计算流量累计程序的方法编制程序,可以解决流量累计值过大导致累计值不累计的现象发生,为介质计量的准确性提供了技术保证。

附图说明

图1是本发明的流程图;

图中:标签0表示流量瞬时值,本例中流量瞬时值是以小时为单位;标签1表示1秒钟的流量增量值;标签2表示流量累计值的低字段数值;标签3表示流量累计值的高字段数值;标签4表示流量累计值的实际值。

具体实施方式

为了使发明实施案例的目的、技术方案和优点更加清楚,下面将结合实施案例中的附图,对本发明实施案例中的技术方案进行清晰的、完整的描述,显然,所表述的实施案例是本发明一小部分实施案例,而不是全部的实施案例,基于本发明中的实施案例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施案例,都属于本发明保护范围。

一种分段计算流量累计程序的方法,包含以下步骤:步骤1:流量瞬时值转换,在程序中将现场测量元件通过模拟量输入模板接入的流量测量信号转换成流量瞬时值,对于气体流量需要温度和压力补偿的进行温压补偿计算;

步骤2:调用流量累计功能模块,编制流量累计功能块,并将该功能模块设置为定时中断模块;

步骤3:在流量累计功能块中按照一定的方法计算流量累计值的低字段数值和流量累计值的高字段数值,再根据二者计算出流量累计值的实际值;

步骤4:执行其它的逻辑程序,定时中断流量累计功能块逻辑执行完毕后继续执行其它的逻辑程序。

所述步骤2中,定时中断模块的定时中断周期为1秒,每隔1秒定时调用流量累计功能模块进行流量累计计算1次。

所述步骤3中计算实际流量累计值包含以下步骤:

(1)流量累计程序的标签设置,在流量累计功能块程序中设置四个标签:标签1表示1秒钟的流量增量值;标签2表示流量累计值的低字段数值;标签3表示流量累计值的高字段数值;标签4表示流量累计值的实际值;

(2)计算1秒钟的流量增量值,在流量累计功能块程序中如果流量瞬时值是以小时为单位的,1秒钟的流量增量值,标签1=流量瞬时值÷3600;如果流量瞬时值是以分钟为单位的,1秒钟的流量增量值,标签1=流量瞬时值÷60;

(3)计算流量累计值的低字段数值,标签2=标签1+标签2;

(4)计算流量累计值的高字段数值,在流量累计功能块程序中流量累计值的低字段数值标签2如果大于10000,则流量累计值的高字段数值,标签3=标签3+1,流量累计值的低字段数值,标签2=标签2-10000;

(5)计算流量累计值的实际值,在流量累计功能块程序中流量累计值的实际值,标签4=流量累计值的高字段数值标签3×10000+流量累计值的低字段数值标签2。

(6)流量累计值的清零,在实际应用中,根据工艺的要求,流量累计值的清零触发条件可以是按时间(年、月、日),还可以是按照流量累计值达到一定值,进行清零时要对流量累计值的低字段数值标签2和流量累计值的高字段数值标签3同时清零。

在实际应用中,如图1,分段计算流量累计程序的流程如下:

1:瞬时流量值转换。将现场测量元件通过模拟量输入模板接入plc系统的流量测量信号转换成流量瞬时值,对于气体流量需要温度和压力补偿的要进行温压补偿计算。将转换后的值赋给标签0。

2:判断扫描周期是否达到1秒。如果1秒计时到则调用流量累计功能模块1次,执行其中的流量累计逻辑程序,然后再执行其它的逻辑程序,该模块是定时中断功能模块;如果扫描周期没有到1秒则继续执行其它的逻辑程序。

3:流量累计程序的标签设置。在流量累计功能块程序中设置四个标签:标签1表示1秒钟的流量增量值;标签2表示流量累计值的低字段数值;标签3表示流量累计值的高字段数值;标签4表示流量累计值的实际值。

4:计算1秒钟的流量增量值。图1中流量瞬时值是以小时为单位的,1秒钟的流量增量值标签1=标签0÷3600。

5:计算流量累计值的低字段数值。流量累计功能块程序中流量累计值的低字段数值标签2=标签1+标签2。

6:计算流量累计值的高字段数值。在流量累计功能块程序中流量累计值的低字段数值标签2如果大于10000,则流量累计值的高字段数值标签3=标签3+1,流量累计值的低字段数值标签2=标签2-10000。

7:计算流量累计值的实际值。流量累计值的实际值,标签4=高字段数值标签3×10000+低字段数值标签2。

8:流量累计值的清零。流量累计值的清零触发条件是累计值达到1亿。当标签4大于或等于1亿时,要对流量累计值的低字段数值标签2和流量累计值的高字段数值标签3同时清零,这样才能实现流量累计值清零。

9:执行其它的逻辑程序。定时中断流量累计功能块逻辑执行完毕后继续执行其它的逻辑程序。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1