S7-200做流量累加程序

如题,使用50ms中断,瞬时流量/72000,然后进行实数累加。出现意外,因为瞬时值太小,导致累计值与瞬时值相加时基本忽略了瞬时值。换思路,改为瞬时流量相加,结果/72000,问题解决,累计值正常。但一段时间后,累计值在很大的时候,将其与瞬时流量相加时,因为差距过大,又会将其忽略,累计流量长时间不变。有没有遇到类似情况的?如果没有别的思路,只能通过多段累计来实现了。(以前的程序不想去修改)

最佳答案

这个主要是算法问题,你的最基本算法是没有,问题的,但是 你忽视了一个浮点数的问题,浮点数的有效位数是6位,比如,当你的累积重量达到 9999999.0后 ,你的50MS累积量为0.01时,2数相加,结果还是9999999.0,因为有效位数的原因被省去了,为了改变这个情况,你可以,将没50MS的累积量先放到另外一个分量内存中,累积到一定量以上后,再加到重量上去。然后这个分量再清零。但是这种方法还是会出现大数加小数结果被省去的情况,比如9999999999.9+10.0。10还是被省去了。
最终的解决办法 还是将总量分为整数和小数部分。

提问者对于答案的评价:

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc208156.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年11月6日 下午6:36
下一篇 2017年11月6日 下午6:36

相关推荐

  • 在STEP7-Micro/WIN中的子程序TD_CTRL_2500带有黄色锁形符号,请解释其含义?

    在STEP7-Micro/WIN中的子程序TD_CTRL_2500带有黄色锁形符号,请解释其含义? 最佳答案 表示此POU被加密保护S7-200密码保护常见问题http://www…

    SIMATIC S7-200 2021年7月5日
  • 学习西门子PLC方向

    公司现阶段正在使用S7-200、S7-200SMART,今年(2021年)秋季公司建立新厂是以S7-1200和1500进行全面替代、设备进场调试,本人刚刚本科毕业(测控技术与仪器)…

    SIMATIC S7-200 2021年7月5日
  • s7-200PLC通信

    我用USB/PPI电缆和S7200 CN PLC通信不上,我的软件是SP9,并切换到中文画面了,每次都连不上,叫我检查电缆,波特率,或站号。我和另外一台通信的时…

    SIMATIC S7-200 2017年11月23日
  • s7-200无法通讯

    我们单位的s7-200有人做了手脚,端口无论怎样调整,电脑也找不到它的存在。请问如何解决。谢了 问题补充:SG9也是顶级工程师,通讯口属性该了都不知到,你有知道的吗?还不如初学者。…

    SIMATIC S7-200 2021年7月5日
  • 求s7 200库指令modbus和uss

    哪位大神给发个通信指令库,谢谢了 问题补充:非常感谢楼上的回答,但是Instruction Library是点开是个空白 最佳答案 SP9版本Microwin软件带MOD…

    SIMATIC S7-200 2021年7月5日
  • EM 253 模块 使用报错

    EM 253 模块 使用报错  16 说JOG INCREMENT 有问题 现在步进电机按…

    SIMATIC S7-200 2017年6月3日
  • S7-200PLC高速计数器的应用

    我用S7-200PLC连接增量型编码器来模拟现场PLC中的程序(现场PLC中的程序看不懂),但是在模拟的时候感觉计数器根本没有工作,旋转编码器能检测到PLC的I点在闪烁,但是编码器…

    SIMATIC S7-200 2021年7月5日
  • 西门子200plc有个scaling指令库在哪下载?

    11 最佳答案 STEP 7 Micro/WIN 指令库下载网址大全:http://www.ad.siemens.com.cn/productport…

    SIMATIC S7-200 2021年7月5日
  • CP243最多连接设备数量

    网上有的资料说CP243最多可以跟8个S7控制器相连,有的资料说最多连8个设备。 于是我就有点迷糊了,到底是哪个对? S7控制器是否也包括300、400系列?&…

    SIMATIC S7-200 2021年7月4日
  • EM253模块亮红灯

    当设备断电超过2天左右后,重新开设备 EM253模块有红灯,然后我连接plc,把程序重新导进去,em253重新组态后又好了,不知道是什么原因,希望高手支招,怎么解决这个问…

    SIMATIC S7-200 2017年5月31日