故事作者:′

最近创作

看看TA的故事

【西门子技术π-从S7-300400到S7-1500移植与更新替代】流量累积计算功能的实现

已锁定

西门子1847工业学习平台

  • 帖子

    4
  • 精华

    0
  • 被关注

    0

论坛等级:侠圣

注册时间:2013-07-03

普通 普通 如何晋级?

【西门子技术π-从S7-300400到S7-1500移植与更新替代】流量累积计算功能的实现

1985

4

2020-08-09 21:15:07

1.应用的基本信息

    我在项目中是主要编程调试人员,在S7-1200和S7-1500以前的所有项目中(包括S7-200、S7-200SMART、S7-300和S7-400/H),均采用了相同的方式对流量变量(水、电、蒸汽、煤、压缩空气等)进行累积计算。

2.问题描述 

   移植问题示例:

    在S7-300/400程序中,由于CPU不支持双精度浮点运算,只能采用单精度浮点数(Real类型)和长整数(SDWORD类型)相结合的方式来实现流量累积功能。数值范围较小的流量需要用单精度型累积值(长整数累积值不带小数),数值范围较大的流量需要用长整型累积值(单精度累积值的有效位数不够)。

   功能替代示例:

     在S7-1200/1500程序中,由于CPU支持双精度浮点运行,流量累积计算功能就变得非常简单,直接将单精度型瞬时流量转换为双精度型,然后再将每个周期的累积量又累加到双精度型的累积值上即可,最后可将双精度型累积值转换为单精度型累积值供上位机/触摸屏读取。

3.问题的分解和解决 

3.1 故障或问题分析(根据故障或问题,进行分析,从而提出潜在的一些解决方案用于解决该问题)

      移植问题示例:

      单精度浮点数有效位数只有7位(尾数最大值为16777216),因此需对单精度浮点数型累积值作最大值限制,否则当累积值达到一定大小后,会出现累积值不再刷新(累积值已经很大,而每个周期累加的量又很小)或者是跳跃式刷新(如:当前累积值为12345678,随着累积值不断增大,会直接跳过12345679不显示而直接到12345680才显示)的情况。因此,采用单精度浮点数作累积值计算,需要对累积值作上限限幅处理(限制为100000.00),当累积值达到或超过该值时,自动作减去该值处理。

      引入长整型变量(数据范围为-2147483648~2147483647,有效位数为9位)进行累积,则可以解决单精度浮点数因有效位数只有7位而存在累积值比较大时的累积值不刷新或者跳跃式刷新的问题。但同样存在其他问题:那就是对于一些比较小的流量(比如:0~10t/h的瞬时流量),按单精度浮点累积的正确结果是1小时的累积值是2.78t,但长整型累积值因不带小数点的关系就只有2t,对于小流量来讲这样的误差就是很大的。

      在实际应用中,对于瞬时值较小的流量(如:水、蒸汽、煤),可读取单精度型累积值;而对于瞬时值较大的流量(如:电、压缩空气)可读取长整型累积值;当然,对于每一个流量,均可以同时读取单精度型和长整型两个累积值。

     功能替代示例:

      双精度浮点数拥有15位有效位数(尾数最大值为4503599627370496),即使累积值已经达到一个很大的值(如:1234567890.xxxxxx),仍然能够准确的累加上单个周期的微小累加量(如:0.001234),在当前累积值达到10位整数的前提下,还能够将10-6那么小的单周期累积量(说明:如果累积计算周期为1秒,则10-6的单周期累积量对应的瞬时流量为10-6x3600=0.0036)累加上去。

     由于双精度浮点数拥有足够长的有效数位,因此对于再大或者再小的瞬时流量都能够做到准确的累积计算,比只支持单精度浮点计算的S7-300/400需要采用两种数据类型(实数和长整数)分别应对小流量和大流量的累积计算要方便和科学很多。

4.经验总结 

4.1遗留的问题(问题排查后,是否对解决问题的方式仍然有些疑问或者不理解的地方)

      暂无

4.2改进方法(解决问题后,根据后期的理解,可以提出更好的解决方式或建议)

      暂无

4.3 对S7-1500新功能或者更新替代的方式和方法的一些看法和建议(例如是否节省时间、功能是否友好,维护和编程更易于管理等)

      流量累积计算功能建议采用双精度浮点数来实现,编程更加简单,通用性更强,一致性也得到保障(无需区分大流量和小流量来选择两种数据类型)。


【西门子技术π-从S7-300400到S7-1500移植与更新替代】流量累积计算功能的实现 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

网友专栏

共有3233条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。